From a71df7630e63de98bd88bbbd7171a8ffbd7850ef Mon Sep 17 00:00:00 2001 From: Ouyang Yadong Date: Tue, 6 Apr 2021 16:09:11 +0800 Subject: [PATCH 001/118] dns: allow `--dns-result-order` to change default dns verbatim Allow the `--dns-result-order` option to change the default value of verbatim in `dns.lookup()`. This is useful when running Node.js in ipv6-only environments to avoid possible ENETUNREACH errors. PR-URL: https://github.com/nodejs/node/pull/38099 Refs: https://github.com/nodejs/node/issues/31566 Reviewed-By: Matteo Collina Reviewed-By: James M Snell Reviewed-By: Antoine du Hamel Reviewed-By: Anna Henningsen --- doc/api/cli.md | 17 ++++ doc/api/dns.md | 48 +++++++++- lib/dns.js | 10 +- lib/internal/dns/promises.js | 8 +- lib/internal/dns/utils.js | 21 +++++ src/node_options.cc | 7 ++ src/node_options.h | 1 + .../test-dns-default-verbatim-false.js | 51 ++++++++++ .../test-dns-default-verbatim-true.js | 51 ++++++++++ test/parallel/test-dns-set-default-order.js | 93 +++++++++++++++++++ 10 files changed, 298 insertions(+), 9 deletions(-) create mode 100644 test/parallel/test-dns-default-verbatim-false.js create mode 100644 test/parallel/test-dns-default-verbatim-true.js create mode 100644 test/parallel/test-dns-set-default-order.js diff --git a/doc/api/cli.md b/doc/api/cli.md index 8fce8ac430da1e..23c54f2e3bfb95 100644 --- a/doc/api/cli.md +++ b/doc/api/cli.md @@ -187,6 +187,19 @@ Make built-in language features like `eval` and `new Function` that generate code from strings throw an exception instead. This does not affect the Node.js `vm` module. +### `--dns-result-order=order` + + +Set the default value of `verbatim` in [`dns.lookup()`][] and +[`dnsPromises.lookup()`][]. The value could be: +* `ipv4first`: sets default `verbatim` `false`. +* `verbatim`: sets default `verbatim` `true`. + +The default is `ipv4first` and [`dns.setDefaultResultOrder()`][] have higher +priority than `--dns-result-order`. + ### `--enable-fips` + +* `order` {string} must be `'ipv4first'` or `'verbatim'`. + +Set the default value of `verbatim` in [`dns.lookup()`][] and +[`dnsPromises.lookup()`][]. The value could be: +* `ipv4first`: sets default `verbatim` `false`. +* `verbatim`: sets default `verbatim` `true`. + +The default is `ipv4first` and [`dns.setDefaultResultOrder()`][] have higher +priority than [`--dns-result-order`][]. When using [worker threads][], +[`dns.setDefaultResultOrder()`][] from the main thread won't affect the default +dns orders in workers. + ## `dns.setServers(servers)` + +* `order` {string} must be `'ipv4first'` or `'verbatim'`. + +Set the default value of `verbatim` in [`dns.lookup()`][] and +[`dnsPromises.lookup()`][]. The value could be: +* `ipv4first`: sets default `verbatim` `false`. +* `verbatim`: sets default `verbatim` `true`. + +The default is `ipv4first` and [`dnsPromises.setDefaultResultOrder()`][] have +higher priority than [`--dns-result-order`][]. When using [worker threads][], +[`dnsPromises.setDefaultResultOrder()`][] from the main thread won't affect the +default dns orders in workers. + ### `dnsPromises.setServers(servers)` + +## Introduction +These classes are used to associate state and propagate it throughout +callbacks and promise chains. +They allow storing data throughout the lifetime of a web request +or any other asynchronous duration. It is similar to thread-local storage +in other languages. + +The `AsyncLocalStorage` and `AsyncResource` classes are part of the +`async_hooks` module: + +```js +const async_hooks = require('async_hooks'); +``` + +## Class: `AsyncLocalStorage` + + +This class creates stores that stay coherent through asynchronous operations. + +While you can create your own implementation on top of the `async_hooks` module, +`AsyncLocalStorage` should be preferred as it is a performant and memory safe +implementation that involves significant optimizations that are non-obvious to +implement. + +The following example uses `AsyncLocalStorage` to build a simple logger +that assigns IDs to incoming HTTP requests and includes them in messages +logged within each request. + +```js +const http = require('http'); +const { AsyncLocalStorage } = require('async_hooks'); + +const asyncLocalStorage = new AsyncLocalStorage(); + +function logWithId(msg) { + const id = asyncLocalStorage.getStore(); + console.log(`${id !== undefined ? id : '-'}:`, msg); +} + +let idSeq = 0; +http.createServer((req, res) => { + asyncLocalStorage.run(idSeq++, () => { + logWithId('start'); + // Imagine any chain of async operations here + setImmediate(() => { + logWithId('finish'); + res.end(); + }); + }); +}).listen(8080); + +http.get('http://localhost:8080'); +http.get('http://localhost:8080'); +// Prints: +// 0: start +// 1: start +// 0: finish +// 1: finish +``` + +Each instance of `AsyncLocalStorage` maintains an independent storage context. +Multiple instances can safely exist simultaneously without risk of interfering +with each other data. + +### `new AsyncLocalStorage()` + + +Creates a new instance of `AsyncLocalStorage`. Store is only provided within a +`run()` call or after an `enterWith()` call. + +### `asyncLocalStorage.disable()` + + +> Stability: 1 - Experimental + +Disables the instance of `AsyncLocalStorage`. All subsequent calls +to `asyncLocalStorage.getStore()` will return `undefined` until +`asyncLocalStorage.run()` or `asyncLocalStorage.enterWith()` is called again. + +When calling `asyncLocalStorage.disable()`, all current contexts linked to the +instance will be exited. + +Calling `asyncLocalStorage.disable()` is required before the +`asyncLocalStorage` can be garbage collected. This does not apply to stores +provided by the `asyncLocalStorage`, as those objects are garbage collected +along with the corresponding async resources. + +Use this method when the `asyncLocalStorage` is not in use anymore +in the current process. + +### `asyncLocalStorage.getStore()` + + +* Returns: {any} + +Returns the current store. +If called outside of an asynchronous context initialized by +calling `asyncLocalStorage.run()` or `asyncLocalStorage.enterWith()`, it +returns `undefined`. + +### `asyncLocalStorage.enterWith(store)` + + +> Stability: 1 - Experimental + +* `store` {any} + +Transitions into the context for the remainder of the current +synchronous execution and then persists the store through any following +asynchronous calls. + +Example: + +```js +const store = { id: 1 }; +// Replaces previous store with the given store object +asyncLocalStorage.enterWith(store); +asyncLocalStorage.getStore(); // Returns the store object +someAsyncOperation(() => { + asyncLocalStorage.getStore(); // Returns the same object +}); +``` + +This transition will continue for the _entire_ synchronous execution. +This means that if, for example, the context is entered within an event +handler subsequent event handlers will also run within that context unless +specifically bound to another context with an `AsyncResource`. That is why +`run()` should be preferred over `enterWith()` unless there are strong reasons +to use the latter method. + +```js +const store = { id: 1 }; + +emitter.on('my-event', () => { + asyncLocalStorage.enterWith(store); +}); +emitter.on('my-event', () => { + asyncLocalStorage.getStore(); // Returns the same object +}); + +asyncLocalStorage.getStore(); // Returns undefined +emitter.emit('my-event'); +asyncLocalStorage.getStore(); // Returns the same object +``` + +### `asyncLocalStorage.run(store, callback[, ...args])` + + +* `store` {any} +* `callback` {Function} +* `...args` {any} + +Runs a function synchronously within a context and returns its +return value. The store is not accessible outside of the callback function or +the asynchronous operations created within the callback. + +The optional `args` are passed to the callback function. + +If the callback function throws an error, the error is thrown by `run()` too. +The stacktrace is not impacted by this call and the context is exited. + +Example: + +```js +const store = { id: 2 }; +try { + asyncLocalStorage.run(store, () => { + asyncLocalStorage.getStore(); // Returns the store object + throw new Error(); + }); +} catch (e) { + asyncLocalStorage.getStore(); // Returns undefined + // The error will be caught here +} +``` + +### `asyncLocalStorage.exit(callback[, ...args])` + + +> Stability: 1 - Experimental + +* `callback` {Function} +* `...args` {any} + +Runs a function synchronously outside of a context and returns its +return value. The store is not accessible within the callback function or +the asynchronous operations created within the callback. Any `getStore()` +call done within the callback function will always return `undefined`. + +The optional `args` are passed to the callback function. + +If the callback function throws an error, the error is thrown by `exit()` too. +The stacktrace is not impacted by this call and the context is re-entered. + +Example: + +```js +// Within a call to run +try { + asyncLocalStorage.getStore(); // Returns the store object or value + asyncLocalStorage.exit(() => { + asyncLocalStorage.getStore(); // Returns undefined + throw new Error(); + }); +} catch (e) { + asyncLocalStorage.getStore(); // Returns the same object or value + // The error will be caught here +} +``` + +### Usage with `async/await` + +If, within an async function, only one `await` call is to run within a context, +the following pattern should be used: + +```js +async function fn() { + await asyncLocalStorage.run(new Map(), () => { + asyncLocalStorage.getStore().set('key', value); + return foo(); // The return value of foo will be awaited + }); +} +``` + +In this example, the store is only available in the callback function and the +functions called by `foo`. Outside of `run`, calling `getStore` will return +`undefined`. + +### Troubleshooting: Context loss + +In most cases your application or library code should have no issues with +`AsyncLocalStorage`. But in rare cases you may face situations when the +current store is lost in one of the asynchronous operations. In those cases, +consider the following options. + +If your code is callback-based, it is enough to promisify it with +[`util.promisify()`][], so it starts working with native promises. + +If you need to keep using callback-based API, or your code assumes +a custom thenable implementation, use the [`AsyncResource`][] class +to associate the asynchronous operation with the correct execution context. To +do so, you will need to identify the function call responsible for the +context loss. You can do that by logging the content of +`asyncLocalStorage.getStore()` after the calls you suspect are responsible for +the loss. When the code logs `undefined`, the last callback called is probably +responsible for the context loss. + +## Class: `AsyncResource` + + +The class `AsyncResource` is designed to be extended by the embedder's async +resources. Using this, users can easily trigger the lifetime events of their +own resources. + +The `init` hook will trigger when an `AsyncResource` is instantiated. + +The following is an overview of the `AsyncResource` API. + +```js +const { AsyncResource, executionAsyncId } = require('async_hooks'); + +// AsyncResource() is meant to be extended. Instantiating a +// new AsyncResource() also triggers init. If triggerAsyncId is omitted then +// async_hook.executionAsyncId() is used. +const asyncResource = new AsyncResource( + type, { triggerAsyncId: executionAsyncId(), requireManualDestroy: false } +); + +// Run a function in the execution context of the resource. This will +// * establish the context of the resource +// * trigger the AsyncHooks before callbacks +// * call the provided function `fn` with the supplied arguments +// * trigger the AsyncHooks after callbacks +// * restore the original execution context +asyncResource.runInAsyncScope(fn, thisArg, ...args); + +// Call AsyncHooks destroy callbacks. +asyncResource.emitDestroy(); + +// Return the unique ID assigned to the AsyncResource instance. +asyncResource.asyncId(); + +// Return the trigger ID for the AsyncResource instance. +asyncResource.triggerAsyncId(); +``` + +### `new AsyncResource(type[, options])` + +* `type` {string} The type of async event. +* `options` {Object} + * `triggerAsyncId` {number} The ID of the execution context that created this + async event. **Default:** `executionAsyncId()`. + * `requireManualDestroy` {boolean} If set to `true`, disables `emitDestroy` + when the object is garbage collected. This usually does not need to be set + (even if `emitDestroy` is called manually), unless the resource's `asyncId` + is retrieved and the sensitive API's `emitDestroy` is called with it. + When set to `false`, the `emitDestroy` call on garbage collection + will only take place if there is at least one active `destroy` hook. + **Default:** `false`. + +Example usage: + +```js +class DBQuery extends AsyncResource { + constructor(db) { + super('DBQuery'); + this.db = db; + } + + getInfo(query, callback) { + this.db.get(query, (err, data) => { + this.runInAsyncScope(callback, null, err, data); + }); + } + + close() { + this.db = null; + this.emitDestroy(); + } +} +``` + +### Static method: `AsyncResource.bind(fn[, type, [thisArg]])` + + +* `fn` {Function} The function to bind to the current execution context. +* `type` {string} An optional name to associate with the underlying + `AsyncResource`. +* `thisArg` {any} + +Binds the given function to the current execution context. + +The returned function will have an `asyncResource` property referencing +the `AsyncResource` to which the function is bound. + +### `asyncResource.bind(fn[, thisArg])` + + +* `fn` {Function} The function to bind to the current `AsyncResource`. +* `thisArg` {any} + +Binds the given function to execute to this `AsyncResource`'s scope. + +The returned function will have an `asyncResource` property referencing +the `AsyncResource` to which the function is bound. + +### `asyncResource.runInAsyncScope(fn[, thisArg, ...args])` + + +* `fn` {Function} The function to call in the execution context of this async + resource. +* `thisArg` {any} The receiver to be used for the function call. +* `...args` {any} Optional arguments to pass to the function. + +Call the provided function with the provided arguments in the execution context +of the async resource. This will establish the context, trigger the AsyncHooks +before callbacks, call the function, trigger the AsyncHooks after callbacks, and +then restore the original execution context. + +### `asyncResource.emitDestroy()` + +* Returns: {AsyncResource} A reference to `asyncResource`. + +Call all `destroy` hooks. This should only ever be called once. An error will +be thrown if it is called more than once. This **must** be manually called. If +the resource is left to be collected by the GC then the `destroy` hooks will +never be called. + +### `asyncResource.asyncId()` + +* Returns: {number} The unique `asyncId` assigned to the resource. + +### `asyncResource.triggerAsyncId()` + +* Returns: {number} The same `triggerAsyncId` that is passed to the + `AsyncResource` constructor. + + +### Using `AsyncResource` for a `Worker` thread pool + +The following example shows how to use the `AsyncResource` class to properly +provide async tracking for a [`Worker`][] pool. Other resource pools, such as +database connection pools, can follow a similar model. + +Assuming that the task is adding two numbers, using a file named +`task_processor.js` with the following content: + +```js +const { parentPort } = require('worker_threads'); +parentPort.on('message', (task) => { + parentPort.postMessage(task.a + task.b); +}); +``` + +a Worker pool around it could use the following structure: + +```js +const { AsyncResource } = require('async_hooks'); +const { EventEmitter } = require('events'); +const path = require('path'); +const { Worker } = require('worker_threads'); + +const kTaskInfo = Symbol('kTaskInfo'); +const kWorkerFreedEvent = Symbol('kWorkerFreedEvent'); + +class WorkerPoolTaskInfo extends AsyncResource { + constructor(callback) { + super('WorkerPoolTaskInfo'); + this.callback = callback; + } + + done(err, result) { + this.runInAsyncScope(this.callback, null, err, result); + this.emitDestroy(); // `TaskInfo`s are used only once. + } +} + +class WorkerPool extends EventEmitter { + constructor(numThreads) { + super(); + this.numThreads = numThreads; + this.workers = []; + this.freeWorkers = []; + this.tasks = []; + + for (let i = 0; i < numThreads; i++) + this.addNewWorker(); + + // Any time the kWorkerFreedEvent is emitted, dispatch + // the next task pending in the queue, if any. + this.on(kWorkerFreedEvent, () => { + if (this.tasks.length > 0) { + const { task, callback } = this.tasks.shift(); + this.runTask(task, callback); + } + }); + } + + addNewWorker() { + const worker = new Worker(path.resolve(__dirname, 'task_processor.js')); + worker.on('message', (result) => { + // In case of success: Call the callback that was passed to `runTask`, + // remove the `TaskInfo` associated with the Worker, and mark it as free + // again. + worker[kTaskInfo].done(null, result); + worker[kTaskInfo] = null; + this.freeWorkers.push(worker); + this.emit(kWorkerFreedEvent); + }); + worker.on('error', (err) => { + // In case of an uncaught exception: Call the callback that was passed to + // `runTask` with the error. + if (worker[kTaskInfo]) + worker[kTaskInfo].done(err, null); + else + this.emit('error', err); + // Remove the worker from the list and start a new Worker to replace the + // current one. + this.workers.splice(this.workers.indexOf(worker), 1); + this.addNewWorker(); + }); + this.workers.push(worker); + this.freeWorkers.push(worker); + this.emit(kWorkerFreedEvent); + } + + runTask(task, callback) { + if (this.freeWorkers.length === 0) { + // No free threads, wait until a worker thread becomes free. + this.tasks.push({ task, callback }); + return; + } + + const worker = this.freeWorkers.pop(); + worker[kTaskInfo] = new WorkerPoolTaskInfo(callback); + worker.postMessage(task); + } + + close() { + for (const worker of this.workers) worker.terminate(); + } +} + +module.exports = WorkerPool; +``` + +Without the explicit tracking added by the `WorkerPoolTaskInfo` objects, +it would appear that the callbacks are associated with the individual `Worker` +objects. However, the creation of the `Worker`s is not associated with the +creation of the tasks and does not provide information about when tasks +were scheduled. + +This pool could be used as follows: + +```js +const WorkerPool = require('./worker_pool.js'); +const os = require('os'); + +const pool = new WorkerPool(os.cpus().length); + +let finished = 0; +for (let i = 0; i < 10; i++) { + pool.runTask({ a: 42, b: 100 }, (err, result) => { + console.log(i, err, result); + if (++finished === 10) + pool.close(); + }); +} +``` + +### Integrating `AsyncResource` with `EventEmitter` + +Event listeners triggered by an [`EventEmitter`][] may be run in a different +execution context than the one that was active when `eventEmitter.on()` was +called. + +The following example shows how to use the `AsyncResource` class to properly +associate an event listener with the correct execution context. The same +approach can be applied to a [`Stream`][] or a similar event-driven class. + +```js +const { createServer } = require('http'); +const { AsyncResource, executionAsyncId } = require('async_hooks'); + +const server = createServer((req, res) => { + req.on('close', AsyncResource.bind(() => { + // Execution context is bound to the current outer scope. + })); + req.on('close', () => { + // Execution context is bound to the scope that caused 'close' to emit. + }); + res.end(); +}).listen(3000); +``` +[`AsyncResource`]: #async_context_class_asyncresource +[`EventEmitter`]: events.md#events_class_eventemitter +[`Stream`]: stream.md#stream_stream +[`Worker`]: worker_threads.md#worker_threads_class_worker +[`util.promisify()`]: util.md#util_util_promisify_original diff --git a/doc/api/async_hooks.md b/doc/api/async_hooks.md index 55cc0542561334..f6805102fdf050 100644 --- a/doc/api/async_hooks.md +++ b/doc/api/async_hooks.md @@ -664,575 +664,20 @@ like I/O, connection pooling, or managing callback queues may use the ### Class: `AsyncResource` -The class `AsyncResource` is designed to be extended by the embedder's async -resources. Using this, users can easily trigger the lifetime events of their -own resources. - -The `init` hook will trigger when an `AsyncResource` is instantiated. - -The following is an overview of the `AsyncResource` API. - -```js -const { AsyncResource, executionAsyncId } = require('async_hooks'); - -// AsyncResource() is meant to be extended. Instantiating a -// new AsyncResource() also triggers init. If triggerAsyncId is omitted then -// async_hook.executionAsyncId() is used. -const asyncResource = new AsyncResource( - type, { triggerAsyncId: executionAsyncId(), requireManualDestroy: false } -); - -// Run a function in the execution context of the resource. This will -// * establish the context of the resource -// * trigger the AsyncHooks before callbacks -// * call the provided function `fn` with the supplied arguments -// * trigger the AsyncHooks after callbacks -// * restore the original execution context -asyncResource.runInAsyncScope(fn, thisArg, ...args); - -// Call AsyncHooks destroy callbacks. -asyncResource.emitDestroy(); - -// Return the unique ID assigned to the AsyncResource instance. -asyncResource.asyncId(); - -// Return the trigger ID for the AsyncResource instance. -asyncResource.triggerAsyncId(); -``` - -#### `new AsyncResource(type[, options])` - -* `type` {string} The type of async event. -* `options` {Object} - * `triggerAsyncId` {number} The ID of the execution context that created this - async event. **Default:** `executionAsyncId()`. - * `requireManualDestroy` {boolean} If set to `true`, disables `emitDestroy` - when the object is garbage collected. This usually does not need to be set - (even if `emitDestroy` is called manually), unless the resource's `asyncId` - is retrieved and the sensitive API's `emitDestroy` is called with it. - When set to `false`, the `emitDestroy` call on garbage collection - will only take place if there is at least one active `destroy` hook. - **Default:** `false`. - -Example usage: - -```js -class DBQuery extends AsyncResource { - constructor(db) { - super('DBQuery'); - this.db = db; - } - - getInfo(query, callback) { - this.db.get(query, (err, data) => { - this.runInAsyncScope(callback, null, err, data); - }); - } - - close() { - this.db = null; - this.emitDestroy(); - } -} -``` - -#### Static method: `AsyncResource.bind(fn[, type, [thisArg]])` - - -* `fn` {Function} The function to bind to the current execution context. -* `type` {string} An optional name to associate with the underlying - `AsyncResource`. -* `thisArg` {any} - -Binds the given function to the current execution context. - -The returned function will have an `asyncResource` property referencing -the `AsyncResource` to which the function is bound. - -#### `asyncResource.bind(fn[, thisArg])` - - -* `fn` {Function} The function to bind to the current `AsyncResource`. -* `thisArg` {any} - -Binds the given function to execute to this `AsyncResource`'s scope. - -The returned function will have an `asyncResource` property referencing -the `AsyncResource` to which the function is bound. - -#### `asyncResource.runInAsyncScope(fn[, thisArg, ...args])` - - -* `fn` {Function} The function to call in the execution context of this async - resource. -* `thisArg` {any} The receiver to be used for the function call. -* `...args` {any} Optional arguments to pass to the function. - -Call the provided function with the provided arguments in the execution context -of the async resource. This will establish the context, trigger the AsyncHooks -before callbacks, call the function, trigger the AsyncHooks after callbacks, and -then restore the original execution context. - -#### `asyncResource.emitDestroy()` - -* Returns: {AsyncResource} A reference to `asyncResource`. - -Call all `destroy` hooks. This should only ever be called once. An error will -be thrown if it is called more than once. This **must** be manually called. If -the resource is left to be collected by the GC then the `destroy` hooks will -never be called. - -#### `asyncResource.asyncId()` - -* Returns: {number} The unique `asyncId` assigned to the resource. - -#### `asyncResource.triggerAsyncId()` - -* Returns: {number} The same `triggerAsyncId` that is passed to the - `AsyncResource` constructor. - - -### Using `AsyncResource` for a `Worker` thread pool - -The following example shows how to use the `AsyncResource` class to properly -provide async tracking for a [`Worker`][] pool. Other resource pools, such as -database connection pools, can follow a similar model. - -Assuming that the task is adding two numbers, using a file named -`task_processor.js` with the following content: - -```js -const { parentPort } = require('worker_threads'); -parentPort.on('message', (task) => { - parentPort.postMessage(task.a + task.b); -}); -``` - -a Worker pool around it could use the following structure: - -```js -const { AsyncResource } = require('async_hooks'); -const { EventEmitter } = require('events'); -const path = require('path'); -const { Worker } = require('worker_threads'); - -const kTaskInfo = Symbol('kTaskInfo'); -const kWorkerFreedEvent = Symbol('kWorkerFreedEvent'); - -class WorkerPoolTaskInfo extends AsyncResource { - constructor(callback) { - super('WorkerPoolTaskInfo'); - this.callback = callback; - } - - done(err, result) { - this.runInAsyncScope(this.callback, null, err, result); - this.emitDestroy(); // `TaskInfo`s are used only once. - } -} - -class WorkerPool extends EventEmitter { - constructor(numThreads) { - super(); - this.numThreads = numThreads; - this.workers = []; - this.freeWorkers = []; - this.tasks = []; - - for (let i = 0; i < numThreads; i++) - this.addNewWorker(); - - // Any time the kWorkerFreedEvent is emitted, dispatch - // the next task pending in the queue, if any. - this.on(kWorkerFreedEvent, () => { - if (this.tasks.length > 0) { - const { task, callback } = this.tasks.shift(); - this.runTask(task, callback); - } - }); - } - - addNewWorker() { - const worker = new Worker(path.resolve(__dirname, 'task_processor.js')); - worker.on('message', (result) => { - // In case of success: Call the callback that was passed to `runTask`, - // remove the `TaskInfo` associated with the Worker, and mark it as free - // again. - worker[kTaskInfo].done(null, result); - worker[kTaskInfo] = null; - this.freeWorkers.push(worker); - this.emit(kWorkerFreedEvent); - }); - worker.on('error', (err) => { - // In case of an uncaught exception: Call the callback that was passed to - // `runTask` with the error. - if (worker[kTaskInfo]) - worker[kTaskInfo].done(err, null); - else - this.emit('error', err); - // Remove the worker from the list and start a new Worker to replace the - // current one. - this.workers.splice(this.workers.indexOf(worker), 1); - this.addNewWorker(); - }); - this.workers.push(worker); - this.freeWorkers.push(worker); - this.emit(kWorkerFreedEvent); - } - - runTask(task, callback) { - if (this.freeWorkers.length === 0) { - // No free threads, wait until a worker thread becomes free. - this.tasks.push({ task, callback }); - return; - } - - const worker = this.freeWorkers.pop(); - worker[kTaskInfo] = new WorkerPoolTaskInfo(callback); - worker.postMessage(task); - } - - close() { - for (const worker of this.workers) worker.terminate(); - } -} - -module.exports = WorkerPool; -``` - -Without the explicit tracking added by the `WorkerPoolTaskInfo` objects, -it would appear that the callbacks are associated with the individual `Worker` -objects. However, the creation of the `Worker`s is not associated with the -creation of the tasks and does not provide information about when tasks -were scheduled. - -This pool could be used as follows: - -```js -const WorkerPool = require('./worker_pool.js'); -const os = require('os'); - -const pool = new WorkerPool(os.cpus().length); - -let finished = 0; -for (let i = 0; i < 10; i++) { - pool.runTask({ a: 42, b: 100 }, (err, result) => { - console.log(i, err, result); - if (++finished === 10) - pool.close(); - }); -} -``` - -### Integrating `AsyncResource` with `EventEmitter` - -Event listeners triggered by an [`EventEmitter`][] may be run in a different -execution context than the one that was active when `eventEmitter.on()` was -called. - -The following example shows how to use the `AsyncResource` class to properly -associate an event listener with the correct execution context. The same -approach can be applied to a [`Stream`][] or a similar event-driven class. - -```js -const { createServer } = require('http'); -const { AsyncResource, executionAsyncId } = require('async_hooks'); - -const server = createServer((req, res) => { - req.on('close', AsyncResource.bind(() => { - // Execution context is bound to the current outer scope. - })); - req.on('close', () => { - // Execution context is bound to the scope that caused 'close' to emit. - }); - res.end(); -}).listen(3000); -``` +The documentation for this class has moved [`AsyncResource`][]. ## Class: `AsyncLocalStorage` - - -This class is used to create asynchronous state within callbacks and promise -chains. It allows storing data throughout the lifetime of a web request -or any other asynchronous duration. It is similar to thread-local storage -in other languages. - -While you can create your own implementation on top of the `async_hooks` module, -`AsyncLocalStorage` should be preferred as it is a performant and memory safe -implementation that involves significant optimizations that are non-obvious to -implement. - -The following example uses `AsyncLocalStorage` to build a simple logger -that assigns IDs to incoming HTTP requests and includes them in messages -logged within each request. - -```js -const http = require('http'); -const { AsyncLocalStorage } = require('async_hooks'); - -const asyncLocalStorage = new AsyncLocalStorage(); - -function logWithId(msg) { - const id = asyncLocalStorage.getStore(); - console.log(`${id !== undefined ? id : '-'}:`, msg); -} - -let idSeq = 0; -http.createServer((req, res) => { - asyncLocalStorage.run(idSeq++, () => { - logWithId('start'); - // Imagine any chain of async operations here - setImmediate(() => { - logWithId('finish'); - res.end(); - }); - }); -}).listen(8080); - -http.get('http://localhost:8080'); -http.get('http://localhost:8080'); -// Prints: -// 0: start -// 1: start -// 0: finish -// 1: finish -``` - -When having multiple instances of `AsyncLocalStorage`, they are independent -from each other. It is safe to instantiate this class multiple times. - -### `new AsyncLocalStorage()` - - -Creates a new instance of `AsyncLocalStorage`. Store is only provided within a -`run()` call or after an `enterWith()` call. - -### `asyncLocalStorage.disable()` - - -Disables the instance of `AsyncLocalStorage`. All subsequent calls -to `asyncLocalStorage.getStore()` will return `undefined` until -`asyncLocalStorage.run()` or `asyncLocalStorage.enterWith()` is called again. - -When calling `asyncLocalStorage.disable()`, all current contexts linked to the -instance will be exited. - -Calling `asyncLocalStorage.disable()` is required before the -`asyncLocalStorage` can be garbage collected. This does not apply to stores -provided by the `asyncLocalStorage`, as those objects are garbage collected -along with the corresponding async resources. - -Use this method when the `asyncLocalStorage` is not in use anymore -in the current process. - -### `asyncLocalStorage.getStore()` - - -* Returns: {any} - -Returns the current store. -If called outside of an asynchronous context initialized by -calling `asyncLocalStorage.run()` or `asyncLocalStorage.enterWith()`, it -returns `undefined`. - -### `asyncLocalStorage.enterWith(store)` - - -* `store` {any} - -Transitions into the context for the remainder of the current -synchronous execution and then persists the store through any following -asynchronous calls. - -Example: - -```js -const store = { id: 1 }; -// Replaces previous store with the given store object -asyncLocalStorage.enterWith(store); -asyncLocalStorage.getStore(); // Returns the store object -someAsyncOperation(() => { - asyncLocalStorage.getStore(); // Returns the same object -}); -``` - -This transition will continue for the _entire_ synchronous execution. -This means that if, for example, the context is entered within an event -handler subsequent event handlers will also run within that context unless -specifically bound to another context with an `AsyncResource`. That is why -`run()` should be preferred over `enterWith()` unless there are strong reasons -to use the latter method. - -```js -const store = { id: 1 }; - -emitter.on('my-event', () => { - asyncLocalStorage.enterWith(store); -}); -emitter.on('my-event', () => { - asyncLocalStorage.getStore(); // Returns the same object -}); - -asyncLocalStorage.getStore(); // Returns undefined -emitter.emit('my-event'); -asyncLocalStorage.getStore(); // Returns the same object -``` - -### `asyncLocalStorage.run(store, callback[, ...args])` - - -* `store` {any} -* `callback` {Function} -* `...args` {any} - -Runs a function synchronously within a context and returns its -return value. The store is not accessible outside of the callback function. -The store is accessible to any asynchronous operations created within the -callback. - -The optional `args` are passed to the callback function. - -If the callback function throws an error, the error is thrown by `run()` too. -The stacktrace is not impacted by this call and the context is exited. - -Example: - -```js -const store = { id: 2 }; -try { - asyncLocalStorage.run(store, () => { - asyncLocalStorage.getStore(); // Returns the store object - setTimeout(() => { - asyncLocalStorage.getStore(); // Returns the store object - }, 200); - throw new Error(); - }); -} catch (e) { - asyncLocalStorage.getStore(); // Returns undefined - // The error will be caught here -} -``` - -### `asyncLocalStorage.exit(callback[, ...args])` - - -* `callback` {Function} -* `...args` {any} - -Runs a function synchronously outside of a context and returns its -return value. The store is not accessible within the callback function or -the asynchronous operations created within the callback. Any `getStore()` -call done within the callback function will always return `undefined`. - -The optional `args` are passed to the callback function. - -If the callback function throws an error, the error is thrown by `exit()` too. -The stacktrace is not impacted by this call and the context is re-entered. - -Example: - -```js -// Within a call to run -try { - asyncLocalStorage.getStore(); // Returns the store object or value - asyncLocalStorage.exit(() => { - asyncLocalStorage.getStore(); // Returns undefined - throw new Error(); - }); -} catch (e) { - asyncLocalStorage.getStore(); // Returns the same object or value - // The error will be caught here -} -``` - -### Usage with `async/await` - -If, within an async function, only one `await` call is to run within a context, -the following pattern should be used: - -```js -async function fn() { - await asyncLocalStorage.run(new Map(), () => { - asyncLocalStorage.getStore().set('key', value); - return foo(); // The return value of foo will be awaited - }); -} -``` - -In this example, the store is only available in the callback function and the -functions called by `foo`. Outside of `run`, calling `getStore` will return -`undefined`. - -### Troubleshooting - -In most cases your application or library code should have no issues with -`AsyncLocalStorage`. But in rare cases you may face situations when the -current store is lost in one of asynchronous operations. In those cases, -consider the following options. - -If your code is callback-based, it is enough to promisify it with -[`util.promisify()`][], so it starts working with native promises. -If you need to keep using callback-based API, or your code assumes -a custom thenable implementation, use the [`AsyncResource`][] class -to associate the asynchronous operation with the correct execution context. +The documentation for this class has moved [`AsyncLocalStorage`][]. [Hook Callbacks]: #async_hooks_hook_callbacks [PromiseHooks]: https://docs.google.com/document/d/1rda3yKGHimKIhg5YeoAmCOtyURgsbTH_qaYR79FELlk/edit -[`AsyncResource`]: #async_hooks_class_asyncresource +[`AsyncLocalStorage`]: async_context.md#async_context_class_asynclocalstorage +[`AsyncResource`]: async_context.md#async_context_class_asyncresource [`after` callback]: #async_hooks_after_asyncid [`before` callback]: #async_hooks_before_asyncid [`destroy` callback]: #async_hooks_destroy_asyncid [`init` callback]: #async_hooks_init_asyncid_type_triggerasyncid_resource [`promiseResolve` callback]: #async_hooks_promiseresolve_asyncid -[`EventEmitter`]: events.md#events_class_eventemitter -[`Stream`]: stream.md#stream_stream [`Worker`]: worker_threads.md#worker_threads_class_worker -[`util.promisify()`]: util.md#util_util_promisify_original [promise execution tracking]: #async_hooks_promise_execution_tracking diff --git a/doc/api/deprecations.md b/doc/api/deprecations.md index cc6b61206c5efe..c771baa525f308 100644 --- a/doc/api/deprecations.md +++ b/doc/api/deprecations.md @@ -2802,7 +2802,7 @@ deprecated and should no longer be used. [`SlowBuffer`]: buffer.md#buffer_class_slowbuffer [`WriteStream.open()`]: fs.md#fs_class_fs_writestream [`assert`]: assert.md -[`asyncResource.runInAsyncScope()`]: async_hooks.md#async_hooks_asyncresource_runinasyncscope_fn_thisarg_args +[`asyncResource.runInAsyncScope()`]: async_context.md#async_context_asyncresource_runinasyncscope_fn_thisarg_args [`child_process`]: child_process.md [`clearInterval()`]: timers.md#timers_clearinterval_timeout [`clearTimeout()`]: timers.md#timers_cleartimeout_timeout diff --git a/doc/api/index.md b/doc/api/index.md index a17fb4b666c7d4..f45aa17ecc451a 100644 --- a/doc/api/index.md +++ b/doc/api/index.md @@ -11,6 +11,7 @@
* [Assertion testing](assert.md) +* [Async_context](async_context.md) * [Async hooks](async_hooks.md) * [Buffer](buffer.md) * [C++ addons](addons.md) From 74f5e30d692e9559ee2d7521c9feddf55f941cc7 Mon Sep 17 00:00:00 2001 From: legendecas Date: Mon, 24 May 2021 23:39:36 +0800 Subject: [PATCH 016/118] node-api: rtn pending excep on napi_new_instance When there are any JavaScript exceptions pending, `napi_pending_exception` should be returned. PR-URL: https://github.com/nodejs/node/pull/38798 Reviewed-By: Anna Henningsen Reviewed-By: Michael Dawson --- src/js_native_api_v8.cc | 2 +- test/js-native-api/test_exception/test.js | 47 +++++++++++++++++++ .../test_exception/test_exception.c | 31 ++++++++++++ 3 files changed, 79 insertions(+), 1 deletion(-) diff --git a/src/js_native_api_v8.cc b/src/js_native_api_v8.cc index 1541f7eb36ea43..95f8212d870a72 100644 --- a/src/js_native_api_v8.cc +++ b/src/js_native_api_v8.cc @@ -2660,7 +2660,7 @@ napi_status napi_new_instance(napi_env env, auto maybe = ctor->NewInstance(context, argc, reinterpret_cast*>(const_cast(argv))); - CHECK_MAYBE_EMPTY(env, maybe, napi_generic_failure); + CHECK_MAYBE_EMPTY(env, maybe, napi_pending_exception); *result = v8impl::JsValueFromV8LocalValue(maybe.ToLocalChecked()); return GET_RETURN_STATUS(env); diff --git a/test/js-native-api/test_exception/test.js b/test/js-native-api/test_exception/test.js index ff11b702198b88..38e8fd1d6b6bdc 100644 --- a/test/js-native-api/test_exception/test.js +++ b/test/js-native-api/test_exception/test.js @@ -48,6 +48,34 @@ const test_exception = (function() { ` thrown, but ${returnedError} was passed`); } + +{ + const throwTheError = class { constructor() { throw theError; } }; + + // Test that the native side successfully captures the exception + let returnedError = test_exception.constructReturnException(throwTheError); + assert.strictEqual(returnedError, theError); + + // Test that the native side passes the exception through + assert.throws( + () => { test_exception.constructAllowException(throwTheError); }, + (err) => err === theError + ); + + // Test that the exception thrown above was marked as pending + // before it was handled on the JS side + const exception_pending = test_exception.wasPending(); + assert.strictEqual(exception_pending, true, + 'Exception not pending as expected,' + + ` .wasPending() returned ${exception_pending}`); + + // Test that the native side does not capture a non-existing exception + returnedError = test_exception.constructReturnException(common.mustCall()); + assert.strictEqual(returnedError, undefined, + 'Returned error should be undefined when no exception is' + + ` thrown, but ${returnedError} was passed`); +} + { // Test that no exception appears that was not thrown by us let caughtError; @@ -66,3 +94,22 @@ const test_exception = (function() { 'Exception state did not remain clear as expected,' + ` .wasPending() returned ${exception_pending}`); } + +{ + // Test that no exception appears that was not thrown by us + let caughtError; + try { + test_exception.constructAllowException(common.mustCall()); + } catch (anError) { + caughtError = anError; + } + assert.strictEqual(caughtError, undefined, + 'No exception originated on the native side, but' + + ` ${caughtError} was passed`); + + // Test that the exception state remains clear when no exception is thrown + const exception_pending = test_exception.wasPending(); + assert.strictEqual(exception_pending, false, + 'Exception state did not remain clear as expected,' + + ` .wasPending() returned ${exception_pending}`); +} diff --git a/test/js-native-api/test_exception/test_exception.c b/test/js-native-api/test_exception/test_exception.c index 791f5219fc61fe..844f4475ac4d4c 100644 --- a/test/js-native-api/test_exception/test_exception.c +++ b/test/js-native-api/test_exception/test_exception.c @@ -22,6 +22,22 @@ static napi_value returnException(napi_env env, napi_callback_info info) { return NULL; } +static napi_value constructReturnException(napi_env env, napi_callback_info info) { + size_t argc = 1; + napi_value args[1]; + NODE_API_CALL(env, napi_get_cb_info(env, info, &argc, args, NULL, NULL)); + + napi_value result; + napi_status status = napi_new_instance(env, args[0], 0, 0, &result); + if (status == napi_pending_exception) { + napi_value ex; + NODE_API_CALL(env, napi_get_and_clear_last_exception(env, &ex)); + return ex; + } + + return NULL; +} + static napi_value allowException(napi_env env, napi_callback_info info) { size_t argc = 1; napi_value args[1]; @@ -38,6 +54,19 @@ static napi_value allowException(napi_env env, napi_callback_info info) { return NULL; } +static napi_value constructAllowException(napi_env env, napi_callback_info info) { + size_t argc = 1; + napi_value args[1]; + NODE_API_CALL(env, napi_get_cb_info(env, info, &argc, args, NULL, NULL)); + + napi_value result; + napi_new_instance(env, args[0], 0, 0, &result); + // Ignore status and check napi_is_exception_pending() instead. + + NODE_API_CALL(env, napi_is_exception_pending(env, &exceptionWasPending)); + return NULL; +} + static napi_value wasPending(napi_env env, napi_callback_info info) { napi_value result; NODE_API_CALL(env, napi_get_boolean(env, exceptionWasPending, &result)); @@ -64,6 +93,8 @@ napi_value Init(napi_env env, napi_value exports) { napi_property_descriptor descriptors[] = { DECLARE_NODE_API_PROPERTY("returnException", returnException), DECLARE_NODE_API_PROPERTY("allowException", allowException), + DECLARE_NODE_API_PROPERTY("constructReturnException", constructReturnException), + DECLARE_NODE_API_PROPERTY("constructAllowException", constructAllowException), DECLARE_NODE_API_PROPERTY("wasPending", wasPending), DECLARE_NODE_API_PROPERTY("createExternal", createExternal), }; From 03e75fda4cf1de0664c3110190886e684ece20bc Mon Sep 17 00:00:00 2001 From: Stephen Belanger Date: Wed, 2 Jun 2021 22:22:15 -0700 Subject: [PATCH 017/118] async_hooks: switch between native and context hooks correctly MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit :facepalm: Might help if I remember to disable the _other_ promise hook implementation when switching between them... Fixes #38814 Fixes #38815 Refs #36394 PR-URL: https://github.com/nodejs/node/pull/38912 Reviewed-By: Vladimir de Turckheim Reviewed-By: Gerhard Stöbich Reviewed-By: Bryan English --- lib/internal/async_hooks.js | 2 + ...ync-hooks-correctly-switch-promise-hook.js | 77 +++++++++++++++++++ 2 files changed, 79 insertions(+) create mode 100644 test/parallel/test-async-hooks-correctly-switch-promise-hook.js diff --git a/lib/internal/async_hooks.js b/lib/internal/async_hooks.js index eac2471ff79fb2..a6d258cf25757a 100644 --- a/lib/internal/async_hooks.js +++ b/lib/internal/async_hooks.js @@ -357,7 +357,9 @@ function updatePromiseHookMode() { wantPromiseHook = true; if (destroyHooksExist()) { enablePromiseHook(); + setPromiseHooks(undefined, undefined, undefined, undefined); } else { + disablePromiseHook(); setPromiseHooks( initHooksExist() ? promiseInitHook : undefined, promiseBeforeHook, diff --git a/test/parallel/test-async-hooks-correctly-switch-promise-hook.js b/test/parallel/test-async-hooks-correctly-switch-promise-hook.js new file mode 100644 index 00000000000000..73127f1ebaf94c --- /dev/null +++ b/test/parallel/test-async-hooks-correctly-switch-promise-hook.js @@ -0,0 +1,77 @@ +'use strict'; +require('../common'); +const assert = require('assert'); +const async_hooks = require('async_hooks'); + +// Regression test for: +// - https://github.com/nodejs/node/issues/38814 +// - https://github.com/nodejs/node/issues/38815 + +const layers = new Map(); + +// Only init to start context-based promise hook +async_hooks.createHook({ + init(asyncId, type) { + layers.set(asyncId, { + type, + init: true, + before: false, + after: false, + promiseResolve: false + }); + }, + before(asyncId) { + if (layers.has(asyncId)) { + layers.get(asyncId).before = true; + } + }, + after(asyncId) { + if (layers.has(asyncId)) { + layers.get(asyncId).after = true; + } + }, + promiseResolve(asyncId) { + if (layers.has(asyncId)) { + layers.get(asyncId).promiseResolve = true; + } + } +}).enable(); + +// With destroy, this should switch to native +// and disable context - based promise hook +async_hooks.createHook({ + init() { }, + destroy() { } +}).enable(); + +async function main() { + return Promise.resolve(); +} + +main(); + +process.on('exit', () => { + assert.deepStrictEqual(Array.from(layers.values()), [ + { + type: 'PROMISE', + init: true, + before: true, + after: true, + promiseResolve: true + }, + { + type: 'PROMISE', + init: true, + before: false, + after: false, + promiseResolve: true + }, + { + type: 'PROMISE', + init: true, + before: true, + after: true, + promiseResolve: true + }, + ]); +}); From 6e93c17bf51bad21441474f3a795760a2a2175d3 Mon Sep 17 00:00:00 2001 From: Shelley Vohr Date: Wed, 2 Jun 2021 12:20:42 +0200 Subject: [PATCH 018/118] crypto: use EVP_get_cipherbynid directly MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit PR-URL: https://github.com/nodejs/node/pull/38901 Reviewed-By: Richard Lau Reviewed-By: James M Snell Reviewed-By: Tobias Nießen Reviewed-By: Anna Henningsen --- src/crypto/crypto_cipher.cc | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/crypto/crypto_cipher.cc b/src/crypto/crypto_cipher.cc index 4629143d47e492..3ec212ee52b976 100644 --- a/src/crypto/crypto_cipher.cc +++ b/src/crypto/crypto_cipher.cc @@ -62,7 +62,7 @@ void GetCipherInfo(const FunctionCallbackInfo& args) { cipher = EVP_get_cipherbyname(*name); } else { int nid = args[1].As()->Value(); - cipher = EVP_get_cipherbyname(OBJ_nid2sn(nid)); + cipher = EVP_get_cipherbynid(nid); } if (cipher == nullptr) From 6d5dc63ae406845933d90b6d6faaebc6cb63b1a6 Mon Sep 17 00:00:00 2001 From: Shelley Vohr Date: Fri, 4 Jun 2021 11:11:54 +0200 Subject: [PATCH 019/118] crypto: fix label cast in EVP_PKEY_CTX_set0_rsa_oaep_label MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit PR-URL: https://github.com/nodejs/node/pull/38926 Reviewed-By: Rich Trott Reviewed-By: Anna Henningsen Reviewed-By: Tobias Nießen --- src/crypto/crypto_cipher.cc | 2 +- src/crypto/crypto_rsa.cc | 5 ++++- 2 files changed, 5 insertions(+), 2 deletions(-) diff --git a/src/crypto/crypto_cipher.cc b/src/crypto/crypto_cipher.cc index 3ec212ee52b976..198297d4edbd88 100644 --- a/src/crypto/crypto_cipher.cc +++ b/src/crypto/crypto_cipher.cc @@ -906,7 +906,7 @@ bool PublicKeyCipher::Cipher( void* label = OPENSSL_memdup(oaep_label.data(), oaep_label.size()); CHECK_NOT_NULL(label); if (0 >= EVP_PKEY_CTX_set0_rsa_oaep_label(ctx.get(), - reinterpret_cast(label), + static_cast(label), oaep_label.size())) { OPENSSL_free(label); return false; diff --git a/src/crypto/crypto_rsa.cc b/src/crypto/crypto_rsa.cc index 5fa91cce1a6ad2..5bbeb01ab58ac7 100644 --- a/src/crypto/crypto_rsa.cc +++ b/src/crypto/crypto_rsa.cc @@ -210,7 +210,10 @@ WebCryptoCipherStatus RSA_Cipher( if (label_len > 0) { void* label = OPENSSL_memdup(params.label.get(), label_len); CHECK_NOT_NULL(label); - if (EVP_PKEY_CTX_set0_rsa_oaep_label(ctx.get(), label, label_len) <= 0) { + if (EVP_PKEY_CTX_set0_rsa_oaep_label( + ctx.get(), + static_cast(label), + label_len) <= 0) { OPENSSL_free(label); return WebCryptoCipherStatus::FAILED; } From 06afb8df653d3a27b4580af369179f2f62f11ebe Mon Sep 17 00:00:00 2001 From: Shelley Vohr Date: Tue, 1 Jun 2021 14:47:03 +0200 Subject: [PATCH 020/118] src: make InitializeOncePerProcess more flexible PR-URL: https://github.com/nodejs/node/pull/38888 Reviewed-By: Joyee Cheung Reviewed-By: Anna Henningsen Reviewed-By: James M Snell --- src/node.cc | 122 +++++++++++++++++++++++++------------------ src/node_internals.h | 13 +++++ 2 files changed, 84 insertions(+), 51 deletions(-) diff --git a/src/node.cc b/src/node.cc index 6c601fb920a04c..a9afbd2682f785 100644 --- a/src/node.cc +++ b/src/node.cc @@ -233,7 +233,7 @@ int Environment::InitializeInspector( return 0; } -#endif // HAVE_INSPECTOR && NODE_USE_V8_PLATFORM +#endif // HAVE_INSPECTOR #define ATOMIC_WAIT_EVENTS(V) \ V(kStartWait, "started") \ @@ -957,12 +957,26 @@ int InitializeNodeWithArgs(std::vector* argv, } InitializationResult InitializeOncePerProcess(int argc, char** argv) { + return InitializeOncePerProcess(argc, argv, kDefaultInitialization); +} + +InitializationResult InitializeOncePerProcess( + int argc, + char** argv, + InitializationSettingsFlags flags) { + uint64_t init_flags = flags; + if (init_flags & kDefaultInitialization) { + init_flags = init_flags | kInitializeV8 | kInitOpenSSL | kRunPlatformInit; + } + // Initialized the enabled list for Debug() calls with system // environment variables. per_process::enabled_debug_list.Parse(nullptr); atexit(ResetStdio); - PlatformInit(); + + if (init_flags & kRunPlatformInit) + PlatformInit(); CHECK_GT(argc, 0); @@ -1015,65 +1029,71 @@ InitializationResult InitializeOncePerProcess(int argc, char** argv) { return result; } + if (init_flags & kInitOpenSSL) { #if HAVE_OPENSSL - { - std::string extra_ca_certs; - if (credentials::SafeGetenv("NODE_EXTRA_CA_CERTS", &extra_ca_certs)) - crypto::UseExtraCaCerts(extra_ca_certs); - } - // In the case of FIPS builds we should make sure - // the random source is properly initialized first. -#if OPENSSL_VERSION_MAJOR >= 3 - // Call OPENSSL_init_crypto to initialize OPENSSL_INIT_LOAD_CONFIG to - // avoid the default behavior where errors raised during the parsing of the - // OpenSSL configuration file are not propagated and cannot be detected. - // - // If FIPS is configured the OpenSSL configuration file will have an .include - // pointing to the fipsmodule.cnf file generated by the openssl fipsinstall - // command. If the path to this file is incorrect no error will be reported. - // - // For Node.js this will mean that EntropySource will be called by V8 as part - // of its initialization process, and EntropySource will in turn call - // CheckEntropy. CheckEntropy will call RAND_status which will now always - // return 0, leading to an endless loop and the node process will appear to - // hang/freeze. - std::string env_openssl_conf; - credentials::SafeGetenv("OPENSSL_CONF", &env_openssl_conf); - - bool has_cli_conf = !per_process::cli_options->openssl_config.empty(); - if (has_cli_conf || !env_openssl_conf.empty()) { - OPENSSL_INIT_SETTINGS* settings = OPENSSL_INIT_new(); - OPENSSL_INIT_set_config_file_flags(settings, CONF_MFLAGS_DEFAULT_SECTION); - if (has_cli_conf) { - const char* conf = per_process::cli_options->openssl_config.c_str(); - OPENSSL_INIT_set_config_filename(settings, conf); + { + std::string extra_ca_certs; + if (credentials::SafeGetenv("NODE_EXTRA_CA_CERTS", &extra_ca_certs)) + crypto::UseExtraCaCerts(extra_ca_certs); } - OPENSSL_init_crypto(OPENSSL_INIT_LOAD_CONFIG, settings); - OPENSSL_INIT_free(settings); - - if (ERR_peek_error() != 0) { - result.exit_code = ERR_GET_REASON(ERR_peek_error()); - result.early_return = true; - fprintf(stderr, "OpenSSL configuration error:\n"); - ERR_print_errors_fp(stderr); - return result; + // In the case of FIPS builds we should make sure + // the random source is properly initialized first. +#if OPENSSL_VERSION_MAJOR >= 3 + // Call OPENSSL_init_crypto to initialize OPENSSL_INIT_LOAD_CONFIG to + // avoid the default behavior where errors raised during the parsing of the + // OpenSSL configuration file are not propagated and cannot be detected. + // + // If FIPS is configured the OpenSSL configuration file will have an + // .include pointing to the fipsmodule.cnf file generated by the openssl + // fipsinstall command. If the path to this file is incorrect no error + // will be reported. + // + // For Node.js this will mean that EntropySource will be called by V8 as + // part of its initialization process, and EntropySource will in turn call + // CheckEntropy. CheckEntropy will call RAND_status which will now always + // return 0, leading to an endless loop and the node process will appear to + // hang/freeze. + std::string env_openssl_conf; + credentials::SafeGetenv("OPENSSL_CONF", &env_openssl_conf); + + bool has_cli_conf = !per_process::cli_options->openssl_config.empty(); + if (has_cli_conf || !env_openssl_conf.empty()) { + OPENSSL_INIT_SETTINGS* settings = OPENSSL_INIT_new(); + OPENSSL_INIT_set_config_file_flags(settings, CONF_MFLAGS_DEFAULT_SECTION); + if (has_cli_conf) { + const char* conf = per_process::cli_options->openssl_config.c_str(); + OPENSSL_INIT_set_config_filename(settings, conf); + } + OPENSSL_init_crypto(OPENSSL_INIT_LOAD_CONFIG, settings); + OPENSSL_INIT_free(settings); + + if (ERR_peek_error() != 0) { + result.exit_code = ERR_GET_REASON(ERR_peek_error()); + result.early_return = true; + fprintf(stderr, "OpenSSL configuration error:\n"); + ERR_print_errors_fp(stderr); + return result; + } } - } #else - if (FIPS_mode()) { - OPENSSL_init(); - } + if (FIPS_mode()) { + OPENSSL_init(); + } #endif - // V8 on Windows doesn't have a good source of entropy. Seed it from - // OpenSSL's pool. - V8::SetEntropySource(crypto::EntropySource); + // V8 on Windows doesn't have a good source of entropy. Seed it from + // OpenSSL's pool. + V8::SetEntropySource(crypto::EntropySource); #endif // HAVE_OPENSSL - +} per_process::v8_platform.Initialize( static_cast(per_process::cli_options->v8_thread_pool_size)); - V8::Initialize(); + if (init_flags & kInitializeV8) { + V8::Initialize(); + } + performance::performance_v8_start = PERFORMANCE_NOW(); per_process::v8_initialized = true; + return result; } diff --git a/src/node_internals.h b/src/node_internals.h index b75092d662dc97..31076551e70c46 100644 --- a/src/node_internals.h +++ b/src/node_internals.h @@ -316,7 +316,20 @@ struct InitializationResult { std::vector exec_args; bool early_return = false; }; + +enum InitializationSettingsFlags : uint64_t { + kDefaultInitialization = 1 << 0, + kInitializeV8 = 1 << 1, + kRunPlatformInit = 1 << 2, + kInitOpenSSL = 1 << 3 +}; + +// TODO(codebytere): eventually document and expose to embedders. InitializationResult InitializeOncePerProcess(int argc, char** argv); +InitializationResult InitializeOncePerProcess( + int argc, + char** argv, + InitializationSettingsFlags flags); void TearDownOncePerProcess(); void SetIsolateErrorHandlers(v8::Isolate* isolate, const IsolateSettings& s); void SetIsolateMiscHandlers(v8::Isolate* isolate, const IsolateSettings& s); From 651c58b41255aef338c66fd3a961727a00967199 Mon Sep 17 00:00:00 2001 From: bl-ue Date: Tue, 1 Jun 2021 14:09:14 -0400 Subject: [PATCH 021/118] build: correct Xcode spelling in .gitignore MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit PR-URL: https://github.com/nodejs/node/pull/38895 Reviewed-By: Michaël Zasso Reviewed-By: Anna Henningsen Reviewed-By: Colin Ihrig Reviewed-By: Rich Trott Reviewed-By: Darshan Sen Reviewed-By: Zijian Liu Reviewed-By: James M Snell --- .gitignore | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.gitignore b/.gitignore index f2d8c226a698f1..b46679450bdbe6 100644 --- a/.gitignore +++ b/.gitignore @@ -117,7 +117,7 @@ tools/*/*.i.tmp /build /coverage -# === Rules for XCode artifacts === +# === Rules for Xcode artifacts === *.xcodeproj *.xcworkspace *.pbxproj From e87cd4542b29098df25c2813382d8df559549c36 Mon Sep 17 00:00:00 2001 From: Qingyu Deng Date: Fri, 4 Jun 2021 17:49:04 +0800 Subject: [PATCH 022/118] child_process: refactor to use `validateBoolean` PR-URL: https://github.com/nodejs/node/pull/38927 Reviewed-By: Antoine du Hamel Reviewed-By: Darshan Sen Reviewed-By: Khaidi Chu Reviewed-By: Zijian Liu Reviewed-By: James M Snell --- lib/child_process.js | 21 ++++++++------------- 1 file changed, 8 insertions(+), 13 deletions(-) diff --git a/lib/child_process.js b/lib/child_process.js index e3691639a9fddd..73268b05a85740 100644 --- a/lib/child_process.js +++ b/lib/child_process.js @@ -75,6 +75,7 @@ const { getValidatedPath } = require('internal/fs/utils'); const { isInt32, validateAbortSignal, + validateBoolean, validateObject, validateString, } = require('internal/validators'); @@ -459,10 +460,8 @@ function normalizeSpawnArguments(file, args, options) { } // Validate detached, if present. - if (options.detached != null && - typeof options.detached !== 'boolean') { - throw new ERR_INVALID_ARG_TYPE('options.detached', - 'boolean', options.detached); + if (options.detached != null) { + validateBoolean(options.detached, 'options.detached'); } // Validate the uid, if present. @@ -489,19 +488,15 @@ function normalizeSpawnArguments(file, args, options) { } // Validate windowsHide, if present. - if (options.windowsHide != null && - typeof options.windowsHide !== 'boolean') { - throw new ERR_INVALID_ARG_TYPE('options.windowsHide', - 'boolean', options.windowsHide); + if (options.windowsHide != null) { + validateBoolean(options.windowsHide, 'options.windowsHide'); } // Validate windowsVerbatimArguments, if present. let { windowsVerbatimArguments } = options; - if (windowsVerbatimArguments != null && - typeof windowsVerbatimArguments !== 'boolean') { - throw new ERR_INVALID_ARG_TYPE('options.windowsVerbatimArguments', - 'boolean', - windowsVerbatimArguments); + if (windowsVerbatimArguments != null) { + validateBoolean(windowsVerbatimArguments, + 'options.windowsVerbatimArguments'); } if (options.shell) { From f40725f2a1d536e1f2b59fcadb5c5085bbe74917 Mon Sep 17 00:00:00 2001 From: Voltrex <62040526+VoltrexMaster@users.noreply.github.com> Date: Fri, 4 Jun 2021 23:11:25 +0430 Subject: [PATCH 023/118] vm: use missing validator The `vm` lib module's `isContext()` function should use a validator. PR-URL: https://github.com/nodejs/node/pull/38935 Reviewed-By: Gus Caplan Reviewed-By: Zijian Liu Reviewed-By: Anna Henningsen Reviewed-By: Darshan Sen Reviewed-By: Luigi Pinca Reviewed-By: James M Snell --- lib/vm.js | 5 ++--- 1 file changed, 2 insertions(+), 3 deletions(-) diff --git a/lib/vm.js b/lib/vm.js index 0b643110ae9465..d8e3d6586036f3 100644 --- a/lib/vm.js +++ b/lib/vm.js @@ -206,9 +206,8 @@ function getContextOptions(options) { } function isContext(object) { - if (typeof object !== 'object' || object === null) { - throw new ERR_INVALID_ARG_TYPE('object', 'Object', object); - } + validateObject(object, 'object', { allowArray: true }); + return _isContext(object); } From 0f65e414428fac6558673a7dbe937f8f3114cdbe Mon Sep 17 00:00:00 2001 From: Rich Trott Date: Sat, 5 Jun 2021 18:57:30 -0700 Subject: [PATCH 024/118] debugger: reduce scope of eslint disable comment MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Current code masks setInterval and setTimeout with promisified versions. This can be confusing to read and causes lint errors. Replace masking with use of pSetInterval and pSetTimeout instead. Move disabling of lint rule from entire file to the one remaining line (after the above changes) that still needs it. PR-URL: https://github.com/nodejs/node/pull/38946 Reviewed-By: Antoine du Hamel Reviewed-By: Michaël Zasso Reviewed-By: Anna Henningsen Reviewed-By: James M Snell Reviewed-By: Luigi Pinca --- lib/internal/inspector/_inspect.js | 15 ++++++--------- 1 file changed, 6 insertions(+), 9 deletions(-) diff --git a/lib/internal/inspector/_inspect.js b/lib/internal/inspector/_inspect.js index 427469b4a6f116..6f8e389e4212ea 100644 --- a/lib/internal/inspector/_inspect.js +++ b/lib/internal/inspector/_inspect.js @@ -20,9 +20,6 @@ * IN THE SOFTWARE. */ -// TODO(aduh95): remove restricted syntax errors -/* eslint-disable no-restricted-syntax */ - 'use strict'; const { @@ -53,8 +50,8 @@ const { EventEmitter } = require('events'); const net = require('net'); const util = require('util'); const { - setInterval, - setTimeout, + setInterval: pSetInterval, + setTimeout: pSetTimeout, } = require('timers/promises'); const { AbortController, @@ -85,13 +82,13 @@ async function portIsFree(host, port, timeout = 9999) { const ac = new AbortController(); const { signal } = ac; - setTimeout(timeout).then(() => ac.abort()); + pSetTimeout(timeout).then(() => ac.abort()); - const asyncIterator = setInterval(retryDelay); + const asyncIterator = pSetInterval(retryDelay); while (true) { await asyncIterator.next(); if (signal.aborted) { - throw new StartupError( + throw new StartupError( // eslint-disable-line no-restricted-syntax `Timeout (${timeout}) waiting for ${host}:${port} to be free`); } const error = await new Promise((resolve) => { @@ -251,7 +248,7 @@ class NodeInspector { return; } catch (error) { debuglog('connect failed', error); - await setTimeout(1000); + await pSetTimeout(1000); } } this.stdout.write(' failed to connect, please retry\n'); From 9ba5518f08226f91ce2c959c4f5c05233698053c Mon Sep 17 00:00:00 2001 From: Daniel Bevenius Date: Tue, 25 May 2021 05:33:22 +0200 Subject: [PATCH 025/118] src: skip test_fatal/test_threads for Debug builds Currently test/node-api/test_fatal/test_threads.js fails for a Debug build with the following error: 1: 0x101e3f8 node::DumpBacktrace(_IO_FILE*) [/node/out/Debug/node] 2: 0x11c31ed [/node/out/Debug/node] 3: 0x11c320d [/node/out/Debug/node] 4: 0x2ba4448 V8_Fatal(char const*, int, char const*, ...) [/node/out/Debug/node] 5: 0x2ba4473 [/node/out/Debug/node] 6: 0x139e049 v8::internal::Isolate::Current() [/node/out/Debug/node] 7: 0x11025ee node::OnFatalError(char const*, char const*) [/node/out/Debug/node] 8: 0x1102564 node::FatalError(char const*, char const*) [/node/out/Debug/node] 9: 0x10add1d napi_open_callback_scope [/node/out/Debug/node] 10: 0x7f05664211dc [/node/test/node-api/test_fatal/build/Debug/test_fatal.node] 11: 0x7f056608e4e2 [/usr/lib64/libpthread.so.0] 12: 0x7f0565fbd6c3 clone [/usr/lib64/libc.so.6] node:assert:412 throw err; ^ AssertionError [ERR_ASSERTION]: The expression evaluated to a falsy value: assert.ok(p.status === 134 || p.signal === 'SIGABRT') at Object. (/node/test/node-api/test_fatal/test_threads.js:21:8) at Module._compile (node:internal/modules/cjs/loader:1109:14) at Object.Module._extensions..js (node:internal/modules/cjs/loader:1138:10) at Module.load (node:internal/modules/cjs/loader:989:32) at Function.Module._load (node:internal/modules/cjs/loader:829:14) at Function.executeUserEntryPoint [as runMain] (node:internal/modules/run_main:79:12) at node:internal/main/run_main_module:17:47 { generatedMessage: true, code: 'ERR_ASSERTION', actual: false, expected: true, operator: '==' } This is caused by a call to Isolate::GetCurrent() when the calling thread has not initialized V8. We are working suggestion to add a method to V8 which allows a check/get without any checks but in the mean time this change should allow debug builds to pass the test suit. PR-URL: https://github.com/nodejs/node/pull/38805 Refs: https://chromium-review.googlesource.com/c/v8/v8/+/2910630 Reviewed-By: Michael Dawson Reviewed-By: James M Snell --- test/node-api/test_fatal/test_threads.js | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/test/node-api/test_fatal/test_threads.js b/test/node-api/test_fatal/test_threads.js index fd56f60cbe832f..6f6dc772d18252 100644 --- a/test/node-api/test_fatal/test_threads.js +++ b/test/node-api/test_fatal/test_threads.js @@ -4,6 +4,10 @@ const assert = require('assert'); const child_process = require('child_process'); const test_fatal = require(`./build/${common.buildType}/test_fatal`); +if (common.buildType === 'Debug') + common.skip('as this will currently fail with a Debug check ' + + 'in v8::Isolate::GetCurrent()'); + // Test in a child process because the test code will trigger a fatal error // that crashes the process. if (process.argv[2] === 'child') { From 1799ea36f0dcf0e6eb1faa641e0969c319757eb7 Mon Sep 17 00:00:00 2001 From: Shelley Vohr Date: Fri, 4 Jun 2021 10:37:03 +0200 Subject: [PATCH 026/118] crypto: use compatible version of EVP_CIPHER_name PR-URL: https://github.com/nodejs/node/pull/38925 Reviewed-By: Rich Trott Reviewed-By: Richard Lau Reviewed-By: Anna Henningsen Reviewed-By: Franziska Hinkelmann --- src/crypto/crypto_cipher.cc | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/src/crypto/crypto_cipher.cc b/src/crypto/crypto_cipher.cc index 198297d4edbd88..6abfc2cce7da79 100644 --- a/src/crypto/crypto_cipher.cc +++ b/src/crypto/crypto_cipher.cc @@ -145,10 +145,14 @@ void GetCipherInfo(const FunctionCallbackInfo& args) { return; } + // OBJ_nid2sn(EVP_CIPHER_nid(cipher)) is used here instead of + // EVP_CIPHER_name(cipher) for compatibility with BoringSSL. if (info->Set( env->context(), env->name_string(), - OneByteString(env->isolate(), EVP_CIPHER_name(cipher))).IsNothing()) { + OneByteString( + env->isolate(), + OBJ_nid2sn(EVP_CIPHER_nid(cipher)))).IsNothing()) { return; } From 08b2a4a13809d00e7736fe07c2eeda9d777cde69 Mon Sep 17 00:00:00 2001 From: Daniel Bevenius Date: Mon, 31 May 2021 06:08:01 +0200 Subject: [PATCH 027/118] src,test: raise error for --enable-fips when no FIPS This commit moves the check for FIPS from the crypto module initialization to process startup. The motivation for this is that when OpenSSL is not FIPS enabled and the command line options --enable-fips, or --force-fips are used, there will only be an error raised if the crypto module is used. This can be surprising and we have gotten feedback that users assumed that there would be an error if these options were specified and FIPS is not available. PR-URL: https://github.com/nodejs/node/pull/38859 Reviewed-By: Michael Dawson Reviewed-By: James M Snell Reviewed-By: Anna Henningsen Reviewed-By: Richard Lau --- src/crypto/crypto_util.cc | 40 +++++++++++++++---------------- src/crypto/crypto_util.h | 2 ++ src/node.cc | 14 ++++++++--- test/parallel/test-crypto-fips.js | 23 ++++++++++++++++-- 4 files changed, 53 insertions(+), 26 deletions(-) diff --git a/src/crypto/crypto_util.cc b/src/crypto/crypto_util.cc index bc4efe5f597263..13c40dcb757661 100644 --- a/src/crypto/crypto_util.cc +++ b/src/crypto/crypto_util.cc @@ -14,11 +14,9 @@ #include "math.h" -#ifdef OPENSSL_FIPS #if OPENSSL_VERSION_MAJOR >= 3 #include "openssl/provider.h" #endif -#endif #include @@ -107,6 +105,25 @@ int NoPasswordCallback(char* buf, int size, int rwflag, void* u) { return 0; } +bool ProcessFipsOptions() { + /* Override FIPS settings in configuration file, if needed. */ + if (per_process::cli_options->enable_fips_crypto || + per_process::cli_options->force_fips_crypto) { +#if OPENSSL_VERSION_MAJOR >= 3 + OSSL_PROVIDER* fips_provider = OSSL_PROVIDER_load(nullptr, "fips"); + if (fips_provider == nullptr) + return false; + OSSL_PROVIDER_unload(fips_provider); + + return EVP_default_properties_enable_fips(nullptr, 1) && + EVP_default_properties_is_fips_enabled(nullptr); +#else + return FIPS_mode() == 0 && FIPS_mode_set(1); +#endif + } + return true; +} + void InitCryptoOnce() { #ifndef OPENSSL_IS_BORINGSSL OPENSSL_INIT_SETTINGS* settings = OPENSSL_INIT_new(); @@ -143,25 +160,6 @@ void InitCryptoOnce() { } #endif - /* Override FIPS settings in cnf file, if needed. */ - unsigned long err = 0; // NOLINT(runtime/int) - if (per_process::cli_options->enable_fips_crypto || - per_process::cli_options->force_fips_crypto) { -#if OPENSSL_VERSION_MAJOR >= 3 - if (0 == EVP_default_properties_is_fips_enabled(nullptr) && - !EVP_default_properties_enable_fips(nullptr, 1)) { -#else - if (0 == FIPS_mode() && !FIPS_mode_set(1)) { -#endif - err = ERR_get_error(); - } - } - if (0 != err) { - auto* isolate = Isolate::GetCurrent(); - auto* env = Environment::GetCurrent(isolate); - return ThrowCryptoError(env, err); - } - // Turn off compression. Saves memory and protects against CRIME attacks. // No-op with OPENSSL_NO_COMP builds of OpenSSL. sk_SSL_COMP_zero(SSL_COMP_get_compression_methods()); diff --git a/src/crypto/crypto_util.h b/src/crypto/crypto_util.h index 94bcb100cca0e2..ac95612a0b1a85 100644 --- a/src/crypto/crypto_util.h +++ b/src/crypto/crypto_util.h @@ -86,6 +86,8 @@ using DsaSigPointer = DeleteFnPtr; // callback has been made. extern int VerifyCallback(int preverify_ok, X509_STORE_CTX* ctx); +bool ProcessFipsOptions(); + void InitCryptoOnce(); void InitCrypto(v8::Local target); diff --git a/src/node.cc b/src/node.cc index a9afbd2682f785..3ca2a05d8b8b96 100644 --- a/src/node.cc +++ b/src/node.cc @@ -1080,9 +1080,17 @@ InitializationResult InitializeOncePerProcess( OPENSSL_init(); } #endif - // V8 on Windows doesn't have a good source of entropy. Seed it from - // OpenSSL's pool. - V8::SetEntropySource(crypto::EntropySource); + if (!crypto::ProcessFipsOptions()) { + result.exit_code = ERR_GET_REASON(ERR_peek_error()); + result.early_return = true; + fprintf(stderr, "OpenSSL error when trying to enable FIPS:\n"); + ERR_print_errors_fp(stderr); + return result; + } + + // V8 on Windows doesn't have a good source of entropy. Seed it from + // OpenSSL's pool. + V8::SetEntropySource(crypto::EntropySource); #endif // HAVE_OPENSSL } per_process::v8_platform.Initialize( diff --git a/test/parallel/test-crypto-fips.js b/test/parallel/test-crypto-fips.js index b6e70b62be68b9..ba8a1ba653ec55 100644 --- a/test/parallel/test-crypto-fips.js +++ b/test/parallel/test-crypto-fips.js @@ -17,6 +17,7 @@ const FIPS_ERROR_STRING2 = 'Error [ERR_CRYPTO_FIPS_FORCED]: Cannot set FIPS mode, it was forced with ' + '--force-fips at startup.'; const FIPS_UNSUPPORTED_ERROR_STRING = 'fips mode not supported'; +const FIPS_ENABLE_ERROR_STRING = 'OpenSSL error when trying to enable FIPS:'; const CNF_FIPS_ON = fixtures.path('openssl_fips_enabled.cnf'); const CNF_FIPS_OFF = fixtures.path('openssl_fips_disabled.cnf'); @@ -49,8 +50,10 @@ function testHelper(stream, args, expectedOutput, cmd, env) { // In the case of expected errors just look for a substring. assert.ok(response.includes(expectedOutput)); } else { - // Normal path where we expect either FIPS enabled or disabled. - assert.strictEqual(Number(response), expectedOutput); + const getFipsValue = Number(response); + if (!Number.isNaN(getFipsValue)) + // Normal path where we expect either FIPS enabled or disabled. + assert.strictEqual(getFipsValue, expectedOutput); } childOk(child); } @@ -58,6 +61,22 @@ function testHelper(stream, args, expectedOutput, cmd, env) { responseHandler(child[stream], expectedOutput); } +// --enable-fips should raise an error if OpenSSL is not FIPS enabled. +testHelper( + testFipsCrypto() ? 'stdout' : 'stderr', + ['--enable-fips'], + testFipsCrypto() ? FIPS_ENABLED : FIPS_ENABLE_ERROR_STRING, + 'process.versions', + process.env); + +// --force-fips should raise an error if OpenSSL is not FIPS enabled. +testHelper( + testFipsCrypto() ? 'stdout' : 'stderr', + ['--force-fips'], + testFipsCrypto() ? FIPS_ENABLED : FIPS_ENABLE_ERROR_STRING, + 'process.versions', + process.env); + // By default FIPS should be off in both FIPS and non-FIPS builds. testHelper( 'stdout', From 5b5e07a2ccad8e13d4a2f7669517b831581f696e Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Micha=C3=ABl=20Zasso?= Date: Sun, 6 Jun 2021 12:16:54 +0200 Subject: [PATCH 028/118] meta: update label-pr-config - Rename "ES Modules" label to "esm" (This already happened on GitHub a while ago). - Add missing "fast-track" to deps/npm (It was lost when the pull request adding it landed). - Rename "intl" to "i18n-api" (There is no intl label). - Rename "url-whatwg" to "whatwg-url". - Rename "V8 Engine" to "v8 engine". - Rename "n-api" to "node-api". - Add "python" to .py files. - Add "gyp" to tools/gyp. - Add "icu" to tools/icu. - Add "tools" and "v8 engine" to tools/v8_gypfiles. - Add "release" to doc/changelogs. PR-URL: https://github.com/nodejs/node/pull/38950 Reviewed-By: Antoine du Hamel Reviewed-By: Rich Trott Reviewed-By: James M Snell Reviewed-By: Richard Lau --- .github/label-pr-config.yml | 50 ++++++++++++++++++------------------- 1 file changed, 25 insertions(+), 25 deletions(-) diff --git a/.github/label-pr-config.yml b/.github/label-pr-config.yml index ca23908800ed2b..6e1bccd478991f 100644 --- a/.github/label-pr-config.yml +++ b/.github/label-pr-config.yml @@ -11,7 +11,7 @@ subSystemLabels: /^src\/udp_/: c++, dgram /^src\/(?:fs_|node_file|node_stat_watcher)/: c++, fs /^src\/node_http_parser/: c++, http_parser - /^src\/node_i18n/: c++, intl + /^src\/node_i18n/: c++, i18n-api /^src\/uv\./: c++, libuv /^src\/(?:connect(?:ion)?|pipe|tcp)_/: c++, net /^src\/node_os/: c++, os @@ -19,14 +19,14 @@ subSystemLabels: /^src\/timer_/: c++, timers /^src\/(?:CNNICHashWhitelist|node_root_certs|tls_)/: c++, tls /^src\/tty_/: c++, tty - /^src\/node_url/: c++, url-whatwg + /^src\/node_url/: c++, whatwg-url /^src\/node_util/: c++, util - /^src\/(?:node_v8|v8abbr)/: c++, V8 Engine + /^src\/(?:node_v8|v8abbr)/: c++, v8 engine /^src\/node_contextify/: c++, vm /^src\/.*win32.*/: c++, windows /^src\/node_zlib/: c++, zlib /^src\/tracing/: c++, tracing - /^src\/node_api/: c++, n-api + /^src\/node_api/: c++, node-api /^src\/node_http2/: c++, http2 /^src\/node_report/: c++, report /^src\/node_wasi/: c++, wasi @@ -35,7 +35,7 @@ subSystemLabels: /^src\/node_bob*/: c++, quic, dont-land-on-v14.x, dont-land-on-v12.x # don't label python files as c++ - /^src\/.+\.py$/: lib / src, needs-ci + /^src\/.+\.py$/: python, needs-ci # properly label changes to v8 inspector integration-related files /^src\/inspector_/: c++, inspector, needs-ci @@ -50,13 +50,13 @@ subSystemLabels: /^\w+\.md$/: doc # different variants of *Makefile and build files /^(tools\/)?(Makefile|BSDmakefile|create_android_makefiles|\.travis\.yml)$/: build, needs-ci - /^tools\/(install\.py|genv8constants\.py|getnodeversion\.py|js2c\.py|utils\.py|configure\.d\/.*)$/: build, needs-ci + /^tools\/(install\.py|genv8constants\.py|getnodeversion\.py|js2c\.py|utils\.py|configure\.d\/.*)$/: build, python, needs-ci /^vcbuild\.bat$/: build, windows, needs-ci /^(android-)?configure|node\.gyp|common\.gypi$/: build, needs-ci # more specific tools - /^tools\/gyp/: tools, build, needs-ci, dont-land-on-v14.x, dont-land-on-v12.x + /^tools\/gyp/: tools, build, gyp, needs-ci, dont-land-on-v14.x, dont-land-on-v12.x /^tools\/doc\//: tools, doc - /^tools\/icu\//: tools, intl, needs-ci + /^tools\/icu\//: tools, i18n-api, icu, needs-ci /^tools\/(?:osx-pkg\.pmdoc|pkgsrc)\//: tools, macos, install /^tools\/(?:(?:mac)?osx-)/: tools, macos /^tools\/test-npm/: tools, test, npm @@ -64,9 +64,10 @@ subSystemLabels: /^tools\/(?:certdata|mkssldef|mk-ca-bundle)/: tools, openssl, tls /^tools\/msvs\//: tools, windows, install, needs-ci /^tools\/[^/]+\.bat$/: tools, windows, needs-ci - /^tools\/make-v8/: tools, V8 Engine, needs-ci - /^tools\/(code_cache|snapshot|v8_gypfiles)/: needs-ci, - /^tools\/build-addons.js/: needs-ci, + /^tools\/make-v8/: tools, v8 engine, needs-ci + /^tools\/v8_gypfiles/: tools, v8 engine, needs-ci + /^tools\/(code_cache|snapshot)/: needs-ci + /^tools\/build-addons.js/: needs-ci # all other tool changes should be marked as such /^tools\//: tools /^\.eslint|\.remark|\.editorconfig/: tools @@ -75,10 +76,10 @@ subSystemLabels: # libuv needs an explicit mapping, as the ordinary /deps/ mapping below would # end up as libuv changes labeled with "uv" (which is a non-existing label) /^deps\/uv\//: libuv - /^deps\/v8\/tools\/gen-postmortem-metadata\.py/: V8 Engine, post-mortem - /^deps\/v8\//: V8 Engine + /^deps\/v8\/tools\/gen-postmortem-metadata\.py/: v8 engine, python, post-mortem + /^deps\/v8\//: v8 engine /^deps\/uvwasi\//: wasi - /^deps\/npm\//: npm, dont-land-on-v14.x, dont-land-on-v12.x + /^deps\/npm\//: npm, fast-track, dont-land-on-v14.x, dont-land-on-v12.x /^deps\/nghttp2\/nghttp2\.gyp/: build, http2 /^deps\/nghttp2\//: http2 /^deps\/ngtcp2\//: quic, dont-land-on-v14.x, dont-land-on-v12.x @@ -97,8 +98,8 @@ subSystemLabels: /^lib\/\w+\/streams$/: stream /^lib\/.*http2/: http2 /^lib\/worker_threads.js$/: worker - /^lib\/internal\/url\.js$/: url-whatwg - /^lib\/internal\/modules\/esm/: ES Modules + /^lib\/internal\/url\.js$/: whatwg-url + /^lib\/internal\/modules\/esm/: esm /^lib\/internal\/quic\/*/: quic, dont-land-on-v14.x, dont-land-on-v12.x # All other lib/ files map directly @@ -115,12 +116,12 @@ exlusiveLabels: /^test\/pseudo-tty\//: test, tty /^test\/inspector\//: test, inspector /^test\/cctest\/test_inspector/: test, inspector - /^test\/cctest\/test_url/: test, url-whatwg - /^test\/addons-napi\//: test, n-api + /^test\/cctest\/test_url/: test, whatwg-url + /^test\/addons-napi\//: test, node-api /^test\/async-hooks\//: test, async_hooks /^test\/report\//: test, report - /^test\/fixtures\/es-module/: test, ES Modules - /^test\/es-module\//: test, ES Modules + /^test\/fixtures\/es-module/: test, esm + /^test\/es-module\//: test, esm /^test\//: test @@ -128,11 +129,9 @@ exlusiveLabels: /^doc\/api\/webcrypto.md$/: doc, crypto # specific map for modules.md as it should be labeled 'module' not 'modules' /^doc\/api\/modules.md$/: doc, module - # specific map for esm.md as it should be labeled 'ES Modules' not 'esm' - /^doc\/api\/esm.md$/: doc, ES Modules - # n-api is treated separately since it is not a JS core module but is still + # node-api is treated separately since it is not a JS core module but is still # considered a subsystem of sorts - /^doc\/api\/n-api.md$/: doc, n-api + /^doc\/api\/n-api.md$/: doc, node-api # quic /^doc\/api\/quic.md$/: doc, quic, dont-land-on-v14.x, dont-land-on-v12.x # add worker label to PRs that affect doc/api/worker_threads.md @@ -141,12 +140,13 @@ exlusiveLabels: /^doc\/api\/(\w+)\.md$/: doc, $1 # add deprecations label to PRs that affect doc/api/deprecations.md /^doc\/api\/deprecations.md$/: doc, deprecations + /^doc\/changelogs\//: release /^doc\//: doc # more specific benchmarks /^benchmark\/buffers\//: benchmark, buffer - /^benchmark\/(?:arrays|es)\//: benchmark, V8 Engine + /^benchmark\/(?:arrays|es)\//: benchmark, v8 engine /^benchmark\/_http/: benchmark, http /^benchmark\/(?:misc|fixtures)\//: benchmark /^benchmark\/streams\//: benchmark, stream From ec3e5b4c15c6712fdb2174f4ced5a6afbbee3e9d Mon Sep 17 00:00:00 2001 From: Michael Dawson Date: Tue, 1 Jun 2021 21:20:55 -0400 Subject: [PATCH 029/118] node-api: avoid SecondPassCallback crash PR https://github.com/nodejs/node/pull/38000 added indirection so that we could stop finalization in cases where it had been scheduled in a second pass callback but we were doing it in advance in environment teardown. Unforunately we missed that the code which tries to clear the second pass parameter checked if the pointer to the parameter (_secondPassParameter) was nullptr and that when the second pass callback was scheduled we set _secondPassParameter to nullptr in order to avoid it being deleted outside of the second pass callback. The net result was that we would not clear the _secondPassParameter contents and failed to avoid the Finalization in the second pass callback. This PR adds an additional boolean for deciding if the secondPassParameter should be deleted outside of the second pass callback instead of setting secondPassParameter to nullptr thus avoiding the conflict between the 2 ways it was being used. See the discussion starting at: https://github.com/nodejs/node/pull/38273#issuecomment-852403751 for how this was discovered on OSX while trying to upgrade to a new V8 version. Signed-off-by: Michael Dawson PR-URL: https://github.com/nodejs/node/pull/38899 Reviewed-By: Chengzhong Wu Reviewed-By: James M Snell --- src/js_native_api_v8.cc | 10 ++++++---- 1 file changed, 6 insertions(+), 4 deletions(-) diff --git a/src/js_native_api_v8.cc b/src/js_native_api_v8.cc index 95f8212d870a72..d972ee43c8861e 100644 --- a/src/js_native_api_v8.cc +++ b/src/js_native_api_v8.cc @@ -321,7 +321,8 @@ class Reference : public RefBase { Reference(napi_env env, v8::Local value, Args&&... args) : RefBase(env, std::forward(args)...), _persistent(env->isolate, value), - _secondPassParameter(new SecondPassCallParameterRef(this)) { + _secondPassParameter(new SecondPassCallParameterRef(this)), + _secondPassScheduled(false) { if (RefCount() == 0) { SetWeak(); } @@ -348,7 +349,7 @@ class Reference : public RefBase { // If the second pass callback is scheduled, it will delete the // parameter passed to it, otherwise it will never be scheduled // and we need to delete it here. - if (_secondPassParameter != nullptr) { + if (!_secondPassScheduled) { delete _secondPassParameter; } } @@ -445,8 +446,7 @@ class Reference : public RefBase { reference->_persistent.Reset(); // Mark the parameter not delete-able until the second pass callback is // invoked. - reference->_secondPassParameter = nullptr; - + reference->_secondPassScheduled = true; data.SetSecondPassCallback(SecondPassCallback); } @@ -468,12 +468,14 @@ class Reference : public RefBase { // the reference itself has already been deleted so nothing to do return; } + reference->_secondPassParameter = nullptr; reference->Finalize(); } bool env_teardown_finalize_started_ = false; v8impl::Persistent _persistent; SecondPassCallParameterRef* _secondPassParameter; + bool _secondPassScheduled; }; enum UnwrapAction { From 336571fbdd2a48976acfbacb0b686f56223b1596 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Micha=C3=ABl=20Zasso?= Date: Sun, 6 Jun 2021 11:51:23 +0200 Subject: [PATCH 030/118] Revert "http: make HEAD method to work with keep-alive" This reverts commit 7afa5336aed999a62e4943e6000a239585b2e2ea. The change breaks clients like cURL. Fixes: https://github.com/nodejs/node/issues/38922 PR-URL: https://github.com/nodejs/node/pull/38949 Reviewed-By: Colin Ihrig Reviewed-By: Matteo Collina Reviewed-By: James M Snell Reviewed-By: Mary Marchini Reviewed-By: Michael Dawson Reviewed-By: Robert Nagy Reviewed-By: Jiawen Geng --- lib/_http_outgoing.js | 3 +- test/parallel/test-http-reuse-socket.js | 51 ------------------------- 2 files changed, 1 insertion(+), 53 deletions(-) delete mode 100644 test/parallel/test-http-reuse-socket.js diff --git a/lib/_http_outgoing.js b/lib/_http_outgoing.js index 4d3b58cc84d00c..c6f68d4329c7da 100644 --- a/lib/_http_outgoing.js +++ b/lib/_http_outgoing.js @@ -459,8 +459,7 @@ function _storeHeader(firstLine, headers) { } if (!state.contLen && !state.te) { - if (!this._hasBody && (this.statusCode === 204 || - this.statusCode === 304)) { + if (!this._hasBody) { // Make sure we don't end the 0\r\n\r\n at the end of the message. this.chunkedEncoding = false; } else if (!this.useChunkedEncodingByDefault) { diff --git a/test/parallel/test-http-reuse-socket.js b/test/parallel/test-http-reuse-socket.js deleted file mode 100644 index f5cd002fdbf519..00000000000000 --- a/test/parallel/test-http-reuse-socket.js +++ /dev/null @@ -1,51 +0,0 @@ -'use strict'; -const common = require('../common'); -const http = require('http'); -const assert = require('assert'); -const Countdown = require('../common/countdown'); - -// The HEAD:204, GET:200 is the most pathological test case. -// GETs following a 204 response with a content-encoding header failed. -// Responses without bodies and without content-length or encoding caused -// the socket to be closed. -const codes = [204, 200, 200, 304, 200]; -const methods = ['HEAD', 'HEAD', 'GET', 'HEAD', 'GET']; - -const sockets = []; -const agent = new http.Agent(); -agent.maxSockets = 1; - -const countdown = new Countdown(codes.length, () => server.close()); - -const server = http.createServer(common.mustCall((req, res) => { - const code = codes.shift(); - assert.strictEqual(typeof code, 'number'); - assert.ok(code > 0); - res.writeHead(code, {}); - res.end(); -}, codes.length)); - -function nextRequest() { - const request = http.request({ - port: server.address().port, - path: '/', - agent: agent, - method: methods.shift() - }, common.mustCall((response) => { - response.on('end', common.mustCall(() => { - if (countdown.dec()) { - nextRequest(); - } - assert.strictEqual(sockets.length, 1); - })); - response.resume(); - })); - request.on('socket', common.mustCall((socket) => { - if (!sockets.includes(socket)) { - sockets.push(socket); - } - })); - request.end(); -} - -server.listen(0, common.mustCall(nextRequest)); From 70af1467451ab72fd267c53a60160ec9eb6cf95c Mon Sep 17 00:00:00 2001 From: npm-robot Date: Thu, 3 Jun 2021 20:17:35 +0000 Subject: [PATCH 031/118] deps: upgrade npm to 7.16.0 PR-URL: https://github.com/nodejs/node/pull/38920 Reviewed-By: Ruy Adorno Reviewed-By: Myles Borins --- deps/npm/.npmignore | 4 + deps/npm/CHANGELOG.md | 64 ++ .../docs/content/commands/npm-run-script.md | 7 +- deps/npm/docs/content/using-npm/config.md | 2 + deps/npm/docs/output/commands/npm-ls.html | 4 +- .../docs/output/commands/npm-run-script.html | 6 +- deps/npm/docs/output/commands/npm.html | 4 +- deps/npm/docs/output/using-npm/config.html | 1 + deps/npm/lib/cli.js | 2 +- deps/npm/lib/utils/config/definitions.js | 2 + deps/npm/lib/utils/error-handler.js | 4 +- deps/npm/lib/utils/update-notifier.js | 36 +- deps/npm/man/man1/npm-access.1 | 2 +- deps/npm/man/man1/npm-adduser.1 | 2 +- deps/npm/man/man1/npm-audit.1 | 2 +- deps/npm/man/man1/npm-bin.1 | 2 +- deps/npm/man/man1/npm-bugs.1 | 2 +- deps/npm/man/man1/npm-cache.1 | 2 +- deps/npm/man/man1/npm-ci.1 | 2 +- deps/npm/man/man1/npm-completion.1 | 2 +- deps/npm/man/man1/npm-config.1 | 2 +- deps/npm/man/man1/npm-dedupe.1 | 2 +- deps/npm/man/man1/npm-deprecate.1 | 2 +- deps/npm/man/man1/npm-diff.1 | 2 +- deps/npm/man/man1/npm-dist-tag.1 | 2 +- deps/npm/man/man1/npm-docs.1 | 2 +- deps/npm/man/man1/npm-doctor.1 | 2 +- deps/npm/man/man1/npm-edit.1 | 2 +- deps/npm/man/man1/npm-exec.1 | 2 +- deps/npm/man/man1/npm-explain.1 | 2 +- deps/npm/man/man1/npm-explore.1 | 2 +- deps/npm/man/man1/npm-find-dupes.1 | 2 +- deps/npm/man/man1/npm-fund.1 | 2 +- deps/npm/man/man1/npm-help-search.1 | 2 +- deps/npm/man/man1/npm-help.1 | 2 +- deps/npm/man/man1/npm-hook.1 | 2 +- deps/npm/man/man1/npm-init.1 | 2 +- deps/npm/man/man1/npm-install-ci-test.1 | 2 +- deps/npm/man/man1/npm-install-test.1 | 2 +- deps/npm/man/man1/npm-install.1 | 2 +- deps/npm/man/man1/npm-link.1 | 2 +- deps/npm/man/man1/npm-logout.1 | 2 +- deps/npm/man/man1/npm-ls.1 | 4 +- deps/npm/man/man1/npm-org.1 | 2 +- deps/npm/man/man1/npm-outdated.1 | 2 +- deps/npm/man/man1/npm-owner.1 | 2 +- deps/npm/man/man1/npm-pack.1 | 2 +- deps/npm/man/man1/npm-ping.1 | 2 +- deps/npm/man/man1/npm-prefix.1 | 2 +- deps/npm/man/man1/npm-profile.1 | 2 +- deps/npm/man/man1/npm-prune.1 | 2 +- deps/npm/man/man1/npm-publish.1 | 2 +- deps/npm/man/man1/npm-rebuild.1 | 2 +- deps/npm/man/man1/npm-repo.1 | 2 +- deps/npm/man/man1/npm-restart.1 | 2 +- deps/npm/man/man1/npm-root.1 | 2 +- deps/npm/man/man1/npm-run-script.1 | 8 +- deps/npm/man/man1/npm-search.1 | 2 +- deps/npm/man/man1/npm-set-script.1 | 2 +- deps/npm/man/man1/npm-shrinkwrap.1 | 2 +- deps/npm/man/man1/npm-star.1 | 2 +- deps/npm/man/man1/npm-stars.1 | 2 +- deps/npm/man/man1/npm-start.1 | 2 +- deps/npm/man/man1/npm-stop.1 | 2 +- deps/npm/man/man1/npm-team.1 | 2 +- deps/npm/man/man1/npm-test.1 | 2 +- deps/npm/man/man1/npm-token.1 | 2 +- deps/npm/man/man1/npm-uninstall.1 | 2 +- deps/npm/man/man1/npm-unpublish.1 | 2 +- deps/npm/man/man1/npm-unstar.1 | 2 +- deps/npm/man/man1/npm-update.1 | 2 +- deps/npm/man/man1/npm-version.1 | 2 +- deps/npm/man/man1/npm-view.1 | 2 +- deps/npm/man/man1/npm-whoami.1 | 2 +- deps/npm/man/man1/npm.1 | 4 +- deps/npm/man/man1/npx.1 | 2 +- deps/npm/man/man5/folders.5 | 2 +- deps/npm/man/man5/install.5 | 2 +- deps/npm/man/man5/npm-shrinkwrap-json.5 | 2 +- deps/npm/man/man5/npmrc.5 | 2 +- deps/npm/man/man5/package-json.5 | 2 +- deps/npm/man/man5/package-lock-json.5 | 2 +- deps/npm/man/man7/config.7 | 4 +- deps/npm/man/man7/developers.7 | 2 +- deps/npm/man/man7/orgs.7 | 2 +- deps/npm/man/man7/registry.7 | 2 +- deps/npm/man/man7/removal.7 | 2 +- deps/npm/man/man7/scope.7 | 2 +- deps/npm/man/man7/scripts.7 | 2 +- deps/npm/man/man7/workspaces.7 | 2 +- .../@npmcli/arborist/package.json | 4 +- .../iconv-lite/.idea/codeStyles/Project.xml | 47 ++ .../.idea/codeStyles/codeStyleConfig.xml | 5 + .../iconv-lite/.idea/iconv-lite.iml | 12 + .../inspectionProfiles/Project_Default.xml | 6 + .../node_modules/iconv-lite/.idea/modules.xml | 8 + .../npm/node_modules/iconv-lite/.idea/vcs.xml | 6 + deps/npm/node_modules/iconv-lite/Changelog.md | 4 + .../iconv-lite/encodings/dbcs-data.js | 14 +- deps/npm/node_modules/iconv-lite/package.json | 2 +- .../node_modules/libnpmaccess/package.json | 4 +- deps/npm/node_modules/libnpmhook/CHANGELOG.md | 110 --- deps/npm/node_modules/libnpmhook/package.json | 4 +- deps/npm/node_modules/libnpmorg/CHANGELOG.md | 33 - deps/npm/node_modules/libnpmorg/package.json | 4 +- .../node_modules/libnpmpublish/CHANGELOG.md | 91 --- .../node_modules/libnpmpublish/package.json | 4 +- .../node_modules/libnpmsearch/CHANGELOG.md | 57 -- .../node_modules/libnpmsearch/package.json | 4 +- deps/npm/node_modules/libnpmteam/CHANGELOG.md | 40 -- deps/npm/node_modules/libnpmteam/package.json | 4 +- .../make-fetch-happen/CHANGELOG.md | 654 ------------------ .../node_modules/make-fetch-happen/README.md | 31 +- .../node_modules/make-fetch-happen/cache.js | 260 ------- .../node_modules/make-fetch-happen/index.js | 457 ------------ .../make-fetch-happen/{ => lib}/agent.js | 37 +- .../make-fetch-happen/lib/cache/entry.js | 432 ++++++++++++ .../make-fetch-happen/lib/cache/errors.js | 10 + .../make-fetch-happen/lib/cache/index.js | 46 ++ .../make-fetch-happen/lib/cache/key.js | 17 + .../make-fetch-happen/lib/cache/policy.js | 161 +++++ .../make-fetch-happen/lib/fetch.js | 100 +++ .../make-fetch-happen/lib/index.js | 40 ++ .../make-fetch-happen/lib/options.js | 45 ++ .../make-fetch-happen/lib/remote.js | 101 +++ .../make-fetch-happen/package.json | 34 +- .../utils/configure-options.js | 32 - .../utils/initialize-cache.js | 26 - .../utils/is-header-conditional.js | 17 - .../utils/iterable-to-object.js | 9 - .../make-fetch-happen/utils/make-policy.js | 19 - .../node_modules/make-fetch-happen/warning.js | 24 - deps/npm/node_modules/mime-db/HISTORY.md | 7 + deps/npm/node_modules/mime-db/db.json | 58 +- deps/npm/node_modules/mime-db/package.json | 14 +- deps/npm/node_modules/mime-types/HISTORY.md | 8 + deps/npm/node_modules/mime-types/package.json | 14 +- deps/npm/node_modules/negotiator/HISTORY.md | 103 +++ deps/npm/node_modules/negotiator/LICENSE | 24 + deps/npm/node_modules/negotiator/README.md | 203 ++++++ deps/npm/node_modules/negotiator/index.js | 124 ++++ .../node_modules/negotiator/lib/charset.js | 169 +++++ .../node_modules/negotiator/lib/encoding.js | 184 +++++ .../node_modules/negotiator/lib/language.js | 179 +++++ .../node_modules/negotiator/lib/mediaType.js | 294 ++++++++ deps/npm/node_modules/negotiator/package.json | 42 ++ .../node_modules/npm-package-arg/CHANGELOG.md | 52 -- deps/npm/node_modules/npm-package-arg/npa.js | 144 ++-- .../node_modules/npm-package-arg/package.json | 12 +- .../npm/node_modules/npm-profile/CHANGELOG.md | 62 -- .../npm/node_modules/npm-profile/package.json | 4 +- .../node_modules/npm-registry-fetch/README.md | 7 +- .../npm-registry-fetch/check-response.js | 83 +-- .../node_modules/npm-registry-fetch/index.js | 3 +- .../npm-registry-fetch/package.json | 21 +- deps/npm/node_modules/pacote/package.json | 4 +- deps/npm/node_modules/path-parse/.travis.yml | 9 - deps/npm/node_modules/path-parse/index.js | 50 +- deps/npm/node_modules/path-parse/package.json | 2 +- deps/npm/node_modules/path-parse/test.js | 77 --- .../node_modules}/form-data/License | 0 .../node_modules}/form-data/README.md | 0 .../node_modules}/form-data/README.md.bak | 0 .../node_modules}/form-data/lib/browser.js | 0 .../node_modules}/form-data/lib/form_data.js | 0 .../node_modules}/form-data/lib/populate.js | 0 .../node_modules}/form-data/package.json | 0 .../node_modules}/form-data/yarn.lock | 0 .../node_modules/spdx-license-ids/README.md | 2 +- .../node_modules/spdx-license-ids/index.json | 12 + .../spdx-license-ids/package.json | 2 +- deps/npm/package.json | 24 +- .../lib/utils/config/describe-all.js.test.cjs | 2 + deps/npm/test/lib/cli.js | 1 + deps/npm/test/lib/utils/update-notifier.js | 61 +- 175 files changed, 2906 insertions(+), 2470 deletions(-) create mode 100644 deps/npm/node_modules/iconv-lite/.idea/codeStyles/Project.xml create mode 100644 deps/npm/node_modules/iconv-lite/.idea/codeStyles/codeStyleConfig.xml create mode 100644 deps/npm/node_modules/iconv-lite/.idea/iconv-lite.iml create mode 100644 deps/npm/node_modules/iconv-lite/.idea/inspectionProfiles/Project_Default.xml create mode 100644 deps/npm/node_modules/iconv-lite/.idea/modules.xml create mode 100644 deps/npm/node_modules/iconv-lite/.idea/vcs.xml delete mode 100644 deps/npm/node_modules/libnpmhook/CHANGELOG.md delete mode 100644 deps/npm/node_modules/libnpmorg/CHANGELOG.md delete mode 100644 deps/npm/node_modules/libnpmpublish/CHANGELOG.md delete mode 100644 deps/npm/node_modules/libnpmsearch/CHANGELOG.md delete mode 100644 deps/npm/node_modules/libnpmteam/CHANGELOG.md delete mode 100644 deps/npm/node_modules/make-fetch-happen/CHANGELOG.md delete mode 100644 deps/npm/node_modules/make-fetch-happen/cache.js delete mode 100644 deps/npm/node_modules/make-fetch-happen/index.js rename deps/npm/node_modules/make-fetch-happen/{ => lib}/agent.js (88%) create mode 100644 deps/npm/node_modules/make-fetch-happen/lib/cache/entry.js create mode 100644 deps/npm/node_modules/make-fetch-happen/lib/cache/errors.js create mode 100644 deps/npm/node_modules/make-fetch-happen/lib/cache/index.js create mode 100644 deps/npm/node_modules/make-fetch-happen/lib/cache/key.js create mode 100644 deps/npm/node_modules/make-fetch-happen/lib/cache/policy.js create mode 100644 deps/npm/node_modules/make-fetch-happen/lib/fetch.js create mode 100644 deps/npm/node_modules/make-fetch-happen/lib/index.js create mode 100644 deps/npm/node_modules/make-fetch-happen/lib/options.js create mode 100644 deps/npm/node_modules/make-fetch-happen/lib/remote.js delete mode 100644 deps/npm/node_modules/make-fetch-happen/utils/configure-options.js delete mode 100644 deps/npm/node_modules/make-fetch-happen/utils/initialize-cache.js delete mode 100644 deps/npm/node_modules/make-fetch-happen/utils/is-header-conditional.js delete mode 100644 deps/npm/node_modules/make-fetch-happen/utils/iterable-to-object.js delete mode 100644 deps/npm/node_modules/make-fetch-happen/utils/make-policy.js delete mode 100644 deps/npm/node_modules/make-fetch-happen/warning.js create mode 100644 deps/npm/node_modules/negotiator/HISTORY.md create mode 100644 deps/npm/node_modules/negotiator/LICENSE create mode 100644 deps/npm/node_modules/negotiator/README.md create mode 100644 deps/npm/node_modules/negotiator/index.js create mode 100644 deps/npm/node_modules/negotiator/lib/charset.js create mode 100644 deps/npm/node_modules/negotiator/lib/encoding.js create mode 100644 deps/npm/node_modules/negotiator/lib/language.js create mode 100644 deps/npm/node_modules/negotiator/lib/mediaType.js create mode 100644 deps/npm/node_modules/negotiator/package.json delete mode 100644 deps/npm/node_modules/npm-package-arg/CHANGELOG.md delete mode 100644 deps/npm/node_modules/npm-profile/CHANGELOG.md delete mode 100644 deps/npm/node_modules/path-parse/.travis.yml delete mode 100644 deps/npm/node_modules/path-parse/test.js rename deps/npm/node_modules/{ => request/node_modules}/form-data/License (100%) rename deps/npm/node_modules/{ => request/node_modules}/form-data/README.md (100%) rename deps/npm/node_modules/{ => request/node_modules}/form-data/README.md.bak (100%) rename deps/npm/node_modules/{ => request/node_modules}/form-data/lib/browser.js (100%) rename deps/npm/node_modules/{ => request/node_modules}/form-data/lib/form_data.js (100%) rename deps/npm/node_modules/{ => request/node_modules}/form-data/lib/populate.js (100%) rename deps/npm/node_modules/{ => request/node_modules}/form-data/package.json (100%) rename deps/npm/node_modules/{ => request/node_modules}/form-data/yarn.lock (100%) diff --git a/deps/npm/.npmignore b/deps/npm/.npmignore index 9d02b99f91b39a..ae91e6482791fa 100644 --- a/deps/npm/.npmignore +++ b/deps/npm/.npmignore @@ -27,6 +27,10 @@ docs/nav.yml docs/config.json docs/dockhand.js docs/template.html +docs/package.json +docs/node_modules +# docs source files are required by `npm help-search` do not exclude those +!docs/content/ # don't ignore .npmignore files # these are used in some tests. diff --git a/deps/npm/CHANGELOG.md b/deps/npm/CHANGELOG.md index c86373bcde2b84..027731cbe2cf73 100644 --- a/deps/npm/CHANGELOG.md +++ b/deps/npm/CHANGELOG.md @@ -1,3 +1,67 @@ +## v7.16.0 (2021-06-03) + +## FEATURES + +* [`e92b5f2ba`](https://github.com/npm/cli/commit/e92b5f2ba07746ae07646566f3dc73c9e004a2fc) + `npm-registry-fetch@11.0.0` + * feat: improved logging of cache status + +## BUG FIXES + +* [`e864bd3ce`](https://github.com/npm/cli/commit/e864bd3ce8e8467e0f8ebb499dc2daf06143bc33) + [#3345](https://github.com/npm/cli/issues/3345) + fix(update-notifier): do not update notify when installing npm@spec + ([@isaacs](https://github.com/isaacs)) +* [`aafe23572`](https://github.com/npm/cli/commit/aafe2357279230e333d3342752a28fce6b9cd152) + [#3348](https://github.com/npm/cli/issues/3348) + fix(update-notifier): parallelize check for updates + ([@isaacs](https://github.com/isaacs)) + +## DOCUMENTATION + +* [`bc9c57dda`](https://github.com/npm/cli/commit/bc9c57dda7cf3abcdee17550205daf1a82e90438) + [#3353](https://github.com/npm/cli/issues/3353) + fix(docs): remove documentation for '--scripts-prepend-node-path' as it was removed in npm@7 + ([@gimli01](https://github.com/gimli01)) +* [`ca2822110`](https://github.com/npm/cli/commit/ca28221103aa0e9ccba7043ac515a541b625c53a) + [#3360](https://github.com/npm/cli/issues/3360) + fix(docs): link foreground-scripts w/ loglevel + ([@wraithgar](https://github.com/wraithgar)) +* [`fb630b5a9`](https://github.com/npm/cli/commit/fb630b5a9af86c71602803297634ec291eeedee0) + [#3342](https://github.com/npm/cli/issues/3342) + chore(docs): manage docs as a workspace + ([@ruyadorno](https://github.com/ruyadorno)) + +## DEPENDENCIES + +* [`54de5c6a4`](https://github.com/npm/cli/commit/54de5c6a4cd593bbbe364132f3f7348586441b31) + `npm-package-arg@8.1.4`: + * fix: trim whitespace from fetchSpec + * fix: handle file: when root directory begins with a special character +* [`e92b5f2ba`](https://github.com/npm/cli/commit/e92b5f2ba07746ae07646566f3dc73c9e004a2fc) + `make-fetch-happen@9.0.1` + * breaking: complete refactor of caching. drops warning headers, + prevents cache indexes from growing for every request, correctly + handles varied requests to the same url, and now caches redirects. + * fix: support url-encoded proxy authorization + * fix: do not lazy-load proxy agents or agentkeepalive. fixes the + intermittent failures to update npm on slower connections. + `npm-registry-fetch@11.0.0` + * breaking: drop handling of deprecated warning headers + * docs: fix header type for npm-command + * docs: update registry param + * feat: improved logging of cache status +* [`23c50a45f`](https://github.com/npm/cli/commit/23c50a45f59ea3ed4c36f35df15e54adc5603034) + `make-fetch-happen@9.0.2`: + * fix: work around negotiator's lazy loading + +## AUTOMATION + +* [`c4ef78b08`](https://github.com/npm/cli/commit/c4ef78b08e6859fc191cabbe58c8d88c070e0612) + [#3344](https://github.com/npm/cli/issues/3344) + fix(automation): update incorrect variable name in create-cli-deps-pr workflow + ([@gimli01](https://github.com/gimli01)) + ## v7.15.1 (2021-05-31) ### BUG FIXES diff --git a/deps/npm/docs/content/commands/npm-run-script.md b/deps/npm/docs/content/commands/npm-run-script.md index 1d11a74faa2448..5e3828c40717dd 100644 --- a/deps/npm/docs/content/commands/npm-run-script.md +++ b/deps/npm/docs/content/commands/npm-run-script.md @@ -70,11 +70,7 @@ can use the `INIT_CWD` environment variable, which holds the full path you were in when you ran `npm run`. `npm run` sets the `NODE` environment variable to the `node` executable -with which `npm` is executed. Also, if the `--scripts-prepend-node-path` is -passed, the directory within which `node` resides is added to the `PATH`. -If `--scripts-prepend-node-path=auto` is passed (which has been the default -in `npm` v3), this is only performed when that `node` executable is not -found in the `PATH`. +with which `npm` is executed. If you try to run a script without having a `node_modules` directory and it fails, you will be given a warning to run `npm install`, just in case you've @@ -138,7 +134,6 @@ npm test -w a -w b This last command will run `test` in both `./packages/a` and `./packages/b` packages. - ### Configuration diff --git a/deps/npm/docs/content/using-npm/config.md b/deps/npm/docs/content/using-npm/config.md index 25b4d424e82ff4..44b79a801f15ec 100644 --- a/deps/npm/docs/content/using-npm/config.md +++ b/deps/npm/docs/content/using-npm/config.md @@ -776,6 +776,8 @@ What level of logs to report. On failure, *all* logs are written to Any logs of a higher level than the setting are shown. The default is "notice". +See also the `foreground-scripts` config. + #### `logs-max` * Default: 10 diff --git a/deps/npm/docs/output/commands/npm-ls.html b/deps/npm/docs/output/commands/npm-ls.html index f87185539dd6f7..1b33d79cc1a807 100644 --- a/deps/npm/docs/output/commands/npm-ls.html +++ b/deps/npm/docs/output/commands/npm-ls.html @@ -159,7 +159,7 @@

Description

the results to only the paths to the packages named. Note that nested packages will also show the paths to the specified packages. For example, running npm ls promzard in npm’s source tree will show:

-
npm@7.15.1 /path/to/npm
+
npm@7.16.0 /path/to/npm
 └─┬ init-package-json@0.0.4
   └── promzard@0.1.5
 
@@ -337,4 +337,4 @@

See Also

- \ No newline at end of file + diff --git a/deps/npm/docs/output/commands/npm-run-script.html b/deps/npm/docs/output/commands/npm-run-script.html index 54afe9f2404915..cbae66c2801866 100644 --- a/deps/npm/docs/output/commands/npm-run-script.html +++ b/deps/npm/docs/output/commands/npm-run-script.html @@ -190,11 +190,7 @@

Description

can use the INIT_CWD environment variable, which holds the full path you were in when you ran npm run.

npm run sets the NODE environment variable to the node executable -with which npm is executed. Also, if the --scripts-prepend-node-path is -passed, the directory within which node resides is added to the PATH. -If --scripts-prepend-node-path=auto is passed (which has been the default -in npm v3), this is only performed when that node executable is not -found in the PATH.

+with which npm is executed.

If you try to run a script without having a node_modules directory and it fails, you will be given a warning to run npm install, just in case you’ve forgotten.

diff --git a/deps/npm/docs/output/commands/npm.html b/deps/npm/docs/output/commands/npm.html index 6469e96933a08e..c3ca080469abf9 100644 --- a/deps/npm/docs/output/commands/npm.html +++ b/deps/npm/docs/output/commands/npm.html @@ -148,7 +148,7 @@

Table of contents

npm <command> [args]
 

Version

-

7.15.1

+

7.16.0

Description

npm is the package manager for the Node JavaScript platform. It puts modules in place so that node can find them, and manages dependency @@ -292,4 +292,4 @@

See Also

- \ No newline at end of file + diff --git a/deps/npm/docs/output/using-npm/config.html b/deps/npm/docs/output/using-npm/config.html index 7e722bdc187903..e11eb0eec4af07 100644 --- a/deps/npm/docs/output/using-npm/config.html +++ b/deps/npm/docs/output/using-npm/config.html @@ -793,6 +793,7 @@

loglevel

npm-debug.log in the current working directory.

Any logs of a higher level than the setting are shown. The default is “notice”.

+

See also the foreground-scripts config.

logs-max

  • Default: 10
  • diff --git a/deps/npm/lib/cli.js b/deps/npm/lib/cli.js index f42132f9443900..d4a67645858aef 100644 --- a/deps/npm/lib/cli.js +++ b/deps/npm/lib/cli.js @@ -53,7 +53,7 @@ module.exports = (process) => { npm.config.set('usage', false, 'cli') } - npm.updateNotification = await updateNotifier(npm) + updateNotifier(npm) const cmd = npm.argv.shift() const impl = npm.commands[cmd] diff --git a/deps/npm/lib/utils/config/definitions.js b/deps/npm/lib/utils/config/definitions.js index 22fff38787d7b3..ea9665b5431f51 100644 --- a/deps/npm/lib/utils/config/definitions.js +++ b/deps/npm/lib/utils/config/definitions.js @@ -1128,6 +1128,8 @@ define('loglevel', { Any logs of a higher level than the setting are shown. The default is "notice". + + See also the \`foreground-scripts\` config. `, }) diff --git a/deps/npm/lib/utils/error-handler.js b/deps/npm/lib/utils/error-handler.js index 1fc31df44ffb9b..da716679d27059 100644 --- a/deps/npm/lib/utils/error-handler.js +++ b/deps/npm/lib/utils/error-handler.js @@ -119,7 +119,9 @@ const errorHandler = (er) => { if (cbCalled) er = er || new Error('Callback called more than once.') - if (npm.updateNotification) { + // only show the notification if it finished before the other stuff we + // were doing. no need to hang on `npm -v` or something. + if (typeof npm.updateNotification === 'string') { const { level } = log log.level = log.levels.notice log.notice('', npm.updateNotification) diff --git a/deps/npm/lib/utils/update-notifier.js b/deps/npm/lib/utils/update-notifier.js index 0a19be94e62a41..ed5806ced2a7d9 100644 --- a/deps/npm/lib/utils/update-notifier.js +++ b/deps/npm/lib/utils/update-notifier.js @@ -14,30 +14,32 @@ const { resolve } = require('path') const isGlobalNpmUpdate = npm => { return npm.flatOptions.global && ['install', 'update'].includes(npm.command) && - npm.argv.includes('npm') + npm.argv.some(arg => /^npm(@|$)/.test(arg)) } // update check frequency const DAILY = 1000 * 60 * 60 * 24 const WEEKLY = DAILY * 7 -const updateTimeout = async (npm, duration) => { +// don't put it in the _cacache folder, just in npm's cache +const lastCheckedFile = npm => + resolve(npm.flatOptions.cache, '../_update-notifier-last-checked') + +const checkTimeout = async (npm, duration) => { const t = new Date(Date.now() - duration) - // don't put it in the _cacache folder, just in npm's cache - const f = resolve(npm.flatOptions.cache, '../_update-notifier-last-checked') + const f = lastCheckedFile(npm) // if we don't have a file, then definitely check it. const st = await stat(f).catch(() => ({ mtime: t - 1 })) + return t > st.mtime +} - if (t > st.mtime) { - // best effort, if this fails, it's ok. - // might be using /dev/null as the cache or something weird like that. - await writeFile(f, '').catch(() => {}) - return true - } else - return false +const updateTimeout = async npm => { + // best effort, if this fails, it's ok. + // might be using /dev/null as the cache or something weird like that. + await writeFile(lastCheckedFile(npm), '').catch(() => {}) } -const updateNotifier = module.exports = async (npm, spec = 'latest') => { +const updateNotifier = async (npm, spec = 'latest') => { // never check for updates in CI, when updating npm already, or opted out if (!npm.config.get('update-notifier') || isGlobalNpmUpdate(npm) || @@ -57,7 +59,7 @@ const updateNotifier = module.exports = async (npm, spec = 'latest') => { const duration = spec !== 'latest' ? DAILY : WEEKLY // if we've already checked within the specified duration, don't check again - if (!(await updateTimeout(npm, duration))) + if (!(await checkTimeout(npm, duration))) return null // if they're currently using a prerelease, nudge to the next prerelease @@ -113,3 +115,11 @@ const updateNotifier = module.exports = async (npm, spec = 'latest') => { return messagec } + +// only update the notification timeout if we actually finished checking +module.exports = async npm => { + const notification = await updateNotifier(npm) + // intentional. do not await this. it's a best-effort update. + updateTimeout(npm) + npm.updateNotification = notification +} diff --git a/deps/npm/man/man1/npm-access.1 b/deps/npm/man/man1/npm-access.1 index 9d6faac7a39083..75b1e990e58620 100644 --- a/deps/npm/man/man1/npm-access.1 +++ b/deps/npm/man/man1/npm-access.1 @@ -1,4 +1,4 @@ -.TH "NPM\-ACCESS" "1" "May 2021" "" "" +.TH "NPM\-ACCESS" "1" "June 2021" "" "" .SH "NAME" \fBnpm-access\fR \- Set access level on published packages .SS Synopsis diff --git a/deps/npm/man/man1/npm-adduser.1 b/deps/npm/man/man1/npm-adduser.1 index de7c5424d3b9a0..213191e2960638 100644 --- a/deps/npm/man/man1/npm-adduser.1 +++ b/deps/npm/man/man1/npm-adduser.1 @@ -1,4 +1,4 @@ -.TH "NPM\-ADDUSER" "1" "May 2021" "" "" +.TH "NPM\-ADDUSER" "1" "June 2021" "" "" .SH "NAME" \fBnpm-adduser\fR \- Add a registry user account .SS Synopsis diff --git a/deps/npm/man/man1/npm-audit.1 b/deps/npm/man/man1/npm-audit.1 index a012de1608e301..dfd4f7ec872f2e 100644 --- a/deps/npm/man/man1/npm-audit.1 +++ b/deps/npm/man/man1/npm-audit.1 @@ -1,4 +1,4 @@ -.TH "NPM\-AUDIT" "1" "May 2021" "" "" +.TH "NPM\-AUDIT" "1" "June 2021" "" "" .SH "NAME" \fBnpm-audit\fR \- Run a security audit .SS Synopsis diff --git a/deps/npm/man/man1/npm-bin.1 b/deps/npm/man/man1/npm-bin.1 index 957732cb942b63..5206fc0ece1b7f 100644 --- a/deps/npm/man/man1/npm-bin.1 +++ b/deps/npm/man/man1/npm-bin.1 @@ -1,4 +1,4 @@ -.TH "NPM\-BIN" "1" "May 2021" "" "" +.TH "NPM\-BIN" "1" "June 2021" "" "" .SH "NAME" \fBnpm-bin\fR \- Display npm bin folder .SS Synopsis diff --git a/deps/npm/man/man1/npm-bugs.1 b/deps/npm/man/man1/npm-bugs.1 index 72a1e2d5111ab8..d07e7e35f5f714 100644 --- a/deps/npm/man/man1/npm-bugs.1 +++ b/deps/npm/man/man1/npm-bugs.1 @@ -1,4 +1,4 @@ -.TH "NPM\-BUGS" "1" "May 2021" "" "" +.TH "NPM\-BUGS" "1" "June 2021" "" "" .SH "NAME" \fBnpm-bugs\fR \- Report bugs for a package in a web browser .SS Synopsis diff --git a/deps/npm/man/man1/npm-cache.1 b/deps/npm/man/man1/npm-cache.1 index a2e140c93580e9..02a4f6888f75b2 100644 --- a/deps/npm/man/man1/npm-cache.1 +++ b/deps/npm/man/man1/npm-cache.1 @@ -1,4 +1,4 @@ -.TH "NPM\-CACHE" "1" "May 2021" "" "" +.TH "NPM\-CACHE" "1" "June 2021" "" "" .SH "NAME" \fBnpm-cache\fR \- Manipulates packages cache .SS Synopsis diff --git a/deps/npm/man/man1/npm-ci.1 b/deps/npm/man/man1/npm-ci.1 index ebbf8530787644..cdbc318d309019 100644 --- a/deps/npm/man/man1/npm-ci.1 +++ b/deps/npm/man/man1/npm-ci.1 @@ -1,4 +1,4 @@ -.TH "NPM\-CI" "1" "May 2021" "" "" +.TH "NPM\-CI" "1" "June 2021" "" "" .SH "NAME" \fBnpm-ci\fR \- Install a project with a clean slate .SS Synopsis diff --git a/deps/npm/man/man1/npm-completion.1 b/deps/npm/man/man1/npm-completion.1 index dffedb6b639e6a..d853c9bbe32ce0 100644 --- a/deps/npm/man/man1/npm-completion.1 +++ b/deps/npm/man/man1/npm-completion.1 @@ -1,4 +1,4 @@ -.TH "NPM\-COMPLETION" "1" "May 2021" "" "" +.TH "NPM\-COMPLETION" "1" "June 2021" "" "" .SH "NAME" \fBnpm-completion\fR \- Tab Completion for npm .SS Synopsis diff --git a/deps/npm/man/man1/npm-config.1 b/deps/npm/man/man1/npm-config.1 index a2a357f861d4f9..4eb04f2f006b5f 100644 --- a/deps/npm/man/man1/npm-config.1 +++ b/deps/npm/man/man1/npm-config.1 @@ -1,4 +1,4 @@ -.TH "NPM\-CONFIG" "1" "May 2021" "" "" +.TH "NPM\-CONFIG" "1" "June 2021" "" "" .SH "NAME" \fBnpm-config\fR \- Manage the npm configuration files .SS Synopsis diff --git a/deps/npm/man/man1/npm-dedupe.1 b/deps/npm/man/man1/npm-dedupe.1 index 4dc5896b2d2a98..741e613b1cbabd 100644 --- a/deps/npm/man/man1/npm-dedupe.1 +++ b/deps/npm/man/man1/npm-dedupe.1 @@ -1,4 +1,4 @@ -.TH "NPM\-DEDUPE" "1" "May 2021" "" "" +.TH "NPM\-DEDUPE" "1" "June 2021" "" "" .SH "NAME" \fBnpm-dedupe\fR \- Reduce duplication in the package tree .SS Synopsis diff --git a/deps/npm/man/man1/npm-deprecate.1 b/deps/npm/man/man1/npm-deprecate.1 index d705787d73b860..81ef20ada52591 100644 --- a/deps/npm/man/man1/npm-deprecate.1 +++ b/deps/npm/man/man1/npm-deprecate.1 @@ -1,4 +1,4 @@ -.TH "NPM\-DEPRECATE" "1" "May 2021" "" "" +.TH "NPM\-DEPRECATE" "1" "June 2021" "" "" .SH "NAME" \fBnpm-deprecate\fR \- Deprecate a version of a package .SS Synopsis diff --git a/deps/npm/man/man1/npm-diff.1 b/deps/npm/man/man1/npm-diff.1 index fb32b068689be7..d2251146e7e626 100644 --- a/deps/npm/man/man1/npm-diff.1 +++ b/deps/npm/man/man1/npm-diff.1 @@ -1,4 +1,4 @@ -.TH "NPM\-DIFF" "1" "May 2021" "" "" +.TH "NPM\-DIFF" "1" "June 2021" "" "" .SH "NAME" \fBnpm-diff\fR \- The registry diff command .SS Synopsis diff --git a/deps/npm/man/man1/npm-dist-tag.1 b/deps/npm/man/man1/npm-dist-tag.1 index 5f52ff56040cbe..edb31fad1561fd 100644 --- a/deps/npm/man/man1/npm-dist-tag.1 +++ b/deps/npm/man/man1/npm-dist-tag.1 @@ -1,4 +1,4 @@ -.TH "NPM\-DIST\-TAG" "1" "May 2021" "" "" +.TH "NPM\-DIST\-TAG" "1" "June 2021" "" "" .SH "NAME" \fBnpm-dist-tag\fR \- Modify package distribution tags .SS Synopsis diff --git a/deps/npm/man/man1/npm-docs.1 b/deps/npm/man/man1/npm-docs.1 index aff1d30424fc74..f181d676c90648 100644 --- a/deps/npm/man/man1/npm-docs.1 +++ b/deps/npm/man/man1/npm-docs.1 @@ -1,4 +1,4 @@ -.TH "NPM\-DOCS" "1" "May 2021" "" "" +.TH "NPM\-DOCS" "1" "June 2021" "" "" .SH "NAME" \fBnpm-docs\fR \- Open documentation for a package in a web browser .SS Synopsis diff --git a/deps/npm/man/man1/npm-doctor.1 b/deps/npm/man/man1/npm-doctor.1 index 6c2fe5684d1faf..3cb800333912ce 100644 --- a/deps/npm/man/man1/npm-doctor.1 +++ b/deps/npm/man/man1/npm-doctor.1 @@ -1,4 +1,4 @@ -.TH "NPM\-DOCTOR" "1" "May 2021" "" "" +.TH "NPM\-DOCTOR" "1" "June 2021" "" "" .SH "NAME" \fBnpm-doctor\fR \- Check your npm environment .SS Synopsis diff --git a/deps/npm/man/man1/npm-edit.1 b/deps/npm/man/man1/npm-edit.1 index 231a43afbbe486..a6d045db8a7ff6 100644 --- a/deps/npm/man/man1/npm-edit.1 +++ b/deps/npm/man/man1/npm-edit.1 @@ -1,4 +1,4 @@ -.TH "NPM\-EDIT" "1" "May 2021" "" "" +.TH "NPM\-EDIT" "1" "June 2021" "" "" .SH "NAME" \fBnpm-edit\fR \- Edit an installed package .SS Synopsis diff --git a/deps/npm/man/man1/npm-exec.1 b/deps/npm/man/man1/npm-exec.1 index 92d81795ad89c5..f3b991a3330537 100644 --- a/deps/npm/man/man1/npm-exec.1 +++ b/deps/npm/man/man1/npm-exec.1 @@ -1,4 +1,4 @@ -.TH "NPM\-EXEC" "1" "May 2021" "" "" +.TH "NPM\-EXEC" "1" "June 2021" "" "" .SH "NAME" \fBnpm-exec\fR \- Run a command from a local or remote npm package .SS Synopsis diff --git a/deps/npm/man/man1/npm-explain.1 b/deps/npm/man/man1/npm-explain.1 index 6c8df53652e70b..507a68074f1061 100644 --- a/deps/npm/man/man1/npm-explain.1 +++ b/deps/npm/man/man1/npm-explain.1 @@ -1,4 +1,4 @@ -.TH "NPM\-EXPLAIN" "1" "May 2021" "" "" +.TH "NPM\-EXPLAIN" "1" "June 2021" "" "" .SH "NAME" \fBnpm-explain\fR \- Explain installed packages .SS Synopsis diff --git a/deps/npm/man/man1/npm-explore.1 b/deps/npm/man/man1/npm-explore.1 index 606776e29f0fdb..b4ca707a099a7c 100644 --- a/deps/npm/man/man1/npm-explore.1 +++ b/deps/npm/man/man1/npm-explore.1 @@ -1,4 +1,4 @@ -.TH "NPM\-EXPLORE" "1" "May 2021" "" "" +.TH "NPM\-EXPLORE" "1" "June 2021" "" "" .SH "NAME" \fBnpm-explore\fR \- Browse an installed package .SS Synopsis diff --git a/deps/npm/man/man1/npm-find-dupes.1 b/deps/npm/man/man1/npm-find-dupes.1 index fe8ead43e8ff65..e3ecfe15cdee0b 100644 --- a/deps/npm/man/man1/npm-find-dupes.1 +++ b/deps/npm/man/man1/npm-find-dupes.1 @@ -1,4 +1,4 @@ -.TH "NPM\-FIND\-DUPES" "1" "May 2021" "" "" +.TH "NPM\-FIND\-DUPES" "1" "June 2021" "" "" .SH "NAME" \fBnpm-find-dupes\fR \- Find duplication in the package tree .SS Synopsis diff --git a/deps/npm/man/man1/npm-fund.1 b/deps/npm/man/man1/npm-fund.1 index 09b43ace17c6de..6d098b88042745 100644 --- a/deps/npm/man/man1/npm-fund.1 +++ b/deps/npm/man/man1/npm-fund.1 @@ -1,4 +1,4 @@ -.TH "NPM\-FUND" "1" "May 2021" "" "" +.TH "NPM\-FUND" "1" "June 2021" "" "" .SH "NAME" \fBnpm-fund\fR \- Retrieve funding information .SS Synopsis diff --git a/deps/npm/man/man1/npm-help-search.1 b/deps/npm/man/man1/npm-help-search.1 index f99582872bf068..3554328daa4dda 100644 --- a/deps/npm/man/man1/npm-help-search.1 +++ b/deps/npm/man/man1/npm-help-search.1 @@ -1,4 +1,4 @@ -.TH "NPM\-HELP\-SEARCH" "1" "May 2021" "" "" +.TH "NPM\-HELP\-SEARCH" "1" "June 2021" "" "" .SH "NAME" \fBnpm-help-search\fR \- Search npm help documentation .SS Synopsis diff --git a/deps/npm/man/man1/npm-help.1 b/deps/npm/man/man1/npm-help.1 index 9835fa89438b27..db9639e94e6101 100644 --- a/deps/npm/man/man1/npm-help.1 +++ b/deps/npm/man/man1/npm-help.1 @@ -1,4 +1,4 @@ -.TH "NPM\-HELP" "1" "May 2021" "" "" +.TH "NPM\-HELP" "1" "June 2021" "" "" .SH "NAME" \fBnpm-help\fR \- Get help on npm .SS Synopsis diff --git a/deps/npm/man/man1/npm-hook.1 b/deps/npm/man/man1/npm-hook.1 index e615148ef53268..08b52f2c4c4a45 100644 --- a/deps/npm/man/man1/npm-hook.1 +++ b/deps/npm/man/man1/npm-hook.1 @@ -1,4 +1,4 @@ -.TH "NPM\-HOOK" "1" "May 2021" "" "" +.TH "NPM\-HOOK" "1" "June 2021" "" "" .SH "NAME" \fBnpm-hook\fR \- Manage registry hooks .SS Synopsis diff --git a/deps/npm/man/man1/npm-init.1 b/deps/npm/man/man1/npm-init.1 index fab1b127dd3e97..970201eba343cd 100644 --- a/deps/npm/man/man1/npm-init.1 +++ b/deps/npm/man/man1/npm-init.1 @@ -1,4 +1,4 @@ -.TH "NPM\-INIT" "1" "May 2021" "" "" +.TH "NPM\-INIT" "1" "June 2021" "" "" .SH "NAME" \fBnpm-init\fR \- Create a package\.json file .SS Synopsis diff --git a/deps/npm/man/man1/npm-install-ci-test.1 b/deps/npm/man/man1/npm-install-ci-test.1 index ef7ee7c8cb28a2..1267c086725eb0 100644 --- a/deps/npm/man/man1/npm-install-ci-test.1 +++ b/deps/npm/man/man1/npm-install-ci-test.1 @@ -1,4 +1,4 @@ -.TH "NPM\-INSTALL\-CI\-TEST" "1" "May 2021" "" "" +.TH "NPM\-INSTALL\-CI\-TEST" "1" "June 2021" "" "" .SH "NAME" \fBnpm-install-ci-test\fR \- Install a project with a clean slate and run tests .SS Synopsis diff --git a/deps/npm/man/man1/npm-install-test.1 b/deps/npm/man/man1/npm-install-test.1 index ed77750516cdcd..969054201c5d30 100644 --- a/deps/npm/man/man1/npm-install-test.1 +++ b/deps/npm/man/man1/npm-install-test.1 @@ -1,4 +1,4 @@ -.TH "NPM\-INSTALL\-TEST" "1" "May 2021" "" "" +.TH "NPM\-INSTALL\-TEST" "1" "June 2021" "" "" .SH "NAME" \fBnpm-install-test\fR \- Install package(s) and run tests .SS Synopsis diff --git a/deps/npm/man/man1/npm-install.1 b/deps/npm/man/man1/npm-install.1 index 37ede568148c0a..94cd6d88a64947 100644 --- a/deps/npm/man/man1/npm-install.1 +++ b/deps/npm/man/man1/npm-install.1 @@ -1,4 +1,4 @@ -.TH "NPM\-INSTALL" "1" "May 2021" "" "" +.TH "NPM\-INSTALL" "1" "June 2021" "" "" .SH "NAME" \fBnpm-install\fR \- Install a package .SS Synopsis diff --git a/deps/npm/man/man1/npm-link.1 b/deps/npm/man/man1/npm-link.1 index 822e8851633c9d..4eea5bef5500bd 100644 --- a/deps/npm/man/man1/npm-link.1 +++ b/deps/npm/man/man1/npm-link.1 @@ -1,4 +1,4 @@ -.TH "NPM\-LINK" "1" "May 2021" "" "" +.TH "NPM\-LINK" "1" "June 2021" "" "" .SH "NAME" \fBnpm-link\fR \- Symlink a package folder .SS Synopsis diff --git a/deps/npm/man/man1/npm-logout.1 b/deps/npm/man/man1/npm-logout.1 index ca61850bc2cfe5..aaa6c7667c4715 100644 --- a/deps/npm/man/man1/npm-logout.1 +++ b/deps/npm/man/man1/npm-logout.1 @@ -1,4 +1,4 @@ -.TH "NPM\-LOGOUT" "1" "May 2021" "" "" +.TH "NPM\-LOGOUT" "1" "June 2021" "" "" .SH "NAME" \fBnpm-logout\fR \- Log out of the registry .SS Synopsis diff --git a/deps/npm/man/man1/npm-ls.1 b/deps/npm/man/man1/npm-ls.1 index 4821c0d9779078..450704f45df212 100644 --- a/deps/npm/man/man1/npm-ls.1 +++ b/deps/npm/man/man1/npm-ls.1 @@ -1,4 +1,4 @@ -.TH "NPM\-LS" "1" "May 2021" "" "" +.TH "NPM\-LS" "1" "June 2021" "" "" .SH "NAME" \fBnpm-ls\fR \- List installed packages .SS Synopsis @@ -26,7 +26,7 @@ example, running \fBnpm ls promzard\fP in npm's source tree will show: .P .RS 2 .nf -npm@7\.15\.1 /path/to/npm +npm@7\.16\.0 /path/to/npm └─┬ init\-package\-json@0\.0\.4 └── promzard@0\.1\.5 .fi diff --git a/deps/npm/man/man1/npm-org.1 b/deps/npm/man/man1/npm-org.1 index 04c7ea35e75222..12b3ffa648cdb6 100644 --- a/deps/npm/man/man1/npm-org.1 +++ b/deps/npm/man/man1/npm-org.1 @@ -1,4 +1,4 @@ -.TH "NPM\-ORG" "1" "May 2021" "" "" +.TH "NPM\-ORG" "1" "June 2021" "" "" .SH "NAME" \fBnpm-org\fR \- Manage orgs .SS Synopsis diff --git a/deps/npm/man/man1/npm-outdated.1 b/deps/npm/man/man1/npm-outdated.1 index 0df4e2b3524479..b7760dcc277a04 100644 --- a/deps/npm/man/man1/npm-outdated.1 +++ b/deps/npm/man/man1/npm-outdated.1 @@ -1,4 +1,4 @@ -.TH "NPM\-OUTDATED" "1" "May 2021" "" "" +.TH "NPM\-OUTDATED" "1" "June 2021" "" "" .SH "NAME" \fBnpm-outdated\fR \- Check for outdated packages .SS Synopsis diff --git a/deps/npm/man/man1/npm-owner.1 b/deps/npm/man/man1/npm-owner.1 index 151d4f50a97eb7..65cce149d84386 100644 --- a/deps/npm/man/man1/npm-owner.1 +++ b/deps/npm/man/man1/npm-owner.1 @@ -1,4 +1,4 @@ -.TH "NPM\-OWNER" "1" "May 2021" "" "" +.TH "NPM\-OWNER" "1" "June 2021" "" "" .SH "NAME" \fBnpm-owner\fR \- Manage package owners .SS Synopsis diff --git a/deps/npm/man/man1/npm-pack.1 b/deps/npm/man/man1/npm-pack.1 index f94c0482390b95..541a8a8bd8f6d8 100644 --- a/deps/npm/man/man1/npm-pack.1 +++ b/deps/npm/man/man1/npm-pack.1 @@ -1,4 +1,4 @@ -.TH "NPM\-PACK" "1" "May 2021" "" "" +.TH "NPM\-PACK" "1" "June 2021" "" "" .SH "NAME" \fBnpm-pack\fR \- Create a tarball from a package .SS Synopsis diff --git a/deps/npm/man/man1/npm-ping.1 b/deps/npm/man/man1/npm-ping.1 index f6375b9b2d3f5b..22a344819646b0 100644 --- a/deps/npm/man/man1/npm-ping.1 +++ b/deps/npm/man/man1/npm-ping.1 @@ -1,4 +1,4 @@ -.TH "NPM\-PING" "1" "May 2021" "" "" +.TH "NPM\-PING" "1" "June 2021" "" "" .SH "NAME" \fBnpm-ping\fR \- Ping npm registry .SS Synopsis diff --git a/deps/npm/man/man1/npm-prefix.1 b/deps/npm/man/man1/npm-prefix.1 index bc9aaf91010a71..e8ed7409acd5aa 100644 --- a/deps/npm/man/man1/npm-prefix.1 +++ b/deps/npm/man/man1/npm-prefix.1 @@ -1,4 +1,4 @@ -.TH "NPM\-PREFIX" "1" "May 2021" "" "" +.TH "NPM\-PREFIX" "1" "June 2021" "" "" .SH "NAME" \fBnpm-prefix\fR \- Display prefix .SS Synopsis diff --git a/deps/npm/man/man1/npm-profile.1 b/deps/npm/man/man1/npm-profile.1 index 6e9bf429a0ed61..ec658fd327b472 100644 --- a/deps/npm/man/man1/npm-profile.1 +++ b/deps/npm/man/man1/npm-profile.1 @@ -1,4 +1,4 @@ -.TH "NPM\-PROFILE" "1" "May 2021" "" "" +.TH "NPM\-PROFILE" "1" "June 2021" "" "" .SH "NAME" \fBnpm-profile\fR \- Change settings on your registry profile .SS Synopsis diff --git a/deps/npm/man/man1/npm-prune.1 b/deps/npm/man/man1/npm-prune.1 index 39a186810d4ca4..4c599a58ce31b6 100644 --- a/deps/npm/man/man1/npm-prune.1 +++ b/deps/npm/man/man1/npm-prune.1 @@ -1,4 +1,4 @@ -.TH "NPM\-PRUNE" "1" "May 2021" "" "" +.TH "NPM\-PRUNE" "1" "June 2021" "" "" .SH "NAME" \fBnpm-prune\fR \- Remove extraneous packages .SS Synopsis diff --git a/deps/npm/man/man1/npm-publish.1 b/deps/npm/man/man1/npm-publish.1 index bb619a2249c788..ad6a10cd38956d 100644 --- a/deps/npm/man/man1/npm-publish.1 +++ b/deps/npm/man/man1/npm-publish.1 @@ -1,4 +1,4 @@ -.TH "NPM\-PUBLISH" "1" "May 2021" "" "" +.TH "NPM\-PUBLISH" "1" "June 2021" "" "" .SH "NAME" \fBnpm-publish\fR \- Publish a package .SS Synopsis diff --git a/deps/npm/man/man1/npm-rebuild.1 b/deps/npm/man/man1/npm-rebuild.1 index 8d065b423b78fc..ee52e5b1a114b6 100644 --- a/deps/npm/man/man1/npm-rebuild.1 +++ b/deps/npm/man/man1/npm-rebuild.1 @@ -1,4 +1,4 @@ -.TH "NPM\-REBUILD" "1" "May 2021" "" "" +.TH "NPM\-REBUILD" "1" "June 2021" "" "" .SH "NAME" \fBnpm-rebuild\fR \- Rebuild a package .SS Synopsis diff --git a/deps/npm/man/man1/npm-repo.1 b/deps/npm/man/man1/npm-repo.1 index 3273f89d145a99..d251b87e074bce 100644 --- a/deps/npm/man/man1/npm-repo.1 +++ b/deps/npm/man/man1/npm-repo.1 @@ -1,4 +1,4 @@ -.TH "NPM\-REPO" "1" "May 2021" "" "" +.TH "NPM\-REPO" "1" "June 2021" "" "" .SH "NAME" \fBnpm-repo\fR \- Open package repository page in the browser .SS Synopsis diff --git a/deps/npm/man/man1/npm-restart.1 b/deps/npm/man/man1/npm-restart.1 index cae1f9946ec25b..80bd67acff2141 100644 --- a/deps/npm/man/man1/npm-restart.1 +++ b/deps/npm/man/man1/npm-restart.1 @@ -1,4 +1,4 @@ -.TH "NPM\-RESTART" "1" "May 2021" "" "" +.TH "NPM\-RESTART" "1" "June 2021" "" "" .SH "NAME" \fBnpm-restart\fR \- Restart a package .SS Synopsis diff --git a/deps/npm/man/man1/npm-root.1 b/deps/npm/man/man1/npm-root.1 index 267d18c69d4c73..6ff177e7f725e8 100644 --- a/deps/npm/man/man1/npm-root.1 +++ b/deps/npm/man/man1/npm-root.1 @@ -1,4 +1,4 @@ -.TH "NPM\-ROOT" "1" "May 2021" "" "" +.TH "NPM\-ROOT" "1" "June 2021" "" "" .SH "NAME" \fBnpm-root\fR \- Display npm root .SS Synopsis diff --git a/deps/npm/man/man1/npm-run-script.1 b/deps/npm/man/man1/npm-run-script.1 index 9168963943161c..a38b2a3937d388 100644 --- a/deps/npm/man/man1/npm-run-script.1 +++ b/deps/npm/man/man1/npm-run-script.1 @@ -1,4 +1,4 @@ -.TH "NPM\-RUN\-SCRIPT" "1" "May 2021" "" "" +.TH "NPM\-RUN\-SCRIPT" "1" "June 2021" "" "" .SH "NAME" \fBnpm-run-script\fR \- Run arbitrary package scripts .SS Synopsis @@ -74,11 +74,7 @@ can use the \fBINIT_CWD\fP environment variable, which holds the full path you were in when you ran \fBnpm run\fP\|\. .P \fBnpm run\fP sets the \fBNODE\fP environment variable to the \fBnode\fP executable -with which \fBnpm\fP is executed\. Also, if the \fB\-\-scripts\-prepend\-node\-path\fP is -passed, the directory within which \fBnode\fP resides is added to the \fBPATH\fP\|\. -If \fB\-\-scripts\-prepend\-node\-path=auto\fP is passed (which has been the default -in \fBnpm\fP v3), this is only performed when that \fBnode\fP executable is not -found in the \fBPATH\fP\|\. +with which \fBnpm\fP is executed\. .P If you try to run a script without having a \fBnode_modules\fP directory and it fails, you will be given a warning to run \fBnpm install\fP, just in case you've diff --git a/deps/npm/man/man1/npm-search.1 b/deps/npm/man/man1/npm-search.1 index f383ff56145cfc..1373531e8581ba 100644 --- a/deps/npm/man/man1/npm-search.1 +++ b/deps/npm/man/man1/npm-search.1 @@ -1,4 +1,4 @@ -.TH "NPM\-SEARCH" "1" "May 2021" "" "" +.TH "NPM\-SEARCH" "1" "June 2021" "" "" .SH "NAME" \fBnpm-search\fR \- Search for packages .SS Synopsis diff --git a/deps/npm/man/man1/npm-set-script.1 b/deps/npm/man/man1/npm-set-script.1 index 2a9c3e3f1425e7..5bec7da19283c7 100644 --- a/deps/npm/man/man1/npm-set-script.1 +++ b/deps/npm/man/man1/npm-set-script.1 @@ -1,4 +1,4 @@ -.TH "NPM\-SET\-SCRIPT" "1" "May 2021" "" "" +.TH "NPM\-SET\-SCRIPT" "1" "June 2021" "" "" .SH "NAME" \fBnpm-set-script\fR \- Set tasks in the scripts section of package\.json .SS Synopsis diff --git a/deps/npm/man/man1/npm-shrinkwrap.1 b/deps/npm/man/man1/npm-shrinkwrap.1 index a57ffb18187c21..a7d3ac992605db 100644 --- a/deps/npm/man/man1/npm-shrinkwrap.1 +++ b/deps/npm/man/man1/npm-shrinkwrap.1 @@ -1,4 +1,4 @@ -.TH "NPM\-SHRINKWRAP" "1" "May 2021" "" "" +.TH "NPM\-SHRINKWRAP" "1" "June 2021" "" "" .SH "NAME" \fBnpm-shrinkwrap\fR \- Lock down dependency versions for publication .SS Synopsis diff --git a/deps/npm/man/man1/npm-star.1 b/deps/npm/man/man1/npm-star.1 index ab2c3c1f6c9222..7fdba87d1749a6 100644 --- a/deps/npm/man/man1/npm-star.1 +++ b/deps/npm/man/man1/npm-star.1 @@ -1,4 +1,4 @@ -.TH "NPM\-STAR" "1" "May 2021" "" "" +.TH "NPM\-STAR" "1" "June 2021" "" "" .SH "NAME" \fBnpm-star\fR \- Mark your favorite packages .SS Synopsis diff --git a/deps/npm/man/man1/npm-stars.1 b/deps/npm/man/man1/npm-stars.1 index 5255f99033bfb5..cf3bf307ccf14a 100644 --- a/deps/npm/man/man1/npm-stars.1 +++ b/deps/npm/man/man1/npm-stars.1 @@ -1,4 +1,4 @@ -.TH "NPM\-STARS" "1" "May 2021" "" "" +.TH "NPM\-STARS" "1" "June 2021" "" "" .SH "NAME" \fBnpm-stars\fR \- View packages marked as favorites .SS Synopsis diff --git a/deps/npm/man/man1/npm-start.1 b/deps/npm/man/man1/npm-start.1 index 2fecb53f87dc15..7f958afc6b272a 100644 --- a/deps/npm/man/man1/npm-start.1 +++ b/deps/npm/man/man1/npm-start.1 @@ -1,4 +1,4 @@ -.TH "NPM\-START" "1" "May 2021" "" "" +.TH "NPM\-START" "1" "June 2021" "" "" .SH "NAME" \fBnpm-start\fR \- Start a package .SS Synopsis diff --git a/deps/npm/man/man1/npm-stop.1 b/deps/npm/man/man1/npm-stop.1 index 56f89c9285e723..161a6062c7fb6d 100644 --- a/deps/npm/man/man1/npm-stop.1 +++ b/deps/npm/man/man1/npm-stop.1 @@ -1,4 +1,4 @@ -.TH "NPM\-STOP" "1" "May 2021" "" "" +.TH "NPM\-STOP" "1" "June 2021" "" "" .SH "NAME" \fBnpm-stop\fR \- Stop a package .SS Synopsis diff --git a/deps/npm/man/man1/npm-team.1 b/deps/npm/man/man1/npm-team.1 index 834d5d1ae376e0..fadd28e5284f49 100644 --- a/deps/npm/man/man1/npm-team.1 +++ b/deps/npm/man/man1/npm-team.1 @@ -1,4 +1,4 @@ -.TH "NPM\-TEAM" "1" "May 2021" "" "" +.TH "NPM\-TEAM" "1" "June 2021" "" "" .SH "NAME" \fBnpm-team\fR \- Manage organization teams and team memberships .SS Synopsis diff --git a/deps/npm/man/man1/npm-test.1 b/deps/npm/man/man1/npm-test.1 index bb9436cfe5b9db..431e3ac85c8a49 100644 --- a/deps/npm/man/man1/npm-test.1 +++ b/deps/npm/man/man1/npm-test.1 @@ -1,4 +1,4 @@ -.TH "NPM\-TEST" "1" "May 2021" "" "" +.TH "NPM\-TEST" "1" "June 2021" "" "" .SH "NAME" \fBnpm-test\fR \- Test a package .SS Synopsis diff --git a/deps/npm/man/man1/npm-token.1 b/deps/npm/man/man1/npm-token.1 index a86dd41e83ed02..623963089fd3ee 100644 --- a/deps/npm/man/man1/npm-token.1 +++ b/deps/npm/man/man1/npm-token.1 @@ -1,4 +1,4 @@ -.TH "NPM\-TOKEN" "1" "May 2021" "" "" +.TH "NPM\-TOKEN" "1" "June 2021" "" "" .SH "NAME" \fBnpm-token\fR \- Manage your authentication tokens .SS Synopsis diff --git a/deps/npm/man/man1/npm-uninstall.1 b/deps/npm/man/man1/npm-uninstall.1 index d5f8c66d0483e1..0e11d67d5cb9f4 100644 --- a/deps/npm/man/man1/npm-uninstall.1 +++ b/deps/npm/man/man1/npm-uninstall.1 @@ -1,4 +1,4 @@ -.TH "NPM\-UNINSTALL" "1" "May 2021" "" "" +.TH "NPM\-UNINSTALL" "1" "June 2021" "" "" .SH "NAME" \fBnpm-uninstall\fR \- Remove a package .SS Synopsis diff --git a/deps/npm/man/man1/npm-unpublish.1 b/deps/npm/man/man1/npm-unpublish.1 index e30a2a5aef5b8d..dbabcca7ce83ff 100644 --- a/deps/npm/man/man1/npm-unpublish.1 +++ b/deps/npm/man/man1/npm-unpublish.1 @@ -1,4 +1,4 @@ -.TH "NPM\-UNPUBLISH" "1" "May 2021" "" "" +.TH "NPM\-UNPUBLISH" "1" "June 2021" "" "" .SH "NAME" \fBnpm-unpublish\fR \- Remove a package from the registry .SS Synopsis diff --git a/deps/npm/man/man1/npm-unstar.1 b/deps/npm/man/man1/npm-unstar.1 index 90a28b2ca6ad25..24fbacccb75fad 100644 --- a/deps/npm/man/man1/npm-unstar.1 +++ b/deps/npm/man/man1/npm-unstar.1 @@ -1,4 +1,4 @@ -.TH "NPM\-UNSTAR" "1" "May 2021" "" "" +.TH "NPM\-UNSTAR" "1" "June 2021" "" "" .SH "NAME" \fBnpm-unstar\fR \- Remove an item from your favorite packages .SS Synopsis diff --git a/deps/npm/man/man1/npm-update.1 b/deps/npm/man/man1/npm-update.1 index 09d5239f41c641..965869d3f8017d 100644 --- a/deps/npm/man/man1/npm-update.1 +++ b/deps/npm/man/man1/npm-update.1 @@ -1,4 +1,4 @@ -.TH "NPM\-UPDATE" "1" "May 2021" "" "" +.TH "NPM\-UPDATE" "1" "June 2021" "" "" .SH "NAME" \fBnpm-update\fR \- Update packages .SS Synopsis diff --git a/deps/npm/man/man1/npm-version.1 b/deps/npm/man/man1/npm-version.1 index 148e89566d4790..a44af8a8c458fd 100644 --- a/deps/npm/man/man1/npm-version.1 +++ b/deps/npm/man/man1/npm-version.1 @@ -1,4 +1,4 @@ -.TH "NPM\-VERSION" "1" "May 2021" "" "" +.TH "NPM\-VERSION" "1" "June 2021" "" "" .SH "NAME" \fBnpm-version\fR \- Bump a package version .SS Synopsis diff --git a/deps/npm/man/man1/npm-view.1 b/deps/npm/man/man1/npm-view.1 index f4d9be336323b0..aad352a7ab344e 100644 --- a/deps/npm/man/man1/npm-view.1 +++ b/deps/npm/man/man1/npm-view.1 @@ -1,4 +1,4 @@ -.TH "NPM\-VIEW" "1" "May 2021" "" "" +.TH "NPM\-VIEW" "1" "June 2021" "" "" .SH "NAME" \fBnpm-view\fR \- View registry info .SS Synopsis diff --git a/deps/npm/man/man1/npm-whoami.1 b/deps/npm/man/man1/npm-whoami.1 index dd54af967863ee..34ea971dea80b2 100644 --- a/deps/npm/man/man1/npm-whoami.1 +++ b/deps/npm/man/man1/npm-whoami.1 @@ -1,4 +1,4 @@ -.TH "NPM\-WHOAMI" "1" "May 2021" "" "" +.TH "NPM\-WHOAMI" "1" "June 2021" "" "" .SH "NAME" \fBnpm-whoami\fR \- Display npm username .SS Synopsis diff --git a/deps/npm/man/man1/npm.1 b/deps/npm/man/man1/npm.1 index 17b8d38663c14e..fd5e1dba6c0858 100644 --- a/deps/npm/man/man1/npm.1 +++ b/deps/npm/man/man1/npm.1 @@ -1,4 +1,4 @@ -.TH "NPM" "1" "May 2021" "" "" +.TH "NPM" "1" "June 2021" "" "" .SH "NAME" \fBnpm\fR \- javascript package manager .SS Synopsis @@ -10,7 +10,7 @@ npm [args] .RE .SS Version .P -7\.15\.1 +7\.16\.0 .SS Description .P npm is the package manager for the Node JavaScript platform\. It puts diff --git a/deps/npm/man/man1/npx.1 b/deps/npm/man/man1/npx.1 index 76305688fb0e73..234f7467879622 100644 --- a/deps/npm/man/man1/npx.1 +++ b/deps/npm/man/man1/npx.1 @@ -1,4 +1,4 @@ -.TH "NPX" "1" "May 2021" "" "" +.TH "NPX" "1" "June 2021" "" "" .SH "NAME" \fBnpx\fR \- Run a command from a local or remote npm package .SS Synopsis diff --git a/deps/npm/man/man5/folders.5 b/deps/npm/man/man5/folders.5 index ccf0c4f6e8f17a..3360a8410e1303 100644 --- a/deps/npm/man/man5/folders.5 +++ b/deps/npm/man/man5/folders.5 @@ -1,4 +1,4 @@ -.TH "FOLDERS" "5" "May 2021" "" "" +.TH "FOLDERS" "5" "June 2021" "" "" .SH "NAME" \fBfolders\fR \- Folder Structures Used by npm .SS Description diff --git a/deps/npm/man/man5/install.5 b/deps/npm/man/man5/install.5 index 5fc6f442a92268..3d2db70800d0bb 100644 --- a/deps/npm/man/man5/install.5 +++ b/deps/npm/man/man5/install.5 @@ -1,4 +1,4 @@ -.TH "INSTALL" "5" "May 2021" "" "" +.TH "INSTALL" "5" "June 2021" "" "" .SH "NAME" \fBinstall\fR \- Download and install node and npm .SS Description diff --git a/deps/npm/man/man5/npm-shrinkwrap-json.5 b/deps/npm/man/man5/npm-shrinkwrap-json.5 index 2fdbdd139a9f82..c2122976c3b89e 100644 --- a/deps/npm/man/man5/npm-shrinkwrap-json.5 +++ b/deps/npm/man/man5/npm-shrinkwrap-json.5 @@ -1,4 +1,4 @@ -.TH "NPM\-SHRINKWRAP\.JSON" "5" "May 2021" "" "" +.TH "NPM\-SHRINKWRAP\.JSON" "5" "June 2021" "" "" .SH "NAME" \fBnpm-shrinkwrap.json\fR \- A publishable lockfile .SS Description diff --git a/deps/npm/man/man5/npmrc.5 b/deps/npm/man/man5/npmrc.5 index 1ecd71ff214540..2f01620f99d5b1 100644 --- a/deps/npm/man/man5/npmrc.5 +++ b/deps/npm/man/man5/npmrc.5 @@ -1,4 +1,4 @@ -.TH "NPMRC" "5" "May 2021" "" "" +.TH "NPMRC" "5" "June 2021" "" "" .SH "NAME" \fBnpmrc\fR \- The npm config files .SS Description diff --git a/deps/npm/man/man5/package-json.5 b/deps/npm/man/man5/package-json.5 index 8b5b12e03829a6..cb8a99e04123d9 100644 --- a/deps/npm/man/man5/package-json.5 +++ b/deps/npm/man/man5/package-json.5 @@ -1,4 +1,4 @@ -.TH "PACKAGE\.JSON" "5" "May 2021" "" "" +.TH "PACKAGE\.JSON" "5" "June 2021" "" "" .SH "NAME" \fBpackage.json\fR \- Specifics of npm's package\.json handling .SS Description diff --git a/deps/npm/man/man5/package-lock-json.5 b/deps/npm/man/man5/package-lock-json.5 index 610c0aa5fd36cd..231093a5691e20 100644 --- a/deps/npm/man/man5/package-lock-json.5 +++ b/deps/npm/man/man5/package-lock-json.5 @@ -1,4 +1,4 @@ -.TH "PACKAGE\-LOCK\.JSON" "5" "May 2021" "" "" +.TH "PACKAGE\-LOCK\.JSON" "5" "June 2021" "" "" .SH "NAME" \fBpackage-lock.json\fR \- A manifestation of the manifest .SS Description diff --git a/deps/npm/man/man7/config.7 b/deps/npm/man/man7/config.7 index c4d52469872613..43a9a41cd029c3 100644 --- a/deps/npm/man/man7/config.7 +++ b/deps/npm/man/man7/config.7 @@ -1,4 +1,4 @@ -.TH "CONFIG" "7" "May 2021" "" "" +.TH "CONFIG" "7" "June 2021" "" "" .SH "NAME" \fBconfig\fR \- More than you probably want to know about npm configuration .SS Description @@ -1037,6 +1037,8 @@ What level of logs to report\. On failure, \fIall\fR logs are written to .P Any logs of a higher level than the setting are shown\. The default is "notice"\. +.P +See also the \fBforeground\-scripts\fP config\. .SS \fBlogs\-max\fP .RS 0 .IP \(bu 2 diff --git a/deps/npm/man/man7/developers.7 b/deps/npm/man/man7/developers.7 index 0935fea65f509f..61a19ab37f7b82 100644 --- a/deps/npm/man/man7/developers.7 +++ b/deps/npm/man/man7/developers.7 @@ -1,4 +1,4 @@ -.TH "DEVELOPERS" "7" "May 2021" "" "" +.TH "DEVELOPERS" "7" "June 2021" "" "" .SH "NAME" \fBdevelopers\fR \- Developer Guide .SS Description diff --git a/deps/npm/man/man7/orgs.7 b/deps/npm/man/man7/orgs.7 index 13c9b9dbadf1c3..1d0a1cd254cf97 100644 --- a/deps/npm/man/man7/orgs.7 +++ b/deps/npm/man/man7/orgs.7 @@ -1,4 +1,4 @@ -.TH "ORGS" "7" "May 2021" "" "" +.TH "ORGS" "7" "June 2021" "" "" .SH "NAME" \fBorgs\fR \- Working with Teams & Orgs .SS Description diff --git a/deps/npm/man/man7/registry.7 b/deps/npm/man/man7/registry.7 index 941a1450073139..becb565a7980fd 100644 --- a/deps/npm/man/man7/registry.7 +++ b/deps/npm/man/man7/registry.7 @@ -1,4 +1,4 @@ -.TH "REGISTRY" "7" "May 2021" "" "" +.TH "REGISTRY" "7" "June 2021" "" "" .SH "NAME" \fBregistry\fR \- The JavaScript Package Registry .SS Description diff --git a/deps/npm/man/man7/removal.7 b/deps/npm/man/man7/removal.7 index ead032bfdf457d..ea41c7b1338411 100644 --- a/deps/npm/man/man7/removal.7 +++ b/deps/npm/man/man7/removal.7 @@ -1,4 +1,4 @@ -.TH "REMOVAL" "7" "May 2021" "" "" +.TH "REMOVAL" "7" "June 2021" "" "" .SH "NAME" \fBremoval\fR \- Cleaning the Slate .SS Synopsis diff --git a/deps/npm/man/man7/scope.7 b/deps/npm/man/man7/scope.7 index 716946d732afb7..29a64a498293a4 100644 --- a/deps/npm/man/man7/scope.7 +++ b/deps/npm/man/man7/scope.7 @@ -1,4 +1,4 @@ -.TH "SCOPE" "7" "May 2021" "" "" +.TH "SCOPE" "7" "June 2021" "" "" .SH "NAME" \fBscope\fR \- Scoped packages .SS Description diff --git a/deps/npm/man/man7/scripts.7 b/deps/npm/man/man7/scripts.7 index c514b2979d122e..adef22da5ebc94 100644 --- a/deps/npm/man/man7/scripts.7 +++ b/deps/npm/man/man7/scripts.7 @@ -1,4 +1,4 @@ -.TH "SCRIPTS" "7" "May 2021" "" "" +.TH "SCRIPTS" "7" "June 2021" "" "" .SH "NAME" \fBscripts\fR \- How npm handles the "scripts" field .SS Description diff --git a/deps/npm/man/man7/workspaces.7 b/deps/npm/man/man7/workspaces.7 index dbb63528d6da75..9da673cb142463 100644 --- a/deps/npm/man/man7/workspaces.7 +++ b/deps/npm/man/man7/workspaces.7 @@ -1,4 +1,4 @@ -.TH "WORKSPACES" "7" "May 2021" "" "" +.TH "WORKSPACES" "7" "June 2021" "" "" .SH "NAME" \fBworkspaces\fR \- Working with workspaces .SS Description diff --git a/deps/npm/node_modules/@npmcli/arborist/package.json b/deps/npm/node_modules/@npmcli/arborist/package.json index 8aaa8ecdb7a4e2..7c2622f49e93e7 100644 --- a/deps/npm/node_modules/@npmcli/arborist/package.json +++ b/deps/npm/node_modules/@npmcli/arborist/package.json @@ -1,6 +1,6 @@ { "name": "@npmcli/arborist", - "version": "2.6.1", + "version": "2.6.2", "description": "Manage node_modules trees", "dependencies": { "@npmcli/installed-package-contents": "^1.0.7", @@ -19,7 +19,7 @@ "npm-install-checks": "^4.0.0", "npm-package-arg": "^8.1.0", "npm-pick-manifest": "^6.1.0", - "npm-registry-fetch": "^10.0.0", + "npm-registry-fetch": "^11.0.0", "pacote": "^11.2.6", "parse-conflict-json": "^1.1.1", "promise-all-reject-late": "^1.0.0", diff --git a/deps/npm/node_modules/iconv-lite/.idea/codeStyles/Project.xml b/deps/npm/node_modules/iconv-lite/.idea/codeStyles/Project.xml new file mode 100644 index 00000000000000..3f2688cb57ab8c --- /dev/null +++ b/deps/npm/node_modules/iconv-lite/.idea/codeStyles/Project.xml @@ -0,0 +1,47 @@ + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/deps/npm/node_modules/iconv-lite/.idea/codeStyles/codeStyleConfig.xml b/deps/npm/node_modules/iconv-lite/.idea/codeStyles/codeStyleConfig.xml new file mode 100644 index 00000000000000..79ee123c2b23e0 --- /dev/null +++ b/deps/npm/node_modules/iconv-lite/.idea/codeStyles/codeStyleConfig.xml @@ -0,0 +1,5 @@ + + + + \ No newline at end of file diff --git a/deps/npm/node_modules/iconv-lite/.idea/iconv-lite.iml b/deps/npm/node_modules/iconv-lite/.idea/iconv-lite.iml new file mode 100644 index 00000000000000..0c8867d7e175f4 --- /dev/null +++ b/deps/npm/node_modules/iconv-lite/.idea/iconv-lite.iml @@ -0,0 +1,12 @@ + + + + + + + + + + + + \ No newline at end of file diff --git a/deps/npm/node_modules/iconv-lite/.idea/inspectionProfiles/Project_Default.xml b/deps/npm/node_modules/iconv-lite/.idea/inspectionProfiles/Project_Default.xml new file mode 100644 index 00000000000000..03d9549ea8e4ad --- /dev/null +++ b/deps/npm/node_modules/iconv-lite/.idea/inspectionProfiles/Project_Default.xml @@ -0,0 +1,6 @@ + + + + \ No newline at end of file diff --git a/deps/npm/node_modules/iconv-lite/.idea/modules.xml b/deps/npm/node_modules/iconv-lite/.idea/modules.xml new file mode 100644 index 00000000000000..5d24f2e1ec92a2 --- /dev/null +++ b/deps/npm/node_modules/iconv-lite/.idea/modules.xml @@ -0,0 +1,8 @@ + + + + + + + + \ No newline at end of file diff --git a/deps/npm/node_modules/iconv-lite/.idea/vcs.xml b/deps/npm/node_modules/iconv-lite/.idea/vcs.xml new file mode 100644 index 00000000000000..94a25f7f4cb416 --- /dev/null +++ b/deps/npm/node_modules/iconv-lite/.idea/vcs.xml @@ -0,0 +1,6 @@ + + + + + + \ No newline at end of file diff --git a/deps/npm/node_modules/iconv-lite/Changelog.md b/deps/npm/node_modules/iconv-lite/Changelog.md index c299cc06a25d3e..464549b148481a 100644 --- a/deps/npm/node_modules/iconv-lite/Changelog.md +++ b/deps/npm/node_modules/iconv-lite/Changelog.md @@ -1,3 +1,7 @@ +## 0.6.3 / 2021-05-23 + * Fix HKSCS encoding to prefer Big5 codes if both Big5 and HKSCS codes are possible (#264) + + ## 0.6.2 / 2020-07-08 * Support Uint8Array-s decoding without conversion to Buffers, plus fix an edge case. diff --git a/deps/npm/node_modules/iconv-lite/encodings/dbcs-data.js b/deps/npm/node_modules/iconv-lite/encodings/dbcs-data.js index 4b61914341f916..0d17e5821b3df9 100644 --- a/deps/npm/node_modules/iconv-lite/encodings/dbcs-data.js +++ b/deps/npm/node_modules/iconv-lite/encodings/dbcs-data.js @@ -167,7 +167,19 @@ module.exports = { 'big5hkscs': { type: '_dbcs', table: function() { return require('./tables/cp950.json').concat(require('./tables/big5-added.json')) }, - encodeSkipVals: [0xa2cc], + encodeSkipVals: [ + // Although Encoding Standard says we should avoid encoding to HKSCS area (See Step 1 of + // https://encoding.spec.whatwg.org/#index-big5-pointer), we still do it to increase compatibility with ICU. + // But if a single unicode point can be encoded both as HKSCS and regular Big5, we prefer the latter. + 0x8e69, 0x8e6f, 0x8e7e, 0x8eab, 0x8eb4, 0x8ecd, 0x8ed0, 0x8f57, 0x8f69, 0x8f6e, 0x8fcb, 0x8ffe, + 0x906d, 0x907a, 0x90c4, 0x90dc, 0x90f1, 0x91bf, 0x92af, 0x92b0, 0x92b1, 0x92b2, 0x92d1, 0x9447, 0x94ca, + 0x95d9, 0x96fc, 0x9975, 0x9b76, 0x9b78, 0x9b7b, 0x9bc6, 0x9bde, 0x9bec, 0x9bf6, 0x9c42, 0x9c53, 0x9c62, + 0x9c68, 0x9c6b, 0x9c77, 0x9cbc, 0x9cbd, 0x9cd0, 0x9d57, 0x9d5a, 0x9dc4, 0x9def, 0x9dfb, 0x9ea9, 0x9eef, + 0x9efd, 0x9f60, 0x9fcb, 0xa077, 0xa0dc, 0xa0df, 0x8fcc, 0x92c8, 0x9644, 0x96ed, + + // Step 2 of https://encoding.spec.whatwg.org/#index-big5-pointer: Use last pointer for U+2550, U+255E, U+2561, U+256A, U+5341, or U+5345 + 0xa2a4, 0xa2a5, 0xa2a7, 0xa2a6, 0xa2cc, 0xa2ce, + ], }, 'cnbig5': 'big5hkscs', diff --git a/deps/npm/node_modules/iconv-lite/package.json b/deps/npm/node_modules/iconv-lite/package.json index 8f86f9c9bc1f8f..d351115a839fa0 100644 --- a/deps/npm/node_modules/iconv-lite/package.json +++ b/deps/npm/node_modules/iconv-lite/package.json @@ -1,7 +1,7 @@ { "name": "iconv-lite", "description": "Convert character encodings in pure javascript.", - "version": "0.6.2", + "version": "0.6.3", "license": "MIT", "keywords": [ "iconv", diff --git a/deps/npm/node_modules/libnpmaccess/package.json b/deps/npm/node_modules/libnpmaccess/package.json index 69b7a0dc25fe49..23d4b444ca0701 100644 --- a/deps/npm/node_modules/libnpmaccess/package.json +++ b/deps/npm/node_modules/libnpmaccess/package.json @@ -1,6 +1,6 @@ { "name": "libnpmaccess", - "version": "4.0.2", + "version": "4.0.3", "description": "programmatic library for `npm access` commands", "author": "Kat Marchán ", "license": "ISC", @@ -26,7 +26,7 @@ "aproba": "^2.0.0", "minipass": "^3.1.1", "npm-package-arg": "^8.1.2", - "npm-registry-fetch": "^10.0.0" + "npm-registry-fetch": "^11.0.0" }, "engines": { "node": ">=10" diff --git a/deps/npm/node_modules/libnpmhook/CHANGELOG.md b/deps/npm/node_modules/libnpmhook/CHANGELOG.md deleted file mode 100644 index 05572749722598..00000000000000 --- a/deps/npm/node_modules/libnpmhook/CHANGELOG.md +++ /dev/null @@ -1,110 +0,0 @@ -# Change Log - - -# [6.0.0](https://github.com/npm/libnpmhook/compare/v5.0.2...v6.0.0) (2020-02-26) - -### Breaking Changes - -* [`aa629b4`](https://github.com/npm/libnpmhook/commit/aa629b4) fix: remove figgy-pudding ([@claudiahdz](https://github.com/claudiahdz)) - -### Miscellaneuous - -* [`ea795fb`](https://github.com/npm/libnpmhook/commit/ea795fb) chore: basic project updates ([@claudiahdz](https://github.com/claudiahdz)) -* [`a0fdf7e`](https://github.com/npm/libnpmhook/commit/a0fdf7e) chore: cleanup badges, contrib, readme ([@ruyadorno](https://github.com/ruyadorno)) - ---- - -All notable changes to this project will be documented in this file. See [standard-version](https://github.com/conventional-changelog/standard-version) for commit guidelines. - - -## [5.0.2](https://github.com/npm/libnpmhook/compare/v5.0.1...v5.0.2) (2018-08-24) - - - - -## [5.0.1](https://github.com/npm/libnpmhook/compare/v5.0.0...v5.0.1) (2018-08-23) - - -### Bug Fixes - -* **deps:** move JSONStream to prod deps ([bb63594](https://github.com/npm/libnpmhook/commit/bb63594)) - - - - -# [5.0.0](https://github.com/npm/libnpmhook/compare/v4.0.1...v5.0.0) (2018-08-21) - - -### Features - -* **api:** overhauled API ([46b271b](https://github.com/npm/libnpmhook/commit/46b271b)) - - -### BREAKING CHANGES - -* **api:** the API for ls() has changed, and rm() no longer errors on 404 - - - - -## [4.0.1](https://github.com/npm/libnpmhook/compare/v4.0.0...v4.0.1) (2018-04-09) - - - - -# [4.0.0](https://github.com/npm/libnpmhook/compare/v3.0.1...v4.0.0) (2018-04-08) - - -### meta - -* drop support for node 4 and 7 ([f2a301e](https://github.com/npm/libnpmhook/commit/f2a301e)) - - -### BREAKING CHANGES - -* node@4 and node@7 are no longer supported - - - - -## [3.0.1](https://github.com/npm/libnpmhook/compare/v3.0.0...v3.0.1) (2018-04-08) - - - - -# [3.0.0](https://github.com/npm/libnpmhook/compare/v2.0.1...v3.0.0) (2018-04-04) - - -### add - -* guess type based on name ([9418224](https://github.com/npm/libnpmhook/commit/9418224)) - - -### BREAKING CHANGES - -* hook type is now based on name prefix - - - - -## [2.0.1](https://github.com/npm/libnpmhook/compare/v2.0.0...v2.0.1) (2018-03-16) - - -### Bug Fixes - -* **urls:** was hitting the wrong URL endpoints ([10171a9](https://github.com/npm/libnpmhook/commit/10171a9)) - - - - -# [2.0.0](https://github.com/npm/libnpmhook/compare/v1.0.0...v2.0.0) (2018-03-16) - - - - -# 1.0.0 (2018-03-16) - - -### Features - -* **api:** baseline working api ([122658e](https://github.com/npm/npm-hooks/commit/122658e)) diff --git a/deps/npm/node_modules/libnpmhook/package.json b/deps/npm/node_modules/libnpmhook/package.json index c2a3b2a3b8795c..40951245a9ea3b 100644 --- a/deps/npm/node_modules/libnpmhook/package.json +++ b/deps/npm/node_modules/libnpmhook/package.json @@ -1,6 +1,6 @@ { "name": "libnpmhook", - "version": "6.0.2", + "version": "6.0.3", "description": "programmatic API for managing npm registry hooks", "main": "index.js", "files": [ @@ -28,7 +28,7 @@ "license": "ISC", "dependencies": { "aproba": "^2.0.0", - "npm-registry-fetch": "^10.0.0" + "npm-registry-fetch": "^11.0.0" }, "devDependencies": { "nock": "^9.6.1", diff --git a/deps/npm/node_modules/libnpmorg/CHANGELOG.md b/deps/npm/node_modules/libnpmorg/CHANGELOG.md deleted file mode 100644 index 4cd5cd1cd68a1c..00000000000000 --- a/deps/npm/node_modules/libnpmorg/CHANGELOG.md +++ /dev/null @@ -1,33 +0,0 @@ -# Change Log - -## 2.0.0 (2020-03-02) - -### BREAKING CHANGE -- Removed `figgy-pudding` as a dependecy -- Using native promises -- Require node >= v10 - -### Feature -- Updated stream interface to `minipass` type stream - ---- - -All notable changes to this project will be documented in this file. See [standard-version](https://github.com/conventional-changelog/standard-version) for commit guidelines. - - -## [1.0.1](https://github.com/npm/libnpmorg/compare/v1.0.0...v1.0.1) (2019-07-16) - - -### Bug Fixes - -* **standard:** standard --fix ([5118358](https://github.com/npm/libnpmorg/commit/5118358)) - - - - -# 1.0.0 (2018-08-23) - - -### Features - -* **API:** implement org api ([731b9c6](https://github.com/npm/libnpmorg/commit/731b9c6)) diff --git a/deps/npm/node_modules/libnpmorg/package.json b/deps/npm/node_modules/libnpmorg/package.json index d7e76f1d326808..0e82a207b70172 100644 --- a/deps/npm/node_modules/libnpmorg/package.json +++ b/deps/npm/node_modules/libnpmorg/package.json @@ -1,6 +1,6 @@ { "name": "libnpmorg", - "version": "2.0.2", + "version": "2.0.3", "description": "Programmatic api for `npm org` commands", "author": "Kat Marchán ", "keywords": [ @@ -40,7 +40,7 @@ "homepage": "https://npmjs.com/package/libnpmorg", "dependencies": { "aproba": "^2.0.0", - "npm-registry-fetch": "^10.0.0" + "npm-registry-fetch": "^11.0.0" }, "engines": { "node": ">=10" diff --git a/deps/npm/node_modules/libnpmpublish/CHANGELOG.md b/deps/npm/node_modules/libnpmpublish/CHANGELOG.md deleted file mode 100644 index 57d21f8400c5bd..00000000000000 --- a/deps/npm/node_modules/libnpmpublish/CHANGELOG.md +++ /dev/null @@ -1,91 +0,0 @@ -# Change Log - - -# [3.0.1](https://github.com/npm/libnpmpublish/compare/v3.0.0...v3.0.1) (2020-03-27) - -### Features - -* [`3e02307`](https://github.com/npm/libnpmpublish/commit/3e02307) chore: pack tarballs using libnpmpack ([@claudiahdz](https://github.com/claudiahdz)) - - -# [3.0.0](https://github.com/npm/libnpmpublish/compare/v2.0.0...v3.0.0) (2020-03-09) - -### Breaking Changes - -* [`ecaeb0b`](https://github.com/npm/libnpmpublish/commit/ecaeb0b) feat: pack tarballs from source code using pacote v10 ([@claudiahdz](https://github.com/claudiahdz)) - -* [`f6bf2b8`](https://github.com/npm/libnpmpublish/commit/f6bf2b8) feat: unpublish code refactor ([@claudiahdz](https://github.com/claudiahdz)) - -### Miscellaneuous - -* [`5cea10f`](https://github.com/npm/libnpmpublish/commit/5cea10f) chore: basic project updates ([@claudiahdz](https://github.com/claudiahdz)) -* [`3010b93`](https://github.com/npm/libnpmpublish/commit/3010b93) chore: cleanup badges + contributing ([@ruyadorno](https://github.com/ruyadorno)) - ---- - -All notable changes to this project will be documented in this file. See [standard-version](https://github.com/conventional-changelog/standard-version) for commit guidelines. - -## [2.0.0](https://github.com/npm/libnpmpublish/compare/v1.1.3...v2.0.0) (2019-09-18) - - -### ⚠ BREAKING CHANGES - -* This drops support for Node.js version 6. - -### Bug Fixes - -* audit warnings, drop support for Node.js v6 ([d9a1fb6](https://github.com/npm/libnpmpublish/commit/d9a1fb6)) - -### [1.1.3](https://github.com/npm/libnpmpublish/compare/v1.1.2...v1.1.3) (2019-09-18) - - -## [1.1.2](https://github.com/npm/libnpmpublish/compare/v1.1.1...v1.1.2) (2019-07-16) - - - - -## [1.1.1](https://github.com/npm/libnpmpublish/compare/v1.1.0...v1.1.1) (2019-01-22) - - -### Bug Fixes - -* **auth:** send username in correct key ([#3](https://github.com/npm/libnpmpublish/issues/3)) ([38422d0](https://github.com/npm/libnpmpublish/commit/38422d0)) - - - - -# [1.1.0](https://github.com/npm/libnpmpublish/compare/v1.0.1...v1.1.0) (2018-08-31) - - -### Features - -* **publish:** add support for publishConfig on manifests ([161723b](https://github.com/npm/libnpmpublish/commit/161723b)) - - - - -## [1.0.1](https://github.com/npm/libnpmpublish/compare/v1.0.0...v1.0.1) (2018-08-31) - - -### Bug Fixes - -* **opts:** remove unused opts ([2837098](https://github.com/npm/libnpmpublish/commit/2837098)) - - - - -# 1.0.0 (2018-08-31) - - -### Bug Fixes - -* **api:** use opts.algorithms, return true on success ([80fe34b](https://github.com/npm/libnpmpublish/commit/80fe34b)) -* **publish:** first test pass w/ bugfixes ([74135c9](https://github.com/npm/libnpmpublish/commit/74135c9)) -* **publish:** full coverage test and related fixes ([b5a3446](https://github.com/npm/libnpmpublish/commit/b5a3446)) - - -### Features - -* **docs:** add README with api docs ([553c13d](https://github.com/npm/libnpmpublish/commit/553c13d)) -* **publish:** add initial publish support. tests tbd ([5b3fe94](https://github.com/npm/libnpmpublish/commit/5b3fe94)) -* **unpublish:** add new api with unpublish support ([1c9d594](https://github.com/npm/libnpmpublish/commit/1c9d594)) diff --git a/deps/npm/node_modules/libnpmpublish/package.json b/deps/npm/node_modules/libnpmpublish/package.json index 30bc4fda2530cf..ac0d632f7d66dc 100644 --- a/deps/npm/node_modules/libnpmpublish/package.json +++ b/deps/npm/node_modules/libnpmpublish/package.json @@ -1,6 +1,6 @@ { "name": "libnpmpublish", - "version": "4.0.1", + "version": "4.0.2", "description": "Programmatic API for the bits behind npm publish and unpublish", "author": "npm Inc. ", "contributors": [ @@ -46,7 +46,7 @@ "dependencies": { "normalize-package-data": "^3.0.2", "npm-package-arg": "^8.1.2", - "npm-registry-fetch": "^10.0.0", + "npm-registry-fetch": "^11.0.0", "semver": "^7.1.3", "ssri": "^8.0.1" }, diff --git a/deps/npm/node_modules/libnpmsearch/CHANGELOG.md b/deps/npm/node_modules/libnpmsearch/CHANGELOG.md deleted file mode 100644 index 03b7fedc5bf0d0..00000000000000 --- a/deps/npm/node_modules/libnpmsearch/CHANGELOG.md +++ /dev/null @@ -1,57 +0,0 @@ -# Change Log - - -# [3.0.0](https://github.com/npm/libnpmhook/compare/v2.0.2...v3.0.0) (2020-02-26) - -### Breaking Changes - -* [`45f4db1`](https://github.com/npm/libnpmsearch/commit/45f4db1) fix: remove figgy-pudding ([@claudiahdz](https://github.com/claudiahdz)) - -### Miscellaneuous - -* [`b413aae`](https://github.com/npm/libnpmsearch/commit/b413aae) chore: basic project updates ([@claudiahdz](https://github.com/claudiahdz)) -* [`534983c`](https://github.com/npm/libnpmsearch/commit/534983c) chore: remove pr temmsearch ([@ruyadorno](https://github.com/ruyadorno)) -* [`c503a89`](https://github.com/npm/libnpmsearch/commit/c503a89) chore: cleanup badges + contributing ([@ruyadorno](https://github.com/ruyadorno)) - ---- - -All notable changes to this project will be documented in this file. See [standard-version](https://github.com/conventional-changelog/standard-version) for commit guidelines. - - -## [2.0.2](https://github.com/npm/libnpmsearch/compare/v2.0.1...v2.0.2) (2019-07-16) - - - - -## [2.0.1](https://github.com/npm/libnpmsearch/compare/v2.0.0...v2.0.1) (2019-06-10) - - -### Bug Fixes - -* **opts:** support `opts.from` properly ([#2](https://github.com/npm/libnpmsearch/issues/2)) ([da6636c](https://github.com/npm/libnpmsearch/commit/da6636c)) -* **standard:** standard --fix ([beca19c](https://github.com/npm/libnpmsearch/commit/beca19c)) - - - - -# [2.0.0](https://github.com/npm/libnpmsearch/compare/v1.0.0...v2.0.0) (2018-08-28) - - -### Features - -* **opts:** added options for pagination, details, and sorting weights ([ff97eb5](https://github.com/npm/libnpmsearch/commit/ff97eb5)) - - -### BREAKING CHANGES - -* **opts:** this changes default requests and makes libnpmsearch return more complete data for individual packages, without null-defaulting - - - - -# 1.0.0 (2018-08-27) - - -### Features - -* **api:** got API working ([fe90008](https://github.com/npm/libnpmsearch/commit/fe90008)) diff --git a/deps/npm/node_modules/libnpmsearch/package.json b/deps/npm/node_modules/libnpmsearch/package.json index 35e4a055572a12..88179b8d6fde89 100644 --- a/deps/npm/node_modules/libnpmsearch/package.json +++ b/deps/npm/node_modules/libnpmsearch/package.json @@ -1,6 +1,6 @@ { "name": "libnpmsearch", - "version": "3.1.1", + "version": "3.1.2", "description": "Programmatic API for searching in npm and compatible registries.", "author": "Kat Marchán ", "files": [ @@ -36,7 +36,7 @@ "bugs": "https://github.com/npm/libnpmsearch/issues", "homepage": "https://npmjs.com/package/libnpmsearch", "dependencies": { - "npm-registry-fetch": "^10.0.0" + "npm-registry-fetch": "^11.0.0" }, "engines": { "node": ">=10" diff --git a/deps/npm/node_modules/libnpmteam/CHANGELOG.md b/deps/npm/node_modules/libnpmteam/CHANGELOG.md deleted file mode 100644 index ba472cfcc52ba3..00000000000000 --- a/deps/npm/node_modules/libnpmteam/CHANGELOG.md +++ /dev/null @@ -1,40 +0,0 @@ -# Change Log - -## [2.0.0](https://github.com/npm/libnpmteam/compare/v1.0.2...v2.0.0) (2020-03-02) - -### BREAKING CHANGE -- Removed `figgy-pudding` as a dependecy -- Using native promises -- Require node >= v10 - -### Feature -- Updated stream interface to `minipass` type stream - ---- - -All notable changes to this project will be documented in this file. See [standard-version](https://github.com/conventional-changelog/standard-version) for commit guidelines. - - -## [1.0.2](https://github.com/npm/libnpmteam/compare/v1.0.1...v1.0.2) (2019-07-16) - - -### Bug Fixes - -* **standard:** standard --fix ([3dc9144](https://github.com/npm/libnpmteam/commit/3dc9144)) - - - - -## [1.0.1](https://github.com/npm/libnpmteam/compare/v1.0.0...v1.0.1) (2018-08-24) - - - - -# 1.0.0 (2018-08-22) - - -### Features - -* **api:** implement team api ([50dd0e1](https://github.com/npm/libnpmteam/commit/50dd0e1)) -* **docs:** add fully-documented readme ([b1370f3](https://github.com/npm/libnpmteam/commit/b1370f3)) -* **test:** test --100 ftw ([9d3bdc3](https://github.com/npm/libnpmteam/commit/9d3bdc3)) diff --git a/deps/npm/node_modules/libnpmteam/package.json b/deps/npm/node_modules/libnpmteam/package.json index b51f60a327a2ad..09837ad2dd14a4 100644 --- a/deps/npm/node_modules/libnpmteam/package.json +++ b/deps/npm/node_modules/libnpmteam/package.json @@ -1,7 +1,7 @@ { "name": "libnpmteam", "description": "npm Team management APIs", - "version": "2.0.3", + "version": "2.0.4", "author": "Kat Marchán ", "license": "ISC", "scripts": { @@ -27,7 +27,7 @@ "homepage": "https://npmjs.com/package/libnpmteam", "dependencies": { "aproba": "^2.0.0", - "npm-registry-fetch": "^10.0.0" + "npm-registry-fetch": "^11.0.0" }, "engines": { "node": ">=10" diff --git a/deps/npm/node_modules/make-fetch-happen/CHANGELOG.md b/deps/npm/node_modules/make-fetch-happen/CHANGELOG.md deleted file mode 100644 index 324dfc1058d934..00000000000000 --- a/deps/npm/node_modules/make-fetch-happen/CHANGELOG.md +++ /dev/null @@ -1,654 +0,0 @@ -# Changelog - -All notable changes to this project will be documented in this file. See [standard-version](https://github.com/conventional-changelog/standard-version) for commit guidelines. - -### [8.0.3](https://github.com/npm/make-fetch-happen/compare/v8.0.2...v8.0.3) (2020-03-03) - - -### Bug Fixes - -* remoteFetch takes instance of fetch.Headers ([6e0de7b](https://github.com/npm/make-fetch-happen/commit/6e0de7b10b8597eaff69fea06a266914766cf5ab)), closes [#22](https://github.com/npm/make-fetch-happen/issues/22) - -### [8.0.1](https://github.com/npm/make-fetch-happen/compare/v8.0.0...v8.0.1) (2020-02-18) - -## [8.0.0](https://github.com/npm/make-fetch-happen/compare/v7.1.1...v8.0.0) (2020-02-18) - - -### ⚠ BREAKING CHANGES - -* this module now only supports taking a plain JavaScript -options object, not a figgy pudding config object. - -* update cacache and ssri ([09e4f97](https://github.com/npm/make-fetch-happen/commit/09e4f9794a6f134d3f1d8e65eb9bd940e38e5bfc)) - -### [7.1.1](https://github.com/npm/make-fetch-happen/compare/v7.1.0...v7.1.1) (2020-01-28) - -## [7.1.0](https://github.com/npm/make-fetch-happen/compare/v7.0.0...v7.1.0) (2019-12-17) - - -### Features - -* use globalAgent when in lambda ([bd9409d](https://github.com/npm/make-fetch-happen/commit/bd9409da246a979b665ebd23967ec01dd928ce47)), closes [#4](https://github.com/npm/make-fetch-happen/issues/4) - -## [7.0.0](https://github.com/npm/make-fetch-happen/compare/v6.1.0...v7.0.0) (2019-12-17) - - -### ⚠ BREAKING CHANGES - -* drops support for node v8, since it's EOL as of 2020-01-01 - -### Features - -* **github:** added github actions with coveralls integration ([1913c1b](https://github.com/npm/make-fetch-happen/commit/1913c1b51aaac6044b4dab65b3d19ec943a35f39)) -* updated fetch module; linting mostly; based on testing ([063f28e](https://github.com/npm/make-fetch-happen/commit/063f28ea1ac23f7e9d9d79e15949ca82b634ce97)) -* **utils:** fixed configure-options based on testing ([9dd4f6f](https://github.com/npm/make-fetch-happen/commit/9dd4f6f108442dc247de44e1ddc0341edcb84c9b)) -* fixed test dep requires; added mockRequire function to mock tests properly ([95de7a1](https://github.com/npm/make-fetch-happen/commit/95de7a171110907e30f41f489e4be983cd8184a5)) -* refactored functions into utilities ([74620dd](https://github.com/npm/make-fetch-happen/commit/74620dd7c2262ac46d9b4f6ac2dc9ff45a4f19ee)) -* updated dev deps; update tap; updated standard ([dce6eec](https://github.com/npm/make-fetch-happen/commit/dce6eece130fb20164a62eeabc6090811d8f14a4)) -* updated fetch tests; linting, logic, added tests ([d50aeaf](https://github.com/npm/make-fetch-happen/commit/d50aeafebeb5d8f7118d7f6660208f40ac487804)) - - -### Bug Fixes - -* format cache key with new URL object shape ([21cb6cc](https://github.com/npm/make-fetch-happen/commit/21cb6cc968aabff8b5c5c02e3666fb093fd6578c)) -* polish out an unnecessary URL object creation ([67a01d4](https://github.com/npm/make-fetch-happen/commit/67a01d46b2cacbadc22f49604ee524526cee3912)), closes [#14](https://github.com/npm/make-fetch-happen/issues/14) -* support user without password in proxy auth ([e24bbf9](https://github.com/npm/make-fetch-happen/commit/e24bbf935bc8a2c49070cdb2518e5ee290143191)) -* updated 'files' property in package file ([945e40c](https://github.com/npm/make-fetch-happen/commit/945e40c7fbb59333e0c632c490683e4babc68dc1)) -* Use WhatWG URL objects over deprecated legacy url API ([28aca97](https://github.com/npm/make-fetch-happen/commit/28aca97dfb63ca003ebf62d1b961771cfbb2481d)) - - -* drop node 8 ([9fa7944](https://github.com/npm/make-fetch-happen/commit/9fa7944cbc603f3a194dfb440f519a7d5265653e)) - -## [6.1.0](https://github.com/npm/make-fetch-happen/compare/v6.0.1...v6.1.0) (2019-11-14) - - -### Bug Fixes - -* **streams:** change condition/logic of fitInMemory used when defining memoize ([c173723](https://github.com/npm/make-fetch-happen/commit/c173723)) - -### [6.0.1](https://github.com/npm/make-fetch-happen/compare/v6.0.0...v6.0.1) (2019-10-23) - - -# [6.0.0](https://github.com/npm/make-fetch-happen/compare/v5.0.0...v6.0.0) (2019-10-01) - -### Bug Fixes - -* preserve rfc7234 5.5.4 warnings ([001b91e](https://github.com/npm/make-fetch-happen/commit/001b91e)) -* properly detect thrown HTTP "error" objects ([d7cbeb4](https://github.com/npm/make-fetch-happen/commit/d7cbeb4)) -* safely create synthetic response body for 304 ([bc70f88](https://github.com/npm/make-fetch-happen/commit/bc70f88)) - -### Features - -* **promises:** refactor bluebird with native promises ([7482d54](https://github.com/npm/make-fetch-happen/commit/7482d54)) - -### BREAKING CHANGES - -* **streams:** refactor node streams with minipass ([1d7f5a3](https://github.com/npm/make-fetch-happen/commit/1d7f5a3)) - - -# [5.0.0](https://github.com/npm/make-fetch-happen/compare/v4.0.2...v5.0.0) (2019-07-15) - - -### Features - -* cacache@12, no need for uid/gid opts ([fdb956f](https://github.com/npm/make-fetch-happen/commit/fdb956f)) - - -### BREAKING CHANGES - -* cache uid and gid are inferred from the cache folder itself, -not passed in as options. - - - - -## [4.0.2](https://github.com/npm/make-fetch-happen/compare/v4.0.1...v4.0.2) (2019-07-02) - - - - -## [4.0.1](https://github.com/npm/make-fetch-happen/compare/v4.0.0...v4.0.1) (2018-04-12) - - -### Bug Fixes - -* **integrity:** use new sri.match() for verification ([4f371a0](https://github.com/npm/make-fetch-happen/commit/4f371a0)) - - - - -# [4.0.0](https://github.com/npm/make-fetch-happen/compare/v3.0.0...v4.0.0) (2018-04-09) - - -### meta - -* drop node@4, add node@9 ([7b0191a](https://github.com/npm/make-fetch-happen/commit/7b0191a)) - - -### BREAKING CHANGES - -* node@4 is no longer supported - - - - -# [3.0.0](https://github.com/npm/make-fetch-happen/compare/v2.6.0...v3.0.0) (2018-03-12) - - -### Bug Fixes - -* **license:** switch to ISC ([#49](https://github.com/npm/make-fetch-happen/issues/49)) ([bf90c6d](https://github.com/npm/make-fetch-happen/commit/bf90c6d)) -* **standard:** standard@11 update ([ff0aa70](https://github.com/npm/make-fetch-happen/commit/ff0aa70)) - - -### BREAKING CHANGES - -* **license:** license changed from CC0 to ISC. - - - - -# [2.6.0](https://github.com/npm/make-fetch-happen/compare/v2.5.0...v2.6.0) (2017-11-14) - - -### Bug Fixes - -* **integrity:** disable node-fetch compress when checking integrity (#42) ([a7cc74c](https://github.com/npm/make-fetch-happen/commit/a7cc74c)) - - -### Features - -* **onretry:** Add `options.onRetry` (#48) ([f90ccff](https://github.com/npm/make-fetch-happen/commit/f90ccff)) - - - - -# [2.5.0](https://github.com/npm/make-fetch-happen/compare/v2.4.13...v2.5.0) (2017-08-24) - - -### Bug Fixes - -* **agent:** support timeout durations greater than 30 seconds ([04875ae](https://github.com/npm/make-fetch-happen/commit/04875ae)), closes [#35](https://github.com/npm/make-fetch-happen/issues/35) - - -### Features - -* **cache:** export cache deletion functionality (#40) ([3da4250](https://github.com/npm/make-fetch-happen/commit/3da4250)) - - - - -## [2.4.13](https://github.com/npm/make-fetch-happen/compare/v2.4.12...v2.4.13) (2017-06-29) - - -### Bug Fixes - -* **deps:** bump other deps for bugfixes ([eab8297](https://github.com/npm/make-fetch-happen/commit/eab8297)) -* **proxy:** bump proxy deps with bugfixes (#32) ([632f860](https://github.com/npm/make-fetch-happen/commit/632f860)), closes [#32](https://github.com/npm/make-fetch-happen/issues/32) - - - - -## [2.4.12](https://github.com/npm/make-fetch-happen/compare/v2.4.11...v2.4.12) (2017-06-06) - - -### Bug Fixes - -* **cache:** encode x-local-cache-etc headers to be header-safe ([dc9fb1b](https://github.com/npm/make-fetch-happen/commit/dc9fb1b)) - - - - -## [2.4.11](https://github.com/npm/make-fetch-happen/compare/v2.4.10...v2.4.11) (2017-06-05) - - -### Bug Fixes - -* **deps:** bump deps with ssri fix ([bef1994](https://github.com/npm/make-fetch-happen/commit/bef1994)) - - - - -## [2.4.10](https://github.com/npm/make-fetch-happen/compare/v2.4.9...v2.4.10) (2017-05-31) - - -### Bug Fixes - -* **deps:** bump dep versions with bugfixes ([0af4003](https://github.com/npm/make-fetch-happen/commit/0af4003)) -* **proxy:** use auth parameter for proxy authentication (#30) ([c687306](https://github.com/npm/make-fetch-happen/commit/c687306)) - - - - -## [2.4.9](https://github.com/npm/make-fetch-happen/compare/v2.4.8...v2.4.9) (2017-05-25) - - -### Bug Fixes - -* **cache:** use the passed-in promise for resolving cache stuff ([4c46257](https://github.com/npm/make-fetch-happen/commit/4c46257)) - - - - -## [2.4.8](https://github.com/npm/make-fetch-happen/compare/v2.4.7...v2.4.8) (2017-05-25) - - -### Bug Fixes - -* **cache:** pass uid/gid/Promise through to cache ([a847c92](https://github.com/npm/make-fetch-happen/commit/a847c92)) - - - - -## [2.4.7](https://github.com/npm/make-fetch-happen/compare/v2.4.6...v2.4.7) (2017-05-24) - - -### Bug Fixes - -* **deps:** pull in various fixes from deps ([fc2a587](https://github.com/npm/make-fetch-happen/commit/fc2a587)) - - - - -## [2.4.6](https://github.com/npm/make-fetch-happen/compare/v2.4.5...v2.4.6) (2017-05-24) - - -### Bug Fixes - -* **proxy:** choose agent for http(s)-proxy by protocol of destUrl ([ea4832a](https://github.com/npm/make-fetch-happen/commit/ea4832a)) -* **proxy:** make socks proxy working ([1de810a](https://github.com/npm/make-fetch-happen/commit/1de810a)) -* **proxy:** revert previous proxy solution ([563b0d8](https://github.com/npm/make-fetch-happen/commit/563b0d8)) - - - - -## [2.4.5](https://github.com/npm/make-fetch-happen/compare/v2.4.4...v2.4.5) (2017-05-24) - - -### Bug Fixes - -* **proxy:** use the destination url when determining agent ([1a714e7](https://github.com/npm/make-fetch-happen/commit/1a714e7)) - - - - -## [2.4.4](https://github.com/npm/make-fetch-happen/compare/v2.4.3...v2.4.4) (2017-05-23) - - -### Bug Fixes - -* **redirect:** handle redirects explicitly (#27) ([4c4af54](https://github.com/npm/make-fetch-happen/commit/4c4af54)) - - - - -## [2.4.3](https://github.com/npm/make-fetch-happen/compare/v2.4.2...v2.4.3) (2017-05-06) - - -### Bug Fixes - -* **redirect:** redirects now delete authorization if hosts fail to match ([c071805](https://github.com/npm/make-fetch-happen/commit/c071805)) - - - - -## [2.4.2](https://github.com/npm/make-fetch-happen/compare/v2.4.1...v2.4.2) (2017-05-04) - - -### Bug Fixes - -* **cache:** reduce race condition window by checking for content ([24544b1](https://github.com/npm/make-fetch-happen/commit/24544b1)) -* **match:** Rewrite the conditional stream logic (#25) ([66bba4b](https://github.com/npm/make-fetch-happen/commit/66bba4b)) - - - - -## [2.4.1](https://github.com/npm/make-fetch-happen/compare/v2.4.0...v2.4.1) (2017-04-28) - - -### Bug Fixes - -* **memoization:** missed spots + allow passthrough of memo objs ([ac0cd12](https://github.com/npm/make-fetch-happen/commit/ac0cd12)) - - - - -# [2.4.0](https://github.com/npm/make-fetch-happen/compare/v2.3.0...v2.4.0) (2017-04-28) - - -### Bug Fixes - -* **memoize:** cacache had a broken memoizer ([8a9ed4c](https://github.com/npm/make-fetch-happen/commit/8a9ed4c)) - - -### Features - -* **memoization:** only slurp stuff into memory if opts.memoize is not false ([0744adc](https://github.com/npm/make-fetch-happen/commit/0744adc)) - - - - -# [2.3.0](https://github.com/npm/make-fetch-happen/compare/v2.2.6...v2.3.0) (2017-04-27) - - -### Features - -* **agent:** added opts.strictSSL and opts.localAddress ([c35015a](https://github.com/npm/make-fetch-happen/commit/c35015a)) -* **proxy:** Added opts.noProxy and NO_PROXY support ([f45c915](https://github.com/npm/make-fetch-happen/commit/f45c915)) - - - - -## [2.2.6](https://github.com/npm/make-fetch-happen/compare/v2.2.5...v2.2.6) (2017-04-26) - - -### Bug Fixes - -* **agent:** check uppercase & lowercase proxy env (#24) ([acf2326](https://github.com/npm/make-fetch-happen/commit/acf2326)), closes [#22](https://github.com/npm/make-fetch-happen/issues/22) -* **deps:** switch to node-fetch-npm and stop bundling ([3db603b](https://github.com/npm/make-fetch-happen/commit/3db603b)) - - - - -## [2.2.5](https://github.com/npm/make-fetch-happen/compare/v2.2.4...v2.2.5) (2017-04-23) - - -### Bug Fixes - -* **deps:** bump cacache and use its size feature ([926c1d3](https://github.com/npm/make-fetch-happen/commit/926c1d3)) - - - - -## [2.2.4](https://github.com/npm/make-fetch-happen/compare/v2.2.3...v2.2.4) (2017-04-18) - - -### Bug Fixes - -* **integrity:** hash verification issues fixed ([07f9402](https://github.com/npm/make-fetch-happen/commit/07f9402)) - - - - -## [2.2.3](https://github.com/npm/make-fetch-happen/compare/v2.2.2...v2.2.3) (2017-04-18) - - -### Bug Fixes - -* **staleness:** responses older than 8h were never stale :< ([b54dd75](https://github.com/npm/make-fetch-happen/commit/b54dd75)) -* **warning:** remove spurious warning, make format more spec-compliant ([2e4f6bb](https://github.com/npm/make-fetch-happen/commit/2e4f6bb)) - - - - -## [2.2.2](https://github.com/npm/make-fetch-happen/compare/v2.2.1...v2.2.2) (2017-04-12) - - -### Bug Fixes - -* **retry:** stop retrying 404s ([6fafd53](https://github.com/npm/make-fetch-happen/commit/6fafd53)) - - - - -## [2.2.1](https://github.com/npm/make-fetch-happen/compare/v2.2.0...v2.2.1) (2017-04-10) - - -### Bug Fixes - -* **deps:** move test-only deps to devDeps ([2daaf80](https://github.com/npm/make-fetch-happen/commit/2daaf80)) - - - - -# [2.2.0](https://github.com/npm/make-fetch-happen/compare/v2.1.0...v2.2.0) (2017-04-09) - - -### Bug Fixes - -* **cache:** treat caches as private ([57b7dc2](https://github.com/npm/make-fetch-happen/commit/57b7dc2)) - - -### Features - -* **retry:** accept shorthand retry settings ([dfed69d](https://github.com/npm/make-fetch-happen/commit/dfed69d)) - - - - -# [2.1.0](https://github.com/npm/make-fetch-happen/compare/v2.0.4...v2.1.0) (2017-04-09) - - -### Features - -* **cache:** cache now obeys Age and a variety of other things (#13) ([7b9652d](https://github.com/npm/make-fetch-happen/commit/7b9652d)) - - - - -## [2.0.4](https://github.com/npm/make-fetch-happen/compare/v2.0.3...v2.0.4) (2017-04-09) - - -### Bug Fixes - -* **agent:** accept Request as fetch input, not just strings ([b71669a](https://github.com/npm/make-fetch-happen/commit/b71669a)) - - - - -## [2.0.3](https://github.com/npm/make-fetch-happen/compare/v2.0.2...v2.0.3) (2017-04-09) - - -### Bug Fixes - -* **deps:** seriously ([c29e7e7](https://github.com/npm/make-fetch-happen/commit/c29e7e7)) - - - - -## [2.0.2](https://github.com/npm/make-fetch-happen/compare/v2.0.1...v2.0.2) (2017-04-09) - - -### Bug Fixes - -* **deps:** use bundleDeps instead ([c36ebf0](https://github.com/npm/make-fetch-happen/commit/c36ebf0)) - - - - -## [2.0.1](https://github.com/npm/make-fetch-happen/compare/v2.0.0...v2.0.1) (2017-04-09) - - -### Bug Fixes - -* **deps:** make sure node-fetch tarball included in release ([3bf49d1](https://github.com/npm/make-fetch-happen/commit/3bf49d1)) - - - - -# [2.0.0](https://github.com/npm/make-fetch-happen/compare/v1.7.0...v2.0.0) (2017-04-09) - - -### Bug Fixes - -* **deps:** manually pull in newer node-fetch to avoid babel prod dep ([66e5e87](https://github.com/npm/make-fetch-happen/commit/66e5e87)) -* **retry:** be more specific about when we retry ([a47b782](https://github.com/npm/make-fetch-happen/commit/a47b782)) - - -### Features - -* **agent:** add ca/cert/key support to auto-agent (#15) ([57585a7](https://github.com/npm/make-fetch-happen/commit/57585a7)) - - -### BREAKING CHANGES - -* **agent:** pac proxies are no longer supported. -* **retry:** Retry logic has changes. - -* 404s, 420s, and 429s all retry now. -* ENOTFOUND no longer retries. -* Only ECONNRESET, ECONNREFUSED, EADDRINUSE, ETIMEDOUT, and `request-timeout` errors are retried. - - - - -# [1.7.0](https://github.com/npm/make-fetch-happen/compare/v1.6.0...v1.7.0) (2017-04-08) - - -### Features - -* **cache:** add useful headers to inform users about cached data ([9bd7b00](https://github.com/npm/make-fetch-happen/commit/9bd7b00)) - - - - -# [1.6.0](https://github.com/npm/make-fetch-happen/compare/v1.5.1...v1.6.0) (2017-04-06) - - -### Features - -* **agent:** better, keepalive-supporting, default http agents ([16277f6](https://github.com/npm/make-fetch-happen/commit/16277f6)) - - - - -## [1.5.1](https://github.com/npm/make-fetch-happen/compare/v1.5.0...v1.5.1) (2017-04-05) - - -### Bug Fixes - -* **cache:** bump cacache for its fixed error messages ([2f2b916](https://github.com/npm/make-fetch-happen/commit/2f2b916)) -* **cache:** fix handling of errors in cache reads ([5729222](https://github.com/npm/make-fetch-happen/commit/5729222)) - - - - -# [1.5.0](https://github.com/npm/make-fetch-happen/compare/v1.4.0...v1.5.0) (2017-04-04) - - -### Features - -* **retry:** retry requests on 408 timeouts, too ([8d8b5bd](https://github.com/npm/make-fetch-happen/commit/8d8b5bd)) - - - - -# [1.4.0](https://github.com/npm/make-fetch-happen/compare/v1.3.1...v1.4.0) (2017-04-04) - - -### Bug Fixes - -* **cache:** stop relying on BB.catch ([2b04494](https://github.com/npm/make-fetch-happen/commit/2b04494)) - - -### Features - -* **retry:** report retry attempt number as extra header ([fd50927](https://github.com/npm/make-fetch-happen/commit/fd50927)) - - - - -## [1.3.1](https://github.com/npm/make-fetch-happen/compare/v1.3.0...v1.3.1) (2017-04-04) - - -### Bug Fixes - -* **cache:** pretend cache entry is missing on ENOENT ([9c2bb26](https://github.com/npm/make-fetch-happen/commit/9c2bb26)) - - - - -# [1.3.0](https://github.com/npm/make-fetch-happen/compare/v1.2.1...v1.3.0) (2017-04-04) - - -### Bug Fixes - -* **cache:** if metadata is missing for some odd reason, ignore the entry ([a021a6b](https://github.com/npm/make-fetch-happen/commit/a021a6b)) - - -### Features - -* **cache:** add special headers when request was loaded straight from cache ([8a7dbd1](https://github.com/npm/make-fetch-happen/commit/8a7dbd1)) -* **cache:** allow configuring algorithms to be calculated on insertion ([bf4a0f2](https://github.com/npm/make-fetch-happen/commit/bf4a0f2)) - - - - -## [1.2.1](https://github.com/npm/make-fetch-happen/compare/v1.2.0...v1.2.1) (2017-04-03) - - -### Bug Fixes - -* **integrity:** update cacache and ssri and change EBADCHECKSUM -> EINTEGRITY ([b6cf6f6](https://github.com/npm/make-fetch-happen/commit/b6cf6f6)) - - - - -# [1.2.0](https://github.com/npm/make-fetch-happen/compare/v1.1.0...v1.2.0) (2017-04-03) - - -### Features - -* **integrity:** full Subresource Integrity support (#10) ([a590159](https://github.com/npm/make-fetch-happen/commit/a590159)) - - - - -# [1.1.0](https://github.com/npm/make-fetch-happen/compare/v1.0.1...v1.1.0) (2017-04-01) - - -### Features - -* **opts:** fetch.defaults() for default options ([522a65e](https://github.com/npm/make-fetch-happen/commit/522a65e)) - - - - -## [1.0.1](https://github.com/npm/make-fetch-happen/compare/v1.0.0...v1.0.1) (2017-04-01) - - - - -# 1.0.0 (2017-04-01) - - -### Bug Fixes - -* **cache:** default on cache-control header ([b872a2c](https://github.com/npm/make-fetch-happen/commit/b872a2c)) -* standard stuff and cache matching ([753f2c2](https://github.com/npm/make-fetch-happen/commit/753f2c2)) -* **agent:** nudge around things with opts.agent ([ed62b57](https://github.com/npm/make-fetch-happen/commit/ed62b57)) -* **agent:** {agent: false} has special behavior ([b8cc923](https://github.com/npm/make-fetch-happen/commit/b8cc923)) -* **cache:** invalidation on non-GET ([fe78fac](https://github.com/npm/make-fetch-happen/commit/fe78fac)) -* **cache:** make force-cache and only-if-cached work as expected ([f50e9df](https://github.com/npm/make-fetch-happen/commit/f50e9df)) -* **cache:** more spec compliance ([d5a56db](https://github.com/npm/make-fetch-happen/commit/d5a56db)) -* **cache:** only cache 200 gets ([0abb25a](https://github.com/npm/make-fetch-happen/commit/0abb25a)) -* **cache:** only load cache code if cache opt is a string ([250fcd5](https://github.com/npm/make-fetch-happen/commit/250fcd5)) -* **cache:** oops ([e3fa15a](https://github.com/npm/make-fetch-happen/commit/e3fa15a)) -* **cache:** refactored warning removal into main file ([5b0a9f9](https://github.com/npm/make-fetch-happen/commit/5b0a9f9)) -* **cache:** req constructor no longer needed in Cache ([5b74cbc](https://github.com/npm/make-fetch-happen/commit/5b74cbc)) -* **cache:** standard fetch api calls cacheMode "cache" ([6fba805](https://github.com/npm/make-fetch-happen/commit/6fba805)) -* **cache:** was using wrong method for non-GET/HEAD cache invalidation ([810763a](https://github.com/npm/make-fetch-happen/commit/810763a)) -* **caching:** a bunch of cache-related fixes ([8ebda1d](https://github.com/npm/make-fetch-happen/commit/8ebda1d)) -* **deps:** `cacache[@6](https://github.com/6).3.0` - race condition fixes ([9528442](https://github.com/npm/make-fetch-happen/commit/9528442)) -* **freshness:** fix regex for cacheControl matching ([070db86](https://github.com/npm/make-fetch-happen/commit/070db86)) -* **freshness:** fixed default freshness heuristic value ([5d29e88](https://github.com/npm/make-fetch-happen/commit/5d29e88)) -* **logging:** remove console.log calls ([a1d0a47](https://github.com/npm/make-fetch-happen/commit/a1d0a47)) -* **method:** node-fetch guarantees uppercase ([a1d68d6](https://github.com/npm/make-fetch-happen/commit/a1d68d6)) -* **opts:** simplified opts handling ([516fd6e](https://github.com/npm/make-fetch-happen/commit/516fd6e)) -* **proxy:** pass proxy option directly to ProxyAgent ([3398460](https://github.com/npm/make-fetch-happen/commit/3398460)) -* **retry:** false -> {retries: 0} ([297fbb6](https://github.com/npm/make-fetch-happen/commit/297fbb6)) -* **retry:** only retry put if body is not a stream ([a24e599](https://github.com/npm/make-fetch-happen/commit/a24e599)) -* **retry:** skip retries if body is a stream for ANY method ([780c0f8](https://github.com/npm/make-fetch-happen/commit/780c0f8)) - - -### Features - -* **api:** initial implementation -- can make and cache requests ([7d55b49](https://github.com/npm/make-fetch-happen/commit/7d55b49)) -* **fetch:** injectable cache, and retry support ([87b84bf](https://github.com/npm/make-fetch-happen/commit/87b84bf)) - - -### BREAKING CHANGES - -* **cache:** opts.cache -> opts.cacheManager; opts.cacheMode -> opts.cache -* **fetch:** opts.cache accepts a Cache-like obj or a path. Requests are now retried. -* **api:** actual api implemented diff --git a/deps/npm/node_modules/make-fetch-happen/README.md b/deps/npm/node_modules/make-fetch-happen/README.md index f454469e68508c..87659c9133bd5b 100644 --- a/deps/npm/node_modules/make-fetch-happen/README.md +++ b/deps/npm/node_modules/make-fetch-happen/README.md @@ -20,7 +20,7 @@ pooling, proxies, retries, [and more](#features)! * [`fetch.defaults`](#fetch-defaults) * [`minipass-fetch` options](#minipass-fetch-options) * [`make-fetch-happen` options](#extra-options) - * [`opts.cacheManager`](#opts-cache-manager) + * [`opts.cachePath`](#opts-cache-path) * [`opts.cache`](#opts-cache) * [`opts.proxy`](#opts-proxy) * [`opts.noProxy`](#opts-no-proxy) @@ -35,7 +35,7 @@ pooling, proxies, retries, [and more](#features)! ```javascript const fetch = require('make-fetch-happen').defaults({ - cacheManager: './my-cache' // path where cache will be written (and read) + cachePath: './my-cache' // path where cache will be written (and read) }) fetch('https://registry.npmjs.org/make-fetch-happen').then(res => { @@ -103,7 +103,7 @@ A defaulted `fetch` will also have a `.defaults()` method, so they can be chaine ```javascript const fetch = require('make-fetch-happen').defaults({ - cacheManager: './my-local-cache' + cachePath: './my-local-cache' }) fetch('https://registry.npmjs.org/make-fetch-happen') // will always use the cache @@ -136,7 +136,7 @@ For more details, see [the documentation for `minipass-fetch` itself](https://gi make-fetch-happen augments the `minipass-fetch` API with additional features available through extra options. The following extra options are available: -* [`opts.cacheManager`](#opts-cache-manager) - Cache target to read/write +* [`opts.cachePath`](#opts-cache-path) - Cache target to read/write * [`opts.cache`](#opts-cache) - `fetch` cache mode. Controls cache *behavior*. * [`opts.proxy`](#opts-proxy) - Proxy agent * [`opts.noProxy`](#opts-no-proxy) - Domain segments to disable proxying for. @@ -147,15 +147,9 @@ make-fetch-happen augments the `minipass-fetch` API with additional features ava * [`opts.onRetry`](#opts-onretry) - a function called whenever a retry is attempted * [`opts.integrity`](#opts-integrity) - [Subresource Integrity](https://developer.mozilla.org/en-US/docs/Web/Security/Subresource_Integrity) metadata. -#### `> opts.cacheManager` +#### `> opts.cachePath` -Either a `String` or a `Cache`. If the former, it will be assumed to be a `Path` to be used as the cache root for [`cacache`](https://npm.im/cacache). - -If an object is provided, it will be assumed to be a compliant [`Cache` instance](https://developer.mozilla.org/en-US/docs/Web/API/Cache). Only `Cache.match()`, `Cache.put()`, and `Cache.delete()` are required. Options objects will not be passed in to `match()` or `delete()`. - -By implementing this API, you can customize the storage backend for make-fetch-happen itself -- for example, you could implement a cache that uses `redis` for caching, or simply keeps everything in memory. Most of the caching logic exists entirely on the make-fetch-happen side, so the only thing you need to worry about is reading, writing, and deleting, as well as making sure `fetch.Response` objects are what gets returned. - -You can refer to `cache.js` in the make-fetch-happen source code for a reference implementation. +A string `Path` to be used as the cache root for [`cacache`](https://npm.im/cacache). **NOTE**: Requests will not be cached unless their response bodies are consumed. You will need to use one of the `res.json()`, `res.buffer()`, etc methods on the response, or drain the `res.body` stream, in order for it to be written. @@ -163,7 +157,9 @@ The default cache manager also adds the following headers to cached responses: * `X-Local-Cache`: Path to the cache the content was found in * `X-Local-Cache-Key`: Unique cache entry key for this response +* `X-Local-Cache-Mode`: Either `stream` or `buffer` to indicate how the response was read from cacache * `X-Local-Cache-Hash`: Specific integrity hash for the cached entry +* `X-Local-Cache-Status`: One of `miss`, `hit`, `stale`, `revalidated`, `updated`, or `skip` to signal how the response was created * `X-Local-Cache-Time`: UTCString of the cache insertion time for the entry Using [`cacache`](https://npm.im/cacache), a call like this may be used to @@ -181,12 +177,8 @@ cacache.get.byDigest(h.get('x-local-cache'), h.get('x-local-cache-hash')) ```javascript fetch('https://registry.npmjs.org/make-fetch-happen', { - cacheManager: './my-local-cache' + cachePath: './my-local-cache' }) // -> 200-level response will be written to disk - -fetch('https://npm.im/cacache', { - cacheManager: new MyCustomRedisCache(process.env.PORT) -}) // -> 200-level response will be written to redis ``` A possible (minimal) implementation for `MyCustomRedisCache`: @@ -230,7 +222,7 @@ class MyCustomRedisCache { #### `> opts.cache` -This option follows the standard `fetch` API cache option. This option will do nothing if [`opts.cacheManager`](#opts-cache-manager) is null. The following values are accepted (as strings): +This option follows the standard `fetch` API cache option. This option will do nothing if [`opts.cachePath`](#opts-cache-path) is null. The following values are accepted (as strings): * `default` - Fetch will inspect the HTTP cache on the way to the network. If there is a fresh response it will be used. If there is a stale response a conditional request will be created, and a normal request otherwise. It then updates the HTTP cache with the response. If the revalidation request fails (for example, on a 500 or if you're offline), the stale response will be returned. * `no-store` - Fetch behaves as if there is no HTTP cache at all. @@ -245,7 +237,7 @@ This option follows the standard `fetch` API cache option. This option will do n ```javascript const fetch = require('make-fetch-happen').defaults({ - cacheManager: './my-cache' + cachePath: './my-cache' }) // Will error with ENOTCACHED if we haven't already cached this url @@ -330,7 +322,6 @@ An object that can be used to tune request retry settings. Retries will only be The following are worth noting as explicitly not retried: * `getaddrinfo ENOTFOUND` and will be assumed to be either an unreachable domain or the user will be assumed offline. If a response is cached, it will be returned immediately. -* `ECONNRESET` currently has no support for restarting. It will eventually be supported but requires a bit more juggling due to streaming. If `opts.retry` is `false`, it is equivalent to `{retries: 0}` diff --git a/deps/npm/node_modules/make-fetch-happen/cache.js b/deps/npm/node_modules/make-fetch-happen/cache.js deleted file mode 100644 index 234e3a41d0519a..00000000000000 --- a/deps/npm/node_modules/make-fetch-happen/cache.js +++ /dev/null @@ -1,260 +0,0 @@ -'use strict' - -const fetch = require('minipass-fetch') -const cacache = require('cacache') -const ssri = require('ssri') -const url = require('url') - -const Minipass = require('minipass') -const MinipassFlush = require('minipass-flush') -const MinipassCollect = require('minipass-collect') -const MinipassPipeline = require('minipass-pipeline') - -const MAX_MEM_SIZE = 5 * 1024 * 1024 // 5MB - -// some headers should never be stored in the cache, either because -// they're a security footgun to leave lying around, or because we -// just don't need them taking up space. -// set to undefined so they're omitted from the JSON.stringify -const pruneHeaders = { - authorization: undefined, - 'npm-session': undefined, - 'set-cookie': undefined, - 'cf-ray': undefined, - 'cf-cache-status': undefined, - 'cf-request-id': undefined, - 'x-fetch-attempts': undefined, -} - -function cacheKey (req) { - const parsed = new url.URL(req.url) - return `make-fetch-happen:request-cache:${ - url.format({ - protocol: parsed.protocol, - slashes: true, - port: parsed.port, - hostname: parsed.hostname, - pathname: parsed.pathname, - search: parsed.search, - }) - }` -} - -// This is a cacache-based implementation of the Cache standard, -// using node-fetch. -// docs: https://developer.mozilla.org/en-US/docs/Web/API/Cache -// -module.exports = class Cache { - constructor (path, opts) { - this._path = path - this.Promise = (opts && opts.Promise) || Promise - } - - static get pruneHeaders () { - // exposed for testing, not modifiable - return { ...pruneHeaders } - } - - // Returns a Promise that resolves to the response associated with the first - // matching request in the Cache object. - match (req, opts) { - const key = cacheKey(req) - return cacache.get.info(this._path, key).then(info => { - return info && cacache.get.hasContent( - this._path, info.integrity, opts - ).then(exists => exists && info) - }).then(info => { - if (info && info.metadata && matchDetails(req, { - url: info.metadata.url, - reqHeaders: new fetch.Headers(info.metadata.reqHeaders), - resHeaders: new fetch.Headers(info.metadata.resHeaders), - cacheIntegrity: info.integrity, - integrity: opts && opts.integrity, - })) { - const resHeaders = new fetch.Headers(info.metadata.resHeaders) - addCacheHeaders(resHeaders, this._path, key, info.integrity, info.time) - if (req.method === 'HEAD') { - return new fetch.Response(null, { - url: req.url, - headers: resHeaders, - status: 200, - }) - } - const cachePath = this._path - // avoid opening cache file handles until a user actually tries to - // read from it. - const body = new Minipass() - const fitInMemory = info.size < MAX_MEM_SIZE - const removeOnResume = () => body.removeListener('resume', onResume) - const onResume = - opts.memoize !== false && fitInMemory - ? () => { - const c = cacache.get.stream.byDigest(cachePath, info.integrity, { - memoize: opts.memoize, - }) - c.on('error', /* istanbul ignore next */ err => { - body.emit('error', err) - }) - c.pipe(body) - } - : () => { - removeOnResume() - cacache.get.byDigest(cachePath, info.integrity, { - memoize: opts.memoize, - }) - .then(data => body.end(data)) - .catch(/* istanbul ignore next */ err => { - body.emit('error', err) - }) - } - body.once('resume', onResume) - body.once('end', () => removeOnResume) - return this.Promise.resolve(new fetch.Response(body, { - url: req.url, - headers: resHeaders, - status: 200, - size: info.size, - })) - } - }) - } - - // Takes both a request and its response and adds it to the given cache. - put (req, response, opts) { - opts = opts || {} - const size = response.headers.get('content-length') - const fitInMemory = !!size && opts.memoize !== false && size < MAX_MEM_SIZE - const ckey = cacheKey(req) - const cacheOpts = { - algorithms: opts.algorithms, - metadata: { - url: req.url, - reqHeaders: { - ...req.headers.raw(), - ...pruneHeaders, - }, - resHeaders: { - ...response.headers.raw(), - ...pruneHeaders, - }, - }, - size, - memoize: fitInMemory && opts.memoize, - } - if (req.method === 'HEAD' || response.status === 304) { - // Update metadata without writing - return cacache.get.info(this._path, ckey).then(info => { - // Providing these will bypass content write - cacheOpts.integrity = info.integrity - addCacheHeaders( - response.headers, this._path, ckey, info.integrity, info.time - ) - - return new MinipassPipeline( - cacache.get.stream.byDigest(this._path, info.integrity, cacheOpts), - cacache.put.stream(this._path, ckey, cacheOpts) - ).promise().then(() => { - return response - }) - }) - } - const oldBody = response.body - // the flush is the last thing in the pipeline. Build the pipeline - // back-to-front so we don't consume the data before we use it! - // We unshift in either a tee-stream to the cache put stream, - // or a collecter that dumps it to cache in one go, then the - // old body to bring in the data. - const newBody = new MinipassPipeline(new MinipassFlush({ - flush () { - return cacheWritePromise - }, - })) - - let cacheWriteResolve, cacheWriteReject - const cacheWritePromise = new Promise((resolve, reject) => { - cacheWriteResolve = resolve - cacheWriteReject = reject - }) - const cachePath = this._path - - if (fitInMemory) { - const collecter = new MinipassCollect.PassThrough() - collecter.on('collect', data => { - cacache.put( - cachePath, - ckey, - data, - cacheOpts - ).then(cacheWriteResolve, cacheWriteReject) - }) - newBody.unshift(collecter) - } else { - const tee = new Minipass() - const cacheStream = cacache.put.stream( - cachePath, - ckey, - cacheOpts - ) - tee.pipe(cacheStream) - cacheStream.promise().then(cacheWriteResolve, cacheWriteReject) - newBody.unshift(tee) - } - - newBody.unshift(oldBody) - return Promise.resolve(new fetch.Response(newBody, response)) - } - - // Finds the Cache entry whose key is the request, and if found, deletes the - // Cache entry and returns a Promise that resolves to true. If no Cache entry - // is found, it returns false. - 'delete' (req, opts) { - opts = opts || {} - if (typeof opts.memoize === 'object') { - if (opts.memoize.reset) - opts.memoize.reset() - else if (opts.memoize.clear) - opts.memoize.clear() - else { - Object.keys(opts.memoize).forEach(k => { - opts.memoize[k] = null - }) - } - } - return cacache.rm.entry( - this._path, - cacheKey(req) - // TODO - true/false - ).then(() => false) - } -} - -function matchDetails (req, cached) { - const reqUrl = new url.URL(req.url) - const cacheUrl = new url.URL(cached.url) - const vary = cached.resHeaders.get('Vary') - // https://tools.ietf.org/html/rfc7234#section-4.1 - if (vary) { - if (vary.match(/\*/)) - return false - else { - const fieldsMatch = vary.split(/\s*,\s*/).every(field => { - return cached.reqHeaders.get(field) === req.headers.get(field) - }) - if (!fieldsMatch) - return false - } - } - if (cached.integrity) - return ssri.parse(cached.integrity).match(cached.cacheIntegrity) - - reqUrl.hash = null - cacheUrl.hash = null - return url.format(reqUrl) === url.format(cacheUrl) -} - -function addCacheHeaders (resHeaders, path, key, hash, time) { - resHeaders.set('X-Local-Cache', encodeURIComponent(path)) - resHeaders.set('X-Local-Cache-Key', encodeURIComponent(key)) - resHeaders.set('X-Local-Cache-Hash', encodeURIComponent(hash)) - resHeaders.set('X-Local-Cache-Time', new Date(time).toUTCString()) -} diff --git a/deps/npm/node_modules/make-fetch-happen/index.js b/deps/npm/node_modules/make-fetch-happen/index.js deleted file mode 100644 index 54f72049c1d52b..00000000000000 --- a/deps/npm/node_modules/make-fetch-happen/index.js +++ /dev/null @@ -1,457 +0,0 @@ -'use strict' - -const url = require('url') -const fetch = require('minipass-fetch') -const pkg = require('./package.json') -const retry = require('promise-retry') -let ssri - -const Minipass = require('minipass') -const MinipassPipeline = require('minipass-pipeline') -const getAgent = require('./agent') -const setWarning = require('./warning') - -const configureOptions = require('./utils/configure-options') -const iterableToObject = require('./utils/iterable-to-object') -const makePolicy = require('./utils/make-policy') - -const isURL = /^https?:/ -const USER_AGENT = `${pkg.name}/${pkg.version} (+https://npm.im/${pkg.name})` - -const RETRY_ERRORS = [ - 'ECONNRESET', // remote socket closed on us - 'ECONNREFUSED', // remote host refused to open connection - 'EADDRINUSE', // failed to bind to a local port (proxy?) - 'ETIMEDOUT', // someone in the transaction is WAY TOO SLOW - // Known codes we do NOT retry on: - // ENOTFOUND (getaddrinfo failure. Either bad hostname, or offline) -] - -const RETRY_TYPES = [ - 'request-timeout', -] - -// https://fetch.spec.whatwg.org/#http-network-or-cache-fetch -module.exports = cachingFetch -cachingFetch.defaults = function (_uri, _opts) { - const fetch = this - if (typeof _uri === 'object') { - _opts = _uri - _uri = null - } - - function defaultedFetch (uri, opts) { - const finalOpts = Object.assign({}, _opts || {}, opts || {}) - return fetch(uri || _uri, finalOpts) - } - - defaultedFetch.defaults = fetch.defaults - defaultedFetch.delete = fetch.delete - return defaultedFetch -} - -cachingFetch.delete = cacheDelete -function cacheDelete (uri, opts) { - opts = configureOptions(opts) - if (opts.cacheManager) { - const req = new fetch.Request(uri, { - method: opts.method, - headers: opts.headers, - }) - return opts.cacheManager.delete(req, opts) - } -} - -function initializeSsri () { - if (!ssri) - ssri = require('ssri') -} - -function cachingFetch (uri, _opts) { - const opts = configureOptions(_opts) - - if (opts.integrity) { - initializeSsri() - // if verifying integrity, fetch must not decompress - opts.compress = false - } - - const isCachable = ( - ( - opts.method === 'GET' || - opts.method === 'HEAD' - ) && - Boolean(opts.cacheManager) && - opts.cache !== 'no-store' && - opts.cache !== 'reload' - ) - - if (isCachable) { - const req = new fetch.Request(uri, { - method: opts.method, - headers: opts.headers, - }) - - return opts.cacheManager.match(req, opts).then(res => { - if (res) { - const warningCode = (res.headers.get('Warning') || '').match(/^\d+/) - if (warningCode && +warningCode >= 100 && +warningCode < 200) { - // https://tools.ietf.org/html/rfc7234#section-4.3.4 - // - // If a stored response is selected for update, the cache MUST: - // - // * delete any Warning header fields in the stored response with - // warn-code 1xx (see Section 5.5); - // - // * retain any Warning header fields in the stored response with - // warn-code 2xx; - // - res.headers.delete('Warning') - } - - if (opts.cache === 'default' && !isStale(req, res)) - return res - - if (opts.cache === 'default' || opts.cache === 'no-cache') - return conditionalFetch(req, res, opts) - - if (opts.cache === 'force-cache' || opts.cache === 'only-if-cached') { - // 112 Disconnected operation - // SHOULD be included if the cache is intentionally disconnected from - // the rest of the network for a period of time. - // (https://tools.ietf.org/html/rfc2616#section-14.46) - setWarning(res, 112, 'Disconnected operation') - return res - } - } - - if (!res && opts.cache === 'only-if-cached') { - const errorMsg = `request to ${ - uri - } failed: cache mode is 'only-if-cached' but no cached response available.` - - const err = new Error(errorMsg) - err.code = 'ENOTCACHED' - throw err - } - - // Missing cache entry, or mode is default (if stale), reload, no-store - return remoteFetch(req.url, opts) - }) - } - return remoteFetch(uri, opts) -} - -// https://tools.ietf.org/html/rfc7234#section-4.2 -function isStale (req, res) { - const _req = { - url: req.url, - method: req.method, - headers: iterableToObject(req.headers), - } - - const policy = makePolicy(req, res) - - const responseTime = res.headers.get('x-local-cache-time') || - /* istanbul ignore next - would be weird to get a 'stale' - * response that didn't come from cache with a cache time header */ - (res.headers.get('date') || 0) - - policy._responseTime = new Date(responseTime) - - const bool = !policy.satisfiesWithoutRevalidation(_req) - const headers = policy.responseHeaders() - if (headers.warning && /^113\b/.test(headers.warning)) { - // Possible to pick up a rfc7234 warning at this point. - // This is kind of a weird place to stick this, should probably go - // in cachingFetch. But by putting it here, we save an extra - // CachePolicy object construction. - res.headers.append('warning', headers.warning) - } - return bool -} - -function mustRevalidate (res) { - return (res.headers.get('cache-control') || '').match(/must-revalidate/i) -} - -function conditionalFetch (req, cachedRes, opts) { - const _req = { - url: req.url, - method: req.method, - headers: Object.assign({}, opts.headers || {}), - } - - const policy = makePolicy(req, cachedRes) - opts.headers = policy.revalidationHeaders(_req) - - return remoteFetch(req.url, opts) - .then(condRes => { - const revalidatedPolicy = policy.revalidatedPolicy(_req, { - status: condRes.status, - headers: iterableToObject(condRes.headers), - }) - - if (condRes.status >= 500 && !mustRevalidate(cachedRes)) { - // 111 Revalidation failed - // MUST be included if a cache returns a stale response because an - // attempt to revalidate the response failed, due to an inability to - // reach the server. - // (https://tools.ietf.org/html/rfc2616#section-14.46) - setWarning(cachedRes, 111, 'Revalidation failed') - return cachedRes - } - - if (condRes.status === 304) { // 304 Not Modified - // Create a synthetic response from the cached body and original req - const synthRes = new fetch.Response(cachedRes.body, condRes) - return opts.cacheManager.put(req, synthRes, opts) - .then(newRes => { - // Get the list first, because if we delete while iterating, - // it'll throw off the count and not make it through all - // of them. - const newHeaders = revalidatedPolicy.policy.responseHeaders() - const toDelete = [...newRes.headers.keys()] - .filter(k => !newHeaders[k]) - for (const key of toDelete) - newRes.headers.delete(key) - - for (const [key, val] of Object.entries(newHeaders)) - newRes.headers.set(key, val) - - return newRes - }) - } - - return condRes - }) - .then(res => res) - .catch(err => { - if (mustRevalidate(cachedRes)) - throw err - else { - // 111 Revalidation failed - // MUST be included if a cache returns a stale response because an - // attempt to revalidate the response failed, due to an inability to - // reach the server. - // (https://tools.ietf.org/html/rfc2616#section-14.46) - setWarning(cachedRes, 111, 'Revalidation failed') - // 199 Miscellaneous warning - // The warning text MAY include arbitrary information to be presented to - // a human user, or logged. A system receiving this warning MUST NOT take - // any automated action, besides presenting the warning to the user. - // (https://tools.ietf.org/html/rfc2616#section-14.46) - setWarning( - cachedRes, - 199, - `Miscellaneous Warning ${err.code}: ${err.message}` - ) - - return cachedRes - } - }) -} - -function remoteFetchHandleIntegrity (res, integrity) { - if (res.status !== 200) - return res // Error responses aren't subject to integrity checks. - - const oldBod = res.body - const newBod = ssri.integrityStream({ - integrity, - }) - return new fetch.Response(new MinipassPipeline(oldBod, newBod), res) -} - -function remoteFetch (uri, opts) { - const agent = getAgent(uri, opts) - const headers = opts.headers instanceof fetch.Headers - ? opts.headers - : new fetch.Headers(opts.headers) - if (!headers.get('connection')) - headers.set('connection', agent ? 'keep-alive' : 'close') - - if (!headers.get('user-agent')) - headers.set('user-agent', USER_AGENT) - - const reqOpts = { - agent, - body: opts.body, - compress: opts.compress, - follow: opts.follow, - headers, - method: opts.method, - redirect: 'manual', - size: opts.size, - counter: opts.counter, - timeout: opts.timeout, - ca: opts.ca, - cert: opts.cert, - key: opts.key, - rejectUnauthorized: opts.strictSSL, - } - - return retry( - (retryHandler, attemptNum) => { - const req = new fetch.Request(uri, reqOpts) - return fetch(req) - .then((res) => { - if (opts.integrity) - res = remoteFetchHandleIntegrity(res, opts.integrity) - - res.headers.set('x-fetch-attempts', attemptNum) - - const isStream = Minipass.isStream(req.body) - - if (opts.cacheManager) { - const isMethodGetHead = ( - req.method === 'GET' || - req.method === 'HEAD' - ) - - const isCachable = ( - opts.cache !== 'no-store' && - isMethodGetHead && - makePolicy(req, res).storable() && - res.status === 200 // No other statuses should be stored! - ) - - if (isCachable) - return opts.cacheManager.put(req, res, opts) - - if (!isMethodGetHead) { - return opts.cacheManager.delete(req).then(() => { - if (res.status >= 500 && req.method !== 'POST' && !isStream) { - if (typeof opts.onRetry === 'function') - opts.onRetry(res) - - return retryHandler(res) - } - - return res - }) - } - } - - const isRetriable = ( - req.method !== 'POST' && - !isStream && - ( - res.status === 408 || // Request Timeout - res.status === 420 || // Enhance Your Calm (usually Twitter rate-limit) - res.status === 429 || // Too Many Requests ("standard" rate-limiting) - res.status >= 500 // Assume server errors are momentary hiccups - ) - ) - - if (isRetriable) { - if (typeof opts.onRetry === 'function') - opts.onRetry(res) - - return retryHandler(res) - } - - if (!fetch.isRedirect(res.status)) - return res - - if (opts.redirect === 'manual') - return res - - // if (!fetch.isRedirect(res.status) || opts.redirect === 'manual') { - // return res - // } - - // handle redirects - matches behavior of fetch: https://github.com/bitinn/node-fetch - if (opts.redirect === 'error') { - const err = new fetch.FetchError(`redirect mode is set to error: ${uri}`, 'no-redirect', { code: 'ENOREDIRECT' }) - throw err - } - - if (!res.headers.get('location')) { - const err = new fetch.FetchError(`redirect location header missing at: ${uri}`, 'no-location', { code: 'EINVALIDREDIRECT' }) - throw err - } - - if (req.counter >= req.follow) { - const err = new fetch.FetchError(`maximum redirect reached at: ${uri}`, 'max-redirect', { code: 'EMAXREDIRECT' }) - throw err - } - - const resolvedUrlParsed = new url.URL(res.headers.get('location'), req.url) - const resolvedUrl = url.format(resolvedUrlParsed) - const redirectURL = (isURL.test(res.headers.get('location'))) - ? new url.URL(res.headers.get('location')) - : resolvedUrlParsed - - // Comment below is used under the following license: - // Copyright (c) 2010-2012 Mikeal Rogers - // Licensed under the Apache License, Version 2.0 (the "License"); - // you may not use this file except in compliance with the License. - // You may obtain a copy of the License at - // http://www.apache.org/licenses/LICENSE-2.0 - // Unless required by applicable law or agreed to in writing, - // software distributed under the License is distributed on an "AS - // IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either - // express or implied. See the License for the specific language - // governing permissions and limitations under the License. - - // Remove authorization if changing hostnames (but not if just - // changing ports or protocols). This matches the behavior of request: - // https://github.com/request/request/blob/b12a6245/lib/redirect.js#L134-L138 - if (new url.URL(req.url).hostname !== redirectURL.hostname) - req.headers.delete('authorization') - - // for POST request with 301/302 response, or any request with 303 response, - // use GET when following redirect - if ( - res.status === 303 || - ( - req.method === 'POST' && - ( - res.status === 301 || - res.status === 302 - ) - ) - ) { - opts.method = 'GET' - opts.body = null - req.headers.delete('content-length') - } - - opts.headers = {} - req.headers.forEach((value, name) => { - opts.headers[name] = value - }) - - opts.counter = ++req.counter - return cachingFetch(resolvedUrl, opts) - }) - .catch(err => { - const code = (err.code === 'EPROMISERETRY') - ? err.retried.code - : err.code - - const isRetryError = ( - RETRY_ERRORS.indexOf(code) === -1 && - RETRY_TYPES.indexOf(err.type) === -1 - ) - - if (req.method === 'POST' || isRetryError) - throw err - - if (typeof opts.onRetry === 'function') - opts.onRetry(err) - - return retryHandler(err) - }) - }, - opts.retry - ).catch(err => { - if (err.status >= 400 && err.type !== 'system') { - // this is an HTTP response "error" that we care about - return err - } - - throw err - }) -} diff --git a/deps/npm/node_modules/make-fetch-happen/agent.js b/deps/npm/node_modules/make-fetch-happen/lib/agent.js similarity index 88% rename from deps/npm/node_modules/make-fetch-happen/agent.js rename to deps/npm/node_modules/make-fetch-happen/lib/agent.js index e27eb4f3a801da..873d69cf4760b8 100644 --- a/deps/npm/node_modules/make-fetch-happen/agent.js +++ b/deps/npm/node_modules/make-fetch-happen/lib/agent.js @@ -4,8 +4,8 @@ const url = require('url') const isLambda = require('is-lambda') const AGENT_CACHE = new LRU({ max: 50 }) -let HttpsAgent -let HttpAgent +const HttpAgent = require('agentkeepalive') +const HttpsAgent = HttpAgent.HttpsAgent module.exports = getAgent @@ -66,11 +66,6 @@ function getAgent (uri, opts) { return proxy } - if (!HttpsAgent) { - HttpAgent = require('agentkeepalive') - HttpsAgent = HttpAgent.HttpsAgent - } - const agent = isHttps ? new HttpsAgent({ maxSockets: agentMaxSockets, ca: opts.ca, @@ -155,15 +150,15 @@ function getProxyUri (uri, opts) { } const getAuth = u => - u.username && u.password ? `${u.username}:${u.password}` - : u.username ? u.username + u.username && u.password ? decodeURIComponent(`${u.username}:${u.password}`) + : u.username ? decodeURIComponent(u.username) : null const getPath = u => u.pathname + u.search + u.hash -let HttpProxyAgent -let HttpsProxyAgent -let SocksProxyAgent +const HttpProxyAgent = require('http-proxy-agent') +const HttpsProxyAgent = require('https-proxy-agent') +const SocksProxyAgent = require('socks-proxy-agent') module.exports.getProxy = getProxy function getProxy (proxyUrl, opts, isHttps) { const popts = { @@ -182,23 +177,13 @@ function getProxy (proxyUrl, opts, isHttps) { } if (proxyUrl.protocol === 'http:' || proxyUrl.protocol === 'https:') { - if (!isHttps) { - if (!HttpProxyAgent) - HttpProxyAgent = require('http-proxy-agent') - + if (!isHttps) return new HttpProxyAgent(popts) - } else { - if (!HttpsProxyAgent) - HttpsProxyAgent = require('https-proxy-agent') - + else return new HttpsProxyAgent(popts) - } - } else if (proxyUrl.protocol.startsWith('socks')) { - if (!SocksProxyAgent) - SocksProxyAgent = require('socks-proxy-agent') - + } else if (proxyUrl.protocol.startsWith('socks')) return new SocksProxyAgent(popts) - } else { + else { throw Object.assign( new Error(`unsupported proxy protocol: '${proxyUrl.protocol}'`), { diff --git a/deps/npm/node_modules/make-fetch-happen/lib/cache/entry.js b/deps/npm/node_modules/make-fetch-happen/lib/cache/entry.js new file mode 100644 index 00000000000000..0df006fe34a3fc --- /dev/null +++ b/deps/npm/node_modules/make-fetch-happen/lib/cache/entry.js @@ -0,0 +1,432 @@ +const { Request, Response } = require('minipass-fetch') +const Minipass = require('minipass') +const MinipassCollect = require('minipass-collect') +const MinipassFlush = require('minipass-flush') +const MinipassPipeline = require('minipass-pipeline') +const cacache = require('cacache') +const url = require('url') + +const CachePolicy = require('./policy.js') +const cacheKey = require('./key.js') +const remote = require('../remote.js') + +const hasOwnProperty = (obj, prop) => Object.prototype.hasOwnProperty.call(obj, prop) + +// maximum amount of data we will buffer into memory +// if we'll exceed this, we switch to streaming +const MAX_MEM_SIZE = 5 * 1024 * 1024 // 5MB + +// allow list for request headers that will be written to the cache index +// note: we will also store any request headers +// that are named in a response's vary header +const KEEP_REQUEST_HEADERS = [ + 'accept-charset', + 'accept-encoding', + 'accept-language', + 'accept', + 'cache-control', +] + +// allow list for response headers that will be written to the cache index +// note: we must not store the real response's age header, or when we load +// a cache policy based on the metadata it will think the cached response +// is always stale +const KEEP_RESPONSE_HEADERS = [ + 'cache-control', + 'content-encoding', + 'content-language', + 'content-type', + 'date', + 'etag', + 'expires', + 'last-modified', + 'location', + 'pragma', + 'vary', +] + +// return an object containing all metadata to be written to the index +const getMetadata = (request, response, options) => { + const metadata = { + url: request.url, + reqHeaders: {}, + resHeaders: {}, + } + + // only save the status if it's not a 200 or 304 + if (response.status !== 200 && response.status !== 304) + metadata.status = response.status + + for (const name of KEEP_REQUEST_HEADERS) { + if (request.headers.has(name)) + metadata.reqHeaders[name] = request.headers.get(name) + } + + // if the request's host header differs from the host in the url + // we need to keep it, otherwise it's just noise and we ignore it + const host = request.headers.get('host') + const parsedUrl = new url.URL(request.url) + if (host && parsedUrl.host !== host) + metadata.reqHeaders.host = host + + // if the response has a vary header, make sure + // we store the relevant request headers too + if (response.headers.has('vary')) { + const vary = response.headers.get('vary') + // a vary of "*" means every header causes a different response. + // in that scenario, we do not include any additional headers + // as the freshness check will always fail anyway and we don't + // want to bloat the cache indexes + if (vary !== '*') { + // copy any other request headers that will vary the response + const varyHeaders = vary.trim().toLowerCase().split(/\s*,\s*/) + for (const name of varyHeaders) { + // explicitly ignore accept-encoding here + if (name !== 'accept-encoding' && request.headers.has(name)) + metadata.reqHeaders[name] = request.headers.get(name) + } + } + } + + for (const name of KEEP_RESPONSE_HEADERS) { + if (response.headers.has(name)) + metadata.resHeaders[name] = response.headers.get(name) + } + + // we only store accept-encoding and content-encoding if the user + // has disabled automatic compression and decompression in minipass-fetch + // since if it's enabled (the default) then the content will have + // already been decompressed making the header a lie + if (options.compress === false) { + metadata.reqHeaders['accept-encoding'] = request.headers.get('accept-encoding') + metadata.resHeaders['content-encoding'] = response.headers.get('content-encoding') + } + + return metadata +} + +// symbols used to hide objects that may be lazily evaluated in a getter +const _request = Symbol('request') +const _response = Symbol('response') +const _policy = Symbol('policy') + +class CacheEntry { + constructor ({ entry, request, response, options }) { + this.entry = entry + this.options = options + this.key = entry ? entry.key : cacheKey(request) + + // these properties are behind getters that lazily evaluate + this[_request] = request + this[_response] = response + this[_policy] = null + } + + // returns a CacheEntry instance that satisfies the given request + // or undefined if no existing entry satisfies + static async find (request, options) { + try { + // compacts the index and returns an array of unique entries + var matches = await cacache.index.compact(options.cachePath, cacheKey(request), (A, B) => { + const entryA = new CacheEntry({ entry: A, options }) + const entryB = new CacheEntry({ entry: B, options }) + return entryA.policy.satisfies(entryB.request) + }, { + validateEntry: (entry) => { + // if an integrity is null, it needs to have a status specified + if (entry.integrity === null) + return !!(entry.metadata && entry.metadata.status) + + return true + }, + }) + } catch (err) { + // if the compact request fails, ignore the error and return + return + } + + // find the specific entry that satisfies the request + let match + for (const entry of matches) { + const _entry = new CacheEntry({ + entry, + options, + }) + + if (_entry.policy.satisfies(request)) { + match = _entry + break + } + } + + return match + } + + // if the user made a PUT/POST/PATCH then we invalidate our + // cache for the same url by deleting the index entirely + static async invalidate (request, options) { + const key = cacheKey(request) + try { + await cacache.rm.entry(options.cachePath, key, { removeFully: true }) + } catch (err) { + // ignore errors + } + } + + get request () { + if (!this[_request]) { + this[_request] = new Request(this.entry.metadata.url, { + method: 'GET', + headers: this.entry.metadata.reqHeaders, + }) + } + + return this[_request] + } + + get response () { + if (!this[_response]) { + this[_response] = new Response(null, { + url: this.entry.metadata.url, + counter: this.options.counter, + status: this.entry.metadata.status || 200, + headers: { + ...this.entry.metadata.resHeaders, + 'content-length': this.entry.size, + }, + }) + } + + return this[_response] + } + + get policy () { + if (!this[_policy]) { + this[_policy] = new CachePolicy({ + entry: this.entry, + request: this.request, + response: this.response, + options: this.options, + }) + } + + return this[_policy] + } + + // wraps the response in a pipeline that stores the data + // in the cache while the user consumes it + async store (status) { + // if we got a status other than 200, 301, or 308, + // or the CachePolicy forbid storage, append the + // cache status header and return it untouched + if (this.request.method !== 'GET' || ![200, 301, 308].includes(this.response.status) || !this.policy.storable()) { + this.response.headers.set('x-local-cache-status', 'skip') + return this.response + } + + const size = this.response.headers.get('content-length') + const fitsInMemory = !!size && Number(size) < MAX_MEM_SIZE + const shouldBuffer = this.options.memoize !== false && fitsInMemory + const cacheOpts = { + algorithms: this.options.algorithms, + metadata: getMetadata(this.request, this.response, this.options), + size, + memoize: fitsInMemory && this.options.memoize, + } + + let body = null + // we only set a body if the status is a 200, redirects are + // stored as metadata only + if (this.response.status === 200) { + let cacheWriteResolve, cacheWriteReject + const cacheWritePromise = new Promise((resolve, reject) => { + cacheWriteResolve = resolve + cacheWriteReject = reject + }) + + body = new MinipassPipeline(new MinipassFlush({ + flush () { + return cacheWritePromise + }, + })) + + let abortStream, onResume + if (shouldBuffer) { + // if the result fits in memory, use a collect stream to gather + // the response and write it to cacache while also passing it through + // to the user + onResume = () => { + const collector = new MinipassCollect.PassThrough() + abortStream = collector + collector.on('collect', (data) => { + // TODO if the cache write fails, log a warning but return the response anyway + cacache.put(this.options.cachePath, this.key, data, cacheOpts).then(cacheWriteResolve, cacheWriteReject) + }) + body.unshift(collector) + body.unshift(this.response.body) + } + } else { + // if it does not fit in memory, create a tee stream and use + // that to pipe to both the cache and the user simultaneously + onResume = () => { + const tee = new Minipass() + const cacheStream = cacache.put.stream(this.options.cachePath, this.key, cacheOpts) + abortStream = cacheStream + tee.pipe(cacheStream) + // TODO if the cache write fails, log a warning but return the response anyway + cacheStream.promise().then(cacheWriteResolve, cacheWriteReject) + body.unshift(tee) + body.unshift(this.response.body) + } + } + + body.once('resume', onResume) + body.once('end', () => body.removeListener('resume', onResume)) + this.response.body.on('error', (err) => { + // the abortStream will either be a MinipassCollect if we buffer + // or a cacache write stream, either way be sure to listen for + // errors from the actual response and avoid writing data that we + // know to be invalid to the cache + abortStream.destroy(err) + }) + } else + await cacache.index.insert(this.options.cachePath, this.key, null, cacheOpts) + + // note: we do not set the x-local-cache-hash header because we do not know + // the hash value until after the write to the cache completes, which doesn't + // happen until after the response has been sent and it's too late to write + // the header anyway + this.response.headers.set('x-local-cache', encodeURIComponent(this.options.cachePath)) + this.response.headers.set('x-local-cache-key', encodeURIComponent(this.key)) + this.response.headers.set('x-local-cache-mode', shouldBuffer ? 'buffer' : 'stream') + this.response.headers.set('x-local-cache-status', status) + this.response.headers.set('x-local-cache-time', new Date().toISOString()) + const newResponse = new Response(body, { + url: this.response.url, + status: this.response.status, + headers: this.response.headers, + counter: this.options.counter, + }) + return newResponse + } + + // use the cached data to create a response and return it + async respond (method, options, status) { + let response + const size = Number(this.response.headers.get('content-length')) + const fitsInMemory = !!size && size < MAX_MEM_SIZE + const shouldBuffer = this.options.memoize !== false && fitsInMemory + if (method === 'HEAD' || [301, 308].includes(this.response.status)) { + // if the request is a HEAD, or the response is a redirect, + // then the metadata in the entry already includes everything + // we need to build a response + response = this.response + } else { + // we're responding with a full cached response, so create a body + // that reads from cacache and attach it to a new Response + const body = new Minipass() + const removeOnResume = () => body.removeListener('resume', onResume) + let onResume + if (shouldBuffer) { + onResume = async () => { + removeOnResume() + try { + const content = await cacache.get.byDigest(this.options.cachePath, this.entry.integrity, { memoize: this.options.memoize }) + body.end(content) + } catch (err) { + body.emit('error', err) + } + } + } else { + onResume = () => { + const cacheStream = cacache.get.stream.byDigest(this.options.cachePath, this.entry.integrity, { memoize: this.options.memoize }) + cacheStream.on('error', (err) => body.emit('error', err)) + cacheStream.pipe(body) + } + } + + body.once('resume', onResume) + body.once('end', removeOnResume) + response = new Response(body, { + url: this.entry.metadata.url, + counter: options.counter, + status: 200, + headers: { + ...this.policy.responseHeaders(), + }, + }) + } + + response.headers.set('x-local-cache', encodeURIComponent(this.options.cachePath)) + response.headers.set('x-local-cache-hash', encodeURIComponent(this.entry.integrity)) + response.headers.set('x-local-cache-key', encodeURIComponent(this.key)) + response.headers.set('x-local-cache-mode', shouldBuffer ? 'buffer' : 'stream') + response.headers.set('x-local-cache-status', status) + response.headers.set('x-local-cache-time', new Date(this.entry.time).toUTCString()) + return response + } + + // use the provided request along with this cache entry to + // revalidate the stored response. returns a response, either + // from the cache or from the update + async revalidate (request, options) { + const revalidateRequest = new Request(request, { + headers: this.policy.revalidationHeaders(request), + }) + + try { + // NOTE: be sure to remove the headers property from the + // user supplied options, since we have already defined + // them on the new request object. if they're still in the + // options then those will overwrite the ones from the policy + var response = await remote(revalidateRequest, { + ...options, + headers: undefined, + }) + } catch (err) { + // if the network fetch fails, return the stale + // cached response unless it has a cache-control + // of 'must-revalidate' + if (!this.policy.mustRevalidate) + return this.respond(request.method, options, 'stale') + + throw err + } + + if (this.policy.revalidated(revalidateRequest, response)) { + // we got a 304, write a new index to the cache and respond from cache + const metadata = getMetadata(request, response, options) + // 304 responses do not include headers that are specific to the response data + // since they do not include a body, so we copy values for headers that were + // in the old cache entry to the new one, if the new metadata does not already + // include that header + for (const name of KEEP_RESPONSE_HEADERS) { + if (!hasOwnProperty(metadata.resHeaders, name) && hasOwnProperty(this.entry.metadata.resHeaders, name)) + metadata.resHeaders[name] = this.entry.metadata.resHeaders[name] + } + + try { + await cacache.index.insert(options.cachePath, this.key, this.entry.integrity, { + size: this.entry.size, + metadata, + }) + } catch (err) { + // if updating the cache index fails, we ignore it and + // respond anyway + } + return this.respond(request.method, options, 'revalidated') + } + + // if we got a modified response, create a new entry based on it + const newEntry = new CacheEntry({ + request, + response, + options, + }) + + // respond with the new entry while writing it to the cache + return newEntry.store('updated') + } +} + +module.exports = CacheEntry diff --git a/deps/npm/node_modules/make-fetch-happen/lib/cache/errors.js b/deps/npm/node_modules/make-fetch-happen/lib/cache/errors.js new file mode 100644 index 00000000000000..31e97c4b033c09 --- /dev/null +++ b/deps/npm/node_modules/make-fetch-happen/lib/cache/errors.js @@ -0,0 +1,10 @@ +class NotCachedError extends Error { + constructor (url) { + super(`request to ${url} failed: cache mode is 'only-if-cached' but no cached response is available.`) + this.code = 'ENOTCACHED' + } +} + +module.exports = { + NotCachedError, +} diff --git a/deps/npm/node_modules/make-fetch-happen/lib/cache/index.js b/deps/npm/node_modules/make-fetch-happen/lib/cache/index.js new file mode 100644 index 00000000000000..00df31dd15023e --- /dev/null +++ b/deps/npm/node_modules/make-fetch-happen/lib/cache/index.js @@ -0,0 +1,46 @@ +const { NotCachedError } = require('./errors.js') +const CacheEntry = require('./entry.js') +const remote = require('../remote.js') + +// do whatever is necessary to get a Response and return it +const cacheFetch = async (request, options) => { + // try to find a cached entry that satisfies this request + const entry = await CacheEntry.find(request, options) + if (!entry) { + // no cached result, if the cache mode is only-if-cached that's a failure + if (options.cache === 'only-if-cached') + throw new NotCachedError(request.url) + + // otherwise, we make a request, store it and return it + const response = await remote(request, options) + const entry = new CacheEntry({ request, response, options }) + return entry.store('miss') + } + + // we have a cached response that satisfies this request, however + // if the cache mode is reload the user explicitly wants us to revalidate + if (options.cache === 'reload') + return entry.revalidate(request, options) + + // if the cache mode is either force-cache or only-if-cached we will only + // respond with a cached entry, even if it's stale. set the status to the + // appropriate value based on whether revalidation is needed and respond + // from the cache + const _needsRevalidation = entry.policy.needsRevalidation(request) + if (options.cache === 'force-cache' || + options.cache === 'only-if-cached' || + !_needsRevalidation) + return entry.respond(request.method, options, _needsRevalidation ? 'stale' : 'hit') + + // cache entry might be stale, revalidate it and return a response + return entry.revalidate(request, options) +} + +cacheFetch.invalidate = async (request, options) => { + if (!options.cachePath) + return + + return CacheEntry.invalidate(request, options) +} + +module.exports = cacheFetch diff --git a/deps/npm/node_modules/make-fetch-happen/lib/cache/key.js b/deps/npm/node_modules/make-fetch-happen/lib/cache/key.js new file mode 100644 index 00000000000000..f7684d562b7fae --- /dev/null +++ b/deps/npm/node_modules/make-fetch-happen/lib/cache/key.js @@ -0,0 +1,17 @@ +const { URL, format } = require('url') + +// options passed to url.format() when generating a key +const formatOptions = { + auth: false, + fragment: false, + search: true, + unicode: false, +} + +// returns a string to be used as the cache key for the Request +const cacheKey = (request) => { + const parsed = new URL(request.url) + return `make-fetch-happen:request-cache:${format(parsed, formatOptions)}` +} + +module.exports = cacheKey diff --git a/deps/npm/node_modules/make-fetch-happen/lib/cache/policy.js b/deps/npm/node_modules/make-fetch-happen/lib/cache/policy.js new file mode 100644 index 00000000000000..189dce80ee68ed --- /dev/null +++ b/deps/npm/node_modules/make-fetch-happen/lib/cache/policy.js @@ -0,0 +1,161 @@ +const CacheSemantics = require('http-cache-semantics') +const Negotiator = require('negotiator') +const ssri = require('ssri') + +// HACK: negotiator lazy loads several of its own modules +// as a micro optimization. we need to be sure that they're +// in memory as soon as possible at startup so that we do +// not try to lazy load them after the directory has been +// retired during a self update of the npm CLI, we do this +// by calling all of the methods that trigger a lazy load +// on a fake instance. +const preloadNegotiator = new Negotiator({ headers: {} }) +preloadNegotiator.charsets() +preloadNegotiator.encodings() +preloadNegotiator.languages() +preloadNegotiator.mediaTypes() + +// options passed to http-cache-semantics constructor +const policyOptions = { + shared: false, + ignoreCargoCult: true, +} + +// a fake empty response, used when only testing the +// request for storability +const emptyResponse = { status: 200, headers: {} } + +// returns a plain object representation of the Request +const requestObject = (request) => { + const _obj = { + method: request.method, + url: request.url, + headers: {}, + } + + request.headers.forEach((value, key) => { + _obj.headers[key] = value + }) + + return _obj +} + +// returns a plain object representation of the Response +const responseObject = (response) => { + const _obj = { + status: response.status, + headers: {}, + } + + response.headers.forEach((value, key) => { + _obj.headers[key] = value + }) + + return _obj +} + +class CachePolicy { + constructor ({ entry, request, response, options }) { + this.entry = entry + this.request = requestObject(request) + this.response = responseObject(response) + this.options = options + this.policy = new CacheSemantics(this.request, this.response, policyOptions) + + if (this.entry) { + // if we have an entry, copy the timestamp to the _responseTime + // this is necessary because the CacheSemantics constructor forces + // the value to Date.now() which means a policy created from a + // cache entry is likely to always identify itself as stale + this.policy._responseTime = this.entry.time + } + } + + // static method to quickly determine if a request alone is storable + static storable (request, options) { + // no cachePath means no caching + if (!options.cachePath) + return false + + // user explicitly asked not to cache + if (options.cache === 'no-store') + return false + + // we only cache GET and HEAD requests + if (!['GET', 'HEAD'].includes(request.method)) + return false + + // otherwise, let http-cache-semantics make the decision + // based on the request's headers + const policy = new CacheSemantics(requestObject(request), emptyResponse, policyOptions) + return policy.storable() + } + + // returns true if the policy satisfies the request + satisfies (request) { + const _req = requestObject(request) + if (this.request.headers.host !== _req.headers.host) + return false + + const negotiatorA = new Negotiator(this.request) + const negotiatorB = new Negotiator(_req) + + if (JSON.stringify(negotiatorA.mediaTypes()) !== JSON.stringify(negotiatorB.mediaTypes())) + return false + + if (JSON.stringify(negotiatorA.languages()) !== JSON.stringify(negotiatorB.languages())) + return false + + if (JSON.stringify(negotiatorA.encodings()) !== JSON.stringify(negotiatorB.encodings())) + return false + + if (this.options.integrity) + return ssri.parse(this.options.integrity).match(this.entry.integrity) + + return true + } + + // returns true if the request and response allow caching + storable () { + return this.policy.storable() + } + + // NOTE: this is a hack to avoid parsing the cache-control + // header ourselves, it returns true if the response's + // cache-control contains must-revalidate + get mustRevalidate () { + return !!this.policy._rescc['must-revalidate'] + } + + // returns true if the cached response requires revalidation + // for the given request + needsRevalidation (request) { + const _req = requestObject(request) + // force method to GET because we only cache GETs + // but can serve a HEAD from a cached GET + _req.method = 'GET' + return !this.policy.satisfiesWithoutRevalidation(_req) + } + + responseHeaders () { + return this.policy.responseHeaders() + } + + // returns a new object containing the appropriate headers + // to send a revalidation request + revalidationHeaders (request) { + const _req = requestObject(request) + return this.policy.revalidationHeaders(_req) + } + + // returns true if the request/response was revalidated + // successfully. returns false if a new response was received + revalidated (request, response) { + const _req = requestObject(request) + const _res = responseObject(response) + const policy = this.policy.revalidatedPolicy(_req, _res) + return !policy.modified + } +} + +module.exports = CachePolicy diff --git a/deps/npm/node_modules/make-fetch-happen/lib/fetch.js b/deps/npm/node_modules/make-fetch-happen/lib/fetch.js new file mode 100644 index 00000000000000..dfded79295da1d --- /dev/null +++ b/deps/npm/node_modules/make-fetch-happen/lib/fetch.js @@ -0,0 +1,100 @@ +'use strict' + +const { FetchError, Request, isRedirect } = require('minipass-fetch') +const url = require('url') + +const CachePolicy = require('./cache/policy.js') +const cache = require('./cache/index.js') +const remote = require('./remote.js') + +// given a Request, a Response and user options +// return true if the response is a redirect that +// can be followed. we throw errors that will result +// in the fetch being rejected if the redirect is +// possible but invalid for some reason +const canFollowRedirect = (request, response, options) => { + if (!isRedirect(response.status)) + return false + + if (options.redirect === 'manual') + return false + + if (options.redirect === 'error') + throw new FetchError(`redirect mode is set to error: ${request.url}`, 'no-redirect', { code: 'ENOREDIRECT' }) + + if (!response.headers.has('location')) + throw new FetchError(`redirect location header missing for: ${request.url}`, 'no-location', { code: 'EINVALIDREDIRECT' }) + + if (request.counter >= request.follow) + throw new FetchError(`maximum redirect reached at: ${request.url}`, 'max-redirect', { code: 'EMAXREDIRECT' }) + + return true +} + +// given a Request, a Response, and the user's options return an object +// with a new Request and a new options object that will be used for +// following the redirect +const getRedirect = (request, response, options) => { + const _opts = { ...options } + const location = response.headers.get('location') + const redirectUrl = new url.URL(location, /^https?:/.test(location) ? undefined : request.url) + // Comment below is used under the following license: + // Copyright (c) 2010-2012 Mikeal Rogers + // Licensed under the Apache License, Version 2.0 (the "License"); + // you may not use this file except in compliance with the License. + // You may obtain a copy of the License at + // http://www.apache.org/licenses/LICENSE-2.0 + // Unless required by applicable law or agreed to in writing, + // software distributed under the License is distributed on an "AS + // IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either + // express or implied. See the License for the specific language + // governing permissions and limitations under the License. + + // Remove authorization if changing hostnames (but not if just + // changing ports or protocols). This matches the behavior of request: + // https://github.com/request/request/blob/b12a6245/lib/redirect.js#L134-L138 + if (new url.URL(request.url).hostname !== redirectUrl.hostname) + request.headers.delete('authorization') + + // for POST request with 301/302 response, or any request with 303 response, + // use GET when following redirect + if (response.status === 303 || (request.method === 'POST' && [301, 302].includes(response.status))) { + _opts.method = 'GET' + _opts.body = null + request.headers.delete('content-length') + } + + _opts.headers = {} + request.headers.forEach((value, key) => { + _opts.headers[key] = value + }) + + _opts.counter = ++request.counter + const redirectReq = new Request(url.format(redirectUrl), _opts) + return { + request: redirectReq, + options: _opts, + } +} + +const fetch = async (request, options) => { + const response = CachePolicy.storable(request, options) + ? await cache(request, options) + : await remote(request, options) + + // if the request wasn't a GET or HEAD, and the response + // status is between 200 and 399 inclusive, invalidate the + // request url + if (!['GET', 'HEAD'].includes(request.method) && + response.status >= 200 && + response.status <= 399) + await cache.invalidate(request, options) + + if (!canFollowRedirect(request, response, options)) + return response + + const redirect = getRedirect(request, response, options) + return fetch(redirect.request, redirect.options) +} + +module.exports = fetch diff --git a/deps/npm/node_modules/make-fetch-happen/lib/index.js b/deps/npm/node_modules/make-fetch-happen/lib/index.js new file mode 100644 index 00000000000000..6028bc0725129a --- /dev/null +++ b/deps/npm/node_modules/make-fetch-happen/lib/index.js @@ -0,0 +1,40 @@ +const { FetchError, Headers, Request, Response } = require('minipass-fetch') + +const configureOptions = require('./options.js') +const fetch = require('./fetch.js') + +const makeFetchHappen = (url, opts) => { + const options = configureOptions(opts) + + const request = new Request(url, options) + return fetch(request, options) +} + +makeFetchHappen.defaults = (defaultUrl, defaultOptions = {}) => { + if (typeof defaultUrl === 'object') { + defaultOptions = defaultUrl + defaultUrl = null + } + + const defaultedFetch = (url, options = {}) => { + const finalUrl = url || defaultUrl + const finalOptions = { + ...defaultOptions, + ...options, + headers: { + ...defaultOptions.headers, + ...options.headers, + }, + } + return makeFetchHappen(finalUrl, finalOptions) + } + + defaultedFetch.defaults = makeFetchHappen.defaults + return defaultedFetch +} + +module.exports = makeFetchHappen +module.exports.FetchError = FetchError +module.exports.Headers = Headers +module.exports.Request = Request +module.exports.Response = Response diff --git a/deps/npm/node_modules/make-fetch-happen/lib/options.js b/deps/npm/node_modules/make-fetch-happen/lib/options.js new file mode 100644 index 00000000000000..08891754868a50 --- /dev/null +++ b/deps/npm/node_modules/make-fetch-happen/lib/options.js @@ -0,0 +1,45 @@ +const conditionalHeaders = [ + 'if-modified-since', + 'if-none-match', + 'if-unmodified-since', + 'if-match', + 'if-range', +] + +const configureOptions = (opts) => { + const options = { ...opts } + options.method = options.method ? options.method.toUpperCase() : 'GET' + if (Object.prototype.hasOwnProperty.call(options, 'strictSSL')) + options.rejectUnauthorized = options.strictSSL + + if (!options.retry) + options.retry = { retries: 0 } + else if (typeof options.retry === 'string') { + const retries = parseInt(options.retry, 10) + if (isFinite(retries)) + options.retry = { retries } + else + options.retry = { retries: 0 } + } else if (typeof options.retry === 'number') + options.retry = { retries: options.retry } + else + options.retry = { retries: 0, ...options.retry } + + options.cache = options.cache || 'default' + if (options.cache === 'default') { + const hasConditionalHeader = Object.keys(options.headers || {}).some((name) => { + return conditionalHeaders.includes(name.toLowerCase()) + }) + if (hasConditionalHeader) + options.cache = 'no-store' + } + + // cacheManager is deprecated, but if it's set and + // cachePath is not we should copy it to the new field + if (options.cacheManager && !options.cachePath) + options.cachePath = options.cacheManager + + return options +} + +module.exports = configureOptions diff --git a/deps/npm/node_modules/make-fetch-happen/lib/remote.js b/deps/npm/node_modules/make-fetch-happen/lib/remote.js new file mode 100644 index 00000000000000..e37f39de845f38 --- /dev/null +++ b/deps/npm/node_modules/make-fetch-happen/lib/remote.js @@ -0,0 +1,101 @@ +const Minipass = require('minipass') +const MinipassPipeline = require('minipass-pipeline') +const fetch = require('minipass-fetch') +const promiseRetry = require('promise-retry') +const ssri = require('ssri') + +const getAgent = require('./agent.js') +const pkg = require('../package.json') + +const USER_AGENT = `${pkg.name}/${pkg.version} (+https://npm.im/${pkg.name})` + +const RETRY_ERRORS = [ + 'ECONNRESET', // remote socket closed on us + 'ECONNREFUSED', // remote host refused to open connection + 'EADDRINUSE', // failed to bind to a local port (proxy?) + 'ETIMEDOUT', // someone in the transaction is WAY TOO SLOW + // Known codes we do NOT retry on: + // ENOTFOUND (getaddrinfo failure. Either bad hostname, or offline) +] + +const RETRY_TYPES = [ + 'request-timeout', +] + +// make a request directly to the remote source, +// retrying certain classes of errors as well as +// following redirects (through the cache if necessary) +// and verifying response integrity +const remoteFetch = (request, options) => { + const agent = getAgent(request.url, options) + if (!request.headers.has('connection')) + request.headers.set('connection', agent ? 'keep-alive' : 'close') + + if (!request.headers.has('user-agent')) + request.headers.set('user-agent', USER_AGENT) + + // keep our own options since we're overriding the agent + // and the redirect mode + const _opts = { + ...options, + agent, + redirect: 'manual', + } + + return promiseRetry(async (retryHandler, attemptNum) => { + const req = new fetch.Request(request, _opts) + try { + let res = await fetch(req, _opts) + if (_opts.integrity && res.status === 200) { + // we got a 200 response and the user has specified an expected + // integrity value, so wrap the response in an ssri stream to verify it + const integrityStream = ssri.integrityStream({ integrity: _opts.integrity }) + res = new fetch.Response(new MinipassPipeline(res.body, integrityStream), res) + } + + res.headers.set('x-fetch-attempts', attemptNum) + + // do not retry POST requests, or requests with a streaming body + // do retry requests with a 408, 420, 429 or 500+ status in the response + const isStream = Minipass.isStream(req.body) + const isRetriable = req.method !== 'POST' && + !isStream && + ([408, 420, 429].includes(res.status) || res.status >= 500) + + if (isRetriable) { + if (typeof options.onRetry === 'function') + options.onRetry(res) + + return retryHandler(res) + } + + return res + } catch (err) { + const code = (err.code === 'EPROMISERETRY') + ? err.retried.code + : err.code + + // err.retried will be the thing that was thrown from above + // if it's a response, we just got a bad status code and we + // can re-throw to allow the retry + const isRetryError = err.retried instanceof fetch.Response || + (RETRY_ERRORS.includes(code) && RETRY_TYPES.includes(err.type)) + + if (req.method === 'POST' || isRetryError) + throw err + + if (typeof options.onRetry === 'function') + options.onRetry(err) + + return retryHandler(err) + } + }, options.retry).catch((err) => { + // don't reject for http errors, just return them + if (err.status >= 400 && err.type !== 'system') + return err + + throw err + }) +} + +module.exports = remoteFetch diff --git a/deps/npm/node_modules/make-fetch-happen/package.json b/deps/npm/node_modules/make-fetch-happen/package.json index 7e854dcdf08805..af97a161c6088b 100644 --- a/deps/npm/node_modules/make-fetch-happen/package.json +++ b/deps/npm/node_modules/make-fetch-happen/package.json @@ -1,21 +1,19 @@ { "name": "make-fetch-happen", - "version": "8.0.14", + "version": "9.0.2", "description": "Opinionated, caching, retrying fetch client", - "main": "index.js", + "main": "lib/index.js", "files": [ - "*.js", - "lib", - "utils" + "lib" ], "scripts": { "preversion": "npm t", "postversion": "npm publish", "prepublishOnly": "git push --follow-tags", - "test": "tap test/*.js", + "test": "tap", "posttest": "npm run lint", "eslint": "eslint", - "lint": "npm run eslint -- *.js utils test", + "lint": "npm run eslint -- lib test", "lintfix": "npm run lint -- --fix" }, "repository": "https://github.com/npm/make-fetch-happen", @@ -36,7 +34,7 @@ "license": "ISC", "dependencies": { "agentkeepalive": "^4.1.3", - "cacache": "^15.0.5", + "cacache": "^15.2.0", "http-cache-semantics": "^4.1.0", "http-proxy-agent": "^4.0.1", "https-proxy-agent": "^5.0.0", @@ -47,26 +45,32 @@ "minipass-fetch": "^1.3.2", "minipass-flush": "^1.0.5", "minipass-pipeline": "^1.2.4", + "negotiator": "^0.6.2", "promise-retry": "^2.0.1", "socks-proxy-agent": "^5.0.0", "ssri": "^8.0.0" }, "devDependencies": { - "eslint": "^7.14.0", - "eslint-plugin-import": "^2.22.1", + "eslint": "^7.26.0", + "eslint-plugin-import": "^2.23.2", "eslint-plugin-node": "^11.1.0", - "eslint-plugin-promise": "^4.2.1", + "eslint-plugin-promise": "^5.1.0", "eslint-plugin-standard": "^5.0.0", "mkdirp": "^1.0.4", - "nock": "^11.9.1", + "nock": "^13.0.11", "npmlog": "^4.1.2", "require-inject": "^1.4.2", - "rimraf": "^2.7.1", + "rimraf": "^3.0.2", "safe-buffer": "^5.2.1", - "standard-version": "^7.1.0", - "tap": "^14.11.0" + "standard-version": "^9.3.0", + "tap": "^15.0.9" }, "engines": { "node": ">= 10" + }, + "tap": { + "color": 1, + "files": "test/*.js", + "check-coverage": true } } diff --git a/deps/npm/node_modules/make-fetch-happen/utils/configure-options.js b/deps/npm/node_modules/make-fetch-happen/utils/configure-options.js deleted file mode 100644 index 75ea5d15ecda01..00000000000000 --- a/deps/npm/node_modules/make-fetch-happen/utils/configure-options.js +++ /dev/null @@ -1,32 +0,0 @@ -'use strict' - -const initializeCache = require('./initialize-cache') - -module.exports = function configureOptions (_opts) { - const opts = Object.assign({}, _opts || {}) - opts.method = (opts.method || 'GET').toUpperCase() - - if (!opts.retry) { - // opts.retry was falsy; set default - opts.retry = { retries: 0 } - } else { - if (typeof opts.retry !== 'object') { - // Shorthand - if (typeof opts.retry === 'number') - opts.retry = { retries: opts.retry } - - if (typeof opts.retry === 'string') { - const value = parseInt(opts.retry, 10) - opts.retry = (value) ? { retries: value } : { retries: 0 } - } - } else { - // Set default retries - opts.retry = Object.assign({}, { retries: 0 }, opts.retry) - } - } - - if (opts.cacheManager) - initializeCache(opts) - - return opts -} diff --git a/deps/npm/node_modules/make-fetch-happen/utils/initialize-cache.js b/deps/npm/node_modules/make-fetch-happen/utils/initialize-cache.js deleted file mode 100644 index 9f96bf56226ef5..00000000000000 --- a/deps/npm/node_modules/make-fetch-happen/utils/initialize-cache.js +++ /dev/null @@ -1,26 +0,0 @@ -'use strict' - -const isHeaderConditional = require('./is-header-conditional') -// Default cacache-based cache -const Cache = require('../cache') - -module.exports = function initializeCache (opts) { - /** - * NOTE: `opts.cacheManager` is the path to cache - * We're making the assumption that if `opts.cacheManager` *isn't* a string, - * it's a cache object - */ - if (typeof opts.cacheManager === 'string') { - // Need to make a cache object - opts.cacheManager = new Cache(opts.cacheManager, opts) - } - - opts.cache = opts.cache || 'default' - - if (opts.cache === 'default' && isHeaderConditional(opts.headers)) { - // If header list contains `If-Modified-Since`, `If-None-Match`, - // `If-Unmodified-Since`, `If-Match`, or `If-Range`, fetch will set cache - // mode to "no-store" if it is "default". - opts.cache = 'no-store' - } -} diff --git a/deps/npm/node_modules/make-fetch-happen/utils/is-header-conditional.js b/deps/npm/node_modules/make-fetch-happen/utils/is-header-conditional.js deleted file mode 100644 index 5081e0ce127e26..00000000000000 --- a/deps/npm/node_modules/make-fetch-happen/utils/is-header-conditional.js +++ /dev/null @@ -1,17 +0,0 @@ -'use strict' - -module.exports = function isHeaderConditional (headers) { - if (!headers || typeof headers !== 'object') - return false - - const modifiers = [ - 'if-modified-since', - 'if-none-match', - 'if-unmodified-since', - 'if-match', - 'if-range', - ] - - return Object.keys(headers) - .some(h => modifiers.indexOf(h.toLowerCase()) !== -1) -} diff --git a/deps/npm/node_modules/make-fetch-happen/utils/iterable-to-object.js b/deps/npm/node_modules/make-fetch-happen/utils/iterable-to-object.js deleted file mode 100644 index 1fe5ba65448d60..00000000000000 --- a/deps/npm/node_modules/make-fetch-happen/utils/iterable-to-object.js +++ /dev/null @@ -1,9 +0,0 @@ -'use strict' - -module.exports = function iterableToObject (iter) { - const obj = {} - for (const k of iter.keys()) - obj[k] = iter.get(k) - - return obj -} diff --git a/deps/npm/node_modules/make-fetch-happen/utils/make-policy.js b/deps/npm/node_modules/make-fetch-happen/utils/make-policy.js deleted file mode 100644 index 5e884847dd8f45..00000000000000 --- a/deps/npm/node_modules/make-fetch-happen/utils/make-policy.js +++ /dev/null @@ -1,19 +0,0 @@ -'use strict' - -const CachePolicy = require('http-cache-semantics') - -const iterableToObject = require('./iterable-to-object') - -module.exports = function makePolicy (req, res) { - const _req = { - url: req.url, - method: req.method, - headers: iterableToObject(req.headers), - } - const _res = { - status: res.status, - headers: iterableToObject(res.headers), - } - - return new CachePolicy(_req, _res, { shared: false }) -} diff --git a/deps/npm/node_modules/make-fetch-happen/warning.js b/deps/npm/node_modules/make-fetch-happen/warning.js deleted file mode 100644 index 2b96024714e3be..00000000000000 --- a/deps/npm/node_modules/make-fetch-happen/warning.js +++ /dev/null @@ -1,24 +0,0 @@ -const url = require('url') - -module.exports = setWarning - -function setWarning (reqOrRes, code, message, replace) { - // Warning = "Warning" ":" 1#warning-value - // warning-value = warn-code SP warn-agent SP warn-text [SP warn-date] - // warn-code = 3DIGIT - // warn-agent = ( host [ ":" port ] ) | pseudonym - // ; the name or pseudonym of the server adding - // ; the Warning header, for use in debugging - // warn-text = quoted-string - // warn-date = <"> HTTP-date <"> - // (https://tools.ietf.org/html/rfc2616#section-14.46) - const host = new url.URL(reqOrRes.url).host - const jsonMessage = JSON.stringify(message) - const jsonDate = JSON.stringify(new Date().toUTCString()) - const header = replace ? 'set' : 'append' - - reqOrRes.headers[header]( - 'Warning', - `${code} ${host} ${jsonMessage} ${jsonDate}` - ) -} diff --git a/deps/npm/node_modules/mime-db/HISTORY.md b/deps/npm/node_modules/mime-db/HISTORY.md index 1555055e8a7956..ff9438ee9c075b 100644 --- a/deps/npm/node_modules/mime-db/HISTORY.md +++ b/deps/npm/node_modules/mime-db/HISTORY.md @@ -1,3 +1,10 @@ +1.48.0 / 2021-05-30 +=================== + + * Add extension `.mvt` to `application/vnd.mapbox-vector-tile` + * Add new upstream MIME types + * Mark `text/yaml` as compressible + 1.47.0 / 2021-04-01 =================== diff --git a/deps/npm/node_modules/mime-db/db.json b/deps/npm/node_modules/mime-db/db.json index 63c189ea2687ba..067e0ce8151a4d 100644 --- a/deps/npm/node_modules/mime-db/db.json +++ b/deps/npm/node_modules/mime-db/db.json @@ -11,6 +11,14 @@ "source": "iana", "compressible": true }, + "application/3gpphal+json": { + "source": "iana", + "compressible": true + }, + "application/3gpphalforms+json": { + "source": "iana", + "compressible": true + }, "application/a2l": { "source": "iana" }, @@ -999,6 +1007,9 @@ "application/nss": { "source": "iana" }, + "application/oauth-authz-req+jwt": { + "source": "iana" + }, "application/ocsp-request": { "source": "iana" }, @@ -1342,6 +1353,10 @@ "source": "iana", "compressible": true }, + "application/sarif-external-properties+json": { + "source": "iana", + "compressible": true + }, "application/sbe": { "source": "iana" }, @@ -1696,6 +1711,9 @@ "application/vnd.3gpp-v2x-local-service-information": { "source": "iana" }, + "application/vnd.3gpp.5gnas": { + "source": "iana" + }, "application/vnd.3gpp.access-transfer-events+xml": { "source": "iana", "compressible": true @@ -1708,9 +1726,15 @@ "source": "iana", "compressible": true }, + "application/vnd.3gpp.gtpc": { + "source": "iana" + }, "application/vnd.3gpp.interworking-data": { "source": "iana" }, + "application/vnd.3gpp.lpp": { + "source": "iana" + }, "application/vnd.3gpp.mc-signalling-ear": { "source": "iana" }, @@ -1820,6 +1844,12 @@ "source": "iana", "compressible": true }, + "application/vnd.3gpp.ngap": { + "source": "iana" + }, + "application/vnd.3gpp.pfcp": { + "source": "iana" + }, "application/vnd.3gpp.pic-bw-large": { "source": "iana", "extensions": ["plb"] @@ -1832,6 +1862,9 @@ "source": "iana", "extensions": ["pvb"] }, + "application/vnd.3gpp.s1ap": { + "source": "iana" + }, "application/vnd.3gpp.sms": { "source": "iana" }, @@ -2322,6 +2355,9 @@ "application/vnd.cryptomator.encrypted": { "source": "iana" }, + "application/vnd.cryptomator.vault": { + "source": "iana" + }, "application/vnd.ctc-posml": { "source": "iana", "extensions": ["pml"] @@ -2817,6 +2853,19 @@ "source": "iana", "extensions": ["fsc"] }, + "application/vnd.fujifilm.fb.docuworks": { + "source": "iana" + }, + "application/vnd.fujifilm.fb.docuworks.binder": { + "source": "iana" + }, + "application/vnd.fujifilm.fb.docuworks.container": { + "source": "iana" + }, + "application/vnd.fujifilm.fb.jfi+xml": { + "source": "iana", + "compressible": true + }, "application/vnd.fujitsu.oasys": { "source": "iana", "extensions": ["oas"] @@ -3427,7 +3476,8 @@ "extensions": ["portpkg"] }, "application/vnd.mapbox-vector-tile": { - "source": "iana" + "source": "iana", + "extensions": ["mvt"] }, "application/vnd.marlin.drm.actiontoken+xml": { "source": "iana", @@ -5438,6 +5488,7 @@ "source": "iana" }, "application/wasm": { + "source": "iana", "compressible": true, "extensions": ["wasm"] }, @@ -7400,6 +7451,9 @@ "source": "iana", "extensions": ["x_t"] }, + "model/vnd.pytha.pyox": { + "source": "iana" + }, "model/vnd.rosette.annotated-data-model": { "source": "iana" }, @@ -7682,6 +7736,7 @@ "source": "iana" }, "text/shex": { + "source": "iana", "extensions": ["shex"] }, "text/slim": { @@ -7953,6 +8008,7 @@ "source": "iana" }, "text/yaml": { + "compressible": true, "extensions": ["yaml","yml"] }, "video/1d-interleaved-parityfec": { diff --git a/deps/npm/node_modules/mime-db/package.json b/deps/npm/node_modules/mime-db/package.json index bd6403fb68f9f1..d4395a727b8888 100644 --- a/deps/npm/node_modules/mime-db/package.json +++ b/deps/npm/node_modules/mime-db/package.json @@ -1,7 +1,7 @@ { "name": "mime-db", "description": "Media Type Database", - "version": "1.47.0", + "version": "1.48.0", "contributors": [ "Douglas Christopher Wilson ", "Jonathan Ong (http://jongleberry.com)", @@ -22,16 +22,16 @@ "bluebird": "3.7.2", "co": "4.6.0", "cogent": "1.0.1", - "csv-parse": "4.15.3", - "eslint": "7.23.0", + "csv-parse": "4.15.4", + "eslint": "7.27.0", "eslint-config-standard": "15.0.1", - "eslint-plugin-import": "2.22.1", - "eslint-plugin-markdown": "2.0.0", + "eslint-plugin-import": "2.23.4", + "eslint-plugin-markdown": "2.2.0", "eslint-plugin-node": "11.1.0", - "eslint-plugin-promise": "4.3.1", + "eslint-plugin-promise": "5.1.0", "eslint-plugin-standard": "4.1.0", "gnode": "0.1.2", - "mocha": "8.3.2", + "mocha": "8.4.0", "nyc": "15.1.0", "raw-body": "2.4.1", "stream-to-array": "2.3.0" diff --git a/deps/npm/node_modules/mime-types/HISTORY.md b/deps/npm/node_modules/mime-types/HISTORY.md index 38472bee131e46..19e45a15fcc7f4 100644 --- a/deps/npm/node_modules/mime-types/HISTORY.md +++ b/deps/npm/node_modules/mime-types/HISTORY.md @@ -1,3 +1,11 @@ +2.1.31 / 2021-06-01 +=================== + + * deps: mime-db@1.48.0 + - Add extension `.mvt` to `application/vnd.mapbox-vector-tile` + - Add new upstream MIME types + - Mark `text/yaml` as compressible + 2.1.30 / 2021-04-02 =================== diff --git a/deps/npm/node_modules/mime-types/package.json b/deps/npm/node_modules/mime-types/package.json index ea53dd22aa1d38..a271000ec92389 100644 --- a/deps/npm/node_modules/mime-types/package.json +++ b/deps/npm/node_modules/mime-types/package.json @@ -1,7 +1,7 @@ { "name": "mime-types", "description": "The ultimate javascript content-type utility.", - "version": "2.1.30", + "version": "2.1.31", "contributors": [ "Douglas Christopher Wilson ", "Jeremiah Senkpiel (https://searchbeam.jit.su)", @@ -14,17 +14,17 @@ ], "repository": "jshttp/mime-types", "dependencies": { - "mime-db": "1.47.0" + "mime-db": "1.48.0" }, "devDependencies": { - "eslint": "7.23.0", + "eslint": "7.27.0", "eslint-config-standard": "14.1.1", - "eslint-plugin-import": "2.22.1", - "eslint-plugin-markdown": "2.0.0", + "eslint-plugin-import": "2.23.4", + "eslint-plugin-markdown": "2.2.0", "eslint-plugin-node": "11.1.0", - "eslint-plugin-promise": "4.3.1", + "eslint-plugin-promise": "5.1.0", "eslint-plugin-standard": "4.1.0", - "mocha": "8.3.2", + "mocha": "8.4.0", "nyc": "15.1.0" }, "files": [ diff --git a/deps/npm/node_modules/negotiator/HISTORY.md b/deps/npm/node_modules/negotiator/HISTORY.md new file mode 100644 index 00000000000000..6d06c76aaa9650 --- /dev/null +++ b/deps/npm/node_modules/negotiator/HISTORY.md @@ -0,0 +1,103 @@ +0.6.2 / 2019-04-29 +================== + + * Fix sorting charset, encoding, and language with extra parameters + +0.6.1 / 2016-05-02 +================== + + * perf: improve `Accept` parsing speed + * perf: improve `Accept-Charset` parsing speed + * perf: improve `Accept-Encoding` parsing speed + * perf: improve `Accept-Language` parsing speed + +0.6.0 / 2015-09-29 +================== + + * Fix including type extensions in parameters in `Accept` parsing + * Fix parsing `Accept` parameters with quoted equals + * Fix parsing `Accept` parameters with quoted semicolons + * Lazy-load modules from main entry point + * perf: delay type concatenation until needed + * perf: enable strict mode + * perf: hoist regular expressions + * perf: remove closures getting spec properties + * perf: remove a closure from media type parsing + * perf: remove property delete from media type parsing + +0.5.3 / 2015-05-10 +================== + + * Fix media type parameter matching to be case-insensitive + +0.5.2 / 2015-05-06 +================== + + * Fix comparing media types with quoted values + * Fix splitting media types with quoted commas + +0.5.1 / 2015-02-14 +================== + + * Fix preference sorting to be stable for long acceptable lists + +0.5.0 / 2014-12-18 +================== + + * Fix list return order when large accepted list + * Fix missing identity encoding when q=0 exists + * Remove dynamic building of Negotiator class + +0.4.9 / 2014-10-14 +================== + + * Fix error when media type has invalid parameter + +0.4.8 / 2014-09-28 +================== + + * Fix all negotiations to be case-insensitive + * Stable sort preferences of same quality according to client order + * Support Node.js 0.6 + +0.4.7 / 2014-06-24 +================== + + * Handle invalid provided languages + * Handle invalid provided media types + +0.4.6 / 2014-06-11 +================== + + * Order by specificity when quality is the same + +0.4.5 / 2014-05-29 +================== + + * Fix regression in empty header handling + +0.4.4 / 2014-05-29 +================== + + * Fix behaviors when headers are not present + +0.4.3 / 2014-04-16 +================== + + * Handle slashes on media params correctly + +0.4.2 / 2014-02-28 +================== + + * Fix media type sorting + * Handle media types params strictly + +0.4.1 / 2014-01-16 +================== + + * Use most specific matches + +0.4.0 / 2014-01-09 +================== + + * Remove preferred prefix from methods diff --git a/deps/npm/node_modules/negotiator/LICENSE b/deps/npm/node_modules/negotiator/LICENSE new file mode 100644 index 00000000000000..ea6b9e2e9ac251 --- /dev/null +++ b/deps/npm/node_modules/negotiator/LICENSE @@ -0,0 +1,24 @@ +(The MIT License) + +Copyright (c) 2012-2014 Federico Romero +Copyright (c) 2012-2014 Isaac Z. Schlueter +Copyright (c) 2014-2015 Douglas Christopher Wilson + +Permission is hereby granted, free of charge, to any person obtaining +a copy of this software and associated documentation files (the +'Software'), to deal in the Software without restriction, including +without limitation the rights to use, copy, modify, merge, publish, +distribute, sublicense, and/or sell copies of the Software, and to +permit persons to whom the Software is furnished to do so, subject to +the following conditions: + +The above copyright notice and this permission notice shall be +included in all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED 'AS IS', WITHOUT WARRANTY OF ANY KIND, +EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF +MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. +IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY +CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, +TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE +SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. diff --git a/deps/npm/node_modules/negotiator/README.md b/deps/npm/node_modules/negotiator/README.md new file mode 100644 index 00000000000000..04a67ff7656709 --- /dev/null +++ b/deps/npm/node_modules/negotiator/README.md @@ -0,0 +1,203 @@ +# negotiator + +[![NPM Version][npm-image]][npm-url] +[![NPM Downloads][downloads-image]][downloads-url] +[![Node.js Version][node-version-image]][node-version-url] +[![Build Status][travis-image]][travis-url] +[![Test Coverage][coveralls-image]][coveralls-url] + +An HTTP content negotiator for Node.js + +## Installation + +```sh +$ npm install negotiator +``` + +## API + +```js +var Negotiator = require('negotiator') +``` + +### Accept Negotiation + +```js +availableMediaTypes = ['text/html', 'text/plain', 'application/json'] + +// The negotiator constructor receives a request object +negotiator = new Negotiator(request) + +// Let's say Accept header is 'text/html, application/*;q=0.2, image/jpeg;q=0.8' + +negotiator.mediaTypes() +// -> ['text/html', 'image/jpeg', 'application/*'] + +negotiator.mediaTypes(availableMediaTypes) +// -> ['text/html', 'application/json'] + +negotiator.mediaType(availableMediaTypes) +// -> 'text/html' +``` + +You can check a working example at `examples/accept.js`. + +#### Methods + +##### mediaType() + +Returns the most preferred media type from the client. + +##### mediaType(availableMediaType) + +Returns the most preferred media type from a list of available media types. + +##### mediaTypes() + +Returns an array of preferred media types ordered by the client preference. + +##### mediaTypes(availableMediaTypes) + +Returns an array of preferred media types ordered by priority from a list of +available media types. + +### Accept-Language Negotiation + +```js +negotiator = new Negotiator(request) + +availableLanguages = ['en', 'es', 'fr'] + +// Let's say Accept-Language header is 'en;q=0.8, es, pt' + +negotiator.languages() +// -> ['es', 'pt', 'en'] + +negotiator.languages(availableLanguages) +// -> ['es', 'en'] + +language = negotiator.language(availableLanguages) +// -> 'es' +``` + +You can check a working example at `examples/language.js`. + +#### Methods + +##### language() + +Returns the most preferred language from the client. + +##### language(availableLanguages) + +Returns the most preferred language from a list of available languages. + +##### languages() + +Returns an array of preferred languages ordered by the client preference. + +##### languages(availableLanguages) + +Returns an array of preferred languages ordered by priority from a list of +available languages. + +### Accept-Charset Negotiation + +```js +availableCharsets = ['utf-8', 'iso-8859-1', 'iso-8859-5'] + +negotiator = new Negotiator(request) + +// Let's say Accept-Charset header is 'utf-8, iso-8859-1;q=0.8, utf-7;q=0.2' + +negotiator.charsets() +// -> ['utf-8', 'iso-8859-1', 'utf-7'] + +negotiator.charsets(availableCharsets) +// -> ['utf-8', 'iso-8859-1'] + +negotiator.charset(availableCharsets) +// -> 'utf-8' +``` + +You can check a working example at `examples/charset.js`. + +#### Methods + +##### charset() + +Returns the most preferred charset from the client. + +##### charset(availableCharsets) + +Returns the most preferred charset from a list of available charsets. + +##### charsets() + +Returns an array of preferred charsets ordered by the client preference. + +##### charsets(availableCharsets) + +Returns an array of preferred charsets ordered by priority from a list of +available charsets. + +### Accept-Encoding Negotiation + +```js +availableEncodings = ['identity', 'gzip'] + +negotiator = new Negotiator(request) + +// Let's say Accept-Encoding header is 'gzip, compress;q=0.2, identity;q=0.5' + +negotiator.encodings() +// -> ['gzip', 'identity', 'compress'] + +negotiator.encodings(availableEncodings) +// -> ['gzip', 'identity'] + +negotiator.encoding(availableEncodings) +// -> 'gzip' +``` + +You can check a working example at `examples/encoding.js`. + +#### Methods + +##### encoding() + +Returns the most preferred encoding from the client. + +##### encoding(availableEncodings) + +Returns the most preferred encoding from a list of available encodings. + +##### encodings() + +Returns an array of preferred encodings ordered by the client preference. + +##### encodings(availableEncodings) + +Returns an array of preferred encodings ordered by priority from a list of +available encodings. + +## See Also + +The [accepts](https://npmjs.org/package/accepts#readme) module builds on +this module and provides an alternative interface, mime type validation, +and more. + +## License + +[MIT](LICENSE) + +[npm-image]: https://img.shields.io/npm/v/negotiator.svg +[npm-url]: https://npmjs.org/package/negotiator +[node-version-image]: https://img.shields.io/node/v/negotiator.svg +[node-version-url]: https://nodejs.org/en/download/ +[travis-image]: https://img.shields.io/travis/jshttp/negotiator/master.svg +[travis-url]: https://travis-ci.org/jshttp/negotiator +[coveralls-image]: https://img.shields.io/coveralls/jshttp/negotiator/master.svg +[coveralls-url]: https://coveralls.io/r/jshttp/negotiator?branch=master +[downloads-image]: https://img.shields.io/npm/dm/negotiator.svg +[downloads-url]: https://npmjs.org/package/negotiator diff --git a/deps/npm/node_modules/negotiator/index.js b/deps/npm/node_modules/negotiator/index.js new file mode 100644 index 00000000000000..8d4f6a226cb0d8 --- /dev/null +++ b/deps/npm/node_modules/negotiator/index.js @@ -0,0 +1,124 @@ +/*! + * negotiator + * Copyright(c) 2012 Federico Romero + * Copyright(c) 2012-2014 Isaac Z. Schlueter + * Copyright(c) 2015 Douglas Christopher Wilson + * MIT Licensed + */ + +'use strict'; + +/** + * Cached loaded submodules. + * @private + */ + +var modules = Object.create(null); + +/** + * Module exports. + * @public + */ + +module.exports = Negotiator; +module.exports.Negotiator = Negotiator; + +/** + * Create a Negotiator instance from a request. + * @param {object} request + * @public + */ + +function Negotiator(request) { + if (!(this instanceof Negotiator)) { + return new Negotiator(request); + } + + this.request = request; +} + +Negotiator.prototype.charset = function charset(available) { + var set = this.charsets(available); + return set && set[0]; +}; + +Negotiator.prototype.charsets = function charsets(available) { + var preferredCharsets = loadModule('charset').preferredCharsets; + return preferredCharsets(this.request.headers['accept-charset'], available); +}; + +Negotiator.prototype.encoding = function encoding(available) { + var set = this.encodings(available); + return set && set[0]; +}; + +Negotiator.prototype.encodings = function encodings(available) { + var preferredEncodings = loadModule('encoding').preferredEncodings; + return preferredEncodings(this.request.headers['accept-encoding'], available); +}; + +Negotiator.prototype.language = function language(available) { + var set = this.languages(available); + return set && set[0]; +}; + +Negotiator.prototype.languages = function languages(available) { + var preferredLanguages = loadModule('language').preferredLanguages; + return preferredLanguages(this.request.headers['accept-language'], available); +}; + +Negotiator.prototype.mediaType = function mediaType(available) { + var set = this.mediaTypes(available); + return set && set[0]; +}; + +Negotiator.prototype.mediaTypes = function mediaTypes(available) { + var preferredMediaTypes = loadModule('mediaType').preferredMediaTypes; + return preferredMediaTypes(this.request.headers.accept, available); +}; + +// Backwards compatibility +Negotiator.prototype.preferredCharset = Negotiator.prototype.charset; +Negotiator.prototype.preferredCharsets = Negotiator.prototype.charsets; +Negotiator.prototype.preferredEncoding = Negotiator.prototype.encoding; +Negotiator.prototype.preferredEncodings = Negotiator.prototype.encodings; +Negotiator.prototype.preferredLanguage = Negotiator.prototype.language; +Negotiator.prototype.preferredLanguages = Negotiator.prototype.languages; +Negotiator.prototype.preferredMediaType = Negotiator.prototype.mediaType; +Negotiator.prototype.preferredMediaTypes = Negotiator.prototype.mediaTypes; + +/** + * Load the given module. + * @private + */ + +function loadModule(moduleName) { + var module = modules[moduleName]; + + if (module !== undefined) { + return module; + } + + // This uses a switch for static require analysis + switch (moduleName) { + case 'charset': + module = require('./lib/charset'); + break; + case 'encoding': + module = require('./lib/encoding'); + break; + case 'language': + module = require('./lib/language'); + break; + case 'mediaType': + module = require('./lib/mediaType'); + break; + default: + throw new Error('Cannot find module \'' + moduleName + '\''); + } + + // Store to prevent invoking require() + modules[moduleName] = module; + + return module; +} diff --git a/deps/npm/node_modules/negotiator/lib/charset.js b/deps/npm/node_modules/negotiator/lib/charset.js new file mode 100644 index 00000000000000..cdd014803474a4 --- /dev/null +++ b/deps/npm/node_modules/negotiator/lib/charset.js @@ -0,0 +1,169 @@ +/** + * negotiator + * Copyright(c) 2012 Isaac Z. Schlueter + * Copyright(c) 2014 Federico Romero + * Copyright(c) 2014-2015 Douglas Christopher Wilson + * MIT Licensed + */ + +'use strict'; + +/** + * Module exports. + * @public + */ + +module.exports = preferredCharsets; +module.exports.preferredCharsets = preferredCharsets; + +/** + * Module variables. + * @private + */ + +var simpleCharsetRegExp = /^\s*([^\s;]+)\s*(?:;(.*))?$/; + +/** + * Parse the Accept-Charset header. + * @private + */ + +function parseAcceptCharset(accept) { + var accepts = accept.split(','); + + for (var i = 0, j = 0; i < accepts.length; i++) { + var charset = parseCharset(accepts[i].trim(), i); + + if (charset) { + accepts[j++] = charset; + } + } + + // trim accepts + accepts.length = j; + + return accepts; +} + +/** + * Parse a charset from the Accept-Charset header. + * @private + */ + +function parseCharset(str, i) { + var match = simpleCharsetRegExp.exec(str); + if (!match) return null; + + var charset = match[1]; + var q = 1; + if (match[2]) { + var params = match[2].split(';') + for (var j = 0; j < params.length; j++) { + var p = params[j].trim().split('='); + if (p[0] === 'q') { + q = parseFloat(p[1]); + break; + } + } + } + + return { + charset: charset, + q: q, + i: i + }; +} + +/** + * Get the priority of a charset. + * @private + */ + +function getCharsetPriority(charset, accepted, index) { + var priority = {o: -1, q: 0, s: 0}; + + for (var i = 0; i < accepted.length; i++) { + var spec = specify(charset, accepted[i], index); + + if (spec && (priority.s - spec.s || priority.q - spec.q || priority.o - spec.o) < 0) { + priority = spec; + } + } + + return priority; +} + +/** + * Get the specificity of the charset. + * @private + */ + +function specify(charset, spec, index) { + var s = 0; + if(spec.charset.toLowerCase() === charset.toLowerCase()){ + s |= 1; + } else if (spec.charset !== '*' ) { + return null + } + + return { + i: index, + o: spec.i, + q: spec.q, + s: s + } +} + +/** + * Get the preferred charsets from an Accept-Charset header. + * @public + */ + +function preferredCharsets(accept, provided) { + // RFC 2616 sec 14.2: no header = * + var accepts = parseAcceptCharset(accept === undefined ? '*' : accept || ''); + + if (!provided) { + // sorted list of all charsets + return accepts + .filter(isQuality) + .sort(compareSpecs) + .map(getFullCharset); + } + + var priorities = provided.map(function getPriority(type, index) { + return getCharsetPriority(type, accepts, index); + }); + + // sorted list of accepted charsets + return priorities.filter(isQuality).sort(compareSpecs).map(function getCharset(priority) { + return provided[priorities.indexOf(priority)]; + }); +} + +/** + * Compare two specs. + * @private + */ + +function compareSpecs(a, b) { + return (b.q - a.q) || (b.s - a.s) || (a.o - b.o) || (a.i - b.i) || 0; +} + +/** + * Get full charset string. + * @private + */ + +function getFullCharset(spec) { + return spec.charset; +} + +/** + * Check if a spec has any quality. + * @private + */ + +function isQuality(spec) { + return spec.q > 0; +} diff --git a/deps/npm/node_modules/negotiator/lib/encoding.js b/deps/npm/node_modules/negotiator/lib/encoding.js new file mode 100644 index 00000000000000..8432cd77b8a969 --- /dev/null +++ b/deps/npm/node_modules/negotiator/lib/encoding.js @@ -0,0 +1,184 @@ +/** + * negotiator + * Copyright(c) 2012 Isaac Z. Schlueter + * Copyright(c) 2014 Federico Romero + * Copyright(c) 2014-2015 Douglas Christopher Wilson + * MIT Licensed + */ + +'use strict'; + +/** + * Module exports. + * @public + */ + +module.exports = preferredEncodings; +module.exports.preferredEncodings = preferredEncodings; + +/** + * Module variables. + * @private + */ + +var simpleEncodingRegExp = /^\s*([^\s;]+)\s*(?:;(.*))?$/; + +/** + * Parse the Accept-Encoding header. + * @private + */ + +function parseAcceptEncoding(accept) { + var accepts = accept.split(','); + var hasIdentity = false; + var minQuality = 1; + + for (var i = 0, j = 0; i < accepts.length; i++) { + var encoding = parseEncoding(accepts[i].trim(), i); + + if (encoding) { + accepts[j++] = encoding; + hasIdentity = hasIdentity || specify('identity', encoding); + minQuality = Math.min(minQuality, encoding.q || 1); + } + } + + if (!hasIdentity) { + /* + * If identity doesn't explicitly appear in the accept-encoding header, + * it's added to the list of acceptable encoding with the lowest q + */ + accepts[j++] = { + encoding: 'identity', + q: minQuality, + i: i + }; + } + + // trim accepts + accepts.length = j; + + return accepts; +} + +/** + * Parse an encoding from the Accept-Encoding header. + * @private + */ + +function parseEncoding(str, i) { + var match = simpleEncodingRegExp.exec(str); + if (!match) return null; + + var encoding = match[1]; + var q = 1; + if (match[2]) { + var params = match[2].split(';'); + for (var j = 0; j < params.length; j++) { + var p = params[j].trim().split('='); + if (p[0] === 'q') { + q = parseFloat(p[1]); + break; + } + } + } + + return { + encoding: encoding, + q: q, + i: i + }; +} + +/** + * Get the priority of an encoding. + * @private + */ + +function getEncodingPriority(encoding, accepted, index) { + var priority = {o: -1, q: 0, s: 0}; + + for (var i = 0; i < accepted.length; i++) { + var spec = specify(encoding, accepted[i], index); + + if (spec && (priority.s - spec.s || priority.q - spec.q || priority.o - spec.o) < 0) { + priority = spec; + } + } + + return priority; +} + +/** + * Get the specificity of the encoding. + * @private + */ + +function specify(encoding, spec, index) { + var s = 0; + if(spec.encoding.toLowerCase() === encoding.toLowerCase()){ + s |= 1; + } else if (spec.encoding !== '*' ) { + return null + } + + return { + i: index, + o: spec.i, + q: spec.q, + s: s + } +}; + +/** + * Get the preferred encodings from an Accept-Encoding header. + * @public + */ + +function preferredEncodings(accept, provided) { + var accepts = parseAcceptEncoding(accept || ''); + + if (!provided) { + // sorted list of all encodings + return accepts + .filter(isQuality) + .sort(compareSpecs) + .map(getFullEncoding); + } + + var priorities = provided.map(function getPriority(type, index) { + return getEncodingPriority(type, accepts, index); + }); + + // sorted list of accepted encodings + return priorities.filter(isQuality).sort(compareSpecs).map(function getEncoding(priority) { + return provided[priorities.indexOf(priority)]; + }); +} + +/** + * Compare two specs. + * @private + */ + +function compareSpecs(a, b) { + return (b.q - a.q) || (b.s - a.s) || (a.o - b.o) || (a.i - b.i) || 0; +} + +/** + * Get full encoding string. + * @private + */ + +function getFullEncoding(spec) { + return spec.encoding; +} + +/** + * Check if a spec has any quality. + * @private + */ + +function isQuality(spec) { + return spec.q > 0; +} diff --git a/deps/npm/node_modules/negotiator/lib/language.js b/deps/npm/node_modules/negotiator/lib/language.js new file mode 100644 index 00000000000000..62f737f0060219 --- /dev/null +++ b/deps/npm/node_modules/negotiator/lib/language.js @@ -0,0 +1,179 @@ +/** + * negotiator + * Copyright(c) 2012 Isaac Z. Schlueter + * Copyright(c) 2014 Federico Romero + * Copyright(c) 2014-2015 Douglas Christopher Wilson + * MIT Licensed + */ + +'use strict'; + +/** + * Module exports. + * @public + */ + +module.exports = preferredLanguages; +module.exports.preferredLanguages = preferredLanguages; + +/** + * Module variables. + * @private + */ + +var simpleLanguageRegExp = /^\s*([^\s\-;]+)(?:-([^\s;]+))?\s*(?:;(.*))?$/; + +/** + * Parse the Accept-Language header. + * @private + */ + +function parseAcceptLanguage(accept) { + var accepts = accept.split(','); + + for (var i = 0, j = 0; i < accepts.length; i++) { + var language = parseLanguage(accepts[i].trim(), i); + + if (language) { + accepts[j++] = language; + } + } + + // trim accepts + accepts.length = j; + + return accepts; +} + +/** + * Parse a language from the Accept-Language header. + * @private + */ + +function parseLanguage(str, i) { + var match = simpleLanguageRegExp.exec(str); + if (!match) return null; + + var prefix = match[1], + suffix = match[2], + full = prefix; + + if (suffix) full += "-" + suffix; + + var q = 1; + if (match[3]) { + var params = match[3].split(';') + for (var j = 0; j < params.length; j++) { + var p = params[j].split('='); + if (p[0] === 'q') q = parseFloat(p[1]); + } + } + + return { + prefix: prefix, + suffix: suffix, + q: q, + i: i, + full: full + }; +} + +/** + * Get the priority of a language. + * @private + */ + +function getLanguagePriority(language, accepted, index) { + var priority = {o: -1, q: 0, s: 0}; + + for (var i = 0; i < accepted.length; i++) { + var spec = specify(language, accepted[i], index); + + if (spec && (priority.s - spec.s || priority.q - spec.q || priority.o - spec.o) < 0) { + priority = spec; + } + } + + return priority; +} + +/** + * Get the specificity of the language. + * @private + */ + +function specify(language, spec, index) { + var p = parseLanguage(language) + if (!p) return null; + var s = 0; + if(spec.full.toLowerCase() === p.full.toLowerCase()){ + s |= 4; + } else if (spec.prefix.toLowerCase() === p.full.toLowerCase()) { + s |= 2; + } else if (spec.full.toLowerCase() === p.prefix.toLowerCase()) { + s |= 1; + } else if (spec.full !== '*' ) { + return null + } + + return { + i: index, + o: spec.i, + q: spec.q, + s: s + } +}; + +/** + * Get the preferred languages from an Accept-Language header. + * @public + */ + +function preferredLanguages(accept, provided) { + // RFC 2616 sec 14.4: no header = * + var accepts = parseAcceptLanguage(accept === undefined ? '*' : accept || ''); + + if (!provided) { + // sorted list of all languages + return accepts + .filter(isQuality) + .sort(compareSpecs) + .map(getFullLanguage); + } + + var priorities = provided.map(function getPriority(type, index) { + return getLanguagePriority(type, accepts, index); + }); + + // sorted list of accepted languages + return priorities.filter(isQuality).sort(compareSpecs).map(function getLanguage(priority) { + return provided[priorities.indexOf(priority)]; + }); +} + +/** + * Compare two specs. + * @private + */ + +function compareSpecs(a, b) { + return (b.q - a.q) || (b.s - a.s) || (a.o - b.o) || (a.i - b.i) || 0; +} + +/** + * Get full language string. + * @private + */ + +function getFullLanguage(spec) { + return spec.full; +} + +/** + * Check if a spec has any quality. + * @private + */ + +function isQuality(spec) { + return spec.q > 0; +} diff --git a/deps/npm/node_modules/negotiator/lib/mediaType.js b/deps/npm/node_modules/negotiator/lib/mediaType.js new file mode 100644 index 00000000000000..67309dd75f1b62 --- /dev/null +++ b/deps/npm/node_modules/negotiator/lib/mediaType.js @@ -0,0 +1,294 @@ +/** + * negotiator + * Copyright(c) 2012 Isaac Z. Schlueter + * Copyright(c) 2014 Federico Romero + * Copyright(c) 2014-2015 Douglas Christopher Wilson + * MIT Licensed + */ + +'use strict'; + +/** + * Module exports. + * @public + */ + +module.exports = preferredMediaTypes; +module.exports.preferredMediaTypes = preferredMediaTypes; + +/** + * Module variables. + * @private + */ + +var simpleMediaTypeRegExp = /^\s*([^\s\/;]+)\/([^;\s]+)\s*(?:;(.*))?$/; + +/** + * Parse the Accept header. + * @private + */ + +function parseAccept(accept) { + var accepts = splitMediaTypes(accept); + + for (var i = 0, j = 0; i < accepts.length; i++) { + var mediaType = parseMediaType(accepts[i].trim(), i); + + if (mediaType) { + accepts[j++] = mediaType; + } + } + + // trim accepts + accepts.length = j; + + return accepts; +} + +/** + * Parse a media type from the Accept header. + * @private + */ + +function parseMediaType(str, i) { + var match = simpleMediaTypeRegExp.exec(str); + if (!match) return null; + + var params = Object.create(null); + var q = 1; + var subtype = match[2]; + var type = match[1]; + + if (match[3]) { + var kvps = splitParameters(match[3]).map(splitKeyValuePair); + + for (var j = 0; j < kvps.length; j++) { + var pair = kvps[j]; + var key = pair[0].toLowerCase(); + var val = pair[1]; + + // get the value, unwrapping quotes + var value = val && val[0] === '"' && val[val.length - 1] === '"' + ? val.substr(1, val.length - 2) + : val; + + if (key === 'q') { + q = parseFloat(value); + break; + } + + // store parameter + params[key] = value; + } + } + + return { + type: type, + subtype: subtype, + params: params, + q: q, + i: i + }; +} + +/** + * Get the priority of a media type. + * @private + */ + +function getMediaTypePriority(type, accepted, index) { + var priority = {o: -1, q: 0, s: 0}; + + for (var i = 0; i < accepted.length; i++) { + var spec = specify(type, accepted[i], index); + + if (spec && (priority.s - spec.s || priority.q - spec.q || priority.o - spec.o) < 0) { + priority = spec; + } + } + + return priority; +} + +/** + * Get the specificity of the media type. + * @private + */ + +function specify(type, spec, index) { + var p = parseMediaType(type); + var s = 0; + + if (!p) { + return null; + } + + if(spec.type.toLowerCase() == p.type.toLowerCase()) { + s |= 4 + } else if(spec.type != '*') { + return null; + } + + if(spec.subtype.toLowerCase() == p.subtype.toLowerCase()) { + s |= 2 + } else if(spec.subtype != '*') { + return null; + } + + var keys = Object.keys(spec.params); + if (keys.length > 0) { + if (keys.every(function (k) { + return spec.params[k] == '*' || (spec.params[k] || '').toLowerCase() == (p.params[k] || '').toLowerCase(); + })) { + s |= 1 + } else { + return null + } + } + + return { + i: index, + o: spec.i, + q: spec.q, + s: s, + } +} + +/** + * Get the preferred media types from an Accept header. + * @public + */ + +function preferredMediaTypes(accept, provided) { + // RFC 2616 sec 14.2: no header = */* + var accepts = parseAccept(accept === undefined ? '*/*' : accept || ''); + + if (!provided) { + // sorted list of all types + return accepts + .filter(isQuality) + .sort(compareSpecs) + .map(getFullType); + } + + var priorities = provided.map(function getPriority(type, index) { + return getMediaTypePriority(type, accepts, index); + }); + + // sorted list of accepted types + return priorities.filter(isQuality).sort(compareSpecs).map(function getType(priority) { + return provided[priorities.indexOf(priority)]; + }); +} + +/** + * Compare two specs. + * @private + */ + +function compareSpecs(a, b) { + return (b.q - a.q) || (b.s - a.s) || (a.o - b.o) || (a.i - b.i) || 0; +} + +/** + * Get full type string. + * @private + */ + +function getFullType(spec) { + return spec.type + '/' + spec.subtype; +} + +/** + * Check if a spec has any quality. + * @private + */ + +function isQuality(spec) { + return spec.q > 0; +} + +/** + * Count the number of quotes in a string. + * @private + */ + +function quoteCount(string) { + var count = 0; + var index = 0; + + while ((index = string.indexOf('"', index)) !== -1) { + count++; + index++; + } + + return count; +} + +/** + * Split a key value pair. + * @private + */ + +function splitKeyValuePair(str) { + var index = str.indexOf('='); + var key; + var val; + + if (index === -1) { + key = str; + } else { + key = str.substr(0, index); + val = str.substr(index + 1); + } + + return [key, val]; +} + +/** + * Split an Accept header into media types. + * @private + */ + +function splitMediaTypes(accept) { + var accepts = accept.split(','); + + for (var i = 1, j = 0; i < accepts.length; i++) { + if (quoteCount(accepts[j]) % 2 == 0) { + accepts[++j] = accepts[i]; + } else { + accepts[j] += ',' + accepts[i]; + } + } + + // trim accepts + accepts.length = j + 1; + + return accepts; +} + +/** + * Split a string of parameters. + * @private + */ + +function splitParameters(str) { + var parameters = str.split(';'); + + for (var i = 1, j = 0; i < parameters.length; i++) { + if (quoteCount(parameters[j]) % 2 == 0) { + parameters[++j] = parameters[i]; + } else { + parameters[j] += ';' + parameters[i]; + } + } + + // trim parameters + parameters.length = j + 1; + + for (var i = 0; i < parameters.length; i++) { + parameters[i] = parameters[i].trim(); + } + + return parameters; +} diff --git a/deps/npm/node_modules/negotiator/package.json b/deps/npm/node_modules/negotiator/package.json new file mode 100644 index 00000000000000..0c7ff3c2e64682 --- /dev/null +++ b/deps/npm/node_modules/negotiator/package.json @@ -0,0 +1,42 @@ +{ + "name": "negotiator", + "description": "HTTP content negotiation", + "version": "0.6.2", + "contributors": [ + "Douglas Christopher Wilson ", + "Federico Romero ", + "Isaac Z. Schlueter (http://blog.izs.me/)" + ], + "license": "MIT", + "keywords": [ + "http", + "content negotiation", + "accept", + "accept-language", + "accept-encoding", + "accept-charset" + ], + "repository": "jshttp/negotiator", + "devDependencies": { + "eslint": "5.16.0", + "eslint-plugin-markdown": "1.0.0", + "mocha": "6.1.4", + "nyc": "14.0.0" + }, + "files": [ + "lib/", + "HISTORY.md", + "LICENSE", + "index.js", + "README.md" + ], + "engines": { + "node": ">= 0.6" + }, + "scripts": { + "lint": "eslint --plugin markdown --ext js,md .", + "test": "mocha --reporter spec --check-leaks --bail test/", + "test-cov": "nyc --reporter=html --reporter=text npm test", + "test-travis": "nyc --reporter=text npm test" + } +} diff --git a/deps/npm/node_modules/npm-package-arg/CHANGELOG.md b/deps/npm/node_modules/npm-package-arg/CHANGELOG.md deleted file mode 100644 index 390a3a3c4f2de0..00000000000000 --- a/deps/npm/node_modules/npm-package-arg/CHANGELOG.md +++ /dev/null @@ -1,52 +0,0 @@ -# Changelog - -All notable changes to this project will be documented in this file. See [standard-version](https://github.com/conventional-changelog/standard-version) for commit guidelines. - -## [8.0.0](https://github.com/npm/npm-package-arg/compare/v7.0.0...v8.0.0) (2019-12-15) - - -### ⚠ BREAKING CHANGES - -* Dropping support for node 6 and 8. It'll probably -still work on those versions, but they are no longer supported or -tested, since npm v7 is moving away from them. - -* drop support for node 6 and 8 ([ba85e68](https://github.com/npm/npm-package-arg/commit/ba85e68555d6270f672c3d59da17672f744d0376)) - - -# [7.0.0](https://github.com/npm/npm-package-arg/compare/v6.1.1...v7.0.0) (2019-11-11) - - -### deps - -* bump hosted-git-info to 3.0.2 ([68a4fc3](https://github.com/npm/npm-package-arg/commit/68a4fc3)), closes [/github.com/npm/hosted-git-info/pull/38#issuecomment-520243803](https://github.com//github.com/npm/hosted-git-info/pull/38/issues/issuecomment-520243803) - - -### BREAKING CHANGES - -* this drops support for ancient node versions. - - - - -## [6.1.1](https://github.com/npm/npm-package-arg/compare/v6.1.0...v6.1.1) (2019-08-21) - - -### Bug Fixes - -* preserve drive letter on windows git file:// urls ([3909203](https://github.com/npm/npm-package-arg/commit/3909203)) - - - - -# [6.1.0](https://github.com/npm/npm-package-arg/compare/v6.0.0...v6.1.0) (2018-04-10) - - -### Bug Fixes - -* **git:** Fix gitRange for git+ssh for private git ([#33](https://github.com/npm/npm-package-arg/issues/33)) ([647a0b3](https://github.com/npm/npm-package-arg/commit/647a0b3)) - - -### Features - -* **alias:** add `npm:` registry alias spec ([#34](https://github.com/npm/npm-package-arg/issues/34)) ([ab99f8e](https://github.com/npm/npm-package-arg/commit/ab99f8e)) diff --git a/deps/npm/node_modules/npm-package-arg/npa.js b/deps/npm/node_modules/npm-package-arg/npa.js index 6018dd608ed334..3a01d4d9071929 100644 --- a/deps/npm/node_modules/npm-package-arg/npa.js +++ b/deps/npm/node_modules/npm-package-arg/npa.js @@ -3,16 +3,12 @@ module.exports = npa module.exports.resolve = resolve module.exports.Result = Result -let url -let HostedGit -let semver -let path_ -function path () { - if (!path_) path_ = require('path') - return path_ -} -let validatePackageName -let os +const url = require('url') +const HostedGit = require('hosted-git-info') +const semver = require('semver') +const path = require('path') +const validatePackageName = require('validate-npm-package-name') +const { homedir } = require('os') const isWindows = process.platform === 'win32' || global.FAKE_WINDOWS const hasSlashes = isWindows ? /\\|[/]/ : /[/]/ @@ -24,33 +20,30 @@ function npa (arg, where) { let name let spec if (typeof arg === 'object') { - if (arg instanceof Result && (!where || where === arg.where)) { + if (arg instanceof Result && (!where || where === arg.where)) return arg - } else if (arg.name && arg.rawSpec) { + else if (arg.name && arg.rawSpec) return npa.resolve(arg.name, arg.rawSpec, where || arg.where) - } else { + else return npa(arg.raw, where || arg.where) - } } const nameEndsAt = arg[0] === '@' ? arg.slice(1).indexOf('@') + 1 : arg.indexOf('@') const namePart = nameEndsAt > 0 ? arg.slice(0, nameEndsAt) : arg - if (isURL.test(arg)) { + if (isURL.test(arg)) spec = arg - } else if (isGit.test(arg)) { + else if (isGit.test(arg)) spec = `git+ssh://${arg}` - } else if (namePart[0] !== '@' && (hasSlashes.test(namePart) || isFilename.test(namePart))) { + else if (namePart[0] !== '@' && (hasSlashes.test(namePart) || isFilename.test(namePart))) spec = arg - } else if (nameEndsAt > 0) { + else if (nameEndsAt > 0) { name = namePart spec = arg.slice(nameEndsAt + 1) } else { - if (!validatePackageName) validatePackageName = require('validate-npm-package-name') const valid = validatePackageName(arg) - if (valid.validForOldPackages) { + if (valid.validForOldPackages) name = arg - } else { + else spec = arg - } } return resolve(name, spec, where, arg) } @@ -62,27 +55,29 @@ function resolve (name, spec, where, arg) { raw: arg, name: name, rawSpec: spec, - fromArgument: arg != null + fromArgument: arg != null, }) - if (name) res.setName(name) + if (name) + res.setName(name) - if (spec && (isFilespec.test(spec) || /^file:/i.test(spec))) { + if (spec && (isFilespec.test(spec) || /^file:/i.test(spec))) return fromFile(res, where) - } else if (spec && /^npm:/i.test(spec)) { + else if (spec && /^npm:/i.test(spec)) return fromAlias(res, where) - } - if (!HostedGit) HostedGit = require('hosted-git-info') - const hosted = HostedGit.fromUrl(spec, { noGitPlus: true, noCommittish: true }) - if (hosted) { + + const hosted = HostedGit.fromUrl(spec, { + noGitPlus: true, + noCommittish: true, + }) + if (hosted) return fromHostedGit(res, hosted) - } else if (spec && isURL.test(spec)) { + else if (spec && isURL.test(spec)) return fromURL(res) - } else if (spec && (hasSlashes.test(spec) || isFilename.test(spec))) { + else if (spec && (hasSlashes.test(spec) || isFilename.test(spec))) return fromFile(res, where) - } else { + else return fromRegistry(res) - } } function invalidPackageName (name, valid) { @@ -100,29 +95,29 @@ function Result (opts) { this.type = opts.type this.registry = opts.registry this.where = opts.where - if (opts.raw == null) { + if (opts.raw == null) this.raw = opts.name ? opts.name + '@' + opts.rawSpec : opts.rawSpec - } else { + else this.raw = opts.raw - } + this.name = undefined this.escapedName = undefined this.scope = undefined this.rawSpec = opts.rawSpec == null ? '' : opts.rawSpec this.saveSpec = opts.saveSpec this.fetchSpec = opts.fetchSpec - if (opts.name) this.setName(opts.name) + if (opts.name) + this.setName(opts.name) this.gitRange = opts.gitRange this.gitCommittish = opts.gitCommittish this.hosted = opts.hosted } Result.prototype.setName = function (name) { - if (!validatePackageName) validatePackageName = require('validate-npm-package-name') const valid = validatePackageName(name) - if (!valid.validForOldPackages) { + if (!valid.validForOldPackages) throw invalidPackageName(name, valid) - } + this.name = name this.scope = name[0] === '@' ? name.slice(0, name.indexOf('/')) : undefined // scoped packages in couch must have slash url-encoded, e.g. @foo%2Fbar @@ -132,9 +127,11 @@ Result.prototype.setName = function (name) { Result.prototype.toString = function () { const full = [] - if (this.name != null && this.name !== '') full.push(this.name) + if (this.name != null && this.name !== '') + full.push(this.name) const spec = this.saveSpec || this.fetchSpec || this.rawSpec - if (spec != null && spec !== '') full.push(spec) + if (spec != null && spec !== '') + full.push(spec) return full.length ? full.join('@') : this.raw } @@ -148,45 +145,47 @@ function setGitCommittish (res, committish) { if (committish != null && committish.length >= 7 && committish.slice(0, 7) === 'semver:') { res.gitRange = decodeURIComponent(committish.slice(7)) res.gitCommittish = null - } else { + } else res.gitCommittish = committish === '' ? null : committish - } + return res } const isAbsolutePath = /^[/]|^[A-Za-z]:/ function resolvePath (where, spec) { - if (isAbsolutePath.test(spec)) return spec - return path().resolve(where, spec) + if (isAbsolutePath.test(spec)) + return spec + return path.resolve(where, spec) } function isAbsolute (dir) { - if (dir[0] === '/') return true - if (/^[A-Za-z]:/.test(dir)) return true + if (dir[0] === '/') + return true + if (/^[A-Za-z]:/.test(dir)) + return true return false } function fromFile (res, where) { - if (!where) where = process.cwd() + if (!where) + where = process.cwd() res.type = isFilename.test(res.rawSpec) ? 'file' : 'directory' res.where = where const spec = res.rawSpec.replace(/\\/g, '/') .replace(/^file:[/]*([A-Za-z]:)/, '$1') // drive name paths on windows - .replace(/^file:(?:[/]*([~./]))?/, '$1') + .replace(/^file:(?:[/]*(~\/|\.*\/|[/]))?/, '$1') if (/^~[/]/.test(spec)) { // this is needed for windows and for file:~/foo/bar - if (!os) os = require('os') - res.fetchSpec = resolvePath(os.homedir(), spec.slice(2)) + res.fetchSpec = resolvePath(homedir(), spec.slice(2)) res.saveSpec = 'file:' + spec } else { res.fetchSpec = resolvePath(where, spec) - if (isAbsolute(spec)) { + if (isAbsolute(spec)) res.saveSpec = 'file:' + spec - } else { - res.saveSpec = 'file:' + path().relative(where, res.fetchSpec) - } + else + res.saveSpec = 'file:' + path.relative(where, res.fetchSpec) } return res } @@ -217,12 +216,12 @@ function matchGitScp (spec) { const matched = spec.match(/^git\+ssh:\/\/([^:#]+:[^#]+(?:\.git)?)(?:#(.*))?$/i) return matched && !matched[1].match(/:[0-9]+\/?.*$/i) && { fetchSpec: matched[1], - gitCommittish: matched[2] == null ? null : matched[2] + gitCommittish: matched[2] == null ? null : matched[2], } } function fromURL (res) { - if (!url) url = require('url') + // eslint-disable-next-line node/no-deprecated-api const urlparse = url.parse(res.rawSpec) res.saveSpec = res.rawSpec // check the protocol, and then see if it's git or not @@ -233,9 +232,10 @@ function fromURL (res) { case 'git+rsync:': case 'git+ftp:': case 'git+file:': - case 'git+ssh:': + case 'git+ssh:': { res.type = 'git' - const match = urlparse.protocol === 'git+ssh:' && matchGitScp(res.rawSpec) + const match = urlparse.protocol === 'git+ssh:' ? matchGitScp(res.rawSpec) + : null if (match) { setGitCommittish(res, match.gitCommittish) res.fetchSpec = match.fetchSpec @@ -251,6 +251,7 @@ function fromURL (res) { res.fetchSpec = url.format(urlparse) } break + } case 'http:': case 'https:': res.type = 'remote' @@ -266,12 +267,12 @@ function fromURL (res) { function fromAlias (res, where) { const subSpec = npa(res.rawSpec.substr(4), where) - if (subSpec.type === 'alias') { + if (subSpec.type === 'alias') throw new Error('nested aliases not supported') - } - if (!subSpec.registry) { + + if (!subSpec.registry) throw new Error('aliases only work for registry deps') - } + res.subSpec = subSpec res.registry = true res.type = 'alias' @@ -282,22 +283,21 @@ function fromAlias (res, where) { function fromRegistry (res) { res.registry = true - const spec = res.rawSpec === '' ? 'latest' : res.rawSpec + const spec = res.rawSpec === '' ? 'latest' : res.rawSpec.trim() // no save spec for registry components as we save based on the fetched // version, not on the argument so this can't compute that. res.saveSpec = null res.fetchSpec = spec - if (!semver) semver = require('semver') const version = semver.valid(spec, true) const range = semver.validRange(spec, true) - if (version) { + if (version) res.type = 'version' - } else if (range) { + else if (range) res.type = 'range' - } else { - if (encodeURIComponent(spec) !== spec) { + else { + if (encodeURIComponent(spec) !== spec) throw invalidTagName(spec) - } + res.type = 'tag' } return res diff --git a/deps/npm/node_modules/npm-package-arg/package.json b/deps/npm/node_modules/npm-package-arg/package.json index ed3b364442c2cc..a237928943ccb5 100644 --- a/deps/npm/node_modules/npm-package-arg/package.json +++ b/deps/npm/node_modules/npm-package-arg/package.json @@ -1,6 +1,6 @@ { "name": "npm-package-arg", - "version": "8.1.2", + "version": "8.1.4", "description": "Parse the things that can be arguments to `npm install`", "main": "npa.js", "directories": { @@ -15,14 +15,20 @@ "validate-npm-package-name": "^3.0.0" }, "devDependencies": { - "tap": "^14.11.0" + "@npmcli/lint": "^1.0.1", + "tap": "^15.0.9" }, "scripts": { "preversion": "npm test", "postversion": "npm publish", "prepublishOnly": "git push origin --follow-tags", "test": "tap", - "snap": "tap" + "snap": "tap", + "npmclilint": "npmcli-lint", + "lint": "npm run npmclilint -- \"*.*js\" \"test/**/*.*js\"", + "lintfix": "npm run lint -- --fix", + "posttest": "npm run lint --", + "postsnap": "npm run lintfix --" }, "repository": { "type": "git", diff --git a/deps/npm/node_modules/npm-profile/CHANGELOG.md b/deps/npm/node_modules/npm-profile/CHANGELOG.md deleted file mode 100644 index 3205cf532299bf..00000000000000 --- a/deps/npm/node_modules/npm-profile/CHANGELOG.md +++ /dev/null @@ -1,62 +0,0 @@ -# v5.0.0 (2020-02-27) - -- Drop the CLI from the project, just maintain the library -- Drop support for EOL Node.js versions -- Remove `Promise` option, just use native Promises -- Remove `figgy-pudding` -- Use `npm-registry-fetch` v8 -- fix: do not try to open invalid URLs for WebLogin - -# v4.0.3 (2020-02-27) - -- fix: do not try to open invalid URLs for WebLogin - -# v4.0.2 (2019-07-16) - -- Update `npm-registry-fetch` to 4.0.0 - -# v4.0.1 (2018-08-29) - -- `opts.password` needs to be base64-encoded when passed in for login -- Bump `npm-registry-fetch` dep because we depend on `opts.forceAuth` - -# v4.0.0 (2018-08-28) - -## BREAKING CHANGES: - -- Networking and auth-related options now use the latest [`npm-registry-fetch` config format](https://www.npmjs.com/package/npm-registry-fetch#fetch-opts). - -# v3.0.2 (2018-06-07) - -- Allow newer make-fetch-happen. -- Report 500s from weblogin end point as unsupported. -- EAUTHUNKNOWN errors were incorrectly reported as EAUTHIP. - -# v3.0.1 (2018-02-18) - -- Log `npm-notice` headers - -# v3.0.0 (2018-02-18) - -## BREAKING CHANGES: - -- profile.login() and profile.adduser() take 2 functions: opener() and - prompter(). opener is used when we get the url couplet from the - registry. prompter is used if web-based login fails. -- Non-200 status codes now always throw. Previously if the `content.error` - property was set, `content` would be returned. Content is available on the - thrown error object in the `body` property. - -## FEATURES: - -- The previous adduser is available as adduserCouch -- The previous login is available as loginCouch -- New loginWeb and adduserWeb commands added, which take an opener - function to open up the web browser. -- General errors have better error message reporting - -## FIXES: - -- General errors now correctly include the URL. -- Missing user errors from Couch are now thrown. (As was always intended.) -- Many errors have better stacktrace filtering. diff --git a/deps/npm/node_modules/npm-profile/package.json b/deps/npm/node_modules/npm-profile/package.json index 7e2acc4d075255..43cc7c921bb049 100644 --- a/deps/npm/node_modules/npm-profile/package.json +++ b/deps/npm/node_modules/npm-profile/package.json @@ -1,12 +1,12 @@ { "name": "npm-profile", - "version": "5.0.3", + "version": "5.0.4", "description": "Library for updating an npmjs.com profile", "keywords": [], "author": "Rebecca Turner (http://re-becca.org/)", "license": "ISC", "dependencies": { - "npm-registry-fetch": "^10.0.0" + "npm-registry-fetch": "^11.0.0" }, "main": "index.js", "repository": { diff --git a/deps/npm/node_modules/npm-registry-fetch/README.md b/deps/npm/node_modules/npm-registry-fetch/README.md index 5ce9770c604cf7..efc3b1f644b5d0 100644 --- a/deps/npm/node_modules/npm-registry-fetch/README.md +++ b/deps/npm/node_modules/npm-registry-fetch/README.md @@ -390,7 +390,7 @@ invocations of the CLI). * Type: String * Default: null -If provided, it will be sent in the `npm-command` header. This yeader is +If provided, it will be sent in the `npm-command` header. This header is used by the npm registry to identify the npm command that caused this request to be made. @@ -516,10 +516,7 @@ If the request URI already has a query string, it will be merged with * Default: `'https://registry.npmjs.org'` Registry configuration for a request. If a request URL only includes the URL -path, this registry setting will be prepended. This configuration is also used -to determine authentication details, so even if the request URL references a -completely different host, `opts.registry` will be used to find the auth details -for that request. +path, this registry setting will be prepended. See also [`opts.scope`](#opts-scope), [`opts.spec`](#opts-spec), and [`opts.:registry`](#opts-scope-registry) which can all affect the actual diff --git a/deps/npm/node_modules/npm-registry-fetch/check-response.js b/deps/npm/node_modules/npm-registry-fetch/check-response.js index 7610e0d7a7ad2e..8bd85661ee8cae 100644 --- a/deps/npm/node_modules/npm-registry-fetch/check-response.js +++ b/deps/npm/node_modules/npm-registry-fetch/check-response.js @@ -1,46 +1,46 @@ 'use strict' const errors = require('./errors.js') -const LRU = require('lru-cache') const { Response } = require('minipass-fetch') const defaultOpts = require('./default-opts.js') -const checkResponse = async ({ method, uri, res, registry, startTime, auth, opts }) => { - opts = { ...defaultOpts, ...opts } - if (res.headers.has('npm-notice') && !res.headers.has('x-local-cache')) - opts.log.notice('', res.headers.get('npm-notice')) +const checkResponse = + async ({ method, uri, res, registry, startTime, auth, opts }) => { + opts = { ...defaultOpts, ...opts } + if (res.headers.has('npm-notice') && !res.headers.has('x-local-cache')) + opts.log.notice('', res.headers.get('npm-notice')) - checkWarnings(res, registry, opts) - if (res.status >= 400) { - logRequest(method, res, startTime, opts) - if (auth && auth.scopeAuthKey && !auth.token && !auth.auth) { + if (res.status >= 400) { + logRequest(method, res, startTime, opts) + if (auth && auth.scopeAuthKey && !auth.token && !auth.auth) { // we didn't have auth for THIS request, but we do have auth for // requests to the registry indicated by the spec's scope value. // Warn the user. - opts.log.warn('registry', `No auth for URI, but auth present for scoped registry. + opts.log.warn('registry', `No auth for URI, but auth present for scoped registry. URI: ${uri} Scoped Registry Key: ${auth.scopeAuthKey} More info here: https://github.com/npm/cli/wiki/No-auth-for-URI,-but-auth-present-for-scoped-registry`) + } + return checkErrors(method, res, startTime, opts) + } else { + res.body.on('end', () => logRequest(method, res, startTime, opts)) + if (opts.ignoreBody) { + res.body.resume() + return new Response(null, res) + } + return res } - return checkErrors(method, res, startTime, opts) - } else { - res.body.on('end', () => logRequest(method, res, startTime, opts)) - if (opts.ignoreBody) { - res.body.resume() - return new Response(null, res) - } - return res } -} module.exports = checkResponse function logRequest (method, res, startTime, opts) { const elapsedTime = Date.now() - startTime const attempt = res.headers.get('x-fetch-attempts') const attemptStr = attempt && attempt > 1 ? ` attempt #${attempt}` : '' - const cacheStr = res.headers.get('x-local-cache') ? ' (from cache)' : '' + const cacheStatus = res.headers.get('x-local-cache-status') + const cacheStr = cacheStatus ? ` (cache ${cacheStatus})` : '' let urlStr try { @@ -60,46 +60,6 @@ function logRequest (method, res, startTime, opts) { ) } -const WARNING_REGEXP = /^\s*(\d{3})\s+(\S+)\s+"(.*)"\s+"([^"]+)"/ -const BAD_HOSTS = new LRU({ max: 50 }) - -function checkWarnings (res, registry, opts) { - if (res.headers.has('warning') && !BAD_HOSTS.has(registry)) { - const warnings = {} - // note: headers.raw() will preserve case, so we might have a - // key on the object like 'WaRnInG' if that was used first - for (const [key, value] of Object.entries(res.headers.raw())) { - if (key.toLowerCase() !== 'warning') - continue - value.forEach(w => { - const match = w.match(WARNING_REGEXP) - if (match) { - warnings[match[1]] = { - code: match[1], - host: match[2], - message: match[3], - date: new Date(match[4]), - } - } - }) - } - BAD_HOSTS.set(registry, true) - if (warnings['199']) { - if (warnings['199'].message.match(/ENOTFOUND/)) - opts.log.warn('registry', `Using stale data from ${registry} because the host is inaccessible -- are you offline?`) - else - opts.log.warn('registry', `Unexpected warning for ${registry}: ${warnings['199'].message}`) - } - if (warnings['111']) { - // 111 Revalidation failed -- we're using stale data - opts.log.warn( - 'registry', - `Using stale data from ${registry} due to a request error during revalidation.` - ) - } - } -} - function checkErrors (method, res, startTime, opts) { return res.buffer() .catch(() => null) @@ -126,7 +86,8 @@ function checkErrors (method, res, startTime, opts) { ) } } else if (res.status === 401 && body != null && /one-time pass/.test(body.toString('utf8'))) { - // Heuristic for malformed OTP responses that don't include the www-authenticate header. + // Heuristic for malformed OTP responses that don't include the + // www-authenticate header. throw new errors.HttpErrorAuthOTP( method, res, parsed, opts.spec ) diff --git a/deps/npm/node_modules/npm-registry-fetch/index.js b/deps/npm/node_modules/npm-registry-fetch/index.js index 5411b51e58abca..35fab75bcade98 100644 --- a/deps/npm/node_modules/npm-registry-fetch/index.js +++ b/deps/npm/node_modules/npm-registry-fetch/index.js @@ -160,7 +160,8 @@ function fetchJSON (uri, opts) { } module.exports.json.stream = fetchJSONStream -function fetchJSONStream (uri, jsonPath, /* istanbul ignore next */ opts_ = {}) { +function fetchJSONStream (uri, jsonPath, + /* istanbul ignore next */ opts_ = {}) { const opts = { ...defaultOpts, ...opts_ } const parser = JSONStream.parse(jsonPath, opts.mapJSON) regFetch(uri, opts).then(res => diff --git a/deps/npm/node_modules/npm-registry-fetch/package.json b/deps/npm/node_modules/npm-registry-fetch/package.json index d32f82c075ae76..e4eaabaa5b09a6 100644 --- a/deps/npm/node_modules/npm-registry-fetch/package.json +++ b/deps/npm/node_modules/npm-registry-fetch/package.json @@ -1,6 +1,6 @@ { "name": "npm-registry-fetch", - "version": "10.1.2", + "version": "11.0.0", "description": "Fetch-based http client for use with npm registry APIs", "main": "index.js", "files": [ @@ -8,13 +8,15 @@ ], "scripts": { "eslint": "eslint", - "lint": "npm run eslint -- *.js test/*.js", + "lint": "npm run npmclilint -- \"*.*js\" \"test/**/*.*js\"", "lintfix": "npm run lint -- --fix", "prepublishOnly": "git push origin --follow-tags", "preversion": "npm test", "postversion": "npm publish", "test": "tap", - "posttest": "npm run lint" + "posttest": "npm run lint --", + "npmclilint": "npmcli-lint", + "postsnap": "npm run lintfix --" }, "repository": "https://github.com/npm/npm-registry-fetch", "keywords": [ @@ -29,8 +31,7 @@ }, "license": "ISC", "dependencies": { - "lru-cache": "^6.0.0", - "make-fetch-happen": "^8.0.9", + "make-fetch-happen": "^9.0.1", "minipass": "^3.1.3", "minipass-fetch": "^1.3.0", "minipass-json-stream": "^1.0.1", @@ -38,17 +39,11 @@ "npm-package-arg": "^8.0.0" }, "devDependencies": { + "@npmcli/lint": "^1.0.1", "cacache": "^15.0.0", - "eslint": "^6.8.0", - "eslint-plugin-import": "^2.18.2", - "eslint-plugin-node": "^10.0.0", - "eslint-plugin-promise": "^4.2.1", - "eslint-plugin-standard": "^4.0.1", - "mkdirp": "^0.5.1", - "nock": "^11.7.0", + "nock": "^13.1.0", "npmlog": "^4.1.2", "require-inject": "^1.4.4", - "rimraf": "^2.6.2", "ssri": "^8.0.0", "tap": "^15.0.4" }, diff --git a/deps/npm/node_modules/pacote/package.json b/deps/npm/node_modules/pacote/package.json index 2461b055bfd13c..7472c6eeab0cc8 100644 --- a/deps/npm/node_modules/pacote/package.json +++ b/deps/npm/node_modules/pacote/package.json @@ -1,6 +1,6 @@ { "name": "pacote", - "version": "11.3.3", + "version": "11.3.4", "description": "JavaScript package downloader", "author": "Isaac Z. Schlueter (https://izs.me)", "bin": { @@ -46,7 +46,7 @@ "npm-package-arg": "^8.0.1", "npm-packlist": "^2.1.4", "npm-pick-manifest": "^6.0.0", - "npm-registry-fetch": "^10.0.0", + "npm-registry-fetch": "^11.0.0", "promise-retry": "^2.0.1", "read-package-json-fast": "^2.0.1", "rimraf": "^3.0.2", diff --git a/deps/npm/node_modules/path-parse/.travis.yml b/deps/npm/node_modules/path-parse/.travis.yml deleted file mode 100644 index dae31da968ba1f..00000000000000 --- a/deps/npm/node_modules/path-parse/.travis.yml +++ /dev/null @@ -1,9 +0,0 @@ -language: node_js -node_js: - - "0.12" - - "0.11" - - "0.10" - - "0.10.12" - - "0.8" - - "0.6" - - "iojs" diff --git a/deps/npm/node_modules/path-parse/index.js b/deps/npm/node_modules/path-parse/index.js index 3b7601fe494eed..ffb22a1ead9a3e 100644 --- a/deps/npm/node_modules/path-parse/index.js +++ b/deps/npm/node_modules/path-parse/index.js @@ -2,29 +2,14 @@ var isWindows = process.platform === 'win32'; -// Regex to split a windows path into three parts: [*, device, slash, -// tail] windows-only -var splitDeviceRe = - /^([a-zA-Z]:|[\\\/]{2}[^\\\/]+[\\\/]+[^\\\/]+)?([\\\/])?([\s\S]*?)$/; - -// Regex to split the tail part of the above into [*, dir, basename, ext] -var splitTailRe = - /^([\s\S]*?)((?:\.{1,2}|[^\\\/]+?|)(\.[^.\/\\]*|))(?:[\\\/]*)$/; +// Regex to split a windows path into into [dir, root, basename, name, ext] +var splitWindowsRe = + /^(((?:[a-zA-Z]:|[\\\/]{2}[^\\\/]+[\\\/]+[^\\\/]+)?[\\\/]?)(?:[^\\\/]*[\\\/])*)((\.{1,2}|[^\\\/]+?|)(\.[^.\/\\]*|))[\\\/]*$/; var win32 = {}; -// Function to split a filename into [root, dir, basename, ext] function win32SplitPath(filename) { - // Separate device+slash from tail - var result = splitDeviceRe.exec(filename), - device = (result[1] || '') + (result[2] || ''), - tail = result[3] || ''; - // Split the tail into dir, basename and extension - var result2 = splitTailRe.exec(tail), - dir = result2[1], - basename = result2[2], - ext = result2[3]; - return [device, dir, basename, ext]; + return splitWindowsRe.exec(filename).slice(1); } win32.parse = function(pathString) { @@ -34,24 +19,24 @@ win32.parse = function(pathString) { ); } var allParts = win32SplitPath(pathString); - if (!allParts || allParts.length !== 4) { + if (!allParts || allParts.length !== 5) { throw new TypeError("Invalid path '" + pathString + "'"); } return { - root: allParts[0], - dir: allParts[0] + allParts[1].slice(0, -1), + root: allParts[1], + dir: allParts[0] === allParts[1] ? allParts[0] : allParts[0].slice(0, -1), base: allParts[2], - ext: allParts[3], - name: allParts[2].slice(0, allParts[2].length - allParts[3].length) + ext: allParts[4], + name: allParts[3] }; }; -// Split a filename into [root, dir, basename, ext], unix version +// Split a filename into [dir, root, basename, name, ext], unix version // 'root' is just a slash, or nothing. var splitPathRe = - /^(\/?|)([\s\S]*?)((?:\.{1,2}|[^\/]+?|)(\.[^.\/]*|))(?:[\/]*)$/; + /^((\/?)(?:[^\/]*\/)*)((\.{1,2}|[^\/]+?|)(\.[^.\/]*|))[\/]*$/; var posix = {}; @@ -67,19 +52,16 @@ posix.parse = function(pathString) { ); } var allParts = posixSplitPath(pathString); - if (!allParts || allParts.length !== 4) { + if (!allParts || allParts.length !== 5) { throw new TypeError("Invalid path '" + pathString + "'"); } - allParts[1] = allParts[1] || ''; - allParts[2] = allParts[2] || ''; - allParts[3] = allParts[3] || ''; return { - root: allParts[0], - dir: allParts[0] + allParts[1].slice(0, -1), + root: allParts[1], + dir: allParts[0].slice(0, -1), base: allParts[2], - ext: allParts[3], - name: allParts[2].slice(0, allParts[2].length - allParts[3].length) + ext: allParts[4], + name: allParts[3], }; }; diff --git a/deps/npm/node_modules/path-parse/package.json b/deps/npm/node_modules/path-parse/package.json index 21332bb14f8b7f..36c23f84e7063c 100644 --- a/deps/npm/node_modules/path-parse/package.json +++ b/deps/npm/node_modules/path-parse/package.json @@ -1,6 +1,6 @@ { "name": "path-parse", - "version": "1.0.6", + "version": "1.0.7", "description": "Node.js path.parse() ponyfill", "main": "index.js", "scripts": { diff --git a/deps/npm/node_modules/path-parse/test.js b/deps/npm/node_modules/path-parse/test.js deleted file mode 100644 index 0b30c123936395..00000000000000 --- a/deps/npm/node_modules/path-parse/test.js +++ /dev/null @@ -1,77 +0,0 @@ -var assert = require('assert'); -var pathParse = require('./index'); - -var winParseTests = [ - [{ root: 'C:\\', dir: 'C:\\path\\dir', base: 'index.html', ext: '.html', name: 'index' }, 'C:\\path\\dir\\index.html'], - [{ root: 'C:\\', dir: 'C:\\another_path\\DIR\\1\\2\\33', base: 'index', ext: '', name: 'index' }, 'C:\\another_path\\DIR\\1\\2\\33\\index'], - [{ root: '', dir: 'another_path\\DIR with spaces\\1\\2\\33', base: 'index', ext: '', name: 'index' }, 'another_path\\DIR with spaces\\1\\2\\33\\index'], - [{ root: '\\', dir: '\\foo', base: 'C:', ext: '', name: 'C:' }, '\\foo\\C:'], - [{ root: '', dir: '', base: 'file', ext: '', name: 'file' }, 'file'], - [{ root: '', dir: '.', base: 'file', ext: '', name: 'file' }, '.\\file'], - - // unc - [{ root: '\\\\server\\share\\', dir: '\\\\server\\share\\', base: 'file_path', ext: '', name: 'file_path' }, '\\\\server\\share\\file_path'], - [{ root: '\\\\server two\\shared folder\\', dir: '\\\\server two\\shared folder\\', base: 'file path.zip', ext: '.zip', name: 'file path' }, '\\\\server two\\shared folder\\file path.zip'], - [{ root: '\\\\teela\\admin$\\', dir: '\\\\teela\\admin$\\', base: 'system32', ext: '', name: 'system32' }, '\\\\teela\\admin$\\system32'], - [{ root: '\\\\?\\UNC\\', dir: '\\\\?\\UNC\\server', base: 'share', ext: '', name: 'share' }, '\\\\?\\UNC\\server\\share'] -]; - -var winSpecialCaseFormatTests = [ - [{dir: 'some\\dir'}, 'some\\dir\\'], - [{base: 'index.html'}, 'index.html'], - [{}, ''] -]; - -var unixParseTests = [ - [{ root: '/', dir: '/home/user/dir', base: 'file.txt', ext: '.txt', name: 'file' }, '/home/user/dir/file.txt'], - [{ root: '/', dir: '/home/user/a dir', base: 'another File.zip', ext: '.zip', name: 'another File' }, '/home/user/a dir/another File.zip'], - [{ root: '/', dir: '/home/user/a dir/', base: 'another&File.', ext: '.', name: 'another&File' }, '/home/user/a dir//another&File.'], - [{ root: '/', dir: '/home/user/a$$$dir/', base: 'another File.zip', ext: '.zip', name: 'another File' }, '/home/user/a$$$dir//another File.zip'], - [{ root: '', dir: 'user/dir', base: 'another File.zip', ext: '.zip', name: 'another File' }, 'user/dir/another File.zip'], - [{ root: '', dir: '', base: 'file', ext: '', name: 'file' }, 'file'], - [{ root: '', dir: '', base: '.\\file', ext: '', name: '.\\file' }, '.\\file'], - [{ root: '', dir: '.', base: 'file', ext: '', name: 'file' }, './file'], - [{ root: '', dir: '', base: 'C:\\foo', ext: '', name: 'C:\\foo' }, 'C:\\foo'] -]; - -var unixSpecialCaseFormatTests = [ - [{dir: 'some/dir'}, 'some/dir/'], - [{base: 'index.html'}, 'index.html'], - [{}, ''] -]; - -var errors = [ - {input: null, message: /Parameter 'pathString' must be a string, not/}, - {input: {}, message: /Parameter 'pathString' must be a string, not object/}, - {input: true, message: /Parameter 'pathString' must be a string, not boolean/}, - {input: 1, message: /Parameter 'pathString' must be a string, not number/}, - {input: undefined, message: /Parameter 'pathString' must be a string, not undefined/}, -]; - -checkParseFormat(pathParse.win32, winParseTests); -checkParseFormat(pathParse.posix, unixParseTests); -checkErrors(pathParse.win32); -checkErrors(pathParse.posix); - -function checkErrors(parse) { - errors.forEach(function(errorCase) { - try { - parse(errorCase.input); - } catch(err) { - assert.ok(err instanceof TypeError); - assert.ok( - errorCase.message.test(err.message), - 'expected ' + errorCase.message + ' to match ' + err.message - ); - return; - } - - assert.fail('should have thrown'); - }); -} - -function checkParseFormat(parse, testCases) { - testCases.forEach(function(testCase) { - assert.deepEqual(parse(testCase[1]), testCase[0]); - }); -} diff --git a/deps/npm/node_modules/form-data/License b/deps/npm/node_modules/request/node_modules/form-data/License similarity index 100% rename from deps/npm/node_modules/form-data/License rename to deps/npm/node_modules/request/node_modules/form-data/License diff --git a/deps/npm/node_modules/form-data/README.md b/deps/npm/node_modules/request/node_modules/form-data/README.md similarity index 100% rename from deps/npm/node_modules/form-data/README.md rename to deps/npm/node_modules/request/node_modules/form-data/README.md diff --git a/deps/npm/node_modules/form-data/README.md.bak b/deps/npm/node_modules/request/node_modules/form-data/README.md.bak similarity index 100% rename from deps/npm/node_modules/form-data/README.md.bak rename to deps/npm/node_modules/request/node_modules/form-data/README.md.bak diff --git a/deps/npm/node_modules/form-data/lib/browser.js b/deps/npm/node_modules/request/node_modules/form-data/lib/browser.js similarity index 100% rename from deps/npm/node_modules/form-data/lib/browser.js rename to deps/npm/node_modules/request/node_modules/form-data/lib/browser.js diff --git a/deps/npm/node_modules/form-data/lib/form_data.js b/deps/npm/node_modules/request/node_modules/form-data/lib/form_data.js similarity index 100% rename from deps/npm/node_modules/form-data/lib/form_data.js rename to deps/npm/node_modules/request/node_modules/form-data/lib/form_data.js diff --git a/deps/npm/node_modules/form-data/lib/populate.js b/deps/npm/node_modules/request/node_modules/form-data/lib/populate.js similarity index 100% rename from deps/npm/node_modules/form-data/lib/populate.js rename to deps/npm/node_modules/request/node_modules/form-data/lib/populate.js diff --git a/deps/npm/node_modules/form-data/package.json b/deps/npm/node_modules/request/node_modules/form-data/package.json similarity index 100% rename from deps/npm/node_modules/form-data/package.json rename to deps/npm/node_modules/request/node_modules/form-data/package.json diff --git a/deps/npm/node_modules/form-data/yarn.lock b/deps/npm/node_modules/request/node_modules/form-data/yarn.lock similarity index 100% rename from deps/npm/node_modules/form-data/yarn.lock rename to deps/npm/node_modules/request/node_modules/form-data/yarn.lock diff --git a/deps/npm/node_modules/spdx-license-ids/README.md b/deps/npm/node_modules/spdx-license-ids/README.md index 699514d1a28aa5..e9b5aa6372c9c7 100644 --- a/deps/npm/node_modules/spdx-license-ids/README.md +++ b/deps/npm/node_modules/spdx-license-ids/README.md @@ -7,7 +7,7 @@ A list of [SPDX license](https://spdx.org/licenses/) identifiers ## Installation -[Download JSON directly](https://raw.githubusercontent.com/shinnn/spdx-license-ids/master/index.json), or [use](https://docs.npmjs.com/cli/install) [npm](https://docs.npmjs.com/about-npm/): +[Download JSON directly](https://raw.githubusercontent.com/shinnn/spdx-license-ids/main/index.json), or [use](https://docs.npmjs.com/cli/install) [npm](https://docs.npmjs.com/about-npm/): ``` npm install spdx-license-ids diff --git a/deps/npm/node_modules/spdx-license-ids/index.json b/deps/npm/node_modules/spdx-license-ids/index.json index 864d2410c83a90..c2d5e017b29673 100644 --- a/deps/npm/node_modules/spdx-license-ids/index.json +++ b/deps/npm/node_modules/spdx-license-ids/index.json @@ -42,11 +42,14 @@ "BSD-3-Clause-Attribution", "BSD-3-Clause-Clear", "BSD-3-Clause-LBNL", + "BSD-3-Clause-Modification", + "BSD-3-Clause-No-Military-License", "BSD-3-Clause-No-Nuclear-License", "BSD-3-Clause-No-Nuclear-License-2014", "BSD-3-Clause-No-Nuclear-Warranty", "BSD-3-Clause-Open-MPI", "BSD-4-Clause", + "BSD-4-Clause-Shortened", "BSD-4-Clause-UC", "BSD-Protection", "BSD-Source-Code", @@ -59,6 +62,7 @@ "BitTorrent-1.1", "BlueOak-1.0.0", "Borceux", + "C-UDA-1.0", "CAL-1.0", "CAL-1.0-Combined-Work-Exception", "CATOSL-1.1", @@ -93,6 +97,7 @@ "CC-BY-SA-1.0", "CC-BY-SA-2.0", "CC-BY-SA-2.0-UK", + "CC-BY-SA-2.1-JP", "CC-BY-SA-2.5", "CC-BY-SA-3.0", "CC-BY-SA-3.0-AT", @@ -101,6 +106,7 @@ "CC0-1.0", "CDDL-1.0", "CDDL-1.1", + "CDL-1.0", "CDLA-Permissive-1.0", "CDLA-Sharing-1.0", "CECILL-1.0", @@ -129,6 +135,7 @@ "Cube", "D-FSL-1.0", "DOC", + "DRL-1.0", "DSDP", "Dotseqn", "ECL-1.0", @@ -151,7 +158,9 @@ "FTL", "Fair", "Frameworx-1.0", + "FreeBSD-DOC", "FreeImage", + "GD", "GFDL-1.1-invariants-only", "GFDL-1.1-invariants-or-later", "GFDL-1.1-no-invariants-only", @@ -227,6 +236,7 @@ "MIT", "MIT-0", "MIT-CMU", + "MIT-Modern-Variant", "MIT-advertising", "MIT-enna", "MIT-feh", @@ -246,6 +256,7 @@ "MulanPSL-2.0", "Multics", "Mup", + "NAIST-2003", "NASA-1.3", "NBPL-1.0", "NCGL-UK-2.0", @@ -280,6 +291,7 @@ "OFL-1.1-RFN", "OFL-1.1-no-RFN", "OGC-1.0", + "OGDL-Taiwan-1.0", "OGL-Canada-2.0", "OGL-UK-1.0", "OGL-UK-2.0", diff --git a/deps/npm/node_modules/spdx-license-ids/package.json b/deps/npm/node_modules/spdx-license-ids/package.json index eea631250e53e7..5639091b877045 100644 --- a/deps/npm/node_modules/spdx-license-ids/package.json +++ b/deps/npm/node_modules/spdx-license-ids/package.json @@ -1,6 +1,6 @@ { "name": "spdx-license-ids", - "version": "3.0.7", + "version": "3.0.9", "description": "A list of SPDX license identifiers", "repository": "jslicense/spdx-license-ids", "author": "Shinnosuke Watanabe (https://github.com/shinnn)", diff --git a/deps/npm/package.json b/deps/npm/package.json index 7df43589334ef5..3f54979cb954ec 100644 --- a/deps/npm/package.json +++ b/deps/npm/package.json @@ -1,7 +1,10 @@ { - "version": "7.15.1", + "version": "7.16.0", "name": "npm", "description": "a package manager for JavaScript", + "workspaces": [ + "docs" + ], "keywords": [ "install", "modules", @@ -76,7 +79,7 @@ "libnpmsearch": "^3.1.1", "libnpmteam": "^2.0.3", "libnpmversion": "^1.2.0", - "make-fetch-happen": "^8.0.14", + "make-fetch-happen": "^9.0.1", "minipass": "^3.1.3", "minipass-pipeline": "^1.2.4", "mkdirp": "^1.0.4", @@ -85,10 +88,10 @@ "node-gyp": "^7.1.2", "nopt": "^5.0.0", "npm-audit-report": "^2.1.5", - "npm-package-arg": "^8.1.2", + "npm-package-arg": "^8.1.4", "npm-pick-manifest": "^6.1.1", "npm-profile": "^5.0.3", - "npm-registry-fetch": "^10.1.2", + "npm-registry-fetch": "^11.0.0", "npm-user-validate": "^1.0.1", "npmlog": "~4.1.2", "opener": "^1.5.2", @@ -180,18 +183,13 @@ "write-file-atomic" ], "devDependencies": { - "@mdx-js/mdx": "^1.6.22", - "cmark-gfm": "^0.8.5", "eslint": "^7.26.0", "eslint-plugin-import": "^2.23.4", "eslint-plugin-node": "^11.1.0", "eslint-plugin-promise": "^5.1.0", "eslint-plugin-standard": "^5.0.0", - "jsdom": "^16.5.2", - "licensee": "^8.1.0", - "marked-man": "^0.7.0", - "tap": "^15.0.9", - "yaml": "^1.10.2" + "licensee": "^8.2.0", + "tap": "^15.0.9" }, "scripts": { "dumpconf": "env | grep npm | sort | uniq", @@ -212,10 +210,6 @@ "resetdeps": "bash scripts/resetdeps.sh", "smoke-tests": "tap smoke-tests/index.js" }, - "//": [ - "XXX temporarily only run unit tests while v7 beta is in progress", - "Remove the 'files' below once we're done porting old tests over" - ], "tap": { "test-env": [ "LC_ALL=sk" diff --git a/deps/npm/tap-snapshots/test/lib/utils/config/describe-all.js.test.cjs b/deps/npm/tap-snapshots/test/lib/utils/config/describe-all.js.test.cjs index 48aea03030c1ec..da8cd1794f2acd 100644 --- a/deps/npm/tap-snapshots/test/lib/utils/config/describe-all.js.test.cjs +++ b/deps/npm/tap-snapshots/test/lib/utils/config/describe-all.js.test.cjs @@ -655,6 +655,8 @@ What level of logs to report. On failure, *all* logs are written to Any logs of a higher level than the setting are shown. The default is "notice". +See also the \`foreground-scripts\` config. + #### \`logs-max\` * Default: 10 diff --git a/deps/npm/test/lib/cli.js b/deps/npm/test/lib/cli.js index f491c6174b85e2..42e05cc5d14c31 100644 --- a/deps/npm/test/lib/cli.js +++ b/deps/npm/test/lib/cli.js @@ -45,6 +45,7 @@ const npmlogMock = { const cli = t.mock('../../lib/cli.js', { '../../lib/npm.js': npmock, + '../../lib/utils/update-notifier.js': async () => null, '../../lib/utils/did-you-mean.js': () => '\ntest did you mean', '../../lib/utils/unsupported.js': unsupportedMock, '../../lib/utils/error-handler.js': errorHandlerMock, diff --git a/deps/npm/test/lib/utils/update-notifier.js b/deps/npm/test/lib/utils/update-notifier.js index ad4d407728f93f..dc0a64ff46127b 100644 --- a/deps/npm/test/lib/utils/update-notifier.js +++ b/deps/npm/test/lib/utils/update-notifier.js @@ -86,9 +86,14 @@ t.afterEach(() => { WRITE_ERROR = null }) +const runUpdateNotifier = async npm => { + await updateNotifier(npm) + return npm.updateNotification +} + t.test('situations in which we do not notify', t => { t.test('nothing to do if notifier disabled', async t => { - t.equal(await updateNotifier({ + t.equal(await runUpdateNotifier({ ...npm, config: { get: (k) => k !== 'update-notifier' }, }), null) @@ -96,7 +101,7 @@ t.test('situations in which we do not notify', t => { }) t.test('do not suggest update if already updating', async t => { - t.equal(await updateNotifier({ + t.equal(await runUpdateNotifier({ ...npm, flatOptions: { ...flatOptions, global: true }, command: 'install', @@ -105,32 +110,42 @@ t.test('situations in which we do not notify', t => { t.strictSame(MANIFEST_REQUEST, [], 'no requests for manifests') }) + t.test('do not suggest update if already updating with spec', async t => { + t.equal(await runUpdateNotifier({ + ...npm, + flatOptions: { ...flatOptions, global: true }, + command: 'install', + argv: ['npm@latest'], + }), null) + t.strictSame(MANIFEST_REQUEST, [], 'no requests for manifests') + }) + t.test('do not update if same as latest', async t => { - t.equal(await updateNotifier(npm), null) + t.equal(await runUpdateNotifier(npm), null) t.strictSame(MANIFEST_REQUEST, ['npm@latest'], 'requested latest version') }) t.test('check if stat errors (here for coverage)', async t => { STAT_ERROR = new Error('blorg') - t.equal(await updateNotifier(npm), null) + t.equal(await runUpdateNotifier(npm), null) t.strictSame(MANIFEST_REQUEST, ['npm@latest'], 'requested latest version') }) t.test('ok if write errors (here for coverage)', async t => { WRITE_ERROR = new Error('grolb') - t.equal(await updateNotifier(npm), null) + t.equal(await runUpdateNotifier(npm), null) t.strictSame(MANIFEST_REQUEST, ['npm@latest'], 'requested latest version') }) t.test('ignore pacote failures (here for coverage)', async t => { PACOTE_ERROR = new Error('pah-KO-tchay') - t.equal(await updateNotifier(npm), null) + t.equal(await runUpdateNotifier(npm), null) t.strictSame(MANIFEST_REQUEST, ['npm@latest'], 'requested latest version') }) t.test('do not update if newer than latest, but same as next', async t => { - t.equal(await updateNotifier({ ...npm, version: NEXT_VERSION }), null) + t.equal(await runUpdateNotifier({ ...npm, version: NEXT_VERSION }), null) const reqs = ['npm@latest', `npm@^${NEXT_VERSION}`] t.strictSame(MANIFEST_REQUEST, reqs, 'requested latest and next versions') }) t.test('do not update if on the latest beta', async t => { - t.equal(await updateNotifier({ ...npm, version: CURRENT_BETA }), null) + t.equal(await runUpdateNotifier({ ...npm, version: CURRENT_BETA }), null) const reqs = [`npm@^${CURRENT_BETA}`] t.strictSame(MANIFEST_REQUEST, reqs, 'requested latest and next versions') }) @@ -140,21 +155,21 @@ t.test('situations in which we do not notify', t => { ciMock = null }) ciMock = 'something' - t.equal(await updateNotifier(npm), null) + t.equal(await runUpdateNotifier(npm), null) t.strictSame(MANIFEST_REQUEST, [], 'no requests for manifests') }) t.test('only check weekly for GA releases', async t => { // One week (plus five minutes to account for test environment fuzziness) STAT_MTIME = Date.now() - (1000 * 60 * 60 * 24 * 7) + (1000 * 60 * 5) - t.equal(await updateNotifier(npm), null) + t.equal(await runUpdateNotifier(npm), null) t.strictSame(MANIFEST_REQUEST, [], 'no requests for manifests') }) t.test('only check daily for betas', async t => { // One day (plus five minutes to account for test environment fuzziness) STAT_MTIME = Date.now() - (1000 * 60 * 60 * 24) + (1000 * 60 * 5) - t.equal(await updateNotifier({ ...npm, version: HAVE_BETA }), null) + t.equal(await runUpdateNotifier({ ...npm, version: HAVE_BETA }), null) t.strictSame(MANIFEST_REQUEST, [], 'no requests for manifests') }) @@ -164,43 +179,43 @@ t.test('situations in which we do not notify', t => { t.test('notification situations', t => { t.test('new beta available', async t => { const version = HAVE_BETA - t.matchSnapshot(await updateNotifier({ ...npm, version }), 'color') - t.matchSnapshot(await updateNotifier({ ...npmNoColor, version }), 'no color') + t.matchSnapshot(await runUpdateNotifier({ ...npm, version }), 'color') + t.matchSnapshot(await runUpdateNotifier({ ...npmNoColor, version }), 'no color') t.strictSame(MANIFEST_REQUEST, [`npm@^${version}`, `npm@^${version}`]) }) t.test('patch to next version', async t => { const version = NEXT_PATCH - t.matchSnapshot(await updateNotifier({ ...npm, version }), 'color') - t.matchSnapshot(await updateNotifier({ ...npmNoColor, version }), 'no color') + t.matchSnapshot(await runUpdateNotifier({ ...npm, version }), 'color') + t.matchSnapshot(await runUpdateNotifier({ ...npmNoColor, version }), 'no color') t.strictSame(MANIFEST_REQUEST, ['npm@latest', `npm@^${version}`, 'npm@latest', `npm@^${version}`]) }) t.test('minor to next version', async t => { const version = NEXT_MINOR - t.matchSnapshot(await updateNotifier({ ...npm, version }), 'color') - t.matchSnapshot(await updateNotifier({ ...npmNoColor, version }), 'no color') + t.matchSnapshot(await runUpdateNotifier({ ...npm, version }), 'color') + t.matchSnapshot(await runUpdateNotifier({ ...npmNoColor, version }), 'no color') t.strictSame(MANIFEST_REQUEST, ['npm@latest', `npm@^${version}`, 'npm@latest', `npm@^${version}`]) }) t.test('patch to current', async t => { const version = CURRENT_PATCH - t.matchSnapshot(await updateNotifier({ ...npm, version }), 'color') - t.matchSnapshot(await updateNotifier({ ...npmNoColor, version }), 'no color') + t.matchSnapshot(await runUpdateNotifier({ ...npm, version }), 'color') + t.matchSnapshot(await runUpdateNotifier({ ...npmNoColor, version }), 'no color') t.strictSame(MANIFEST_REQUEST, ['npm@latest', 'npm@latest']) }) t.test('minor to current', async t => { const version = CURRENT_MINOR - t.matchSnapshot(await updateNotifier({ ...npm, version }), 'color') - t.matchSnapshot(await updateNotifier({ ...npmNoColor, version }), 'no color') + t.matchSnapshot(await runUpdateNotifier({ ...npm, version }), 'color') + t.matchSnapshot(await runUpdateNotifier({ ...npmNoColor, version }), 'no color') t.strictSame(MANIFEST_REQUEST, ['npm@latest', 'npm@latest']) }) t.test('major to current', async t => { const version = CURRENT_MAJOR - t.matchSnapshot(await updateNotifier({ ...npm, version }), 'color') - t.matchSnapshot(await updateNotifier({ ...npmNoColor, version }), 'no color') + t.matchSnapshot(await runUpdateNotifier({ ...npm, version }), 'color') + t.matchSnapshot(await runUpdateNotifier({ ...npmNoColor, version }), 'no color') t.strictSame(MANIFEST_REQUEST, ['npm@latest', 'npm@latest']) }) From 1f10e84939679391a30f69b00ea9102c3de05348 Mon Sep 17 00:00:00 2001 From: Daniel Bevenius Date: Mon, 31 May 2021 16:17:23 +0200 Subject: [PATCH 032/118] test: suppress warning in test_environment.cc MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Currently there is a compiler warning generated if a build defines NDEBUG: $ env CXXFLAGS='-DNDEBUG' make -j8 cctest ../test/cctest/test_environment.cc: In function ‘void at_exit_js(void*)’: ../test/cctest/test_environment.cc:333:25: warning: variable ‘obj’ set but not used [-Wunused-but-set-variable] 333 | v8::Local obj = v8::Object::New(isolate); | ^~~ NDEBUG is currently not defined using the main branch but this discovered when working on replacing OpenSSL 1.1.1 with OpenSSL 3.0. This commit uses EXPECT statements instead of asserts to avoid the warning. PR-URL: https://github.com/nodejs/node/pull/38868 Reviewed-By: James M Snell Reviewed-By: Colin Ihrig Reviewed-By: Darshan Sen --- test/cctest/test_environment.cc | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/test/cctest/test_environment.cc b/test/cctest/test_environment.cc index e2931337bf6a40..cdd4d470fd67d5 100644 --- a/test/cctest/test_environment.cc +++ b/test/cctest/test_environment.cc @@ -331,8 +331,8 @@ static void at_exit_js(void* arg) { v8::Isolate* isolate = static_cast(arg); v8::HandleScope handle_scope(isolate); v8::Local obj = v8::Object::New(isolate); - assert(!obj.IsEmpty()); // Assert VM is still alive. - assert(obj->IsObject()); + EXPECT_FALSE(obj.IsEmpty()); // Assert VM is still alive. + EXPECT_TRUE(obj->IsObject()); called_at_exit_js = true; } From e939e243bfa40169612db51509f0a02f45a9434e Mon Sep 17 00:00:00 2001 From: Richard Lau Date: Tue, 8 Jun 2021 14:20:31 +0100 Subject: [PATCH 033/118] build: don't pass python override to V8 build MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit If the `configure.py` script is executed by a Python binary that is not the one on the PATH it will create a `python` symlink in `out/tools/bin` and prefix that to the PATH so it is used instead of the one that otherwise would have been found on the PATH. This is done so that gyp scripts shelling out to `python` execute with the same version of Python as used to run the configure script. V8's build uses V8's build toolchain (i.e. not gyp) and currently that is incompatible with Python 3. Prevent prefixing the PATH for the V8 build so that it picks up `python` from the unprefixed PATH. This will allow us to build Node.js with Python 3 but still use Python 2 to build V8 in the CI. PR-URL: https://github.com/nodejs/node/pull/38969 Reviewed-By: James M Snell Reviewed-By: Michaël Zasso --- Makefile | 17 +++++++++++++---- 1 file changed, 13 insertions(+), 4 deletions(-) diff --git a/Makefile b/Makefile index 939bba64575bff..688cb85e774b14 100644 --- a/Makefile +++ b/Makefile @@ -36,6 +36,11 @@ V8_TEST_OPTIONS = $(V8_EXTRA_TEST_OPTIONS) ifdef DISABLE_V8_I18N V8_BUILD_OPTIONS += i18nsupport=off endif +# V8 build and test toolchains are not currently compatible with Python 3. +# config.mk may have prepended a symlink for `python` to PATH which we need +# to undo before calling V8's tools. +OVERRIDE_BIN_DIR=$(dir $(abspath $(lastword $(MAKEFILE_LIST))))out/tools/bin +NO_BIN_OVERRIDE_PATH=$(subst $() $(),:,$(filter-out $(OVERRIDE_BIN_DIR),$(subst :, ,$(PATH)))) ifeq ($(OSTYPE), darwin) GCOV = xcrun llvm-cov gcov @@ -274,7 +279,8 @@ endif # Rebuilds deps/v8 as a git tree, pulls its third-party dependencies, and # builds it. v8: - tools/make-v8.sh $(V8_ARCH).$(BUILDTYPE_LOWER) $(V8_BUILD_OPTIONS) + export PATH="$(NO_BIN_OVERRIDE_PATH)" && \ + tools/make-v8.sh $(V8_ARCH).$(BUILDTYPE_LOWER) $(V8_BUILD_OPTIONS) .PHONY: jstest jstest: build-addons build-js-native-api-tests build-node-api-tests ## Runs addon tests and JS tests @@ -651,19 +657,22 @@ test-with-async-hooks: ifneq ("","$(wildcard deps/v8/tools/run-tests.py)") # Related CI job: node-test-commit-v8-linux test-v8: v8 ## Runs the V8 test suite on deps/v8. - deps/v8/tools/run-tests.py --gn --arch=$(V8_ARCH) $(V8_TEST_OPTIONS) \ + export PATH="$(NO_BIN_OVERRIDE_PATH)" && \ + deps/v8/tools/run-tests.py --gn --arch=$(V8_ARCH) $(V8_TEST_OPTIONS) \ mjsunit cctest debugger inspector message preparser \ $(TAP_V8) $(info Testing hash seed) $(MAKE) test-hash-seed test-v8-intl: v8 - deps/v8/tools/run-tests.py --gn --arch=$(V8_ARCH) \ + export PATH="$(NO_BIN_OVERRIDE_PATH)" && \ + deps/v8/tools/run-tests.py --gn --arch=$(V8_ARCH) \ --mode=$(BUILDTYPE_LOWER) intl \ $(TAP_V8_INTL) test-v8-benchmarks: v8 - deps/v8/tools/run-tests.py --gn --arch=$(V8_ARCH) --mode=$(BUILDTYPE_LOWER) \ + export PATH="$(NO_BIN_OVERRIDE_PATH)" && \ + deps/v8/tools/run-tests.py --gn --arch=$(V8_ARCH) --mode=$(BUILDTYPE_LOWER) \ benchmarks \ $(TAP_V8_BENCHMARKS) From 7a7c0588adfeb4aee8cd79d9475f8c7e1e2f7b4e Mon Sep 17 00:00:00 2001 From: Voltrex <62040526+VoltrexMaster@users.noreply.github.com> Date: Wed, 2 Jun 2021 02:46:07 +0430 Subject: [PATCH 034/118] doc: mark util.inherits as legacy MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit PR-URL: https://github.com/nodejs/node/pull/38896 Refs: https://github.com/nodejs/node/pull/38893 Reviewed-By: Anna Henningsen Reviewed-By: Antoine du Hamel Reviewed-By: Tobias Nießen Reviewed-By: Luigi Pinca Reviewed-By: Zijian Liu Reviewed-By: James M Snell Reviewed-By: Darshan Sen Reviewed-By: Zeyu Yang --- doc/api/util.md | 2 ++ 1 file changed, 2 insertions(+) diff --git a/doc/api/util.md b/doc/api/util.md index 321f3c34616243..41522bf8886b26 100644 --- a/doc/api/util.md +++ b/doc/api/util.md @@ -404,6 +404,8 @@ changes: description: The `constructor` parameter can refer to an ES6 class now. --> +> Stability: 3 - Legacy: Use ES2015 class syntax and `extends` keyword instead. + * `constructor` {Function} * `superConstructor` {Function} From 711916a271f63299bba9f6289ac79a23e0d8ce38 Mon Sep 17 00:00:00 2001 From: Rich Trott Date: Sun, 6 Jun 2021 10:23:48 -0700 Subject: [PATCH 035/118] debugger: remove unnecessary boilerplate copyright comment MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit PR-URL: https://github.com/nodejs/node/pull/38952 Reviewed-By: Michaël Zasso Reviewed-By: Antoine du Hamel Reviewed-By: Colin Ihrig Reviewed-By: Darshan Sen Reviewed-By: James M Snell Reviewed-By: Luigi Pinca --- lib/internal/inspector/_inspect.js | 22 ---------------------- lib/internal/inspector/inspect_client.js | 22 ---------------------- lib/internal/inspector/inspect_repl.js | 22 ---------------------- 3 files changed, 66 deletions(-) diff --git a/lib/internal/inspector/_inspect.js b/lib/internal/inspector/_inspect.js index 6f8e389e4212ea..204e037064daf2 100644 --- a/lib/internal/inspector/_inspect.js +++ b/lib/internal/inspector/_inspect.js @@ -1,25 +1,3 @@ -/* - * Copyright Node.js contributors. All rights reserved. - * - * Permission is hereby granted, free of charge, to any person obtaining a copy - * of this software and associated documentation files (the "Software"), to - * deal in the Software without restriction, including without limitation the - * rights to use, copy, modify, merge, publish, distribute, sublicense, and/or - * sell copies of the Software, and to permit persons to whom the Software is - * furnished to do so, subject to the following conditions: - * - * The above copyright notice and this permission notice shall be included in - * all copies or substantial portions of the Software. - * - * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR - * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, - * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE - * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER - * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING - * FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS - * IN THE SOFTWARE. - */ - 'use strict'; const { diff --git a/lib/internal/inspector/inspect_client.js b/lib/internal/inspector/inspect_client.js index ba1e9bc30ce5ce..4c89c56af93ef6 100644 --- a/lib/internal/inspector/inspect_client.js +++ b/lib/internal/inspector/inspect_client.js @@ -1,25 +1,3 @@ -/* - * Copyright Node.js contributors. All rights reserved. - * - * Permission is hereby granted, free of charge, to any person obtaining a copy - * of this software and associated documentation files (the "Software"), to - * deal in the Software without restriction, including without limitation the - * rights to use, copy, modify, merge, publish, distribute, sublicense, and/or - * sell copies of the Software, and to permit persons to whom the Software is - * furnished to do so, subject to the following conditions: - * - * The above copyright notice and this permission notice shall be included in - * all copies or substantial portions of the Software. - * - * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR - * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, - * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE - * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER - * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING - * FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS - * IN THE SOFTWARE. - */ - // TODO(aduh95): use errors exported by the internal/errors module /* eslint-disable no-restricted-syntax */ diff --git a/lib/internal/inspector/inspect_repl.js b/lib/internal/inspector/inspect_repl.js index 3311d2188e9265..3cb4d52f43aaf1 100644 --- a/lib/internal/inspector/inspect_repl.js +++ b/lib/internal/inspector/inspect_repl.js @@ -1,25 +1,3 @@ -/* - * Copyright Node.js contributors. All rights reserved. - * - * Permission is hereby granted, free of charge, to any person obtaining a copy - * of this software and associated documentation files (the "Software"), to - * deal in the Software without restriction, including without limitation the - * rights to use, copy, modify, merge, publish, distribute, sublicense, and/or - * sell copies of the Software, and to permit persons to whom the Software is - * furnished to do so, subject to the following conditions: - * - * The above copyright notice and this permission notice shall be included in - * all copies or substantial portions of the Software. - * - * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR - * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, - * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE - * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER - * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING - * FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS - * IN THE SOFTWARE. - */ - // TODO(trott): enable ESLint /* eslint-disable getter-return, no-restricted-syntax */ From 9bf9ddb49044762e75ab013f89830d9f65ed8d3f Mon Sep 17 00:00:00 2001 From: Joyee Cheung Date: Thu, 27 May 2021 00:42:00 +0800 Subject: [PATCH 036/118] tools: refactor snapshot builder This patch: - Moves the snapshot building code to src/ so that we can reuse it later when generating custom snapshots from an entry point accepted by the node binary. - Create a SnapshotData struct that incorporates all the data useful for a snapshot blob, including both the V8 data and the Node.js data. PR-URL: https://github.com/nodejs/node/pull/38902 Reviewed-By: Chengzhong Wu --- node.gyp | 2 - src/env.h | 7 ++ src/node.cc | 6 +- src/node_main_instance.h | 2 +- src/node_snapshot_stub.cc | 2 +- src/node_snapshotable.cc | 165 +++++++++++++++++++++++++++ src/node_snapshotable.h | 10 ++ tools/snapshot/README.md | 2 +- tools/snapshot/node_mksnapshot.cc | 2 +- tools/snapshot/snapshot_builder.cc | 172 ----------------------------- tools/snapshot/snapshot_builder.h | 15 --- 11 files changed, 189 insertions(+), 196 deletions(-) delete mode 100644 tools/snapshot/snapshot_builder.cc delete mode 100644 tools/snapshot/snapshot_builder.h diff --git a/node.gyp b/node.gyp index 30327b38a59df5..8fc93843789de8 100644 --- a/node.gyp +++ b/node.gyp @@ -1554,8 +1554,6 @@ 'src/node_snapshot_stub.cc', 'src/node_code_cache_stub.cc', 'tools/snapshot/node_mksnapshot.cc', - 'tools/snapshot/snapshot_builder.cc', - 'tools/snapshot/snapshot_builder.h', ], 'conditions': [ diff --git a/src/env.h b/src/env.h index 4a50227ee8dc2d..a3944eab90a3d5 100644 --- a/src/env.h +++ b/src/env.h @@ -955,6 +955,13 @@ struct EnvSerializeInfo { friend std::ostream& operator<<(std::ostream& o, const EnvSerializeInfo& i); }; +struct SnapshotData { + SnapshotData() { blob.data = nullptr; } + v8::StartupData blob; + std::vector isolate_data_indices; + EnvSerializeInfo env_info; +}; + class Environment : public MemoryRetainer { public: Environment(const Environment&) = delete; diff --git a/src/node.cc b/src/node.cc index 3ca2a05d8b8b96..75ad5689fca209 100644 --- a/src/node.cc +++ b/src/node.cc @@ -1130,7 +1130,7 @@ int Start(int argc, char** argv) { { Isolate::CreateParams params; - const std::vector* indexes = nullptr; + const std::vector* indices = nullptr; const EnvSerializeInfo* env_info = nullptr; bool force_no_snapshot = per_process::cli_options->per_isolate->no_node_snapshot; @@ -1138,7 +1138,7 @@ int Start(int argc, char** argv) { v8::StartupData* blob = NodeMainInstance::GetEmbeddedSnapshotBlob(); if (blob != nullptr) { params.snapshot_blob = blob; - indexes = NodeMainInstance::GetIsolateDataIndexes(); + indices = NodeMainInstance::GetIsolateDataIndices(); env_info = NodeMainInstance::GetEnvSerializeInfo(); } } @@ -1149,7 +1149,7 @@ int Start(int argc, char** argv) { per_process::v8_platform.Platform(), result.args, result.exec_args, - indexes); + indices); result.exit_code = main_instance.Run(env_info); } diff --git a/src/node_main_instance.h b/src/node_main_instance.h index 6e38e95c26635c..75d4b7eac50774 100644 --- a/src/node_main_instance.h +++ b/src/node_main_instance.h @@ -67,7 +67,7 @@ class NodeMainInstance { // If nullptr is returned, the binary is not built with embedded // snapshot. - static const std::vector* GetIsolateDataIndexes(); + static const std::vector* GetIsolateDataIndices(); static v8::StartupData* GetEmbeddedSnapshotBlob(); static const EnvSerializeInfo* GetEnvSerializeInfo(); static const std::vector& CollectExternalReferences(); diff --git a/src/node_snapshot_stub.cc b/src/node_snapshot_stub.cc index 9d7b085994bf9f..7c13d4e8c602c8 100644 --- a/src/node_snapshot_stub.cc +++ b/src/node_snapshot_stub.cc @@ -10,7 +10,7 @@ v8::StartupData* NodeMainInstance::GetEmbeddedSnapshotBlob() { return nullptr; } -const std::vector* NodeMainInstance::GetIsolateDataIndexes() { +const std::vector* NodeMainInstance::GetIsolateDataIndices() { return nullptr; } diff --git a/src/node_snapshotable.cc b/src/node_snapshotable.cc index 216a0a9a72536f..1871cef443f312 100644 --- a/src/node_snapshotable.cc +++ b/src/node_snapshotable.cc @@ -1,16 +1,181 @@ #include "node_snapshotable.h" +#include +#include #include "base_object-inl.h" #include "debug_utils-inl.h" +#include "env-inl.h" +#include "node_errors.h" +#include "node_external_reference.h" #include "node_file.h" +#include "node_internals.h" +#include "node_main_instance.h" #include "node_v8.h" +#include "node_v8_platform-inl.h" namespace node { +using v8::Context; +using v8::HandleScope; +using v8::Isolate; using v8::Local; using v8::Object; using v8::SnapshotCreator; using v8::StartupData; +using v8::TryCatch; +using v8::Value; + +template +void WriteVector(std::ostringstream* ss, const T* vec, size_t size) { + for (size_t i = 0; i < size; i++) { + *ss << std::to_string(vec[i]) << (i == size - 1 ? '\n' : ','); + } +} + +std::string FormatBlob(SnapshotData* data) { + std::ostringstream ss; + + ss << R"(#include +#include "env.h" +#include "node_main_instance.h" +#include "v8.h" + +// This file is generated by tools/snapshot. Do not edit. + +namespace node { + +static const char blob_data[] = { +)"; + WriteVector(&ss, data->blob.data, data->blob.raw_size); + ss << R"(}; + +static const int blob_size = )" + << data->blob.raw_size << R"(; +static v8::StartupData blob = { blob_data, blob_size }; +)"; + + ss << R"(v8::StartupData* NodeMainInstance::GetEmbeddedSnapshotBlob() { + return &blob; +} + +static const std::vector isolate_data_indices { +)"; + WriteVector(&ss, + data->isolate_data_indices.data(), + data->isolate_data_indices.size()); + ss << R"(}; + +const std::vector* NodeMainInstance::GetIsolateDataIndices() { + return &isolate_data_indices; +} + +static const EnvSerializeInfo env_info )" + << data->env_info << R"(; + +const EnvSerializeInfo* NodeMainInstance::GetEnvSerializeInfo() { + return &env_info; +} + +} // namespace node +)"; + + return ss.str(); +} + +void SnapshotBuilder::Generate(SnapshotData* out, + const std::vector args, + const std::vector exec_args) { + Isolate* isolate = Isolate::Allocate(); + isolate->SetCaptureStackTraceForUncaughtExceptions( + true, 10, v8::StackTrace::StackTraceOptions::kDetailed); + per_process::v8_platform.Platform()->RegisterIsolate(isolate, + uv_default_loop()); + std::unique_ptr main_instance; + std::string result; + + { + const std::vector& external_references = + NodeMainInstance::CollectExternalReferences(); + SnapshotCreator creator(isolate, external_references.data()); + Environment* env; + { + main_instance = + NodeMainInstance::Create(isolate, + uv_default_loop(), + per_process::v8_platform.Platform(), + args, + exec_args); + + HandleScope scope(isolate); + creator.SetDefaultContext(Context::New(isolate)); + out->isolate_data_indices = + main_instance->isolate_data()->Serialize(&creator); + + // Run the per-context scripts + Local context; + { + TryCatch bootstrapCatch(isolate); + context = NewContext(isolate); + if (bootstrapCatch.HasCaught()) { + PrintCaughtException(isolate, context, bootstrapCatch); + abort(); + } + } + Context::Scope context_scope(context); + + // Create the environment + env = new Environment(main_instance->isolate_data(), + context, + args, + exec_args, + nullptr, + node::EnvironmentFlags::kDefaultFlags, + {}); + // Run scripts in lib/internal/bootstrap/ + { + TryCatch bootstrapCatch(isolate); + v8::MaybeLocal result = env->RunBootstrapping(); + if (bootstrapCatch.HasCaught()) { + PrintCaughtException(isolate, context, bootstrapCatch); + } + result.ToLocalChecked(); + } + + if (per_process::enabled_debug_list.enabled(DebugCategory::MKSNAPSHOT)) { + env->PrintAllBaseObjects(); + printf("Environment = %p\n", env); + } + + // Serialize the native states + out->env_info = env->Serialize(&creator); + // Serialize the context + size_t index = creator.AddContext( + context, {SerializeNodeContextInternalFields, env}); + CHECK_EQ(index, NodeMainInstance::kNodeContextIndex); + } + + // Must be out of HandleScope + out->blob = + creator.CreateBlob(SnapshotCreator::FunctionCodeHandling::kClear); + CHECK(out->blob.CanBeRehashed()); + // Must be done while the snapshot creator isolate is entered i.e. the + // creator is still alive. + FreeEnvironment(env); + main_instance->Dispose(); + } + + per_process::v8_platform.Platform()->UnregisterIsolate(isolate); +} + +std::string SnapshotBuilder::Generate( + const std::vector args, + const std::vector exec_args) { + SnapshotData data; + Generate(&data, args, exec_args); + std::string result = FormatBlob(&data); + delete[] data.blob.data; + return result; +} SnapshotableObject::SnapshotableObject(Environment* env, Local wrap, diff --git a/src/node_snapshotable.h b/src/node_snapshotable.h index c3b82c6edc71e9..38da68f6d28eb2 100644 --- a/src/node_snapshotable.h +++ b/src/node_snapshotable.h @@ -11,6 +11,7 @@ namespace node { class Environment; struct EnvSerializeInfo; +struct SnapshotData; #define SERIALIZABLE_OBJECT_TYPES(V) \ V(fs_binding_data, fs::BindingData) \ @@ -119,6 +120,15 @@ void SerializeBindingData(Environment* env, EnvSerializeInfo* info); bool IsSnapshotableType(FastStringKey key); + +class SnapshotBuilder { + public: + static std::string Generate(const std::vector args, + const std::vector exec_args); + static void Generate(SnapshotData* out, + const std::vector args, + const std::vector exec_args); +}; } // namespace node #endif // defined(NODE_WANT_INTERNALS) && NODE_WANT_INTERNALS diff --git a/tools/snapshot/README.md b/tools/snapshot/README.md index 34dc574d56cc30..fb22c03ed50b88 100644 --- a/tools/snapshot/README.md +++ b/tools/snapshot/README.md @@ -23,7 +23,7 @@ into the Node.js executable, `libnode` is first built with these unresolved symbols: - `node::NodeMainInstance::GetEmbeddedSnapshotBlob` -- `node::NodeMainInstance::GetIsolateDataIndexes` +- `node::NodeMainInstance::GetIsolateDataIndices` Then the `node_mksnapshot` executable is built with C++ files in this directory, as well as `src/node_snapshot_stub.cc` which defines the unresolved diff --git a/tools/snapshot/node_mksnapshot.cc b/tools/snapshot/node_mksnapshot.cc index c5bfcd8fc5c28a..e591f64a2a0518 100644 --- a/tools/snapshot/node_mksnapshot.cc +++ b/tools/snapshot/node_mksnapshot.cc @@ -7,7 +7,7 @@ #include "libplatform/libplatform.h" #include "node_internals.h" -#include "snapshot_builder.h" +#include "node_snapshotable.h" #include "util-inl.h" #include "v8.h" diff --git a/tools/snapshot/snapshot_builder.cc b/tools/snapshot/snapshot_builder.cc deleted file mode 100644 index cf76f38ece8912..00000000000000 --- a/tools/snapshot/snapshot_builder.cc +++ /dev/null @@ -1,172 +0,0 @@ -#include "snapshot_builder.h" -#include -#include -#include "debug_utils-inl.h" -#include "env-inl.h" -#include "node_errors.h" -#include "node_external_reference.h" -#include "node_internals.h" -#include "node_main_instance.h" -#include "node_snapshotable.h" -#include "node_v8_platform-inl.h" - -namespace node { - -using v8::Context; -using v8::HandleScope; -using v8::Isolate; -using v8::Local; -using v8::SnapshotCreator; -using v8::StartupData; -using v8::TryCatch; -using v8::Value; - -template -void WriteVector(std::stringstream* ss, const T* vec, size_t size) { - for (size_t i = 0; i < size; i++) { - *ss << std::to_string(vec[i]) << (i == size - 1 ? '\n' : ','); - } -} - -std::string FormatBlob(StartupData* blob, - const std::vector& isolate_data_indexes, - const EnvSerializeInfo& env_info) { - std::stringstream ss; - - ss << R"(#include -#include "env.h" -#include "node_main_instance.h" -#include "v8.h" - -// This file is generated by tools/snapshot. Do not edit. - -namespace node { - -static const char blob_data[] = { -)"; - WriteVector(&ss, blob->data, blob->raw_size); - ss << R"(}; - -static const int blob_size = )" - << blob->raw_size << R"(; -static v8::StartupData blob = { blob_data, blob_size }; -)"; - - ss << R"(v8::StartupData* NodeMainInstance::GetEmbeddedSnapshotBlob() { - return &blob; -} - -static const std::vector isolate_data_indexes { -)"; - WriteVector(&ss, isolate_data_indexes.data(), isolate_data_indexes.size()); - ss << R"(}; - -const std::vector* NodeMainInstance::GetIsolateDataIndexes() { - return &isolate_data_indexes; -} - -static const EnvSerializeInfo env_info )" - << env_info << R"(; - -const EnvSerializeInfo* NodeMainInstance::GetEnvSerializeInfo() { - return &env_info; -} - -} // namespace node -)"; - - return ss.str(); -} - -std::string SnapshotBuilder::Generate( - const std::vector args, - const std::vector exec_args) { - Isolate* isolate = Isolate::Allocate(); - isolate->SetCaptureStackTraceForUncaughtExceptions( - true, - 10, - v8::StackTrace::StackTraceOptions::kDetailed); - per_process::v8_platform.Platform()->RegisterIsolate(isolate, - uv_default_loop()); - std::unique_ptr main_instance; - std::string result; - - { - std::vector isolate_data_indexes; - EnvSerializeInfo env_info; - - const std::vector& external_references = - NodeMainInstance::CollectExternalReferences(); - SnapshotCreator creator(isolate, external_references.data()); - Environment* env; - { - main_instance = - NodeMainInstance::Create(isolate, - uv_default_loop(), - per_process::v8_platform.Platform(), - args, - exec_args); - - HandleScope scope(isolate); - creator.SetDefaultContext(Context::New(isolate)); - isolate_data_indexes = main_instance->isolate_data()->Serialize(&creator); - - // Run the per-context scripts - Local context; - { - TryCatch bootstrapCatch(isolate); - context = NewContext(isolate); - if (bootstrapCatch.HasCaught()) { - PrintCaughtException(isolate, context, bootstrapCatch); - abort(); - } - } - Context::Scope context_scope(context); - - // Create the environment - env = new Environment(main_instance->isolate_data(), - context, - args, - exec_args, - nullptr, - node::EnvironmentFlags::kDefaultFlags, - {}); - // Run scripts in lib/internal/bootstrap/ - { - TryCatch bootstrapCatch(isolate); - v8::MaybeLocal result = env->RunBootstrapping(); - if (bootstrapCatch.HasCaught()) { - PrintCaughtException(isolate, context, bootstrapCatch); - } - result.ToLocalChecked(); - } - - if (per_process::enabled_debug_list.enabled(DebugCategory::MKSNAPSHOT)) { - env->PrintAllBaseObjects(); - printf("Environment = %p\n", env); - } - - // Serialize the native states - env_info = env->Serialize(&creator); - // Serialize the context - size_t index = creator.AddContext( - context, {SerializeNodeContextInternalFields, env}); - CHECK_EQ(index, NodeMainInstance::kNodeContextIndex); - } - - // Must be out of HandleScope - StartupData blob = - creator.CreateBlob(SnapshotCreator::FunctionCodeHandling::kClear); - CHECK(blob.CanBeRehashed()); - // Must be done while the snapshot creator isolate is entered i.e. the - // creator is still alive. - FreeEnvironment(env); - main_instance->Dispose(); - result = FormatBlob(&blob, isolate_data_indexes, env_info); - delete[] blob.data; - } - - per_process::v8_platform.Platform()->UnregisterIsolate(isolate); - return result; -} -} // namespace node diff --git a/tools/snapshot/snapshot_builder.h b/tools/snapshot/snapshot_builder.h deleted file mode 100644 index 2e587d078b9bcd..00000000000000 --- a/tools/snapshot/snapshot_builder.h +++ /dev/null @@ -1,15 +0,0 @@ -#ifndef TOOLS_SNAPSHOT_SNAPSHOT_BUILDER_H_ -#define TOOLS_SNAPSHOT_SNAPSHOT_BUILDER_H_ - -#include -#include - -namespace node { -class SnapshotBuilder { - public: - static std::string Generate(const std::vector args, - const std::vector exec_args); -}; -} // namespace node - -#endif // TOOLS_SNAPSHOT_SNAPSHOT_BUILDER_H_ From 99161b09f634b2b9a3cf436e67fd47b8e58d787d Mon Sep 17 00:00:00 2001 From: XadillaX Date: Sun, 30 May 2021 01:04:38 +0800 Subject: [PATCH 037/118] url,src: simplify ipv6 logic by using uv_inet_pton PR-URL: https://github.com/nodejs/node/pull/38842 Reviewed-By: Anna Henningsen --- src/node_url.cc | 125 +++++++----------------------------------------- 1 file changed, 17 insertions(+), 108 deletions(-) diff --git a/src/node_url.cc b/src/node_url.cc index 3b4c2e690ee713..09f0ff6d9bcc22 100644 --- a/src/node_url.cc +++ b/src/node_url.cc @@ -797,119 +797,28 @@ bool ToASCII(const std::string& input, std::string* output) { } #endif +#define NS_IN6ADDRSZ 16 + void URLHost::ParseIPv6Host(const char* input, size_t length) { CHECK_EQ(type_, HostType::H_FAILED); - unsigned size = arraysize(value_.ipv6); - for (unsigned n = 0; n < size; n++) - value_.ipv6[n] = 0; - uint16_t* piece_pointer = &value_.ipv6[0]; - uint16_t* const buffer_end = piece_pointer + size; - uint16_t* compress_pointer = nullptr; - const char* pointer = input; - const char* end = pointer + length; - unsigned value, len, numbers_seen; - char ch = pointer < end ? pointer[0] : kEOL; - if (ch == ':') { - if (length < 2 || pointer[1] != ':') - return; - pointer += 2; - ch = pointer < end ? pointer[0] : kEOL; - piece_pointer++; - compress_pointer = piece_pointer; - } - while (ch != kEOL) { - if (piece_pointer >= buffer_end) - return; - if (ch == ':') { - if (compress_pointer != nullptr) - return; - pointer++; - ch = pointer < end ? pointer[0] : kEOL; - piece_pointer++; - compress_pointer = piece_pointer; - continue; - } - value = 0; - len = 0; - while (len < 4 && IsASCIIHexDigit(ch)) { - value = value * 0x10 + hex2bin(ch); - pointer++; - ch = pointer < end ? pointer[0] : kEOL; - len++; - } - switch (ch) { - case '.': - if (len == 0) - return; - pointer -= len; - ch = pointer < end ? pointer[0] : kEOL; - if (piece_pointer > buffer_end - 2) - return; - numbers_seen = 0; - while (ch != kEOL) { - value = 0xffffffff; - if (numbers_seen > 0) { - if (ch == '.' && numbers_seen < 4) { - pointer++; - ch = pointer < end ? pointer[0] : kEOL; - } else { - return; - } - } - if (!IsASCIIDigit(ch)) - return; - while (IsASCIIDigit(ch)) { - unsigned number = ch - '0'; - if (value == 0xffffffff) { - value = number; - } else if (value == 0) { - return; - } else { - value = value * 10 + number; - } - if (value > 255) - return; - pointer++; - ch = pointer < end ? pointer[0] : kEOL; - } - *piece_pointer = *piece_pointer * 0x100 + value; - numbers_seen++; - if (numbers_seen == 2 || numbers_seen == 4) - piece_pointer++; - } - if (numbers_seen != 4) - return; - continue; - case ':': - pointer++; - ch = pointer < end ? pointer[0] : kEOL; - if (ch == kEOL) - return; - break; - case kEOL: - break; - default: - return; - } - *piece_pointer = value; - piece_pointer++; - } - if (compress_pointer != nullptr) { - int64_t swaps = piece_pointer - compress_pointer; - piece_pointer = buffer_end - 1; - while (piece_pointer != &value_.ipv6[0] && swaps > 0) { - uint16_t temp = *piece_pointer; - uint16_t* swap_piece = compress_pointer + swaps - 1; - *piece_pointer = *swap_piece; - *swap_piece = temp; - piece_pointer--; - swaps--; - } - } else if (compress_pointer == nullptr && - piece_pointer != buffer_end) { + unsigned char buf[sizeof(struct in6_addr)]; + MaybeStackBuffer ipv6(length + 1); + *(*ipv6 + length) = 0; + memset(buf, 0, sizeof(buf)); + memcpy(*ipv6, input, sizeof(const char) * length); + + int ret = uv_inet_pton(AF_INET6, *ipv6, buf); + + if (ret != 0) { return; } + + // Ref: https://sourceware.org/git/?p=glibc.git;a=blob;f=resolv/inet_ntop.c;h=c4d38c0f951013e51a4fc6eaa8a9b82e146abe5a;hb=HEAD#l119 + for (int i = 0; i < NS_IN6ADDRSZ; i += 2) { + value_.ipv6[i >> 1] = (buf[i] << 8) | buf[i + 1]; + } + type_ = HostType::H_IPV6; } From ff8313c3a5a8aaa9b8296c523f63c40be2460fec Mon Sep 17 00:00:00 2001 From: Joyee Cheung Date: Sat, 29 May 2021 01:14:27 +0800 Subject: [PATCH 038/118] src: throw error in LoadBuiltinModuleSource when reading fails - Move the file reading code in LoadBuiltinModuleSource into util.h so that it can be reused by other C++ code, and return an error code from it when there is a failure for the caller to generate an error. - Throw an error when reading local builtins fails in LoadBulitinModuleSource. PR-URL: https://github.com/nodejs/node/pull/38904 Reviewed-By: Chengzhong Wu --- src/node_native_module.cc | 34 +++++++++------------------------- src/util.cc | 34 ++++++++++++++++++++++++++++++++++ src/util.h | 4 ++++ 3 files changed, 47 insertions(+), 25 deletions(-) diff --git a/src/node_native_module.cc b/src/node_native_module.cc index b3a104547f392d..f788732ae569d4 100644 --- a/src/node_native_module.cc +++ b/src/node_native_module.cc @@ -205,33 +205,17 @@ MaybeLocal NativeModuleLoader::LoadBuiltinModuleSource(Isolate* isolate, #ifdef NODE_BUILTIN_MODULES_PATH std::string filename = OnDiskFileName(id); - uv_fs_t req; - uv_file file = - uv_fs_open(nullptr, &req, filename.c_str(), O_RDONLY, 0, nullptr); - CHECK_GE(req.result, 0); - uv_fs_req_cleanup(&req); - - auto defer_close = OnScopeLeave([file]() { - uv_fs_t close_req; - CHECK_EQ(0, uv_fs_close(nullptr, &close_req, file, nullptr)); - uv_fs_req_cleanup(&close_req); - }); - std::string contents; - char buffer[4096]; - uv_buf_t buf = uv_buf_init(buffer, sizeof(buffer)); - - while (true) { - const int r = - uv_fs_read(nullptr, &req, file, &buf, 1, contents.length(), nullptr); - CHECK_GE(req.result, 0); - uv_fs_req_cleanup(&req); - if (r <= 0) { - break; - } - contents.append(buf.base, r); + int r = ReadFileSync(&contents, filename.c_str()); + if (r != 0) { + const std::string buf = SPrintF("Cannot read local builtin. %s: %s \"%s\"", + uv_err_name(r), + uv_strerror(r), + filename); + Local message = OneByteString(isolate, buf.c_str()); + isolate->ThrowException(v8::Exception::Error(message)); + return MaybeLocal(); } - return String::NewFromUtf8( isolate, contents.c_str(), v8::NewStringType::kNormal, contents.length()); #else diff --git a/src/util.cc b/src/util.cc index 01e15acb0e5c09..40ea25b8d2edfe 100644 --- a/src/util.cc +++ b/src/util.cc @@ -221,6 +221,40 @@ int WriteFileSync(v8::Isolate* isolate, return WriteFileSync(path, buf); } +int ReadFileSync(std::string* result, const char* path) { + uv_fs_t req; + uv_file file = uv_fs_open(nullptr, &req, path, O_RDONLY, 0, nullptr); + if (req.result < 0) { + return req.result; + } + uv_fs_req_cleanup(&req); + + auto defer_close = OnScopeLeave([file]() { + uv_fs_t close_req; + CHECK_EQ(0, uv_fs_close(nullptr, &close_req, file, nullptr)); + uv_fs_req_cleanup(&close_req); + }); + + *result = std::string(""); + char buffer[4096]; + uv_buf_t buf = uv_buf_init(buffer, sizeof(buffer)); + + while (true) { + const int r = + uv_fs_read(nullptr, &req, file, &buf, 1, result->length(), nullptr); + if (req.result < 0) { + uv_fs_req_cleanup(&req); + return req.result; + } + uv_fs_req_cleanup(&req); + if (r <= 0) { + break; + } + result->append(buf.base, r); + } + return 0; +} + void DiagnosticFilename::LocalTime(TIME_TYPE* tm_struct) { #ifdef _WIN32 GetLocalTime(tm_struct); diff --git a/src/util.h b/src/util.h index 79ad3dfe2d071b..050e4bda35a139 100644 --- a/src/util.h +++ b/src/util.h @@ -813,6 +813,10 @@ std::unique_ptr static_unique_pointer_cast(std::unique_ptr&& ptr) { } #define MAYBE_FIELD_PTR(ptr, field) ptr == nullptr ? nullptr : &(ptr->field) + +// Returns a non-zero code if it fails to open or read the file, +// aborts if it fails to close the file. +int ReadFileSync(std::string* result, const char* path); } // namespace node #endif // defined(NODE_WANT_INTERNALS) && NODE_WANT_INTERNALS From be5101eb32f4471e9cc1b947cd9a6b0f6fcd1e05 Mon Sep 17 00:00:00 2001 From: Luigi Pinca Date: Mon, 7 Jun 2021 08:29:14 +0200 Subject: [PATCH 039/118] tools: update ESLint to 7.28.0 PR-URL: https://github.com/nodejs/node/pull/38955 Reviewed-By: Antoine du Hamel Reviewed-By: Colin Ihrig Reviewed-By: Rich Trott Reviewed-By: James M Snell --- .../eslint-plugin-markdown/lib/processor.js | 21 +- .../node_modules/@types/mdast/LICENSE | 21 + .../node_modules/@types/mdast/README.md | 16 + .../node_modules/@types/mdast/package.json | 26 + .../node_modules/@types/unist/LICENSE | 21 + .../node_modules/@types/unist/README.md | 16 + .../node_modules/@types/unist/package.json | 43 + .../node_modules/bail/index.js | 9 - .../node_modules/bail/package.json | 72 - .../node_modules/bail/readme.md | 84 - .../collapse-white-space/index.js | 8 - .../collapse-white-space/package.json | 70 - .../collapse-white-space/readme.md | 58 - .../node_modules/debug/LICENSE | 19 + .../node_modules/debug/README.md | 455 +++++ .../node_modules/debug/package.json | 59 + .../node_modules/debug/src/browser.js | 269 +++ .../node_modules/debug/src/common.js | 261 +++ .../node_modules/debug/src/index.js | 10 + .../node_modules/debug/src/node.js | 263 +++ .../node_modules/extend/.jscs.json | 175 -- .../node_modules/extend/LICENSE | 23 - .../node_modules/extend/README.md | 81 - .../node_modules/extend/index.js | 117 -- .../node_modules/extend/package.json | 42 - .../node_modules/inherits/LICENSE | 16 - .../node_modules/inherits/README.md | 42 - .../node_modules/inherits/inherits.js | 9 - .../node_modules/inherits/inherits_browser.js | 27 - .../node_modules/inherits/package.json | 29 - .../node_modules/is-buffer/LICENSE | 21 - .../node_modules/is-buffer/README.md | 53 - .../node_modules/is-buffer/index.js | 21 - .../node_modules/is-buffer/package.json | 51 - .../node_modules/is-plain-obj/index.js | 7 - .../node_modules/is-plain-obj/license | 21 - .../node_modules/is-plain-obj/package.json | 36 - .../node_modules/is-plain-obj/readme.md | 35 - .../is-whitespace-character/index.js | 14 - .../is-whitespace-character/package.json | 74 - .../is-whitespace-character/readme.md | 74 - .../node_modules/is-word-character/index.js | 14 - .../node_modules/is-word-character/license | 22 - .../is-word-character/package.json | 72 - .../node_modules/is-word-character/readme.md | 72 - .../node_modules/markdown-escapes/index.js | 57 - .../markdown-escapes/package.json | 72 - .../node_modules/markdown-escapes/readme.md | 80 - .../mdast-util-from-markdown/dist/index.js | 823 +++++++++ .../mdast-util-from-markdown/index.js | 3 + .../mdast-util-from-markdown/lib/index.js | 819 +++++++++ .../license | 2 +- .../mdast-util-from-markdown/package.json | 109 ++ .../mdast-util-from-markdown/readme.md | 206 +++ .../mdast-util-to-string/index.js | 29 + .../{bail => mdast-util-to-string}/license | 0 .../package.json | 58 +- .../mdast-util-to-string/readme.md | 127 ++ .../node_modules/micromark/buffer.js | 3 + .../node_modules/micromark/buffer.mjs | 1 + .../micromark/dist/character/ascii-alpha.js | 7 + .../dist/character/ascii-alphanumeric.js | 7 + .../micromark/dist/character/ascii-atext.js | 7 + .../micromark/dist/character/ascii-control.js | 12 + .../micromark/dist/character/ascii-digit.js | 7 + .../dist/character/ascii-hex-digit.js | 7 + .../dist/character/ascii-punctuation.js | 7 + .../micromark/dist/character/codes.js | 257 +++ .../markdown-line-ending-or-space.js | 7 + .../dist/character/markdown-line-ending.js | 7 + .../dist/character/markdown-space.js | 7 + .../dist/character/unicode-punctuation.js | 10 + .../dist/character/unicode-whitespace.js | 7 + .../micromark/dist/character/values.js | 111 ++ .../micromark/dist/compile/html.js | 787 ++++++++ .../micromark/dist/constant/assign.js | 5 + .../micromark/dist/constant/constants.js | 71 + .../micromark/dist/constant/from-char-code.js | 5 + .../dist/constant/has-own-property.js | 5 + .../dist/constant/html-block-names.js | 69 + .../micromark/dist/constant/html-raw-names.js | 6 + .../micromark/dist/constant/splice.js | 5 + .../micromark/dist/constant/types.js | 357 ++++ .../constant/unicode-punctuation-regex.js | 11 + .../node_modules/micromark/dist/constructs.js | 127 ++ .../node_modules/micromark/dist/index.js | 21 + .../micromark/dist/initialize/content.js | 69 + .../micromark/dist/initialize/document.js | 237 +++ .../micromark/dist/initialize/flow.js | 60 + .../micromark/dist/initialize/text.js | 201 +++ .../node_modules/micromark/dist/parse.js | 36 + .../micromark/dist/postprocess.js | 13 + .../node_modules/micromark/dist/preprocess.js | 87 + .../node_modules/micromark/dist/stream.js | 103 ++ .../micromark/dist/tokenize/attention.js | 186 ++ .../micromark/dist/tokenize/autolink.js | 125 ++ .../micromark/dist/tokenize/block-quote.js | 67 + .../dist/tokenize/character-escape.js | 34 + .../dist/tokenize/character-reference.js | 94 + .../micromark/dist/tokenize/code-fenced.js | 176 ++ .../micromark/dist/tokenize/code-indented.js | 72 + .../micromark/dist/tokenize/code-text.js | 162 ++ .../micromark/dist/tokenize/content.js | 99 + .../micromark/dist/tokenize/definition.js | 115 ++ .../dist/tokenize/factory-destination.js | 131 ++ .../micromark/dist/tokenize/factory-label.js | 88 + .../micromark/dist/tokenize/factory-space.js | 30 + .../micromark/dist/tokenize/factory-title.js | 75 + .../dist/tokenize/factory-whitespace.js | 32 + .../dist/tokenize/hard-break-escape.js | 31 + .../micromark/dist/tokenize/heading-atx.js | 129 ++ .../micromark/dist/tokenize/html-flow.js | 486 +++++ .../micromark/dist/tokenize/html-text.js | 435 +++++ .../micromark/dist/tokenize/label-end.js | 330 ++++ .../dist/tokenize/label-start-image.js | 46 + .../dist/tokenize/label-start-link.js | 35 + .../micromark/dist/tokenize/line-ending.js | 21 + .../micromark/dist/tokenize/list.js | 214 +++ .../dist/tokenize/partial-blank-line.js | 19 + .../dist/tokenize/setext-underline.js | 117 ++ .../micromark/dist/tokenize/thematic-break.js | 53 + .../micromark/dist/util/chunked-push.js | 14 + .../micromark/dist/util/chunked-splice.js | 38 + .../micromark/dist/util/classify-character.js | 25 + .../micromark/dist/util/combine-extensions.js | 49 + .../dist/util/combine-html-extensions.js | 34 + .../micromark/dist/util/create-tokenizer.js | 316 ++++ .../micromark/dist/util/miniflat.js | 11 + .../micromark/dist/util/move-point.js | 12 + .../dist/util/normalize-identifier.js | 18 + .../micromark/dist/util/normalize-uri.js | 62 + .../micromark/dist/util/prefix-size.js | 11 + .../micromark/dist/util/regex-check.js | 13 + .../micromark/dist/util/resolve-all.js | 20 + .../micromark/dist/util/safe-from-int.js | 26 + .../micromark/dist/util/serialize-chunks.js | 40 + .../micromark/dist/util/shallow.js | 9 + .../micromark/dist/util/size-chunks.js | 16 + .../micromark/dist/util/slice-chunks.js | 27 + .../micromark/dist/util/subtokenize.js | 199 +++ .../node_modules/micromark/index.js | 3 + .../node_modules/micromark/index.mjs | 1 + .../micromark/lib/character/ascii-alpha.js | 7 + .../micromark/lib/character/ascii-alpha.mjs | 3 + .../lib/character/ascii-alphanumeric.js | 7 + .../lib/character/ascii-alphanumeric.mjs | 3 + .../micromark/lib/character/ascii-atext.js | 7 + .../micromark/lib/character/ascii-atext.mjs | 3 + .../micromark/lib/character/ascii-control.js | 14 + .../micromark/lib/character/ascii-control.mjs | 12 + .../micromark/lib/character/ascii-digit.js | 7 + .../micromark/lib/character/ascii-digit.mjs | 3 + .../lib/character/ascii-hex-digit.js | 7 + .../lib/character/ascii-hex-digit.mjs | 3 + .../lib/character/ascii-punctuation.js | 7 + .../lib/character/ascii-punctuation.mjs | 3 + .../micromark/lib/character/codes.js | 158 ++ .../micromark/lib/character/codes.mjs | 154 ++ .../markdown-line-ending-or-space.js | 9 + .../markdown-line-ending-or-space.mjs | 7 + .../lib/character/markdown-line-ending.js | 9 + .../lib/character/markdown-line-ending.mjs | 7 + .../micromark/lib/character/markdown-space.js | 13 + .../lib/character/markdown-space.mjs | 11 + .../lib/character/unicode-punctuation.js | 10 + .../lib/character/unicode-punctuation.mjs | 6 + .../lib/character/unicode-whitespace.js | 7 + .../lib/character/unicode-whitespace.mjs | 3 + .../micromark/lib/character/values.js | 111 ++ .../micromark/lib/character/values.mjs | 107 ++ .../micromark/lib/compile/html.js | 810 +++++++++ .../micromark/lib/compile/html.mjs | 813 +++++++++ .../micromark/lib/constant/assign.js | 5 + .../micromark/lib/constant/assign.mjs | 1 + .../micromark/lib/constant/constants.js | 45 + .../micromark/lib/constant/constants.mjs | 41 + .../micromark/lib/constant/from-char-code.js | 5 + .../micromark/lib/constant/from-char-code.mjs | 1 + .../lib/constant/has-own-property.js | 5 + .../lib/constant/has-own-property.mjs | 1 + .../lib/constant/html-block-names.js | 69 + .../lib/constant/html-block-names.mjs} | 9 +- .../micromark/lib/constant/html-raw-names.js | 6 + .../micromark/lib/constant/html-raw-names.mjs | 2 + .../micromark/lib/constant/splice.js | 5 + .../micromark/lib/constant/splice.mjs | 1 + .../micromark/lib/constant/types.js | 452 +++++ .../micromark/lib/constant/types.mjs | 448 +++++ .../lib/constant/unicode-punctuation-regex.js | 11 + .../constant/unicode-punctuation-regex.mjs | 7 + .../node_modules/micromark/lib/constructs.js | 98 + .../node_modules/micromark/lib/constructs.mjs | 85 + .../node_modules/micromark/lib/index.js | 21 + .../node_modules/micromark/lib/index.mjs | 19 + .../micromark/lib/initialize/content.js | 91 + .../micromark/lib/initialize/content.mjs | 79 + .../micromark/lib/initialize/document.js | 245 +++ .../micromark/lib/initialize/document.mjs | 239 +++ .../micromark/lib/initialize/flow.js | 82 + .../micromark/lib/initialize/flow.mjs | 70 + .../micromark/lib/initialize/text.js | 210 +++ .../micromark/lib/initialize/text.mjs | 203 +++ .../node_modules/micromark/lib/parse.js | 36 + .../node_modules/micromark/lib/parse.mjs | 34 + .../node_modules/micromark/lib/postprocess.js | 13 + .../micromark/lib/postprocess.mjs | 11 + .../node_modules/micromark/lib/preprocess.js | 96 + .../node_modules/micromark/lib/preprocess.mjs | 94 + .../node_modules/micromark/lib/stream.js | 119 ++ .../node_modules/micromark/lib/stream.mjs | 117 ++ .../micromark/lib/tokenize/attention.js | 216 +++ .../micromark/lib/tokenize/attention.mjs | 207 +++ .../micromark/lib/tokenize/autolink.js | 147 ++ .../micromark/lib/tokenize/autolink.mjs | 138 ++ .../micromark/lib/tokenize/block-quote.js | 67 + .../micromark/lib/tokenize/block-quote.mjs | 64 + .../lib/tokenize/character-escape.js | 44 + .../lib/tokenize/character-escape.mjs | 35 + .../lib/tokenize/character-reference.js | 101 ++ .../lib/tokenize/character-reference.mjs | 88 + .../micromark/lib/tokenize/code-fenced.js | 185 ++ .../micromark/lib/tokenize/code-fenced.mjs | 176 ++ .../micromark/lib/tokenize/code-indented.js | 91 + .../micromark/lib/tokenize/code-indented.mjs | 88 + .../micromark/lib/tokenize/code-text.js | 191 ++ .../micromark/lib/tokenize/code-text.mjs | 179 ++ .../micromark/lib/tokenize/content.js | 121 ++ .../micromark/lib/tokenize/content.mjs | 109 ++ .../micromark/lib/tokenize/definition.js | 129 ++ .../micromark/lib/tokenize/definition.mjs | 120 ++ .../lib/tokenize/factory-destination.js | 145 ++ .../lib/tokenize/factory-destination.mjs | 143 ++ .../micromark/lib/tokenize/factory-label.js | 102 ++ .../micromark/lib/tokenize/factory-label.mjs | 94 + .../micromark/lib/tokenize/factory-space.js | 31 + .../micromark/lib/tokenize/factory-space.mjs | 29 + .../micromark/lib/tokenize/factory-title.js | 92 + .../micromark/lib/tokenize/factory-title.mjs | 84 + .../lib/tokenize/factory-whitespace.js | 34 + .../lib/tokenize/factory-whitespace.mjs | 32 + .../lib/tokenize/hard-break-escape.js | 41 + .../lib/tokenize/hard-break-escape.mjs | 32 + .../micromark/lib/tokenize/heading-atx.js | 151 ++ .../micromark/lib/tokenize/heading-atx.mjs | 142 ++ .../micromark/lib/tokenize/html-flow.js | 513 ++++++ .../micromark/lib/tokenize/html-flow.mjs | 498 ++++++ .../micromark/lib/tokenize/html-text.js | 458 +++++ .../micromark/lib/tokenize/html-text.mjs | 449 +++++ .../micromark/lib/tokenize/label-end.js | 374 ++++ .../micromark/lib/tokenize/label-end.mjs | 350 ++++ .../lib/tokenize/label-start-image.js | 56 + .../lib/tokenize/label-start-image.mjs | 48 + .../lib/tokenize/label-start-link.js | 46 + .../lib/tokenize/label-start-link.mjs | 38 + .../micromark/lib/tokenize/line-ending.js | 31 + .../micromark/lib/tokenize/line-ending.mjs | 22 + .../micromark/lib/tokenize/list.js | 219 +++ .../micromark/lib/tokenize/list.mjs | 216 +++ .../lib/tokenize/partial-blank-line.js | 21 + .../lib/tokenize/partial-blank-line.mjs | 18 + .../lib/tokenize/setext-underline.js | 138 ++ .../lib/tokenize/setext-underline.mjs | 129 ++ .../micromark/lib/tokenize/thematic-break.js | 74 + .../micromark/lib/tokenize/thematic-break.mjs | 65 + .../micromark/lib/util/chunked-push.js | 14 + .../micromark/lib/util/chunked-push.mjs | 12 + .../micromark/lib/util/chunked-splice.js | 46 + .../micromark/lib/util/chunked-splice.mjs | 44 + .../micromark/lib/util/classify-character.js | 27 + .../micromark/lib/util/classify-character.mjs | 25 + .../micromark/lib/util/combine-extensions.js | 50 + .../micromark/lib/util/combine-extensions.mjs | 48 + .../lib/util/combine-html-extensions.js | 35 + .../lib/util/combine-html-extensions.mjs | 31 + .../micromark/lib/util/create-tokenizer.js | 440 +++++ .../micromark/lib/util/create-tokenizer.mjs | 399 +++++ .../micromark/lib/util/miniflat.js | 11 + .../micromark/lib/util/miniflat.mjs | 9 + .../micromark/lib/util/move-point.js | 12 + .../micromark/lib/util/move-point.mjs | 10 + .../lib/util/normalize-identifier.js | 23 + .../lib/util/normalize-identifier.mjs | 21 + .../micromark/lib/util/normalize-uri.js | 70 + .../micromark/lib/util/normalize-uri.mjs | 68 + .../micromark/lib/util/prefix-size.js | 11 + .../micromark/lib/util/prefix-size.mjs | 9 + .../micromark/lib/util/regex-check.js | 12 + .../micromark/lib/util/regex-check.mjs | 10 + .../micromark/lib/util/resolve-all.js | 20 + .../micromark/lib/util/resolve-all.mjs | 18 + .../micromark/lib/util/safe-from-int.js | 32 + .../micromark/lib/util/safe-from-int.mjs | 30 + .../micromark/lib/util/serialize-chunks.js | 54 + .../micromark/lib/util/serialize-chunks.mjs | 42 + .../micromark/lib/util/shallow.js | 9 + .../micromark/lib/util/shallow.mjs | 7 + .../micromark/lib/util/size-chunks.js | 16 + .../micromark/lib/util/size-chunks.mjs | 14 + .../micromark/lib/util/slice-chunks.js | 43 + .../micromark/lib/util/slice-chunks.mjs | 29 + .../micromark/lib/util/subtokenize.js | 219 +++ .../micromark/lib/util/subtokenize.mjs | 211 +++ .../{markdown-escapes => micromark}/license | 2 +- .../node_modules/micromark/package.json | 208 +++ .../node_modules/micromark/readme.md | 737 ++++++++ .../node_modules/micromark/stream.js | 3 + .../node_modules/micromark/stream.mjs | 1 + .../node_modules/ms/index.js | 162 ++ .../{replace-ext/LICENSE => ms/license.md} | 2 +- .../node_modules/ms/package.json | 37 + .../node_modules/ms/readme.md | 60 + .../node_modules/parse-entities/index.js | 21 +- .../node_modules/parse-entities/package.json | 30 +- .../node_modules/parse-entities/readme.md | 6 +- .../node_modules/remark-parse/index.js | 17 - .../node_modules/remark-parse/lib/decode.js | 58 - .../node_modules/remark-parse/lib/defaults.js | 10 - .../remark-parse/lib/locate/break.js | 17 - .../remark-parse/lib/locate/code-inline.js | 7 - .../remark-parse/lib/locate/delete.js | 7 - .../remark-parse/lib/locate/emphasis.js | 18 - .../remark-parse/lib/locate/escape.js | 7 - .../remark-parse/lib/locate/link.js | 16 - .../remark-parse/lib/locate/strong.js | 18 - .../remark-parse/lib/locate/tag.js | 7 - .../remark-parse/lib/locate/url.js | 26 - .../node_modules/remark-parse/lib/parse.js | 42 - .../node_modules/remark-parse/lib/parser.js | 149 -- .../remark-parse/lib/set-options.js | 46 - .../remark-parse/lib/tokenize/auto-link.js | 133 -- .../remark-parse/lib/tokenize/blockquote.js | 124 -- .../remark-parse/lib/tokenize/break.js | 42 - .../remark-parse/lib/tokenize/code-fenced.js | 253 --- .../lib/tokenize/code-indented.js | 98 - .../remark-parse/lib/tokenize/code-inline.js | 109 -- .../remark-parse/lib/tokenize/definition.js | 273 --- .../remark-parse/lib/tokenize/delete.js | 60 - .../remark-parse/lib/tokenize/emphasis.js | 86 - .../remark-parse/lib/tokenize/escape.js | 34 - .../lib/tokenize/footnote-definition.js | 186 -- .../remark-parse/lib/tokenize/heading-atx.js | 135 -- .../lib/tokenize/heading-setext.js | 102 -- .../remark-parse/lib/tokenize/html-block.js | 111 -- .../remark-parse/lib/tokenize/html-inline.js | 59 - .../remark-parse/lib/tokenize/link.js | 381 ---- .../remark-parse/lib/tokenize/list.js | 451 ----- .../remark-parse/lib/tokenize/newline.js | 48 - .../remark-parse/lib/tokenize/paragraph.js | 117 -- .../remark-parse/lib/tokenize/reference.js | 221 --- .../remark-parse/lib/tokenize/strong.js | 85 - .../remark-parse/lib/tokenize/table.js | 232 --- .../remark-parse/lib/tokenize/text.js | 57 - .../lib/tokenize/thematic-break.js | 70 - .../remark-parse/lib/tokenize/url.js | 153 -- .../remark-parse/lib/tokenizer.js | 314 ---- .../node_modules/remark-parse/lib/unescape.js | 36 - .../remark-parse/lib/util/get-indentation.js | 33 - .../remark-parse/lib/util/html.js | 34 - .../remark-parse/lib/util/interrupt.js | 35 - .../util/is-markdown-whitespace-character.js | 27 - .../remark-parse/lib/util/normalize.js | 11 - .../lib/util/remove-indentation.js | 77 - .../node_modules/remark-parse/package.json | 60 - .../node_modules/remark-parse/readme.md | 597 ------- .../node_modules/repeat-string/LICENSE | 21 - .../node_modules/repeat-string/README.md | 136 -- .../node_modules/repeat-string/index.js | 70 - .../node_modules/repeat-string/package.json | 77 - .../node_modules/replace-ext/README.md | 50 - .../node_modules/replace-ext/index.js | 18 - .../node_modules/replace-ext/package.json | 44 - .../node_modules/state-toggle/index.js | 23 - .../node_modules/state-toggle/license | 22 - .../node_modules/state-toggle/package.json | 70 - .../node_modules/state-toggle/readme.md | 95 - .../node_modules/trim-trailing-lines/index.js | 8 - .../node_modules/trim-trailing-lines/license | 22 - .../trim-trailing-lines/readme.md | 68 - .../node_modules/trim/Makefile | 7 - .../node_modules/trim/Readme.md | 69 - .../node_modules/trim/index.js | 14 - .../node_modules/trim/package.json | 18 - .../node_modules/trough/index.js | 74 - .../node_modules/trough/license | 21 - .../node_modules/trough/package.json | 75 - .../node_modules/trough/readme.md | 330 ---- .../node_modules/trough/wrap.js | 64 - .../node_modules/unherit/index.js | 45 - .../node_modules/unherit/license | 21 - .../node_modules/unherit/package.json | 72 - .../node_modules/unherit/readme.md | 79 - .../node_modules/unified/LICENSE | 21 - .../node_modules/unified/index.js | 466 ----- .../node_modules/unified/package.json | 86 - .../node_modules/unified/readme.md | 993 ----------- .../node_modules/unist-util-is/convert.js | 87 - .../node_modules/unist-util-is/index.js | 37 - .../node_modules/unist-util-is/license | 22 - .../node_modules/unist-util-is/package.json | 75 - .../node_modules/unist-util-is/readme.md | 202 --- .../unist-util-remove-position/index.js | 18 - .../unist-util-remove-position/license | 22 - .../unist-util-remove-position/package.json | 76 - .../unist-util-remove-position/readme.md | 131 -- .../unist-util-stringify-position/LICENSE | 22 - .../unist-util-stringify-position/index.js | 14 +- .../license | 0 .../package.json | 55 +- .../unist-util-stringify-position/readme.md | 92 +- .../unist-util-visit-parents/index.js | 78 - .../unist-util-visit-parents/license | 22 - .../unist-util-visit-parents/package.json | 70 - .../unist-util-visit-parents/readme.md | 218 --- .../node_modules/unist-util-visit/index.js | 29 - .../node_modules/unist-util-visit/license | 22 - .../unist-util-visit/package.json | 79 - .../node_modules/unist-util-visit/readme.md | 121 -- .../node_modules/vfile-location/index.js | 74 - .../node_modules/vfile-location/license | 22 - .../node_modules/vfile-location/package.json | 73 - .../node_modules/vfile-location/readme.md | 115 -- .../node_modules/vfile-message/index.js | 94 - .../node_modules/vfile-message/license | 22 - .../node_modules/vfile-message/package.json | 73 - .../node_modules/vfile-message/readme.md | 194 -- .../node_modules/vfile/LICENSE | 21 - .../node_modules/vfile/core.js | 169 -- .../node_modules/vfile/index.js | 53 - .../node_modules/vfile/package.json | 78 - .../node_modules/vfile/readme.md | 285 --- .../node_modules/x-is-string/LICENCE | 19 - .../node_modules/x-is-string/README.md | 46 - .../node_modules/x-is-string/index.js | 7 - .../node_modules/x-is-string/package.json | 55 - .../node_modules/xtend/LICENSE | 20 - .../node_modules/xtend/README.md | 32 - .../node_modules/xtend/immutable.js | 19 - .../node_modules/xtend/mutable.js | 17 - .../node_modules/xtend/package.json | 55 - .../eslint-plugin-markdown/package.json | 5 +- tools/node_modules/eslint/README.md | 5 - .../node_modules/eslint/lib/linter/linter.js | 14 +- .../eslint/lib/rules/arrow-body-style.js | 32 +- .../eslint/lib/rules/no-duplicate-imports.js | 280 ++- .../eslint/lib/rules/no-implicit-coercion.js | 23 +- .../eslint/lib/rules/no-unused-vars.js | 24 +- .../node_modules/globals/globals.json | 1586 ----------------- .../eslintrc/node_modules/globals/index.js | 2 - .../eslintrc/node_modules/globals/license | 9 - .../node_modules/globals/package.json | 52 - .../eslintrc/node_modules/globals/readme.md | 56 - .../eslintrc/node_modules/type-fest/license | 9 - .../node_modules/type-fest/package.json | 51 - .../eslintrc/node_modules/type-fest/readme.md | 635 ------- .../@eslint/eslintrc/package.json | 4 +- .../eslint/node_modules/globals/globals.json | 1 + .../eslint/node_modules/globals/package.json | 2 +- .../table/node_modules/ajv/README.md | 2 +- .../ajv/dist/compile/jtd/parse.js | 15 +- .../table/node_modules/ajv/dist/core.js | 3 +- .../applicator/patternProperties.js | 26 +- .../ajv/dist/vocabularies/jtd/type.js | 14 +- .../table/node_modules/ajv/package.json | 10 +- tools/node_modules/eslint/package.json | 8 +- 464 files changed, 27392 insertions(+), 15656 deletions(-) create mode 100644 tools/node_modules/eslint-plugin-markdown/node_modules/@types/mdast/LICENSE create mode 100644 tools/node_modules/eslint-plugin-markdown/node_modules/@types/mdast/README.md create mode 100644 tools/node_modules/eslint-plugin-markdown/node_modules/@types/mdast/package.json create mode 100644 tools/node_modules/eslint-plugin-markdown/node_modules/@types/unist/LICENSE create mode 100644 tools/node_modules/eslint-plugin-markdown/node_modules/@types/unist/README.md create mode 100644 tools/node_modules/eslint-plugin-markdown/node_modules/@types/unist/package.json delete mode 100644 tools/node_modules/eslint-plugin-markdown/node_modules/bail/index.js delete mode 100644 tools/node_modules/eslint-plugin-markdown/node_modules/bail/package.json delete mode 100644 tools/node_modules/eslint-plugin-markdown/node_modules/bail/readme.md delete mode 100644 tools/node_modules/eslint-plugin-markdown/node_modules/collapse-white-space/index.js delete mode 100644 tools/node_modules/eslint-plugin-markdown/node_modules/collapse-white-space/package.json delete mode 100644 tools/node_modules/eslint-plugin-markdown/node_modules/collapse-white-space/readme.md create mode 100644 tools/node_modules/eslint-plugin-markdown/node_modules/debug/LICENSE create mode 100644 tools/node_modules/eslint-plugin-markdown/node_modules/debug/README.md create mode 100644 tools/node_modules/eslint-plugin-markdown/node_modules/debug/package.json create mode 100644 tools/node_modules/eslint-plugin-markdown/node_modules/debug/src/browser.js create mode 100644 tools/node_modules/eslint-plugin-markdown/node_modules/debug/src/common.js create mode 100644 tools/node_modules/eslint-plugin-markdown/node_modules/debug/src/index.js create mode 100644 tools/node_modules/eslint-plugin-markdown/node_modules/debug/src/node.js delete mode 100644 tools/node_modules/eslint-plugin-markdown/node_modules/extend/.jscs.json delete mode 100644 tools/node_modules/eslint-plugin-markdown/node_modules/extend/LICENSE delete mode 100644 tools/node_modules/eslint-plugin-markdown/node_modules/extend/README.md delete mode 100644 tools/node_modules/eslint-plugin-markdown/node_modules/extend/index.js delete mode 100644 tools/node_modules/eslint-plugin-markdown/node_modules/extend/package.json delete mode 100644 tools/node_modules/eslint-plugin-markdown/node_modules/inherits/LICENSE delete mode 100644 tools/node_modules/eslint-plugin-markdown/node_modules/inherits/README.md delete mode 100644 tools/node_modules/eslint-plugin-markdown/node_modules/inherits/inherits.js delete mode 100644 tools/node_modules/eslint-plugin-markdown/node_modules/inherits/inherits_browser.js delete mode 100644 tools/node_modules/eslint-plugin-markdown/node_modules/inherits/package.json delete mode 100644 tools/node_modules/eslint-plugin-markdown/node_modules/is-buffer/LICENSE delete mode 100644 tools/node_modules/eslint-plugin-markdown/node_modules/is-buffer/README.md delete mode 100644 tools/node_modules/eslint-plugin-markdown/node_modules/is-buffer/index.js delete mode 100644 tools/node_modules/eslint-plugin-markdown/node_modules/is-buffer/package.json delete mode 100644 tools/node_modules/eslint-plugin-markdown/node_modules/is-plain-obj/index.js delete mode 100644 tools/node_modules/eslint-plugin-markdown/node_modules/is-plain-obj/license delete mode 100644 tools/node_modules/eslint-plugin-markdown/node_modules/is-plain-obj/package.json delete mode 100644 tools/node_modules/eslint-plugin-markdown/node_modules/is-plain-obj/readme.md delete mode 100644 tools/node_modules/eslint-plugin-markdown/node_modules/is-whitespace-character/index.js delete mode 100644 tools/node_modules/eslint-plugin-markdown/node_modules/is-whitespace-character/package.json delete mode 100644 tools/node_modules/eslint-plugin-markdown/node_modules/is-whitespace-character/readme.md delete mode 100644 tools/node_modules/eslint-plugin-markdown/node_modules/is-word-character/index.js delete mode 100644 tools/node_modules/eslint-plugin-markdown/node_modules/is-word-character/license delete mode 100644 tools/node_modules/eslint-plugin-markdown/node_modules/is-word-character/package.json delete mode 100644 tools/node_modules/eslint-plugin-markdown/node_modules/is-word-character/readme.md delete mode 100644 tools/node_modules/eslint-plugin-markdown/node_modules/markdown-escapes/index.js delete mode 100644 tools/node_modules/eslint-plugin-markdown/node_modules/markdown-escapes/package.json delete mode 100644 tools/node_modules/eslint-plugin-markdown/node_modules/markdown-escapes/readme.md create mode 100644 tools/node_modules/eslint-plugin-markdown/node_modules/mdast-util-from-markdown/dist/index.js create mode 100644 tools/node_modules/eslint-plugin-markdown/node_modules/mdast-util-from-markdown/index.js create mode 100644 tools/node_modules/eslint-plugin-markdown/node_modules/mdast-util-from-markdown/lib/index.js rename tools/node_modules/eslint-plugin-markdown/node_modules/{collapse-white-space => mdast-util-from-markdown}/license (94%) create mode 100644 tools/node_modules/eslint-plugin-markdown/node_modules/mdast-util-from-markdown/package.json create mode 100644 tools/node_modules/eslint-plugin-markdown/node_modules/mdast-util-from-markdown/readme.md create mode 100644 tools/node_modules/eslint-plugin-markdown/node_modules/mdast-util-to-string/index.js rename tools/node_modules/eslint-plugin-markdown/node_modules/{bail => mdast-util-to-string}/license (100%) rename tools/node_modules/eslint-plugin-markdown/node_modules/{trim-trailing-lines => mdast-util-to-string}/package.json (57%) create mode 100644 tools/node_modules/eslint-plugin-markdown/node_modules/mdast-util-to-string/readme.md create mode 100644 tools/node_modules/eslint-plugin-markdown/node_modules/micromark/buffer.js create mode 100644 tools/node_modules/eslint-plugin-markdown/node_modules/micromark/buffer.mjs create mode 100644 tools/node_modules/eslint-plugin-markdown/node_modules/micromark/dist/character/ascii-alpha.js create mode 100644 tools/node_modules/eslint-plugin-markdown/node_modules/micromark/dist/character/ascii-alphanumeric.js create mode 100644 tools/node_modules/eslint-plugin-markdown/node_modules/micromark/dist/character/ascii-atext.js create mode 100644 tools/node_modules/eslint-plugin-markdown/node_modules/micromark/dist/character/ascii-control.js create mode 100644 tools/node_modules/eslint-plugin-markdown/node_modules/micromark/dist/character/ascii-digit.js create mode 100644 tools/node_modules/eslint-plugin-markdown/node_modules/micromark/dist/character/ascii-hex-digit.js create mode 100644 tools/node_modules/eslint-plugin-markdown/node_modules/micromark/dist/character/ascii-punctuation.js create mode 100644 tools/node_modules/eslint-plugin-markdown/node_modules/micromark/dist/character/codes.js create mode 100644 tools/node_modules/eslint-plugin-markdown/node_modules/micromark/dist/character/markdown-line-ending-or-space.js create mode 100644 tools/node_modules/eslint-plugin-markdown/node_modules/micromark/dist/character/markdown-line-ending.js create mode 100644 tools/node_modules/eslint-plugin-markdown/node_modules/micromark/dist/character/markdown-space.js create mode 100644 tools/node_modules/eslint-plugin-markdown/node_modules/micromark/dist/character/unicode-punctuation.js create mode 100644 tools/node_modules/eslint-plugin-markdown/node_modules/micromark/dist/character/unicode-whitespace.js create mode 100644 tools/node_modules/eslint-plugin-markdown/node_modules/micromark/dist/character/values.js create mode 100644 tools/node_modules/eslint-plugin-markdown/node_modules/micromark/dist/compile/html.js create mode 100644 tools/node_modules/eslint-plugin-markdown/node_modules/micromark/dist/constant/assign.js create mode 100644 tools/node_modules/eslint-plugin-markdown/node_modules/micromark/dist/constant/constants.js create mode 100644 tools/node_modules/eslint-plugin-markdown/node_modules/micromark/dist/constant/from-char-code.js create mode 100644 tools/node_modules/eslint-plugin-markdown/node_modules/micromark/dist/constant/has-own-property.js create mode 100644 tools/node_modules/eslint-plugin-markdown/node_modules/micromark/dist/constant/html-block-names.js create mode 100644 tools/node_modules/eslint-plugin-markdown/node_modules/micromark/dist/constant/html-raw-names.js create mode 100644 tools/node_modules/eslint-plugin-markdown/node_modules/micromark/dist/constant/splice.js create mode 100644 tools/node_modules/eslint-plugin-markdown/node_modules/micromark/dist/constant/types.js create mode 100644 tools/node_modules/eslint-plugin-markdown/node_modules/micromark/dist/constant/unicode-punctuation-regex.js create mode 100644 tools/node_modules/eslint-plugin-markdown/node_modules/micromark/dist/constructs.js create mode 100644 tools/node_modules/eslint-plugin-markdown/node_modules/micromark/dist/index.js create mode 100644 tools/node_modules/eslint-plugin-markdown/node_modules/micromark/dist/initialize/content.js create mode 100644 tools/node_modules/eslint-plugin-markdown/node_modules/micromark/dist/initialize/document.js create mode 100644 tools/node_modules/eslint-plugin-markdown/node_modules/micromark/dist/initialize/flow.js create mode 100644 tools/node_modules/eslint-plugin-markdown/node_modules/micromark/dist/initialize/text.js create mode 100644 tools/node_modules/eslint-plugin-markdown/node_modules/micromark/dist/parse.js create mode 100644 tools/node_modules/eslint-plugin-markdown/node_modules/micromark/dist/postprocess.js create mode 100644 tools/node_modules/eslint-plugin-markdown/node_modules/micromark/dist/preprocess.js create mode 100644 tools/node_modules/eslint-plugin-markdown/node_modules/micromark/dist/stream.js create mode 100644 tools/node_modules/eslint-plugin-markdown/node_modules/micromark/dist/tokenize/attention.js create mode 100644 tools/node_modules/eslint-plugin-markdown/node_modules/micromark/dist/tokenize/autolink.js create mode 100644 tools/node_modules/eslint-plugin-markdown/node_modules/micromark/dist/tokenize/block-quote.js create mode 100644 tools/node_modules/eslint-plugin-markdown/node_modules/micromark/dist/tokenize/character-escape.js create mode 100644 tools/node_modules/eslint-plugin-markdown/node_modules/micromark/dist/tokenize/character-reference.js create mode 100644 tools/node_modules/eslint-plugin-markdown/node_modules/micromark/dist/tokenize/code-fenced.js create mode 100644 tools/node_modules/eslint-plugin-markdown/node_modules/micromark/dist/tokenize/code-indented.js create mode 100644 tools/node_modules/eslint-plugin-markdown/node_modules/micromark/dist/tokenize/code-text.js create mode 100644 tools/node_modules/eslint-plugin-markdown/node_modules/micromark/dist/tokenize/content.js create mode 100644 tools/node_modules/eslint-plugin-markdown/node_modules/micromark/dist/tokenize/definition.js create mode 100644 tools/node_modules/eslint-plugin-markdown/node_modules/micromark/dist/tokenize/factory-destination.js create mode 100644 tools/node_modules/eslint-plugin-markdown/node_modules/micromark/dist/tokenize/factory-label.js create mode 100644 tools/node_modules/eslint-plugin-markdown/node_modules/micromark/dist/tokenize/factory-space.js create mode 100644 tools/node_modules/eslint-plugin-markdown/node_modules/micromark/dist/tokenize/factory-title.js create mode 100644 tools/node_modules/eslint-plugin-markdown/node_modules/micromark/dist/tokenize/factory-whitespace.js create mode 100644 tools/node_modules/eslint-plugin-markdown/node_modules/micromark/dist/tokenize/hard-break-escape.js create mode 100644 tools/node_modules/eslint-plugin-markdown/node_modules/micromark/dist/tokenize/heading-atx.js create mode 100644 tools/node_modules/eslint-plugin-markdown/node_modules/micromark/dist/tokenize/html-flow.js create mode 100644 tools/node_modules/eslint-plugin-markdown/node_modules/micromark/dist/tokenize/html-text.js create mode 100644 tools/node_modules/eslint-plugin-markdown/node_modules/micromark/dist/tokenize/label-end.js create mode 100644 tools/node_modules/eslint-plugin-markdown/node_modules/micromark/dist/tokenize/label-start-image.js create mode 100644 tools/node_modules/eslint-plugin-markdown/node_modules/micromark/dist/tokenize/label-start-link.js create mode 100644 tools/node_modules/eslint-plugin-markdown/node_modules/micromark/dist/tokenize/line-ending.js create mode 100644 tools/node_modules/eslint-plugin-markdown/node_modules/micromark/dist/tokenize/list.js create mode 100644 tools/node_modules/eslint-plugin-markdown/node_modules/micromark/dist/tokenize/partial-blank-line.js create mode 100644 tools/node_modules/eslint-plugin-markdown/node_modules/micromark/dist/tokenize/setext-underline.js create mode 100644 tools/node_modules/eslint-plugin-markdown/node_modules/micromark/dist/tokenize/thematic-break.js create mode 100644 tools/node_modules/eslint-plugin-markdown/node_modules/micromark/dist/util/chunked-push.js create mode 100644 tools/node_modules/eslint-plugin-markdown/node_modules/micromark/dist/util/chunked-splice.js create mode 100644 tools/node_modules/eslint-plugin-markdown/node_modules/micromark/dist/util/classify-character.js create mode 100644 tools/node_modules/eslint-plugin-markdown/node_modules/micromark/dist/util/combine-extensions.js create mode 100644 tools/node_modules/eslint-plugin-markdown/node_modules/micromark/dist/util/combine-html-extensions.js create mode 100644 tools/node_modules/eslint-plugin-markdown/node_modules/micromark/dist/util/create-tokenizer.js create mode 100644 tools/node_modules/eslint-plugin-markdown/node_modules/micromark/dist/util/miniflat.js create mode 100644 tools/node_modules/eslint-plugin-markdown/node_modules/micromark/dist/util/move-point.js create mode 100644 tools/node_modules/eslint-plugin-markdown/node_modules/micromark/dist/util/normalize-identifier.js create mode 100644 tools/node_modules/eslint-plugin-markdown/node_modules/micromark/dist/util/normalize-uri.js create mode 100644 tools/node_modules/eslint-plugin-markdown/node_modules/micromark/dist/util/prefix-size.js create mode 100644 tools/node_modules/eslint-plugin-markdown/node_modules/micromark/dist/util/regex-check.js create mode 100644 tools/node_modules/eslint-plugin-markdown/node_modules/micromark/dist/util/resolve-all.js create mode 100644 tools/node_modules/eslint-plugin-markdown/node_modules/micromark/dist/util/safe-from-int.js create mode 100644 tools/node_modules/eslint-plugin-markdown/node_modules/micromark/dist/util/serialize-chunks.js create mode 100644 tools/node_modules/eslint-plugin-markdown/node_modules/micromark/dist/util/shallow.js create mode 100644 tools/node_modules/eslint-plugin-markdown/node_modules/micromark/dist/util/size-chunks.js create mode 100644 tools/node_modules/eslint-plugin-markdown/node_modules/micromark/dist/util/slice-chunks.js create mode 100644 tools/node_modules/eslint-plugin-markdown/node_modules/micromark/dist/util/subtokenize.js create mode 100644 tools/node_modules/eslint-plugin-markdown/node_modules/micromark/index.js create mode 100644 tools/node_modules/eslint-plugin-markdown/node_modules/micromark/index.mjs create mode 100644 tools/node_modules/eslint-plugin-markdown/node_modules/micromark/lib/character/ascii-alpha.js create mode 100644 tools/node_modules/eslint-plugin-markdown/node_modules/micromark/lib/character/ascii-alpha.mjs create mode 100644 tools/node_modules/eslint-plugin-markdown/node_modules/micromark/lib/character/ascii-alphanumeric.js create mode 100644 tools/node_modules/eslint-plugin-markdown/node_modules/micromark/lib/character/ascii-alphanumeric.mjs create mode 100644 tools/node_modules/eslint-plugin-markdown/node_modules/micromark/lib/character/ascii-atext.js create mode 100644 tools/node_modules/eslint-plugin-markdown/node_modules/micromark/lib/character/ascii-atext.mjs create mode 100644 tools/node_modules/eslint-plugin-markdown/node_modules/micromark/lib/character/ascii-control.js create mode 100644 tools/node_modules/eslint-plugin-markdown/node_modules/micromark/lib/character/ascii-control.mjs create mode 100644 tools/node_modules/eslint-plugin-markdown/node_modules/micromark/lib/character/ascii-digit.js create mode 100644 tools/node_modules/eslint-plugin-markdown/node_modules/micromark/lib/character/ascii-digit.mjs create mode 100644 tools/node_modules/eslint-plugin-markdown/node_modules/micromark/lib/character/ascii-hex-digit.js create mode 100644 tools/node_modules/eslint-plugin-markdown/node_modules/micromark/lib/character/ascii-hex-digit.mjs create mode 100644 tools/node_modules/eslint-plugin-markdown/node_modules/micromark/lib/character/ascii-punctuation.js create mode 100644 tools/node_modules/eslint-plugin-markdown/node_modules/micromark/lib/character/ascii-punctuation.mjs create mode 100644 tools/node_modules/eslint-plugin-markdown/node_modules/micromark/lib/character/codes.js create mode 100644 tools/node_modules/eslint-plugin-markdown/node_modules/micromark/lib/character/codes.mjs create mode 100644 tools/node_modules/eslint-plugin-markdown/node_modules/micromark/lib/character/markdown-line-ending-or-space.js create mode 100644 tools/node_modules/eslint-plugin-markdown/node_modules/micromark/lib/character/markdown-line-ending-or-space.mjs create mode 100644 tools/node_modules/eslint-plugin-markdown/node_modules/micromark/lib/character/markdown-line-ending.js create mode 100644 tools/node_modules/eslint-plugin-markdown/node_modules/micromark/lib/character/markdown-line-ending.mjs create mode 100644 tools/node_modules/eslint-plugin-markdown/node_modules/micromark/lib/character/markdown-space.js create mode 100644 tools/node_modules/eslint-plugin-markdown/node_modules/micromark/lib/character/markdown-space.mjs create mode 100644 tools/node_modules/eslint-plugin-markdown/node_modules/micromark/lib/character/unicode-punctuation.js create mode 100644 tools/node_modules/eslint-plugin-markdown/node_modules/micromark/lib/character/unicode-punctuation.mjs create mode 100644 tools/node_modules/eslint-plugin-markdown/node_modules/micromark/lib/character/unicode-whitespace.js create mode 100644 tools/node_modules/eslint-plugin-markdown/node_modules/micromark/lib/character/unicode-whitespace.mjs create mode 100644 tools/node_modules/eslint-plugin-markdown/node_modules/micromark/lib/character/values.js create mode 100644 tools/node_modules/eslint-plugin-markdown/node_modules/micromark/lib/character/values.mjs create mode 100644 tools/node_modules/eslint-plugin-markdown/node_modules/micromark/lib/compile/html.js create mode 100644 tools/node_modules/eslint-plugin-markdown/node_modules/micromark/lib/compile/html.mjs create mode 100644 tools/node_modules/eslint-plugin-markdown/node_modules/micromark/lib/constant/assign.js create mode 100644 tools/node_modules/eslint-plugin-markdown/node_modules/micromark/lib/constant/assign.mjs create mode 100644 tools/node_modules/eslint-plugin-markdown/node_modules/micromark/lib/constant/constants.js create mode 100644 tools/node_modules/eslint-plugin-markdown/node_modules/micromark/lib/constant/constants.mjs create mode 100644 tools/node_modules/eslint-plugin-markdown/node_modules/micromark/lib/constant/from-char-code.js create mode 100644 tools/node_modules/eslint-plugin-markdown/node_modules/micromark/lib/constant/from-char-code.mjs create mode 100644 tools/node_modules/eslint-plugin-markdown/node_modules/micromark/lib/constant/has-own-property.js create mode 100644 tools/node_modules/eslint-plugin-markdown/node_modules/micromark/lib/constant/has-own-property.mjs create mode 100644 tools/node_modules/eslint-plugin-markdown/node_modules/micromark/lib/constant/html-block-names.js rename tools/node_modules/eslint-plugin-markdown/node_modules/{remark-parse/lib/block-elements.js => micromark/lib/constant/html-block-names.mjs} (87%) create mode 100644 tools/node_modules/eslint-plugin-markdown/node_modules/micromark/lib/constant/html-raw-names.js create mode 100644 tools/node_modules/eslint-plugin-markdown/node_modules/micromark/lib/constant/html-raw-names.mjs create mode 100644 tools/node_modules/eslint-plugin-markdown/node_modules/micromark/lib/constant/splice.js create mode 100644 tools/node_modules/eslint-plugin-markdown/node_modules/micromark/lib/constant/splice.mjs create mode 100644 tools/node_modules/eslint-plugin-markdown/node_modules/micromark/lib/constant/types.js create mode 100644 tools/node_modules/eslint-plugin-markdown/node_modules/micromark/lib/constant/types.mjs create mode 100644 tools/node_modules/eslint-plugin-markdown/node_modules/micromark/lib/constant/unicode-punctuation-regex.js create mode 100644 tools/node_modules/eslint-plugin-markdown/node_modules/micromark/lib/constant/unicode-punctuation-regex.mjs create mode 100644 tools/node_modules/eslint-plugin-markdown/node_modules/micromark/lib/constructs.js create mode 100644 tools/node_modules/eslint-plugin-markdown/node_modules/micromark/lib/constructs.mjs create mode 100644 tools/node_modules/eslint-plugin-markdown/node_modules/micromark/lib/index.js create mode 100644 tools/node_modules/eslint-plugin-markdown/node_modules/micromark/lib/index.mjs create mode 100644 tools/node_modules/eslint-plugin-markdown/node_modules/micromark/lib/initialize/content.js create mode 100644 tools/node_modules/eslint-plugin-markdown/node_modules/micromark/lib/initialize/content.mjs create mode 100644 tools/node_modules/eslint-plugin-markdown/node_modules/micromark/lib/initialize/document.js create mode 100644 tools/node_modules/eslint-plugin-markdown/node_modules/micromark/lib/initialize/document.mjs create mode 100644 tools/node_modules/eslint-plugin-markdown/node_modules/micromark/lib/initialize/flow.js create mode 100644 tools/node_modules/eslint-plugin-markdown/node_modules/micromark/lib/initialize/flow.mjs create mode 100644 tools/node_modules/eslint-plugin-markdown/node_modules/micromark/lib/initialize/text.js create mode 100644 tools/node_modules/eslint-plugin-markdown/node_modules/micromark/lib/initialize/text.mjs create mode 100644 tools/node_modules/eslint-plugin-markdown/node_modules/micromark/lib/parse.js create mode 100644 tools/node_modules/eslint-plugin-markdown/node_modules/micromark/lib/parse.mjs create mode 100644 tools/node_modules/eslint-plugin-markdown/node_modules/micromark/lib/postprocess.js create mode 100644 tools/node_modules/eslint-plugin-markdown/node_modules/micromark/lib/postprocess.mjs create mode 100644 tools/node_modules/eslint-plugin-markdown/node_modules/micromark/lib/preprocess.js create mode 100644 tools/node_modules/eslint-plugin-markdown/node_modules/micromark/lib/preprocess.mjs create mode 100644 tools/node_modules/eslint-plugin-markdown/node_modules/micromark/lib/stream.js create mode 100644 tools/node_modules/eslint-plugin-markdown/node_modules/micromark/lib/stream.mjs create mode 100644 tools/node_modules/eslint-plugin-markdown/node_modules/micromark/lib/tokenize/attention.js create mode 100644 tools/node_modules/eslint-plugin-markdown/node_modules/micromark/lib/tokenize/attention.mjs create mode 100644 tools/node_modules/eslint-plugin-markdown/node_modules/micromark/lib/tokenize/autolink.js create mode 100644 tools/node_modules/eslint-plugin-markdown/node_modules/micromark/lib/tokenize/autolink.mjs create mode 100644 tools/node_modules/eslint-plugin-markdown/node_modules/micromark/lib/tokenize/block-quote.js create mode 100644 tools/node_modules/eslint-plugin-markdown/node_modules/micromark/lib/tokenize/block-quote.mjs create mode 100644 tools/node_modules/eslint-plugin-markdown/node_modules/micromark/lib/tokenize/character-escape.js create mode 100644 tools/node_modules/eslint-plugin-markdown/node_modules/micromark/lib/tokenize/character-escape.mjs create mode 100644 tools/node_modules/eslint-plugin-markdown/node_modules/micromark/lib/tokenize/character-reference.js create mode 100644 tools/node_modules/eslint-plugin-markdown/node_modules/micromark/lib/tokenize/character-reference.mjs create mode 100644 tools/node_modules/eslint-plugin-markdown/node_modules/micromark/lib/tokenize/code-fenced.js create mode 100644 tools/node_modules/eslint-plugin-markdown/node_modules/micromark/lib/tokenize/code-fenced.mjs create mode 100644 tools/node_modules/eslint-plugin-markdown/node_modules/micromark/lib/tokenize/code-indented.js create mode 100644 tools/node_modules/eslint-plugin-markdown/node_modules/micromark/lib/tokenize/code-indented.mjs create mode 100644 tools/node_modules/eslint-plugin-markdown/node_modules/micromark/lib/tokenize/code-text.js create mode 100644 tools/node_modules/eslint-plugin-markdown/node_modules/micromark/lib/tokenize/code-text.mjs create mode 100644 tools/node_modules/eslint-plugin-markdown/node_modules/micromark/lib/tokenize/content.js create mode 100644 tools/node_modules/eslint-plugin-markdown/node_modules/micromark/lib/tokenize/content.mjs create mode 100644 tools/node_modules/eslint-plugin-markdown/node_modules/micromark/lib/tokenize/definition.js create mode 100644 tools/node_modules/eslint-plugin-markdown/node_modules/micromark/lib/tokenize/definition.mjs create mode 100644 tools/node_modules/eslint-plugin-markdown/node_modules/micromark/lib/tokenize/factory-destination.js create mode 100644 tools/node_modules/eslint-plugin-markdown/node_modules/micromark/lib/tokenize/factory-destination.mjs create mode 100644 tools/node_modules/eslint-plugin-markdown/node_modules/micromark/lib/tokenize/factory-label.js create mode 100644 tools/node_modules/eslint-plugin-markdown/node_modules/micromark/lib/tokenize/factory-label.mjs create mode 100644 tools/node_modules/eslint-plugin-markdown/node_modules/micromark/lib/tokenize/factory-space.js create mode 100644 tools/node_modules/eslint-plugin-markdown/node_modules/micromark/lib/tokenize/factory-space.mjs create mode 100644 tools/node_modules/eslint-plugin-markdown/node_modules/micromark/lib/tokenize/factory-title.js create mode 100644 tools/node_modules/eslint-plugin-markdown/node_modules/micromark/lib/tokenize/factory-title.mjs create mode 100644 tools/node_modules/eslint-plugin-markdown/node_modules/micromark/lib/tokenize/factory-whitespace.js create mode 100644 tools/node_modules/eslint-plugin-markdown/node_modules/micromark/lib/tokenize/factory-whitespace.mjs create mode 100644 tools/node_modules/eslint-plugin-markdown/node_modules/micromark/lib/tokenize/hard-break-escape.js create mode 100644 tools/node_modules/eslint-plugin-markdown/node_modules/micromark/lib/tokenize/hard-break-escape.mjs create mode 100644 tools/node_modules/eslint-plugin-markdown/node_modules/micromark/lib/tokenize/heading-atx.js create mode 100644 tools/node_modules/eslint-plugin-markdown/node_modules/micromark/lib/tokenize/heading-atx.mjs create mode 100644 tools/node_modules/eslint-plugin-markdown/node_modules/micromark/lib/tokenize/html-flow.js create mode 100644 tools/node_modules/eslint-plugin-markdown/node_modules/micromark/lib/tokenize/html-flow.mjs create mode 100644 tools/node_modules/eslint-plugin-markdown/node_modules/micromark/lib/tokenize/html-text.js create mode 100644 tools/node_modules/eslint-plugin-markdown/node_modules/micromark/lib/tokenize/html-text.mjs create mode 100644 tools/node_modules/eslint-plugin-markdown/node_modules/micromark/lib/tokenize/label-end.js create mode 100644 tools/node_modules/eslint-plugin-markdown/node_modules/micromark/lib/tokenize/label-end.mjs create mode 100644 tools/node_modules/eslint-plugin-markdown/node_modules/micromark/lib/tokenize/label-start-image.js create mode 100644 tools/node_modules/eslint-plugin-markdown/node_modules/micromark/lib/tokenize/label-start-image.mjs create mode 100644 tools/node_modules/eslint-plugin-markdown/node_modules/micromark/lib/tokenize/label-start-link.js create mode 100644 tools/node_modules/eslint-plugin-markdown/node_modules/micromark/lib/tokenize/label-start-link.mjs create mode 100644 tools/node_modules/eslint-plugin-markdown/node_modules/micromark/lib/tokenize/line-ending.js create mode 100644 tools/node_modules/eslint-plugin-markdown/node_modules/micromark/lib/tokenize/line-ending.mjs create mode 100644 tools/node_modules/eslint-plugin-markdown/node_modules/micromark/lib/tokenize/list.js create mode 100644 tools/node_modules/eslint-plugin-markdown/node_modules/micromark/lib/tokenize/list.mjs create mode 100644 tools/node_modules/eslint-plugin-markdown/node_modules/micromark/lib/tokenize/partial-blank-line.js create mode 100644 tools/node_modules/eslint-plugin-markdown/node_modules/micromark/lib/tokenize/partial-blank-line.mjs create mode 100644 tools/node_modules/eslint-plugin-markdown/node_modules/micromark/lib/tokenize/setext-underline.js create mode 100644 tools/node_modules/eslint-plugin-markdown/node_modules/micromark/lib/tokenize/setext-underline.mjs create mode 100644 tools/node_modules/eslint-plugin-markdown/node_modules/micromark/lib/tokenize/thematic-break.js create mode 100644 tools/node_modules/eslint-plugin-markdown/node_modules/micromark/lib/tokenize/thematic-break.mjs create mode 100644 tools/node_modules/eslint-plugin-markdown/node_modules/micromark/lib/util/chunked-push.js create mode 100644 tools/node_modules/eslint-plugin-markdown/node_modules/micromark/lib/util/chunked-push.mjs create mode 100644 tools/node_modules/eslint-plugin-markdown/node_modules/micromark/lib/util/chunked-splice.js create mode 100644 tools/node_modules/eslint-plugin-markdown/node_modules/micromark/lib/util/chunked-splice.mjs create mode 100644 tools/node_modules/eslint-plugin-markdown/node_modules/micromark/lib/util/classify-character.js create mode 100644 tools/node_modules/eslint-plugin-markdown/node_modules/micromark/lib/util/classify-character.mjs create mode 100644 tools/node_modules/eslint-plugin-markdown/node_modules/micromark/lib/util/combine-extensions.js create mode 100644 tools/node_modules/eslint-plugin-markdown/node_modules/micromark/lib/util/combine-extensions.mjs create mode 100644 tools/node_modules/eslint-plugin-markdown/node_modules/micromark/lib/util/combine-html-extensions.js create mode 100644 tools/node_modules/eslint-plugin-markdown/node_modules/micromark/lib/util/combine-html-extensions.mjs create mode 100644 tools/node_modules/eslint-plugin-markdown/node_modules/micromark/lib/util/create-tokenizer.js create mode 100644 tools/node_modules/eslint-plugin-markdown/node_modules/micromark/lib/util/create-tokenizer.mjs create mode 100644 tools/node_modules/eslint-plugin-markdown/node_modules/micromark/lib/util/miniflat.js create mode 100644 tools/node_modules/eslint-plugin-markdown/node_modules/micromark/lib/util/miniflat.mjs create mode 100644 tools/node_modules/eslint-plugin-markdown/node_modules/micromark/lib/util/move-point.js create mode 100644 tools/node_modules/eslint-plugin-markdown/node_modules/micromark/lib/util/move-point.mjs create mode 100644 tools/node_modules/eslint-plugin-markdown/node_modules/micromark/lib/util/normalize-identifier.js create mode 100644 tools/node_modules/eslint-plugin-markdown/node_modules/micromark/lib/util/normalize-identifier.mjs create mode 100644 tools/node_modules/eslint-plugin-markdown/node_modules/micromark/lib/util/normalize-uri.js create mode 100644 tools/node_modules/eslint-plugin-markdown/node_modules/micromark/lib/util/normalize-uri.mjs create mode 100644 tools/node_modules/eslint-plugin-markdown/node_modules/micromark/lib/util/prefix-size.js create mode 100644 tools/node_modules/eslint-plugin-markdown/node_modules/micromark/lib/util/prefix-size.mjs create mode 100644 tools/node_modules/eslint-plugin-markdown/node_modules/micromark/lib/util/regex-check.js create mode 100644 tools/node_modules/eslint-plugin-markdown/node_modules/micromark/lib/util/regex-check.mjs create mode 100644 tools/node_modules/eslint-plugin-markdown/node_modules/micromark/lib/util/resolve-all.js create mode 100644 tools/node_modules/eslint-plugin-markdown/node_modules/micromark/lib/util/resolve-all.mjs create mode 100644 tools/node_modules/eslint-plugin-markdown/node_modules/micromark/lib/util/safe-from-int.js create mode 100644 tools/node_modules/eslint-plugin-markdown/node_modules/micromark/lib/util/safe-from-int.mjs create mode 100644 tools/node_modules/eslint-plugin-markdown/node_modules/micromark/lib/util/serialize-chunks.js create mode 100644 tools/node_modules/eslint-plugin-markdown/node_modules/micromark/lib/util/serialize-chunks.mjs create mode 100644 tools/node_modules/eslint-plugin-markdown/node_modules/micromark/lib/util/shallow.js create mode 100644 tools/node_modules/eslint-plugin-markdown/node_modules/micromark/lib/util/shallow.mjs create mode 100644 tools/node_modules/eslint-plugin-markdown/node_modules/micromark/lib/util/size-chunks.js create mode 100644 tools/node_modules/eslint-plugin-markdown/node_modules/micromark/lib/util/size-chunks.mjs create mode 100644 tools/node_modules/eslint-plugin-markdown/node_modules/micromark/lib/util/slice-chunks.js create mode 100644 tools/node_modules/eslint-plugin-markdown/node_modules/micromark/lib/util/slice-chunks.mjs create mode 100644 tools/node_modules/eslint-plugin-markdown/node_modules/micromark/lib/util/subtokenize.js create mode 100644 tools/node_modules/eslint-plugin-markdown/node_modules/micromark/lib/util/subtokenize.mjs rename tools/node_modules/eslint-plugin-markdown/node_modules/{markdown-escapes => micromark}/license (94%) create mode 100644 tools/node_modules/eslint-plugin-markdown/node_modules/micromark/package.json create mode 100644 tools/node_modules/eslint-plugin-markdown/node_modules/micromark/readme.md create mode 100644 tools/node_modules/eslint-plugin-markdown/node_modules/micromark/stream.js create mode 100644 tools/node_modules/eslint-plugin-markdown/node_modules/micromark/stream.mjs create mode 100644 tools/node_modules/eslint-plugin-markdown/node_modules/ms/index.js rename tools/node_modules/eslint-plugin-markdown/node_modules/{replace-ext/LICENSE => ms/license.md} (89%) mode change 100755 => 100644 create mode 100644 tools/node_modules/eslint-plugin-markdown/node_modules/ms/package.json create mode 100644 tools/node_modules/eslint-plugin-markdown/node_modules/ms/readme.md delete mode 100644 tools/node_modules/eslint-plugin-markdown/node_modules/remark-parse/index.js delete mode 100644 tools/node_modules/eslint-plugin-markdown/node_modules/remark-parse/lib/decode.js delete mode 100644 tools/node_modules/eslint-plugin-markdown/node_modules/remark-parse/lib/defaults.js delete mode 100644 tools/node_modules/eslint-plugin-markdown/node_modules/remark-parse/lib/locate/break.js delete mode 100644 tools/node_modules/eslint-plugin-markdown/node_modules/remark-parse/lib/locate/code-inline.js delete mode 100644 tools/node_modules/eslint-plugin-markdown/node_modules/remark-parse/lib/locate/delete.js delete mode 100644 tools/node_modules/eslint-plugin-markdown/node_modules/remark-parse/lib/locate/emphasis.js delete mode 100644 tools/node_modules/eslint-plugin-markdown/node_modules/remark-parse/lib/locate/escape.js delete mode 100644 tools/node_modules/eslint-plugin-markdown/node_modules/remark-parse/lib/locate/link.js delete mode 100644 tools/node_modules/eslint-plugin-markdown/node_modules/remark-parse/lib/locate/strong.js delete mode 100644 tools/node_modules/eslint-plugin-markdown/node_modules/remark-parse/lib/locate/tag.js delete mode 100644 tools/node_modules/eslint-plugin-markdown/node_modules/remark-parse/lib/locate/url.js delete mode 100644 tools/node_modules/eslint-plugin-markdown/node_modules/remark-parse/lib/parse.js delete mode 100644 tools/node_modules/eslint-plugin-markdown/node_modules/remark-parse/lib/parser.js delete mode 100644 tools/node_modules/eslint-plugin-markdown/node_modules/remark-parse/lib/set-options.js delete mode 100644 tools/node_modules/eslint-plugin-markdown/node_modules/remark-parse/lib/tokenize/auto-link.js delete mode 100644 tools/node_modules/eslint-plugin-markdown/node_modules/remark-parse/lib/tokenize/blockquote.js delete mode 100644 tools/node_modules/eslint-plugin-markdown/node_modules/remark-parse/lib/tokenize/break.js delete mode 100644 tools/node_modules/eslint-plugin-markdown/node_modules/remark-parse/lib/tokenize/code-fenced.js delete mode 100644 tools/node_modules/eslint-plugin-markdown/node_modules/remark-parse/lib/tokenize/code-indented.js delete mode 100644 tools/node_modules/eslint-plugin-markdown/node_modules/remark-parse/lib/tokenize/code-inline.js delete mode 100644 tools/node_modules/eslint-plugin-markdown/node_modules/remark-parse/lib/tokenize/definition.js delete mode 100644 tools/node_modules/eslint-plugin-markdown/node_modules/remark-parse/lib/tokenize/delete.js delete mode 100644 tools/node_modules/eslint-plugin-markdown/node_modules/remark-parse/lib/tokenize/emphasis.js delete mode 100644 tools/node_modules/eslint-plugin-markdown/node_modules/remark-parse/lib/tokenize/escape.js delete mode 100644 tools/node_modules/eslint-plugin-markdown/node_modules/remark-parse/lib/tokenize/footnote-definition.js delete mode 100644 tools/node_modules/eslint-plugin-markdown/node_modules/remark-parse/lib/tokenize/heading-atx.js delete mode 100644 tools/node_modules/eslint-plugin-markdown/node_modules/remark-parse/lib/tokenize/heading-setext.js delete mode 100644 tools/node_modules/eslint-plugin-markdown/node_modules/remark-parse/lib/tokenize/html-block.js delete mode 100644 tools/node_modules/eslint-plugin-markdown/node_modules/remark-parse/lib/tokenize/html-inline.js delete mode 100644 tools/node_modules/eslint-plugin-markdown/node_modules/remark-parse/lib/tokenize/link.js delete mode 100644 tools/node_modules/eslint-plugin-markdown/node_modules/remark-parse/lib/tokenize/list.js delete mode 100644 tools/node_modules/eslint-plugin-markdown/node_modules/remark-parse/lib/tokenize/newline.js delete mode 100644 tools/node_modules/eslint-plugin-markdown/node_modules/remark-parse/lib/tokenize/paragraph.js delete mode 100644 tools/node_modules/eslint-plugin-markdown/node_modules/remark-parse/lib/tokenize/reference.js delete mode 100644 tools/node_modules/eslint-plugin-markdown/node_modules/remark-parse/lib/tokenize/strong.js delete mode 100644 tools/node_modules/eslint-plugin-markdown/node_modules/remark-parse/lib/tokenize/table.js delete mode 100644 tools/node_modules/eslint-plugin-markdown/node_modules/remark-parse/lib/tokenize/text.js delete mode 100644 tools/node_modules/eslint-plugin-markdown/node_modules/remark-parse/lib/tokenize/thematic-break.js delete mode 100644 tools/node_modules/eslint-plugin-markdown/node_modules/remark-parse/lib/tokenize/url.js delete mode 100644 tools/node_modules/eslint-plugin-markdown/node_modules/remark-parse/lib/tokenizer.js delete mode 100644 tools/node_modules/eslint-plugin-markdown/node_modules/remark-parse/lib/unescape.js delete mode 100644 tools/node_modules/eslint-plugin-markdown/node_modules/remark-parse/lib/util/get-indentation.js delete mode 100644 tools/node_modules/eslint-plugin-markdown/node_modules/remark-parse/lib/util/html.js delete mode 100644 tools/node_modules/eslint-plugin-markdown/node_modules/remark-parse/lib/util/interrupt.js delete mode 100644 tools/node_modules/eslint-plugin-markdown/node_modules/remark-parse/lib/util/is-markdown-whitespace-character.js delete mode 100644 tools/node_modules/eslint-plugin-markdown/node_modules/remark-parse/lib/util/normalize.js delete mode 100644 tools/node_modules/eslint-plugin-markdown/node_modules/remark-parse/lib/util/remove-indentation.js delete mode 100644 tools/node_modules/eslint-plugin-markdown/node_modules/remark-parse/package.json delete mode 100644 tools/node_modules/eslint-plugin-markdown/node_modules/remark-parse/readme.md delete mode 100644 tools/node_modules/eslint-plugin-markdown/node_modules/repeat-string/LICENSE delete mode 100644 tools/node_modules/eslint-plugin-markdown/node_modules/repeat-string/README.md delete mode 100644 tools/node_modules/eslint-plugin-markdown/node_modules/repeat-string/index.js delete mode 100644 tools/node_modules/eslint-plugin-markdown/node_modules/repeat-string/package.json delete mode 100644 tools/node_modules/eslint-plugin-markdown/node_modules/replace-ext/README.md delete mode 100644 tools/node_modules/eslint-plugin-markdown/node_modules/replace-ext/index.js delete mode 100644 tools/node_modules/eslint-plugin-markdown/node_modules/replace-ext/package.json delete mode 100644 tools/node_modules/eslint-plugin-markdown/node_modules/state-toggle/index.js delete mode 100644 tools/node_modules/eslint-plugin-markdown/node_modules/state-toggle/license delete mode 100644 tools/node_modules/eslint-plugin-markdown/node_modules/state-toggle/package.json delete mode 100644 tools/node_modules/eslint-plugin-markdown/node_modules/state-toggle/readme.md delete mode 100644 tools/node_modules/eslint-plugin-markdown/node_modules/trim-trailing-lines/index.js delete mode 100644 tools/node_modules/eslint-plugin-markdown/node_modules/trim-trailing-lines/license delete mode 100644 tools/node_modules/eslint-plugin-markdown/node_modules/trim-trailing-lines/readme.md delete mode 100644 tools/node_modules/eslint-plugin-markdown/node_modules/trim/Makefile delete mode 100644 tools/node_modules/eslint-plugin-markdown/node_modules/trim/Readme.md delete mode 100644 tools/node_modules/eslint-plugin-markdown/node_modules/trim/index.js delete mode 100644 tools/node_modules/eslint-plugin-markdown/node_modules/trim/package.json delete mode 100644 tools/node_modules/eslint-plugin-markdown/node_modules/trough/index.js delete mode 100644 tools/node_modules/eslint-plugin-markdown/node_modules/trough/license delete mode 100644 tools/node_modules/eslint-plugin-markdown/node_modules/trough/package.json delete mode 100644 tools/node_modules/eslint-plugin-markdown/node_modules/trough/readme.md delete mode 100644 tools/node_modules/eslint-plugin-markdown/node_modules/trough/wrap.js delete mode 100644 tools/node_modules/eslint-plugin-markdown/node_modules/unherit/index.js delete mode 100644 tools/node_modules/eslint-plugin-markdown/node_modules/unherit/license delete mode 100644 tools/node_modules/eslint-plugin-markdown/node_modules/unherit/package.json delete mode 100644 tools/node_modules/eslint-plugin-markdown/node_modules/unherit/readme.md delete mode 100644 tools/node_modules/eslint-plugin-markdown/node_modules/unified/LICENSE delete mode 100644 tools/node_modules/eslint-plugin-markdown/node_modules/unified/index.js delete mode 100644 tools/node_modules/eslint-plugin-markdown/node_modules/unified/package.json delete mode 100644 tools/node_modules/eslint-plugin-markdown/node_modules/unified/readme.md delete mode 100644 tools/node_modules/eslint-plugin-markdown/node_modules/unist-util-is/convert.js delete mode 100644 tools/node_modules/eslint-plugin-markdown/node_modules/unist-util-is/index.js delete mode 100644 tools/node_modules/eslint-plugin-markdown/node_modules/unist-util-is/license delete mode 100644 tools/node_modules/eslint-plugin-markdown/node_modules/unist-util-is/package.json delete mode 100644 tools/node_modules/eslint-plugin-markdown/node_modules/unist-util-is/readme.md delete mode 100644 tools/node_modules/eslint-plugin-markdown/node_modules/unist-util-remove-position/index.js delete mode 100644 tools/node_modules/eslint-plugin-markdown/node_modules/unist-util-remove-position/license delete mode 100644 tools/node_modules/eslint-plugin-markdown/node_modules/unist-util-remove-position/package.json delete mode 100644 tools/node_modules/eslint-plugin-markdown/node_modules/unist-util-remove-position/readme.md delete mode 100644 tools/node_modules/eslint-plugin-markdown/node_modules/unist-util-stringify-position/LICENSE rename tools/node_modules/eslint-plugin-markdown/node_modules/{is-whitespace-character => unist-util-stringify-position}/license (100%) delete mode 100644 tools/node_modules/eslint-plugin-markdown/node_modules/unist-util-visit-parents/index.js delete mode 100644 tools/node_modules/eslint-plugin-markdown/node_modules/unist-util-visit-parents/license delete mode 100644 tools/node_modules/eslint-plugin-markdown/node_modules/unist-util-visit-parents/package.json delete mode 100644 tools/node_modules/eslint-plugin-markdown/node_modules/unist-util-visit-parents/readme.md delete mode 100644 tools/node_modules/eslint-plugin-markdown/node_modules/unist-util-visit/index.js delete mode 100644 tools/node_modules/eslint-plugin-markdown/node_modules/unist-util-visit/license delete mode 100644 tools/node_modules/eslint-plugin-markdown/node_modules/unist-util-visit/package.json delete mode 100644 tools/node_modules/eslint-plugin-markdown/node_modules/unist-util-visit/readme.md delete mode 100644 tools/node_modules/eslint-plugin-markdown/node_modules/vfile-location/index.js delete mode 100644 tools/node_modules/eslint-plugin-markdown/node_modules/vfile-location/license delete mode 100644 tools/node_modules/eslint-plugin-markdown/node_modules/vfile-location/package.json delete mode 100644 tools/node_modules/eslint-plugin-markdown/node_modules/vfile-location/readme.md delete mode 100644 tools/node_modules/eslint-plugin-markdown/node_modules/vfile-message/index.js delete mode 100644 tools/node_modules/eslint-plugin-markdown/node_modules/vfile-message/license delete mode 100644 tools/node_modules/eslint-plugin-markdown/node_modules/vfile-message/package.json delete mode 100644 tools/node_modules/eslint-plugin-markdown/node_modules/vfile-message/readme.md delete mode 100644 tools/node_modules/eslint-plugin-markdown/node_modules/vfile/LICENSE delete mode 100644 tools/node_modules/eslint-plugin-markdown/node_modules/vfile/core.js delete mode 100644 tools/node_modules/eslint-plugin-markdown/node_modules/vfile/index.js delete mode 100644 tools/node_modules/eslint-plugin-markdown/node_modules/vfile/package.json delete mode 100644 tools/node_modules/eslint-plugin-markdown/node_modules/vfile/readme.md delete mode 100644 tools/node_modules/eslint-plugin-markdown/node_modules/x-is-string/LICENCE delete mode 100644 tools/node_modules/eslint-plugin-markdown/node_modules/x-is-string/README.md delete mode 100644 tools/node_modules/eslint-plugin-markdown/node_modules/x-is-string/index.js delete mode 100644 tools/node_modules/eslint-plugin-markdown/node_modules/x-is-string/package.json delete mode 100644 tools/node_modules/eslint-plugin-markdown/node_modules/xtend/LICENSE delete mode 100644 tools/node_modules/eslint-plugin-markdown/node_modules/xtend/README.md delete mode 100644 tools/node_modules/eslint-plugin-markdown/node_modules/xtend/immutable.js delete mode 100644 tools/node_modules/eslint-plugin-markdown/node_modules/xtend/mutable.js delete mode 100644 tools/node_modules/eslint-plugin-markdown/node_modules/xtend/package.json delete mode 100644 tools/node_modules/eslint/node_modules/@eslint/eslintrc/node_modules/globals/globals.json delete mode 100644 tools/node_modules/eslint/node_modules/@eslint/eslintrc/node_modules/globals/index.js delete mode 100644 tools/node_modules/eslint/node_modules/@eslint/eslintrc/node_modules/globals/license delete mode 100644 tools/node_modules/eslint/node_modules/@eslint/eslintrc/node_modules/globals/package.json delete mode 100644 tools/node_modules/eslint/node_modules/@eslint/eslintrc/node_modules/globals/readme.md delete mode 100644 tools/node_modules/eslint/node_modules/@eslint/eslintrc/node_modules/type-fest/license delete mode 100644 tools/node_modules/eslint/node_modules/@eslint/eslintrc/node_modules/type-fest/package.json delete mode 100644 tools/node_modules/eslint/node_modules/@eslint/eslintrc/node_modules/type-fest/readme.md diff --git a/tools/node_modules/eslint-plugin-markdown/lib/processor.js b/tools/node_modules/eslint-plugin-markdown/lib/processor.js index 94cf816dc913d9..a79f24356f7847 100644 --- a/tools/node_modules/eslint-plugin-markdown/lib/processor.js +++ b/tools/node_modules/eslint-plugin-markdown/lib/processor.js @@ -11,8 +11,12 @@ * @property {string} [lang] * * @typedef {Object} RangeMap - * @property {number} js - * @property {number} md + * @property {number} indent Number of code block indent characters trimmed from + * the beginning of the line during extraction. + * @property {number} js Offset from the start of the code block's range in the + * extracted JS. + * @property {number} md Offset from the start of the code block's range in the + * original Markdown. * * @typedef {Object} BlockBase * @property {string} baseIndentText @@ -24,8 +28,7 @@ "use strict"; -const unified = require("unified"); -const remarkParse = require("remark-parse"); +const parse = require("mdast-util-from-markdown"); const UNSATISFIABLE_RULES = [ "eol-last", // The Markdown parser strips trailing newlines in code fences @@ -33,8 +36,6 @@ const UNSATISFIABLE_RULES = [ ]; const SUPPORTS_AUTOFIX = true; -const markdown = unified().use(remarkParse); - /** * @type {Map} */ @@ -152,7 +153,7 @@ function getBlockRangeMap(text, node, comments) { /* * The parser sets the fenced code block's start offset to wherever content * should normally begin (typically the first column of the line, but more - * inside a list item, for example). The code block's opening fance may be + * inside a list item, for example). The code block's opening fence may be * further indented by up to three characters. If the code block has * additional indenting, the opening fence's first backtick may be up to * three whitespace characters after the start offset. @@ -187,6 +188,7 @@ function getBlockRangeMap(text, node, comments) { * last range that matches, skipping this initialization entry. */ const rangeMap = [{ + indent: baseIndent, js: 0, md: 0 }]; @@ -215,6 +217,7 @@ function getBlockRangeMap(text, node, comments) { const trimLength = Math.min(baseIndent, leadingWhitespaceLength); rangeMap.push({ + indent: trimLength, js: jsOffset, // Advance `trimLength` character from the beginning of the Markdown @@ -239,7 +242,7 @@ function getBlockRangeMap(text, node, comments) { * @returns {Array<{ filename: string, text: string }>} Source code blocks to lint. */ function preprocess(text, filename) { - const ast = markdown.parse(text); + const ast = parse(text); const blocks = []; blocksCache.set(filename, blocks); @@ -327,7 +330,7 @@ function adjustBlock(block) { const out = { line: lineInCode + blockStart, - column: message.column + block.position.indent[lineInCode - 1] - 1 + column: message.column + block.rangeMap[lineInCode].indent }; if (Number.isInteger(message.endLine)) { diff --git a/tools/node_modules/eslint-plugin-markdown/node_modules/@types/mdast/LICENSE b/tools/node_modules/eslint-plugin-markdown/node_modules/@types/mdast/LICENSE new file mode 100644 index 00000000000000..4b1ad51b2f0efc --- /dev/null +++ b/tools/node_modules/eslint-plugin-markdown/node_modules/@types/mdast/LICENSE @@ -0,0 +1,21 @@ + MIT License + + Copyright (c) Microsoft Corporation. All rights reserved. + + Permission is hereby granted, free of charge, to any person obtaining a copy + of this software and associated documentation files (the "Software"), to deal + in the Software without restriction, including without limitation the rights + to use, copy, modify, merge, publish, distribute, sublicense, and/or sell + copies of the Software, and to permit persons to whom the Software is + furnished to do so, subject to the following conditions: + + The above copyright notice and this permission notice shall be included in all + copies or substantial portions of the Software. + + THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR + IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, + FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE + AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER + LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, + OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE + SOFTWARE diff --git a/tools/node_modules/eslint-plugin-markdown/node_modules/@types/mdast/README.md b/tools/node_modules/eslint-plugin-markdown/node_modules/@types/mdast/README.md new file mode 100644 index 00000000000000..5c0a337afcdefa --- /dev/null +++ b/tools/node_modules/eslint-plugin-markdown/node_modules/@types/mdast/README.md @@ -0,0 +1,16 @@ +# Installation +> `npm install --save @types/mdast` + +# Summary +This package contains type definitions for Mdast (https://github.com/syntax-tree/mdast). + +# Details +Files were exported from https://github.com/DefinitelyTyped/DefinitelyTyped/tree/master/types/mdast + +Additional Details + * Last updated: Sat, 07 Sep 2019 00:45:19 GMT + * Dependencies: @types/unist + * Global values: none + +# Credits +These definitions were written by Jun Lu . diff --git a/tools/node_modules/eslint-plugin-markdown/node_modules/@types/mdast/package.json b/tools/node_modules/eslint-plugin-markdown/node_modules/@types/mdast/package.json new file mode 100644 index 00000000000000..23e52f45be668e --- /dev/null +++ b/tools/node_modules/eslint-plugin-markdown/node_modules/@types/mdast/package.json @@ -0,0 +1,26 @@ +{ + "name": "@types/mdast", + "version": "3.0.3", + "description": "TypeScript definitions for Mdast", + "license": "MIT", + "contributors": [ + { + "name": "Jun Lu", + "url": "https://github.com/lujun2", + "githubUsername": "lujun2" + } + ], + "main": "", + "types": "index", + "repository": { + "type": "git", + "url": "https://github.com/DefinitelyTyped/DefinitelyTyped.git", + "directory": "types/mdast" + }, + "scripts": {}, + "dependencies": { + "@types/unist": "*" + }, + "typesPublisherContentHash": "14d7fdbd7f31ef3975bd5e967ada84235c102b1be369cba397ced8b95ebe4e57", + "typeScriptVersion": "3.0" +} \ No newline at end of file diff --git a/tools/node_modules/eslint-plugin-markdown/node_modules/@types/unist/LICENSE b/tools/node_modules/eslint-plugin-markdown/node_modules/@types/unist/LICENSE new file mode 100644 index 00000000000000..4b1ad51b2f0efc --- /dev/null +++ b/tools/node_modules/eslint-plugin-markdown/node_modules/@types/unist/LICENSE @@ -0,0 +1,21 @@ + MIT License + + Copyright (c) Microsoft Corporation. All rights reserved. + + Permission is hereby granted, free of charge, to any person obtaining a copy + of this software and associated documentation files (the "Software"), to deal + in the Software without restriction, including without limitation the rights + to use, copy, modify, merge, publish, distribute, sublicense, and/or sell + copies of the Software, and to permit persons to whom the Software is + furnished to do so, subject to the following conditions: + + The above copyright notice and this permission notice shall be included in all + copies or substantial portions of the Software. + + THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR + IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, + FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE + AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER + LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, + OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE + SOFTWARE diff --git a/tools/node_modules/eslint-plugin-markdown/node_modules/@types/unist/README.md b/tools/node_modules/eslint-plugin-markdown/node_modules/@types/unist/README.md new file mode 100644 index 00000000000000..a15402a4524206 --- /dev/null +++ b/tools/node_modules/eslint-plugin-markdown/node_modules/@types/unist/README.md @@ -0,0 +1,16 @@ +# Installation +> `npm install --save @types/unist` + +# Summary +This package contains type definitions for non-npm package Unist ( https://github.com/syntax-tree/unist ). + +# Details +Files were exported from https://github.com/DefinitelyTyped/DefinitelyTyped/tree/master/types/unist + +Additional Details + * Last updated: Thu, 14 Feb 2019 18:10:46 GMT + * Dependencies: none + * Global values: none + +# Credits +These definitions were written by bizen241 , Jun Lu , Hernan Rajchert , Titus Wormer , Junyoung Choi . diff --git a/tools/node_modules/eslint-plugin-markdown/node_modules/@types/unist/package.json b/tools/node_modules/eslint-plugin-markdown/node_modules/@types/unist/package.json new file mode 100644 index 00000000000000..78fa62811fa768 --- /dev/null +++ b/tools/node_modules/eslint-plugin-markdown/node_modules/@types/unist/package.json @@ -0,0 +1,43 @@ +{ + "name": "@types/unist", + "version": "2.0.3", + "description": "TypeScript definitions for non-npm package Unist", + "license": "MIT", + "contributors": [ + { + "name": "bizen241", + "url": "https://github.com/bizen241", + "githubUsername": "bizen241" + }, + { + "name": "Jun Lu", + "url": "https://github.com/lujun2", + "githubUsername": "lujun2" + }, + { + "name": "Hernan Rajchert", + "url": "https://github.com/hrajchert", + "githubUsername": "hrajchert" + }, + { + "name": "Titus Wormer", + "url": "https://github.com/wooorm", + "githubUsername": "wooorm" + }, + { + "name": "Junyoung Choi", + "url": "https://github.com/rokt33r", + "githubUsername": "rokt33r" + } + ], + "main": "", + "types": "index", + "repository": { + "type": "git", + "url": "https://github.com/DefinitelyTyped/DefinitelyTyped.git" + }, + "scripts": {}, + "dependencies": {}, + "typesPublisherContentHash": "555fe20f164ccded02a3f69d8b45c8c9d2ec6fd53844a7c7858a3001c281bc9b", + "typeScriptVersion": "3.0" +} \ No newline at end of file diff --git a/tools/node_modules/eslint-plugin-markdown/node_modules/bail/index.js b/tools/node_modules/eslint-plugin-markdown/node_modules/bail/index.js deleted file mode 100644 index ef5e8807adf193..00000000000000 --- a/tools/node_modules/eslint-plugin-markdown/node_modules/bail/index.js +++ /dev/null @@ -1,9 +0,0 @@ -'use strict' - -module.exports = bail - -function bail(err) { - if (err) { - throw err - } -} diff --git a/tools/node_modules/eslint-plugin-markdown/node_modules/bail/package.json b/tools/node_modules/eslint-plugin-markdown/node_modules/bail/package.json deleted file mode 100644 index 8f8539d32b89b6..00000000000000 --- a/tools/node_modules/eslint-plugin-markdown/node_modules/bail/package.json +++ /dev/null @@ -1,72 +0,0 @@ -{ - "name": "bail", - "version": "1.0.5", - "description": "Throw a given error", - "license": "MIT", - "keywords": [ - "fail", - "bail", - "throw", - "callback", - "error" - ], - "repository": "wooorm/bail", - "bugs": "https://github.com/wooorm/bail/issues", - "funding": { - "type": "github", - "url": "https://github.com/sponsors/wooorm" - }, - "author": "Titus Wormer (https://wooorm.com)", - "contributors": [ - "Titus Wormer (https://wooorm.com)" - ], - "files": [ - "index.js" - ], - "dependencies": {}, - "devDependencies": { - "browserify": "^16.0.0", - "nyc": "^15.0.0", - "prettier": "^1.0.0", - "remark-cli": "^7.0.0", - "remark-preset-wooorm": "^6.0.0", - "tape": "^4.0.0", - "tinyify": "^2.0.0", - "xo": "^0.25.0" - }, - "scripts": { - "format": "remark . -qfo && prettier --write \"**/*.js\" && xo --fix", - "build-bundle": "browserify index.js -s bail -o bail.js", - "build-mangle": "browserify index.js -s bail -p tinyify -o bail.min.js", - "build": "npm run build-bundle && npm run build-mangle", - "test-api": "node test", - "test-coverage": "nyc --reporter lcov tape test.js", - "test": "npm run format && npm run build && npm run test-coverage" - }, - "prettier": { - "tabWidth": 2, - "useTabs": false, - "singleQuote": true, - "bracketSpacing": false, - "semi": false, - "trailingComma": "none" - }, - "xo": { - "prettier": true, - "esnext": false, - "ignores": [ - "bail.js" - ] - }, - "remarkConfig": { - "plugins": [ - "preset-wooorm" - ] - }, - "nyc": { - "check-coverage": true, - "lines": 100, - "functions": 100, - "branches": 100 - } -} diff --git a/tools/node_modules/eslint-plugin-markdown/node_modules/bail/readme.md b/tools/node_modules/eslint-plugin-markdown/node_modules/bail/readme.md deleted file mode 100644 index 8e7b0863c01d2b..00000000000000 --- a/tools/node_modules/eslint-plugin-markdown/node_modules/bail/readme.md +++ /dev/null @@ -1,84 +0,0 @@ -# bail - -[![Build][build-badge]][build] -[![Coverage][coverage-badge]][coverage] -[![Downloads][downloads-badge]][downloads] -[![Size][size-badge]][size] - -:warning: Throw a given error. - -## Install - -[npm][]: - -```sh -npm install bail -``` - -## Use - -```js -var bail = require('bail') - -bail() - -bail(new Error('failure')) -// Error: failure -// at repl:1:6 -// at REPLServer.defaultEval (repl.js:154:27) -// … -``` - -## API - -### `bail([err])` - -Throw a given error. - -###### Parameters - -* `err` (`Error?`) — Optional error. - -###### Throws - -* `Error` — Given error, if any. - -## Related - -* [`noop`][noop] -* [`noop2`][noop2] -* [`noop3`][noop3] - -## License - -[MIT][license] © [Titus Wormer][author] - - - -[build-badge]: https://img.shields.io/travis/wooorm/bail.svg - -[build]: https://travis-ci.org/wooorm/bail - -[coverage-badge]: https://img.shields.io/codecov/c/github/wooorm/bail.svg - -[coverage]: https://codecov.io/github/wooorm/bail - -[downloads-badge]: https://img.shields.io/npm/dm/bail.svg - -[downloads]: https://www.npmjs.com/package/bail - -[size-badge]: https://img.shields.io/bundlephobia/minzip/bail.svg - -[size]: https://bundlephobia.com/result?p=bail - -[npm]: https://docs.npmjs.com/cli/install - -[license]: license - -[author]: https://wooorm.com - -[noop]: https://www.npmjs.com/package/noop - -[noop2]: https://www.npmjs.com/package/noop2 - -[noop3]: https://www.npmjs.com/package/noop3 diff --git a/tools/node_modules/eslint-plugin-markdown/node_modules/collapse-white-space/index.js b/tools/node_modules/eslint-plugin-markdown/node_modules/collapse-white-space/index.js deleted file mode 100644 index 93d546695c7ae7..00000000000000 --- a/tools/node_modules/eslint-plugin-markdown/node_modules/collapse-white-space/index.js +++ /dev/null @@ -1,8 +0,0 @@ -'use strict' - -module.exports = collapse - -// `collapse(' \t\nbar \nbaz\t') // ' bar baz '` -function collapse(value) { - return String(value).replace(/\s+/g, ' ') -} diff --git a/tools/node_modules/eslint-plugin-markdown/node_modules/collapse-white-space/package.json b/tools/node_modules/eslint-plugin-markdown/node_modules/collapse-white-space/package.json deleted file mode 100644 index 6c9e8f348f4bc1..00000000000000 --- a/tools/node_modules/eslint-plugin-markdown/node_modules/collapse-white-space/package.json +++ /dev/null @@ -1,70 +0,0 @@ -{ - "name": "collapse-white-space", - "version": "1.0.6", - "description": "Replace multiple white-space characters with a single space", - "license": "MIT", - "keywords": [ - "collapse", - "white", - "space" - ], - "repository": "wooorm/collapse-white-space", - "bugs": "https://github.com/wooorm/collapse-white-space/issues", - "funding": { - "type": "github", - "url": "https://github.com/sponsors/wooorm" - }, - "author": "Titus Wormer (https://wooorm.com)", - "contributors": [ - "Titus Wormer (https://wooorm.com)" - ], - "files": [ - "index.js" - ], - "dependencies": {}, - "devDependencies": { - "browserify": "^16.0.0", - "nyc": "^15.0.0", - "prettier": "^1.0.0", - "remark-cli": "^7.0.0", - "remark-preset-wooorm": "^6.0.0", - "tape": "^4.0.0", - "tinyify": "^2.0.0", - "xo": "^0.25.0" - }, - "scripts": { - "format": "remark . -qfo && prettier --write \"**/*.js\" && xo --fix", - "build-bundle": "browserify . -s collapseWhiteSpace -o collapse-white-space.js", - "build-mangle": "browserify . -s collapseWhiteSpace -p tinyify -o collapse-white-space.min.js", - "build": "npm run build-bundle && npm run build-mangle", - "test-api": "node test", - "test-coverage": "nyc --reporter lcov tape test.js", - "test": "npm run format && npm run build && npm run test-coverage" - }, - "prettier": { - "tabWidth": 2, - "useTabs": false, - "singleQuote": true, - "bracketSpacing": false, - "semi": false, - "trailingComma": "none" - }, - "xo": { - "prettier": true, - "esnext": false, - "ignores": [ - "collapse-white-space.js" - ] - }, - "remarkConfig": { - "plugins": [ - "preset-wooorm" - ] - }, - "nyc": { - "check-coverage": true, - "lines": 100, - "functions": 100, - "branches": 100 - } -} diff --git a/tools/node_modules/eslint-plugin-markdown/node_modules/collapse-white-space/readme.md b/tools/node_modules/eslint-plugin-markdown/node_modules/collapse-white-space/readme.md deleted file mode 100644 index 5154c9fedc3024..00000000000000 --- a/tools/node_modules/eslint-plugin-markdown/node_modules/collapse-white-space/readme.md +++ /dev/null @@ -1,58 +0,0 @@ -# collapse-white-space - -[![Build][build-badge]][build] -[![Coverage][coverage-badge]][coverage] -[![Downloads][downloads-badge]][downloads] -[![Size][size-badge]][size] - -Replace multiple whitespace characters with a single space. - -## Install - -[npm][]: - -```sh -npm install collapse-white-space -``` - -## Use - -```js -var collapse = require('collapse-white-space') - -collapse('\tfoo \n\tbar \t\r\nbaz') //=> ' foo bar baz' -``` - -## API - -### `collapse(value)` - -Replace multiple whitespace characters in value with a single space. - -## License - -[MIT][license] © [Titus Wormer][author] - - - -[build-badge]: https://img.shields.io/travis/wooorm/collapse-white-space.svg - -[build]: https://travis-ci.org/wooorm/collapse-white-space - -[coverage-badge]: https://img.shields.io/codecov/c/github/wooorm/collapse-white-space.svg - -[coverage]: https://codecov.io/github/wooorm/collapse-white-space - -[downloads-badge]: https://img.shields.io/npm/dm/collapse-white-space.svg - -[downloads]: https://www.npmjs.com/package/collapse-white-space - -[size-badge]: https://img.shields.io/bundlephobia/minzip/collapse-white-space.svg - -[size]: https://bundlephobia.com/result?p=collapse-white-space - -[npm]: https://docs.npmjs.com/cli/install - -[license]: license - -[author]: https://wooorm.com diff --git a/tools/node_modules/eslint-plugin-markdown/node_modules/debug/LICENSE b/tools/node_modules/eslint-plugin-markdown/node_modules/debug/LICENSE new file mode 100644 index 00000000000000..658c933d28255e --- /dev/null +++ b/tools/node_modules/eslint-plugin-markdown/node_modules/debug/LICENSE @@ -0,0 +1,19 @@ +(The MIT License) + +Copyright (c) 2014 TJ Holowaychuk + +Permission is hereby granted, free of charge, to any person obtaining a copy of this software +and associated documentation files (the 'Software'), to deal in the Software without restriction, +including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, +and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, +subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all copies or substantial +portions of the Software. + +THE SOFTWARE IS PROVIDED 'AS IS', WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT +LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. +IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, +WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE +SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. + diff --git a/tools/node_modules/eslint-plugin-markdown/node_modules/debug/README.md b/tools/node_modules/eslint-plugin-markdown/node_modules/debug/README.md new file mode 100644 index 00000000000000..88dae35d9fc958 --- /dev/null +++ b/tools/node_modules/eslint-plugin-markdown/node_modules/debug/README.md @@ -0,0 +1,455 @@ +# debug +[![Build Status](https://travis-ci.org/visionmedia/debug.svg?branch=master)](https://travis-ci.org/visionmedia/debug) [![Coverage Status](https://coveralls.io/repos/github/visionmedia/debug/badge.svg?branch=master)](https://coveralls.io/github/visionmedia/debug?branch=master) [![Slack](https://visionmedia-community-slackin.now.sh/badge.svg)](https://visionmedia-community-slackin.now.sh/) [![OpenCollective](https://opencollective.com/debug/backers/badge.svg)](#backers) +[![OpenCollective](https://opencollective.com/debug/sponsors/badge.svg)](#sponsors) + + + +A tiny JavaScript debugging utility modelled after Node.js core's debugging +technique. Works in Node.js and web browsers. + +## Installation + +```bash +$ npm install debug +``` + +## Usage + +`debug` exposes a function; simply pass this function the name of your module, and it will return a decorated version of `console.error` for you to pass debug statements to. This will allow you to toggle the debug output for different parts of your module as well as the module as a whole. + +Example [_app.js_](./examples/node/app.js): + +```js +var debug = require('debug')('http') + , http = require('http') + , name = 'My App'; + +// fake app + +debug('booting %o', name); + +http.createServer(function(req, res){ + debug(req.method + ' ' + req.url); + res.end('hello\n'); +}).listen(3000, function(){ + debug('listening'); +}); + +// fake worker of some kind + +require('./worker'); +``` + +Example [_worker.js_](./examples/node/worker.js): + +```js +var a = require('debug')('worker:a') + , b = require('debug')('worker:b'); + +function work() { + a('doing lots of uninteresting work'); + setTimeout(work, Math.random() * 1000); +} + +work(); + +function workb() { + b('doing some work'); + setTimeout(workb, Math.random() * 2000); +} + +workb(); +``` + +The `DEBUG` environment variable is then used to enable these based on space or +comma-delimited names. + +Here are some examples: + +screen shot 2017-08-08 at 12 53 04 pm +screen shot 2017-08-08 at 12 53 38 pm +screen shot 2017-08-08 at 12 53 25 pm + +#### Windows command prompt notes + +##### CMD + +On Windows the environment variable is set using the `set` command. + +```cmd +set DEBUG=*,-not_this +``` + +Example: + +```cmd +set DEBUG=* & node app.js +``` + +##### PowerShell (VS Code default) + +PowerShell uses different syntax to set environment variables. + +```cmd +$env:DEBUG = "*,-not_this" +``` + +Example: + +```cmd +$env:DEBUG='app';node app.js +``` + +Then, run the program to be debugged as usual. + +npm script example: +```js + "windowsDebug": "@powershell -Command $env:DEBUG='*';node app.js", +``` + +## Namespace Colors + +Every debug instance has a color generated for it based on its namespace name. +This helps when visually parsing the debug output to identify which debug instance +a debug line belongs to. + +#### Node.js + +In Node.js, colors are enabled when stderr is a TTY. You also _should_ install +the [`supports-color`](https://npmjs.org/supports-color) module alongside debug, +otherwise debug will only use a small handful of basic colors. + + + +#### Web Browser + +Colors are also enabled on "Web Inspectors" that understand the `%c` formatting +option. These are WebKit web inspectors, Firefox ([since version +31](https://hacks.mozilla.org/2014/05/editable-box-model-multiple-selection-sublime-text-keys-much-more-firefox-developer-tools-episode-31/)) +and the Firebug plugin for Firefox (any version). + + + + +## Millisecond diff + +When actively developing an application it can be useful to see when the time spent between one `debug()` call and the next. Suppose for example you invoke `debug()` before requesting a resource, and after as well, the "+NNNms" will show you how much time was spent between calls. + + + +When stdout is not a TTY, `Date#toISOString()` is used, making it more useful for logging the debug information as shown below: + + + + +## Conventions + +If you're using this in one or more of your libraries, you _should_ use the name of your library so that developers may toggle debugging as desired without guessing names. If you have more than one debuggers you _should_ prefix them with your library name and use ":" to separate features. For example "bodyParser" from Connect would then be "connect:bodyParser". If you append a "*" to the end of your name, it will always be enabled regardless of the setting of the DEBUG environment variable. You can then use it for normal output as well as debug output. + +## Wildcards + +The `*` character may be used as a wildcard. Suppose for example your library has +debuggers named "connect:bodyParser", "connect:compress", "connect:session", +instead of listing all three with +`DEBUG=connect:bodyParser,connect:compress,connect:session`, you may simply do +`DEBUG=connect:*`, or to run everything using this module simply use `DEBUG=*`. + +You can also exclude specific debuggers by prefixing them with a "-" character. +For example, `DEBUG=*,-connect:*` would include all debuggers except those +starting with "connect:". + +## Environment Variables + +When running through Node.js, you can set a few environment variables that will +change the behavior of the debug logging: + +| Name | Purpose | +|-----------|-------------------------------------------------| +| `DEBUG` | Enables/disables specific debugging namespaces. | +| `DEBUG_HIDE_DATE` | Hide date from debug output (non-TTY). | +| `DEBUG_COLORS`| Whether or not to use colors in the debug output. | +| `DEBUG_DEPTH` | Object inspection depth. | +| `DEBUG_SHOW_HIDDEN` | Shows hidden properties on inspected objects. | + + +__Note:__ The environment variables beginning with `DEBUG_` end up being +converted into an Options object that gets used with `%o`/`%O` formatters. +See the Node.js documentation for +[`util.inspect()`](https://nodejs.org/api/util.html#util_util_inspect_object_options) +for the complete list. + +## Formatters + +Debug uses [printf-style](https://wikipedia.org/wiki/Printf_format_string) formatting. +Below are the officially supported formatters: + +| Formatter | Representation | +|-----------|----------------| +| `%O` | Pretty-print an Object on multiple lines. | +| `%o` | Pretty-print an Object all on a single line. | +| `%s` | String. | +| `%d` | Number (both integer and float). | +| `%j` | JSON. Replaced with the string '[Circular]' if the argument contains circular references. | +| `%%` | Single percent sign ('%'). This does not consume an argument. | + + +### Custom formatters + +You can add custom formatters by extending the `debug.formatters` object. +For example, if you wanted to add support for rendering a Buffer as hex with +`%h`, you could do something like: + +```js +const createDebug = require('debug') +createDebug.formatters.h = (v) => { + return v.toString('hex') +} + +// …elsewhere +const debug = createDebug('foo') +debug('this is hex: %h', new Buffer('hello world')) +// foo this is hex: 68656c6c6f20776f726c6421 +0ms +``` + + +## Browser Support + +You can build a browser-ready script using [browserify](https://github.com/substack/node-browserify), +or just use the [browserify-as-a-service](https://wzrd.in/) [build](https://wzrd.in/standalone/debug@latest), +if you don't want to build it yourself. + +Debug's enable state is currently persisted by `localStorage`. +Consider the situation shown below where you have `worker:a` and `worker:b`, +and wish to debug both. You can enable this using `localStorage.debug`: + +```js +localStorage.debug = 'worker:*' +``` + +And then refresh the page. + +```js +a = debug('worker:a'); +b = debug('worker:b'); + +setInterval(function(){ + a('doing some work'); +}, 1000); + +setInterval(function(){ + b('doing some work'); +}, 1200); +``` + + +## Output streams + + By default `debug` will log to stderr, however this can be configured per-namespace by overriding the `log` method: + +Example [_stdout.js_](./examples/node/stdout.js): + +```js +var debug = require('debug'); +var error = debug('app:error'); + +// by default stderr is used +error('goes to stderr!'); + +var log = debug('app:log'); +// set this namespace to log via console.log +log.log = console.log.bind(console); // don't forget to bind to console! +log('goes to stdout'); +error('still goes to stderr!'); + +// set all output to go via console.info +// overrides all per-namespace log settings +debug.log = console.info.bind(console); +error('now goes to stdout via console.info'); +log('still goes to stdout, but via console.info now'); +``` + +## Extend +You can simply extend debugger +```js +const log = require('debug')('auth'); + +//creates new debug instance with extended namespace +const logSign = log.extend('sign'); +const logLogin = log.extend('login'); + +log('hello'); // auth hello +logSign('hello'); //auth:sign hello +logLogin('hello'); //auth:login hello +``` + +## Set dynamically + +You can also enable debug dynamically by calling the `enable()` method : + +```js +let debug = require('debug'); + +console.log(1, debug.enabled('test')); + +debug.enable('test'); +console.log(2, debug.enabled('test')); + +debug.disable(); +console.log(3, debug.enabled('test')); + +``` + +print : +``` +1 false +2 true +3 false +``` + +Usage : +`enable(namespaces)` +`namespaces` can include modes separated by a colon and wildcards. + +Note that calling `enable()` completely overrides previously set DEBUG variable : + +``` +$ DEBUG=foo node -e 'var dbg = require("debug"); dbg.enable("bar"); console.log(dbg.enabled("foo"))' +=> false +``` + +`disable()` + +Will disable all namespaces. The functions returns the namespaces currently +enabled (and skipped). This can be useful if you want to disable debugging +temporarily without knowing what was enabled to begin with. + +For example: + +```js +let debug = require('debug'); +debug.enable('foo:*,-foo:bar'); +let namespaces = debug.disable(); +debug.enable(namespaces); +``` + +Note: There is no guarantee that the string will be identical to the initial +enable string, but semantically they will be identical. + +## Checking whether a debug target is enabled + +After you've created a debug instance, you can determine whether or not it is +enabled by checking the `enabled` property: + +```javascript +const debug = require('debug')('http'); + +if (debug.enabled) { + // do stuff... +} +``` + +You can also manually toggle this property to force the debug instance to be +enabled or disabled. + + +## Authors + + - TJ Holowaychuk + - Nathan Rajlich + - Andrew Rhyne + +## Backers + +Support us with a monthly donation and help us continue our activities. [[Become a backer](https://opencollective.com/debug#backer)] + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +## Sponsors + +Become a sponsor and get your logo on our README on Github with a link to your site. [[Become a sponsor](https://opencollective.com/debug#sponsor)] + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +## License + +(The MIT License) + +Copyright (c) 2014-2017 TJ Holowaychuk <tj@vision-media.ca> + +Permission is hereby granted, free of charge, to any person obtaining +a copy of this software and associated documentation files (the +'Software'), to deal in the Software without restriction, including +without limitation the rights to use, copy, modify, merge, publish, +distribute, sublicense, and/or sell copies of the Software, and to +permit persons to whom the Software is furnished to do so, subject to +the following conditions: + +The above copyright notice and this permission notice shall be +included in all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED 'AS IS', WITHOUT WARRANTY OF ANY KIND, +EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF +MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. +IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY +CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, +TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE +SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. diff --git a/tools/node_modules/eslint-plugin-markdown/node_modules/debug/package.json b/tools/node_modules/eslint-plugin-markdown/node_modules/debug/package.json new file mode 100644 index 00000000000000..da809d2b8d28b2 --- /dev/null +++ b/tools/node_modules/eslint-plugin-markdown/node_modules/debug/package.json @@ -0,0 +1,59 @@ +{ + "name": "debug", + "version": "4.3.1", + "repository": { + "type": "git", + "url": "git://github.com/visionmedia/debug.git" + }, + "description": "small debugging utility", + "keywords": [ + "debug", + "log", + "debugger" + ], + "files": [ + "src", + "LICENSE", + "README.md" + ], + "author": "TJ Holowaychuk ", + "contributors": [ + "Nathan Rajlich (http://n8.io)", + "Andrew Rhyne ", + "Josh Junon " + ], + "license": "MIT", + "scripts": { + "lint": "xo", + "test": "npm run test:node && npm run test:browser && npm run lint", + "test:node": "istanbul cover _mocha -- test.js", + "test:browser": "karma start --single-run", + "test:coverage": "cat ./coverage/lcov.info | coveralls" + }, + "dependencies": { + "ms": "2.1.2" + }, + "devDependencies": { + "brfs": "^2.0.1", + "browserify": "^16.2.3", + "coveralls": "^3.0.2", + "istanbul": "^0.4.5", + "karma": "^3.1.4", + "karma-browserify": "^6.0.0", + "karma-chrome-launcher": "^2.2.0", + "karma-mocha": "^1.3.0", + "mocha": "^5.2.0", + "mocha-lcov-reporter": "^1.2.0", + "xo": "^0.23.0" + }, + "peerDependenciesMeta": { + "supports-color": { + "optional": true + } + }, + "main": "./src/index.js", + "browser": "./src/browser.js", + "engines": { + "node": ">=6.0" + } +} diff --git a/tools/node_modules/eslint-plugin-markdown/node_modules/debug/src/browser.js b/tools/node_modules/eslint-plugin-markdown/node_modules/debug/src/browser.js new file mode 100644 index 00000000000000..cd0fc35d1ee11e --- /dev/null +++ b/tools/node_modules/eslint-plugin-markdown/node_modules/debug/src/browser.js @@ -0,0 +1,269 @@ +/* eslint-env browser */ + +/** + * This is the web browser implementation of `debug()`. + */ + +exports.formatArgs = formatArgs; +exports.save = save; +exports.load = load; +exports.useColors = useColors; +exports.storage = localstorage(); +exports.destroy = (() => { + let warned = false; + + return () => { + if (!warned) { + warned = true; + console.warn('Instance method `debug.destroy()` is deprecated and no longer does anything. It will be removed in the next major version of `debug`.'); + } + }; +})(); + +/** + * Colors. + */ + +exports.colors = [ + '#0000CC', + '#0000FF', + '#0033CC', + '#0033FF', + '#0066CC', + '#0066FF', + '#0099CC', + '#0099FF', + '#00CC00', + '#00CC33', + '#00CC66', + '#00CC99', + '#00CCCC', + '#00CCFF', + '#3300CC', + '#3300FF', + '#3333CC', + '#3333FF', + '#3366CC', + '#3366FF', + '#3399CC', + '#3399FF', + '#33CC00', + '#33CC33', + '#33CC66', + '#33CC99', + '#33CCCC', + '#33CCFF', + '#6600CC', + '#6600FF', + '#6633CC', + '#6633FF', + '#66CC00', + '#66CC33', + '#9900CC', + '#9900FF', + '#9933CC', + '#9933FF', + '#99CC00', + '#99CC33', + '#CC0000', + '#CC0033', + '#CC0066', + '#CC0099', + '#CC00CC', + '#CC00FF', + '#CC3300', + '#CC3333', + '#CC3366', + '#CC3399', + '#CC33CC', + '#CC33FF', + '#CC6600', + '#CC6633', + '#CC9900', + '#CC9933', + '#CCCC00', + '#CCCC33', + '#FF0000', + '#FF0033', + '#FF0066', + '#FF0099', + '#FF00CC', + '#FF00FF', + '#FF3300', + '#FF3333', + '#FF3366', + '#FF3399', + '#FF33CC', + '#FF33FF', + '#FF6600', + '#FF6633', + '#FF9900', + '#FF9933', + '#FFCC00', + '#FFCC33' +]; + +/** + * Currently only WebKit-based Web Inspectors, Firefox >= v31, + * and the Firebug extension (any Firefox version) are known + * to support "%c" CSS customizations. + * + * TODO: add a `localStorage` variable to explicitly enable/disable colors + */ + +// eslint-disable-next-line complexity +function useColors() { + // NB: In an Electron preload script, document will be defined but not fully + // initialized. Since we know we're in Chrome, we'll just detect this case + // explicitly + if (typeof window !== 'undefined' && window.process && (window.process.type === 'renderer' || window.process.__nwjs)) { + return true; + } + + // Internet Explorer and Edge do not support colors. + if (typeof navigator !== 'undefined' && navigator.userAgent && navigator.userAgent.toLowerCase().match(/(edge|trident)\/(\d+)/)) { + return false; + } + + // Is webkit? http://stackoverflow.com/a/16459606/376773 + // document is undefined in react-native: https://github.com/facebook/react-native/pull/1632 + return (typeof document !== 'undefined' && document.documentElement && document.documentElement.style && document.documentElement.style.WebkitAppearance) || + // Is firebug? http://stackoverflow.com/a/398120/376773 + (typeof window !== 'undefined' && window.console && (window.console.firebug || (window.console.exception && window.console.table))) || + // Is firefox >= v31? + // https://developer.mozilla.org/en-US/docs/Tools/Web_Console#Styling_messages + (typeof navigator !== 'undefined' && navigator.userAgent && navigator.userAgent.toLowerCase().match(/firefox\/(\d+)/) && parseInt(RegExp.$1, 10) >= 31) || + // Double check webkit in userAgent just in case we are in a worker + (typeof navigator !== 'undefined' && navigator.userAgent && navigator.userAgent.toLowerCase().match(/applewebkit\/(\d+)/)); +} + +/** + * Colorize log arguments if enabled. + * + * @api public + */ + +function formatArgs(args) { + args[0] = (this.useColors ? '%c' : '') + + this.namespace + + (this.useColors ? ' %c' : ' ') + + args[0] + + (this.useColors ? '%c ' : ' ') + + '+' + module.exports.humanize(this.diff); + + if (!this.useColors) { + return; + } + + const c = 'color: ' + this.color; + args.splice(1, 0, c, 'color: inherit'); + + // The final "%c" is somewhat tricky, because there could be other + // arguments passed either before or after the %c, so we need to + // figure out the correct index to insert the CSS into + let index = 0; + let lastC = 0; + args[0].replace(/%[a-zA-Z%]/g, match => { + if (match === '%%') { + return; + } + index++; + if (match === '%c') { + // We only are interested in the *last* %c + // (the user may have provided their own) + lastC = index; + } + }); + + args.splice(lastC, 0, c); +} + +/** + * Invokes `console.debug()` when available. + * No-op when `console.debug` is not a "function". + * If `console.debug` is not available, falls back + * to `console.log`. + * + * @api public + */ +exports.log = console.debug || console.log || (() => {}); + +/** + * Save `namespaces`. + * + * @param {String} namespaces + * @api private + */ +function save(namespaces) { + try { + if (namespaces) { + exports.storage.setItem('debug', namespaces); + } else { + exports.storage.removeItem('debug'); + } + } catch (error) { + // Swallow + // XXX (@Qix-) should we be logging these? + } +} + +/** + * Load `namespaces`. + * + * @return {String} returns the previously persisted debug modes + * @api private + */ +function load() { + let r; + try { + r = exports.storage.getItem('debug'); + } catch (error) { + // Swallow + // XXX (@Qix-) should we be logging these? + } + + // If debug isn't set in LS, and we're in Electron, try to load $DEBUG + if (!r && typeof process !== 'undefined' && 'env' in process) { + r = process.env.DEBUG; + } + + return r; +} + +/** + * Localstorage attempts to return the localstorage. + * + * This is necessary because safari throws + * when a user disables cookies/localstorage + * and you attempt to access it. + * + * @return {LocalStorage} + * @api private + */ + +function localstorage() { + try { + // TVMLKit (Apple TV JS Runtime) does not have a window object, just localStorage in the global context + // The Browser also has localStorage in the global context. + return localStorage; + } catch (error) { + // Swallow + // XXX (@Qix-) should we be logging these? + } +} + +module.exports = require('./common')(exports); + +const {formatters} = module.exports; + +/** + * Map %j to `JSON.stringify()`, since no Web Inspectors do that by default. + */ + +formatters.j = function (v) { + try { + return JSON.stringify(v); + } catch (error) { + return '[UnexpectedJSONParseError]: ' + error.message; + } +}; diff --git a/tools/node_modules/eslint-plugin-markdown/node_modules/debug/src/common.js b/tools/node_modules/eslint-plugin-markdown/node_modules/debug/src/common.js new file mode 100644 index 00000000000000..392a8e005a063a --- /dev/null +++ b/tools/node_modules/eslint-plugin-markdown/node_modules/debug/src/common.js @@ -0,0 +1,261 @@ + +/** + * This is the common logic for both the Node.js and web browser + * implementations of `debug()`. + */ + +function setup(env) { + createDebug.debug = createDebug; + createDebug.default = createDebug; + createDebug.coerce = coerce; + createDebug.disable = disable; + createDebug.enable = enable; + createDebug.enabled = enabled; + createDebug.humanize = require('ms'); + createDebug.destroy = destroy; + + Object.keys(env).forEach(key => { + createDebug[key] = env[key]; + }); + + /** + * The currently active debug mode names, and names to skip. + */ + + createDebug.names = []; + createDebug.skips = []; + + /** + * Map of special "%n" handling functions, for the debug "format" argument. + * + * Valid key names are a single, lower or upper-case letter, i.e. "n" and "N". + */ + createDebug.formatters = {}; + + /** + * Selects a color for a debug namespace + * @param {String} namespace The namespace string for the for the debug instance to be colored + * @return {Number|String} An ANSI color code for the given namespace + * @api private + */ + function selectColor(namespace) { + let hash = 0; + + for (let i = 0; i < namespace.length; i++) { + hash = ((hash << 5) - hash) + namespace.charCodeAt(i); + hash |= 0; // Convert to 32bit integer + } + + return createDebug.colors[Math.abs(hash) % createDebug.colors.length]; + } + createDebug.selectColor = selectColor; + + /** + * Create a debugger with the given `namespace`. + * + * @param {String} namespace + * @return {Function} + * @api public + */ + function createDebug(namespace) { + let prevTime; + let enableOverride = null; + + function debug(...args) { + // Disabled? + if (!debug.enabled) { + return; + } + + const self = debug; + + // Set `diff` timestamp + const curr = Number(new Date()); + const ms = curr - (prevTime || curr); + self.diff = ms; + self.prev = prevTime; + self.curr = curr; + prevTime = curr; + + args[0] = createDebug.coerce(args[0]); + + if (typeof args[0] !== 'string') { + // Anything else let's inspect with %O + args.unshift('%O'); + } + + // Apply any `formatters` transformations + let index = 0; + args[0] = args[0].replace(/%([a-zA-Z%])/g, (match, format) => { + // If we encounter an escaped % then don't increase the array index + if (match === '%%') { + return '%'; + } + index++; + const formatter = createDebug.formatters[format]; + if (typeof formatter === 'function') { + const val = args[index]; + match = formatter.call(self, val); + + // Now we need to remove `args[index]` since it's inlined in the `format` + args.splice(index, 1); + index--; + } + return match; + }); + + // Apply env-specific formatting (colors, etc.) + createDebug.formatArgs.call(self, args); + + const logFn = self.log || createDebug.log; + logFn.apply(self, args); + } + + debug.namespace = namespace; + debug.useColors = createDebug.useColors(); + debug.color = createDebug.selectColor(namespace); + debug.extend = extend; + debug.destroy = createDebug.destroy; // XXX Temporary. Will be removed in the next major release. + + Object.defineProperty(debug, 'enabled', { + enumerable: true, + configurable: false, + get: () => enableOverride === null ? createDebug.enabled(namespace) : enableOverride, + set: v => { + enableOverride = v; + } + }); + + // Env-specific initialization logic for debug instances + if (typeof createDebug.init === 'function') { + createDebug.init(debug); + } + + return debug; + } + + function extend(namespace, delimiter) { + const newDebug = createDebug(this.namespace + (typeof delimiter === 'undefined' ? ':' : delimiter) + namespace); + newDebug.log = this.log; + return newDebug; + } + + /** + * Enables a debug mode by namespaces. This can include modes + * separated by a colon and wildcards. + * + * @param {String} namespaces + * @api public + */ + function enable(namespaces) { + createDebug.save(namespaces); + + createDebug.names = []; + createDebug.skips = []; + + let i; + const split = (typeof namespaces === 'string' ? namespaces : '').split(/[\s,]+/); + const len = split.length; + + for (i = 0; i < len; i++) { + if (!split[i]) { + // ignore empty strings + continue; + } + + namespaces = split[i].replace(/\*/g, '.*?'); + + if (namespaces[0] === '-') { + createDebug.skips.push(new RegExp('^' + namespaces.substr(1) + '$')); + } else { + createDebug.names.push(new RegExp('^' + namespaces + '$')); + } + } + } + + /** + * Disable debug output. + * + * @return {String} namespaces + * @api public + */ + function disable() { + const namespaces = [ + ...createDebug.names.map(toNamespace), + ...createDebug.skips.map(toNamespace).map(namespace => '-' + namespace) + ].join(','); + createDebug.enable(''); + return namespaces; + } + + /** + * Returns true if the given mode name is enabled, false otherwise. + * + * @param {String} name + * @return {Boolean} + * @api public + */ + function enabled(name) { + if (name[name.length - 1] === '*') { + return true; + } + + let i; + let len; + + for (i = 0, len = createDebug.skips.length; i < len; i++) { + if (createDebug.skips[i].test(name)) { + return false; + } + } + + for (i = 0, len = createDebug.names.length; i < len; i++) { + if (createDebug.names[i].test(name)) { + return true; + } + } + + return false; + } + + /** + * Convert regexp to namespace + * + * @param {RegExp} regxep + * @return {String} namespace + * @api private + */ + function toNamespace(regexp) { + return regexp.toString() + .substring(2, regexp.toString().length - 2) + .replace(/\.\*\?$/, '*'); + } + + /** + * Coerce `val`. + * + * @param {Mixed} val + * @return {Mixed} + * @api private + */ + function coerce(val) { + if (val instanceof Error) { + return val.stack || val.message; + } + return val; + } + + /** + * XXX DO NOT USE. This is a temporary stub function. + * XXX It WILL be removed in the next major release. + */ + function destroy() { + console.warn('Instance method `debug.destroy()` is deprecated and no longer does anything. It will be removed in the next major version of `debug`.'); + } + + createDebug.enable(createDebug.load()); + + return createDebug; +} + +module.exports = setup; diff --git a/tools/node_modules/eslint-plugin-markdown/node_modules/debug/src/index.js b/tools/node_modules/eslint-plugin-markdown/node_modules/debug/src/index.js new file mode 100644 index 00000000000000..bf4c57f259df2e --- /dev/null +++ b/tools/node_modules/eslint-plugin-markdown/node_modules/debug/src/index.js @@ -0,0 +1,10 @@ +/** + * Detect Electron renderer / nwjs process, which is node, but we should + * treat as a browser. + */ + +if (typeof process === 'undefined' || process.type === 'renderer' || process.browser === true || process.__nwjs) { + module.exports = require('./browser.js'); +} else { + module.exports = require('./node.js'); +} diff --git a/tools/node_modules/eslint-plugin-markdown/node_modules/debug/src/node.js b/tools/node_modules/eslint-plugin-markdown/node_modules/debug/src/node.js new file mode 100644 index 00000000000000..79bc085cb0230c --- /dev/null +++ b/tools/node_modules/eslint-plugin-markdown/node_modules/debug/src/node.js @@ -0,0 +1,263 @@ +/** + * Module dependencies. + */ + +const tty = require('tty'); +const util = require('util'); + +/** + * This is the Node.js implementation of `debug()`. + */ + +exports.init = init; +exports.log = log; +exports.formatArgs = formatArgs; +exports.save = save; +exports.load = load; +exports.useColors = useColors; +exports.destroy = util.deprecate( + () => {}, + 'Instance method `debug.destroy()` is deprecated and no longer does anything. It will be removed in the next major version of `debug`.' +); + +/** + * Colors. + */ + +exports.colors = [6, 2, 3, 4, 5, 1]; + +try { + // Optional dependency (as in, doesn't need to be installed, NOT like optionalDependencies in package.json) + // eslint-disable-next-line import/no-extraneous-dependencies + const supportsColor = require('supports-color'); + + if (supportsColor && (supportsColor.stderr || supportsColor).level >= 2) { + exports.colors = [ + 20, + 21, + 26, + 27, + 32, + 33, + 38, + 39, + 40, + 41, + 42, + 43, + 44, + 45, + 56, + 57, + 62, + 63, + 68, + 69, + 74, + 75, + 76, + 77, + 78, + 79, + 80, + 81, + 92, + 93, + 98, + 99, + 112, + 113, + 128, + 129, + 134, + 135, + 148, + 149, + 160, + 161, + 162, + 163, + 164, + 165, + 166, + 167, + 168, + 169, + 170, + 171, + 172, + 173, + 178, + 179, + 184, + 185, + 196, + 197, + 198, + 199, + 200, + 201, + 202, + 203, + 204, + 205, + 206, + 207, + 208, + 209, + 214, + 215, + 220, + 221 + ]; + } +} catch (error) { + // Swallow - we only care if `supports-color` is available; it doesn't have to be. +} + +/** + * Build up the default `inspectOpts` object from the environment variables. + * + * $ DEBUG_COLORS=no DEBUG_DEPTH=10 DEBUG_SHOW_HIDDEN=enabled node script.js + */ + +exports.inspectOpts = Object.keys(process.env).filter(key => { + return /^debug_/i.test(key); +}).reduce((obj, key) => { + // Camel-case + const prop = key + .substring(6) + .toLowerCase() + .replace(/_([a-z])/g, (_, k) => { + return k.toUpperCase(); + }); + + // Coerce string value into JS value + let val = process.env[key]; + if (/^(yes|on|true|enabled)$/i.test(val)) { + val = true; + } else if (/^(no|off|false|disabled)$/i.test(val)) { + val = false; + } else if (val === 'null') { + val = null; + } else { + val = Number(val); + } + + obj[prop] = val; + return obj; +}, {}); + +/** + * Is stdout a TTY? Colored output is enabled when `true`. + */ + +function useColors() { + return 'colors' in exports.inspectOpts ? + Boolean(exports.inspectOpts.colors) : + tty.isatty(process.stderr.fd); +} + +/** + * Adds ANSI color escape codes if enabled. + * + * @api public + */ + +function formatArgs(args) { + const {namespace: name, useColors} = this; + + if (useColors) { + const c = this.color; + const colorCode = '\u001B[3' + (c < 8 ? c : '8;5;' + c); + const prefix = ` ${colorCode};1m${name} \u001B[0m`; + + args[0] = prefix + args[0].split('\n').join('\n' + prefix); + args.push(colorCode + 'm+' + module.exports.humanize(this.diff) + '\u001B[0m'); + } else { + args[0] = getDate() + name + ' ' + args[0]; + } +} + +function getDate() { + if (exports.inspectOpts.hideDate) { + return ''; + } + return new Date().toISOString() + ' '; +} + +/** + * Invokes `util.format()` with the specified arguments and writes to stderr. + */ + +function log(...args) { + return process.stderr.write(util.format(...args) + '\n'); +} + +/** + * Save `namespaces`. + * + * @param {String} namespaces + * @api private + */ +function save(namespaces) { + if (namespaces) { + process.env.DEBUG = namespaces; + } else { + // If you set a process.env field to null or undefined, it gets cast to the + // string 'null' or 'undefined'. Just delete instead. + delete process.env.DEBUG; + } +} + +/** + * Load `namespaces`. + * + * @return {String} returns the previously persisted debug modes + * @api private + */ + +function load() { + return process.env.DEBUG; +} + +/** + * Init logic for `debug` instances. + * + * Create a new `inspectOpts` object in case `useColors` is set + * differently for a particular `debug` instance. + */ + +function init(debug) { + debug.inspectOpts = {}; + + const keys = Object.keys(exports.inspectOpts); + for (let i = 0; i < keys.length; i++) { + debug.inspectOpts[keys[i]] = exports.inspectOpts[keys[i]]; + } +} + +module.exports = require('./common')(exports); + +const {formatters} = module.exports; + +/** + * Map %o to `util.inspect()`, all on a single line. + */ + +formatters.o = function (v) { + this.inspectOpts.colors = this.useColors; + return util.inspect(v, this.inspectOpts) + .split('\n') + .map(str => str.trim()) + .join(' '); +}; + +/** + * Map %O to `util.inspect()`, allowing multiple lines if needed. + */ + +formatters.O = function (v) { + this.inspectOpts.colors = this.useColors; + return util.inspect(v, this.inspectOpts); +}; diff --git a/tools/node_modules/eslint-plugin-markdown/node_modules/extend/.jscs.json b/tools/node_modules/eslint-plugin-markdown/node_modules/extend/.jscs.json deleted file mode 100644 index 3cce01d7832943..00000000000000 --- a/tools/node_modules/eslint-plugin-markdown/node_modules/extend/.jscs.json +++ /dev/null @@ -1,175 +0,0 @@ -{ - "es3": true, - - "additionalRules": [], - - "requireSemicolons": true, - - "disallowMultipleSpaces": true, - - "disallowIdentifierNames": [], - - "requireCurlyBraces": { - "allExcept": [], - "keywords": ["if", "else", "for", "while", "do", "try", "catch"] - }, - - "requireSpaceAfterKeywords": ["if", "else", "for", "while", "do", "switch", "return", "try", "catch", "function"], - - "disallowSpaceAfterKeywords": [], - - "disallowSpaceBeforeComma": true, - "disallowSpaceAfterComma": false, - "disallowSpaceBeforeSemicolon": true, - - "disallowNodeTypes": [ - "DebuggerStatement", - "LabeledStatement", - "SwitchCase", - "SwitchStatement", - "WithStatement" - ], - - "requireObjectKeysOnNewLine": { "allExcept": ["sameLine"] }, - - "requireSpacesInAnonymousFunctionExpression": { "beforeOpeningRoundBrace": true, "beforeOpeningCurlyBrace": true }, - "requireSpacesInNamedFunctionExpression": { "beforeOpeningCurlyBrace": true }, - "disallowSpacesInNamedFunctionExpression": { "beforeOpeningRoundBrace": true }, - "requireSpacesInFunctionDeclaration": { "beforeOpeningCurlyBrace": true }, - "disallowSpacesInFunctionDeclaration": { "beforeOpeningRoundBrace": true }, - - "requireSpaceBetweenArguments": true, - - "disallowSpacesInsideParentheses": true, - - "disallowSpacesInsideArrayBrackets": true, - - "disallowQuotedKeysInObjects": { "allExcept": ["reserved"] }, - - "disallowSpaceAfterObjectKeys": true, - - "requireCommaBeforeLineBreak": true, - - "disallowSpaceAfterPrefixUnaryOperators": ["++", "--", "+", "-", "~", "!"], - "requireSpaceAfterPrefixUnaryOperators": [], - - "disallowSpaceBeforePostfixUnaryOperators": ["++", "--"], - "requireSpaceBeforePostfixUnaryOperators": [], - - "disallowSpaceBeforeBinaryOperators": [], - "requireSpaceBeforeBinaryOperators": ["+", "-", "/", "*", "=", "==", "===", "!=", "!=="], - - "requireSpaceAfterBinaryOperators": ["+", "-", "/", "*", "=", "==", "===", "!=", "!=="], - "disallowSpaceAfterBinaryOperators": [], - - "disallowImplicitTypeConversion": ["binary", "string"], - - "disallowKeywords": ["with", "eval"], - - "requireKeywordsOnNewLine": [], - "disallowKeywordsOnNewLine": ["else"], - - "requireLineFeedAtFileEnd": true, - - "disallowTrailingWhitespace": true, - - "disallowTrailingComma": true, - - "excludeFiles": ["node_modules/**", "vendor/**"], - - "disallowMultipleLineStrings": true, - - "requireDotNotation": { "allExcept": ["keywords"] }, - - "requireParenthesesAroundIIFE": true, - - "validateLineBreaks": "LF", - - "validateQuoteMarks": { - "escape": true, - "mark": "'" - }, - - "disallowOperatorBeforeLineBreak": [], - - "requireSpaceBeforeKeywords": [ - "do", - "for", - "if", - "else", - "switch", - "case", - "try", - "catch", - "finally", - "while", - "with", - "return" - ], - - "validateAlignedFunctionParameters": { - "lineBreakAfterOpeningBraces": true, - "lineBreakBeforeClosingBraces": true - }, - - "requirePaddingNewLinesBeforeExport": true, - - "validateNewlineAfterArrayElements": { - "maximum": 6 - }, - - "requirePaddingNewLinesAfterUseStrict": true, - - "disallowArrowFunctions": true, - - "disallowMultiLineTernary": true, - - "validateOrderInObjectKeys": false, - - "disallowIdenticalDestructuringNames": true, - - "disallowNestedTernaries": { "maxLevel": 1 }, - - "requireSpaceAfterComma": { "allExcept": ["trailing"] }, - "requireAlignedMultilineParams": false, - - "requireSpacesInGenerator": { - "afterStar": true - }, - - "disallowSpacesInGenerator": { - "beforeStar": true - }, - - "disallowVar": false, - - "requireArrayDestructuring": false, - - "requireEnhancedObjectLiterals": false, - - "requireObjectDestructuring": false, - - "requireEarlyReturn": false, - - "requireCapitalizedConstructorsNew": { - "allExcept": ["Function", "String", "Object", "Symbol", "Number", "Date", "RegExp", "Error", "Boolean", "Array"] - }, - - "requireImportAlphabetized": false, - - "requireSpaceBeforeObjectValues": true, - "requireSpaceBeforeDestructuredValues": true, - - "disallowSpacesInsideTemplateStringPlaceholders": true, - - "disallowArrayDestructuringReturn": false, - - "requireNewlineBeforeSingleStatementsInIf": false, - - "disallowUnusedVariables": true, - - "requireSpacesInsideImportedObjectBraces": true, - - "requireUseStrict": true -} - diff --git a/tools/node_modules/eslint-plugin-markdown/node_modules/extend/LICENSE b/tools/node_modules/eslint-plugin-markdown/node_modules/extend/LICENSE deleted file mode 100644 index e16d6a56ca64e2..00000000000000 --- a/tools/node_modules/eslint-plugin-markdown/node_modules/extend/LICENSE +++ /dev/null @@ -1,23 +0,0 @@ -The MIT License (MIT) - -Copyright (c) 2014 Stefan Thomas - -Permission is hereby granted, free of charge, to any person obtaining -a copy of this software and associated documentation files (the -"Software"), to deal in the Software without restriction, including -without limitation the rights to use, copy, modify, merge, publish, -distribute, sublicense, and/or sell copies of the Software, and to -permit persons to whom the Software is furnished to do so, subject to -the following conditions: - -The above copyright notice and this permission notice shall be -included in all copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, -EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF -MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND -NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE -LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION -OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION -WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. - diff --git a/tools/node_modules/eslint-plugin-markdown/node_modules/extend/README.md b/tools/node_modules/eslint-plugin-markdown/node_modules/extend/README.md deleted file mode 100644 index 5b8249aa95e5d3..00000000000000 --- a/tools/node_modules/eslint-plugin-markdown/node_modules/extend/README.md +++ /dev/null @@ -1,81 +0,0 @@ -[![Build Status][travis-svg]][travis-url] -[![dependency status][deps-svg]][deps-url] -[![dev dependency status][dev-deps-svg]][dev-deps-url] - -# extend() for Node.js [![Version Badge][npm-version-png]][npm-url] - -`node-extend` is a port of the classic extend() method from jQuery. It behaves as you expect. It is simple, tried and true. - -Notes: - -* Since Node.js >= 4, - [`Object.assign`](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Object/assign) - now offers the same functionality natively (but without the "deep copy" option). - See [ECMAScript 2015 (ES6) in Node.js](https://nodejs.org/en/docs/es6). -* Some native implementations of `Object.assign` in both Node.js and many - browsers (since NPM modules are for the browser too) may not be fully - spec-compliant. - Check [`object.assign`](https://www.npmjs.com/package/object.assign) module for - a compliant candidate. - -## Installation - -This package is available on [npm][npm-url] as: `extend` - -``` sh -npm install extend -``` - -## Usage - -**Syntax:** extend **(** [`deep`], `target`, `object1`, [`objectN`] **)** - -*Extend one object with one or more others, returning the modified object.* - -**Example:** - -``` js -var extend = require('extend'); -extend(targetObject, object1, object2); -``` - -Keep in mind that the target object will be modified, and will be returned from extend(). - -If a boolean true is specified as the first argument, extend performs a deep copy, recursively copying any objects it finds. Otherwise, the copy will share structure with the original object(s). -Undefined properties are not copied. However, properties inherited from the object's prototype will be copied over. -Warning: passing `false` as the first argument is not supported. - -### Arguments - -* `deep` *Boolean* (optional) -If set, the merge becomes recursive (i.e. deep copy). -* `target` *Object* -The object to extend. -* `object1` *Object* -The object that will be merged into the first. -* `objectN` *Object* (Optional) -More objects to merge into the first. - -## License - -`node-extend` is licensed under the [MIT License][mit-license-url]. - -## Acknowledgements - -All credit to the jQuery authors for perfecting this amazing utility. - -Ported to Node.js by [Stefan Thomas][github-justmoon] with contributions by [Jonathan Buchanan][github-insin] and [Jordan Harband][github-ljharb]. - -[travis-svg]: https://travis-ci.org/justmoon/node-extend.svg -[travis-url]: https://travis-ci.org/justmoon/node-extend -[npm-url]: https://npmjs.org/package/extend -[mit-license-url]: http://opensource.org/licenses/MIT -[github-justmoon]: https://github.com/justmoon -[github-insin]: https://github.com/insin -[github-ljharb]: https://github.com/ljharb -[npm-version-png]: http://versionbadg.es/justmoon/node-extend.svg -[deps-svg]: https://david-dm.org/justmoon/node-extend.svg -[deps-url]: https://david-dm.org/justmoon/node-extend -[dev-deps-svg]: https://david-dm.org/justmoon/node-extend/dev-status.svg -[dev-deps-url]: https://david-dm.org/justmoon/node-extend#info=devDependencies - diff --git a/tools/node_modules/eslint-plugin-markdown/node_modules/extend/index.js b/tools/node_modules/eslint-plugin-markdown/node_modules/extend/index.js deleted file mode 100644 index 2aa3faae68c43e..00000000000000 --- a/tools/node_modules/eslint-plugin-markdown/node_modules/extend/index.js +++ /dev/null @@ -1,117 +0,0 @@ -'use strict'; - -var hasOwn = Object.prototype.hasOwnProperty; -var toStr = Object.prototype.toString; -var defineProperty = Object.defineProperty; -var gOPD = Object.getOwnPropertyDescriptor; - -var isArray = function isArray(arr) { - if (typeof Array.isArray === 'function') { - return Array.isArray(arr); - } - - return toStr.call(arr) === '[object Array]'; -}; - -var isPlainObject = function isPlainObject(obj) { - if (!obj || toStr.call(obj) !== '[object Object]') { - return false; - } - - var hasOwnConstructor = hasOwn.call(obj, 'constructor'); - var hasIsPrototypeOf = obj.constructor && obj.constructor.prototype && hasOwn.call(obj.constructor.prototype, 'isPrototypeOf'); - // Not own constructor property must be Object - if (obj.constructor && !hasOwnConstructor && !hasIsPrototypeOf) { - return false; - } - - // Own properties are enumerated firstly, so to speed up, - // if last one is own, then all properties are own. - var key; - for (key in obj) { /**/ } - - return typeof key === 'undefined' || hasOwn.call(obj, key); -}; - -// If name is '__proto__', and Object.defineProperty is available, define __proto__ as an own property on target -var setProperty = function setProperty(target, options) { - if (defineProperty && options.name === '__proto__') { - defineProperty(target, options.name, { - enumerable: true, - configurable: true, - value: options.newValue, - writable: true - }); - } else { - target[options.name] = options.newValue; - } -}; - -// Return undefined instead of __proto__ if '__proto__' is not an own property -var getProperty = function getProperty(obj, name) { - if (name === '__proto__') { - if (!hasOwn.call(obj, name)) { - return void 0; - } else if (gOPD) { - // In early versions of node, obj['__proto__'] is buggy when obj has - // __proto__ as an own property. Object.getOwnPropertyDescriptor() works. - return gOPD(obj, name).value; - } - } - - return obj[name]; -}; - -module.exports = function extend() { - var options, name, src, copy, copyIsArray, clone; - var target = arguments[0]; - var i = 1; - var length = arguments.length; - var deep = false; - - // Handle a deep copy situation - if (typeof target === 'boolean') { - deep = target; - target = arguments[1] || {}; - // skip the boolean and the target - i = 2; - } - if (target == null || (typeof target !== 'object' && typeof target !== 'function')) { - target = {}; - } - - for (; i < length; ++i) { - options = arguments[i]; - // Only deal with non-null/undefined values - if (options != null) { - // Extend the base object - for (name in options) { - src = getProperty(target, name); - copy = getProperty(options, name); - - // Prevent never-ending loop - if (target !== copy) { - // Recurse if we're merging plain objects or arrays - if (deep && copy && (isPlainObject(copy) || (copyIsArray = isArray(copy)))) { - if (copyIsArray) { - copyIsArray = false; - clone = src && isArray(src) ? src : []; - } else { - clone = src && isPlainObject(src) ? src : {}; - } - - // Never move original objects, clone them - setProperty(target, { name: name, newValue: extend(deep, clone, copy) }); - - // Don't bring in undefined values - } else if (typeof copy !== 'undefined') { - setProperty(target, { name: name, newValue: copy }); - } - } - } - } - } - - // Return the modified object - return target; -}; diff --git a/tools/node_modules/eslint-plugin-markdown/node_modules/extend/package.json b/tools/node_modules/eslint-plugin-markdown/node_modules/extend/package.json deleted file mode 100644 index 85279f78054e5c..00000000000000 --- a/tools/node_modules/eslint-plugin-markdown/node_modules/extend/package.json +++ /dev/null @@ -1,42 +0,0 @@ -{ - "name": "extend", - "author": "Stefan Thomas (http://www.justmoon.net)", - "version": "3.0.2", - "description": "Port of jQuery.extend for node.js and the browser", - "main": "index", - "scripts": { - "pretest": "npm run lint", - "test": "npm run tests-only", - "posttest": "npm run coverage-quiet", - "tests-only": "node test", - "coverage": "covert test/index.js", - "coverage-quiet": "covert test/index.js --quiet", - "lint": "npm run jscs && npm run eslint", - "jscs": "jscs *.js */*.js", - "eslint": "eslint *.js */*.js" - }, - "contributors": [ - { - "name": "Jordan Harband", - "url": "https://github.com/ljharb" - } - ], - "keywords": [ - "extend", - "clone", - "merge" - ], - "repository": { - "type": "git", - "url": "https://github.com/justmoon/node-extend.git" - }, - "dependencies": {}, - "devDependencies": { - "@ljharb/eslint-config": "^12.2.1", - "covert": "^1.1.0", - "eslint": "^4.19.1", - "jscs": "^3.0.7", - "tape": "^4.9.1" - }, - "license": "MIT" -} diff --git a/tools/node_modules/eslint-plugin-markdown/node_modules/inherits/LICENSE b/tools/node_modules/eslint-plugin-markdown/node_modules/inherits/LICENSE deleted file mode 100644 index dea3013d6710ee..00000000000000 --- a/tools/node_modules/eslint-plugin-markdown/node_modules/inherits/LICENSE +++ /dev/null @@ -1,16 +0,0 @@ -The ISC License - -Copyright (c) Isaac Z. Schlueter - -Permission to use, copy, modify, and/or distribute this software for any -purpose with or without fee is hereby granted, provided that the above -copyright notice and this permission notice appear in all copies. - -THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH -REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND -FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT, -INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM -LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR -OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR -PERFORMANCE OF THIS SOFTWARE. - diff --git a/tools/node_modules/eslint-plugin-markdown/node_modules/inherits/README.md b/tools/node_modules/eslint-plugin-markdown/node_modules/inherits/README.md deleted file mode 100644 index b1c56658557b81..00000000000000 --- a/tools/node_modules/eslint-plugin-markdown/node_modules/inherits/README.md +++ /dev/null @@ -1,42 +0,0 @@ -Browser-friendly inheritance fully compatible with standard node.js -[inherits](http://nodejs.org/api/util.html#util_util_inherits_constructor_superconstructor). - -This package exports standard `inherits` from node.js `util` module in -node environment, but also provides alternative browser-friendly -implementation through [browser -field](https://gist.github.com/shtylman/4339901). Alternative -implementation is a literal copy of standard one located in standalone -module to avoid requiring of `util`. It also has a shim for old -browsers with no `Object.create` support. - -While keeping you sure you are using standard `inherits` -implementation in node.js environment, it allows bundlers such as -[browserify](https://github.com/substack/node-browserify) to not -include full `util` package to your client code if all you need is -just `inherits` function. It worth, because browser shim for `util` -package is large and `inherits` is often the single function you need -from it. - -It's recommended to use this package instead of -`require('util').inherits` for any code that has chances to be used -not only in node.js but in browser too. - -## usage - -```js -var inherits = require('inherits'); -// then use exactly as the standard one -``` - -## note on version ~1.0 - -Version ~1.0 had completely different motivation and is not compatible -neither with 2.0 nor with standard node.js `inherits`. - -If you are using version ~1.0 and planning to switch to ~2.0, be -careful: - -* new version uses `super_` instead of `super` for referencing - superclass -* new version overwrites current prototype while old one preserves any - existing fields on it diff --git a/tools/node_modules/eslint-plugin-markdown/node_modules/inherits/inherits.js b/tools/node_modules/eslint-plugin-markdown/node_modules/inherits/inherits.js deleted file mode 100644 index f71f2d93294a67..00000000000000 --- a/tools/node_modules/eslint-plugin-markdown/node_modules/inherits/inherits.js +++ /dev/null @@ -1,9 +0,0 @@ -try { - var util = require('util'); - /* istanbul ignore next */ - if (typeof util.inherits !== 'function') throw ''; - module.exports = util.inherits; -} catch (e) { - /* istanbul ignore next */ - module.exports = require('./inherits_browser.js'); -} diff --git a/tools/node_modules/eslint-plugin-markdown/node_modules/inherits/inherits_browser.js b/tools/node_modules/eslint-plugin-markdown/node_modules/inherits/inherits_browser.js deleted file mode 100644 index 86bbb3dc29e484..00000000000000 --- a/tools/node_modules/eslint-plugin-markdown/node_modules/inherits/inherits_browser.js +++ /dev/null @@ -1,27 +0,0 @@ -if (typeof Object.create === 'function') { - // implementation from standard node.js 'util' module - module.exports = function inherits(ctor, superCtor) { - if (superCtor) { - ctor.super_ = superCtor - ctor.prototype = Object.create(superCtor.prototype, { - constructor: { - value: ctor, - enumerable: false, - writable: true, - configurable: true - } - }) - } - }; -} else { - // old school shim for old browsers - module.exports = function inherits(ctor, superCtor) { - if (superCtor) { - ctor.super_ = superCtor - var TempCtor = function () {} - TempCtor.prototype = superCtor.prototype - ctor.prototype = new TempCtor() - ctor.prototype.constructor = ctor - } - } -} diff --git a/tools/node_modules/eslint-plugin-markdown/node_modules/inherits/package.json b/tools/node_modules/eslint-plugin-markdown/node_modules/inherits/package.json deleted file mode 100644 index 37b4366b83e63e..00000000000000 --- a/tools/node_modules/eslint-plugin-markdown/node_modules/inherits/package.json +++ /dev/null @@ -1,29 +0,0 @@ -{ - "name": "inherits", - "description": "Browser-friendly inheritance fully compatible with standard node.js inherits()", - "version": "2.0.4", - "keywords": [ - "inheritance", - "class", - "klass", - "oop", - "object-oriented", - "inherits", - "browser", - "browserify" - ], - "main": "./inherits.js", - "browser": "./inherits_browser.js", - "repository": "git://github.com/isaacs/inherits", - "license": "ISC", - "scripts": { - "test": "tap" - }, - "devDependencies": { - "tap": "^14.2.4" - }, - "files": [ - "inherits.js", - "inherits_browser.js" - ] -} diff --git a/tools/node_modules/eslint-plugin-markdown/node_modules/is-buffer/LICENSE b/tools/node_modules/eslint-plugin-markdown/node_modules/is-buffer/LICENSE deleted file mode 100644 index 0c068ceecbd48f..00000000000000 --- a/tools/node_modules/eslint-plugin-markdown/node_modules/is-buffer/LICENSE +++ /dev/null @@ -1,21 +0,0 @@ -The MIT License (MIT) - -Copyright (c) Feross Aboukhadijeh - -Permission is hereby granted, free of charge, to any person obtaining a copy -of this software and associated documentation files (the "Software"), to deal -in the Software without restriction, including without limitation the rights -to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -copies of the Software, and to permit persons to whom the Software is -furnished to do so, subject to the following conditions: - -The above copyright notice and this permission notice shall be included in -all copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN -THE SOFTWARE. diff --git a/tools/node_modules/eslint-plugin-markdown/node_modules/is-buffer/README.md b/tools/node_modules/eslint-plugin-markdown/node_modules/is-buffer/README.md deleted file mode 100644 index cce0a8cf924d8c..00000000000000 --- a/tools/node_modules/eslint-plugin-markdown/node_modules/is-buffer/README.md +++ /dev/null @@ -1,53 +0,0 @@ -# is-buffer [![travis][travis-image]][travis-url] [![npm][npm-image]][npm-url] [![downloads][downloads-image]][downloads-url] [![javascript style guide][standard-image]][standard-url] - -[travis-image]: https://img.shields.io/travis/feross/is-buffer/master.svg -[travis-url]: https://travis-ci.org/feross/is-buffer -[npm-image]: https://img.shields.io/npm/v/is-buffer.svg -[npm-url]: https://npmjs.org/package/is-buffer -[downloads-image]: https://img.shields.io/npm/dm/is-buffer.svg -[downloads-url]: https://npmjs.org/package/is-buffer -[standard-image]: https://img.shields.io/badge/code_style-standard-brightgreen.svg -[standard-url]: https://standardjs.com - -#### Determine if an object is a [`Buffer`](http://nodejs.org/api/buffer.html) (including the [browserify Buffer](https://github.com/feross/buffer)) - -[![saucelabs][saucelabs-image]][saucelabs-url] - -[saucelabs-image]: https://saucelabs.com/browser-matrix/is-buffer.svg -[saucelabs-url]: https://saucelabs.com/u/is-buffer - -## Why not use `Buffer.isBuffer`? - -This module lets you check if an object is a `Buffer` without using `Buffer.isBuffer` (which includes the whole [buffer](https://github.com/feross/buffer) module in [browserify](http://browserify.org/)). - -It's future-proof and works in node too! - -## install - -```bash -npm install is-buffer -``` - -## usage - -```js -var isBuffer = require('is-buffer') - -isBuffer(new Buffer(4)) // true - -isBuffer(undefined) // false -isBuffer(null) // false -isBuffer('') // false -isBuffer(true) // false -isBuffer(false) // false -isBuffer(0) // false -isBuffer(1) // false -isBuffer(1.0) // false -isBuffer('string') // false -isBuffer({}) // false -isBuffer(function foo () {}) // false -``` - -## license - -MIT. Copyright (C) [Feross Aboukhadijeh](http://feross.org). diff --git a/tools/node_modules/eslint-plugin-markdown/node_modules/is-buffer/index.js b/tools/node_modules/eslint-plugin-markdown/node_modules/is-buffer/index.js deleted file mode 100644 index 9cce396594f605..00000000000000 --- a/tools/node_modules/eslint-plugin-markdown/node_modules/is-buffer/index.js +++ /dev/null @@ -1,21 +0,0 @@ -/*! - * Determine if an object is a Buffer - * - * @author Feross Aboukhadijeh - * @license MIT - */ - -// The _isBuffer check is for Safari 5-7 support, because it's missing -// Object.prototype.constructor. Remove this eventually -module.exports = function (obj) { - return obj != null && (isBuffer(obj) || isSlowBuffer(obj) || !!obj._isBuffer) -} - -function isBuffer (obj) { - return !!obj.constructor && typeof obj.constructor.isBuffer === 'function' && obj.constructor.isBuffer(obj) -} - -// For Node v0.10 support. Remove this eventually. -function isSlowBuffer (obj) { - return typeof obj.readFloatLE === 'function' && typeof obj.slice === 'function' && isBuffer(obj.slice(0, 0)) -} diff --git a/tools/node_modules/eslint-plugin-markdown/node_modules/is-buffer/package.json b/tools/node_modules/eslint-plugin-markdown/node_modules/is-buffer/package.json deleted file mode 100644 index ea12137a63cf0f..00000000000000 --- a/tools/node_modules/eslint-plugin-markdown/node_modules/is-buffer/package.json +++ /dev/null @@ -1,51 +0,0 @@ -{ - "name": "is-buffer", - "description": "Determine if an object is a Buffer", - "version": "1.1.6", - "author": { - "name": "Feross Aboukhadijeh", - "email": "feross@feross.org", - "url": "http://feross.org/" - }, - "bugs": { - "url": "https://github.com/feross/is-buffer/issues" - }, - "dependencies": {}, - "devDependencies": { - "standard": "*", - "tape": "^4.0.0", - "zuul": "^3.0.0" - }, - "keywords": [ - "buffer", - "buffers", - "type", - "core buffer", - "browser buffer", - "browserify", - "typed array", - "uint32array", - "int16array", - "int32array", - "float32array", - "float64array", - "browser", - "arraybuffer", - "dataview" - ], - "license": "MIT", - "main": "index.js", - "repository": { - "type": "git", - "url": "git://github.com/feross/is-buffer.git" - }, - "scripts": { - "test": "standard && npm run test-node && npm run test-browser", - "test-browser": "zuul -- test/*.js", - "test-browser-local": "zuul --local -- test/*.js", - "test-node": "tape test/*.js" - }, - "testling": { - "files": "test/*.js" - } -} diff --git a/tools/node_modules/eslint-plugin-markdown/node_modules/is-plain-obj/index.js b/tools/node_modules/eslint-plugin-markdown/node_modules/is-plain-obj/index.js deleted file mode 100644 index 0d1ba9eeb89723..00000000000000 --- a/tools/node_modules/eslint-plugin-markdown/node_modules/is-plain-obj/index.js +++ /dev/null @@ -1,7 +0,0 @@ -'use strict'; -var toString = Object.prototype.toString; - -module.exports = function (x) { - var prototype; - return toString.call(x) === '[object Object]' && (prototype = Object.getPrototypeOf(x), prototype === null || prototype === Object.getPrototypeOf({})); -}; diff --git a/tools/node_modules/eslint-plugin-markdown/node_modules/is-plain-obj/license b/tools/node_modules/eslint-plugin-markdown/node_modules/is-plain-obj/license deleted file mode 100644 index 654d0bfe943437..00000000000000 --- a/tools/node_modules/eslint-plugin-markdown/node_modules/is-plain-obj/license +++ /dev/null @@ -1,21 +0,0 @@ -The MIT License (MIT) - -Copyright (c) Sindre Sorhus (sindresorhus.com) - -Permission is hereby granted, free of charge, to any person obtaining a copy -of this software and associated documentation files (the "Software"), to deal -in the Software without restriction, including without limitation the rights -to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -copies of the Software, and to permit persons to whom the Software is -furnished to do so, subject to the following conditions: - -The above copyright notice and this permission notice shall be included in -all copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN -THE SOFTWARE. diff --git a/tools/node_modules/eslint-plugin-markdown/node_modules/is-plain-obj/package.json b/tools/node_modules/eslint-plugin-markdown/node_modules/is-plain-obj/package.json deleted file mode 100644 index d331f6e8169900..00000000000000 --- a/tools/node_modules/eslint-plugin-markdown/node_modules/is-plain-obj/package.json +++ /dev/null @@ -1,36 +0,0 @@ -{ - "name": "is-plain-obj", - "version": "1.1.0", - "description": "Check if a value is a plain object", - "license": "MIT", - "repository": "sindresorhus/is-plain-obj", - "author": { - "name": "Sindre Sorhus", - "email": "sindresorhus@gmail.com", - "url": "sindresorhus.com" - }, - "engines": { - "node": ">=0.10.0" - }, - "scripts": { - "test": "node test.js" - }, - "files": [ - "index.js" - ], - "keywords": [ - "obj", - "object", - "is", - "check", - "test", - "type", - "plain", - "vanilla", - "pure", - "simple" - ], - "devDependencies": { - "ava": "0.0.4" - } -} diff --git a/tools/node_modules/eslint-plugin-markdown/node_modules/is-plain-obj/readme.md b/tools/node_modules/eslint-plugin-markdown/node_modules/is-plain-obj/readme.md deleted file mode 100644 index 269e56aeff0646..00000000000000 --- a/tools/node_modules/eslint-plugin-markdown/node_modules/is-plain-obj/readme.md +++ /dev/null @@ -1,35 +0,0 @@ -# is-plain-obj [![Build Status](https://travis-ci.org/sindresorhus/is-plain-obj.svg?branch=master)](https://travis-ci.org/sindresorhus/is-plain-obj) - -> Check if a value is a plain object - -An object is plain if it's created by either `{}`, `new Object()` or `Object.create(null)`. - - -## Install - -``` -$ npm install --save is-plain-obj -``` - - -## Usage - -```js -var isPlainObj = require('is-plain-obj'); - -isPlainObj({foo: 'bar'}); -//=> true - -isPlainObj([1, 2, 3]); -//=> false -``` - - -## Related - -- [is-obj](https://github.com/sindresorhus/is-obj) - Check if a value is an object - - -## License - -MIT © [Sindre Sorhus](http://sindresorhus.com) diff --git a/tools/node_modules/eslint-plugin-markdown/node_modules/is-whitespace-character/index.js b/tools/node_modules/eslint-plugin-markdown/node_modules/is-whitespace-character/index.js deleted file mode 100644 index 801c19f0d8df82..00000000000000 --- a/tools/node_modules/eslint-plugin-markdown/node_modules/is-whitespace-character/index.js +++ /dev/null @@ -1,14 +0,0 @@ -'use strict' - -module.exports = whitespace - -var fromCode = String.fromCharCode -var re = /\s/ - -// Check if the given character code, or the character code at the first -// character, is a whitespace character. -function whitespace(character) { - return re.test( - typeof character === 'number' ? fromCode(character) : character.charAt(0) - ) -} diff --git a/tools/node_modules/eslint-plugin-markdown/node_modules/is-whitespace-character/package.json b/tools/node_modules/eslint-plugin-markdown/node_modules/is-whitespace-character/package.json deleted file mode 100644 index d6b35d9a0b5df4..00000000000000 --- a/tools/node_modules/eslint-plugin-markdown/node_modules/is-whitespace-character/package.json +++ /dev/null @@ -1,74 +0,0 @@ -{ - "name": "is-whitespace-character", - "version": "1.0.4", - "description": "Check if a character is a whitespace character", - "license": "MIT", - "keywords": [ - "string", - "character", - "char", - "code", - "whitespace", - "white", - "space" - ], - "repository": "wooorm/is-whitespace-character", - "bugs": "https://github.com/wooorm/is-whitespace-character/issues", - "funding": { - "type": "github", - "url": "https://github.com/sponsors/wooorm" - }, - "author": "Titus Wormer (https://wooorm.com)", - "contributors": [ - "Titus Wormer (https://wooorm.com)" - ], - "files": [ - "index.js" - ], - "dependencies": {}, - "devDependencies": { - "browserify": "^16.0.0", - "nyc": "^15.0.0", - "prettier": "^1.0.0", - "remark-cli": "^7.0.0", - "remark-preset-wooorm": "^6.0.0", - "tape": "^4.0.0", - "tinyify": "^2.0.0", - "xo": "^0.25.0" - }, - "scripts": { - "format": "remark . -qfo && prettier --write \"**/*.js\" && xo --fix", - "build-bundle": "browserify . -s isWhitespaceCharacter -o is-whitespace-character.js", - "build-mangle": "browserify . -s isWhitespaceCharacter -p tinyify -o is-whitespace-character.min.js", - "build": "npm run build-bundle && npm run build-mangle", - "test-api": "node test", - "test-coverage": "nyc --reporter lcov tape test.js", - "test": "npm run format && npm run build && npm run test-coverage" - }, - "prettier": { - "tabWidth": 2, - "useTabs": false, - "singleQuote": true, - "bracketSpacing": false, - "semi": false, - "trailingComma": "none" - }, - "xo": { - "prettier": true, - "esnext": false, - "ignores": [ - "is-whitespace-character.js" - ] - }, - "nyc": { - "check-coverage": true, - "lines": 100, - "functions": 100, - "branches": 100 - }, - "remarkConfig": { - "plugins": [ - "preset-wooorm" - ] - } -} diff --git a/tools/node_modules/eslint-plugin-markdown/node_modules/is-whitespace-character/readme.md b/tools/node_modules/eslint-plugin-markdown/node_modules/is-whitespace-character/readme.md deleted file mode 100644 index 34d4f343c86adf..00000000000000 --- a/tools/node_modules/eslint-plugin-markdown/node_modules/is-whitespace-character/readme.md +++ /dev/null @@ -1,74 +0,0 @@ -# is-whitespace-character - -[![Build][build-badge]][build] -[![Coverage][coverage-badge]][coverage] -[![Downloads][downloads-badge]][downloads] -[![Size][size-badge]][size] - -Check if a character is a whitespace character: `\s`, which equals all Unicode -Space Separators (including `[ \t\v\f]`), the BOM (`\uFEFF`), and line -terminator (`[\n\r\u2028\u2029]`). - -## Install - -[npm][]: - -```sh -npm install is-whitespace-character -``` - -## Use - -```js -var whitespace = require('is-whitespace-character') - -whitespace(' ') // => true -whitespace('\n') // => true -whitespace('\uFEFF') // => true -whitespace('_') // => false -whitespace('a') // => false -whitespace('💩') // => false -``` - -## API - -### `whitespaceCharacter(character|code)` - -Check whether the given character code (`number`), or the character code at the -first position (`string`), is a whitespace character. - -## Related - -* [`is-alphabetical`](https://github.com/wooorm/is-alphabetical) -* [`is-alphanumerical`](https://github.com/wooorm/is-alphanumerical) -* [`is-decimal`](https://github.com/wooorm/is-decimal) -* [`is-hexadecimal`](https://github.com/wooorm/is-hexadecimal) -* [`is-word-character`](https://github.com/wooorm/is-word-character) - -## License - -[MIT][license] © [Titus Wormer][author] - - - -[build-badge]: https://img.shields.io/travis/wooorm/is-whitespace-character.svg - -[build]: https://travis-ci.org/wooorm/is-whitespace-character - -[coverage-badge]: https://img.shields.io/codecov/c/github/wooorm/is-whitespace-character.svg - -[coverage]: https://codecov.io/github/wooorm/is-whitespace-character - -[downloads-badge]: https://img.shields.io/npm/dm/is-whitespace-character.svg - -[downloads]: https://www.npmjs.com/package/is-whitespace-character - -[size-badge]: https://img.shields.io/bundlephobia/minzip/is-whitespace-character.svg - -[size]: https://bundlephobia.com/result?p=is-whitespace-character - -[npm]: https://docs.npmjs.com/cli/install - -[license]: license - -[author]: https://wooorm.com diff --git a/tools/node_modules/eslint-plugin-markdown/node_modules/is-word-character/index.js b/tools/node_modules/eslint-plugin-markdown/node_modules/is-word-character/index.js deleted file mode 100644 index 8c3537f99568c3..00000000000000 --- a/tools/node_modules/eslint-plugin-markdown/node_modules/is-word-character/index.js +++ /dev/null @@ -1,14 +0,0 @@ -'use strict' - -module.exports = wordCharacter - -var fromCode = String.fromCharCode -var re = /\w/ - -// Check if the given character code, or the character code at the first -// character, is a word character. -function wordCharacter(character) { - return re.test( - typeof character === 'number' ? fromCode(character) : character.charAt(0) - ) -} diff --git a/tools/node_modules/eslint-plugin-markdown/node_modules/is-word-character/license b/tools/node_modules/eslint-plugin-markdown/node_modules/is-word-character/license deleted file mode 100644 index 8d8660d36ef2ec..00000000000000 --- a/tools/node_modules/eslint-plugin-markdown/node_modules/is-word-character/license +++ /dev/null @@ -1,22 +0,0 @@ -(The MIT License) - -Copyright (c) 2016 Titus Wormer - -Permission is hereby granted, free of charge, to any person obtaining -a copy of this software and associated documentation files (the -'Software'), to deal in the Software without restriction, including -without limitation the rights to use, copy, modify, merge, publish, -distribute, sublicense, and/or sell copies of the Software, and to -permit persons to whom the Software is furnished to do so, subject to -the following conditions: - -The above copyright notice and this permission notice shall be -included in all copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED 'AS IS', WITHOUT WARRANTY OF ANY KIND, -EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF -MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. -IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY -CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, -TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE -SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. diff --git a/tools/node_modules/eslint-plugin-markdown/node_modules/is-word-character/package.json b/tools/node_modules/eslint-plugin-markdown/node_modules/is-word-character/package.json deleted file mode 100644 index 42c262cf64fa63..00000000000000 --- a/tools/node_modules/eslint-plugin-markdown/node_modules/is-word-character/package.json +++ /dev/null @@ -1,72 +0,0 @@ -{ - "name": "is-word-character", - "version": "1.0.4", - "description": "Check if a character is a word character", - "license": "MIT", - "keywords": [ - "string", - "character", - "char", - "code", - "word" - ], - "repository": "wooorm/is-word-character", - "bugs": "https://github.com/wooorm/is-word-character/issues", - "funding": { - "type": "github", - "url": "https://github.com/sponsors/wooorm" - }, - "author": "Titus Wormer (https://wooorm.com)", - "contributors": [ - "Titus Wormer (https://wooorm.com)" - ], - "files": [ - "index.js" - ], - "dependencies": {}, - "devDependencies": { - "browserify": "^16.0.0", - "nyc": "^15.0.0", - "prettier": "^1.0.0", - "remark-cli": "^7.0.0", - "remark-preset-wooorm": "^6.0.0", - "tape": "^4.0.0", - "tinyify": "^2.0.0", - "xo": "^0.25.0" - }, - "scripts": { - "format": "remark . -qfo && prettier --write \"**/*.js\" && xo --fix", - "build-bundle": "browserify . -s isWordCharacter -o is-word-character.js", - "build-mangle": "browserify . -s isWordCharacter -p tinyify -o is-word-character.min.js", - "build": "npm run build-bundle && npm run build-mangle", - "test-api": "node test", - "test-coverage": "nyc --reporter lcov tape test.js", - "test": "npm run format && npm run build && npm run test-coverage" - }, - "prettier": { - "tabWidth": 2, - "useTabs": false, - "singleQuote": true, - "bracketSpacing": false, - "semi": false, - "trailingComma": "none" - }, - "xo": { - "prettier": true, - "esnext": false, - "ignores": [ - "is-word-character.js" - ] - }, - "nyc": { - "check-coverage": true, - "lines": 100, - "functions": 100, - "branches": 100 - }, - "remarkConfig": { - "plugins": [ - "preset-wooorm" - ] - } -} diff --git a/tools/node_modules/eslint-plugin-markdown/node_modules/is-word-character/readme.md b/tools/node_modules/eslint-plugin-markdown/node_modules/is-word-character/readme.md deleted file mode 100644 index 3c88ce976e3da2..00000000000000 --- a/tools/node_modules/eslint-plugin-markdown/node_modules/is-word-character/readme.md +++ /dev/null @@ -1,72 +0,0 @@ -# is-word-character - -[![Build][build-badge]][build] -[![Coverage][coverage-badge]][coverage] -[![Downloads][downloads-badge]][downloads] -[![Size][size-badge]][size] - -Check if a character is a word character (`\w`, which equals `[a-zA-Z0-9_]`). - -## Install - -[npm][]: - -```sh -npm install is-word-character -``` - -## Use - -```js -var wordCharacter = require('is-word-character') - -wordCharacter('a') // => true -wordCharacter('Z') // => true -wordCharacter('0') // => true -wordCharacter('_') // => true -wordCharacter(' ') // => false -wordCharacter('💩') // => false -``` - -## API - -### `wordCharacter(character|code)` - -Check whether the given character code (`number`), or the character code at the -first position (`string`), is a word character. - -## Related - -* [`is-alphabetical`](https://github.com/wooorm/is-alphabetical) -* [`is-alphanumerical`](https://github.com/wooorm/is-alphanumerical) -* [`is-decimal`](https://github.com/wooorm/is-decimal) -* [`is-hexadecimal`](https://github.com/wooorm/is-hexadecimal) -* [`is-whitespace-character`](https://github.com/wooorm/is-whitespace-character) - -## License - -[MIT][license] © [Titus Wormer][author] - - - -[build-badge]: https://img.shields.io/travis/wooorm/is-word-character.svg - -[build]: https://travis-ci.org/wooorm/is-word-character - -[coverage-badge]: https://img.shields.io/codecov/c/github/wooorm/is-word-character.svg - -[coverage]: https://codecov.io/github/wooorm/is-word-character - -[downloads-badge]: https://img.shields.io/npm/dm/is-word-character.svg - -[downloads]: https://www.npmjs.com/package/is-word-character - -[size-badge]: https://img.shields.io/bundlephobia/minzip/is-word-character.svg - -[size]: https://bundlephobia.com/result?p=is-word-character - -[npm]: https://docs.npmjs.com/cli/install - -[license]: license - -[author]: https://wooorm.com diff --git a/tools/node_modules/eslint-plugin-markdown/node_modules/markdown-escapes/index.js b/tools/node_modules/eslint-plugin-markdown/node_modules/markdown-escapes/index.js deleted file mode 100644 index f8bea48eacca65..00000000000000 --- a/tools/node_modules/eslint-plugin-markdown/node_modules/markdown-escapes/index.js +++ /dev/null @@ -1,57 +0,0 @@ -'use strict' - -module.exports = escapes - -var defaults = [ - '\\', - '`', - '*', - '{', - '}', - '[', - ']', - '(', - ')', - '#', - '+', - '-', - '.', - '!', - '_', - '>' -] - -var gfm = defaults.concat(['~', '|']) - -var commonmark = gfm.concat([ - '\n', - '"', - '$', - '%', - '&', - "'", - ',', - '/', - ':', - ';', - '<', - '=', - '?', - '@', - '^' -]) - -escapes.default = defaults -escapes.gfm = gfm -escapes.commonmark = commonmark - -// Get markdown escapes. -function escapes(options) { - var settings = options || {} - - if (settings.commonmark) { - return commonmark - } - - return settings.gfm ? gfm : defaults -} diff --git a/tools/node_modules/eslint-plugin-markdown/node_modules/markdown-escapes/package.json b/tools/node_modules/eslint-plugin-markdown/node_modules/markdown-escapes/package.json deleted file mode 100644 index 7f94d86ad7acc9..00000000000000 --- a/tools/node_modules/eslint-plugin-markdown/node_modules/markdown-escapes/package.json +++ /dev/null @@ -1,72 +0,0 @@ -{ - "name": "markdown-escapes", - "version": "1.0.4", - "description": "List of escapable characters in markdown", - "license": "MIT", - "keywords": [ - "markdown", - "escape", - "pedantic", - "gfm", - "commonmark" - ], - "repository": "wooorm/markdown-escapes", - "bugs": "https://github.com/wooorm/markdown-escapes/issues", - "funding": { - "type": "github", - "url": "https://github.com/sponsors/wooorm" - }, - "author": "Titus Wormer (https://wooorm.com)", - "contributors": [ - "Titus Wormer (https://wooorm.com)" - ], - "files": [ - "index.js" - ], - "dependencies": {}, - "devDependencies": { - "browserify": "^16.0.0", - "nyc": "^14.0.0", - "prettier": "^1.0.0", - "remark-cli": "^7.0.0", - "remark-preset-wooorm": "^6.0.0", - "tape": "^4.0.0", - "tinyify": "^2.0.0", - "xo": "^0.25.0" - }, - "scripts": { - "format": "remark . -qfo && prettier --write \"**/*.js\" && xo --fix", - "build-bundle": "browserify . -s markdownEscapes -o markdown-escapes.js", - "build-mangle": "browserify . -s markdownEscapes -p tinyify -o markdown-escapes.min.js", - "build": "npm run build-bundle && npm run build-mangle", - "test-api": "node test", - "test-coverage": "nyc --reporter lcov tape test.js", - "test": "npm run format && npm run build && npm run test-coverage" - }, - "remarkConfig": { - "plugins": [ - "preset-wooorm" - ] - }, - "prettier": { - "tabWidth": 2, - "useTabs": false, - "singleQuote": true, - "bracketSpacing": false, - "semi": false, - "trailingComma": "none" - }, - "xo": { - "prettier": true, - "esnext": false, - "ignores": [ - "markdown-escapes.js" - ] - }, - "nyc": { - "check-coverage": true, - "lines": 100, - "functions": 100, - "branches": 100 - } -} diff --git a/tools/node_modules/eslint-plugin-markdown/node_modules/markdown-escapes/readme.md b/tools/node_modules/eslint-plugin-markdown/node_modules/markdown-escapes/readme.md deleted file mode 100644 index a7404526114d3d..00000000000000 --- a/tools/node_modules/eslint-plugin-markdown/node_modules/markdown-escapes/readme.md +++ /dev/null @@ -1,80 +0,0 @@ -# markdown-escapes - -[![Build][build-badge]][build] -[![Coverage][coverage-badge]][coverage] -[![Downloads][downloads-badge]][downloads] -[![Size][size-badge]][size] - -List of escapable characters in markdown. - -## Install - -[npm][]: - -```sh -npm install markdown-escapes -``` - -## Use - -```js -var escapes = require('markdown-escapes'); - -// Access by property: -escapes.commonmark; //=> ['\\', '`', ..., '@', '^'] - -// Access by options object: -escapes({gfm: true}); //=> ['\\', '`', ..., '~', '|'] -``` - -## API - -### `escapes([options])` - -Get escapes. -Supports `options.commonmark` and `options.gfm`, which when `true` returns the -extra escape characters supported by those flavors. - -###### Returns - -`Array.`. - -### `escapes.default` - -List of default escapable characters. - -### `escapes.gfm` - -List of escapable characters in GFM (which includes all `default`s). - -### `escapes.commonmark` - -List of escapable characters in CommonMark (which includes all `gfm`s). - -## License - -[MIT][license] © [Titus Wormer][author] - - - -[build-badge]: https://img.shields.io/travis/wooorm/markdown-escapes.svg - -[build]: https://travis-ci.org/wooorm/markdown-escapes - -[coverage-badge]: https://img.shields.io/codecov/c/github/wooorm/markdown-escapes.svg - -[coverage]: https://codecov.io/github/wooorm/markdown-escapes - -[downloads-badge]: https://img.shields.io/npm/dm/markdown-escapes.svg - -[downloads]: https://www.npmjs.com/package/markdown-escapes - -[size-badge]: https://img.shields.io/bundlephobia/minzip/markdown-escapes.svg - -[size]: https://bundlephobia.com/result?p=markdown-escapes - -[npm]: https://docs.npmjs.com/cli/install - -[license]: license - -[author]: https://wooorm.com diff --git a/tools/node_modules/eslint-plugin-markdown/node_modules/mdast-util-from-markdown/dist/index.js b/tools/node_modules/eslint-plugin-markdown/node_modules/mdast-util-from-markdown/dist/index.js new file mode 100644 index 00000000000000..c34f023f456fa7 --- /dev/null +++ b/tools/node_modules/eslint-plugin-markdown/node_modules/mdast-util-from-markdown/dist/index.js @@ -0,0 +1,823 @@ +'use strict' + +module.exports = fromMarkdown + +// These three are compiled away in the `dist/` + +var toString = require('mdast-util-to-string') +var assign = require('micromark/dist/constant/assign') +var own = require('micromark/dist/constant/has-own-property') +var normalizeIdentifier = require('micromark/dist/util/normalize-identifier') +var safeFromInt = require('micromark/dist/util/safe-from-int') +var parser = require('micromark/dist/parse') +var preprocessor = require('micromark/dist/preprocess') +var postprocess = require('micromark/dist/postprocess') +var decode = require('parse-entities/decode-entity') +var stringifyPosition = require('unist-util-stringify-position') + +function fromMarkdown(value, encoding, options) { + if (typeof encoding !== 'string') { + options = encoding + encoding = undefined + } + + return compiler(options)( + postprocess( + parser(options).document().write(preprocessor()(value, encoding, true)) + ) + ) +} + +// Note this compiler only understand complete buffering, not streaming. +function compiler(options) { + var settings = options || {} + var config = configure( + { + transforms: [], + canContainEols: [ + 'emphasis', + 'fragment', + 'heading', + 'paragraph', + 'strong' + ], + + enter: { + autolink: opener(link), + autolinkProtocol: onenterdata, + autolinkEmail: onenterdata, + atxHeading: opener(heading), + blockQuote: opener(blockQuote), + characterEscape: onenterdata, + characterReference: onenterdata, + codeFenced: opener(codeFlow), + codeFencedFenceInfo: buffer, + codeFencedFenceMeta: buffer, + codeIndented: opener(codeFlow, buffer), + codeText: opener(codeText, buffer), + codeTextData: onenterdata, + data: onenterdata, + codeFlowValue: onenterdata, + definition: opener(definition), + definitionDestinationString: buffer, + definitionLabelString: buffer, + definitionTitleString: buffer, + emphasis: opener(emphasis), + hardBreakEscape: opener(hardBreak), + hardBreakTrailing: opener(hardBreak), + htmlFlow: opener(html, buffer), + htmlFlowData: onenterdata, + htmlText: opener(html, buffer), + htmlTextData: onenterdata, + image: opener(image), + label: buffer, + link: opener(link), + listItem: opener(listItem), + listItemValue: onenterlistitemvalue, + listOrdered: opener(list, onenterlistordered), + listUnordered: opener(list), + paragraph: opener(paragraph), + reference: onenterreference, + referenceString: buffer, + resourceDestinationString: buffer, + resourceTitleString: buffer, + setextHeading: opener(heading), + strong: opener(strong), + thematicBreak: opener(thematicBreak) + }, + + exit: { + atxHeading: closer(), + atxHeadingSequence: onexitatxheadingsequence, + autolink: closer(), + autolinkEmail: onexitautolinkemail, + autolinkProtocol: onexitautolinkprotocol, + blockQuote: closer(), + characterEscapeValue: onexitdata, + characterReferenceMarkerHexadecimal: onexitcharacterreferencemarker, + characterReferenceMarkerNumeric: onexitcharacterreferencemarker, + characterReferenceValue: onexitcharacterreferencevalue, + codeFenced: closer(onexitcodefenced), + codeFencedFence: onexitcodefencedfence, + codeFencedFenceInfo: onexitcodefencedfenceinfo, + codeFencedFenceMeta: onexitcodefencedfencemeta, + codeFlowValue: onexitdata, + codeIndented: closer(onexitcodeindented), + codeText: closer(onexitcodetext), + codeTextData: onexitdata, + data: onexitdata, + definition: closer(), + definitionDestinationString: onexitdefinitiondestinationstring, + definitionLabelString: onexitdefinitionlabelstring, + definitionTitleString: onexitdefinitiontitlestring, + emphasis: closer(), + hardBreakEscape: closer(onexithardbreak), + hardBreakTrailing: closer(onexithardbreak), + htmlFlow: closer(onexithtmlflow), + htmlFlowData: onexitdata, + htmlText: closer(onexithtmltext), + htmlTextData: onexitdata, + image: closer(onexitimage), + label: onexitlabel, + labelText: onexitlabeltext, + lineEnding: onexitlineending, + link: closer(onexitlink), + listItem: closer(), + listOrdered: closer(), + listUnordered: closer(), + paragraph: closer(), + referenceString: onexitreferencestring, + resourceDestinationString: onexitresourcedestinationstring, + resourceTitleString: onexitresourcetitlestring, + resource: onexitresource, + setextHeading: closer(onexitsetextheading), + setextHeadingLineSequence: onexitsetextheadinglinesequence, + setextHeadingText: onexitsetextheadingtext, + strong: closer(), + thematicBreak: closer() + } + }, + + settings.mdastExtensions || [] + ) + + var data = {} + + return compile + + function compile(events) { + var tree = {type: 'root', children: []} + var stack = [tree] + var tokenStack = [] + var listStack = [] + var index = -1 + var handler + var listStart + + var context = { + stack: stack, + tokenStack: tokenStack, + config: config, + enter: enter, + exit: exit, + buffer: buffer, + resume: resume, + setData: setData, + getData: getData + } + + while (++index < events.length) { + // We preprocess lists to add `listItem` tokens, and to infer whether + // items the list itself are spread out. + if ( + events[index][1].type === 'listOrdered' || + events[index][1].type === 'listUnordered' + ) { + if (events[index][0] === 'enter') { + listStack.push(index) + } else { + listStart = listStack.pop(index) + index = prepareList(events, listStart, index) + } + } + } + + index = -1 + + while (++index < events.length) { + handler = config[events[index][0]] + + if (own.call(handler, events[index][1].type)) { + handler[events[index][1].type].call( + assign({sliceSerialize: events[index][2].sliceSerialize}, context), + events[index][1] + ) + } + } + + if (tokenStack.length) { + throw new Error( + 'Cannot close document, a token (`' + + tokenStack[tokenStack.length - 1].type + + '`, ' + + stringifyPosition({ + start: tokenStack[tokenStack.length - 1].start, + end: tokenStack[tokenStack.length - 1].end + }) + + ') is still open' + ) + } + + // Figure out `root` position. + tree.position = { + start: point( + events.length ? events[0][1].start : {line: 1, column: 1, offset: 0} + ), + + end: point( + events.length + ? events[events.length - 2][1].end + : {line: 1, column: 1, offset: 0} + ) + } + + index = -1 + while (++index < config.transforms.length) { + tree = config.transforms[index](tree) || tree + } + + return tree + } + + function prepareList(events, start, length) { + var index = start - 1 + var containerBalance = -1 + var listSpread = false + var listItem + var tailIndex + var lineIndex + var tailEvent + var event + var firstBlankLineIndex + var atMarker + + while (++index <= length) { + event = events[index] + + if ( + event[1].type === 'listUnordered' || + event[1].type === 'listOrdered' || + event[1].type === 'blockQuote' + ) { + if (event[0] === 'enter') { + containerBalance++ + } else { + containerBalance-- + } + + atMarker = undefined + } else if (event[1].type === 'lineEndingBlank') { + if (event[0] === 'enter') { + if ( + listItem && + !atMarker && + !containerBalance && + !firstBlankLineIndex + ) { + firstBlankLineIndex = index + } + + atMarker = undefined + } + } else if ( + event[1].type === 'linePrefix' || + event[1].type === 'listItemValue' || + event[1].type === 'listItemMarker' || + event[1].type === 'listItemPrefix' || + event[1].type === 'listItemPrefixWhitespace' + ) { + // Empty. + } else { + atMarker = undefined + } + + if ( + (!containerBalance && + event[0] === 'enter' && + event[1].type === 'listItemPrefix') || + (containerBalance === -1 && + event[0] === 'exit' && + (event[1].type === 'listUnordered' || + event[1].type === 'listOrdered')) + ) { + if (listItem) { + tailIndex = index + lineIndex = undefined + + while (tailIndex--) { + tailEvent = events[tailIndex] + + if ( + tailEvent[1].type === 'lineEnding' || + tailEvent[1].type === 'lineEndingBlank' + ) { + if (tailEvent[0] === 'exit') continue + + if (lineIndex) { + events[lineIndex][1].type = 'lineEndingBlank' + listSpread = true + } + + tailEvent[1].type = 'lineEnding' + lineIndex = tailIndex + } else if ( + tailEvent[1].type === 'linePrefix' || + tailEvent[1].type === 'blockQuotePrefix' || + tailEvent[1].type === 'blockQuotePrefixWhitespace' || + tailEvent[1].type === 'blockQuoteMarker' || + tailEvent[1].type === 'listItemIndent' + ) { + // Empty + } else { + break + } + } + + if ( + firstBlankLineIndex && + (!lineIndex || firstBlankLineIndex < lineIndex) + ) { + listItem._spread = true + } + + // Fix position. + listItem.end = point( + lineIndex ? events[lineIndex][1].start : event[1].end + ) + + events.splice(lineIndex || index, 0, ['exit', listItem, event[2]]) + index++ + length++ + } + + // Create a new list item. + if (event[1].type === 'listItemPrefix') { + listItem = { + type: 'listItem', + _spread: false, + start: point(event[1].start) + } + + events.splice(index, 0, ['enter', listItem, event[2]]) + index++ + length++ + firstBlankLineIndex = undefined + atMarker = true + } + } + } + + events[start][1]._spread = listSpread + return length + } + + function setData(key, value) { + data[key] = value + } + + function getData(key) { + return data[key] + } + + function point(d) { + return {line: d.line, column: d.column, offset: d.offset} + } + + function opener(create, and) { + return open + + function open(token) { + enter.call(this, create(token), token) + if (and) and.call(this, token) + } + } + + function buffer() { + this.stack.push({type: 'fragment', children: []}) + } + + function enter(node, token) { + this.stack[this.stack.length - 1].children.push(node) + this.stack.push(node) + this.tokenStack.push(token) + node.position = {start: point(token.start)} + return node + } + + function closer(and) { + return close + + function close(token) { + if (and) and.call(this, token) + exit.call(this, token) + } + } + + function exit(token) { + var node = this.stack.pop() + var open = this.tokenStack.pop() + + if (!open) { + throw new Error( + 'Cannot close `' + + token.type + + '` (' + + stringifyPosition({start: token.start, end: token.end}) + + '): it’s not open' + ) + } else if (open.type !== token.type) { + throw new Error( + 'Cannot close `' + + token.type + + '` (' + + stringifyPosition({start: token.start, end: token.end}) + + '): a different token (`' + + open.type + + '`, ' + + stringifyPosition({start: open.start, end: open.end}) + + ') is open' + ) + } + + node.position.end = point(token.end) + return node + } + + function resume() { + return toString(this.stack.pop()) + } + + // + // Handlers. + // + + function onenterlistordered() { + setData('expectingFirstListItemValue', true) + } + + function onenterlistitemvalue(token) { + if (getData('expectingFirstListItemValue')) { + this.stack[this.stack.length - 2].start = parseInt( + this.sliceSerialize(token), + 10 + ) + + setData('expectingFirstListItemValue') + } + } + + function onexitcodefencedfenceinfo() { + var data = this.resume() + this.stack[this.stack.length - 1].lang = data + } + + function onexitcodefencedfencemeta() { + var data = this.resume() + this.stack[this.stack.length - 1].meta = data + } + + function onexitcodefencedfence() { + // Exit if this is the closing fence. + if (getData('flowCodeInside')) return + this.buffer() + setData('flowCodeInside', true) + } + + function onexitcodefenced() { + var data = this.resume() + this.stack[this.stack.length - 1].value = data.replace( + /^(\r?\n|\r)|(\r?\n|\r)$/g, + '' + ) + + setData('flowCodeInside') + } + + function onexitcodeindented() { + var data = this.resume() + this.stack[this.stack.length - 1].value = data + } + + function onexitdefinitionlabelstring(token) { + // Discard label, use the source content instead. + var label = this.resume() + this.stack[this.stack.length - 1].label = label + this.stack[this.stack.length - 1].identifier = normalizeIdentifier( + this.sliceSerialize(token) + ).toLowerCase() + } + + function onexitdefinitiontitlestring() { + var data = this.resume() + this.stack[this.stack.length - 1].title = data + } + + function onexitdefinitiondestinationstring() { + var data = this.resume() + this.stack[this.stack.length - 1].url = data + } + + function onexitatxheadingsequence(token) { + if (!this.stack[this.stack.length - 1].depth) { + this.stack[this.stack.length - 1].depth = this.sliceSerialize( + token + ).length + } + } + + function onexitsetextheadingtext() { + setData('setextHeadingSlurpLineEnding', true) + } + + function onexitsetextheadinglinesequence(token) { + this.stack[this.stack.length - 1].depth = + this.sliceSerialize(token).charCodeAt(0) === 61 ? 1 : 2 + } + + function onexitsetextheading() { + setData('setextHeadingSlurpLineEnding') + } + + function onenterdata(token) { + var siblings = this.stack[this.stack.length - 1].children + var tail = siblings[siblings.length - 1] + + if (!tail || tail.type !== 'text') { + // Add a new text node. + tail = text() + tail.position = {start: point(token.start)} + this.stack[this.stack.length - 1].children.push(tail) + } + + this.stack.push(tail) + } + + function onexitdata(token) { + var tail = this.stack.pop() + tail.value += this.sliceSerialize(token) + tail.position.end = point(token.end) + } + + function onexitlineending(token) { + var context = this.stack[this.stack.length - 1] + + // If we’re at a hard break, include the line ending in there. + if (getData('atHardBreak')) { + context.children[context.children.length - 1].position.end = point( + token.end + ) + + setData('atHardBreak') + return + } + + if ( + !getData('setextHeadingSlurpLineEnding') && + config.canContainEols.indexOf(context.type) > -1 + ) { + onenterdata.call(this, token) + onexitdata.call(this, token) + } + } + + function onexithardbreak() { + setData('atHardBreak', true) + } + + function onexithtmlflow() { + var data = this.resume() + this.stack[this.stack.length - 1].value = data + } + + function onexithtmltext() { + var data = this.resume() + this.stack[this.stack.length - 1].value = data + } + + function onexitcodetext() { + var data = this.resume() + this.stack[this.stack.length - 1].value = data + } + + function onexitlink() { + var context = this.stack[this.stack.length - 1] + + // To do: clean. + if (getData('inReference')) { + context.type += 'Reference' + context.referenceType = getData('referenceType') || 'shortcut' + delete context.url + delete context.title + } else { + delete context.identifier + delete context.label + delete context.referenceType + } + + setData('referenceType') + } + + function onexitimage() { + var context = this.stack[this.stack.length - 1] + + // To do: clean. + if (getData('inReference')) { + context.type += 'Reference' + context.referenceType = getData('referenceType') || 'shortcut' + delete context.url + delete context.title + } else { + delete context.identifier + delete context.label + delete context.referenceType + } + + setData('referenceType') + } + + function onexitlabeltext(token) { + this.stack[this.stack.length - 2].identifier = normalizeIdentifier( + this.sliceSerialize(token) + ).toLowerCase() + } + + function onexitlabel() { + var fragment = this.stack[this.stack.length - 1] + var value = this.resume() + + this.stack[this.stack.length - 1].label = value + + // Assume a reference. + setData('inReference', true) + + if (this.stack[this.stack.length - 1].type === 'link') { + this.stack[this.stack.length - 1].children = fragment.children + } else { + this.stack[this.stack.length - 1].alt = value + } + } + + function onexitresourcedestinationstring() { + var data = this.resume() + this.stack[this.stack.length - 1].url = data + } + + function onexitresourcetitlestring() { + var data = this.resume() + this.stack[this.stack.length - 1].title = data + } + + function onexitresource() { + setData('inReference') + } + + function onenterreference() { + setData('referenceType', 'collapsed') + } + + function onexitreferencestring(token) { + var label = this.resume() + this.stack[this.stack.length - 1].label = label + this.stack[this.stack.length - 1].identifier = normalizeIdentifier( + this.sliceSerialize(token) + ).toLowerCase() + setData('referenceType', 'full') + } + + function onexitcharacterreferencemarker(token) { + setData('characterReferenceType', token.type) + } + + function onexitcharacterreferencevalue(token) { + var data = this.sliceSerialize(token) + var type = getData('characterReferenceType') + var value + var tail + + if (type) { + value = safeFromInt( + data, + type === 'characterReferenceMarkerNumeric' ? 10 : 16 + ) + + setData('characterReferenceType') + } else { + value = decode(data) + } + + tail = this.stack.pop() + tail.value += value + tail.position.end = point(token.end) + } + + function onexitautolinkprotocol(token) { + onexitdata.call(this, token) + this.stack[this.stack.length - 1].url = this.sliceSerialize(token) + } + + function onexitautolinkemail(token) { + onexitdata.call(this, token) + this.stack[this.stack.length - 1].url = + 'mailto:' + this.sliceSerialize(token) + } + + // + // Creaters. + // + + function blockQuote() { + return {type: 'blockquote', children: []} + } + + function codeFlow() { + return {type: 'code', lang: null, meta: null, value: ''} + } + + function codeText() { + return {type: 'inlineCode', value: ''} + } + + function definition() { + return { + type: 'definition', + identifier: '', + label: null, + title: null, + url: '' + } + } + + function emphasis() { + return {type: 'emphasis', children: []} + } + + function heading() { + return {type: 'heading', depth: undefined, children: []} + } + + function hardBreak() { + return {type: 'break'} + } + + function html() { + return {type: 'html', value: ''} + } + + function image() { + return {type: 'image', title: null, url: '', alt: null} + } + + function link() { + return {type: 'link', title: null, url: '', children: []} + } + + function list(token) { + return { + type: 'list', + ordered: token.type === 'listOrdered', + start: null, + spread: token._spread, + children: [] + } + } + + function listItem(token) { + return { + type: 'listItem', + spread: token._spread, + checked: null, + children: [] + } + } + + function paragraph() { + return {type: 'paragraph', children: []} + } + + function strong() { + return {type: 'strong', children: []} + } + + function text() { + return {type: 'text', value: ''} + } + + function thematicBreak() { + return {type: 'thematicBreak'} + } +} + +function configure(config, extensions) { + var index = -1 + + while (++index < extensions.length) { + extension(config, extensions[index]) + } + + return config +} + +function extension(config, extension) { + var key + var left + + for (key in extension) { + left = own.call(config, key) ? config[key] : (config[key] = {}) + + if (key === 'canContainEols' || key === 'transforms') { + config[key] = [].concat(left, extension[key]) + } else { + Object.assign(left, extension[key]) + } + } +} diff --git a/tools/node_modules/eslint-plugin-markdown/node_modules/mdast-util-from-markdown/index.js b/tools/node_modules/eslint-plugin-markdown/node_modules/mdast-util-from-markdown/index.js new file mode 100644 index 00000000000000..2b74f75ae99432 --- /dev/null +++ b/tools/node_modules/eslint-plugin-markdown/node_modules/mdast-util-from-markdown/index.js @@ -0,0 +1,3 @@ +'use strict' + +module.exports = require('./dist') diff --git a/tools/node_modules/eslint-plugin-markdown/node_modules/mdast-util-from-markdown/lib/index.js b/tools/node_modules/eslint-plugin-markdown/node_modules/mdast-util-from-markdown/lib/index.js new file mode 100644 index 00000000000000..1e2e7806c09075 --- /dev/null +++ b/tools/node_modules/eslint-plugin-markdown/node_modules/mdast-util-from-markdown/lib/index.js @@ -0,0 +1,819 @@ +'use strict' + +module.exports = fromMarkdown + +// These three are compiled away in the `dist/` +var codes = require('micromark/dist/character/codes') +var constants = require('micromark/dist/constant/constants') +var types = require('micromark/dist/constant/types') + +var toString = require('mdast-util-to-string') +var assign = require('micromark/dist/constant/assign') +var own = require('micromark/dist/constant/has-own-property') +var normalizeIdentifier = require('micromark/dist/util/normalize-identifier') +var safeFromInt = require('micromark/dist/util/safe-from-int') +var parser = require('micromark/dist/parse') +var preprocessor = require('micromark/dist/preprocess') +var postprocess = require('micromark/dist/postprocess') +var decode = require('parse-entities/decode-entity') +var stringifyPosition = require('unist-util-stringify-position') + +function fromMarkdown(value, encoding, options) { + if (typeof encoding !== 'string') { + options = encoding + encoding = undefined + } + + return compiler(options)( + postprocess( + parser(options).document().write(preprocessor()(value, encoding, true)) + ) + ) +} + +// Note this compiler only understand complete buffering, not streaming. +function compiler(options) { + var settings = options || {} + var config = configure( + { + transforms: [], + canContainEols: [ + 'emphasis', + 'fragment', + 'heading', + 'paragraph', + 'strong' + ], + enter: { + autolink: opener(link), + autolinkProtocol: onenterdata, + autolinkEmail: onenterdata, + atxHeading: opener(heading), + blockQuote: opener(blockQuote), + characterEscape: onenterdata, + characterReference: onenterdata, + codeFenced: opener(codeFlow), + codeFencedFenceInfo: buffer, + codeFencedFenceMeta: buffer, + codeIndented: opener(codeFlow, buffer), + codeText: opener(codeText, buffer), + codeTextData: onenterdata, + data: onenterdata, + codeFlowValue: onenterdata, + definition: opener(definition), + definitionDestinationString: buffer, + definitionLabelString: buffer, + definitionTitleString: buffer, + emphasis: opener(emphasis), + hardBreakEscape: opener(hardBreak), + hardBreakTrailing: opener(hardBreak), + htmlFlow: opener(html, buffer), + htmlFlowData: onenterdata, + htmlText: opener(html, buffer), + htmlTextData: onenterdata, + image: opener(image), + label: buffer, + link: opener(link), + listItem: opener(listItem), + listItemValue: onenterlistitemvalue, + listOrdered: opener(list, onenterlistordered), + listUnordered: opener(list), + paragraph: opener(paragraph), + reference: onenterreference, + referenceString: buffer, + resourceDestinationString: buffer, + resourceTitleString: buffer, + setextHeading: opener(heading), + strong: opener(strong), + thematicBreak: opener(thematicBreak) + }, + exit: { + atxHeading: closer(), + atxHeadingSequence: onexitatxheadingsequence, + autolink: closer(), + autolinkEmail: onexitautolinkemail, + autolinkProtocol: onexitautolinkprotocol, + blockQuote: closer(), + characterEscapeValue: onexitdata, + characterReferenceMarkerHexadecimal: onexitcharacterreferencemarker, + characterReferenceMarkerNumeric: onexitcharacterreferencemarker, + characterReferenceValue: onexitcharacterreferencevalue, + codeFenced: closer(onexitcodefenced), + codeFencedFence: onexitcodefencedfence, + codeFencedFenceInfo: onexitcodefencedfenceinfo, + codeFencedFenceMeta: onexitcodefencedfencemeta, + codeFlowValue: onexitdata, + codeIndented: closer(onexitcodeindented), + codeText: closer(onexitcodetext), + codeTextData: onexitdata, + data: onexitdata, + definition: closer(), + definitionDestinationString: onexitdefinitiondestinationstring, + definitionLabelString: onexitdefinitionlabelstring, + definitionTitleString: onexitdefinitiontitlestring, + emphasis: closer(), + hardBreakEscape: closer(onexithardbreak), + hardBreakTrailing: closer(onexithardbreak), + htmlFlow: closer(onexithtmlflow), + htmlFlowData: onexitdata, + htmlText: closer(onexithtmltext), + htmlTextData: onexitdata, + image: closer(onexitimage), + label: onexitlabel, + labelText: onexitlabeltext, + lineEnding: onexitlineending, + link: closer(onexitlink), + listItem: closer(), + listOrdered: closer(), + listUnordered: closer(), + paragraph: closer(), + referenceString: onexitreferencestring, + resourceDestinationString: onexitresourcedestinationstring, + resourceTitleString: onexitresourcetitlestring, + resource: onexitresource, + setextHeading: closer(onexitsetextheading), + setextHeadingLineSequence: onexitsetextheadinglinesequence, + setextHeadingText: onexitsetextheadingtext, + strong: closer(), + thematicBreak: closer() + } + }, + settings.mdastExtensions || [] + ) + + var data = {} + + return compile + + function compile(events) { + var tree = {type: 'root', children: []} + var stack = [tree] + var tokenStack = [] + var listStack = [] + var index = -1 + var handler + var listStart + + var context = { + stack: stack, + tokenStack: tokenStack, + config: config, + enter: enter, + exit: exit, + buffer: buffer, + resume: resume, + setData: setData, + getData: getData + } + + while (++index < events.length) { + // We preprocess lists to add `listItem` tokens, and to infer whether + // items the list itself are spread out. + if ( + events[index][1].type === types.listOrdered || + events[index][1].type === types.listUnordered + ) { + if (events[index][0] === 'enter') { + listStack.push(index) + } else { + listStart = listStack.pop(index) + index = prepareList(events, listStart, index) + } + } + } + + index = -1 + + while (++index < events.length) { + handler = config[events[index][0]] + + if (own.call(handler, events[index][1].type)) { + handler[events[index][1].type].call( + assign({sliceSerialize: events[index][2].sliceSerialize}, context), + events[index][1] + ) + } + } + + if (tokenStack.length) { + throw new Error( + 'Cannot close document, a token (`' + + tokenStack[tokenStack.length - 1].type + + '`, ' + + stringifyPosition({ + start: tokenStack[tokenStack.length - 1].start, + end: tokenStack[tokenStack.length - 1].end + }) + + ') is still open' + ) + } + + // Figure out `root` position. + tree.position = { + start: point( + events.length ? events[0][1].start : {line: 1, column: 1, offset: 0} + ), + end: point( + events.length + ? events[events.length - 2][1].end + : {line: 1, column: 1, offset: 0} + ) + } + + index = -1 + while (++index < config.transforms.length) { + tree = config.transforms[index](tree) || tree + } + + return tree + } + + function prepareList(events, start, length) { + var index = start - 1 + var containerBalance = -1 + var listSpread = false + var listItem + var tailIndex + var lineIndex + var tailEvent + var event + var firstBlankLineIndex + var atMarker + + while (++index <= length) { + event = events[index] + + if ( + event[1].type === types.listUnordered || + event[1].type === types.listOrdered || + event[1].type === types.blockQuote + ) { + if (event[0] === 'enter') { + containerBalance++ + } else { + containerBalance-- + } + + atMarker = undefined + } else if (event[1].type === types.lineEndingBlank) { + if (event[0] === 'enter') { + if ( + listItem && + !atMarker && + !containerBalance && + !firstBlankLineIndex + ) { + firstBlankLineIndex = index + } + + atMarker = undefined + } + } else if ( + event[1].type === types.linePrefix || + event[1].type === types.listItemValue || + event[1].type === types.listItemMarker || + event[1].type === types.listItemPrefix || + event[1].type === types.listItemPrefixWhitespace + ) { + // Empty. + } else { + atMarker = undefined + } + + if ( + (!containerBalance && + event[0] === 'enter' && + event[1].type === types.listItemPrefix) || + (containerBalance === -1 && + event[0] === 'exit' && + (event[1].type === types.listUnordered || + event[1].type === types.listOrdered)) + ) { + if (listItem) { + tailIndex = index + lineIndex = undefined + + while (tailIndex--) { + tailEvent = events[tailIndex] + + if ( + tailEvent[1].type === types.lineEnding || + tailEvent[1].type === types.lineEndingBlank + ) { + if (tailEvent[0] === 'exit') continue + + if (lineIndex) { + events[lineIndex][1].type = types.lineEndingBlank + listSpread = true + } + + tailEvent[1].type = types.lineEnding + lineIndex = tailIndex + } else if ( + tailEvent[1].type === types.linePrefix || + tailEvent[1].type === types.blockQuotePrefix || + tailEvent[1].type === types.blockQuotePrefixWhitespace || + tailEvent[1].type === types.blockQuoteMarker || + tailEvent[1].type === types.listItemIndent + ) { + // Empty + } else { + break + } + } + + if ( + firstBlankLineIndex && + (!lineIndex || firstBlankLineIndex < lineIndex) + ) { + listItem._spread = true + } + + // Fix position. + listItem.end = point( + lineIndex ? events[lineIndex][1].start : event[1].end + ) + + events.splice(lineIndex || index, 0, ['exit', listItem, event[2]]) + index++ + length++ + } + + // Create a new list item. + if (event[1].type === types.listItemPrefix) { + listItem = { + type: 'listItem', + _spread: false, + start: point(event[1].start) + } + events.splice(index, 0, ['enter', listItem, event[2]]) + index++ + length++ + firstBlankLineIndex = undefined + atMarker = true + } + } + } + + events[start][1]._spread = listSpread + return length + } + + function setData(key, value) { + data[key] = value + } + + function getData(key) { + return data[key] + } + + function point(d) { + return {line: d.line, column: d.column, offset: d.offset} + } + + function opener(create, and) { + return open + + function open(token) { + enter.call(this, create(token), token) + if (and) and.call(this, token) + } + } + + function buffer() { + this.stack.push({type: 'fragment', children: []}) + } + + function enter(node, token) { + this.stack[this.stack.length - 1].children.push(node) + this.stack.push(node) + this.tokenStack.push(token) + node.position = {start: point(token.start)} + return node + } + + function closer(and) { + return close + + function close(token) { + if (and) and.call(this, token) + exit.call(this, token) + } + } + + function exit(token) { + var node = this.stack.pop() + var open = this.tokenStack.pop() + + if (!open) { + throw new Error( + 'Cannot close `' + + token.type + + '` (' + + stringifyPosition({start: token.start, end: token.end}) + + '): it’s not open' + ) + } else if (open.type !== token.type) { + throw new Error( + 'Cannot close `' + + token.type + + '` (' + + stringifyPosition({start: token.start, end: token.end}) + + '): a different token (`' + + open.type + + '`, ' + + stringifyPosition({start: open.start, end: open.end}) + + ') is open' + ) + } + + node.position.end = point(token.end) + return node + } + + function resume() { + return toString(this.stack.pop()) + } + + // + // Handlers. + // + + function onenterlistordered() { + setData('expectingFirstListItemValue', true) + } + + function onenterlistitemvalue(token) { + if (getData('expectingFirstListItemValue')) { + this.stack[this.stack.length - 2].start = parseInt( + this.sliceSerialize(token), + constants.numericBaseDecimal + ) + setData('expectingFirstListItemValue') + } + } + + function onexitcodefencedfenceinfo() { + var data = this.resume() + this.stack[this.stack.length - 1].lang = data + } + + function onexitcodefencedfencemeta() { + var data = this.resume() + this.stack[this.stack.length - 1].meta = data + } + + function onexitcodefencedfence() { + // Exit if this is the closing fence. + if (getData('flowCodeInside')) return + this.buffer() + setData('flowCodeInside', true) + } + + function onexitcodefenced() { + var data = this.resume() + this.stack[this.stack.length - 1].value = data.replace( + /^(\r?\n|\r)|(\r?\n|\r)$/g, + '' + ) + setData('flowCodeInside') + } + + function onexitcodeindented() { + var data = this.resume() + this.stack[this.stack.length - 1].value = data + } + + function onexitdefinitionlabelstring(token) { + // Discard label, use the source content instead. + var label = this.resume() + this.stack[this.stack.length - 1].label = label + this.stack[this.stack.length - 1].identifier = normalizeIdentifier( + this.sliceSerialize(token) + ).toLowerCase() + } + + function onexitdefinitiontitlestring() { + var data = this.resume() + this.stack[this.stack.length - 1].title = data + } + + function onexitdefinitiondestinationstring() { + var data = this.resume() + this.stack[this.stack.length - 1].url = data + } + + function onexitatxheadingsequence(token) { + if (!this.stack[this.stack.length - 1].depth) { + this.stack[this.stack.length - 1].depth = this.sliceSerialize( + token + ).length + } + } + + function onexitsetextheadingtext() { + setData('setextHeadingSlurpLineEnding', true) + } + + function onexitsetextheadinglinesequence(token) { + this.stack[this.stack.length - 1].depth = + this.sliceSerialize(token).charCodeAt(0) === codes.equalsTo ? 1 : 2 + } + + function onexitsetextheading() { + setData('setextHeadingSlurpLineEnding') + } + + function onenterdata(token) { + var siblings = this.stack[this.stack.length - 1].children + var tail = siblings[siblings.length - 1] + + if (!tail || tail.type !== 'text') { + // Add a new text node. + tail = text() + tail.position = {start: point(token.start)} + this.stack[this.stack.length - 1].children.push(tail) + } + + this.stack.push(tail) + } + + function onexitdata(token) { + var tail = this.stack.pop() + tail.value += this.sliceSerialize(token) + tail.position.end = point(token.end) + } + + function onexitlineending(token) { + var context = this.stack[this.stack.length - 1] + + // If we’re at a hard break, include the line ending in there. + if (getData('atHardBreak')) { + context.children[context.children.length - 1].position.end = point( + token.end + ) + setData('atHardBreak') + return + } + + if ( + !getData('setextHeadingSlurpLineEnding') && + config.canContainEols.indexOf(context.type) > -1 + ) { + onenterdata.call(this, token) + onexitdata.call(this, token) + } + } + + function onexithardbreak() { + setData('atHardBreak', true) + } + + function onexithtmlflow() { + var data = this.resume() + this.stack[this.stack.length - 1].value = data + } + + function onexithtmltext() { + var data = this.resume() + this.stack[this.stack.length - 1].value = data + } + + function onexitcodetext() { + var data = this.resume() + this.stack[this.stack.length - 1].value = data + } + + function onexitlink() { + var context = this.stack[this.stack.length - 1] + + // To do: clean. + if (getData('inReference')) { + context.type += 'Reference' + context.referenceType = getData('referenceType') || 'shortcut' + delete context.url + delete context.title + } else { + delete context.identifier + delete context.label + delete context.referenceType + } + + setData('referenceType') + } + + function onexitimage() { + var context = this.stack[this.stack.length - 1] + + // To do: clean. + if (getData('inReference')) { + context.type += 'Reference' + context.referenceType = getData('referenceType') || 'shortcut' + delete context.url + delete context.title + } else { + delete context.identifier + delete context.label + delete context.referenceType + } + + setData('referenceType') + } + + function onexitlabeltext(token) { + this.stack[this.stack.length - 2].identifier = normalizeIdentifier( + this.sliceSerialize(token) + ).toLowerCase() + } + + function onexitlabel() { + var fragment = this.stack[this.stack.length - 1] + var value = this.resume() + + this.stack[this.stack.length - 1].label = value + + // Assume a reference. + setData('inReference', true) + + if (this.stack[this.stack.length - 1].type === 'link') { + this.stack[this.stack.length - 1].children = fragment.children + } else { + this.stack[this.stack.length - 1].alt = value + } + } + + function onexitresourcedestinationstring() { + var data = this.resume() + this.stack[this.stack.length - 1].url = data + } + + function onexitresourcetitlestring() { + var data = this.resume() + this.stack[this.stack.length - 1].title = data + } + + function onexitresource() { + setData('inReference') + } + + function onenterreference() { + setData('referenceType', 'collapsed') + } + + function onexitreferencestring(token) { + var label = this.resume() + this.stack[this.stack.length - 1].label = label + this.stack[this.stack.length - 1].identifier = normalizeIdentifier( + this.sliceSerialize(token) + ).toLowerCase() + setData('referenceType', 'full') + } + + function onexitcharacterreferencemarker(token) { + setData('characterReferenceType', token.type) + } + + function onexitcharacterreferencevalue(token) { + var data = this.sliceSerialize(token) + var type = getData('characterReferenceType') + var value + var tail + + if (type) { + value = safeFromInt( + data, + type === types.characterReferenceMarkerNumeric + ? constants.numericBaseDecimal + : constants.numericBaseHexadecimal + ) + setData('characterReferenceType') + } else { + value = decode(data) + } + + tail = this.stack.pop() + tail.value += value + tail.position.end = point(token.end) + } + + function onexitautolinkprotocol(token) { + onexitdata.call(this, token) + this.stack[this.stack.length - 1].url = this.sliceSerialize(token) + } + + function onexitautolinkemail(token) { + onexitdata.call(this, token) + this.stack[this.stack.length - 1].url = + 'mailto:' + this.sliceSerialize(token) + } + + // + // Creaters. + // + + function blockQuote() { + return {type: 'blockquote', children: []} + } + + function codeFlow() { + return {type: 'code', lang: null, meta: null, value: ''} + } + + function codeText() { + return {type: 'inlineCode', value: ''} + } + + function definition() { + return { + type: 'definition', + identifier: '', + label: null, + title: null, + url: '' + } + } + + function emphasis() { + return {type: 'emphasis', children: []} + } + + function heading() { + return {type: 'heading', depth: undefined, children: []} + } + + function hardBreak() { + return {type: 'break'} + } + + function html() { + return {type: 'html', value: ''} + } + + function image() { + return {type: 'image', title: null, url: '', alt: null} + } + + function link() { + return {type: 'link', title: null, url: '', children: []} + } + + function list(token) { + return { + type: 'list', + ordered: token.type === 'listOrdered', + start: null, + spread: token._spread, + children: [] + } + } + + function listItem(token) { + return { + type: 'listItem', + spread: token._spread, + checked: null, + children: [] + } + } + + function paragraph() { + return {type: 'paragraph', children: []} + } + + function strong() { + return {type: 'strong', children: []} + } + + function text() { + return {type: 'text', value: ''} + } + + function thematicBreak() { + return {type: 'thematicBreak'} + } +} + +function configure(config, extensions) { + var index = -1 + + while (++index < extensions.length) { + extension(config, extensions[index]) + } + + return config +} + +function extension(config, extension) { + var key + var left + + for (key in extension) { + left = own.call(config, key) ? config[key] : (config[key] = {}) + + if (key === 'canContainEols' || key === 'transforms') { + config[key] = [].concat(left, extension[key]) + } else { + Object.assign(left, extension[key]) + } + } +} diff --git a/tools/node_modules/eslint-plugin-markdown/node_modules/collapse-white-space/license b/tools/node_modules/eslint-plugin-markdown/node_modules/mdast-util-from-markdown/license similarity index 94% rename from tools/node_modules/eslint-plugin-markdown/node_modules/collapse-white-space/license rename to tools/node_modules/eslint-plugin-markdown/node_modules/mdast-util-from-markdown/license index 32e7a3d93ca5a2..39372356c47d0f 100644 --- a/tools/node_modules/eslint-plugin-markdown/node_modules/collapse-white-space/license +++ b/tools/node_modules/eslint-plugin-markdown/node_modules/mdast-util-from-markdown/license @@ -1,6 +1,6 @@ (The MIT License) -Copyright (c) 2015 Titus Wormer +Copyright (c) 2020 Titus Wormer Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the diff --git a/tools/node_modules/eslint-plugin-markdown/node_modules/mdast-util-from-markdown/package.json b/tools/node_modules/eslint-plugin-markdown/node_modules/mdast-util-from-markdown/package.json new file mode 100644 index 00000000000000..b17e76df3f7162 --- /dev/null +++ b/tools/node_modules/eslint-plugin-markdown/node_modules/mdast-util-from-markdown/package.json @@ -0,0 +1,109 @@ +{ + "name": "mdast-util-from-markdown", + "version": "0.8.5", + "description": "mdast utility to parse markdown", + "license": "MIT", + "keywords": [ + "unist", + "mdast", + "mdast-util", + "util", + "utility", + "markdown", + "markup", + "parse", + "syntax", + "tree", + "ast" + ], + "repository": "syntax-tree/mdast-util-from-markdown", + "bugs": "https://github.com/syntax-tree/mdast-util-from-markdown/issues", + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + }, + "author": "Titus Wormer (https://wooorm.com)", + "contributors": [ + "Titus Wormer (https://wooorm.com)" + ], + "files": [ + "dist/", + "lib/", + "index.js", + "types/index.d.ts" + ], + "types": "types", + "dependencies": { + "@types/mdast": "^3.0.0", + "mdast-util-to-string": "^2.0.0", + "micromark": "~2.11.0", + "parse-entities": "^2.0.0", + "unist-util-stringify-position": "^2.0.0" + }, + "devDependencies": { + "@babel/cli": "^7.0.0", + "@babel/core": "^7.0.0", + "babel-plugin-inline-constants": "^1.0.0", + "browserify": "^17.0.0", + "commonmark.json": "^0.29.0", + "dtslint": "^4.0.0", + "gzip-size-cli": "^4.0.0", + "hast-util-to-html": "^7.0.0", + "mdast-util-to-hast": "^10.0.0", + "nyc": "^15.0.0", + "prettier": "^2.0.0", + "rehype-parse": "^7.0.0", + "rehype-stringify": "^8.0.0", + "remark-cli": "^9.0.0", + "remark-preset-wooorm": "^8.0.0", + "tape": "^5.0.0", + "tinyify": "^3.0.0", + "unified": "^9.0.0", + "xo": "^0.37.0" + }, + "scripts": { + "format": "remark . -qfo && prettier . -w --loglevel warn && xo --fix", + "generate-dist": "babel lib/ --out-dir dist/ --quiet --retain-lines; prettier dist/ --loglevel error --write", + "generate-size": "browserify . -p tinyify -s mdast-util-from-markdown -o mdast-util-from-markdown.min.js; gzip-size mdast-util-from-markdown.min.js --raw", + "generate": "npm run generate-dist && npm run generate-size", + "test-api": "node test", + "test-coverage": "nyc --reporter lcov tape test/index.js", + "test-types": "dtslint types", + "test": "npm run format && npm run generate && npm run test-coverage && npm run test-types" + }, + "nyc": { + "check-coverage": true, + "lines": 100, + "functions": 100, + "branches": 100 + }, + "prettier": { + "tabWidth": 2, + "useTabs": false, + "singleQuote": true, + "bracketSpacing": false, + "semi": false, + "trailingComma": "none" + }, + "xo": { + "prettier": true, + "esnext": false, + "rules": { + "complexity": "off", + "guard-for-in": "off", + "unicorn/explicit-length-check": "off", + "unicorn/no-array-callback-reference": "off", + "unicorn/prefer-includes": "off", + "unicorn/prefer-number-properties": "off", + "unicorn/prefer-optional-catch-binding": "off" + }, + "ignores": [ + "types/" + ] + }, + "remarkConfig": { + "plugins": [ + "preset-wooorm" + ] + } +} diff --git a/tools/node_modules/eslint-plugin-markdown/node_modules/mdast-util-from-markdown/readme.md b/tools/node_modules/eslint-plugin-markdown/node_modules/mdast-util-from-markdown/readme.md new file mode 100644 index 00000000000000..30362141dc2e08 --- /dev/null +++ b/tools/node_modules/eslint-plugin-markdown/node_modules/mdast-util-from-markdown/readme.md @@ -0,0 +1,206 @@ +# mdast-util-from-markdown + +[![Build][build-badge]][build] +[![Coverage][coverage-badge]][coverage] +[![Downloads][downloads-badge]][downloads] +[![Size][size-badge]][size] +[![Sponsors][sponsors-badge]][collective] +[![Backers][backers-badge]][collective] +[![Chat][chat-badge]][chat] + +**[mdast][]** utility to parse markdown. + +## Install + +[npm][]: + +```sh +npm install mdast-util-from-markdown +``` + +## Use + +Say we have the following markdown file, `example.md`: + +```markdown +## Hello, *World*! +``` + +And our script, `example.js`, looks as follows: + +```js +var fs = require('fs') +var fromMarkdown = require('mdast-util-from-markdown') + +var doc = fs.readFileSync('example.md') + +var tree = fromMarkdown(doc) + +console.log(tree) +``` + +Now, running `node example` yields (positional info removed for brevity): + +```js +{ + type: 'root', + children: [ + { + type: 'heading', + depth: 2, + children: [ + {type: 'text', value: 'Hello, '}, + { + type: 'emphasis', + children: [{type: 'text', value: 'World'}] + }, + {type: 'text', value: '!'} + ] + } + ] +} +``` + +## API + +### `fromMarkdown(doc[, encoding][, options])` + +Parse markdown to a **[mdast][]** tree. + +##### Parameters + +###### `doc` + +Value to parse (`string` or [`Buffer`][buffer]). + +###### `encoding` + +[Character encoding][encoding] to understand `doc` as when it’s a +[`Buffer`][buffer] (`string`, default: `'utf8'`). + +###### `options.extensions` + +Array of syntax extensions (`Array.`, default: `[]`). +Passed to [`micromark` as `extensions`][micromark-extensions]. + +###### `options.mdastExtensions` + +Array of mdast extensions (`Array.`, default: `[]`). + +##### Returns + +[`Root`][root]. + +## List of extensions + +* [`syntax-tree/mdast-util-directive`](https://github.com/syntax-tree/mdast-util-directive) + — parse directives +* [`syntax-tree/mdast-util-footnote`](https://github.com/syntax-tree/mdast-util-footnote) + — parse footnotes +* [`syntax-tree/mdast-util-frontmatter`](https://github.com/syntax-tree/mdast-util-frontmatter) + — parse frontmatter (YAML, TOML, more) +* [`syntax-tree/mdast-util-gfm`](https://github.com/syntax-tree/mdast-util-gfm) + — parse GFM +* [`syntax-tree/mdast-util-gfm-autolink-literal`](https://github.com/syntax-tree/mdast-util-gfm-autolink-literal) + — parse GFM autolink literals +* [`syntax-tree/mdast-util-gfm-strikethrough`](https://github.com/syntax-tree/mdast-util-gfm-strikethrough) + — parse GFM strikethrough +* [`syntax-tree/mdast-util-gfm-table`](https://github.com/syntax-tree/mdast-util-gfm-table) + — parse GFM tables +* [`syntax-tree/mdast-util-gfm-task-list-item`](https://github.com/syntax-tree/mdast-util-gfm-task-list-item) + — parse GFM task list items +* [`syntax-tree/mdast-util-math`](https://github.com/syntax-tree/mdast-util-math) + — parse math +* [`syntax-tree/mdast-util-mdx`](https://github.com/syntax-tree/mdast-util-mdx) + — parse MDX or MDX.js +* [`syntax-tree/mdast-util-mdx-expression`](https://github.com/syntax-tree/mdast-util-mdx-expression) + — parse MDX or MDX.js expressions +* [`syntax-tree/mdast-util-mdx-jsx`](https://github.com/syntax-tree/mdast-util-mdx-jsx) + — parse MDX or MDX.js JSX +* [`syntax-tree/mdast-util-mdxjs-esm`](https://github.com/syntax-tree/mdast-util-mdxjs-esm) + — parse MDX.js ESM + +## Security + +As Markdown is sometimes used for HTML, and improper use of HTML can open you up +to a [cross-site scripting (XSS)][xss] attack, use of `mdast-util-from-markdown` +can also be unsafe. +When going to HTML, use this utility in combination with +[`hast-util-sanitize`][sanitize] to make the tree safe. + +## Related + +* [`micromark/micromark`](https://github.com/micromark/micromark) + — the smallest commonmark-compliant markdown parser that exists +* [`remarkjs/remark`](https://github.com/remarkjs/remark) + — markdown processor powered by plugins +* [`syntax-tree/mdast-util-to-markdown`](https://github.com/syntax-tree/mdast-util-to-markdown) + — serialize mdast to markdown + +## Contribute + +See [`contributing.md` in `syntax-tree/.github`][contributing] for ways to get +started. +See [`support.md`][support] for ways to get help. + +This project has a [code of conduct][coc]. +By interacting with this repository, organization, or community you agree to +abide by its terms. + +## License + +[MIT][license] © [Titus Wormer][author] + + + +[build-badge]: https://github.com/syntax-tree/mdast-util-from-markdown/workflows/main/badge.svg + +[build]: https://github.com/syntax-tree/mdast-util-from-markdown/actions + +[coverage-badge]: https://img.shields.io/codecov/c/github/syntax-tree/mdast-util-from-markdown.svg + +[coverage]: https://codecov.io/github/syntax-tree/mdast-util-from-markdown + +[downloads-badge]: https://img.shields.io/npm/dm/mdast-util-from-markdown.svg + +[downloads]: https://www.npmjs.com/package/mdast-util-from-markdown + +[size-badge]: https://img.shields.io/bundlephobia/minzip/mdast-util-from-markdown.svg + +[size]: https://bundlephobia.com/result?p=mdast-util-from-markdown + +[sponsors-badge]: https://opencollective.com/unified/sponsors/badge.svg + +[backers-badge]: https://opencollective.com/unified/backers/badge.svg + +[collective]: https://opencollective.com/unified + +[chat-badge]: https://img.shields.io/badge/chat-discussions-success.svg + +[chat]: https://github.com/syntax-tree/unist/discussions + +[npm]: https://docs.npmjs.com/cli/install + +[license]: license + +[author]: https://wooorm.com + +[contributing]: https://github.com/syntax-tree/.github/blob/HEAD/contributing.md + +[support]: https://github.com/syntax-tree/.github/blob/HEAD/support.md + +[coc]: https://github.com/syntax-tree/.github/blob/HEAD/code-of-conduct.md + +[mdast]: https://github.com/syntax-tree/mdast + +[root]: https://github.com/syntax-tree/mdast#root + +[encoding]: https://nodejs.org/api/buffer.html#buffer_buffers_and_character_encodings + +[buffer]: https://nodejs.org/api/buffer.html + +[xss]: https://en.wikipedia.org/wiki/Cross-site_scripting + +[sanitize]: https://github.com/syntax-tree/hast-util-sanitize + +[micromark-extensions]: https://github.com/micromark/micromark#optionsextensions diff --git a/tools/node_modules/eslint-plugin-markdown/node_modules/mdast-util-to-string/index.js b/tools/node_modules/eslint-plugin-markdown/node_modules/mdast-util-to-string/index.js new file mode 100644 index 00000000000000..0ae5f1dbdb3cfc --- /dev/null +++ b/tools/node_modules/eslint-plugin-markdown/node_modules/mdast-util-to-string/index.js @@ -0,0 +1,29 @@ +'use strict' + +module.exports = toString + +// Get the text content of a node. +// Prefer the node’s plain-text fields, otherwise serialize its children, +// and if the given value is an array, serialize the nodes in it. +function toString(node) { + return ( + (node && + (node.value || + node.alt || + node.title || + ('children' in node && all(node.children)) || + ('length' in node && all(node)))) || + '' + ) +} + +function all(values) { + var result = [] + var index = -1 + + while (++index < values.length) { + result[index] = toString(values[index]) + } + + return result.join('') +} diff --git a/tools/node_modules/eslint-plugin-markdown/node_modules/bail/license b/tools/node_modules/eslint-plugin-markdown/node_modules/mdast-util-to-string/license similarity index 100% rename from tools/node_modules/eslint-plugin-markdown/node_modules/bail/license rename to tools/node_modules/eslint-plugin-markdown/node_modules/mdast-util-to-string/license diff --git a/tools/node_modules/eslint-plugin-markdown/node_modules/trim-trailing-lines/package.json b/tools/node_modules/eslint-plugin-markdown/node_modules/mdast-util-to-string/package.json similarity index 57% rename from tools/node_modules/eslint-plugin-markdown/node_modules/trim-trailing-lines/package.json rename to tools/node_modules/eslint-plugin-markdown/node_modules/mdast-util-to-string/package.json index 861198394c3220..124287e2978476 100644 --- a/tools/node_modules/eslint-plugin-markdown/node_modules/trim-trailing-lines/package.json +++ b/tools/node_modules/eslint-plugin-markdown/node_modules/mdast-util-to-string/package.json @@ -1,31 +1,37 @@ { - "name": "trim-trailing-lines", - "version": "1.1.4", - "description": "Remove final line feeds from a string", + "name": "mdast-util-to-string", + "version": "2.0.0", + "description": "mdast utility to get the plain text content of a node", "license": "MIT", "keywords": [ - "trim", - "final", - "line", - "newline", - "characters" + "unist", + "mdast", + "mdast-util", + "util", + "utility", + "markdown", + "node", + "string", + "serialize" ], - "repository": "wooorm/trim-trailing-lines", - "bugs": "https://github.com/wooorm/trim-trailing-lines/issues", + "repository": "syntax-tree/mdast-util-to-string", + "bugs": "https://github.com/syntax-tree/mdast-util-to-string/issues", "funding": { - "type": "github", - "url": "https://github.com/sponsors/wooorm" + "type": "opencollective", + "url": "https://opencollective.com/unified" }, "author": "Titus Wormer (https://wooorm.com)", "contributors": [ "Titus Wormer (https://wooorm.com)" ], "files": [ - "index.js" + "index.js", + "types/index.d.ts" ], - "dependencies": {}, + "types": "types/index.d.ts", "devDependencies": { "browserify": "^17.0.0", + "dtslint": "^4.0.0", "nyc": "^15.0.0", "prettier": "^2.0.0", "remark-cli": "^9.0.0", @@ -36,18 +42,13 @@ }, "scripts": { "format": "remark . -qfo && prettier . -w --loglevel warn && xo --fix", - "build-bundle": "browserify . -s trimTrailingLines -o trim-trailing-lines.js", - "build-mangle": "browserify . -s trimTrailingLines -p tinyify -o trim-trailing-lines.min.js", + "build-bundle": "browserify . -s mdastUtilToString -o mdast-util-to-string.js", + "build-mangle": "browserify . -s mdastUtilToString -o mdast-util-to-string.min.js -p tinyify", "build": "npm run build-bundle && npm run build-mangle", "test-api": "node test", "test-coverage": "nyc --reporter lcov tape test.js", - "test": "npm run format && npm run build && npm run test-coverage" - }, - "nyc": { - "check-coverage": true, - "lines": 100, - "functions": 100, - "branches": 100 + "test-types": "dtslint types", + "test": "npm run format && npm run build && npm run test-coverage && npm run test-types" }, "prettier": { "tabWidth": 2, @@ -60,10 +61,17 @@ "xo": { "prettier": true, "esnext": false, - "ignores": [ - "trim-trailing-lines.js" + "ignore": [ + "mdast-util-to-string.js", + "types/test.ts" ] }, + "nyc": { + "check-coverage": true, + "lines": 100, + "functions": 100, + "branches": 100 + }, "remarkConfig": { "plugins": [ "preset-wooorm" diff --git a/tools/node_modules/eslint-plugin-markdown/node_modules/mdast-util-to-string/readme.md b/tools/node_modules/eslint-plugin-markdown/node_modules/mdast-util-to-string/readme.md new file mode 100644 index 00000000000000..2b7f1a0ed03ad5 --- /dev/null +++ b/tools/node_modules/eslint-plugin-markdown/node_modules/mdast-util-to-string/readme.md @@ -0,0 +1,127 @@ +# mdast-util-to-string + +[![Build][build-badge]][build] +[![Coverage][coverage-badge]][coverage] +[![Downloads][downloads-badge]][downloads] +[![Size][size-badge]][size] +[![Sponsors][sponsors-badge]][collective] +[![Backers][backers-badge]][collective] +[![Chat][chat-badge]][chat] + +**[mdast][]** utility to get the plain text content of a node. + +## Install + +[npm][]: + +```sh +npm install mdast-util-to-string +``` + +## Use + +```js +var unified = require('unified') +var parse = require('remark-parse') +var toString = require('mdast-util-to-string') + +var tree = unified() + .use(parse) + .parse('Some _emphasis_, **importance**, and `code`.') + +console.log(toString(tree)) // => 'Some emphasis, importance, and code.' +``` + +## API + +### `toString(node)` + +Get the text content of a [node][] or list of nodes. + +The algorithm checks `value` of `node`, then `alt`, and finally `title`. +If no value is found, the algorithm checks the children of `node` and joins them +(without spaces or newlines). + +> This is not a markdown to plain-text library. +> Use [`strip-markdown`][strip-markdown] for that. + +## Security + +Use of `mdast-util-to-string` does not involve **[hast][]**, user content, or +change the tree, so there are no openings for [cross-site scripting (XSS)][xss] +attacks. + +## Related + +* [`nlcst-to-string`](https://github.com/syntax-tree/nlcst-to-string) + — Get text content in nlcst +* [`hast-util-to-string`](https://github.com/wooorm/rehype-minify/tree/HEAD/packages/hast-util-to-string) + — Get text content in hast +* [`hast-util-to-text`](https://github.com/syntax-tree/hast-util-to-text) + — Get text content in hast according to the `innerText` algorithm +* [`hast-util-from-string`](https://github.com/wooorm/rehype-minify/tree/HEAD/packages/hast-util-from-string) + — Set text content in hast + +## Contribute + +See [`contributing.md` in `syntax-tree/.github`][contributing] for ways to get +started. +See [`support.md`][support] for ways to get help. + +This project has a [code of conduct][coc]. +By interacting with this repository, organization, or community you agree to +abide by its terms. + +## License + +[MIT][license] © [Titus Wormer][author] + + + +[build-badge]: https://github.com/syntax-tree/mdast-util-to-string/workflows/main/badge.svg + +[build]: https://github.com/syntax-tree/mdast-util-to-string/actions + +[coverage-badge]: https://img.shields.io/codecov/c/github/syntax-tree/mdast-util-to-string.svg + +[coverage]: https://codecov.io/github/syntax-tree/mdast-util-to-string + +[downloads-badge]: https://img.shields.io/npm/dm/mdast-util-to-string.svg + +[downloads]: https://www.npmjs.com/package/mdast-util-to-string + +[size-badge]: https://img.shields.io/bundlephobia/minzip/mdast-util-to-string.svg + +[size]: https://bundlephobia.com/result?p=mdast-util-to-string + +[sponsors-badge]: https://opencollective.com/unified/sponsors/badge.svg + +[backers-badge]: https://opencollective.com/unified/backers/badge.svg + +[collective]: https://opencollective.com/unified + +[chat-badge]: https://img.shields.io/badge/chat-discussions-success.svg + +[chat]: https://github.com/syntax-tree/unist/discussions + +[npm]: https://docs.npmjs.com/cli/install + +[license]: license + +[author]: https://wooorm.com + +[contributing]: https://github.com/syntax-tree/.github/blob/HEAD/contributing.md + +[support]: https://github.com/syntax-tree/.github/blob/HEAD/support.md + +[coc]: https://github.com/syntax-tree/.github/blob/HEAD/code-of-conduct.md + +[mdast]: https://github.com/syntax-tree/mdast + +[node]: https://github.com/syntax-tree/mdast#nodes + +[strip-markdown]: https://github.com/remarkjs/strip-markdown + +[xss]: https://en.wikipedia.org/wiki/Cross-site_scripting + +[hast]: https://github.com/syntax-tree/hast diff --git a/tools/node_modules/eslint-plugin-markdown/node_modules/micromark/buffer.js b/tools/node_modules/eslint-plugin-markdown/node_modules/micromark/buffer.js new file mode 100644 index 00000000000000..2b74f75ae99432 --- /dev/null +++ b/tools/node_modules/eslint-plugin-markdown/node_modules/micromark/buffer.js @@ -0,0 +1,3 @@ +'use strict' + +module.exports = require('./dist') diff --git a/tools/node_modules/eslint-plugin-markdown/node_modules/micromark/buffer.mjs b/tools/node_modules/eslint-plugin-markdown/node_modules/micromark/buffer.mjs new file mode 100644 index 00000000000000..9b91a071fdaca6 --- /dev/null +++ b/tools/node_modules/eslint-plugin-markdown/node_modules/micromark/buffer.mjs @@ -0,0 +1 @@ +export {default} from './dist/index.js' diff --git a/tools/node_modules/eslint-plugin-markdown/node_modules/micromark/dist/character/ascii-alpha.js b/tools/node_modules/eslint-plugin-markdown/node_modules/micromark/dist/character/ascii-alpha.js new file mode 100644 index 00000000000000..4e5b20d20b9315 --- /dev/null +++ b/tools/node_modules/eslint-plugin-markdown/node_modules/micromark/dist/character/ascii-alpha.js @@ -0,0 +1,7 @@ +'use strict' + +var regexCheck = require('../util/regex-check.js') + +var asciiAlpha = regexCheck(/[A-Za-z]/) + +module.exports = asciiAlpha diff --git a/tools/node_modules/eslint-plugin-markdown/node_modules/micromark/dist/character/ascii-alphanumeric.js b/tools/node_modules/eslint-plugin-markdown/node_modules/micromark/dist/character/ascii-alphanumeric.js new file mode 100644 index 00000000000000..4ab360273aa25e --- /dev/null +++ b/tools/node_modules/eslint-plugin-markdown/node_modules/micromark/dist/character/ascii-alphanumeric.js @@ -0,0 +1,7 @@ +'use strict' + +var regexCheck = require('../util/regex-check.js') + +var asciiAlphanumeric = regexCheck(/[\dA-Za-z]/) + +module.exports = asciiAlphanumeric diff --git a/tools/node_modules/eslint-plugin-markdown/node_modules/micromark/dist/character/ascii-atext.js b/tools/node_modules/eslint-plugin-markdown/node_modules/micromark/dist/character/ascii-atext.js new file mode 100644 index 00000000000000..8962f996ede7ef --- /dev/null +++ b/tools/node_modules/eslint-plugin-markdown/node_modules/micromark/dist/character/ascii-atext.js @@ -0,0 +1,7 @@ +'use strict' + +var regexCheck = require('../util/regex-check.js') + +var asciiAtext = regexCheck(/[#-'*+\--9=?A-Z^-~]/) + +module.exports = asciiAtext diff --git a/tools/node_modules/eslint-plugin-markdown/node_modules/micromark/dist/character/ascii-control.js b/tools/node_modules/eslint-plugin-markdown/node_modules/micromark/dist/character/ascii-control.js new file mode 100644 index 00000000000000..604ed1f2c66ee7 --- /dev/null +++ b/tools/node_modules/eslint-plugin-markdown/node_modules/micromark/dist/character/ascii-control.js @@ -0,0 +1,12 @@ +'use strict' + +// Note: EOF is seen as ASCII control here, because `null < 32 == true`. +function asciiControl(code) { + return ( + // Special whitespace codes (which have negative values), C0 and Control + // character DEL + code < 32 || code === 127 + ) +} + +module.exports = asciiControl diff --git a/tools/node_modules/eslint-plugin-markdown/node_modules/micromark/dist/character/ascii-digit.js b/tools/node_modules/eslint-plugin-markdown/node_modules/micromark/dist/character/ascii-digit.js new file mode 100644 index 00000000000000..da614c4e409dd3 --- /dev/null +++ b/tools/node_modules/eslint-plugin-markdown/node_modules/micromark/dist/character/ascii-digit.js @@ -0,0 +1,7 @@ +'use strict' + +var regexCheck = require('../util/regex-check.js') + +var asciiDigit = regexCheck(/\d/) + +module.exports = asciiDigit diff --git a/tools/node_modules/eslint-plugin-markdown/node_modules/micromark/dist/character/ascii-hex-digit.js b/tools/node_modules/eslint-plugin-markdown/node_modules/micromark/dist/character/ascii-hex-digit.js new file mode 100644 index 00000000000000..a0e7af43edd1b7 --- /dev/null +++ b/tools/node_modules/eslint-plugin-markdown/node_modules/micromark/dist/character/ascii-hex-digit.js @@ -0,0 +1,7 @@ +'use strict' + +var regexCheck = require('../util/regex-check.js') + +var asciiHexDigit = regexCheck(/[\dA-Fa-f]/) + +module.exports = asciiHexDigit diff --git a/tools/node_modules/eslint-plugin-markdown/node_modules/micromark/dist/character/ascii-punctuation.js b/tools/node_modules/eslint-plugin-markdown/node_modules/micromark/dist/character/ascii-punctuation.js new file mode 100644 index 00000000000000..596b45a5eb084b --- /dev/null +++ b/tools/node_modules/eslint-plugin-markdown/node_modules/micromark/dist/character/ascii-punctuation.js @@ -0,0 +1,7 @@ +'use strict' + +var regexCheck = require('../util/regex-check.js') + +var asciiPunctuation = regexCheck(/[!-/:-@[-`{-~]/) + +module.exports = asciiPunctuation diff --git a/tools/node_modules/eslint-plugin-markdown/node_modules/micromark/dist/character/codes.js b/tools/node_modules/eslint-plugin-markdown/node_modules/micromark/dist/character/codes.js new file mode 100644 index 00000000000000..01ea00a654b709 --- /dev/null +++ b/tools/node_modules/eslint-plugin-markdown/node_modules/micromark/dist/character/codes.js @@ -0,0 +1,257 @@ +'use strict' + +// This module is compiled away! +// +// micromark works based on character codes. +// This module contains constants for the ASCII block and the replacement +// character. +// A couple of them are handled in a special way, such as the line endings +// (CR, LF, and CR+LF, commonly known as end-of-line: EOLs), the tab (horizontal +// tab) and its expansion based on what column it’s at (virtual space), +// and the end-of-file (eof) character. +// As values are preprocessed before handling them, the actual characters LF, +// CR, HT, and NUL (which is present as the replacement character), are +// guaranteed to not exist. +// +// Unicode basic latin block. +var codes = { + carriageReturn: -5, + lineFeed: -4, + carriageReturnLineFeed: -3, + horizontalTab: -2, + virtualSpace: -1, + eof: null, + nul: 0, + soh: 1, + stx: 2, + etx: 3, + eot: 4, + enq: 5, + ack: 6, + bel: 7, + bs: 8, + ht: 9, + // `\t` + lf: 10, + // `\n` + vt: 11, + // `\v` + ff: 12, + // `\f` + cr: 13, + // `\r` + so: 14, + si: 15, + dle: 16, + dc1: 17, + dc2: 18, + dc3: 19, + dc4: 20, + nak: 21, + syn: 22, + etb: 23, + can: 24, + em: 25, + sub: 26, + esc: 27, + fs: 28, + gs: 29, + rs: 30, + us: 31, + space: 32, + exclamationMark: 33, + // `!` + quotationMark: 34, + // `"` + numberSign: 35, + // `#` + dollarSign: 36, + // `$` + percentSign: 37, + // `%` + ampersand: 38, + // `&` + apostrophe: 39, + // `'` + leftParenthesis: 40, + // `(` + rightParenthesis: 41, + // `)` + asterisk: 42, + // `*` + plusSign: 43, + // `+` + comma: 44, + // `,` + dash: 45, + // `-` + dot: 46, + // `.` + slash: 47, + // `/` + digit0: 48, + // `0` + digit1: 49, + // `1` + digit2: 50, + // `2` + digit3: 51, + // `3` + digit4: 52, + // `4` + digit5: 53, + // `5` + digit6: 54, + // `6` + digit7: 55, + // `7` + digit8: 56, + // `8` + digit9: 57, + // `9` + colon: 58, + // `:` + semicolon: 59, + // `;` + lessThan: 60, + // `<` + equalsTo: 61, + // `=` + greaterThan: 62, + // `>` + questionMark: 63, + // `?` + atSign: 64, + // `@` + uppercaseA: 65, + // `A` + uppercaseB: 66, + // `B` + uppercaseC: 67, + // `C` + uppercaseD: 68, + // `D` + uppercaseE: 69, + // `E` + uppercaseF: 70, + // `F` + uppercaseG: 71, + // `G` + uppercaseH: 72, + // `H` + uppercaseI: 73, + // `I` + uppercaseJ: 74, + // `J` + uppercaseK: 75, + // `K` + uppercaseL: 76, + // `L` + uppercaseM: 77, + // `M` + uppercaseN: 78, + // `N` + uppercaseO: 79, + // `O` + uppercaseP: 80, + // `P` + uppercaseQ: 81, + // `Q` + uppercaseR: 82, + // `R` + uppercaseS: 83, + // `S` + uppercaseT: 84, + // `T` + uppercaseU: 85, + // `U` + uppercaseV: 86, + // `V` + uppercaseW: 87, + // `W` + uppercaseX: 88, + // `X` + uppercaseY: 89, + // `Y` + uppercaseZ: 90, + // `Z` + leftSquareBracket: 91, + // `[` + backslash: 92, + // `\` + rightSquareBracket: 93, + // `]` + caret: 94, + // `^` + underscore: 95, + // `_` + graveAccent: 96, + // `` ` `` + lowercaseA: 97, + // `a` + lowercaseB: 98, + // `b` + lowercaseC: 99, + // `c` + lowercaseD: 100, + // `d` + lowercaseE: 101, + // `e` + lowercaseF: 102, + // `f` + lowercaseG: 103, + // `g` + lowercaseH: 104, + // `h` + lowercaseI: 105, + // `i` + lowercaseJ: 106, + // `j` + lowercaseK: 107, + // `k` + lowercaseL: 108, + // `l` + lowercaseM: 109, + // `m` + lowercaseN: 110, + // `n` + lowercaseO: 111, + // `o` + lowercaseP: 112, + // `p` + lowercaseQ: 113, + // `q` + lowercaseR: 114, + // `r` + lowercaseS: 115, + // `s` + lowercaseT: 116, + // `t` + lowercaseU: 117, + // `u` + lowercaseV: 118, + // `v` + lowercaseW: 119, + // `w` + lowercaseX: 120, + // `x` + lowercaseY: 121, + // `y` + lowercaseZ: 122, + // `z` + leftCurlyBrace: 123, + // `{` + verticalBar: 124, + // `|` + rightCurlyBrace: 125, + // `}` + tilde: 126, + // `~` + del: 127, + // Unicode Specials block. + byteOrderMarker: 65279, + // Unicode Specials block. + replacementCharacter: 65533 // `�` +} + +module.exports = codes diff --git a/tools/node_modules/eslint-plugin-markdown/node_modules/micromark/dist/character/markdown-line-ending-or-space.js b/tools/node_modules/eslint-plugin-markdown/node_modules/micromark/dist/character/markdown-line-ending-or-space.js new file mode 100644 index 00000000000000..d78d17d1df30c9 --- /dev/null +++ b/tools/node_modules/eslint-plugin-markdown/node_modules/micromark/dist/character/markdown-line-ending-or-space.js @@ -0,0 +1,7 @@ +'use strict' + +function markdownLineEndingOrSpace(code) { + return code < 0 || code === 32 +} + +module.exports = markdownLineEndingOrSpace diff --git a/tools/node_modules/eslint-plugin-markdown/node_modules/micromark/dist/character/markdown-line-ending.js b/tools/node_modules/eslint-plugin-markdown/node_modules/micromark/dist/character/markdown-line-ending.js new file mode 100644 index 00000000000000..5893934c321a6c --- /dev/null +++ b/tools/node_modules/eslint-plugin-markdown/node_modules/micromark/dist/character/markdown-line-ending.js @@ -0,0 +1,7 @@ +'use strict' + +function markdownLineEnding(code) { + return code < -2 +} + +module.exports = markdownLineEnding diff --git a/tools/node_modules/eslint-plugin-markdown/node_modules/micromark/dist/character/markdown-space.js b/tools/node_modules/eslint-plugin-markdown/node_modules/micromark/dist/character/markdown-space.js new file mode 100644 index 00000000000000..e1b907b3009212 --- /dev/null +++ b/tools/node_modules/eslint-plugin-markdown/node_modules/micromark/dist/character/markdown-space.js @@ -0,0 +1,7 @@ +'use strict' + +function markdownSpace(code) { + return code === -2 || code === -1 || code === 32 +} + +module.exports = markdownSpace diff --git a/tools/node_modules/eslint-plugin-markdown/node_modules/micromark/dist/character/unicode-punctuation.js b/tools/node_modules/eslint-plugin-markdown/node_modules/micromark/dist/character/unicode-punctuation.js new file mode 100644 index 00000000000000..eea51658c743c6 --- /dev/null +++ b/tools/node_modules/eslint-plugin-markdown/node_modules/micromark/dist/character/unicode-punctuation.js @@ -0,0 +1,10 @@ +'use strict' + +var unicodePunctuationRegex = require('../constant/unicode-punctuation-regex.js') +var regexCheck = require('../util/regex-check.js') + +// In fact adds to the bundle size. + +var unicodePunctuation = regexCheck(unicodePunctuationRegex) + +module.exports = unicodePunctuation diff --git a/tools/node_modules/eslint-plugin-markdown/node_modules/micromark/dist/character/unicode-whitespace.js b/tools/node_modules/eslint-plugin-markdown/node_modules/micromark/dist/character/unicode-whitespace.js new file mode 100644 index 00000000000000..b09537ea087786 --- /dev/null +++ b/tools/node_modules/eslint-plugin-markdown/node_modules/micromark/dist/character/unicode-whitespace.js @@ -0,0 +1,7 @@ +'use strict' + +var regexCheck = require('../util/regex-check.js') + +var unicodeWhitespace = regexCheck(/\s/) + +module.exports = unicodeWhitespace diff --git a/tools/node_modules/eslint-plugin-markdown/node_modules/micromark/dist/character/values.js b/tools/node_modules/eslint-plugin-markdown/node_modules/micromark/dist/character/values.js new file mode 100644 index 00000000000000..cd1794fd97342a --- /dev/null +++ b/tools/node_modules/eslint-plugin-markdown/node_modules/micromark/dist/character/values.js @@ -0,0 +1,111 @@ +'use strict' + +// This module is compiled away! +// +// While micromark works based on character codes, this module includes the +// string versions of ’em. +// The C0 block, except for LF, CR, HT, and w/ the replacement character added, +// are available here. +var values = { + ht: '\t', + lf: '\n', + cr: '\r', + space: ' ', + exclamationMark: '!', + quotationMark: '"', + numberSign: '#', + dollarSign: '$', + percentSign: '%', + ampersand: '&', + apostrophe: "'", + leftParenthesis: '(', + rightParenthesis: ')', + asterisk: '*', + plusSign: '+', + comma: ',', + dash: '-', + dot: '.', + slash: '/', + digit0: '0', + digit1: '1', + digit2: '2', + digit3: '3', + digit4: '4', + digit5: '5', + digit6: '6', + digit7: '7', + digit8: '8', + digit9: '9', + colon: ':', + semicolon: ';', + lessThan: '<', + equalsTo: '=', + greaterThan: '>', + questionMark: '?', + atSign: '@', + uppercaseA: 'A', + uppercaseB: 'B', + uppercaseC: 'C', + uppercaseD: 'D', + uppercaseE: 'E', + uppercaseF: 'F', + uppercaseG: 'G', + uppercaseH: 'H', + uppercaseI: 'I', + uppercaseJ: 'J', + uppercaseK: 'K', + uppercaseL: 'L', + uppercaseM: 'M', + uppercaseN: 'N', + uppercaseO: 'O', + uppercaseP: 'P', + uppercaseQ: 'Q', + uppercaseR: 'R', + uppercaseS: 'S', + uppercaseT: 'T', + uppercaseU: 'U', + uppercaseV: 'V', + uppercaseW: 'W', + uppercaseX: 'X', + uppercaseY: 'Y', + uppercaseZ: 'Z', + leftSquareBracket: '[', + backslash: '\\', + rightSquareBracket: ']', + caret: '^', + underscore: '_', + graveAccent: '`', + lowercaseA: 'a', + lowercaseB: 'b', + lowercaseC: 'c', + lowercaseD: 'd', + lowercaseE: 'e', + lowercaseF: 'f', + lowercaseG: 'g', + lowercaseH: 'h', + lowercaseI: 'i', + lowercaseJ: 'j', + lowercaseK: 'k', + lowercaseL: 'l', + lowercaseM: 'm', + lowercaseN: 'n', + lowercaseO: 'o', + lowercaseP: 'p', + lowercaseQ: 'q', + lowercaseR: 'r', + lowercaseS: 's', + lowercaseT: 't', + lowercaseU: 'u', + lowercaseV: 'v', + lowercaseW: 'w', + lowercaseX: 'x', + lowercaseY: 'y', + lowercaseZ: 'z', + leftCurlyBrace: '{', + verticalBar: '|', + rightCurlyBrace: '}', + tilde: '~', + replacementCharacter: '�' +} + +module.exports = values diff --git a/tools/node_modules/eslint-plugin-markdown/node_modules/micromark/dist/compile/html.js b/tools/node_modules/eslint-plugin-markdown/node_modules/micromark/dist/compile/html.js new file mode 100644 index 00000000000000..b6170ef506fd97 --- /dev/null +++ b/tools/node_modules/eslint-plugin-markdown/node_modules/micromark/dist/compile/html.js @@ -0,0 +1,787 @@ +'use strict' + +var decodeEntity = require('parse-entities/decode-entity.js') +var assign = require('../constant/assign.js') +var hasOwnProperty = require('../constant/has-own-property.js') +var combineHtmlExtensions = require('../util/combine-html-extensions.js') +var chunkedPush = require('../util/chunked-push.js') +var miniflat = require('../util/miniflat.js') +var normalizeIdentifier = require('../util/normalize-identifier.js') +var normalizeUri = require('../util/normalize-uri.js') +var safeFromInt = require('../util/safe-from-int.js') + +function _interopDefaultLegacy(e) { + return e && typeof e === 'object' && 'default' in e ? e : {default: e} +} + +var decodeEntity__default = /*#__PURE__*/ _interopDefaultLegacy(decodeEntity) + +// While micromark is a lexer/tokenizer, the common case of going from markdown +// dealt with. +// Technically, we can skip `>` and `"` in many cases, but CM includes them. + +var characterReferences = { + '"': 'quot', + '&': 'amp', + '<': 'lt', + '>': 'gt' +} // These two are allowlists of essentially safe protocols for full URLs in +// respectively the `href` (on ``) and `src` (on ``) attributes. +// They are based on what is allowed on GitHub, +// + +var protocolHref = /^(https?|ircs?|mailto|xmpp)$/i +var protocolSrc = /^https?$/i + +function compileHtml(options) { + // Configuration. + // Includes `htmlExtensions` (an array of extensions), `defaultLineEnding` (a + // preferred EOL), `allowDangerousProtocol` (whether to allow potential + // dangerous protocols), and `allowDangerousHtml` (whether to allow potential + // dangerous HTML). + var settings = options || {} // Tags is needed because according to markdown, links and emphasis and + // whatnot can exist in images, however, as HTML doesn’t allow content in + // images, the tags are ignored in the `alt` attribute, but the content + // remains. + + var tags = true // An object to track identifiers to media (URLs and titles) defined with + // definitions. + + var definitions = {} // A lot of the handlers need to capture some of the output data, modify it + // somehow, and then deal with it. + // We do that by tracking a stack of buffers, that can be opened (with + // `buffer`) and closed (with `resume`) to access them. + + var buffers = [[]] // As we can have links in images and the other way around, where the deepest + // ones are closed first, we need to track which one we’re in. + + var mediaStack = [] // Same for tightness, which is specific to lists. + // We need to track if we’re currently in a tight or loose container. + + var tightStack = [] + var defaultHandlers = { + enter: { + blockQuote: onenterblockquote, + codeFenced: onentercodefenced, + codeFencedFenceInfo: buffer, + codeFencedFenceMeta: buffer, + codeIndented: onentercodeindented, + codeText: onentercodetext, + content: onentercontent, + definition: onenterdefinition, + definitionDestinationString: onenterdefinitiondestinationstring, + definitionLabelString: buffer, + definitionTitleString: buffer, + emphasis: onenteremphasis, + htmlFlow: onenterhtmlflow, + htmlText: onenterhtml, + image: onenterimage, + label: buffer, + link: onenterlink, + listItemMarker: onenterlistitemmarker, + listItemValue: onenterlistitemvalue, + listOrdered: onenterlistordered, + listUnordered: onenterlistunordered, + paragraph: onenterparagraph, + reference: buffer, + resource: onenterresource, + resourceDestinationString: onenterresourcedestinationstring, + resourceTitleString: buffer, + setextHeading: onentersetextheading, + strong: onenterstrong + }, + exit: { + atxHeading: onexitatxheading, + atxHeadingSequence: onexitatxheadingsequence, + autolinkEmail: onexitautolinkemail, + autolinkProtocol: onexitautolinkprotocol, + blockQuote: onexitblockquote, + characterEscapeValue: onexitdata, + characterReferenceMarkerHexadecimal: onexitcharacterreferencemarker, + characterReferenceMarkerNumeric: onexitcharacterreferencemarker, + characterReferenceValue: onexitcharacterreferencevalue, + codeFenced: onexitflowcode, + codeFencedFence: onexitcodefencedfence, + codeFencedFenceInfo: onexitcodefencedfenceinfo, + codeFencedFenceMeta: resume, + codeFlowValue: onexitcodeflowvalue, + codeIndented: onexitflowcode, + codeText: onexitcodetext, + codeTextData: onexitdata, + data: onexitdata, + definition: onexitdefinition, + definitionDestinationString: onexitdefinitiondestinationstring, + definitionLabelString: onexitdefinitionlabelstring, + definitionTitleString: onexitdefinitiontitlestring, + emphasis: onexitemphasis, + hardBreakEscape: onexithardbreak, + hardBreakTrailing: onexithardbreak, + htmlFlow: onexithtml, + htmlFlowData: onexitdata, + htmlText: onexithtml, + htmlTextData: onexitdata, + image: onexitmedia, + label: onexitlabel, + labelText: onexitlabeltext, + lineEnding: onexitlineending, + link: onexitmedia, + listOrdered: onexitlistordered, + listUnordered: onexitlistunordered, + paragraph: onexitparagraph, + reference: resume, + referenceString: onexitreferencestring, + resource: resume, + resourceDestinationString: onexitresourcedestinationstring, + resourceTitleString: onexitresourcetitlestring, + setextHeading: onexitsetextheading, + setextHeadingLineSequence: onexitsetextheadinglinesequence, + setextHeadingText: onexitsetextheadingtext, + strong: onexitstrong, + thematicBreak: onexitthematicbreak + } + } // Combine the HTML extensions with the default handlers. + // An HTML extension is an object whose fields are either `enter` or `exit` + // (reflecting whether a token is entered or exited). + // The values at such objects are names of tokens mapping to handlers. + // Handlers are called, respectively when a token is opener or closed, with + // that token, and a context as `this`. + + var handlers = combineHtmlExtensions( + [defaultHandlers].concat(miniflat(settings.htmlExtensions)) + ) // Handlers do often need to keep track of some state. + // That state is provided here as a key-value store (an object). + + var data = { + tightStack: tightStack + } // The context for handlers references a couple of useful functions. + // In handlers from extensions, those can be accessed at `this`. + // For the handlers here, they can be accessed directly. + + var context = { + lineEndingIfNeeded: lineEndingIfNeeded, + options: settings, + encode: encode, + raw: raw, + tag: tag, + buffer: buffer, + resume: resume, + setData: setData, + getData: getData + } // Generally, micromark copies line endings (`'\r'`, `'\n'`, `'\r\n'`) in the + // markdown document over to the compiled HTML. + // In some cases, such as `> a`, CommonMark requires that extra line endings + // are added: `
    \n

    a

    \n
    `. + // This variable hold the default line ending when given (or `undefined`), + // and in the latter case will be updated to the first found line ending if + // there is one. + + var lineEndingStyle = settings.defaultLineEnding // Return the function that handles a slice of events. + + return compile // Deal w/ a slice of events. + // Return either the empty string if there’s nothing of note to return, or the + // result when done. + + function compile(events) { + // As definitions can come after references, we need to figure out the media + // (urls and titles) defined by them before handling the references. + // So, we do sort of what HTML does: put metadata at the start (in head), and + // then put content after (`body`). + var head = [] + var body = [] + var index + var start + var listStack + var handler + var result + index = -1 + start = 0 + listStack = [] + + while (++index < events.length) { + // Figure out the line ending style used in the document. + if ( + !lineEndingStyle && + (events[index][1].type === 'lineEnding' || + events[index][1].type === 'lineEndingBlank') + ) { + lineEndingStyle = events[index][2].sliceSerialize(events[index][1]) + } // Preprocess lists to infer whether the list is loose or not. + + if ( + events[index][1].type === 'listOrdered' || + events[index][1].type === 'listUnordered' + ) { + if (events[index][0] === 'enter') { + listStack.push(index) + } else { + prepareList(events.slice(listStack.pop(), index)) + } + } // Move definitions to the front. + + if (events[index][1].type === 'definition') { + if (events[index][0] === 'enter') { + body = chunkedPush(body, events.slice(start, index)) + start = index + } else { + head = chunkedPush(head, events.slice(start, index + 1)) + start = index + 1 + } + } + } + + head = chunkedPush(head, body) + head = chunkedPush(head, events.slice(start)) + result = head + index = -1 // Handle the start of the document, if defined. + + if (handlers.enter.null) { + handlers.enter.null.call(context) + } // Handle all events. + + while (++index < events.length) { + handler = handlers[result[index][0]] + + if (hasOwnProperty.call(handler, result[index][1].type)) { + handler[result[index][1].type].call( + assign( + { + sliceSerialize: result[index][2].sliceSerialize + }, + context + ), + result[index][1] + ) + } + } // Handle the end of the document, if defined. + + if (handlers.exit.null) { + handlers.exit.null.call(context) + } + + return buffers[0].join('') + } // Figure out whether lists are loose or not. + + function prepareList(slice) { + var length = slice.length - 1 // Skip close. + + var index = 0 // Skip open. + + var containerBalance = 0 + var loose + var atMarker + var event + + while (++index < length) { + event = slice[index] + + if (event[1]._container) { + atMarker = undefined + + if (event[0] === 'enter') { + containerBalance++ + } else { + containerBalance-- + } + } else if (event[1].type === 'listItemPrefix') { + if (event[0] === 'exit') { + atMarker = true + } + } else if (event[1].type === 'linePrefix'); + else if (event[1].type === 'lineEndingBlank') { + if (event[0] === 'enter' && !containerBalance) { + if (atMarker) { + atMarker = undefined + } else { + loose = true + } + } + } else { + atMarker = undefined + } + } + + slice[0][1]._loose = loose + } // Set data into the key-value store. + + function setData(key, value) { + data[key] = value + } // Get data from the key-value store. + + function getData(key) { + return data[key] + } // Capture some of the output data. + + function buffer() { + buffers.push([]) + } // Stop capturing and access the output data. + + function resume() { + return buffers.pop().join('') + } // Output (parts of) HTML tags. + + function tag(value) { + if (!tags) return + setData('lastWasTag', true) + buffers[buffers.length - 1].push(value) + } // Output raw data. + + function raw(value) { + setData('lastWasTag') + buffers[buffers.length - 1].push(value) + } // Output an extra line ending. + + function lineEnding() { + raw(lineEndingStyle || '\n') + } // Output an extra line ending if the previous value wasn’t EOF/EOL. + + function lineEndingIfNeeded() { + var buffer = buffers[buffers.length - 1] + var slice = buffer[buffer.length - 1] + var previous = slice ? slice.charCodeAt(slice.length - 1) : null + + if (previous === 10 || previous === 13 || previous === null) { + return + } + + lineEnding() + } // Make a value safe for injection in HTML (except w/ `ignoreEncode`). + + function encode(value) { + return getData('ignoreEncode') ? value : value.replace(/["&<>]/g, replace) + + function replace(value) { + return '&' + characterReferences[value] + ';' + } + } // Make a value safe for injection as a URL. + // This does encode unsafe characters with percent-encoding, skipping already + // encoded sequences (`normalizeUri`). + // Further unsafe characters are encoded as character references (`encode`). + // Finally, if the URL includes an unknown protocol (such as a dangerous + // example, `javascript:`), the value is ignored. + + function url(url, protocol) { + var value = encode(normalizeUri(url || '')) + var colon = value.indexOf(':') + var questionMark = value.indexOf('?') + var numberSign = value.indexOf('#') + var slash = value.indexOf('/') + + if ( + settings.allowDangerousProtocol || // If there is no protocol, it’s relative. + colon < 0 || // If the first colon is after a `?`, `#`, or `/`, it’s not a protocol. + (slash > -1 && colon > slash) || + (questionMark > -1 && colon > questionMark) || + (numberSign > -1 && colon > numberSign) || // It is a protocol, it should be allowed. + protocol.test(value.slice(0, colon)) + ) { + return value + } + + return '' + } // + // Handlers. + // + + function onenterlistordered(token) { + tightStack.push(!token._loose) + lineEndingIfNeeded() + tag('') + } else { + onexitlistitem() + } + + lineEndingIfNeeded() + tag('
  • ') + setData('expectFirstItem') // “Hack” to prevent a line ending from showing up if the item is empty. + + setData('lastWasTag') + } + + function onexitlistordered() { + onexitlistitem() + tightStack.pop() + lineEnding() + tag('') + } + + function onexitlistunordered() { + onexitlistitem() + tightStack.pop() + lineEnding() + tag('') + } + + function onexitlistitem() { + if (getData('lastWasTag') && !getData('slurpAllLineEndings')) { + lineEndingIfNeeded() + } + + tag('
  • ') + setData('slurpAllLineEndings') + } + + function onenterblockquote() { + tightStack.push(false) + lineEndingIfNeeded() + tag('
    ') + } + + function onexitblockquote() { + tightStack.pop() + lineEndingIfNeeded() + tag('
    ') + setData('slurpAllLineEndings') + } + + function onenterparagraph() { + if (!tightStack[tightStack.length - 1]) { + lineEndingIfNeeded() + tag('

    ') + } + + setData('slurpAllLineEndings') + } + + function onexitparagraph() { + if (tightStack[tightStack.length - 1]) { + setData('slurpAllLineEndings', true) + } else { + tag('

    ') + } + } + + function onentercodefenced() { + lineEndingIfNeeded() + tag('
    ')
    +      setData('fencedCodeInside', true)
    +      setData('slurpOneLineEnding', true)
    +    }
    +
    +    setData('fencesCount', getData('fencesCount') + 1)
    +  }
    +
    +  function onentercodeindented() {
    +    lineEndingIfNeeded()
    +    tag('
    ')
    +  }
    +
    +  function onexitflowcode() {
    +    // Send an extra line feed if we saw data.
    +    if (getData('flowCodeSeenData')) lineEndingIfNeeded()
    +    tag('
    ') + if (getData('fencesCount') < 2) lineEndingIfNeeded() + setData('flowCodeSeenData') + setData('fencesCount') + setData('slurpOneLineEnding') + } + + function onenterimage() { + mediaStack.push({ + image: true + }) + tags = undefined // Disallow tags. + } + + function onenterlink() { + mediaStack.push({}) + } + + function onexitlabeltext(token) { + mediaStack[mediaStack.length - 1].labelId = this.sliceSerialize(token) + } + + function onexitlabel() { + mediaStack[mediaStack.length - 1].label = resume() + } + + function onexitreferencestring(token) { + mediaStack[mediaStack.length - 1].referenceId = this.sliceSerialize(token) + } + + function onenterresource() { + buffer() // We can have line endings in the resource, ignore them. + + mediaStack[mediaStack.length - 1].destination = '' + } + + function onenterresourcedestinationstring() { + buffer() // Ignore encoding the result, as we’ll first percent encode the url and + // encode manually after. + + setData('ignoreEncode', true) + } + + function onexitresourcedestinationstring() { + mediaStack[mediaStack.length - 1].destination = resume() + setData('ignoreEncode') + } + + function onexitresourcetitlestring() { + mediaStack[mediaStack.length - 1].title = resume() + } + + function onexitmedia() { + var index = mediaStack.length - 1 // Skip current. + + var media = mediaStack[index] + var context = + media.destination === undefined + ? definitions[normalizeIdentifier(media.referenceId || media.labelId)] + : media + tags = true + + while (index--) { + if (mediaStack[index].image) { + tags = undefined + break + } + } + + if (media.image) { + tag('')
+      raw(media.label)
+      tag('') + } else { + tag('>') + raw(media.label) + tag('
    ') + } + + mediaStack.pop() + } + + function onenterdefinition() { + buffer() + mediaStack.push({}) + } + + function onexitdefinitionlabelstring(token) { + // Discard label, use the source content instead. + resume() + mediaStack[mediaStack.length - 1].labelId = this.sliceSerialize(token) + } + + function onenterdefinitiondestinationstring() { + buffer() + setData('ignoreEncode', true) + } + + function onexitdefinitiondestinationstring() { + mediaStack[mediaStack.length - 1].destination = resume() + setData('ignoreEncode') + } + + function onexitdefinitiontitlestring() { + mediaStack[mediaStack.length - 1].title = resume() + } + + function onexitdefinition() { + var id = normalizeIdentifier(mediaStack[mediaStack.length - 1].labelId) + resume() + + if (!hasOwnProperty.call(definitions, id)) { + definitions[id] = mediaStack[mediaStack.length - 1] + } + + mediaStack.pop() + } + + function onentercontent() { + setData('slurpAllLineEndings', true) + } + + function onexitatxheadingsequence(token) { + // Exit for further sequences. + if (getData('headingRank')) return + setData('headingRank', this.sliceSerialize(token).length) + lineEndingIfNeeded() + tag('') + } + + function onentersetextheading() { + buffer() + setData('slurpAllLineEndings') + } + + function onexitsetextheadingtext() { + setData('slurpAllLineEndings', true) + } + + function onexitatxheading() { + tag('') + setData('headingRank') + } + + function onexitsetextheadinglinesequence(token) { + setData( + 'headingRank', + this.sliceSerialize(token).charCodeAt(0) === 61 ? 1 : 2 + ) + } + + function onexitsetextheading() { + var value = resume() + lineEndingIfNeeded() + tag('') + raw(value) + tag('') + setData('slurpAllLineEndings') + setData('headingRank') + } + + function onexitdata(token) { + raw(encode(this.sliceSerialize(token))) + } + + function onexitlineending(token) { + if (getData('slurpAllLineEndings')) { + return + } + + if (getData('slurpOneLineEnding')) { + setData('slurpOneLineEnding') + return + } + + if (getData('inCodeText')) { + raw(' ') + return + } + + raw(encode(this.sliceSerialize(token))) + } + + function onexitcodeflowvalue(token) { + raw(encode(this.sliceSerialize(token))) + setData('flowCodeSeenData', true) + } + + function onexithardbreak() { + tag('
    ') + } + + function onenterhtmlflow() { + lineEndingIfNeeded() + onenterhtml() + } + + function onexithtml() { + setData('ignoreEncode') + } + + function onenterhtml() { + if (settings.allowDangerousHtml) { + setData('ignoreEncode', true) + } + } + + function onenteremphasis() { + tag('') + } + + function onenterstrong() { + tag('') + } + + function onentercodetext() { + setData('inCodeText', true) + tag('') + } + + function onexitcodetext() { + setData('inCodeText') + tag('') + } + + function onexitemphasis() { + tag('') + } + + function onexitstrong() { + tag('') + } + + function onexitthematicbreak() { + lineEndingIfNeeded() + tag('
    ') + } + + function onexitcharacterreferencemarker(token) { + setData('characterReferenceType', token.type) + } + + function onexitcharacterreferencevalue(token) { + var value = this.sliceSerialize(token) + value = getData('characterReferenceType') + ? safeFromInt( + value, + getData('characterReferenceType') === + 'characterReferenceMarkerNumeric' + ? 10 + : 16 + ) + : decodeEntity__default['default'](value) + raw(encode(value)) + setData('characterReferenceType') + } + + function onexitautolinkprotocol(token) { + var uri = this.sliceSerialize(token) + tag('') + raw(encode(uri)) + tag('') + } + + function onexitautolinkemail(token) { + var uri = this.sliceSerialize(token) + tag('') + raw(encode(uri)) + tag('') + } +} + +module.exports = compileHtml diff --git a/tools/node_modules/eslint-plugin-markdown/node_modules/micromark/dist/constant/assign.js b/tools/node_modules/eslint-plugin-markdown/node_modules/micromark/dist/constant/assign.js new file mode 100644 index 00000000000000..b6ae48a0903c93 --- /dev/null +++ b/tools/node_modules/eslint-plugin-markdown/node_modules/micromark/dist/constant/assign.js @@ -0,0 +1,5 @@ +'use strict' + +var assign = Object.assign + +module.exports = assign diff --git a/tools/node_modules/eslint-plugin-markdown/node_modules/micromark/dist/constant/constants.js b/tools/node_modules/eslint-plugin-markdown/node_modules/micromark/dist/constant/constants.js new file mode 100644 index 00000000000000..88772494881ca7 --- /dev/null +++ b/tools/node_modules/eslint-plugin-markdown/node_modules/micromark/dist/constant/constants.js @@ -0,0 +1,71 @@ +'use strict' + +// This module is compiled away! +// +// Parsing markdown comes with a couple of constants, such as minimum or maximum +// sizes of certain sequences. +// Additionally, there are a couple symbols used inside micromark. +// These are all defined here, but compiled away by scripts. +var constants = { + attentionSideBefore: 1, + // Symbol to mark an attention sequence as before content: `*a` + attentionSideAfter: 2, + // Symbol to mark an attention sequence as after content: `a*` + atxHeadingOpeningFenceSizeMax: 6, + // 6 number signs is fine, 7 isn’t. + autolinkDomainSizeMax: 63, + // 63 characters is fine, 64 is too many. + autolinkSchemeSizeMax: 32, + // 32 characters is fine, 33 is too many. + cdataOpeningString: 'CDATA[', + // And preceded by `` + htmlComment: 2, + // Symbol for `` + htmlInstruction: 3, + // Symbol for `` + htmlDeclaration: 4, + // Symbol for `` + htmlCdata: 5, + // Symbol for `` + htmlBasic: 6, + // Symbol for `` + htmlRawSizeMax: 8, + // Length of `textarea`. + linkResourceDestinationBalanceMax: 3, + // See: + linkReferenceSizeMax: 999, + // See: + listItemValueSizeMax: 10, + // See: + numericBaseDecimal: 10, + numericBaseHexadecimal: 0x10, + tabSize: 4, + // Tabs have a hard-coded size of 4, per CommonMark. + thematicBreakMarkerCountMin: 3, + // At least 3 asterisks, dashes, or underscores are needed. + v8MaxSafeChunkSize: 10000 // V8 (and potentially others) have problems injecting giant arrays into other arrays, hence we operate in chunks. +} + +module.exports = constants diff --git a/tools/node_modules/eslint-plugin-markdown/node_modules/micromark/dist/constant/from-char-code.js b/tools/node_modules/eslint-plugin-markdown/node_modules/micromark/dist/constant/from-char-code.js new file mode 100644 index 00000000000000..232eac74053d18 --- /dev/null +++ b/tools/node_modules/eslint-plugin-markdown/node_modules/micromark/dist/constant/from-char-code.js @@ -0,0 +1,5 @@ +'use strict' + +var fromCharCode = String.fromCharCode + +module.exports = fromCharCode diff --git a/tools/node_modules/eslint-plugin-markdown/node_modules/micromark/dist/constant/has-own-property.js b/tools/node_modules/eslint-plugin-markdown/node_modules/micromark/dist/constant/has-own-property.js new file mode 100644 index 00000000000000..aa9197cd2593d1 --- /dev/null +++ b/tools/node_modules/eslint-plugin-markdown/node_modules/micromark/dist/constant/has-own-property.js @@ -0,0 +1,5 @@ +'use strict' + +var own = {}.hasOwnProperty + +module.exports = own diff --git a/tools/node_modules/eslint-plugin-markdown/node_modules/micromark/dist/constant/html-block-names.js b/tools/node_modules/eslint-plugin-markdown/node_modules/micromark/dist/constant/html-block-names.js new file mode 100644 index 00000000000000..9b5ada73f0671a --- /dev/null +++ b/tools/node_modules/eslint-plugin-markdown/node_modules/micromark/dist/constant/html-block-names.js @@ -0,0 +1,69 @@ +'use strict' + +// This module is copied from . +var basics = [ + 'address', + 'article', + 'aside', + 'base', + 'basefont', + 'blockquote', + 'body', + 'caption', + 'center', + 'col', + 'colgroup', + 'dd', + 'details', + 'dialog', + 'dir', + 'div', + 'dl', + 'dt', + 'fieldset', + 'figcaption', + 'figure', + 'footer', + 'form', + 'frame', + 'frameset', + 'h1', + 'h2', + 'h3', + 'h4', + 'h5', + 'h6', + 'head', + 'header', + 'hr', + 'html', + 'iframe', + 'legend', + 'li', + 'link', + 'main', + 'menu', + 'menuitem', + 'nav', + 'noframes', + 'ol', + 'optgroup', + 'option', + 'p', + 'param', + 'section', + 'source', + 'summary', + 'table', + 'tbody', + 'td', + 'tfoot', + 'th', + 'thead', + 'title', + 'tr', + 'track', + 'ul' +] + +module.exports = basics diff --git a/tools/node_modules/eslint-plugin-markdown/node_modules/micromark/dist/constant/html-raw-names.js b/tools/node_modules/eslint-plugin-markdown/node_modules/micromark/dist/constant/html-raw-names.js new file mode 100644 index 00000000000000..c22a3954291f82 --- /dev/null +++ b/tools/node_modules/eslint-plugin-markdown/node_modules/micromark/dist/constant/html-raw-names.js @@ -0,0 +1,6 @@ +'use strict' + +// This module is copied from . +var raws = ['pre', 'script', 'style', 'textarea'] + +module.exports = raws diff --git a/tools/node_modules/eslint-plugin-markdown/node_modules/micromark/dist/constant/splice.js b/tools/node_modules/eslint-plugin-markdown/node_modules/micromark/dist/constant/splice.js new file mode 100644 index 00000000000000..8917210ac71670 --- /dev/null +++ b/tools/node_modules/eslint-plugin-markdown/node_modules/micromark/dist/constant/splice.js @@ -0,0 +1,5 @@ +'use strict' + +var splice = [].splice + +module.exports = splice diff --git a/tools/node_modules/eslint-plugin-markdown/node_modules/micromark/dist/constant/types.js b/tools/node_modules/eslint-plugin-markdown/node_modules/micromark/dist/constant/types.js new file mode 100644 index 00000000000000..b4e8787fb94154 --- /dev/null +++ b/tools/node_modules/eslint-plugin-markdown/node_modules/micromark/dist/constant/types.js @@ -0,0 +1,357 @@ +'use strict' + +// This module is compiled away! +// +// Here is the list of all types of tokens exposed by micromark, with a short +// explanation of what they include and where they are found. +// In picking names, generally, the rule is to be as explicit as possible +// instead of reusing names. +// For example, there is a `definitionDestination` and a `resourceDestination`, +// instead of one shared name. +var types = { + // Generic type for data, such as in a title, a destination, etc. + data: 'data', + // Generic type for syntactic whitespace (tabs, virtual spaces, spaces). + // Such as, between a fenced code fence and an info string. + whitespace: 'whitespace', + // Generic type for line endings (line feed, carriage return, carriage return + + // line feed). + lineEnding: 'lineEnding', + // A line ending, but ending a blank line. + lineEndingBlank: 'lineEndingBlank', + // Generic type for whitespace (tabs, virtual spaces, spaces) at the start of a + // line. + linePrefix: 'linePrefix', + // Generic type for whitespace (tabs, virtual spaces, spaces) at the end of a + // line. + lineSuffix: 'lineSuffix', + // Whole ATX heading: + // + // ```markdown + // # + // ## Alpha + // ### Bravo ### + // ``` + // + // Includes `atxHeadingSequence`, `whitespace`, `atxHeadingText`. + atxHeading: 'atxHeading', + // Sequence of number signs in an ATX heading (`###`). + atxHeadingSequence: 'atxHeadingSequence', + // Content in an ATX heading (`alpha`). + // Includes text. + atxHeadingText: 'atxHeadingText', + // Whole autolink (`` or ``) + // Includes `autolinkMarker` and `autolinkProtocol` or `autolinkEmail`. + autolink: 'autolink', + // Email autolink w/o markers (`admin@example.com`) + autolinkEmail: 'autolinkEmail', + // Marker around an `autolinkProtocol` or `autolinkEmail` (`<` or `>`). + autolinkMarker: 'autolinkMarker', + // Protocol autolink w/o markers (`https://example.com`) + autolinkProtocol: 'autolinkProtocol', + // A whole character escape (`\-`). + // Includes `escapeMarker` and `characterEscapeValue`. + characterEscape: 'characterEscape', + // The escaped character (`-`). + characterEscapeValue: 'characterEscapeValue', + // A whole character reference (`&`, `≠`, or `𝌆`). + // Includes `characterReferenceMarker`, an optional + // `characterReferenceMarkerNumeric`, in which case an optional + // `characterReferenceMarkerHexadecimal`, and a `characterReferenceValue`. + characterReference: 'characterReference', + // The start or end marker (`&` or `;`). + characterReferenceMarker: 'characterReferenceMarker', + // Mark reference as numeric (`#`). + characterReferenceMarkerNumeric: 'characterReferenceMarkerNumeric', + // Mark reference as numeric (`x` or `X`). + characterReferenceMarkerHexadecimal: 'characterReferenceMarkerHexadecimal', + // Value of character reference w/o markers (`amp`, `8800`, or `1D306`). + characterReferenceValue: 'characterReferenceValue', + // Whole fenced code: + // + // ````markdown + // ```js + // alert(1) + // ``` + // ```` + codeFenced: 'codeFenced', + // A fenced code fence, including whitespace, sequence, info, and meta + // (` ```js `). + codeFencedFence: 'codeFencedFence', + // Sequence of grave accent or tilde characters (` ``` `) in a fence. + codeFencedFenceSequence: 'codeFencedFenceSequence', + // Info word (`js`) in a fence. + // Includes string. + codeFencedFenceInfo: 'codeFencedFenceInfo', + // Meta words (`highlight="1"`) in a fence. + // Includes string. + codeFencedFenceMeta: 'codeFencedFenceMeta', + // A line of code. + codeFlowValue: 'codeFlowValue', + // Whole indented code: + // + // ```markdown + // alert(1) + // ``` + // + // Includes `lineEnding`, `linePrefix`, and `codeFlowValue`. + codeIndented: 'codeIndented', + // A text code (``` `alpha` ```). + // Includes `codeTextSequence`, `codeTextData`, `lineEnding`, and can include + // `codeTextPadding`. + codeText: 'codeText', + codeTextData: 'codeTextData', + // A space or line ending right after or before a tick. + codeTextPadding: 'codeTextPadding', + // A text code fence (` `` `). + codeTextSequence: 'codeTextSequence', + // Whole content: + // + // ```markdown + // [a]: b + // c + // = + // d + // ``` + // + // Includes `paragraph` and `definition`. + content: 'content', + // Whole definition: + // + // ```markdown + // [micromark]: https://github.com/micromark/micromark + // ``` + // + // Includes `definitionLabel`, `definitionMarker`, `whitespace`, + // `definitionDestination`, and optionally `lineEnding` and `definitionTitle`. + definition: 'definition', + // Destination of a definition (`https://github.com/micromark/micromark` or + // ``). + // Includes `definitionDestinationLiteral` or `definitionDestinationRaw`. + definitionDestination: 'definitionDestination', + // Enclosed destination of a definition + // (``). + // Includes `definitionDestinationLiteralMarker` and optionally + // `definitionDestinationString`. + definitionDestinationLiteral: 'definitionDestinationLiteral', + // Markers of an enclosed definition destination (`<` or `>`). + definitionDestinationLiteralMarker: 'definitionDestinationLiteralMarker', + // Unenclosed destination of a definition + // (`https://github.com/micromark/micromark`). + // Includes `definitionDestinationString`. + definitionDestinationRaw: 'definitionDestinationRaw', + // Text in an destination (`https://github.com/micromark/micromark`). + // Includes string. + definitionDestinationString: 'definitionDestinationString', + // Label of a definition (`[micromark]`). + // Includes `definitionLabelMarker` and `definitionLabelString`. + definitionLabel: 'definitionLabel', + // Markers of a definition label (`[` or `]`). + definitionLabelMarker: 'definitionLabelMarker', + // Value of a definition label (`micromark`). + // Includes string. + definitionLabelString: 'definitionLabelString', + // Marker between a label and a destination (`:`). + definitionMarker: 'definitionMarker', + // Title of a definition (`"x"`, `'y'`, or `(z)`). + // Includes `definitionTitleMarker` and optionally `definitionTitleString`. + definitionTitle: 'definitionTitle', + // Marker around a title of a definition (`"`, `'`, `(`, or `)`). + definitionTitleMarker: 'definitionTitleMarker', + // Data without markers in a title (`z`). + // Includes string. + definitionTitleString: 'definitionTitleString', + // Emphasis (`*alpha*`). + // Includes `emphasisSequence` and `emphasisText`. + emphasis: 'emphasis', + // Sequence of emphasis markers (`*` or `_`). + emphasisSequence: 'emphasisSequence', + // Emphasis text (`alpha`). + // Includes text. + emphasisText: 'emphasisText', + // The character escape marker (`\`). + escapeMarker: 'escapeMarker', + // A hard break created with a backslash (`\\n`). + // Includes `escapeMarker` (does not include the line ending) + hardBreakEscape: 'hardBreakEscape', + // A hard break created with trailing spaces (` \n`). + // Does not include the line ending. + hardBreakTrailing: 'hardBreakTrailing', + // Flow HTML: + // + // ```markdown + //
    b`). + // Includes `lineEnding`, `htmlTextData`. + htmlText: 'htmlText', + htmlTextData: 'htmlTextData', + // Whole image (`![alpha](bravo)`, `![alpha][bravo]`, `![alpha][]`, or + // `![alpha]`). + // Includes `label` and an optional `resource` or `reference`. + image: 'image', + // Whole link label (`[*alpha*]`). + // Includes `labelLink` or `labelImage`, `labelText`, and `labelEnd`. + label: 'label', + // Text in an label (`*alpha*`). + // Includes text. + labelText: 'labelText', + // Start a link label (`[`). + // Includes a `labelMarker`. + labelLink: 'labelLink', + // Start an image label (`![`). + // Includes `labelImageMarker` and `labelMarker`. + labelImage: 'labelImage', + // Marker of a label (`[` or `]`). + labelMarker: 'labelMarker', + // Marker to start an image (`!`). + labelImageMarker: 'labelImageMarker', + // End a label (`]`). + // Includes `labelMarker`. + labelEnd: 'labelEnd', + // Whole link (`[alpha](bravo)`, `[alpha][bravo]`, `[alpha][]`, or `[alpha]`). + // Includes `label` and an optional `resource` or `reference`. + link: 'link', + // Whole paragraph: + // + // ```markdown + // alpha + // bravo. + // ``` + // + // Includes text. + paragraph: 'paragraph', + // A reference (`[alpha]` or `[]`). + // Includes `referenceMarker` and an optional `referenceString`. + reference: 'reference', + // A reference marker (`[` or `]`). + referenceMarker: 'referenceMarker', + // Reference text (`alpha`). + // Includes string. + referenceString: 'referenceString', + // A resource (`(https://example.com "alpha")`). + // Includes `resourceMarker`, an optional `resourceDestination` with an optional + // `whitespace` and `resourceTitle`. + resource: 'resource', + // A resource destination (`https://example.com`). + // Includes `resourceDestinationLiteral` or `resourceDestinationRaw`. + resourceDestination: 'resourceDestination', + // A literal resource destination (``). + // Includes `resourceDestinationLiteralMarker` and optionally + // `resourceDestinationString`. + resourceDestinationLiteral: 'resourceDestinationLiteral', + // A resource destination marker (`<` or `>`). + resourceDestinationLiteralMarker: 'resourceDestinationLiteralMarker', + // A raw resource destination (`https://example.com`). + // Includes `resourceDestinationString`. + resourceDestinationRaw: 'resourceDestinationRaw', + // Resource destination text (`https://example.com`). + // Includes string. + resourceDestinationString: 'resourceDestinationString', + // A resource marker (`(` or `)`). + resourceMarker: 'resourceMarker', + // A resource title (`"alpha"`, `'alpha'`, or `(alpha)`). + // Includes `resourceTitleMarker` and optionally `resourceTitleString`. + resourceTitle: 'resourceTitle', + // A resource title marker (`"`, `'`, `(`, or `)`). + resourceTitleMarker: 'resourceTitleMarker', + // Resource destination title (`alpha`). + // Includes string. + resourceTitleString: 'resourceTitleString', + // Whole setext heading: + // + // ```markdown + // alpha + // bravo + // ===== + // ``` + // + // Includes `setextHeadingText`, `lineEnding`, `linePrefix`, and + // `setextHeadingLine`. + setextHeading: 'setextHeading', + // Content in a setext heading (`alpha\nbravo`). + // Includes text. + setextHeadingText: 'setextHeadingText', + // Underline in a setext heading, including whitespace suffix (`==`). + // Includes `setextHeadingLineSequence`. + setextHeadingLine: 'setextHeadingLine', + // Sequence of equals or dash characters in underline in a setext heading (`-`). + setextHeadingLineSequence: 'setextHeadingLineSequence', + // Strong (`**alpha**`). + // Includes `strongSequence` and `strongText`. + strong: 'strong', + // Sequence of strong markers (`**` or `__`). + strongSequence: 'strongSequence', + // Strong text (`alpha`). + // Includes text. + strongText: 'strongText', + // Whole thematic break: + // + // ```markdown + // * * * + // ``` + // + // Includes `thematicBreakSequence` and `whitespace`. + thematicBreak: 'thematicBreak', + // A sequence of one or more thematic break markers (`***`). + thematicBreakSequence: 'thematicBreakSequence', + // Whole block quote: + // + // ```markdown + // > a + // > + // > b + // ``` + // + // Includes `blockQuotePrefix` and flow. + blockQuote: 'blockQuote', + // The `>` or `> ` of a block quote. + blockQuotePrefix: 'blockQuotePrefix', + // The `>` of a block quote prefix. + blockQuoteMarker: 'blockQuoteMarker', + // The optional ` ` of a block quote prefix. + blockQuotePrefixWhitespace: 'blockQuotePrefixWhitespace', + // Whole unordered list: + // + // ```markdown + // - a + // b + // ``` + // + // Includes `listItemPrefix`, flow, and optionally `listItemIndent` on further + // lines. + listOrdered: 'listOrdered', + // Whole ordered list: + // + // ```markdown + // 1. a + // b + // ``` + // + // Includes `listItemPrefix`, flow, and optionally `listItemIndent` on further + // lines. + listUnordered: 'listUnordered', + // The indent of further list item lines. + listItemIndent: 'listItemIndent', + // A marker, as in, `*`, `+`, `-`, `.`, or `)`. + listItemMarker: 'listItemMarker', + // The thing that starts a list item, such as `1. `. + // Includes `listItemValue` if ordered, `listItemMarker`, and + // `listItemPrefixWhitespace` (unless followed by a line ending). + listItemPrefix: 'listItemPrefix', + // The whitespace after a marker. + listItemPrefixWhitespace: 'listItemPrefixWhitespace', + // The numerical value of an ordered item. + listItemValue: 'listItemValue', + // Internal types used for subtokenizers, compiled away + chunkContent: 'chunkContent', + chunkFlow: 'chunkFlow', + chunkText: 'chunkText', + chunkString: 'chunkString' +} + +module.exports = types diff --git a/tools/node_modules/eslint-plugin-markdown/node_modules/micromark/dist/constant/unicode-punctuation-regex.js b/tools/node_modules/eslint-plugin-markdown/node_modules/micromark/dist/constant/unicode-punctuation-regex.js new file mode 100644 index 00000000000000..6d25ee4bae5ef2 --- /dev/null +++ b/tools/node_modules/eslint-plugin-markdown/node_modules/micromark/dist/constant/unicode-punctuation-regex.js @@ -0,0 +1,11 @@ +'use strict' + +// This module is generated by `script/`. +// +// CommonMark handles attention (emphasis, strong) markers based on what comes +// before or after them. +// One such difference is if those characters are Unicode punctuation. +// This script is generated from the Unicode data. +var unicodePunctuation = /[!-\/:-@\[-`\{-~\xA1\xA7\xAB\xB6\xB7\xBB\xBF\u037E\u0387\u055A-\u055F\u0589\u058A\u05BE\u05C0\u05C3\u05C6\u05F3\u05F4\u0609\u060A\u060C\u060D\u061B\u061E\u061F\u066A-\u066D\u06D4\u0700-\u070D\u07F7-\u07F9\u0830-\u083E\u085E\u0964\u0965\u0970\u09FD\u0A76\u0AF0\u0C77\u0C84\u0DF4\u0E4F\u0E5A\u0E5B\u0F04-\u0F12\u0F14\u0F3A-\u0F3D\u0F85\u0FD0-\u0FD4\u0FD9\u0FDA\u104A-\u104F\u10FB\u1360-\u1368\u1400\u166E\u169B\u169C\u16EB-\u16ED\u1735\u1736\u17D4-\u17D6\u17D8-\u17DA\u1800-\u180A\u1944\u1945\u1A1E\u1A1F\u1AA0-\u1AA6\u1AA8-\u1AAD\u1B5A-\u1B60\u1BFC-\u1BFF\u1C3B-\u1C3F\u1C7E\u1C7F\u1CC0-\u1CC7\u1CD3\u2010-\u2027\u2030-\u2043\u2045-\u2051\u2053-\u205E\u207D\u207E\u208D\u208E\u2308-\u230B\u2329\u232A\u2768-\u2775\u27C5\u27C6\u27E6-\u27EF\u2983-\u2998\u29D8-\u29DB\u29FC\u29FD\u2CF9-\u2CFC\u2CFE\u2CFF\u2D70\u2E00-\u2E2E\u2E30-\u2E4F\u2E52\u3001-\u3003\u3008-\u3011\u3014-\u301F\u3030\u303D\u30A0\u30FB\uA4FE\uA4FF\uA60D-\uA60F\uA673\uA67E\uA6F2-\uA6F7\uA874-\uA877\uA8CE\uA8CF\uA8F8-\uA8FA\uA8FC\uA92E\uA92F\uA95F\uA9C1-\uA9CD\uA9DE\uA9DF\uAA5C-\uAA5F\uAADE\uAADF\uAAF0\uAAF1\uABEB\uFD3E\uFD3F\uFE10-\uFE19\uFE30-\uFE52\uFE54-\uFE61\uFE63\uFE68\uFE6A\uFE6B\uFF01-\uFF03\uFF05-\uFF0A\uFF0C-\uFF0F\uFF1A\uFF1B\uFF1F\uFF20\uFF3B-\uFF3D\uFF3F\uFF5B\uFF5D\uFF5F-\uFF65]/ + +module.exports = unicodePunctuation diff --git a/tools/node_modules/eslint-plugin-markdown/node_modules/micromark/dist/constructs.js b/tools/node_modules/eslint-plugin-markdown/node_modules/micromark/dist/constructs.js new file mode 100644 index 00000000000000..adcc84a44b390a --- /dev/null +++ b/tools/node_modules/eslint-plugin-markdown/node_modules/micromark/dist/constructs.js @@ -0,0 +1,127 @@ +'use strict' + +Object.defineProperty(exports, '__esModule', {value: true}) + +var text$1 = require('./initialize/text.js') +var attention = require('./tokenize/attention.js') +var autolink = require('./tokenize/autolink.js') +var blockQuote = require('./tokenize/block-quote.js') +var characterEscape = require('./tokenize/character-escape.js') +var characterReference = require('./tokenize/character-reference.js') +var codeFenced = require('./tokenize/code-fenced.js') +var codeIndented = require('./tokenize/code-indented.js') +var codeText = require('./tokenize/code-text.js') +var definition = require('./tokenize/definition.js') +var hardBreakEscape = require('./tokenize/hard-break-escape.js') +var headingAtx = require('./tokenize/heading-atx.js') +var htmlFlow = require('./tokenize/html-flow.js') +var htmlText = require('./tokenize/html-text.js') +var labelEnd = require('./tokenize/label-end.js') +var labelStartImage = require('./tokenize/label-start-image.js') +var labelStartLink = require('./tokenize/label-start-link.js') +var lineEnding = require('./tokenize/line-ending.js') +var list = require('./tokenize/list.js') +var setextUnderline = require('./tokenize/setext-underline.js') +var thematicBreak = require('./tokenize/thematic-break.js') + +var document = { + 42: list, + // Asterisk + 43: list, + // Plus sign + 45: list, + // Dash + 48: list, + // 0 + 49: list, + // 1 + 50: list, + // 2 + 51: list, + // 3 + 52: list, + // 4 + 53: list, + // 5 + 54: list, + // 6 + 55: list, + // 7 + 56: list, + // 8 + 57: list, + // 9 + 62: blockQuote // Greater than +} +var contentInitial = { + 91: definition // Left square bracket +} +var flowInitial = { + '-2': codeIndented, + // Horizontal tab + '-1': codeIndented, + // Virtual space + 32: codeIndented // Space +} +var flow = { + 35: headingAtx, + // Number sign + 42: thematicBreak, + // Asterisk + 45: [setextUnderline, thematicBreak], + // Dash + 60: htmlFlow, + // Less than + 61: setextUnderline, + // Equals to + 95: thematicBreak, + // Underscore + 96: codeFenced, + // Grave accent + 126: codeFenced // Tilde +} +var string = { + 38: characterReference, + // Ampersand + 92: characterEscape // Backslash +} +var text = { + '-5': lineEnding, + // Carriage return + '-4': lineEnding, + // Line feed + '-3': lineEnding, + // Carriage return + line feed + 33: labelStartImage, + // Exclamation mark + 38: characterReference, + // Ampersand + 42: attention, + // Asterisk + 60: [autolink, htmlText], + // Less than + 91: labelStartLink, + // Left square bracket + 92: [hardBreakEscape, characterEscape], + // Backslash + 93: labelEnd, + // Right square bracket + 95: attention, + // Underscore + 96: codeText // Grave accent +} +var insideSpan = { + null: [attention, text$1.resolver] +} +var disable = { + null: [] +} + +exports.contentInitial = contentInitial +exports.disable = disable +exports.document = document +exports.flow = flow +exports.flowInitial = flowInitial +exports.insideSpan = insideSpan +exports.string = string +exports.text = text diff --git a/tools/node_modules/eslint-plugin-markdown/node_modules/micromark/dist/index.js b/tools/node_modules/eslint-plugin-markdown/node_modules/micromark/dist/index.js new file mode 100644 index 00000000000000..8b289a298f114b --- /dev/null +++ b/tools/node_modules/eslint-plugin-markdown/node_modules/micromark/dist/index.js @@ -0,0 +1,21 @@ +'use strict' + +var html = require('./compile/html.js') +var parse = require('./parse.js') +var postprocess = require('./postprocess.js') +var preprocess = require('./preprocess.js') + +function buffer(value, encoding, options) { + if (typeof encoding !== 'string') { + options = encoding + encoding = undefined + } + + return html(options)( + postprocess( + parse(options).document().write(preprocess()(value, encoding, true)) + ) + ) +} + +module.exports = buffer diff --git a/tools/node_modules/eslint-plugin-markdown/node_modules/micromark/dist/initialize/content.js b/tools/node_modules/eslint-plugin-markdown/node_modules/micromark/dist/initialize/content.js new file mode 100644 index 00000000000000..546aafece686a0 --- /dev/null +++ b/tools/node_modules/eslint-plugin-markdown/node_modules/micromark/dist/initialize/content.js @@ -0,0 +1,69 @@ +'use strict' + +Object.defineProperty(exports, '__esModule', {value: true}) + +var markdownLineEnding = require('../character/markdown-line-ending.js') +var factorySpace = require('../tokenize/factory-space.js') + +var tokenize = initializeContent + +function initializeContent(effects) { + var contentStart = effects.attempt( + this.parser.constructs.contentInitial, + afterContentStartConstruct, + paragraphInitial + ) + var previous + return contentStart + + function afterContentStartConstruct(code) { + if (code === null) { + effects.consume(code) + return + } + + effects.enter('lineEnding') + effects.consume(code) + effects.exit('lineEnding') + return factorySpace(effects, contentStart, 'linePrefix') + } + + function paragraphInitial(code) { + effects.enter('paragraph') + return lineStart(code) + } + + function lineStart(code) { + var token = effects.enter('chunkText', { + contentType: 'text', + previous: previous + }) + + if (previous) { + previous.next = token + } + + previous = token + return data(code) + } + + function data(code) { + if (code === null) { + effects.exit('chunkText') + effects.exit('paragraph') + effects.consume(code) + return + } + + if (markdownLineEnding(code)) { + effects.consume(code) + effects.exit('chunkText') + return lineStart + } // Data. + + effects.consume(code) + return data + } +} + +exports.tokenize = tokenize diff --git a/tools/node_modules/eslint-plugin-markdown/node_modules/micromark/dist/initialize/document.js b/tools/node_modules/eslint-plugin-markdown/node_modules/micromark/dist/initialize/document.js new file mode 100644 index 00000000000000..fa357fc3d4aff5 --- /dev/null +++ b/tools/node_modules/eslint-plugin-markdown/node_modules/micromark/dist/initialize/document.js @@ -0,0 +1,237 @@ +'use strict' + +Object.defineProperty(exports, '__esModule', {value: true}) + +var markdownLineEnding = require('../character/markdown-line-ending.js') +var factorySpace = require('../tokenize/factory-space.js') +var partialBlankLine = require('../tokenize/partial-blank-line.js') + +var tokenize = initializeDocument +var containerConstruct = { + tokenize: tokenizeContainer +} +var lazyFlowConstruct = { + tokenize: tokenizeLazyFlow +} + +function initializeDocument(effects) { + var self = this + var stack = [] + var continued = 0 + var inspectConstruct = { + tokenize: tokenizeInspect, + partial: true + } + var inspectResult + var childFlow + var childToken + return start + + function start(code) { + if (continued < stack.length) { + self.containerState = stack[continued][1] + return effects.attempt( + stack[continued][0].continuation, + documentContinue, + documentContinued + )(code) + } + + return documentContinued(code) + } + + function documentContinue(code) { + continued++ + return start(code) + } + + function documentContinued(code) { + // If we’re in a concrete construct (such as when expecting another line of + // HTML, or we resulted in lazy content), we can immediately start flow. + if (inspectResult && inspectResult.flowContinue) { + return flowStart(code) + } + + self.interrupt = + childFlow && + childFlow.currentConstruct && + childFlow.currentConstruct.interruptible + self.containerState = {} + return effects.attempt( + containerConstruct, + containerContinue, + flowStart + )(code) + } + + function containerContinue(code) { + stack.push([self.currentConstruct, self.containerState]) + self.containerState = undefined + return documentContinued(code) + } + + function flowStart(code) { + if (code === null) { + exitContainers(0, true) + effects.consume(code) + return + } + + childFlow = childFlow || self.parser.flow(self.now()) + effects.enter('chunkFlow', { + contentType: 'flow', + previous: childToken, + _tokenizer: childFlow + }) + return flowContinue(code) + } + + function flowContinue(code) { + if (code === null) { + continueFlow(effects.exit('chunkFlow')) + return flowStart(code) + } + + if (markdownLineEnding(code)) { + effects.consume(code) + continueFlow(effects.exit('chunkFlow')) + return effects.check(inspectConstruct, documentAfterPeek) + } + + effects.consume(code) + return flowContinue + } + + function documentAfterPeek(code) { + exitContainers( + inspectResult.continued, + inspectResult && inspectResult.flowEnd + ) + continued = 0 + return start(code) + } + + function continueFlow(token) { + if (childToken) childToken.next = token + childToken = token + childFlow.lazy = inspectResult && inspectResult.lazy + childFlow.defineSkip(token.start) + childFlow.write(self.sliceStream(token)) + } + + function exitContainers(size, end) { + var index = stack.length // Close the flow. + + if (childFlow && end) { + childFlow.write([null]) + childToken = childFlow = undefined + } // Exit open containers. + + while (index-- > size) { + self.containerState = stack[index][1] + stack[index][0].exit.call(self, effects) + } + + stack.length = size + } + + function tokenizeInspect(effects, ok) { + var subcontinued = 0 + inspectResult = {} + return inspectStart + + function inspectStart(code) { + if (subcontinued < stack.length) { + self.containerState = stack[subcontinued][1] + return effects.attempt( + stack[subcontinued][0].continuation, + inspectContinue, + inspectLess + )(code) + } // If we’re continued but in a concrete flow, we can’t have more + // containers. + + if (childFlow.currentConstruct && childFlow.currentConstruct.concrete) { + inspectResult.flowContinue = true + return inspectDone(code) + } + + self.interrupt = + childFlow.currentConstruct && childFlow.currentConstruct.interruptible + self.containerState = {} + return effects.attempt( + containerConstruct, + inspectFlowEnd, + inspectDone + )(code) + } + + function inspectContinue(code) { + subcontinued++ + return self.containerState._closeFlow + ? inspectFlowEnd(code) + : inspectStart(code) + } + + function inspectLess(code) { + if (childFlow.currentConstruct && childFlow.currentConstruct.lazy) { + // Maybe another container? + self.containerState = {} + return effects.attempt( + containerConstruct, + inspectFlowEnd, // Maybe flow, or a blank line? + effects.attempt( + lazyFlowConstruct, + inspectFlowEnd, + effects.check(partialBlankLine, inspectFlowEnd, inspectLazy) + ) + )(code) + } // Otherwise we’re interrupting. + + return inspectFlowEnd(code) + } + + function inspectLazy(code) { + // Act as if all containers are continued. + subcontinued = stack.length + inspectResult.lazy = true + inspectResult.flowContinue = true + return inspectDone(code) + } // We’re done with flow if we have more containers, or an interruption. + + function inspectFlowEnd(code) { + inspectResult.flowEnd = true + return inspectDone(code) + } + + function inspectDone(code) { + inspectResult.continued = subcontinued + self.interrupt = self.containerState = undefined + return ok(code) + } + } +} + +function tokenizeContainer(effects, ok, nok) { + return factorySpace( + effects, + effects.attempt(this.parser.constructs.document, ok, nok), + 'linePrefix', + this.parser.constructs.disable.null.indexOf('codeIndented') > -1 + ? undefined + : 4 + ) +} + +function tokenizeLazyFlow(effects, ok, nok) { + return factorySpace( + effects, + effects.lazy(this.parser.constructs.flow, ok, nok), + 'linePrefix', + this.parser.constructs.disable.null.indexOf('codeIndented') > -1 + ? undefined + : 4 + ) +} + +exports.tokenize = tokenize diff --git a/tools/node_modules/eslint-plugin-markdown/node_modules/micromark/dist/initialize/flow.js b/tools/node_modules/eslint-plugin-markdown/node_modules/micromark/dist/initialize/flow.js new file mode 100644 index 00000000000000..0b7813c8927fcd --- /dev/null +++ b/tools/node_modules/eslint-plugin-markdown/node_modules/micromark/dist/initialize/flow.js @@ -0,0 +1,60 @@ +'use strict' + +Object.defineProperty(exports, '__esModule', {value: true}) + +var content = require('../tokenize/content.js') +var factorySpace = require('../tokenize/factory-space.js') +var partialBlankLine = require('../tokenize/partial-blank-line.js') + +var tokenize = initializeFlow + +function initializeFlow(effects) { + var self = this + var initial = effects.attempt( + // Try to parse a blank line. + partialBlankLine, + atBlankEnding, // Try to parse initial flow (essentially, only code). + effects.attempt( + this.parser.constructs.flowInitial, + afterConstruct, + factorySpace( + effects, + effects.attempt( + this.parser.constructs.flow, + afterConstruct, + effects.attempt(content, afterConstruct) + ), + 'linePrefix' + ) + ) + ) + return initial + + function atBlankEnding(code) { + if (code === null) { + effects.consume(code) + return + } + + effects.enter('lineEndingBlank') + effects.consume(code) + effects.exit('lineEndingBlank') + self.currentConstruct = undefined + return initial + } + + function afterConstruct(code) { + if (code === null) { + effects.consume(code) + return + } + + effects.enter('lineEnding') + effects.consume(code) + effects.exit('lineEnding') + self.currentConstruct = undefined + return initial + } +} + +exports.tokenize = tokenize diff --git a/tools/node_modules/eslint-plugin-markdown/node_modules/micromark/dist/initialize/text.js b/tools/node_modules/eslint-plugin-markdown/node_modules/micromark/dist/initialize/text.js new file mode 100644 index 00000000000000..d0d460f4c0e860 --- /dev/null +++ b/tools/node_modules/eslint-plugin-markdown/node_modules/micromark/dist/initialize/text.js @@ -0,0 +1,201 @@ +'use strict' + +Object.defineProperty(exports, '__esModule', {value: true}) + +var assign = require('../constant/assign.js') +var shallow = require('../util/shallow.js') + +var text = initializeFactory('text') +var string = initializeFactory('string') +var resolver = { + resolveAll: createResolver() +} + +function initializeFactory(field) { + return { + tokenize: initializeText, + resolveAll: createResolver( + field === 'text' ? resolveAllLineSuffixes : undefined + ) + } + + function initializeText(effects) { + var self = this + var constructs = this.parser.constructs[field] + var text = effects.attempt(constructs, start, notText) + return start + + function start(code) { + return atBreak(code) ? text(code) : notText(code) + } + + function notText(code) { + if (code === null) { + effects.consume(code) + return + } + + effects.enter('data') + effects.consume(code) + return data + } + + function data(code) { + if (atBreak(code)) { + effects.exit('data') + return text(code) + } // Data. + + effects.consume(code) + return data + } + + function atBreak(code) { + var list = constructs[code] + var index = -1 + + if (code === null) { + return true + } + + if (list) { + while (++index < list.length) { + if ( + !list[index].previous || + list[index].previous.call(self, self.previous) + ) { + return true + } + } + } + } + } +} + +function createResolver(extraResolver) { + return resolveAllText + + function resolveAllText(events, context) { + var index = -1 + var enter // A rather boring computation (to merge adjacent `data` events) which + // improves mm performance by 29%. + + while (++index <= events.length) { + if (enter === undefined) { + if (events[index] && events[index][1].type === 'data') { + enter = index + index++ + } + } else if (!events[index] || events[index][1].type !== 'data') { + // Don’t do anything if there is one data token. + if (index !== enter + 2) { + events[enter][1].end = events[index - 1][1].end + events.splice(enter + 2, index - enter - 2) + index = enter + 2 + } + + enter = undefined + } + } + + return extraResolver ? extraResolver(events, context) : events + } +} // A rather ugly set of instructions which again looks at chunks in the input +// stream. +// The reason to do this here is that it is *much* faster to parse in reverse. +// And that we can’t hook into `null` to split the line suffix before an EOF. +// To do: figure out if we can make this into a clean utility, or even in core. +// As it will be useful for GFMs literal autolink extension (and maybe even +// tables?) + +function resolveAllLineSuffixes(events, context) { + var eventIndex = -1 + var chunks + var data + var chunk + var index + var bufferIndex + var size + var tabs + var token + + while (++eventIndex <= events.length) { + if ( + (eventIndex === events.length || + events[eventIndex][1].type === 'lineEnding') && + events[eventIndex - 1][1].type === 'data' + ) { + data = events[eventIndex - 1][1] + chunks = context.sliceStream(data) + index = chunks.length + bufferIndex = -1 + size = 0 + tabs = undefined + + while (index--) { + chunk = chunks[index] + + if (typeof chunk === 'string') { + bufferIndex = chunk.length + + while (chunk.charCodeAt(bufferIndex - 1) === 32) { + size++ + bufferIndex-- + } + + if (bufferIndex) break + bufferIndex = -1 + } // Number + else if (chunk === -2) { + tabs = true + size++ + } else if (chunk === -1); + else { + // Replacement character, exit. + index++ + break + } + } + + if (size) { + token = { + type: + eventIndex === events.length || tabs || size < 2 + ? 'lineSuffix' + : 'hardBreakTrailing', + start: { + line: data.end.line, + column: data.end.column - size, + offset: data.end.offset - size, + _index: data.start._index + index, + _bufferIndex: index + ? bufferIndex + : data.start._bufferIndex + bufferIndex + }, + end: shallow(data.end) + } + data.end = shallow(token.start) + + if (data.start.offset === data.end.offset) { + assign(data, token) + } else { + events.splice( + eventIndex, + 0, + ['enter', token, context], + ['exit', token, context] + ) + eventIndex += 2 + } + } + + eventIndex++ + } + } + + return events +} + +exports.resolver = resolver +exports.string = string +exports.text = text diff --git a/tools/node_modules/eslint-plugin-markdown/node_modules/micromark/dist/parse.js b/tools/node_modules/eslint-plugin-markdown/node_modules/micromark/dist/parse.js new file mode 100644 index 00000000000000..9482300adce474 --- /dev/null +++ b/tools/node_modules/eslint-plugin-markdown/node_modules/micromark/dist/parse.js @@ -0,0 +1,36 @@ +'use strict' + +var content = require('./initialize/content.js') +var document = require('./initialize/document.js') +var flow = require('./initialize/flow.js') +var text = require('./initialize/text.js') +var combineExtensions = require('./util/combine-extensions.js') +var createTokenizer = require('./util/create-tokenizer.js') +var miniflat = require('./util/miniflat.js') +var constructs = require('./constructs.js') + +function parse(options) { + var settings = options || {} + var parser = { + defined: [], + constructs: combineExtensions( + [constructs].concat(miniflat(settings.extensions)) + ), + content: create(content), + document: create(document), + flow: create(flow), + string: create(text.string), + text: create(text.text) + } + return parser + + function create(initializer) { + return creator + + function creator(from) { + return createTokenizer(parser, initializer, from) + } + } +} + +module.exports = parse diff --git a/tools/node_modules/eslint-plugin-markdown/node_modules/micromark/dist/postprocess.js b/tools/node_modules/eslint-plugin-markdown/node_modules/micromark/dist/postprocess.js new file mode 100644 index 00000000000000..842f8ce8bfc64d --- /dev/null +++ b/tools/node_modules/eslint-plugin-markdown/node_modules/micromark/dist/postprocess.js @@ -0,0 +1,13 @@ +'use strict' + +var subtokenize = require('./util/subtokenize.js') + +function postprocess(events) { + while (!subtokenize(events)) { + // Empty + } + + return events +} + +module.exports = postprocess diff --git a/tools/node_modules/eslint-plugin-markdown/node_modules/micromark/dist/preprocess.js b/tools/node_modules/eslint-plugin-markdown/node_modules/micromark/dist/preprocess.js new file mode 100644 index 00000000000000..b7186454e72bde --- /dev/null +++ b/tools/node_modules/eslint-plugin-markdown/node_modules/micromark/dist/preprocess.js @@ -0,0 +1,87 @@ +'use strict' + +var search = /[\0\t\n\r]/g + +function preprocess() { + var start = true + var column = 1 + var buffer = '' + var atCarriageReturn + return preprocessor + + function preprocessor(value, encoding, end) { + var chunks = [] + var match + var next + var startPosition + var endPosition + var code + value = buffer + value.toString(encoding) + startPosition = 0 + buffer = '' + + if (start) { + if (value.charCodeAt(0) === 65279) { + startPosition++ + } + + start = undefined + } + + while (startPosition < value.length) { + search.lastIndex = startPosition + match = search.exec(value) + endPosition = match ? match.index : value.length + code = value.charCodeAt(endPosition) + + if (!match) { + buffer = value.slice(startPosition) + break + } + + if (code === 10 && startPosition === endPosition && atCarriageReturn) { + chunks.push(-3) + atCarriageReturn = undefined + } else { + if (atCarriageReturn) { + chunks.push(-5) + atCarriageReturn = undefined + } + + if (startPosition < endPosition) { + chunks.push(value.slice(startPosition, endPosition)) + column += endPosition - startPosition + } + + if (code === 0) { + chunks.push(65533) + column++ + } else if (code === 9) { + next = Math.ceil(column / 4) * 4 + chunks.push(-2) + + while (column++ < next) chunks.push(-1) + } else if (code === 10) { + chunks.push(-4) + column = 1 + } // Must be carriage return. + else { + atCarriageReturn = true + column = 1 + } + } + + startPosition = endPosition + 1 + } + + if (end) { + if (atCarriageReturn) chunks.push(-5) + if (buffer) chunks.push(buffer) + chunks.push(null) + } + + return chunks + } +} + +module.exports = preprocess diff --git a/tools/node_modules/eslint-plugin-markdown/node_modules/micromark/dist/stream.js b/tools/node_modules/eslint-plugin-markdown/node_modules/micromark/dist/stream.js new file mode 100644 index 00000000000000..c26d4d3b5f14f9 --- /dev/null +++ b/tools/node_modules/eslint-plugin-markdown/node_modules/micromark/dist/stream.js @@ -0,0 +1,103 @@ +'use strict' + +var events = require('events') +var html = require('./compile/html.js') +var parse = require('./parse.js') +var postprocess = require('./postprocess.js') +var preprocess = require('./preprocess.js') + +function stream(options) { + var preprocess$1 = preprocess() + var tokenize = parse(options).document().write + var compile = html(options) + var emitter = new events.EventEmitter() + var ended + emitter.writable = emitter.readable = true + emitter.write = write + emitter.end = end + emitter.pipe = pipe + return emitter // Write a chunk into memory. + + function write(chunk, encoding, callback) { + if (typeof encoding === 'function') { + callback = encoding + encoding = undefined + } + + if (ended) { + throw new Error('Did not expect `write` after `end`') + } + + tokenize(preprocess$1(chunk || '', encoding)) + + if (callback) { + callback() + } // Signal succesful write. + + return true + } // End the writing. + // Passes all arguments to a final `write`. + + function end(chunk, encoding, callback) { + write(chunk, encoding, callback) + emitter.emit( + 'data', + compile(postprocess(tokenize(preprocess$1('', encoding, true)))) + ) + emitter.emit('end') + ended = true + return true + } // Pipe the processor into a writable stream. + // Basically `Stream#pipe`, but inlined and simplified to keep the bundled + // size down. + // See: . + + function pipe(dest, options) { + emitter.on('data', ondata) + emitter.on('error', onerror) + emitter.on('end', cleanup) + emitter.on('close', cleanup) // If the `end` option is not supplied, `dest.end()` will be called when the + // `end` or `close` events are received. + + if (!dest._isStdio && (!options || options.end !== false)) { + emitter.on('end', onend) + } + + dest.on('error', onerror) + dest.on('close', cleanup) + dest.emit('pipe', emitter) + return dest // End destination. + + function onend() { + if (dest.end) { + dest.end() + } + } // Handle data. + + function ondata(chunk) { + if (dest.writable) { + dest.write(chunk) + } + } // Clean listeners. + + function cleanup() { + emitter.removeListener('data', ondata) + emitter.removeListener('end', onend) + emitter.removeListener('error', onerror) + emitter.removeListener('end', cleanup) + emitter.removeListener('close', cleanup) + dest.removeListener('error', onerror) + dest.removeListener('close', cleanup) + } // Close dangling pipes and handle unheard errors. + + function onerror(error) { + cleanup() + + if (!emitter.listenerCount('error')) { + throw error // Unhandled stream error in pipe. + } + } + } +} + +module.exports = stream diff --git a/tools/node_modules/eslint-plugin-markdown/node_modules/micromark/dist/tokenize/attention.js b/tools/node_modules/eslint-plugin-markdown/node_modules/micromark/dist/tokenize/attention.js new file mode 100644 index 00000000000000..b34be6f204f4ea --- /dev/null +++ b/tools/node_modules/eslint-plugin-markdown/node_modules/micromark/dist/tokenize/attention.js @@ -0,0 +1,186 @@ +'use strict' + +var chunkedPush = require('../util/chunked-push.js') +var chunkedSplice = require('../util/chunked-splice.js') +var classifyCharacter = require('../util/classify-character.js') +var movePoint = require('../util/move-point.js') +var resolveAll = require('../util/resolve-all.js') +var shallow = require('../util/shallow.js') + +var attention = { + name: 'attention', + tokenize: tokenizeAttention, + resolveAll: resolveAllAttention +} + +function resolveAllAttention(events, context) { + var index = -1 + var open + var group + var text + var openingSequence + var closingSequence + var use + var nextEvents + var offset // Walk through all events. + // + // Note: performance of this is fine on an mb of normal markdown, but it’s + // a bottleneck for malicious stuff. + + while (++index < events.length) { + // Find a token that can close. + if ( + events[index][0] === 'enter' && + events[index][1].type === 'attentionSequence' && + events[index][1]._close + ) { + open = index // Now walk back to find an opener. + + while (open--) { + // Find a token that can open the closer. + if ( + events[open][0] === 'exit' && + events[open][1].type === 'attentionSequence' && + events[open][1]._open && // If the markers are the same: + context.sliceSerialize(events[open][1]).charCodeAt(0) === + context.sliceSerialize(events[index][1]).charCodeAt(0) + ) { + // If the opening can close or the closing can open, + // and the close size *is not* a multiple of three, + // but the sum of the opening and closing size *is* multiple of three, + // then don’t match. + if ( + (events[open][1]._close || events[index][1]._open) && + (events[index][1].end.offset - events[index][1].start.offset) % 3 && + !( + (events[open][1].end.offset - + events[open][1].start.offset + + events[index][1].end.offset - + events[index][1].start.offset) % + 3 + ) + ) { + continue + } // Number of markers to use from the sequence. + + use = + events[open][1].end.offset - events[open][1].start.offset > 1 && + events[index][1].end.offset - events[index][1].start.offset > 1 + ? 2 + : 1 + openingSequence = { + type: use > 1 ? 'strongSequence' : 'emphasisSequence', + start: movePoint(shallow(events[open][1].end), -use), + end: shallow(events[open][1].end) + } + closingSequence = { + type: use > 1 ? 'strongSequence' : 'emphasisSequence', + start: shallow(events[index][1].start), + end: movePoint(shallow(events[index][1].start), use) + } + text = { + type: use > 1 ? 'strongText' : 'emphasisText', + start: shallow(events[open][1].end), + end: shallow(events[index][1].start) + } + group = { + type: use > 1 ? 'strong' : 'emphasis', + start: shallow(openingSequence.start), + end: shallow(closingSequence.end) + } + events[open][1].end = shallow(openingSequence.start) + events[index][1].start = shallow(closingSequence.end) + nextEvents = [] // If there are more markers in the opening, add them before. + + if (events[open][1].end.offset - events[open][1].start.offset) { + nextEvents = chunkedPush(nextEvents, [ + ['enter', events[open][1], context], + ['exit', events[open][1], context] + ]) + } // Opening. + + nextEvents = chunkedPush(nextEvents, [ + ['enter', group, context], + ['enter', openingSequence, context], + ['exit', openingSequence, context], + ['enter', text, context] + ]) // Between. + + nextEvents = chunkedPush( + nextEvents, + resolveAll( + context.parser.constructs.insideSpan.null, + events.slice(open + 1, index), + context + ) + ) // Closing. + + nextEvents = chunkedPush(nextEvents, [ + ['exit', text, context], + ['enter', closingSequence, context], + ['exit', closingSequence, context], + ['exit', group, context] + ]) // If there are more markers in the closing, add them after. + + if (events[index][1].end.offset - events[index][1].start.offset) { + offset = 2 + nextEvents = chunkedPush(nextEvents, [ + ['enter', events[index][1], context], + ['exit', events[index][1], context] + ]) + } else { + offset = 0 + } + + chunkedSplice(events, open - 1, index - open + 3, nextEvents) + index = open + nextEvents.length - offset - 2 + break + } + } + } + } // Remove remaining sequences. + + index = -1 + + while (++index < events.length) { + if (events[index][1].type === 'attentionSequence') { + events[index][1].type = 'data' + } + } + + return events +} + +function tokenizeAttention(effects, ok) { + var before = classifyCharacter(this.previous) + var marker + return start + + function start(code) { + effects.enter('attentionSequence') + marker = code + return sequence(code) + } + + function sequence(code) { + var token + var after + var open + var close + + if (code === marker) { + effects.consume(code) + return sequence + } + + token = effects.exit('attentionSequence') + after = classifyCharacter(code) + open = !after || (after === 2 && before) + close = !before || (before === 2 && after) + token._open = marker === 42 ? open : open && (before || !close) + token._close = marker === 42 ? close : close && (after || !open) + return ok(code) + } +} + +module.exports = attention diff --git a/tools/node_modules/eslint-plugin-markdown/node_modules/micromark/dist/tokenize/autolink.js b/tools/node_modules/eslint-plugin-markdown/node_modules/micromark/dist/tokenize/autolink.js new file mode 100644 index 00000000000000..d235d5f46d821e --- /dev/null +++ b/tools/node_modules/eslint-plugin-markdown/node_modules/micromark/dist/tokenize/autolink.js @@ -0,0 +1,125 @@ +'use strict' + +var asciiAlpha = require('../character/ascii-alpha.js') +var asciiAlphanumeric = require('../character/ascii-alphanumeric.js') +var asciiAtext = require('../character/ascii-atext.js') +var asciiControl = require('../character/ascii-control.js') + +var autolink = { + name: 'autolink', + tokenize: tokenizeAutolink +} + +function tokenizeAutolink(effects, ok, nok) { + var size = 1 + return start + + function start(code) { + effects.enter('autolink') + effects.enter('autolinkMarker') + effects.consume(code) + effects.exit('autolinkMarker') + effects.enter('autolinkProtocol') + return open + } + + function open(code) { + if (asciiAlpha(code)) { + effects.consume(code) + return schemeOrEmailAtext + } + + return asciiAtext(code) ? emailAtext(code) : nok(code) + } + + function schemeOrEmailAtext(code) { + return code === 43 || code === 45 || code === 46 || asciiAlphanumeric(code) + ? schemeInsideOrEmailAtext(code) + : emailAtext(code) + } + + function schemeInsideOrEmailAtext(code) { + if (code === 58) { + effects.consume(code) + return urlInside + } + + if ( + (code === 43 || code === 45 || code === 46 || asciiAlphanumeric(code)) && + size++ < 32 + ) { + effects.consume(code) + return schemeInsideOrEmailAtext + } + + return emailAtext(code) + } + + function urlInside(code) { + if (code === 62) { + effects.exit('autolinkProtocol') + return end(code) + } + + if (code === 32 || code === 60 || asciiControl(code)) { + return nok(code) + } + + effects.consume(code) + return urlInside + } + + function emailAtext(code) { + if (code === 64) { + effects.consume(code) + size = 0 + return emailAtSignOrDot + } + + if (asciiAtext(code)) { + effects.consume(code) + return emailAtext + } + + return nok(code) + } + + function emailAtSignOrDot(code) { + return asciiAlphanumeric(code) ? emailLabel(code) : nok(code) + } + + function emailLabel(code) { + if (code === 46) { + effects.consume(code) + size = 0 + return emailAtSignOrDot + } + + if (code === 62) { + // Exit, then change the type. + effects.exit('autolinkProtocol').type = 'autolinkEmail' + return end(code) + } + + return emailValue(code) + } + + function emailValue(code) { + if ((code === 45 || asciiAlphanumeric(code)) && size++ < 63) { + effects.consume(code) + return code === 45 ? emailValue : emailLabel + } + + return nok(code) + } + + function end(code) { + effects.enter('autolinkMarker') + effects.consume(code) + effects.exit('autolinkMarker') + effects.exit('autolink') + return ok + } +} + +module.exports = autolink diff --git a/tools/node_modules/eslint-plugin-markdown/node_modules/micromark/dist/tokenize/block-quote.js b/tools/node_modules/eslint-plugin-markdown/node_modules/micromark/dist/tokenize/block-quote.js new file mode 100644 index 00000000000000..b3090ca23892d3 --- /dev/null +++ b/tools/node_modules/eslint-plugin-markdown/node_modules/micromark/dist/tokenize/block-quote.js @@ -0,0 +1,67 @@ +'use strict' + +var markdownSpace = require('../character/markdown-space.js') +var factorySpace = require('./factory-space.js') + +var blockQuote = { + name: 'blockQuote', + tokenize: tokenizeBlockQuoteStart, + continuation: { + tokenize: tokenizeBlockQuoteContinuation + }, + exit: exit +} + +function tokenizeBlockQuoteStart(effects, ok, nok) { + var self = this + return start + + function start(code) { + if (code === 62) { + if (!self.containerState.open) { + effects.enter('blockQuote', { + _container: true + }) + self.containerState.open = true + } + + effects.enter('blockQuotePrefix') + effects.enter('blockQuoteMarker') + effects.consume(code) + effects.exit('blockQuoteMarker') + return after + } + + return nok(code) + } + + function after(code) { + if (markdownSpace(code)) { + effects.enter('blockQuotePrefixWhitespace') + effects.consume(code) + effects.exit('blockQuotePrefixWhitespace') + effects.exit('blockQuotePrefix') + return ok + } + + effects.exit('blockQuotePrefix') + return ok(code) + } +} + +function tokenizeBlockQuoteContinuation(effects, ok, nok) { + return factorySpace( + effects, + effects.attempt(blockQuote, ok, nok), + 'linePrefix', + this.parser.constructs.disable.null.indexOf('codeIndented') > -1 + ? undefined + : 4 + ) +} + +function exit(effects) { + effects.exit('blockQuote') +} + +module.exports = blockQuote diff --git a/tools/node_modules/eslint-plugin-markdown/node_modules/micromark/dist/tokenize/character-escape.js b/tools/node_modules/eslint-plugin-markdown/node_modules/micromark/dist/tokenize/character-escape.js new file mode 100644 index 00000000000000..dcad7353cd01ad --- /dev/null +++ b/tools/node_modules/eslint-plugin-markdown/node_modules/micromark/dist/tokenize/character-escape.js @@ -0,0 +1,34 @@ +'use strict' + +var asciiPunctuation = require('../character/ascii-punctuation.js') + +var characterEscape = { + name: 'characterEscape', + tokenize: tokenizeCharacterEscape +} + +function tokenizeCharacterEscape(effects, ok, nok) { + return start + + function start(code) { + effects.enter('characterEscape') + effects.enter('escapeMarker') + effects.consume(code) + effects.exit('escapeMarker') + return open + } + + function open(code) { + if (asciiPunctuation(code)) { + effects.enter('characterEscapeValue') + effects.consume(code) + effects.exit('characterEscapeValue') + effects.exit('characterEscape') + return ok + } + + return nok(code) + } +} + +module.exports = characterEscape diff --git a/tools/node_modules/eslint-plugin-markdown/node_modules/micromark/dist/tokenize/character-reference.js b/tools/node_modules/eslint-plugin-markdown/node_modules/micromark/dist/tokenize/character-reference.js new file mode 100644 index 00000000000000..101027dbde4120 --- /dev/null +++ b/tools/node_modules/eslint-plugin-markdown/node_modules/micromark/dist/tokenize/character-reference.js @@ -0,0 +1,94 @@ +'use strict' + +var decodeEntity = require('parse-entities/decode-entity.js') +var asciiAlphanumeric = require('../character/ascii-alphanumeric.js') +var asciiDigit = require('../character/ascii-digit.js') +var asciiHexDigit = require('../character/ascii-hex-digit.js') + +function _interopDefaultLegacy(e) { + return e && typeof e === 'object' && 'default' in e ? e : {default: e} +} + +var decodeEntity__default = /*#__PURE__*/ _interopDefaultLegacy(decodeEntity) + +var characterReference = { + name: 'characterReference', + tokenize: tokenizeCharacterReference +} + +function tokenizeCharacterReference(effects, ok, nok) { + var self = this + var size = 0 + var max + var test + return start + + function start(code) { + effects.enter('characterReference') + effects.enter('characterReferenceMarker') + effects.consume(code) + effects.exit('characterReferenceMarker') + return open + } + + function open(code) { + if (code === 35) { + effects.enter('characterReferenceMarkerNumeric') + effects.consume(code) + effects.exit('characterReferenceMarkerNumeric') + return numeric + } + + effects.enter('characterReferenceValue') + max = 31 + test = asciiAlphanumeric + return value(code) + } + + function numeric(code) { + if (code === 88 || code === 120) { + effects.enter('characterReferenceMarkerHexadecimal') + effects.consume(code) + effects.exit('characterReferenceMarkerHexadecimal') + effects.enter('characterReferenceValue') + max = 6 + test = asciiHexDigit + return value + } + + effects.enter('characterReferenceValue') + max = 7 + test = asciiDigit + return value(code) + } + + function value(code) { + var token + + if (code === 59 && size) { + token = effects.exit('characterReferenceValue') + + if ( + test === asciiAlphanumeric && + !decodeEntity__default['default'](self.sliceSerialize(token)) + ) { + return nok(code) + } + + effects.enter('characterReferenceMarker') + effects.consume(code) + effects.exit('characterReferenceMarker') + effects.exit('characterReference') + return ok + } + + if (test(code) && size++ < max) { + effects.consume(code) + return value + } + + return nok(code) + } +} + +module.exports = characterReference diff --git a/tools/node_modules/eslint-plugin-markdown/node_modules/micromark/dist/tokenize/code-fenced.js b/tools/node_modules/eslint-plugin-markdown/node_modules/micromark/dist/tokenize/code-fenced.js new file mode 100644 index 00000000000000..16f8894704a385 --- /dev/null +++ b/tools/node_modules/eslint-plugin-markdown/node_modules/micromark/dist/tokenize/code-fenced.js @@ -0,0 +1,176 @@ +'use strict' + +var markdownLineEnding = require('../character/markdown-line-ending.js') +var markdownLineEndingOrSpace = require('../character/markdown-line-ending-or-space.js') +var prefixSize = require('../util/prefix-size.js') +var factorySpace = require('./factory-space.js') + +var codeFenced = { + name: 'codeFenced', + tokenize: tokenizeCodeFenced, + concrete: true +} + +function tokenizeCodeFenced(effects, ok, nok) { + var self = this + var closingFenceConstruct = { + tokenize: tokenizeClosingFence, + partial: true + } + var initialPrefix = prefixSize(this.events, 'linePrefix') + var sizeOpen = 0 + var marker + return start + + function start(code) { + effects.enter('codeFenced') + effects.enter('codeFencedFence') + effects.enter('codeFencedFenceSequence') + marker = code + return sequenceOpen(code) + } + + function sequenceOpen(code) { + if (code === marker) { + effects.consume(code) + sizeOpen++ + return sequenceOpen + } + + effects.exit('codeFencedFenceSequence') + return sizeOpen < 3 + ? nok(code) + : factorySpace(effects, infoOpen, 'whitespace')(code) + } + + function infoOpen(code) { + if (code === null || markdownLineEnding(code)) { + return openAfter(code) + } + + effects.enter('codeFencedFenceInfo') + effects.enter('chunkString', { + contentType: 'string' + }) + return info(code) + } + + function info(code) { + if (code === null || markdownLineEndingOrSpace(code)) { + effects.exit('chunkString') + effects.exit('codeFencedFenceInfo') + return factorySpace(effects, infoAfter, 'whitespace')(code) + } + + if (code === 96 && code === marker) return nok(code) + effects.consume(code) + return info + } + + function infoAfter(code) { + if (code === null || markdownLineEnding(code)) { + return openAfter(code) + } + + effects.enter('codeFencedFenceMeta') + effects.enter('chunkString', { + contentType: 'string' + }) + return meta(code) + } + + function meta(code) { + if (code === null || markdownLineEnding(code)) { + effects.exit('chunkString') + effects.exit('codeFencedFenceMeta') + return openAfter(code) + } + + if (code === 96 && code === marker) return nok(code) + effects.consume(code) + return meta + } + + function openAfter(code) { + effects.exit('codeFencedFence') + return self.interrupt ? ok(code) : content(code) + } + + function content(code) { + if (code === null) { + return after(code) + } + + if (markdownLineEnding(code)) { + effects.enter('lineEnding') + effects.consume(code) + effects.exit('lineEnding') + return effects.attempt( + closingFenceConstruct, + after, + initialPrefix + ? factorySpace(effects, content, 'linePrefix', initialPrefix + 1) + : content + ) + } + + effects.enter('codeFlowValue') + return contentContinue(code) + } + + function contentContinue(code) { + if (code === null || markdownLineEnding(code)) { + effects.exit('codeFlowValue') + return content(code) + } + + effects.consume(code) + return contentContinue + } + + function after(code) { + effects.exit('codeFenced') + return ok(code) + } + + function tokenizeClosingFence(effects, ok, nok) { + var size = 0 + return factorySpace( + effects, + closingSequenceStart, + 'linePrefix', + this.parser.constructs.disable.null.indexOf('codeIndented') > -1 + ? undefined + : 4 + ) + + function closingSequenceStart(code) { + effects.enter('codeFencedFence') + effects.enter('codeFencedFenceSequence') + return closingSequence(code) + } + + function closingSequence(code) { + if (code === marker) { + effects.consume(code) + size++ + return closingSequence + } + + if (size < sizeOpen) return nok(code) + effects.exit('codeFencedFenceSequence') + return factorySpace(effects, closingSequenceEnd, 'whitespace')(code) + } + + function closingSequenceEnd(code) { + if (code === null || markdownLineEnding(code)) { + effects.exit('codeFencedFence') + return ok(code) + } + + return nok(code) + } + } +} + +module.exports = codeFenced diff --git a/tools/node_modules/eslint-plugin-markdown/node_modules/micromark/dist/tokenize/code-indented.js b/tools/node_modules/eslint-plugin-markdown/node_modules/micromark/dist/tokenize/code-indented.js new file mode 100644 index 00000000000000..604f094dbc7a38 --- /dev/null +++ b/tools/node_modules/eslint-plugin-markdown/node_modules/micromark/dist/tokenize/code-indented.js @@ -0,0 +1,72 @@ +'use strict' + +var markdownLineEnding = require('../character/markdown-line-ending.js') +var chunkedSplice = require('../util/chunked-splice.js') +var prefixSize = require('../util/prefix-size.js') +var factorySpace = require('./factory-space.js') + +var codeIndented = { + name: 'codeIndented', + tokenize: tokenizeCodeIndented, + resolve: resolveCodeIndented +} +var indentedContentConstruct = { + tokenize: tokenizeIndentedContent, + partial: true +} + +function resolveCodeIndented(events, context) { + var code = { + type: 'codeIndented', + start: events[0][1].start, + end: events[events.length - 1][1].end + } + chunkedSplice(events, 0, 0, [['enter', code, context]]) + chunkedSplice(events, events.length, 0, [['exit', code, context]]) + return events +} + +function tokenizeCodeIndented(effects, ok, nok) { + return effects.attempt(indentedContentConstruct, afterPrefix, nok) + + function afterPrefix(code) { + if (code === null) { + return ok(code) + } + + if (markdownLineEnding(code)) { + return effects.attempt(indentedContentConstruct, afterPrefix, ok)(code) + } + + effects.enter('codeFlowValue') + return content(code) + } + + function content(code) { + if (code === null || markdownLineEnding(code)) { + effects.exit('codeFlowValue') + return afterPrefix(code) + } + + effects.consume(code) + return content + } +} + +function tokenizeIndentedContent(effects, ok, nok) { + var self = this + return factorySpace(effects, afterPrefix, 'linePrefix', 4 + 1) + + function afterPrefix(code) { + if (markdownLineEnding(code)) { + effects.enter('lineEnding') + effects.consume(code) + effects.exit('lineEnding') + return factorySpace(effects, afterPrefix, 'linePrefix', 4 + 1) + } + + return prefixSize(self.events, 'linePrefix') < 4 ? nok(code) : ok(code) + } +} + +module.exports = codeIndented diff --git a/tools/node_modules/eslint-plugin-markdown/node_modules/micromark/dist/tokenize/code-text.js b/tools/node_modules/eslint-plugin-markdown/node_modules/micromark/dist/tokenize/code-text.js new file mode 100644 index 00000000000000..d4a8fbe31c0bf8 --- /dev/null +++ b/tools/node_modules/eslint-plugin-markdown/node_modules/micromark/dist/tokenize/code-text.js @@ -0,0 +1,162 @@ +'use strict' + +var markdownLineEnding = require('../character/markdown-line-ending.js') + +var codeText = { + name: 'codeText', + tokenize: tokenizeCodeText, + resolve: resolveCodeText, + previous: previous +} + +function resolveCodeText(events) { + var tailExitIndex = events.length - 4 + var headEnterIndex = 3 + var index + var enter // If we start and end with an EOL or a space. + + if ( + (events[headEnterIndex][1].type === 'lineEnding' || + events[headEnterIndex][1].type === 'space') && + (events[tailExitIndex][1].type === 'lineEnding' || + events[tailExitIndex][1].type === 'space') + ) { + index = headEnterIndex // And we have data. + + while (++index < tailExitIndex) { + if (events[index][1].type === 'codeTextData') { + // Then we have padding. + events[tailExitIndex][1].type = events[headEnterIndex][1].type = + 'codeTextPadding' + headEnterIndex += 2 + tailExitIndex -= 2 + break + } + } + } // Merge adjacent spaces and data. + + index = headEnterIndex - 1 + tailExitIndex++ + + while (++index <= tailExitIndex) { + if (enter === undefined) { + if (index !== tailExitIndex && events[index][1].type !== 'lineEnding') { + enter = index + } + } else if ( + index === tailExitIndex || + events[index][1].type === 'lineEnding' + ) { + events[enter][1].type = 'codeTextData' + + if (index !== enter + 2) { + events[enter][1].end = events[index - 1][1].end + events.splice(enter + 2, index - enter - 2) + tailExitIndex -= index - enter - 2 + index = enter + 2 + } + + enter = undefined + } + } + + return events +} + +function previous(code) { + // If there is a previous code, there will always be a tail. + return ( + code !== 96 || + this.events[this.events.length - 1][1].type === 'characterEscape' + ) +} + +function tokenizeCodeText(effects, ok, nok) { + var sizeOpen = 0 + var size + var token + return start + + function start(code) { + effects.enter('codeText') + effects.enter('codeTextSequence') + return openingSequence(code) + } + + function openingSequence(code) { + if (code === 96) { + effects.consume(code) + sizeOpen++ + return openingSequence + } + + effects.exit('codeTextSequence') + return gap(code) + } + + function gap(code) { + // EOF. + if (code === null) { + return nok(code) + } // Closing fence? + // Could also be data. + + if (code === 96) { + token = effects.enter('codeTextSequence') + size = 0 + return closingSequence(code) + } // Tabs don’t work, and virtual spaces don’t make sense. + + if (code === 32) { + effects.enter('space') + effects.consume(code) + effects.exit('space') + return gap + } + + if (markdownLineEnding(code)) { + effects.enter('lineEnding') + effects.consume(code) + effects.exit('lineEnding') + return gap + } // Data. + + effects.enter('codeTextData') + return data(code) + } // In code. + + function data(code) { + if ( + code === null || + code === 32 || + code === 96 || + markdownLineEnding(code) + ) { + effects.exit('codeTextData') + return gap(code) + } + + effects.consume(code) + return data + } // Closing fence. + + function closingSequence(code) { + // More. + if (code === 96) { + effects.consume(code) + size++ + return closingSequence + } // Done! + + if (size === sizeOpen) { + effects.exit('codeTextSequence') + effects.exit('codeText') + return ok(code) + } // More or less accents: mark as data. + + token.type = 'codeTextData' + return data(code) + } +} + +module.exports = codeText diff --git a/tools/node_modules/eslint-plugin-markdown/node_modules/micromark/dist/tokenize/content.js b/tools/node_modules/eslint-plugin-markdown/node_modules/micromark/dist/tokenize/content.js new file mode 100644 index 00000000000000..e1a712eb8ba112 --- /dev/null +++ b/tools/node_modules/eslint-plugin-markdown/node_modules/micromark/dist/tokenize/content.js @@ -0,0 +1,99 @@ +'use strict' + +var markdownLineEnding = require('../character/markdown-line-ending.js') +var prefixSize = require('../util/prefix-size.js') +var subtokenize = require('../util/subtokenize.js') +var factorySpace = require('./factory-space.js') + +// No name because it must not be turned off. +var content = { + tokenize: tokenizeContent, + resolve: resolveContent, + interruptible: true, + lazy: true +} +var continuationConstruct = { + tokenize: tokenizeContinuation, + partial: true +} // Content is transparent: it’s parsed right now. That way, definitions are also +// parsed right now: before text in paragraphs (specifically, media) are parsed. + +function resolveContent(events) { + subtokenize(events) + return events +} + +function tokenizeContent(effects, ok) { + var previous + return start + + function start(code) { + effects.enter('content') + previous = effects.enter('chunkContent', { + contentType: 'content' + }) + return data(code) + } + + function data(code) { + if (code === null) { + return contentEnd(code) + } + + if (markdownLineEnding(code)) { + return effects.check( + continuationConstruct, + contentContinue, + contentEnd + )(code) + } // Data. + + effects.consume(code) + return data + } + + function contentEnd(code) { + effects.exit('chunkContent') + effects.exit('content') + return ok(code) + } + + function contentContinue(code) { + effects.consume(code) + effects.exit('chunkContent') + previous = previous.next = effects.enter('chunkContent', { + contentType: 'content', + previous: previous + }) + return data + } +} + +function tokenizeContinuation(effects, ok, nok) { + var self = this + return startLookahead + + function startLookahead(code) { + effects.enter('lineEnding') + effects.consume(code) + effects.exit('lineEnding') + return factorySpace(effects, prefixed, 'linePrefix') + } + + function prefixed(code) { + if (code === null || markdownLineEnding(code)) { + return nok(code) + } + + if ( + self.parser.constructs.disable.null.indexOf('codeIndented') > -1 || + prefixSize(self.events, 'linePrefix') < 4 + ) { + return effects.interrupt(self.parser.constructs.flow, nok, ok)(code) + } + + return ok(code) + } +} + +module.exports = content diff --git a/tools/node_modules/eslint-plugin-markdown/node_modules/micromark/dist/tokenize/definition.js b/tools/node_modules/eslint-plugin-markdown/node_modules/micromark/dist/tokenize/definition.js new file mode 100644 index 00000000000000..21505d8943ab5d --- /dev/null +++ b/tools/node_modules/eslint-plugin-markdown/node_modules/micromark/dist/tokenize/definition.js @@ -0,0 +1,115 @@ +'use strict' + +var markdownLineEnding = require('../character/markdown-line-ending.js') +var markdownLineEndingOrSpace = require('../character/markdown-line-ending-or-space.js') +var normalizeIdentifier = require('../util/normalize-identifier.js') +var factoryDestination = require('./factory-destination.js') +var factoryLabel = require('./factory-label.js') +var factorySpace = require('./factory-space.js') +var factoryWhitespace = require('./factory-whitespace.js') +var factoryTitle = require('./factory-title.js') + +var definition = { + name: 'definition', + tokenize: tokenizeDefinition +} +var titleConstruct = { + tokenize: tokenizeTitle, + partial: true +} + +function tokenizeDefinition(effects, ok, nok) { + var self = this + var identifier + return start + + function start(code) { + effects.enter('definition') + return factoryLabel.call( + self, + effects, + labelAfter, + nok, + 'definitionLabel', + 'definitionLabelMarker', + 'definitionLabelString' + )(code) + } + + function labelAfter(code) { + identifier = normalizeIdentifier( + self.sliceSerialize(self.events[self.events.length - 1][1]).slice(1, -1) + ) + + if (code === 58) { + effects.enter('definitionMarker') + effects.consume(code) + effects.exit('definitionMarker') // Note: blank lines can’t exist in content. + + return factoryWhitespace( + effects, + factoryDestination( + effects, + effects.attempt( + titleConstruct, + factorySpace(effects, after, 'whitespace'), + factorySpace(effects, after, 'whitespace') + ), + nok, + 'definitionDestination', + 'definitionDestinationLiteral', + 'definitionDestinationLiteralMarker', + 'definitionDestinationRaw', + 'definitionDestinationString' + ) + ) + } + + return nok(code) + } + + function after(code) { + if (code === null || markdownLineEnding(code)) { + effects.exit('definition') + + if (self.parser.defined.indexOf(identifier) < 0) { + self.parser.defined.push(identifier) + } + + return ok(code) + } + + return nok(code) + } +} + +function tokenizeTitle(effects, ok, nok) { + return start + + function start(code) { + return markdownLineEndingOrSpace(code) + ? factoryWhitespace(effects, before)(code) + : nok(code) + } + + function before(code) { + if (code === 34 || code === 39 || code === 40) { + return factoryTitle( + effects, + factorySpace(effects, after, 'whitespace'), + nok, + 'definitionTitle', + 'definitionTitleMarker', + 'definitionTitleString' + )(code) + } + + return nok(code) + } + + function after(code) { + return code === null || markdownLineEnding(code) ? ok(code) : nok(code) + } +} + +module.exports = definition diff --git a/tools/node_modules/eslint-plugin-markdown/node_modules/micromark/dist/tokenize/factory-destination.js b/tools/node_modules/eslint-plugin-markdown/node_modules/micromark/dist/tokenize/factory-destination.js new file mode 100644 index 00000000000000..1572025cffdddd --- /dev/null +++ b/tools/node_modules/eslint-plugin-markdown/node_modules/micromark/dist/tokenize/factory-destination.js @@ -0,0 +1,131 @@ +'use strict' + +var asciiControl = require('../character/ascii-control.js') +var markdownLineEndingOrSpace = require('../character/markdown-line-ending-or-space.js') +var markdownLineEnding = require('../character/markdown-line-ending.js') + +// eslint-disable-next-line max-params +function destinationFactory( + effects, + ok, + nok, + type, + literalType, + literalMarkerType, + rawType, + stringType, + max +) { + var limit = max || Infinity + var balance = 0 + return start + + function start(code) { + if (code === 60) { + effects.enter(type) + effects.enter(literalType) + effects.enter(literalMarkerType) + effects.consume(code) + effects.exit(literalMarkerType) + return destinationEnclosedBefore + } + + if (asciiControl(code) || code === 41) { + return nok(code) + } + + effects.enter(type) + effects.enter(rawType) + effects.enter(stringType) + effects.enter('chunkString', { + contentType: 'string' + }) + return destinationRaw(code) + } + + function destinationEnclosedBefore(code) { + if (code === 62) { + effects.enter(literalMarkerType) + effects.consume(code) + effects.exit(literalMarkerType) + effects.exit(literalType) + effects.exit(type) + return ok + } + + effects.enter(stringType) + effects.enter('chunkString', { + contentType: 'string' + }) + return destinationEnclosed(code) + } + + function destinationEnclosed(code) { + if (code === 62) { + effects.exit('chunkString') + effects.exit(stringType) + return destinationEnclosedBefore(code) + } + + if (code === null || code === 60 || markdownLineEnding(code)) { + return nok(code) + } + + effects.consume(code) + return code === 92 ? destinationEnclosedEscape : destinationEnclosed + } + + function destinationEnclosedEscape(code) { + if (code === 60 || code === 62 || code === 92) { + effects.consume(code) + return destinationEnclosed + } + + return destinationEnclosed(code) + } + + function destinationRaw(code) { + if (code === 40) { + if (++balance > limit) return nok(code) + effects.consume(code) + return destinationRaw + } + + if (code === 41) { + if (!balance--) { + effects.exit('chunkString') + effects.exit(stringType) + effects.exit(rawType) + effects.exit(type) + return ok(code) + } + + effects.consume(code) + return destinationRaw + } + + if (code === null || markdownLineEndingOrSpace(code)) { + if (balance) return nok(code) + effects.exit('chunkString') + effects.exit(stringType) + effects.exit(rawType) + effects.exit(type) + return ok(code) + } + + if (asciiControl(code)) return nok(code) + effects.consume(code) + return code === 92 ? destinationRawEscape : destinationRaw + } + + function destinationRawEscape(code) { + if (code === 40 || code === 41 || code === 92) { + effects.consume(code) + return destinationRaw + } + + return destinationRaw(code) + } +} + +module.exports = destinationFactory diff --git a/tools/node_modules/eslint-plugin-markdown/node_modules/micromark/dist/tokenize/factory-label.js b/tools/node_modules/eslint-plugin-markdown/node_modules/micromark/dist/tokenize/factory-label.js new file mode 100644 index 00000000000000..500c95a8f7f53e --- /dev/null +++ b/tools/node_modules/eslint-plugin-markdown/node_modules/micromark/dist/tokenize/factory-label.js @@ -0,0 +1,88 @@ +'use strict' + +var markdownLineEnding = require('../character/markdown-line-ending.js') +var markdownSpace = require('../character/markdown-space.js') + +// eslint-disable-next-line max-params +function labelFactory(effects, ok, nok, type, markerType, stringType) { + var self = this + var size = 0 + var data + return start + + function start(code) { + effects.enter(type) + effects.enter(markerType) + effects.consume(code) + effects.exit(markerType) + effects.enter(stringType) + return atBreak + } + + function atBreak(code) { + if ( + code === null || + code === 91 || + (code === 93 && !data) || + /* c8 ignore next */ + (code === 94 && + /* c8 ignore next */ + !size && + /* c8 ignore next */ + '_hiddenFootnoteSupport' in self.parser.constructs) || + size > 999 + ) { + return nok(code) + } + + if (code === 93) { + effects.exit(stringType) + effects.enter(markerType) + effects.consume(code) + effects.exit(markerType) + effects.exit(type) + return ok + } + + if (markdownLineEnding(code)) { + effects.enter('lineEnding') + effects.consume(code) + effects.exit('lineEnding') + return atBreak + } + + effects.enter('chunkString', { + contentType: 'string' + }) + return label(code) + } + + function label(code) { + if ( + code === null || + code === 91 || + code === 93 || + markdownLineEnding(code) || + size++ > 999 + ) { + effects.exit('chunkString') + return atBreak(code) + } + + effects.consume(code) + data = data || !markdownSpace(code) + return code === 92 ? labelEscape : label + } + + function labelEscape(code) { + if (code === 91 || code === 92 || code === 93) { + effects.consume(code) + size++ + return label + } + + return label(code) + } +} + +module.exports = labelFactory diff --git a/tools/node_modules/eslint-plugin-markdown/node_modules/micromark/dist/tokenize/factory-space.js b/tools/node_modules/eslint-plugin-markdown/node_modules/micromark/dist/tokenize/factory-space.js new file mode 100644 index 00000000000000..b1026df91f2674 --- /dev/null +++ b/tools/node_modules/eslint-plugin-markdown/node_modules/micromark/dist/tokenize/factory-space.js @@ -0,0 +1,30 @@ +'use strict' + +var markdownSpace = require('../character/markdown-space.js') + +function spaceFactory(effects, ok, type, max) { + var limit = max ? max - 1 : Infinity + var size = 0 + return start + + function start(code) { + if (markdownSpace(code)) { + effects.enter(type) + return prefix(code) + } + + return ok(code) + } + + function prefix(code) { + if (markdownSpace(code) && size++ < limit) { + effects.consume(code) + return prefix + } + + effects.exit(type) + return ok(code) + } +} + +module.exports = spaceFactory diff --git a/tools/node_modules/eslint-plugin-markdown/node_modules/micromark/dist/tokenize/factory-title.js b/tools/node_modules/eslint-plugin-markdown/node_modules/micromark/dist/tokenize/factory-title.js new file mode 100644 index 00000000000000..6b3d05456e44f4 --- /dev/null +++ b/tools/node_modules/eslint-plugin-markdown/node_modules/micromark/dist/tokenize/factory-title.js @@ -0,0 +1,75 @@ +'use strict' + +var markdownLineEnding = require('../character/markdown-line-ending.js') +var factorySpace = require('./factory-space.js') + +function titleFactory(effects, ok, nok, type, markerType, stringType) { + var marker + return start + + function start(code) { + effects.enter(type) + effects.enter(markerType) + effects.consume(code) + effects.exit(markerType) + marker = code === 40 ? 41 : code + return atFirstTitleBreak + } + + function atFirstTitleBreak(code) { + if (code === marker) { + effects.enter(markerType) + effects.consume(code) + effects.exit(markerType) + effects.exit(type) + return ok + } + + effects.enter(stringType) + return atTitleBreak(code) + } + + function atTitleBreak(code) { + if (code === marker) { + effects.exit(stringType) + return atFirstTitleBreak(marker) + } + + if (code === null) { + return nok(code) + } // Note: blank lines can’t exist in content. + + if (markdownLineEnding(code)) { + effects.enter('lineEnding') + effects.consume(code) + effects.exit('lineEnding') + return factorySpace(effects, atTitleBreak, 'linePrefix') + } + + effects.enter('chunkString', { + contentType: 'string' + }) + return title(code) + } + + function title(code) { + if (code === marker || code === null || markdownLineEnding(code)) { + effects.exit('chunkString') + return atTitleBreak(code) + } + + effects.consume(code) + return code === 92 ? titleEscape : title + } + + function titleEscape(code) { + if (code === marker || code === 92) { + effects.consume(code) + return title + } + + return title(code) + } +} + +module.exports = titleFactory diff --git a/tools/node_modules/eslint-plugin-markdown/node_modules/micromark/dist/tokenize/factory-whitespace.js b/tools/node_modules/eslint-plugin-markdown/node_modules/micromark/dist/tokenize/factory-whitespace.js new file mode 100644 index 00000000000000..8141e961d3cce9 --- /dev/null +++ b/tools/node_modules/eslint-plugin-markdown/node_modules/micromark/dist/tokenize/factory-whitespace.js @@ -0,0 +1,32 @@ +'use strict' + +var markdownLineEnding = require('../character/markdown-line-ending.js') +var markdownSpace = require('../character/markdown-space.js') +var factorySpace = require('./factory-space.js') + +function whitespaceFactory(effects, ok) { + var seen + return start + + function start(code) { + if (markdownLineEnding(code)) { + effects.enter('lineEnding') + effects.consume(code) + effects.exit('lineEnding') + seen = true + return start + } + + if (markdownSpace(code)) { + return factorySpace( + effects, + start, + seen ? 'linePrefix' : 'lineSuffix' + )(code) + } + + return ok(code) + } +} + +module.exports = whitespaceFactory diff --git a/tools/node_modules/eslint-plugin-markdown/node_modules/micromark/dist/tokenize/hard-break-escape.js b/tools/node_modules/eslint-plugin-markdown/node_modules/micromark/dist/tokenize/hard-break-escape.js new file mode 100644 index 00000000000000..bb49becb517fbe --- /dev/null +++ b/tools/node_modules/eslint-plugin-markdown/node_modules/micromark/dist/tokenize/hard-break-escape.js @@ -0,0 +1,31 @@ +'use strict' + +var markdownLineEnding = require('../character/markdown-line-ending.js') + +var hardBreakEscape = { + name: 'hardBreakEscape', + tokenize: tokenizeHardBreakEscape +} + +function tokenizeHardBreakEscape(effects, ok, nok) { + return start + + function start(code) { + effects.enter('hardBreakEscape') + effects.enter('escapeMarker') + effects.consume(code) + return open + } + + function open(code) { + if (markdownLineEnding(code)) { + effects.exit('escapeMarker') + effects.exit('hardBreakEscape') + return ok(code) + } + + return nok(code) + } +} + +module.exports = hardBreakEscape diff --git a/tools/node_modules/eslint-plugin-markdown/node_modules/micromark/dist/tokenize/heading-atx.js b/tools/node_modules/eslint-plugin-markdown/node_modules/micromark/dist/tokenize/heading-atx.js new file mode 100644 index 00000000000000..8d8514ba03b68e --- /dev/null +++ b/tools/node_modules/eslint-plugin-markdown/node_modules/micromark/dist/tokenize/heading-atx.js @@ -0,0 +1,129 @@ +'use strict' + +var markdownLineEnding = require('../character/markdown-line-ending.js') +var markdownLineEndingOrSpace = require('../character/markdown-line-ending-or-space.js') +var markdownSpace = require('../character/markdown-space.js') +var chunkedSplice = require('../util/chunked-splice.js') +var factorySpace = require('./factory-space.js') + +var headingAtx = { + name: 'headingAtx', + tokenize: tokenizeHeadingAtx, + resolve: resolveHeadingAtx +} + +function resolveHeadingAtx(events, context) { + var contentEnd = events.length - 2 + var contentStart = 3 + var content + var text // Prefix whitespace, part of the opening. + + if (events[contentStart][1].type === 'whitespace') { + contentStart += 2 + } // Suffix whitespace, part of the closing. + + if ( + contentEnd - 2 > contentStart && + events[contentEnd][1].type === 'whitespace' + ) { + contentEnd -= 2 + } + + if ( + events[contentEnd][1].type === 'atxHeadingSequence' && + (contentStart === contentEnd - 1 || + (contentEnd - 4 > contentStart && + events[contentEnd - 2][1].type === 'whitespace')) + ) { + contentEnd -= contentStart + 1 === contentEnd ? 2 : 4 + } + + if (contentEnd > contentStart) { + content = { + type: 'atxHeadingText', + start: events[contentStart][1].start, + end: events[contentEnd][1].end + } + text = { + type: 'chunkText', + start: events[contentStart][1].start, + end: events[contentEnd][1].end, + contentType: 'text' + } + chunkedSplice(events, contentStart, contentEnd - contentStart + 1, [ + ['enter', content, context], + ['enter', text, context], + ['exit', text, context], + ['exit', content, context] + ]) + } + + return events +} + +function tokenizeHeadingAtx(effects, ok, nok) { + var self = this + var size = 0 + return start + + function start(code) { + effects.enter('atxHeading') + effects.enter('atxHeadingSequence') + return fenceOpenInside(code) + } + + function fenceOpenInside(code) { + if (code === 35 && size++ < 6) { + effects.consume(code) + return fenceOpenInside + } + + if (code === null || markdownLineEndingOrSpace(code)) { + effects.exit('atxHeadingSequence') + return self.interrupt ? ok(code) : headingBreak(code) + } + + return nok(code) + } + + function headingBreak(code) { + if (code === 35) { + effects.enter('atxHeadingSequence') + return sequence(code) + } + + if (code === null || markdownLineEnding(code)) { + effects.exit('atxHeading') + return ok(code) + } + + if (markdownSpace(code)) { + return factorySpace(effects, headingBreak, 'whitespace')(code) + } + + effects.enter('atxHeadingText') + return data(code) + } + + function sequence(code) { + if (code === 35) { + effects.consume(code) + return sequence + } + + effects.exit('atxHeadingSequence') + return headingBreak(code) + } + + function data(code) { + if (code === null || code === 35 || markdownLineEndingOrSpace(code)) { + effects.exit('atxHeadingText') + return headingBreak(code) + } + + effects.consume(code) + return data + } +} + +module.exports = headingAtx diff --git a/tools/node_modules/eslint-plugin-markdown/node_modules/micromark/dist/tokenize/html-flow.js b/tools/node_modules/eslint-plugin-markdown/node_modules/micromark/dist/tokenize/html-flow.js new file mode 100644 index 00000000000000..dc604bf71b4298 --- /dev/null +++ b/tools/node_modules/eslint-plugin-markdown/node_modules/micromark/dist/tokenize/html-flow.js @@ -0,0 +1,486 @@ +'use strict' + +var asciiAlpha = require('../character/ascii-alpha.js') +var asciiAlphanumeric = require('../character/ascii-alphanumeric.js') +var markdownLineEnding = require('../character/markdown-line-ending.js') +var markdownLineEndingOrSpace = require('../character/markdown-line-ending-or-space.js') +var markdownSpace = require('../character/markdown-space.js') +var fromCharCode = require('../constant/from-char-code.js') +var htmlBlockNames = require('../constant/html-block-names.js') +var htmlRawNames = require('../constant/html-raw-names.js') +var partialBlankLine = require('./partial-blank-line.js') + +var htmlFlow = { + name: 'htmlFlow', + tokenize: tokenizeHtmlFlow, + resolveTo: resolveToHtmlFlow, + concrete: true +} +var nextBlankConstruct = { + tokenize: tokenizeNextBlank, + partial: true +} + +function resolveToHtmlFlow(events) { + var index = events.length + + while (index--) { + if (events[index][0] === 'enter' && events[index][1].type === 'htmlFlow') { + break + } + } + + if (index > 1 && events[index - 2][1].type === 'linePrefix') { + // Add the prefix start to the HTML token. + events[index][1].start = events[index - 2][1].start // Add the prefix start to the HTML line token. + + events[index + 1][1].start = events[index - 2][1].start // Remove the line prefix. + + events.splice(index - 2, 2) + } + + return events +} + +function tokenizeHtmlFlow(effects, ok, nok) { + var self = this + var kind + var startTag + var buffer + var index + var marker + return start + + function start(code) { + effects.enter('htmlFlow') + effects.enter('htmlFlowData') + effects.consume(code) + return open + } + + function open(code) { + if (code === 33) { + effects.consume(code) + return declarationStart + } + + if (code === 47) { + effects.consume(code) + return tagCloseStart + } + + if (code === 63) { + effects.consume(code) + kind = 3 // While we’re in an instruction instead of a declaration, we’re on a `?` + // right now, so we do need to search for `>`, similar to declarations. + + return self.interrupt ? ok : continuationDeclarationInside + } + + if (asciiAlpha(code)) { + effects.consume(code) + buffer = fromCharCode(code) + startTag = true + return tagName + } + + return nok(code) + } + + function declarationStart(code) { + if (code === 45) { + effects.consume(code) + kind = 2 + return commentOpenInside + } + + if (code === 91) { + effects.consume(code) + kind = 5 + buffer = 'CDATA[' + index = 0 + return cdataOpenInside + } + + if (asciiAlpha(code)) { + effects.consume(code) + kind = 4 + return self.interrupt ? ok : continuationDeclarationInside + } + + return nok(code) + } + + function commentOpenInside(code) { + if (code === 45) { + effects.consume(code) + return self.interrupt ? ok : continuationDeclarationInside + } + + return nok(code) + } + + function cdataOpenInside(code) { + if (code === buffer.charCodeAt(index++)) { + effects.consume(code) + return index === buffer.length + ? self.interrupt + ? ok + : continuation + : cdataOpenInside + } + + return nok(code) + } + + function tagCloseStart(code) { + if (asciiAlpha(code)) { + effects.consume(code) + buffer = fromCharCode(code) + return tagName + } + + return nok(code) + } + + function tagName(code) { + if ( + code === null || + code === 47 || + code === 62 || + markdownLineEndingOrSpace(code) + ) { + if ( + code !== 47 && + startTag && + htmlRawNames.indexOf(buffer.toLowerCase()) > -1 + ) { + kind = 1 + return self.interrupt ? ok(code) : continuation(code) + } + + if (htmlBlockNames.indexOf(buffer.toLowerCase()) > -1) { + kind = 6 + + if (code === 47) { + effects.consume(code) + return basicSelfClosing + } + + return self.interrupt ? ok(code) : continuation(code) + } + + kind = 7 // Do not support complete HTML when interrupting. + + return self.interrupt + ? nok(code) + : startTag + ? completeAttributeNameBefore(code) + : completeClosingTagAfter(code) + } + + if (code === 45 || asciiAlphanumeric(code)) { + effects.consume(code) + buffer += fromCharCode(code) + return tagName + } + + return nok(code) + } + + function basicSelfClosing(code) { + if (code === 62) { + effects.consume(code) + return self.interrupt ? ok : continuation + } + + return nok(code) + } + + function completeClosingTagAfter(code) { + if (markdownSpace(code)) { + effects.consume(code) + return completeClosingTagAfter + } + + return completeEnd(code) + } + + function completeAttributeNameBefore(code) { + if (code === 47) { + effects.consume(code) + return completeEnd + } + + if (code === 58 || code === 95 || asciiAlpha(code)) { + effects.consume(code) + return completeAttributeName + } + + if (markdownSpace(code)) { + effects.consume(code) + return completeAttributeNameBefore + } + + return completeEnd(code) + } + + function completeAttributeName(code) { + if ( + code === 45 || + code === 46 || + code === 58 || + code === 95 || + asciiAlphanumeric(code) + ) { + effects.consume(code) + return completeAttributeName + } + + return completeAttributeNameAfter(code) + } + + function completeAttributeNameAfter(code) { + if (code === 61) { + effects.consume(code) + return completeAttributeValueBefore + } + + if (markdownSpace(code)) { + effects.consume(code) + return completeAttributeNameAfter + } + + return completeAttributeNameBefore(code) + } + + function completeAttributeValueBefore(code) { + if ( + code === null || + code === 60 || + code === 61 || + code === 62 || + code === 96 + ) { + return nok(code) + } + + if (code === 34 || code === 39) { + effects.consume(code) + marker = code + return completeAttributeValueQuoted + } + + if (markdownSpace(code)) { + effects.consume(code) + return completeAttributeValueBefore + } + + marker = undefined + return completeAttributeValueUnquoted(code) + } + + function completeAttributeValueQuoted(code) { + if (code === marker) { + effects.consume(code) + return completeAttributeValueQuotedAfter + } + + if (code === null || markdownLineEnding(code)) { + return nok(code) + } + + effects.consume(code) + return completeAttributeValueQuoted + } + + function completeAttributeValueUnquoted(code) { + if ( + code === null || + code === 34 || + code === 39 || + code === 60 || + code === 61 || + code === 62 || + code === 96 || + markdownLineEndingOrSpace(code) + ) { + return completeAttributeNameAfter(code) + } + + effects.consume(code) + return completeAttributeValueUnquoted + } + + function completeAttributeValueQuotedAfter(code) { + if (code === 47 || code === 62 || markdownSpace(code)) { + return completeAttributeNameBefore(code) + } + + return nok(code) + } + + function completeEnd(code) { + if (code === 62) { + effects.consume(code) + return completeAfter + } + + return nok(code) + } + + function completeAfter(code) { + if (markdownSpace(code)) { + effects.consume(code) + return completeAfter + } + + return code === null || markdownLineEnding(code) + ? continuation(code) + : nok(code) + } + + function continuation(code) { + if (code === 45 && kind === 2) { + effects.consume(code) + return continuationCommentInside + } + + if (code === 60 && kind === 1) { + effects.consume(code) + return continuationRawTagOpen + } + + if (code === 62 && kind === 4) { + effects.consume(code) + return continuationClose + } + + if (code === 63 && kind === 3) { + effects.consume(code) + return continuationDeclarationInside + } + + if (code === 93 && kind === 5) { + effects.consume(code) + return continuationCharacterDataInside + } + + if (markdownLineEnding(code) && (kind === 6 || kind === 7)) { + return effects.check( + nextBlankConstruct, + continuationClose, + continuationAtLineEnding + )(code) + } + + if (code === null || markdownLineEnding(code)) { + return continuationAtLineEnding(code) + } + + effects.consume(code) + return continuation + } + + function continuationAtLineEnding(code) { + effects.exit('htmlFlowData') + return htmlContinueStart(code) + } + + function htmlContinueStart(code) { + if (code === null) { + return done(code) + } + + if (markdownLineEnding(code)) { + effects.enter('lineEnding') + effects.consume(code) + effects.exit('lineEnding') + return htmlContinueStart + } + + effects.enter('htmlFlowData') + return continuation(code) + } + + function continuationCommentInside(code) { + if (code === 45) { + effects.consume(code) + return continuationDeclarationInside + } + + return continuation(code) + } + + function continuationRawTagOpen(code) { + if (code === 47) { + effects.consume(code) + buffer = '' + return continuationRawEndTag + } + + return continuation(code) + } + + function continuationRawEndTag(code) { + if (code === 62 && htmlRawNames.indexOf(buffer.toLowerCase()) > -1) { + effects.consume(code) + return continuationClose + } + + if (asciiAlpha(code) && buffer.length < 8) { + effects.consume(code) + buffer += fromCharCode(code) + return continuationRawEndTag + } + + return continuation(code) + } + + function continuationCharacterDataInside(code) { + if (code === 93) { + effects.consume(code) + return continuationDeclarationInside + } + + return continuation(code) + } + + function continuationDeclarationInside(code) { + if (code === 62) { + effects.consume(code) + return continuationClose + } + + return continuation(code) + } + + function continuationClose(code) { + if (code === null || markdownLineEnding(code)) { + effects.exit('htmlFlowData') + return done(code) + } + + effects.consume(code) + return continuationClose + } + + function done(code) { + effects.exit('htmlFlow') + return ok(code) + } +} + +function tokenizeNextBlank(effects, ok, nok) { + return start + + function start(code) { + effects.exit('htmlFlowData') + effects.enter('lineEndingBlank') + effects.consume(code) + effects.exit('lineEndingBlank') + return effects.attempt(partialBlankLine, ok, nok) + } +} + +module.exports = htmlFlow diff --git a/tools/node_modules/eslint-plugin-markdown/node_modules/micromark/dist/tokenize/html-text.js b/tools/node_modules/eslint-plugin-markdown/node_modules/micromark/dist/tokenize/html-text.js new file mode 100644 index 00000000000000..92d1eeeccdfc8e --- /dev/null +++ b/tools/node_modules/eslint-plugin-markdown/node_modules/micromark/dist/tokenize/html-text.js @@ -0,0 +1,435 @@ +'use strict' + +var asciiAlpha = require('../character/ascii-alpha.js') +var asciiAlphanumeric = require('../character/ascii-alphanumeric.js') +var markdownLineEnding = require('../character/markdown-line-ending.js') +var markdownLineEndingOrSpace = require('../character/markdown-line-ending-or-space.js') +var markdownSpace = require('../character/markdown-space.js') +var factorySpace = require('./factory-space.js') + +var htmlText = { + name: 'htmlText', + tokenize: tokenizeHtmlText +} + +function tokenizeHtmlText(effects, ok, nok) { + var self = this + var marker + var buffer + var index + var returnState + return start + + function start(code) { + effects.enter('htmlText') + effects.enter('htmlTextData') + effects.consume(code) + return open + } + + function open(code) { + if (code === 33) { + effects.consume(code) + return declarationOpen + } + + if (code === 47) { + effects.consume(code) + return tagCloseStart + } + + if (code === 63) { + effects.consume(code) + return instruction + } + + if (asciiAlpha(code)) { + effects.consume(code) + return tagOpen + } + + return nok(code) + } + + function declarationOpen(code) { + if (code === 45) { + effects.consume(code) + return commentOpen + } + + if (code === 91) { + effects.consume(code) + buffer = 'CDATA[' + index = 0 + return cdataOpen + } + + if (asciiAlpha(code)) { + effects.consume(code) + return declaration + } + + return nok(code) + } + + function commentOpen(code) { + if (code === 45) { + effects.consume(code) + return commentStart + } + + return nok(code) + } + + function commentStart(code) { + if (code === null || code === 62) { + return nok(code) + } + + if (code === 45) { + effects.consume(code) + return commentStartDash + } + + return comment(code) + } + + function commentStartDash(code) { + if (code === null || code === 62) { + return nok(code) + } + + return comment(code) + } + + function comment(code) { + if (code === null) { + return nok(code) + } + + if (code === 45) { + effects.consume(code) + return commentClose + } + + if (markdownLineEnding(code)) { + returnState = comment + return atLineEnding(code) + } + + effects.consume(code) + return comment + } + + function commentClose(code) { + if (code === 45) { + effects.consume(code) + return end + } + + return comment(code) + } + + function cdataOpen(code) { + if (code === buffer.charCodeAt(index++)) { + effects.consume(code) + return index === buffer.length ? cdata : cdataOpen + } + + return nok(code) + } + + function cdata(code) { + if (code === null) { + return nok(code) + } + + if (code === 93) { + effects.consume(code) + return cdataClose + } + + if (markdownLineEnding(code)) { + returnState = cdata + return atLineEnding(code) + } + + effects.consume(code) + return cdata + } + + function cdataClose(code) { + if (code === 93) { + effects.consume(code) + return cdataEnd + } + + return cdata(code) + } + + function cdataEnd(code) { + if (code === 62) { + return end(code) + } + + if (code === 93) { + effects.consume(code) + return cdataEnd + } + + return cdata(code) + } + + function declaration(code) { + if (code === null || code === 62) { + return end(code) + } + + if (markdownLineEnding(code)) { + returnState = declaration + return atLineEnding(code) + } + + effects.consume(code) + return declaration + } + + function instruction(code) { + if (code === null) { + return nok(code) + } + + if (code === 63) { + effects.consume(code) + return instructionClose + } + + if (markdownLineEnding(code)) { + returnState = instruction + return atLineEnding(code) + } + + effects.consume(code) + return instruction + } + + function instructionClose(code) { + return code === 62 ? end(code) : instruction(code) + } + + function tagCloseStart(code) { + if (asciiAlpha(code)) { + effects.consume(code) + return tagClose + } + + return nok(code) + } + + function tagClose(code) { + if (code === 45 || asciiAlphanumeric(code)) { + effects.consume(code) + return tagClose + } + + return tagCloseBetween(code) + } + + function tagCloseBetween(code) { + if (markdownLineEnding(code)) { + returnState = tagCloseBetween + return atLineEnding(code) + } + + if (markdownSpace(code)) { + effects.consume(code) + return tagCloseBetween + } + + return end(code) + } + + function tagOpen(code) { + if (code === 45 || asciiAlphanumeric(code)) { + effects.consume(code) + return tagOpen + } + + if (code === 47 || code === 62 || markdownLineEndingOrSpace(code)) { + return tagOpenBetween(code) + } + + return nok(code) + } + + function tagOpenBetween(code) { + if (code === 47) { + effects.consume(code) + return end + } + + if (code === 58 || code === 95 || asciiAlpha(code)) { + effects.consume(code) + return tagOpenAttributeName + } + + if (markdownLineEnding(code)) { + returnState = tagOpenBetween + return atLineEnding(code) + } + + if (markdownSpace(code)) { + effects.consume(code) + return tagOpenBetween + } + + return end(code) + } + + function tagOpenAttributeName(code) { + if ( + code === 45 || + code === 46 || + code === 58 || + code === 95 || + asciiAlphanumeric(code) + ) { + effects.consume(code) + return tagOpenAttributeName + } + + return tagOpenAttributeNameAfter(code) + } + + function tagOpenAttributeNameAfter(code) { + if (code === 61) { + effects.consume(code) + return tagOpenAttributeValueBefore + } + + if (markdownLineEnding(code)) { + returnState = tagOpenAttributeNameAfter + return atLineEnding(code) + } + + if (markdownSpace(code)) { + effects.consume(code) + return tagOpenAttributeNameAfter + } + + return tagOpenBetween(code) + } + + function tagOpenAttributeValueBefore(code) { + if ( + code === null || + code === 60 || + code === 61 || + code === 62 || + code === 96 + ) { + return nok(code) + } + + if (code === 34 || code === 39) { + effects.consume(code) + marker = code + return tagOpenAttributeValueQuoted + } + + if (markdownLineEnding(code)) { + returnState = tagOpenAttributeValueBefore + return atLineEnding(code) + } + + if (markdownSpace(code)) { + effects.consume(code) + return tagOpenAttributeValueBefore + } + + effects.consume(code) + marker = undefined + return tagOpenAttributeValueUnquoted + } + + function tagOpenAttributeValueQuoted(code) { + if (code === marker) { + effects.consume(code) + return tagOpenAttributeValueQuotedAfter + } + + if (code === null) { + return nok(code) + } + + if (markdownLineEnding(code)) { + returnState = tagOpenAttributeValueQuoted + return atLineEnding(code) + } + + effects.consume(code) + return tagOpenAttributeValueQuoted + } + + function tagOpenAttributeValueQuotedAfter(code) { + if (code === 62 || code === 47 || markdownLineEndingOrSpace(code)) { + return tagOpenBetween(code) + } + + return nok(code) + } + + function tagOpenAttributeValueUnquoted(code) { + if ( + code === null || + code === 34 || + code === 39 || + code === 60 || + code === 61 || + code === 96 + ) { + return nok(code) + } + + if (code === 62 || markdownLineEndingOrSpace(code)) { + return tagOpenBetween(code) + } + + effects.consume(code) + return tagOpenAttributeValueUnquoted + } // We can’t have blank lines in content, so no need to worry about empty + // tokens. + + function atLineEnding(code) { + effects.exit('htmlTextData') + effects.enter('lineEnding') + effects.consume(code) + effects.exit('lineEnding') + return factorySpace( + effects, + afterPrefix, + 'linePrefix', + self.parser.constructs.disable.null.indexOf('codeIndented') > -1 + ? undefined + : 4 + ) + } + + function afterPrefix(code) { + effects.enter('htmlTextData') + return returnState(code) + } + + function end(code) { + if (code === 62) { + effects.consume(code) + effects.exit('htmlTextData') + effects.exit('htmlText') + return ok + } + + return nok(code) + } +} + +module.exports = htmlText diff --git a/tools/node_modules/eslint-plugin-markdown/node_modules/micromark/dist/tokenize/label-end.js b/tools/node_modules/eslint-plugin-markdown/node_modules/micromark/dist/tokenize/label-end.js new file mode 100644 index 00000000000000..9e8ffce8c8a13c --- /dev/null +++ b/tools/node_modules/eslint-plugin-markdown/node_modules/micromark/dist/tokenize/label-end.js @@ -0,0 +1,330 @@ +'use strict' + +var markdownLineEndingOrSpace = require('../character/markdown-line-ending-or-space.js') +var chunkedPush = require('../util/chunked-push.js') +var chunkedSplice = require('../util/chunked-splice.js') +var normalizeIdentifier = require('../util/normalize-identifier.js') +var resolveAll = require('../util/resolve-all.js') +var shallow = require('../util/shallow.js') +var factoryDestination = require('./factory-destination.js') +var factoryLabel = require('./factory-label.js') +var factoryTitle = require('./factory-title.js') +var factoryWhitespace = require('./factory-whitespace.js') + +var labelEnd = { + name: 'labelEnd', + tokenize: tokenizeLabelEnd, + resolveTo: resolveToLabelEnd, + resolveAll: resolveAllLabelEnd +} +var resourceConstruct = { + tokenize: tokenizeResource +} +var fullReferenceConstruct = { + tokenize: tokenizeFullReference +} +var collapsedReferenceConstruct = { + tokenize: tokenizeCollapsedReference +} + +function resolveAllLabelEnd(events) { + var index = -1 + var token + + while (++index < events.length) { + token = events[index][1] + + if ( + !token._used && + (token.type === 'labelImage' || + token.type === 'labelLink' || + token.type === 'labelEnd') + ) { + // Remove the marker. + events.splice(index + 1, token.type === 'labelImage' ? 4 : 2) + token.type = 'data' + index++ + } + } + + return events +} + +function resolveToLabelEnd(events, context) { + var index = events.length + var offset = 0 + var group + var label + var text + var token + var open + var close + var media // Find an opening. + + while (index--) { + token = events[index][1] + + if (open) { + // If we see another link, or inactive link label, we’ve been here before. + if ( + token.type === 'link' || + (token.type === 'labelLink' && token._inactive) + ) { + break + } // Mark other link openings as inactive, as we can’t have links in + // links. + + if (events[index][0] === 'enter' && token.type === 'labelLink') { + token._inactive = true + } + } else if (close) { + if ( + events[index][0] === 'enter' && + (token.type === 'labelImage' || token.type === 'labelLink') && + !token._balanced + ) { + open = index + + if (token.type !== 'labelLink') { + offset = 2 + break + } + } + } else if (token.type === 'labelEnd') { + close = index + } + } + + group = { + type: events[open][1].type === 'labelLink' ? 'link' : 'image', + start: shallow(events[open][1].start), + end: shallow(events[events.length - 1][1].end) + } + label = { + type: 'label', + start: shallow(events[open][1].start), + end: shallow(events[close][1].end) + } + text = { + type: 'labelText', + start: shallow(events[open + offset + 2][1].end), + end: shallow(events[close - 2][1].start) + } + media = [ + ['enter', group, context], + ['enter', label, context] + ] // Opening marker. + + media = chunkedPush(media, events.slice(open + 1, open + offset + 3)) // Text open. + + media = chunkedPush(media, [['enter', text, context]]) // Between. + + media = chunkedPush( + media, + resolveAll( + context.parser.constructs.insideSpan.null, + events.slice(open + offset + 4, close - 3), + context + ) + ) // Text close, marker close, label close. + + media = chunkedPush(media, [ + ['exit', text, context], + events[close - 2], + events[close - 1], + ['exit', label, context] + ]) // Reference, resource, or so. + + media = chunkedPush(media, events.slice(close + 1)) // Media close. + + media = chunkedPush(media, [['exit', group, context]]) + chunkedSplice(events, open, events.length, media) + return events +} + +function tokenizeLabelEnd(effects, ok, nok) { + var self = this + var index = self.events.length + var labelStart + var defined // Find an opening. + + while (index--) { + if ( + (self.events[index][1].type === 'labelImage' || + self.events[index][1].type === 'labelLink') && + !self.events[index][1]._balanced + ) { + labelStart = self.events[index][1] + break + } + } + + return start + + function start(code) { + if (!labelStart) { + return nok(code) + } // It’s a balanced bracket, but contains a link. + + if (labelStart._inactive) return balanced(code) + defined = + self.parser.defined.indexOf( + normalizeIdentifier( + self.sliceSerialize({ + start: labelStart.end, + end: self.now() + }) + ) + ) > -1 + effects.enter('labelEnd') + effects.enter('labelMarker') + effects.consume(code) + effects.exit('labelMarker') + effects.exit('labelEnd') + return afterLabelEnd + } + + function afterLabelEnd(code) { + // Resource: `[asd](fgh)`. + if (code === 40) { + return effects.attempt( + resourceConstruct, + ok, + defined ? ok : balanced + )(code) + } // Collapsed (`[asd][]`) or full (`[asd][fgh]`) reference? + + if (code === 91) { + return effects.attempt( + fullReferenceConstruct, + ok, + defined + ? effects.attempt(collapsedReferenceConstruct, ok, balanced) + : balanced + )(code) + } // Shortcut reference: `[asd]`? + + return defined ? ok(code) : balanced(code) + } + + function balanced(code) { + labelStart._balanced = true + return nok(code) + } +} + +function tokenizeResource(effects, ok, nok) { + return start + + function start(code) { + effects.enter('resource') + effects.enter('resourceMarker') + effects.consume(code) + effects.exit('resourceMarker') + return factoryWhitespace(effects, open) + } + + function open(code) { + if (code === 41) { + return end(code) + } + + return factoryDestination( + effects, + destinationAfter, + nok, + 'resourceDestination', + 'resourceDestinationLiteral', + 'resourceDestinationLiteralMarker', + 'resourceDestinationRaw', + 'resourceDestinationString', + 3 + )(code) + } + + function destinationAfter(code) { + return markdownLineEndingOrSpace(code) + ? factoryWhitespace(effects, between)(code) + : end(code) + } + + function between(code) { + if (code === 34 || code === 39 || code === 40) { + return factoryTitle( + effects, + factoryWhitespace(effects, end), + nok, + 'resourceTitle', + 'resourceTitleMarker', + 'resourceTitleString' + )(code) + } + + return end(code) + } + + function end(code) { + if (code === 41) { + effects.enter('resourceMarker') + effects.consume(code) + effects.exit('resourceMarker') + effects.exit('resource') + return ok + } + + return nok(code) + } +} + +function tokenizeFullReference(effects, ok, nok) { + var self = this + return start + + function start(code) { + return factoryLabel.call( + self, + effects, + afterLabel, + nok, + 'reference', + 'referenceMarker', + 'referenceString' + )(code) + } + + function afterLabel(code) { + return self.parser.defined.indexOf( + normalizeIdentifier( + self.sliceSerialize(self.events[self.events.length - 1][1]).slice(1, -1) + ) + ) < 0 + ? nok(code) + : ok(code) + } +} + +function tokenizeCollapsedReference(effects, ok, nok) { + return start + + function start(code) { + effects.enter('reference') + effects.enter('referenceMarker') + effects.consume(code) + effects.exit('referenceMarker') + return open + } + + function open(code) { + if (code === 93) { + effects.enter('referenceMarker') + effects.consume(code) + effects.exit('referenceMarker') + effects.exit('reference') + return ok + } + + return nok(code) + } +} + +module.exports = labelEnd diff --git a/tools/node_modules/eslint-plugin-markdown/node_modules/micromark/dist/tokenize/label-start-image.js b/tools/node_modules/eslint-plugin-markdown/node_modules/micromark/dist/tokenize/label-start-image.js new file mode 100644 index 00000000000000..90bc3d90dd5a88 --- /dev/null +++ b/tools/node_modules/eslint-plugin-markdown/node_modules/micromark/dist/tokenize/label-start-image.js @@ -0,0 +1,46 @@ +'use strict' + +var labelEnd = require('./label-end.js') + +var labelStartImage = { + name: 'labelStartImage', + tokenize: tokenizeLabelStartImage, + resolveAll: labelEnd.resolveAll +} + +function tokenizeLabelStartImage(effects, ok, nok) { + var self = this + return start + + function start(code) { + effects.enter('labelImage') + effects.enter('labelImageMarker') + effects.consume(code) + effects.exit('labelImageMarker') + return open + } + + function open(code) { + if (code === 91) { + effects.enter('labelMarker') + effects.consume(code) + effects.exit('labelMarker') + effects.exit('labelImage') + return after + } + + return nok(code) + } + + function after(code) { + /* c8 ignore next */ + return code === 94 && + /* c8 ignore next */ + '_hiddenFootnoteSupport' in self.parser.constructs + ? /* c8 ignore next */ + nok(code) + : ok(code) + } +} + +module.exports = labelStartImage diff --git a/tools/node_modules/eslint-plugin-markdown/node_modules/micromark/dist/tokenize/label-start-link.js b/tools/node_modules/eslint-plugin-markdown/node_modules/micromark/dist/tokenize/label-start-link.js new file mode 100644 index 00000000000000..22942059979103 --- /dev/null +++ b/tools/node_modules/eslint-plugin-markdown/node_modules/micromark/dist/tokenize/label-start-link.js @@ -0,0 +1,35 @@ +'use strict' + +var labelEnd = require('./label-end.js') + +var labelStartLink = { + name: 'labelStartLink', + tokenize: tokenizeLabelStartLink, + resolveAll: labelEnd.resolveAll +} + +function tokenizeLabelStartLink(effects, ok, nok) { + var self = this + return start + + function start(code) { + effects.enter('labelLink') + effects.enter('labelMarker') + effects.consume(code) + effects.exit('labelMarker') + effects.exit('labelLink') + return after + } + + function after(code) { + /* c8 ignore next */ + return code === 94 && + /* c8 ignore next */ + '_hiddenFootnoteSupport' in self.parser.constructs + ? /* c8 ignore next */ + nok(code) + : ok(code) + } +} + +module.exports = labelStartLink diff --git a/tools/node_modules/eslint-plugin-markdown/node_modules/micromark/dist/tokenize/line-ending.js b/tools/node_modules/eslint-plugin-markdown/node_modules/micromark/dist/tokenize/line-ending.js new file mode 100644 index 00000000000000..d381f6dc895088 --- /dev/null +++ b/tools/node_modules/eslint-plugin-markdown/node_modules/micromark/dist/tokenize/line-ending.js @@ -0,0 +1,21 @@ +'use strict' + +var factorySpace = require('./factory-space.js') + +var lineEnding = { + name: 'lineEnding', + tokenize: tokenizeLineEnding +} + +function tokenizeLineEnding(effects, ok) { + return start + + function start(code) { + effects.enter('lineEnding') + effects.consume(code) + effects.exit('lineEnding') + return factorySpace(effects, ok, 'linePrefix') + } +} + +module.exports = lineEnding diff --git a/tools/node_modules/eslint-plugin-markdown/node_modules/micromark/dist/tokenize/list.js b/tools/node_modules/eslint-plugin-markdown/node_modules/micromark/dist/tokenize/list.js new file mode 100644 index 00000000000000..21f14c37b2db87 --- /dev/null +++ b/tools/node_modules/eslint-plugin-markdown/node_modules/micromark/dist/tokenize/list.js @@ -0,0 +1,214 @@ +'use strict' + +var asciiDigit = require('../character/ascii-digit.js') +var markdownSpace = require('../character/markdown-space.js') +var prefixSize = require('../util/prefix-size.js') +var sizeChunks = require('../util/size-chunks.js') +var factorySpace = require('./factory-space.js') +var partialBlankLine = require('./partial-blank-line.js') +var thematicBreak = require('./thematic-break.js') + +var list = { + name: 'list', + tokenize: tokenizeListStart, + continuation: { + tokenize: tokenizeListContinuation + }, + exit: tokenizeListEnd +} +var listItemPrefixWhitespaceConstruct = { + tokenize: tokenizeListItemPrefixWhitespace, + partial: true +} +var indentConstruct = { + tokenize: tokenizeIndent, + partial: true +} + +function tokenizeListStart(effects, ok, nok) { + var self = this + var initialSize = prefixSize(self.events, 'linePrefix') + var size = 0 + return start + + function start(code) { + var kind = + self.containerState.type || + (code === 42 || code === 43 || code === 45 + ? 'listUnordered' + : 'listOrdered') + + if ( + kind === 'listUnordered' + ? !self.containerState.marker || code === self.containerState.marker + : asciiDigit(code) + ) { + if (!self.containerState.type) { + self.containerState.type = kind + effects.enter(kind, { + _container: true + }) + } + + if (kind === 'listUnordered') { + effects.enter('listItemPrefix') + return code === 42 || code === 45 + ? effects.check(thematicBreak, nok, atMarker)(code) + : atMarker(code) + } + + if (!self.interrupt || code === 49) { + effects.enter('listItemPrefix') + effects.enter('listItemValue') + return inside(code) + } + } + + return nok(code) + } + + function inside(code) { + if (asciiDigit(code) && ++size < 10) { + effects.consume(code) + return inside + } + + if ( + (!self.interrupt || size < 2) && + (self.containerState.marker + ? code === self.containerState.marker + : code === 41 || code === 46) + ) { + effects.exit('listItemValue') + return atMarker(code) + } + + return nok(code) + } + + function atMarker(code) { + effects.enter('listItemMarker') + effects.consume(code) + effects.exit('listItemMarker') + self.containerState.marker = self.containerState.marker || code + return effects.check( + partialBlankLine, // Can’t be empty when interrupting. + self.interrupt ? nok : onBlank, + effects.attempt( + listItemPrefixWhitespaceConstruct, + endOfPrefix, + otherPrefix + ) + ) + } + + function onBlank(code) { + self.containerState.initialBlankLine = true + initialSize++ + return endOfPrefix(code) + } + + function otherPrefix(code) { + if (markdownSpace(code)) { + effects.enter('listItemPrefixWhitespace') + effects.consume(code) + effects.exit('listItemPrefixWhitespace') + return endOfPrefix + } + + return nok(code) + } + + function endOfPrefix(code) { + self.containerState.size = + initialSize + sizeChunks(self.sliceStream(effects.exit('listItemPrefix'))) + return ok(code) + } +} + +function tokenizeListContinuation(effects, ok, nok) { + var self = this + self.containerState._closeFlow = undefined + return effects.check(partialBlankLine, onBlank, notBlank) + + function onBlank(code) { + self.containerState.furtherBlankLines = + self.containerState.furtherBlankLines || + self.containerState.initialBlankLine // We have a blank line. + // Still, try to consume at most the items size. + + return factorySpace( + effects, + ok, + 'listItemIndent', + self.containerState.size + 1 + )(code) + } + + function notBlank(code) { + if (self.containerState.furtherBlankLines || !markdownSpace(code)) { + self.containerState.furtherBlankLines = self.containerState.initialBlankLine = undefined + return notInCurrentItem(code) + } + + self.containerState.furtherBlankLines = self.containerState.initialBlankLine = undefined + return effects.attempt(indentConstruct, ok, notInCurrentItem)(code) + } + + function notInCurrentItem(code) { + // While we do continue, we signal that the flow should be closed. + self.containerState._closeFlow = true // As we’re closing flow, we’re no longer interrupting. + + self.interrupt = undefined + return factorySpace( + effects, + effects.attempt(list, ok, nok), + 'linePrefix', + self.parser.constructs.disable.null.indexOf('codeIndented') > -1 + ? undefined + : 4 + )(code) + } +} + +function tokenizeIndent(effects, ok, nok) { + var self = this + return factorySpace( + effects, + afterPrefix, + 'listItemIndent', + self.containerState.size + 1 + ) + + function afterPrefix(code) { + return prefixSize(self.events, 'listItemIndent') === + self.containerState.size + ? ok(code) + : nok(code) + } +} + +function tokenizeListEnd(effects) { + effects.exit(this.containerState.type) +} + +function tokenizeListItemPrefixWhitespace(effects, ok, nok) { + var self = this + return factorySpace( + effects, + afterPrefix, + 'listItemPrefixWhitespace', + self.parser.constructs.disable.null.indexOf('codeIndented') > -1 + ? undefined + : 4 + 1 + ) + + function afterPrefix(code) { + return markdownSpace(code) || + !prefixSize(self.events, 'listItemPrefixWhitespace') + ? nok(code) + : ok(code) + } +} + +module.exports = list diff --git a/tools/node_modules/eslint-plugin-markdown/node_modules/micromark/dist/tokenize/partial-blank-line.js b/tools/node_modules/eslint-plugin-markdown/node_modules/micromark/dist/tokenize/partial-blank-line.js new file mode 100644 index 00000000000000..b5207df20695d9 --- /dev/null +++ b/tools/node_modules/eslint-plugin-markdown/node_modules/micromark/dist/tokenize/partial-blank-line.js @@ -0,0 +1,19 @@ +'use strict' + +var markdownLineEnding = require('../character/markdown-line-ending.js') +var factorySpace = require('./factory-space.js') + +var partialBlankLine = { + tokenize: tokenizePartialBlankLine, + partial: true +} + +function tokenizePartialBlankLine(effects, ok, nok) { + return factorySpace(effects, afterWhitespace, 'linePrefix') + + function afterWhitespace(code) { + return code === null || markdownLineEnding(code) ? ok(code) : nok(code) + } +} + +module.exports = partialBlankLine diff --git a/tools/node_modules/eslint-plugin-markdown/node_modules/micromark/dist/tokenize/setext-underline.js b/tools/node_modules/eslint-plugin-markdown/node_modules/micromark/dist/tokenize/setext-underline.js new file mode 100644 index 00000000000000..4f2770707ca986 --- /dev/null +++ b/tools/node_modules/eslint-plugin-markdown/node_modules/micromark/dist/tokenize/setext-underline.js @@ -0,0 +1,117 @@ +'use strict' + +var markdownLineEnding = require('../character/markdown-line-ending.js') +var shallow = require('../util/shallow.js') +var factorySpace = require('./factory-space.js') + +var setextUnderline = { + name: 'setextUnderline', + tokenize: tokenizeSetextUnderline, + resolveTo: resolveToSetextUnderline +} + +function resolveToSetextUnderline(events, context) { + var index = events.length + var content + var text + var definition + var heading // Find the opening of the content. + // It’ll always exist: we don’t tokenize if it isn’t there. + + while (index--) { + if (events[index][0] === 'enter') { + if (events[index][1].type === 'content') { + content = index + break + } + + if (events[index][1].type === 'paragraph') { + text = index + } + } // Exit + else { + if (events[index][1].type === 'content') { + // Remove the content end (if needed we’ll add it later) + events.splice(index, 1) + } + + if (!definition && events[index][1].type === 'definition') { + definition = index + } + } + } + + heading = { + type: 'setextHeading', + start: shallow(events[text][1].start), + end: shallow(events[events.length - 1][1].end) + } // Change the paragraph to setext heading text. + + events[text][1].type = 'setextHeadingText' // If we have definitions in the content, we’ll keep on having content, + // but we need move it. + + if (definition) { + events.splice(text, 0, ['enter', heading, context]) + events.splice(definition + 1, 0, ['exit', events[content][1], context]) + events[content][1].end = shallow(events[definition][1].end) + } else { + events[content][1] = heading + } // Add the heading exit at the end. + + events.push(['exit', heading, context]) + return events +} + +function tokenizeSetextUnderline(effects, ok, nok) { + var self = this + var index = self.events.length + var marker + var paragraph // Find an opening. + + while (index--) { + // Skip enter/exit of line ending, line prefix, and content. + // We can now either have a definition or a paragraph. + if ( + self.events[index][1].type !== 'lineEnding' && + self.events[index][1].type !== 'linePrefix' && + self.events[index][1].type !== 'content' + ) { + paragraph = self.events[index][1].type === 'paragraph' + break + } + } + + return start + + function start(code) { + if (!self.lazy && (self.interrupt || paragraph)) { + effects.enter('setextHeadingLine') + effects.enter('setextHeadingLineSequence') + marker = code + return closingSequence(code) + } + + return nok(code) + } + + function closingSequence(code) { + if (code === marker) { + effects.consume(code) + return closingSequence + } + + effects.exit('setextHeadingLineSequence') + return factorySpace(effects, closingSequenceEnd, 'lineSuffix')(code) + } + + function closingSequenceEnd(code) { + if (code === null || markdownLineEnding(code)) { + effects.exit('setextHeadingLine') + return ok(code) + } + + return nok(code) + } +} + +module.exports = setextUnderline diff --git a/tools/node_modules/eslint-plugin-markdown/node_modules/micromark/dist/tokenize/thematic-break.js b/tools/node_modules/eslint-plugin-markdown/node_modules/micromark/dist/tokenize/thematic-break.js new file mode 100644 index 00000000000000..3abbe554e45181 --- /dev/null +++ b/tools/node_modules/eslint-plugin-markdown/node_modules/micromark/dist/tokenize/thematic-break.js @@ -0,0 +1,53 @@ +'use strict' + +var markdownLineEnding = require('../character/markdown-line-ending.js') +var markdownSpace = require('../character/markdown-space.js') +var factorySpace = require('./factory-space.js') + +var thematicBreak = { + name: 'thematicBreak', + tokenize: tokenizeThematicBreak +} + +function tokenizeThematicBreak(effects, ok, nok) { + var size = 0 + var marker + return start + + function start(code) { + effects.enter('thematicBreak') + marker = code + return atBreak(code) + } + + function atBreak(code) { + if (code === marker) { + effects.enter('thematicBreakSequence') + return sequence(code) + } + + if (markdownSpace(code)) { + return factorySpace(effects, atBreak, 'whitespace')(code) + } + + if (size < 3 || (code !== null && !markdownLineEnding(code))) { + return nok(code) + } + + effects.exit('thematicBreak') + return ok(code) + } + + function sequence(code) { + if (code === marker) { + effects.consume(code) + size++ + return sequence + } + + effects.exit('thematicBreakSequence') + return atBreak(code) + } +} + +module.exports = thematicBreak diff --git a/tools/node_modules/eslint-plugin-markdown/node_modules/micromark/dist/util/chunked-push.js b/tools/node_modules/eslint-plugin-markdown/node_modules/micromark/dist/util/chunked-push.js new file mode 100644 index 00000000000000..77689779959fbb --- /dev/null +++ b/tools/node_modules/eslint-plugin-markdown/node_modules/micromark/dist/util/chunked-push.js @@ -0,0 +1,14 @@ +'use strict' + +var chunkedSplice = require('./chunked-splice.js') + +function chunkedPush(list, items) { + if (list.length) { + chunkedSplice(list, list.length, 0, items) + return list + } + + return items +} + +module.exports = chunkedPush diff --git a/tools/node_modules/eslint-plugin-markdown/node_modules/micromark/dist/util/chunked-splice.js b/tools/node_modules/eslint-plugin-markdown/node_modules/micromark/dist/util/chunked-splice.js new file mode 100644 index 00000000000000..99525d76a242bb --- /dev/null +++ b/tools/node_modules/eslint-plugin-markdown/node_modules/micromark/dist/util/chunked-splice.js @@ -0,0 +1,38 @@ +'use strict' + +var splice = require('../constant/splice.js') + +// causes a stack overflow in V8 when trying to insert 100k items for instance. + +function chunkedSplice(list, start, remove, items) { + var end = list.length + var chunkStart = 0 + var parameters // Make start between zero and `end` (included). + + if (start < 0) { + start = -start > end ? 0 : end + start + } else { + start = start > end ? end : start + } + + remove = remove > 0 ? remove : 0 // No need to chunk the items if there’s only a couple (10k) items. + + if (items.length < 10000) { + parameters = Array.from(items) + parameters.unshift(start, remove) + splice.apply(list, parameters) + } else { + // Delete `remove` items starting from `start` + if (remove) splice.apply(list, [start, remove]) // Insert the items in chunks to not cause stack overflows. + + while (chunkStart < items.length) { + parameters = items.slice(chunkStart, chunkStart + 10000) + parameters.unshift(start, 0) + splice.apply(list, parameters) + chunkStart += 10000 + start += 10000 + } + } +} + +module.exports = chunkedSplice diff --git a/tools/node_modules/eslint-plugin-markdown/node_modules/micromark/dist/util/classify-character.js b/tools/node_modules/eslint-plugin-markdown/node_modules/micromark/dist/util/classify-character.js new file mode 100644 index 00000000000000..9d3b21b96a1acd --- /dev/null +++ b/tools/node_modules/eslint-plugin-markdown/node_modules/micromark/dist/util/classify-character.js @@ -0,0 +1,25 @@ +'use strict' + +var markdownLineEndingOrSpace = require('../character/markdown-line-ending-or-space.js') +var unicodePunctuation = require('../character/unicode-punctuation.js') +var unicodeWhitespace = require('../character/unicode-whitespace.js') + +// Classify whether a character is unicode whitespace, unicode punctuation, or +// anything else. +// Used for attention (emphasis, strong), whose sequences can open or close +// based on the class of surrounding characters. +function classifyCharacter(code) { + if ( + code === null || + markdownLineEndingOrSpace(code) || + unicodeWhitespace(code) + ) { + return 1 + } + + if (unicodePunctuation(code)) { + return 2 + } +} + +module.exports = classifyCharacter diff --git a/tools/node_modules/eslint-plugin-markdown/node_modules/micromark/dist/util/combine-extensions.js b/tools/node_modules/eslint-plugin-markdown/node_modules/micromark/dist/util/combine-extensions.js new file mode 100644 index 00000000000000..a6f8f347b8d3bd --- /dev/null +++ b/tools/node_modules/eslint-plugin-markdown/node_modules/micromark/dist/util/combine-extensions.js @@ -0,0 +1,49 @@ +'use strict' + +var hasOwnProperty = require('../constant/has-own-property.js') +var chunkedSplice = require('./chunked-splice.js') +var miniflat = require('./miniflat.js') + +function combineExtensions(extensions) { + var all = {} + var index = -1 + + while (++index < extensions.length) { + extension(all, extensions[index]) + } + + return all +} + +function extension(all, extension) { + var hook + var left + var right + var code + + for (hook in extension) { + left = hasOwnProperty.call(all, hook) ? all[hook] : (all[hook] = {}) + right = extension[hook] + + for (code in right) { + left[code] = constructs( + miniflat(right[code]), + hasOwnProperty.call(left, code) ? left[code] : [] + ) + } + } +} + +function constructs(list, existing) { + var index = -1 + var before = [] + + while (++index < list.length) { + ;(list[index].add === 'after' ? existing : before).push(list[index]) + } + + chunkedSplice(existing, 0, 0, before) + return existing +} + +module.exports = combineExtensions diff --git a/tools/node_modules/eslint-plugin-markdown/node_modules/micromark/dist/util/combine-html-extensions.js b/tools/node_modules/eslint-plugin-markdown/node_modules/micromark/dist/util/combine-html-extensions.js new file mode 100644 index 00000000000000..c54258783a7c09 --- /dev/null +++ b/tools/node_modules/eslint-plugin-markdown/node_modules/micromark/dist/util/combine-html-extensions.js @@ -0,0 +1,34 @@ +'use strict' + +var hasOwnProperty = require('../constant/has-own-property.js') + +function combineHtmlExtensions(extensions) { + var handlers = {} + var index = -1 + + while (++index < extensions.length) { + extension(handlers, extensions[index]) + } + + return handlers +} + +function extension(handlers, extension) { + var hook + var left + var right + var type + + for (hook in extension) { + left = hasOwnProperty.call(handlers, hook) + ? handlers[hook] + : (handlers[hook] = {}) + right = extension[hook] + + for (type in right) { + left[type] = right[type] + } + } +} + +module.exports = combineHtmlExtensions diff --git a/tools/node_modules/eslint-plugin-markdown/node_modules/micromark/dist/util/create-tokenizer.js b/tools/node_modules/eslint-plugin-markdown/node_modules/micromark/dist/util/create-tokenizer.js new file mode 100644 index 00000000000000..9051658c83c3f8 --- /dev/null +++ b/tools/node_modules/eslint-plugin-markdown/node_modules/micromark/dist/util/create-tokenizer.js @@ -0,0 +1,316 @@ +'use strict' + +var assign = require('../constant/assign.js') +var markdownLineEnding = require('../character/markdown-line-ending.js') +var chunkedPush = require('./chunked-push.js') +var chunkedSplice = require('./chunked-splice.js') +var miniflat = require('./miniflat.js') +var resolveAll = require('./resolve-all.js') +var serializeChunks = require('./serialize-chunks.js') +var shallow = require('./shallow.js') +var sliceChunks = require('./slice-chunks.js') + +// Create a tokenizer. +// Tokenizers deal with one type of data (e.g., containers, flow, text). +// The parser is the object dealing with it all. +// `initialize` works like other constructs, except that only its `tokenize` +// function is used, in which case it doesn’t receive an `ok` or `nok`. +// `from` can be given to set the point before the first character, although +// when further lines are indented, they must be set with `defineSkip`. +function createTokenizer(parser, initialize, from) { + var point = from + ? shallow(from) + : { + line: 1, + column: 1, + offset: 0 + } + var columnStart = {} + var resolveAllConstructs = [] + var chunks = [] + var stack = [] + + var effects = { + consume: consume, + enter: enter, + exit: exit, + attempt: constructFactory(onsuccessfulconstruct), + check: constructFactory(onsuccessfulcheck), + interrupt: constructFactory(onsuccessfulcheck, { + interrupt: true + }), + lazy: constructFactory(onsuccessfulcheck, { + lazy: true + }) + } // State and tools for resolving and serializing. + + var context = { + previous: null, + events: [], + parser: parser, + sliceStream: sliceStream, + sliceSerialize: sliceSerialize, + now: now, + defineSkip: skip, + write: write + } // The state function. + + var state = initialize.tokenize.call(context, effects) // Track which character we expect to be consumed, to catch bugs. + + if (initialize.resolveAll) { + resolveAllConstructs.push(initialize) + } // Store where we are in the input stream. + + point._index = 0 + point._bufferIndex = -1 + return context + + function write(slice) { + chunks = chunkedPush(chunks, slice) + main() // Exit if we’re not done, resolve might change stuff. + + if (chunks[chunks.length - 1] !== null) { + return [] + } + + addResult(initialize, 0) // Otherwise, resolve, and exit. + + context.events = resolveAll(resolveAllConstructs, context.events, context) + return context.events + } // + // Tools. + // + + function sliceSerialize(token) { + return serializeChunks(sliceStream(token)) + } + + function sliceStream(token) { + return sliceChunks(chunks, token) + } + + function now() { + return shallow(point) + } + + function skip(value) { + columnStart[value.line] = value.column + accountForPotentialSkip() + } // + // State management. + // + // Main loop (note that `_index` and `_bufferIndex` in `point` are modified by + // `consume`). + // Here is where we walk through the chunks, which either include strings of + // several characters, or numerical character codes. + // The reason to do this in a loop instead of a call is so the stack can + // drain. + + function main() { + var chunkIndex + var chunk + + while (point._index < chunks.length) { + chunk = chunks[point._index] // If we’re in a buffer chunk, loop through it. + + if (typeof chunk === 'string') { + chunkIndex = point._index + + if (point._bufferIndex < 0) { + point._bufferIndex = 0 + } + + while ( + point._index === chunkIndex && + point._bufferIndex < chunk.length + ) { + go(chunk.charCodeAt(point._bufferIndex)) + } + } else { + go(chunk) + } + } + } // Deal with one code. + + function go(code) { + state = state(code) + } // Move a character forward. + + function consume(code) { + if (markdownLineEnding(code)) { + point.line++ + point.column = 1 + point.offset += code === -3 ? 2 : 1 + accountForPotentialSkip() + } else if (code !== -1) { + point.column++ + point.offset++ + } // Not in a string chunk. + + if (point._bufferIndex < 0) { + point._index++ + } else { + point._bufferIndex++ // At end of string chunk. + + if (point._bufferIndex === chunks[point._index].length) { + point._bufferIndex = -1 + point._index++ + } + } // Expose the previous character. + + context.previous = code // Mark as consumed. + } // Start a token. + + function enter(type, fields) { + var token = fields || {} + token.type = type + token.start = now() + context.events.push(['enter', token, context]) + stack.push(token) + return token + } // Stop a token. + + function exit(type) { + var token = stack.pop() + token.end = now() + context.events.push(['exit', token, context]) + return token + } // Use results. + + function onsuccessfulconstruct(construct, info) { + addResult(construct, info.from) + } // Discard results. + + function onsuccessfulcheck(construct, info) { + info.restore() + } // Factory to attempt/check/interrupt. + + function constructFactory(onreturn, fields) { + return hook // Handle either an object mapping codes to constructs, a list of + // constructs, or a single construct. + + function hook(constructs, returnState, bogusState) { + var listOfConstructs + var constructIndex + var currentConstruct + var info + return constructs.tokenize || 'length' in constructs + ? handleListOfConstructs(miniflat(constructs)) + : handleMapOfConstructs + + function handleMapOfConstructs(code) { + if (code in constructs || null in constructs) { + return handleListOfConstructs( + constructs.null + ? /* c8 ignore next */ + miniflat(constructs[code]).concat(miniflat(constructs.null)) + : constructs[code] + )(code) + } + + return bogusState(code) + } + + function handleListOfConstructs(list) { + listOfConstructs = list + constructIndex = 0 + return handleConstruct(list[constructIndex]) + } + + function handleConstruct(construct) { + return start + + function start(code) { + // To do: not nede to store if there is no bogus state, probably? + // Currently doesn’t work because `inspect` in document does a check + // w/o a bogus, which doesn’t make sense. But it does seem to help perf + // by not storing. + info = store() + currentConstruct = construct + + if (!construct.partial) { + context.currentConstruct = construct + } + + if ( + construct.name && + context.parser.constructs.disable.null.indexOf(construct.name) > -1 + ) { + return nok() + } + + return construct.tokenize.call( + fields ? assign({}, context, fields) : context, + effects, + ok, + nok + )(code) + } + } + + function ok(code) { + onreturn(currentConstruct, info) + return returnState + } + + function nok(code) { + info.restore() + + if (++constructIndex < listOfConstructs.length) { + return handleConstruct(listOfConstructs[constructIndex]) + } + + return bogusState + } + } + } + + function addResult(construct, from) { + if (construct.resolveAll && resolveAllConstructs.indexOf(construct) < 0) { + resolveAllConstructs.push(construct) + } + + if (construct.resolve) { + chunkedSplice( + context.events, + from, + context.events.length - from, + construct.resolve(context.events.slice(from), context) + ) + } + + if (construct.resolveTo) { + context.events = construct.resolveTo(context.events, context) + } + } + + function store() { + var startPoint = now() + var startPrevious = context.previous + var startCurrentConstruct = context.currentConstruct + var startEventsIndex = context.events.length + var startStack = Array.from(stack) + return { + restore: restore, + from: startEventsIndex + } + + function restore() { + point = startPoint + context.previous = startPrevious + context.currentConstruct = startCurrentConstruct + context.events.length = startEventsIndex + stack = startStack + accountForPotentialSkip() + } + } + + function accountForPotentialSkip() { + if (point.line in columnStart && point.column < 2) { + point.column = columnStart[point.line] + point.offset += columnStart[point.line] - 1 + } + } +} + +module.exports = createTokenizer diff --git a/tools/node_modules/eslint-plugin-markdown/node_modules/micromark/dist/util/miniflat.js b/tools/node_modules/eslint-plugin-markdown/node_modules/micromark/dist/util/miniflat.js new file mode 100644 index 00000000000000..39c5dd4f6435fc --- /dev/null +++ b/tools/node_modules/eslint-plugin-markdown/node_modules/micromark/dist/util/miniflat.js @@ -0,0 +1,11 @@ +'use strict' + +function miniflat(value) { + return value === null || value === undefined + ? [] + : 'length' in value + ? value + : [value] +} + +module.exports = miniflat diff --git a/tools/node_modules/eslint-plugin-markdown/node_modules/micromark/dist/util/move-point.js b/tools/node_modules/eslint-plugin-markdown/node_modules/micromark/dist/util/move-point.js new file mode 100644 index 00000000000000..63c69a2b4144d4 --- /dev/null +++ b/tools/node_modules/eslint-plugin-markdown/node_modules/micromark/dist/util/move-point.js @@ -0,0 +1,12 @@ +'use strict' + +// chunks (replacement characters, tabs, or line endings). + +function movePoint(point, offset) { + point.column += offset + point.offset += offset + point._bufferIndex += offset + return point +} + +module.exports = movePoint diff --git a/tools/node_modules/eslint-plugin-markdown/node_modules/micromark/dist/util/normalize-identifier.js b/tools/node_modules/eslint-plugin-markdown/node_modules/micromark/dist/util/normalize-identifier.js new file mode 100644 index 00000000000000..f063213454473e --- /dev/null +++ b/tools/node_modules/eslint-plugin-markdown/node_modules/micromark/dist/util/normalize-identifier.js @@ -0,0 +1,18 @@ +'use strict' + +function normalizeIdentifier(value) { + return ( + value // Collapse Markdown whitespace. + .replace(/[\t\n\r ]+/g, ' ') // Trim. + .replace(/^ | $/g, '') // Some characters are considered “uppercase”, but if their lowercase + // counterpart is uppercased will result in a different uppercase + // character. + // Hence, to get that form, we perform both lower- and uppercase. + // Upper case makes sure keys will not interact with default prototypal + // methods: no object method is uppercase. + .toLowerCase() + .toUpperCase() + ) +} + +module.exports = normalizeIdentifier diff --git a/tools/node_modules/eslint-plugin-markdown/node_modules/micromark/dist/util/normalize-uri.js b/tools/node_modules/eslint-plugin-markdown/node_modules/micromark/dist/util/normalize-uri.js new file mode 100644 index 00000000000000..8a19ace27737a2 --- /dev/null +++ b/tools/node_modules/eslint-plugin-markdown/node_modules/micromark/dist/util/normalize-uri.js @@ -0,0 +1,62 @@ +'use strict' + +var asciiAlphanumeric = require('../character/ascii-alphanumeric.js') +var fromCharCode = require('../constant/from-char-code.js') + +// encoded sequences. + +function normalizeUri(value) { + var index = -1 + var result = [] + var start = 0 + var skip = 0 + var code + var next + var replace + + while (++index < value.length) { + code = value.charCodeAt(index) // A correct percent encoded value. + + if ( + code === 37 && + asciiAlphanumeric(value.charCodeAt(index + 1)) && + asciiAlphanumeric(value.charCodeAt(index + 2)) + ) { + skip = 2 + } // ASCII. + else if (code < 128) { + if (!/[!#$&-;=?-Z_a-z~]/.test(fromCharCode(code))) { + replace = fromCharCode(code) + } + } // Astral. + else if (code > 55295 && code < 57344) { + next = value.charCodeAt(index + 1) // A correct surrogate pair. + + if (code < 56320 && next > 56319 && next < 57344) { + replace = fromCharCode(code, next) + skip = 1 + } // Lone surrogate. + else { + replace = '\uFFFD' + } + } // Unicode. + else { + replace = fromCharCode(code) + } + + if (replace) { + result.push(value.slice(start, index), encodeURIComponent(replace)) + start = index + skip + 1 + replace = undefined + } + + if (skip) { + index += skip + skip = 0 + } + } + + return result.join('') + value.slice(start) +} + +module.exports = normalizeUri diff --git a/tools/node_modules/eslint-plugin-markdown/node_modules/micromark/dist/util/prefix-size.js b/tools/node_modules/eslint-plugin-markdown/node_modules/micromark/dist/util/prefix-size.js new file mode 100644 index 00000000000000..a560e3e83a9215 --- /dev/null +++ b/tools/node_modules/eslint-plugin-markdown/node_modules/micromark/dist/util/prefix-size.js @@ -0,0 +1,11 @@ +'use strict' + +var sizeChunks = require('./size-chunks.js') + +function prefixSize(events, type) { + var tail = events[events.length - 1] + if (!tail || tail[1].type !== type) return 0 + return sizeChunks(tail[2].sliceStream(tail[1])) +} + +module.exports = prefixSize diff --git a/tools/node_modules/eslint-plugin-markdown/node_modules/micromark/dist/util/regex-check.js b/tools/node_modules/eslint-plugin-markdown/node_modules/micromark/dist/util/regex-check.js new file mode 100644 index 00000000000000..b879f444f34ea5 --- /dev/null +++ b/tools/node_modules/eslint-plugin-markdown/node_modules/micromark/dist/util/regex-check.js @@ -0,0 +1,13 @@ +'use strict' + +var fromCharCode = require('../constant/from-char-code.js') + +function regexCheck(regex) { + return check + + function check(code) { + return regex.test(fromCharCode(code)) + } +} + +module.exports = regexCheck diff --git a/tools/node_modules/eslint-plugin-markdown/node_modules/micromark/dist/util/resolve-all.js b/tools/node_modules/eslint-plugin-markdown/node_modules/micromark/dist/util/resolve-all.js new file mode 100644 index 00000000000000..3e8d76b4a460a2 --- /dev/null +++ b/tools/node_modules/eslint-plugin-markdown/node_modules/micromark/dist/util/resolve-all.js @@ -0,0 +1,20 @@ +'use strict' + +function resolveAll(constructs, events, context) { + var called = [] + var index = -1 + var resolve + + while (++index < constructs.length) { + resolve = constructs[index].resolveAll + + if (resolve && called.indexOf(resolve) < 0) { + events = resolve(events, context) + called.push(resolve) + } + } + + return events +} + +module.exports = resolveAll diff --git a/tools/node_modules/eslint-plugin-markdown/node_modules/micromark/dist/util/safe-from-int.js b/tools/node_modules/eslint-plugin-markdown/node_modules/micromark/dist/util/safe-from-int.js new file mode 100644 index 00000000000000..08dcac944cc9ed --- /dev/null +++ b/tools/node_modules/eslint-plugin-markdown/node_modules/micromark/dist/util/safe-from-int.js @@ -0,0 +1,26 @@ +'use strict' + +var fromCharCode = require('../constant/from-char-code.js') + +function safeFromInt(value, base) { + var code = parseInt(value, base) + + if ( + // C0 except for HT, LF, FF, CR, space + code < 9 || + code === 11 || + (code > 13 && code < 32) || // Control character (DEL) of the basic block and C1 controls. + (code > 126 && code < 160) || // Lone high surrogates and low surrogates. + (code > 55295 && code < 57344) || // Noncharacters. + (code > 64975 && code < 65008) || + (code & 65535) === 65535 || + (code & 65535) === 65534 || // Out of range + code > 1114111 + ) { + return '\uFFFD' + } + + return fromCharCode(code) +} + +module.exports = safeFromInt diff --git a/tools/node_modules/eslint-plugin-markdown/node_modules/micromark/dist/util/serialize-chunks.js b/tools/node_modules/eslint-plugin-markdown/node_modules/micromark/dist/util/serialize-chunks.js new file mode 100644 index 00000000000000..48d9e24f51630a --- /dev/null +++ b/tools/node_modules/eslint-plugin-markdown/node_modules/micromark/dist/util/serialize-chunks.js @@ -0,0 +1,40 @@ +'use strict' + +var fromCharCode = require('../constant/from-char-code.js') + +function serializeChunks(chunks) { + var index = -1 + var result = [] + var chunk + var value + var atTab + + while (++index < chunks.length) { + chunk = chunks[index] + + if (typeof chunk === 'string') { + value = chunk + } else if (chunk === -5) { + value = '\r' + } else if (chunk === -4) { + value = '\n' + } else if (chunk === -3) { + value = '\r' + '\n' + } else if (chunk === -2) { + value = '\t' + } else if (chunk === -1) { + if (atTab) continue + value = ' ' + } else { + // Currently only replacement character. + value = fromCharCode(chunk) + } + + atTab = chunk === -2 + result.push(value) + } + + return result.join('') +} + +module.exports = serializeChunks diff --git a/tools/node_modules/eslint-plugin-markdown/node_modules/micromark/dist/util/shallow.js b/tools/node_modules/eslint-plugin-markdown/node_modules/micromark/dist/util/shallow.js new file mode 100644 index 00000000000000..f980ab99e4c090 --- /dev/null +++ b/tools/node_modules/eslint-plugin-markdown/node_modules/micromark/dist/util/shallow.js @@ -0,0 +1,9 @@ +'use strict' + +var assign = require('../constant/assign.js') + +function shallow(object) { + return assign({}, object) +} + +module.exports = shallow diff --git a/tools/node_modules/eslint-plugin-markdown/node_modules/micromark/dist/util/size-chunks.js b/tools/node_modules/eslint-plugin-markdown/node_modules/micromark/dist/util/size-chunks.js new file mode 100644 index 00000000000000..85bacf0d4f9f22 --- /dev/null +++ b/tools/node_modules/eslint-plugin-markdown/node_modules/micromark/dist/util/size-chunks.js @@ -0,0 +1,16 @@ +'use strict' + +// Counts tabs based on their expanded size, and CR+LF as one character. + +function sizeChunks(chunks) { + var index = -1 + var size = 0 + + while (++index < chunks.length) { + size += typeof chunks[index] === 'string' ? chunks[index].length : 1 + } + + return size +} + +module.exports = sizeChunks diff --git a/tools/node_modules/eslint-plugin-markdown/node_modules/micromark/dist/util/slice-chunks.js b/tools/node_modules/eslint-plugin-markdown/node_modules/micromark/dist/util/slice-chunks.js new file mode 100644 index 00000000000000..a1ad9289c19f19 --- /dev/null +++ b/tools/node_modules/eslint-plugin-markdown/node_modules/micromark/dist/util/slice-chunks.js @@ -0,0 +1,27 @@ +'use strict' + +function sliceChunks(chunks, token) { + var startIndex = token.start._index + var startBufferIndex = token.start._bufferIndex + var endIndex = token.end._index + var endBufferIndex = token.end._bufferIndex + var view + + if (startIndex === endIndex) { + view = [chunks[startIndex].slice(startBufferIndex, endBufferIndex)] + } else { + view = chunks.slice(startIndex, endIndex) + + if (startBufferIndex > -1) { + view[0] = view[0].slice(startBufferIndex) + } + + if (endBufferIndex > 0) { + view.push(chunks[endIndex].slice(0, endBufferIndex)) + } + } + + return view +} + +module.exports = sliceChunks diff --git a/tools/node_modules/eslint-plugin-markdown/node_modules/micromark/dist/util/subtokenize.js b/tools/node_modules/eslint-plugin-markdown/node_modules/micromark/dist/util/subtokenize.js new file mode 100644 index 00000000000000..dd960c6ee4f621 --- /dev/null +++ b/tools/node_modules/eslint-plugin-markdown/node_modules/micromark/dist/util/subtokenize.js @@ -0,0 +1,199 @@ +'use strict' + +var assign = require('../constant/assign.js') +var chunkedSplice = require('./chunked-splice.js') +var shallow = require('./shallow.js') + +function subtokenize(events) { + var jumps = {} + var index = -1 + var event + var lineIndex + var otherIndex + var otherEvent + var parameters + var subevents + var more + + while (++index < events.length) { + while (index in jumps) { + index = jumps[index] + } + + event = events[index] // Add a hook for the GFM tasklist extension, which needs to know if text + // is in the first content of a list item. + + if ( + index && + event[1].type === 'chunkFlow' && + events[index - 1][1].type === 'listItemPrefix' + ) { + subevents = event[1]._tokenizer.events + otherIndex = 0 + + if ( + otherIndex < subevents.length && + subevents[otherIndex][1].type === 'lineEndingBlank' + ) { + otherIndex += 2 + } + + if ( + otherIndex < subevents.length && + subevents[otherIndex][1].type === 'content' + ) { + while (++otherIndex < subevents.length) { + if (subevents[otherIndex][1].type === 'content') { + break + } + + if (subevents[otherIndex][1].type === 'chunkText') { + subevents[otherIndex][1].isInFirstContentOfListItem = true + otherIndex++ + } + } + } + } // Enter. + + if (event[0] === 'enter') { + if (event[1].contentType) { + assign(jumps, subcontent(events, index)) + index = jumps[index] + more = true + } + } // Exit. + else if (event[1]._container || event[1]._movePreviousLineEndings) { + otherIndex = index + lineIndex = undefined + + while (otherIndex--) { + otherEvent = events[otherIndex] + + if ( + otherEvent[1].type === 'lineEnding' || + otherEvent[1].type === 'lineEndingBlank' + ) { + if (otherEvent[0] === 'enter') { + if (lineIndex) { + events[lineIndex][1].type = 'lineEndingBlank' + } + + otherEvent[1].type = 'lineEnding' + lineIndex = otherIndex + } + } else { + break + } + } + + if (lineIndex) { + // Fix position. + event[1].end = shallow(events[lineIndex][1].start) // Switch container exit w/ line endings. + + parameters = events.slice(lineIndex, index) + parameters.unshift(event) + chunkedSplice(events, lineIndex, index - lineIndex + 1, parameters) + } + } + } + + return !more +} + +function subcontent(events, eventIndex) { + var token = events[eventIndex][1] + var context = events[eventIndex][2] + var startPosition = eventIndex - 1 + var startPositions = [] + var tokenizer = + token._tokenizer || context.parser[token.contentType](token.start) + var childEvents = tokenizer.events + var jumps = [] + var gaps = {} + var stream + var previous + var index + var entered + var end + var adjust // Loop forward through the linked tokens to pass them in order to the + // subtokenizer. + + while (token) { + // Find the position of the event for this token. + while (events[++startPosition][1] !== token) { + // Empty. + } + + startPositions.push(startPosition) + + if (!token._tokenizer) { + stream = context.sliceStream(token) + + if (!token.next) { + stream.push(null) + } + + if (previous) { + tokenizer.defineSkip(token.start) + } + + if (token.isInFirstContentOfListItem) { + tokenizer._gfmTasklistFirstContentOfListItem = true + } + + tokenizer.write(stream) + + if (token.isInFirstContentOfListItem) { + tokenizer._gfmTasklistFirstContentOfListItem = undefined + } + } // Unravel the next token. + + previous = token + token = token.next + } // Now, loop back through all events (and linked tokens), to figure out which + // parts belong where. + + token = previous + index = childEvents.length + + while (index--) { + // Make sure we’ve at least seen something (final eol is part of the last + // token). + if (childEvents[index][0] === 'enter') { + entered = true + } else if ( + // Find a void token that includes a break. + entered && + childEvents[index][1].type === childEvents[index - 1][1].type && + childEvents[index][1].start.line !== childEvents[index][1].end.line + ) { + add(childEvents.slice(index + 1, end)) + // Help GC. + token._tokenizer = token.next = undefined + token = token.previous + end = index + 1 + } + } + + // Help GC. + tokenizer.events = token._tokenizer = token.next = undefined // Do head: + + add(childEvents.slice(0, end)) + index = -1 + adjust = 0 + + while (++index < jumps.length) { + gaps[adjust + jumps[index][0]] = adjust + jumps[index][1] + adjust += jumps[index][1] - jumps[index][0] - 1 + } + + return gaps + + function add(slice) { + var start = startPositions.pop() + jumps.unshift([start, start + slice.length - 1]) + chunkedSplice(events, start, 2, slice) + } +} + +module.exports = subtokenize diff --git a/tools/node_modules/eslint-plugin-markdown/node_modules/micromark/index.js b/tools/node_modules/eslint-plugin-markdown/node_modules/micromark/index.js new file mode 100644 index 00000000000000..bb7c67d973d210 --- /dev/null +++ b/tools/node_modules/eslint-plugin-markdown/node_modules/micromark/index.js @@ -0,0 +1,3 @@ +'use strict' + +module.exports = require('./buffer.js') diff --git a/tools/node_modules/eslint-plugin-markdown/node_modules/micromark/index.mjs b/tools/node_modules/eslint-plugin-markdown/node_modules/micromark/index.mjs new file mode 100644 index 00000000000000..2e841cc14a7222 --- /dev/null +++ b/tools/node_modules/eslint-plugin-markdown/node_modules/micromark/index.mjs @@ -0,0 +1 @@ +export {default} from './buffer.mjs' diff --git a/tools/node_modules/eslint-plugin-markdown/node_modules/micromark/lib/character/ascii-alpha.js b/tools/node_modules/eslint-plugin-markdown/node_modules/micromark/lib/character/ascii-alpha.js new file mode 100644 index 00000000000000..4e5b20d20b9315 --- /dev/null +++ b/tools/node_modules/eslint-plugin-markdown/node_modules/micromark/lib/character/ascii-alpha.js @@ -0,0 +1,7 @@ +'use strict' + +var regexCheck = require('../util/regex-check.js') + +var asciiAlpha = regexCheck(/[A-Za-z]/) + +module.exports = asciiAlpha diff --git a/tools/node_modules/eslint-plugin-markdown/node_modules/micromark/lib/character/ascii-alpha.mjs b/tools/node_modules/eslint-plugin-markdown/node_modules/micromark/lib/character/ascii-alpha.mjs new file mode 100644 index 00000000000000..f6f3aaba7417be --- /dev/null +++ b/tools/node_modules/eslint-plugin-markdown/node_modules/micromark/lib/character/ascii-alpha.mjs @@ -0,0 +1,3 @@ +import check from '../util/regex-check.mjs' + +export default check(/[A-Za-z]/) diff --git a/tools/node_modules/eslint-plugin-markdown/node_modules/micromark/lib/character/ascii-alphanumeric.js b/tools/node_modules/eslint-plugin-markdown/node_modules/micromark/lib/character/ascii-alphanumeric.js new file mode 100644 index 00000000000000..4ab360273aa25e --- /dev/null +++ b/tools/node_modules/eslint-plugin-markdown/node_modules/micromark/lib/character/ascii-alphanumeric.js @@ -0,0 +1,7 @@ +'use strict' + +var regexCheck = require('../util/regex-check.js') + +var asciiAlphanumeric = regexCheck(/[\dA-Za-z]/) + +module.exports = asciiAlphanumeric diff --git a/tools/node_modules/eslint-plugin-markdown/node_modules/micromark/lib/character/ascii-alphanumeric.mjs b/tools/node_modules/eslint-plugin-markdown/node_modules/micromark/lib/character/ascii-alphanumeric.mjs new file mode 100644 index 00000000000000..efed7145656d29 --- /dev/null +++ b/tools/node_modules/eslint-plugin-markdown/node_modules/micromark/lib/character/ascii-alphanumeric.mjs @@ -0,0 +1,3 @@ +import check from '../util/regex-check.mjs' + +export default check(/[\dA-Za-z]/) diff --git a/tools/node_modules/eslint-plugin-markdown/node_modules/micromark/lib/character/ascii-atext.js b/tools/node_modules/eslint-plugin-markdown/node_modules/micromark/lib/character/ascii-atext.js new file mode 100644 index 00000000000000..8962f996ede7ef --- /dev/null +++ b/tools/node_modules/eslint-plugin-markdown/node_modules/micromark/lib/character/ascii-atext.js @@ -0,0 +1,7 @@ +'use strict' + +var regexCheck = require('../util/regex-check.js') + +var asciiAtext = regexCheck(/[#-'*+\--9=?A-Z^-~]/) + +module.exports = asciiAtext diff --git a/tools/node_modules/eslint-plugin-markdown/node_modules/micromark/lib/character/ascii-atext.mjs b/tools/node_modules/eslint-plugin-markdown/node_modules/micromark/lib/character/ascii-atext.mjs new file mode 100644 index 00000000000000..56b84c42e82240 --- /dev/null +++ b/tools/node_modules/eslint-plugin-markdown/node_modules/micromark/lib/character/ascii-atext.mjs @@ -0,0 +1,3 @@ +import check from '../util/regex-check.mjs' + +export default check(/[#-'*+\--9=?A-Z^-~]/) diff --git a/tools/node_modules/eslint-plugin-markdown/node_modules/micromark/lib/character/ascii-control.js b/tools/node_modules/eslint-plugin-markdown/node_modules/micromark/lib/character/ascii-control.js new file mode 100644 index 00000000000000..c134a613fe725a --- /dev/null +++ b/tools/node_modules/eslint-plugin-markdown/node_modules/micromark/lib/character/ascii-control.js @@ -0,0 +1,14 @@ +'use strict' + +var codes = require('./codes.js') + +// Note: EOF is seen as ASCII control here, because `null < 32 == true`. +function asciiControl(code) { + return ( + // Special whitespace codes (which have negative values), C0 and Control + // character DEL + code < codes.space || code === codes.del + ) +} + +module.exports = asciiControl diff --git a/tools/node_modules/eslint-plugin-markdown/node_modules/micromark/lib/character/ascii-control.mjs b/tools/node_modules/eslint-plugin-markdown/node_modules/micromark/lib/character/ascii-control.mjs new file mode 100644 index 00000000000000..0824191947a4cf --- /dev/null +++ b/tools/node_modules/eslint-plugin-markdown/node_modules/micromark/lib/character/ascii-control.mjs @@ -0,0 +1,12 @@ +export default asciiControl + +import codes from './codes.mjs' + +// Note: EOF is seen as ASCII control here, because `null < 32 == true`. +function asciiControl(code) { + return ( + // Special whitespace codes (which have negative values), C0 and Control + // character DEL + code < codes.space || code === codes.del + ) +} diff --git a/tools/node_modules/eslint-plugin-markdown/node_modules/micromark/lib/character/ascii-digit.js b/tools/node_modules/eslint-plugin-markdown/node_modules/micromark/lib/character/ascii-digit.js new file mode 100644 index 00000000000000..da614c4e409dd3 --- /dev/null +++ b/tools/node_modules/eslint-plugin-markdown/node_modules/micromark/lib/character/ascii-digit.js @@ -0,0 +1,7 @@ +'use strict' + +var regexCheck = require('../util/regex-check.js') + +var asciiDigit = regexCheck(/\d/) + +module.exports = asciiDigit diff --git a/tools/node_modules/eslint-plugin-markdown/node_modules/micromark/lib/character/ascii-digit.mjs b/tools/node_modules/eslint-plugin-markdown/node_modules/micromark/lib/character/ascii-digit.mjs new file mode 100644 index 00000000000000..ec3b6e11dbb432 --- /dev/null +++ b/tools/node_modules/eslint-plugin-markdown/node_modules/micromark/lib/character/ascii-digit.mjs @@ -0,0 +1,3 @@ +import check from '../util/regex-check.mjs' + +export default check(/\d/) diff --git a/tools/node_modules/eslint-plugin-markdown/node_modules/micromark/lib/character/ascii-hex-digit.js b/tools/node_modules/eslint-plugin-markdown/node_modules/micromark/lib/character/ascii-hex-digit.js new file mode 100644 index 00000000000000..a0e7af43edd1b7 --- /dev/null +++ b/tools/node_modules/eslint-plugin-markdown/node_modules/micromark/lib/character/ascii-hex-digit.js @@ -0,0 +1,7 @@ +'use strict' + +var regexCheck = require('../util/regex-check.js') + +var asciiHexDigit = regexCheck(/[\dA-Fa-f]/) + +module.exports = asciiHexDigit diff --git a/tools/node_modules/eslint-plugin-markdown/node_modules/micromark/lib/character/ascii-hex-digit.mjs b/tools/node_modules/eslint-plugin-markdown/node_modules/micromark/lib/character/ascii-hex-digit.mjs new file mode 100644 index 00000000000000..3eabedbf786c09 --- /dev/null +++ b/tools/node_modules/eslint-plugin-markdown/node_modules/micromark/lib/character/ascii-hex-digit.mjs @@ -0,0 +1,3 @@ +import check from '../util/regex-check.mjs' + +export default check(/[\dA-Fa-f]/) diff --git a/tools/node_modules/eslint-plugin-markdown/node_modules/micromark/lib/character/ascii-punctuation.js b/tools/node_modules/eslint-plugin-markdown/node_modules/micromark/lib/character/ascii-punctuation.js new file mode 100644 index 00000000000000..596b45a5eb084b --- /dev/null +++ b/tools/node_modules/eslint-plugin-markdown/node_modules/micromark/lib/character/ascii-punctuation.js @@ -0,0 +1,7 @@ +'use strict' + +var regexCheck = require('../util/regex-check.js') + +var asciiPunctuation = regexCheck(/[!-/:-@[-`{-~]/) + +module.exports = asciiPunctuation diff --git a/tools/node_modules/eslint-plugin-markdown/node_modules/micromark/lib/character/ascii-punctuation.mjs b/tools/node_modules/eslint-plugin-markdown/node_modules/micromark/lib/character/ascii-punctuation.mjs new file mode 100644 index 00000000000000..d8308f1139e4fd --- /dev/null +++ b/tools/node_modules/eslint-plugin-markdown/node_modules/micromark/lib/character/ascii-punctuation.mjs @@ -0,0 +1,3 @@ +import check from '../util/regex-check.mjs' + +export default check(/[!-/:-@[-`{-~]/) diff --git a/tools/node_modules/eslint-plugin-markdown/node_modules/micromark/lib/character/codes.js b/tools/node_modules/eslint-plugin-markdown/node_modules/micromark/lib/character/codes.js new file mode 100644 index 00000000000000..46ab818040f06d --- /dev/null +++ b/tools/node_modules/eslint-plugin-markdown/node_modules/micromark/lib/character/codes.js @@ -0,0 +1,158 @@ +'use strict' + +// This module is compiled away! +// +// micromark works based on character codes. +// This module contains constants for the ASCII block and the replacement +// character. +// A couple of them are handled in a special way, such as the line endings +// (CR, LF, and CR+LF, commonly known as end-of-line: EOLs), the tab (horizontal +// tab) and its expansion based on what column it’s at (virtual space), +// and the end-of-file (eof) character. +// As values are preprocessed before handling them, the actual characters LF, +// CR, HT, and NUL (which is present as the replacement character), are +// guaranteed to not exist. +// +// Unicode basic latin block. +var codes = { + carriageReturn: -5, + lineFeed: -4, + carriageReturnLineFeed: -3, + horizontalTab: -2, + virtualSpace: -1, + eof: null, + nul: 0, + soh: 1, + stx: 2, + etx: 3, + eot: 4, + enq: 5, + ack: 6, + bel: 7, + bs: 8, + ht: 9, // `\t` + lf: 10, // `\n` + vt: 11, // `\v` + ff: 12, // `\f` + cr: 13, // `\r` + so: 14, + si: 15, + dle: 16, + dc1: 17, + dc2: 18, + dc3: 19, + dc4: 20, + nak: 21, + syn: 22, + etb: 23, + can: 24, + em: 25, + sub: 26, + esc: 27, + fs: 28, + gs: 29, + rs: 30, + us: 31, + space: 32, + exclamationMark: 33, // `!` + quotationMark: 34, // `"` + numberSign: 35, // `#` + dollarSign: 36, // `$` + percentSign: 37, // `%` + ampersand: 38, // `&` + apostrophe: 39, // `'` + leftParenthesis: 40, // `(` + rightParenthesis: 41, // `)` + asterisk: 42, // `*` + plusSign: 43, // `+` + comma: 44, // `,` + dash: 45, // `-` + dot: 46, // `.` + slash: 47, // `/` + digit0: 48, // `0` + digit1: 49, // `1` + digit2: 50, // `2` + digit3: 51, // `3` + digit4: 52, // `4` + digit5: 53, // `5` + digit6: 54, // `6` + digit7: 55, // `7` + digit8: 56, // `8` + digit9: 57, // `9` + colon: 58, // `:` + semicolon: 59, // `;` + lessThan: 60, // `<` + equalsTo: 61, // `=` + greaterThan: 62, // `>` + questionMark: 63, // `?` + atSign: 64, // `@` + uppercaseA: 65, // `A` + uppercaseB: 66, // `B` + uppercaseC: 67, // `C` + uppercaseD: 68, // `D` + uppercaseE: 69, // `E` + uppercaseF: 70, // `F` + uppercaseG: 71, // `G` + uppercaseH: 72, // `H` + uppercaseI: 73, // `I` + uppercaseJ: 74, // `J` + uppercaseK: 75, // `K` + uppercaseL: 76, // `L` + uppercaseM: 77, // `M` + uppercaseN: 78, // `N` + uppercaseO: 79, // `O` + uppercaseP: 80, // `P` + uppercaseQ: 81, // `Q` + uppercaseR: 82, // `R` + uppercaseS: 83, // `S` + uppercaseT: 84, // `T` + uppercaseU: 85, // `U` + uppercaseV: 86, // `V` + uppercaseW: 87, // `W` + uppercaseX: 88, // `X` + uppercaseY: 89, // `Y` + uppercaseZ: 90, // `Z` + leftSquareBracket: 91, // `[` + backslash: 92, // `\` + rightSquareBracket: 93, // `]` + caret: 94, // `^` + underscore: 95, // `_` + graveAccent: 96, // `` ` `` + lowercaseA: 97, // `a` + lowercaseB: 98, // `b` + lowercaseC: 99, // `c` + lowercaseD: 100, // `d` + lowercaseE: 101, // `e` + lowercaseF: 102, // `f` + lowercaseG: 103, // `g` + lowercaseH: 104, // `h` + lowercaseI: 105, // `i` + lowercaseJ: 106, // `j` + lowercaseK: 107, // `k` + lowercaseL: 108, // `l` + lowercaseM: 109, // `m` + lowercaseN: 110, // `n` + lowercaseO: 111, // `o` + lowercaseP: 112, // `p` + lowercaseQ: 113, // `q` + lowercaseR: 114, // `r` + lowercaseS: 115, // `s` + lowercaseT: 116, // `t` + lowercaseU: 117, // `u` + lowercaseV: 118, // `v` + lowercaseW: 119, // `w` + lowercaseX: 120, // `x` + lowercaseY: 121, // `y` + lowercaseZ: 122, // `z` + leftCurlyBrace: 123, // `{` + verticalBar: 124, // `|` + rightCurlyBrace: 125, // `}` + tilde: 126, // `~` + del: 127, + // Unicode Specials block. + byteOrderMarker: 65279, + // Unicode Specials block. + replacementCharacter: 65533 // `�` +} + +module.exports = codes diff --git a/tools/node_modules/eslint-plugin-markdown/node_modules/micromark/lib/character/codes.mjs b/tools/node_modules/eslint-plugin-markdown/node_modules/micromark/lib/character/codes.mjs new file mode 100644 index 00000000000000..7503f4728e2c9f --- /dev/null +++ b/tools/node_modules/eslint-plugin-markdown/node_modules/micromark/lib/character/codes.mjs @@ -0,0 +1,154 @@ +// This module is compiled away! +// +// micromark works based on character codes. +// This module contains constants for the ASCII block and the replacement +// character. +// A couple of them are handled in a special way, such as the line endings +// (CR, LF, and CR+LF, commonly known as end-of-line: EOLs), the tab (horizontal +// tab) and its expansion based on what column it’s at (virtual space), +// and the end-of-file (eof) character. +// As values are preprocessed before handling them, the actual characters LF, +// CR, HT, and NUL (which is present as the replacement character), are +// guaranteed to not exist. +// +// Unicode basic latin block. +export default { + carriageReturn: -5, + lineFeed: -4, + carriageReturnLineFeed: -3, + horizontalTab: -2, + virtualSpace: -1, + eof: null, + nul: 0, + soh: 1, + stx: 2, + etx: 3, + eot: 4, + enq: 5, + ack: 6, + bel: 7, + bs: 8, + ht: 9, // `\t` + lf: 10, // `\n` + vt: 11, // `\v` + ff: 12, // `\f` + cr: 13, // `\r` + so: 14, + si: 15, + dle: 16, + dc1: 17, + dc2: 18, + dc3: 19, + dc4: 20, + nak: 21, + syn: 22, + etb: 23, + can: 24, + em: 25, + sub: 26, + esc: 27, + fs: 28, + gs: 29, + rs: 30, + us: 31, + space: 32, + exclamationMark: 33, // `!` + quotationMark: 34, // `"` + numberSign: 35, // `#` + dollarSign: 36, // `$` + percentSign: 37, // `%` + ampersand: 38, // `&` + apostrophe: 39, // `'` + leftParenthesis: 40, // `(` + rightParenthesis: 41, // `)` + asterisk: 42, // `*` + plusSign: 43, // `+` + comma: 44, // `,` + dash: 45, // `-` + dot: 46, // `.` + slash: 47, // `/` + digit0: 48, // `0` + digit1: 49, // `1` + digit2: 50, // `2` + digit3: 51, // `3` + digit4: 52, // `4` + digit5: 53, // `5` + digit6: 54, // `6` + digit7: 55, // `7` + digit8: 56, // `8` + digit9: 57, // `9` + colon: 58, // `:` + semicolon: 59, // `;` + lessThan: 60, // `<` + equalsTo: 61, // `=` + greaterThan: 62, // `>` + questionMark: 63, // `?` + atSign: 64, // `@` + uppercaseA: 65, // `A` + uppercaseB: 66, // `B` + uppercaseC: 67, // `C` + uppercaseD: 68, // `D` + uppercaseE: 69, // `E` + uppercaseF: 70, // `F` + uppercaseG: 71, // `G` + uppercaseH: 72, // `H` + uppercaseI: 73, // `I` + uppercaseJ: 74, // `J` + uppercaseK: 75, // `K` + uppercaseL: 76, // `L` + uppercaseM: 77, // `M` + uppercaseN: 78, // `N` + uppercaseO: 79, // `O` + uppercaseP: 80, // `P` + uppercaseQ: 81, // `Q` + uppercaseR: 82, // `R` + uppercaseS: 83, // `S` + uppercaseT: 84, // `T` + uppercaseU: 85, // `U` + uppercaseV: 86, // `V` + uppercaseW: 87, // `W` + uppercaseX: 88, // `X` + uppercaseY: 89, // `Y` + uppercaseZ: 90, // `Z` + leftSquareBracket: 91, // `[` + backslash: 92, // `\` + rightSquareBracket: 93, // `]` + caret: 94, // `^` + underscore: 95, // `_` + graveAccent: 96, // `` ` `` + lowercaseA: 97, // `a` + lowercaseB: 98, // `b` + lowercaseC: 99, // `c` + lowercaseD: 100, // `d` + lowercaseE: 101, // `e` + lowercaseF: 102, // `f` + lowercaseG: 103, // `g` + lowercaseH: 104, // `h` + lowercaseI: 105, // `i` + lowercaseJ: 106, // `j` + lowercaseK: 107, // `k` + lowercaseL: 108, // `l` + lowercaseM: 109, // `m` + lowercaseN: 110, // `n` + lowercaseO: 111, // `o` + lowercaseP: 112, // `p` + lowercaseQ: 113, // `q` + lowercaseR: 114, // `r` + lowercaseS: 115, // `s` + lowercaseT: 116, // `t` + lowercaseU: 117, // `u` + lowercaseV: 118, // `v` + lowercaseW: 119, // `w` + lowercaseX: 120, // `x` + lowercaseY: 121, // `y` + lowercaseZ: 122, // `z` + leftCurlyBrace: 123, // `{` + verticalBar: 124, // `|` + rightCurlyBrace: 125, // `}` + tilde: 126, // `~` + del: 127, + // Unicode Specials block. + byteOrderMarker: 65279, + // Unicode Specials block. + replacementCharacter: 65533 // `�` +} diff --git a/tools/node_modules/eslint-plugin-markdown/node_modules/micromark/lib/character/markdown-line-ending-or-space.js b/tools/node_modules/eslint-plugin-markdown/node_modules/micromark/lib/character/markdown-line-ending-or-space.js new file mode 100644 index 00000000000000..2b6ffb9b595100 --- /dev/null +++ b/tools/node_modules/eslint-plugin-markdown/node_modules/micromark/lib/character/markdown-line-ending-or-space.js @@ -0,0 +1,9 @@ +'use strict' + +var codes = require('./codes.js') + +function markdownLineEndingOrSpace(code) { + return code < codes.nul || code === codes.space +} + +module.exports = markdownLineEndingOrSpace diff --git a/tools/node_modules/eslint-plugin-markdown/node_modules/micromark/lib/character/markdown-line-ending-or-space.mjs b/tools/node_modules/eslint-plugin-markdown/node_modules/micromark/lib/character/markdown-line-ending-or-space.mjs new file mode 100644 index 00000000000000..6e27e03752b3dd --- /dev/null +++ b/tools/node_modules/eslint-plugin-markdown/node_modules/micromark/lib/character/markdown-line-ending-or-space.mjs @@ -0,0 +1,7 @@ +export default markdownLineEndingOrSpace + +import codes from './codes.mjs' + +function markdownLineEndingOrSpace(code) { + return code < codes.nul || code === codes.space +} diff --git a/tools/node_modules/eslint-plugin-markdown/node_modules/micromark/lib/character/markdown-line-ending.js b/tools/node_modules/eslint-plugin-markdown/node_modules/micromark/lib/character/markdown-line-ending.js new file mode 100644 index 00000000000000..05032eefc5325f --- /dev/null +++ b/tools/node_modules/eslint-plugin-markdown/node_modules/micromark/lib/character/markdown-line-ending.js @@ -0,0 +1,9 @@ +'use strict' + +var codes = require('./codes.js') + +function markdownLineEnding(code) { + return code < codes.horizontalTab +} + +module.exports = markdownLineEnding diff --git a/tools/node_modules/eslint-plugin-markdown/node_modules/micromark/lib/character/markdown-line-ending.mjs b/tools/node_modules/eslint-plugin-markdown/node_modules/micromark/lib/character/markdown-line-ending.mjs new file mode 100644 index 00000000000000..63c1b71c077447 --- /dev/null +++ b/tools/node_modules/eslint-plugin-markdown/node_modules/micromark/lib/character/markdown-line-ending.mjs @@ -0,0 +1,7 @@ +export default markdownLineEnding + +import codes from './codes.mjs' + +function markdownLineEnding(code) { + return code < codes.horizontalTab +} diff --git a/tools/node_modules/eslint-plugin-markdown/node_modules/micromark/lib/character/markdown-space.js b/tools/node_modules/eslint-plugin-markdown/node_modules/micromark/lib/character/markdown-space.js new file mode 100644 index 00000000000000..6273782f9d195f --- /dev/null +++ b/tools/node_modules/eslint-plugin-markdown/node_modules/micromark/lib/character/markdown-space.js @@ -0,0 +1,13 @@ +'use strict' + +var codes = require('./codes.js') + +function markdownSpace(code) { + return ( + code === codes.horizontalTab || + code === codes.virtualSpace || + code === codes.space + ) +} + +module.exports = markdownSpace diff --git a/tools/node_modules/eslint-plugin-markdown/node_modules/micromark/lib/character/markdown-space.mjs b/tools/node_modules/eslint-plugin-markdown/node_modules/micromark/lib/character/markdown-space.mjs new file mode 100644 index 00000000000000..03b72a18fe9e36 --- /dev/null +++ b/tools/node_modules/eslint-plugin-markdown/node_modules/micromark/lib/character/markdown-space.mjs @@ -0,0 +1,11 @@ +export default markdownSpace + +import codes from './codes.mjs' + +function markdownSpace(code) { + return ( + code === codes.horizontalTab || + code === codes.virtualSpace || + code === codes.space + ) +} diff --git a/tools/node_modules/eslint-plugin-markdown/node_modules/micromark/lib/character/unicode-punctuation.js b/tools/node_modules/eslint-plugin-markdown/node_modules/micromark/lib/character/unicode-punctuation.js new file mode 100644 index 00000000000000..ae28b173101749 --- /dev/null +++ b/tools/node_modules/eslint-plugin-markdown/node_modules/micromark/lib/character/unicode-punctuation.js @@ -0,0 +1,10 @@ +'use strict' + +var unicodePunctuationRegex = require('../constant/unicode-punctuation-regex.js') +var regexCheck = require('../util/regex-check.js') + +// Size note: removing ASCII from the regex and using `ascii-punctuation` here +// In fact adds to the bundle size. +var unicodePunctuation = regexCheck(unicodePunctuationRegex) + +module.exports = unicodePunctuation diff --git a/tools/node_modules/eslint-plugin-markdown/node_modules/micromark/lib/character/unicode-punctuation.mjs b/tools/node_modules/eslint-plugin-markdown/node_modules/micromark/lib/character/unicode-punctuation.mjs new file mode 100644 index 00000000000000..037f7f9bea4029 --- /dev/null +++ b/tools/node_modules/eslint-plugin-markdown/node_modules/micromark/lib/character/unicode-punctuation.mjs @@ -0,0 +1,6 @@ +import unicodePunctuation from '../constant/unicode-punctuation-regex.mjs' +import check from '../util/regex-check.mjs' + +// Size note: removing ASCII from the regex and using `ascii-punctuation` here +// In fact adds to the bundle size. +export default check(unicodePunctuation) diff --git a/tools/node_modules/eslint-plugin-markdown/node_modules/micromark/lib/character/unicode-whitespace.js b/tools/node_modules/eslint-plugin-markdown/node_modules/micromark/lib/character/unicode-whitespace.js new file mode 100644 index 00000000000000..b09537ea087786 --- /dev/null +++ b/tools/node_modules/eslint-plugin-markdown/node_modules/micromark/lib/character/unicode-whitespace.js @@ -0,0 +1,7 @@ +'use strict' + +var regexCheck = require('../util/regex-check.js') + +var unicodeWhitespace = regexCheck(/\s/) + +module.exports = unicodeWhitespace diff --git a/tools/node_modules/eslint-plugin-markdown/node_modules/micromark/lib/character/unicode-whitespace.mjs b/tools/node_modules/eslint-plugin-markdown/node_modules/micromark/lib/character/unicode-whitespace.mjs new file mode 100644 index 00000000000000..5a7a530ac73b11 --- /dev/null +++ b/tools/node_modules/eslint-plugin-markdown/node_modules/micromark/lib/character/unicode-whitespace.mjs @@ -0,0 +1,3 @@ +import check from '../util/regex-check.mjs' + +export default check(/\s/) diff --git a/tools/node_modules/eslint-plugin-markdown/node_modules/micromark/lib/character/values.js b/tools/node_modules/eslint-plugin-markdown/node_modules/micromark/lib/character/values.js new file mode 100644 index 00000000000000..cd1794fd97342a --- /dev/null +++ b/tools/node_modules/eslint-plugin-markdown/node_modules/micromark/lib/character/values.js @@ -0,0 +1,111 @@ +'use strict' + +// This module is compiled away! +// +// While micromark works based on character codes, this module includes the +// string versions of ’em. +// The C0 block, except for LF, CR, HT, and w/ the replacement character added, +// are available here. +var values = { + ht: '\t', + lf: '\n', + cr: '\r', + space: ' ', + exclamationMark: '!', + quotationMark: '"', + numberSign: '#', + dollarSign: '$', + percentSign: '%', + ampersand: '&', + apostrophe: "'", + leftParenthesis: '(', + rightParenthesis: ')', + asterisk: '*', + plusSign: '+', + comma: ',', + dash: '-', + dot: '.', + slash: '/', + digit0: '0', + digit1: '1', + digit2: '2', + digit3: '3', + digit4: '4', + digit5: '5', + digit6: '6', + digit7: '7', + digit8: '8', + digit9: '9', + colon: ':', + semicolon: ';', + lessThan: '<', + equalsTo: '=', + greaterThan: '>', + questionMark: '?', + atSign: '@', + uppercaseA: 'A', + uppercaseB: 'B', + uppercaseC: 'C', + uppercaseD: 'D', + uppercaseE: 'E', + uppercaseF: 'F', + uppercaseG: 'G', + uppercaseH: 'H', + uppercaseI: 'I', + uppercaseJ: 'J', + uppercaseK: 'K', + uppercaseL: 'L', + uppercaseM: 'M', + uppercaseN: 'N', + uppercaseO: 'O', + uppercaseP: 'P', + uppercaseQ: 'Q', + uppercaseR: 'R', + uppercaseS: 'S', + uppercaseT: 'T', + uppercaseU: 'U', + uppercaseV: 'V', + uppercaseW: 'W', + uppercaseX: 'X', + uppercaseY: 'Y', + uppercaseZ: 'Z', + leftSquareBracket: '[', + backslash: '\\', + rightSquareBracket: ']', + caret: '^', + underscore: '_', + graveAccent: '`', + lowercaseA: 'a', + lowercaseB: 'b', + lowercaseC: 'c', + lowercaseD: 'd', + lowercaseE: 'e', + lowercaseF: 'f', + lowercaseG: 'g', + lowercaseH: 'h', + lowercaseI: 'i', + lowercaseJ: 'j', + lowercaseK: 'k', + lowercaseL: 'l', + lowercaseM: 'm', + lowercaseN: 'n', + lowercaseO: 'o', + lowercaseP: 'p', + lowercaseQ: 'q', + lowercaseR: 'r', + lowercaseS: 's', + lowercaseT: 't', + lowercaseU: 'u', + lowercaseV: 'v', + lowercaseW: 'w', + lowercaseX: 'x', + lowercaseY: 'y', + lowercaseZ: 'z', + leftCurlyBrace: '{', + verticalBar: '|', + rightCurlyBrace: '}', + tilde: '~', + replacementCharacter: '�' +} + +module.exports = values diff --git a/tools/node_modules/eslint-plugin-markdown/node_modules/micromark/lib/character/values.mjs b/tools/node_modules/eslint-plugin-markdown/node_modules/micromark/lib/character/values.mjs new file mode 100644 index 00000000000000..bc0be3fee93306 --- /dev/null +++ b/tools/node_modules/eslint-plugin-markdown/node_modules/micromark/lib/character/values.mjs @@ -0,0 +1,107 @@ +// This module is compiled away! +// +// While micromark works based on character codes, this module includes the +// string versions of ’em. +// The C0 block, except for LF, CR, HT, and w/ the replacement character added, +// are available here. +export default { + ht: '\t', + lf: '\n', + cr: '\r', + space: ' ', + exclamationMark: '!', + quotationMark: '"', + numberSign: '#', + dollarSign: '$', + percentSign: '%', + ampersand: '&', + apostrophe: "'", + leftParenthesis: '(', + rightParenthesis: ')', + asterisk: '*', + plusSign: '+', + comma: ',', + dash: '-', + dot: '.', + slash: '/', + digit0: '0', + digit1: '1', + digit2: '2', + digit3: '3', + digit4: '4', + digit5: '5', + digit6: '6', + digit7: '7', + digit8: '8', + digit9: '9', + colon: ':', + semicolon: ';', + lessThan: '<', + equalsTo: '=', + greaterThan: '>', + questionMark: '?', + atSign: '@', + uppercaseA: 'A', + uppercaseB: 'B', + uppercaseC: 'C', + uppercaseD: 'D', + uppercaseE: 'E', + uppercaseF: 'F', + uppercaseG: 'G', + uppercaseH: 'H', + uppercaseI: 'I', + uppercaseJ: 'J', + uppercaseK: 'K', + uppercaseL: 'L', + uppercaseM: 'M', + uppercaseN: 'N', + uppercaseO: 'O', + uppercaseP: 'P', + uppercaseQ: 'Q', + uppercaseR: 'R', + uppercaseS: 'S', + uppercaseT: 'T', + uppercaseU: 'U', + uppercaseV: 'V', + uppercaseW: 'W', + uppercaseX: 'X', + uppercaseY: 'Y', + uppercaseZ: 'Z', + leftSquareBracket: '[', + backslash: '\\', + rightSquareBracket: ']', + caret: '^', + underscore: '_', + graveAccent: '`', + lowercaseA: 'a', + lowercaseB: 'b', + lowercaseC: 'c', + lowercaseD: 'd', + lowercaseE: 'e', + lowercaseF: 'f', + lowercaseG: 'g', + lowercaseH: 'h', + lowercaseI: 'i', + lowercaseJ: 'j', + lowercaseK: 'k', + lowercaseL: 'l', + lowercaseM: 'm', + lowercaseN: 'n', + lowercaseO: 'o', + lowercaseP: 'p', + lowercaseQ: 'q', + lowercaseR: 'r', + lowercaseS: 's', + lowercaseT: 't', + lowercaseU: 'u', + lowercaseV: 'v', + lowercaseW: 'w', + lowercaseX: 'x', + lowercaseY: 'y', + lowercaseZ: 'z', + leftCurlyBrace: '{', + verticalBar: '|', + rightCurlyBrace: '}', + tilde: '~', + replacementCharacter: '�' +} diff --git a/tools/node_modules/eslint-plugin-markdown/node_modules/micromark/lib/compile/html.js b/tools/node_modules/eslint-plugin-markdown/node_modules/micromark/lib/compile/html.js new file mode 100644 index 00000000000000..ab6874b3cdfc27 --- /dev/null +++ b/tools/node_modules/eslint-plugin-markdown/node_modules/micromark/lib/compile/html.js @@ -0,0 +1,810 @@ +'use strict' + +var decodeEntity = require('parse-entities/decode-entity.js') +var codes = require('../character/codes.js') +var assign = require('../constant/assign.js') +var constants = require('../constant/constants.js') +var hasOwnProperty = require('../constant/has-own-property.js') +var types = require('../constant/types.js') +var combineHtmlExtensions = require('../util/combine-html-extensions.js') +var chunkedPush = require('../util/chunked-push.js') +var miniflat = require('../util/miniflat.js') +var normalizeIdentifier = require('../util/normalize-identifier.js') +var normalizeUri = require('../util/normalize-uri.js') +var safeFromInt = require('../util/safe-from-int.js') + +function _interopDefaultLegacy(e) { + return e && typeof e === 'object' && 'default' in e ? e : {default: e} +} + +var decodeEntity__default = /*#__PURE__*/ _interopDefaultLegacy(decodeEntity) + +// While micromark is a lexer/tokenizer, the common case of going from markdown + +// This ensures that certain characters which have special meaning in HTML are +// dealt with. +// Technically, we can skip `>` and `"` in many cases, but CM includes them. +var characterReferences = {'"': 'quot', '&': 'amp', '<': 'lt', '>': 'gt'} + +// These two are allowlists of essentially safe protocols for full URLs in +// respectively the `href` (on ``) and `src` (on ``) attributes. +// They are based on what is allowed on GitHub, +// +var protocolHref = /^(https?|ircs?|mailto|xmpp)$/i +var protocolSrc = /^https?$/i + +function compileHtml(options) { + // Configuration. + // Includes `htmlExtensions` (an array of extensions), `defaultLineEnding` (a + // preferred EOL), `allowDangerousProtocol` (whether to allow potential + // dangerous protocols), and `allowDangerousHtml` (whether to allow potential + // dangerous HTML). + var settings = options || {} + // Tags is needed because according to markdown, links and emphasis and + // whatnot can exist in images, however, as HTML doesn’t allow content in + // images, the tags are ignored in the `alt` attribute, but the content + // remains. + var tags = true + // An object to track identifiers to media (URLs and titles) defined with + // definitions. + var definitions = {} + // A lot of the handlers need to capture some of the output data, modify it + // somehow, and then deal with it. + // We do that by tracking a stack of buffers, that can be opened (with + // `buffer`) and closed (with `resume`) to access them. + var buffers = [[]] + // As we can have links in images and the other way around, where the deepest + // ones are closed first, we need to track which one we’re in. + var mediaStack = [] + // Same for tightness, which is specific to lists. + // We need to track if we’re currently in a tight or loose container. + var tightStack = [] + + var defaultHandlers = { + enter: { + blockQuote: onenterblockquote, + codeFenced: onentercodefenced, + codeFencedFenceInfo: buffer, + codeFencedFenceMeta: buffer, + codeIndented: onentercodeindented, + codeText: onentercodetext, + content: onentercontent, + definition: onenterdefinition, + definitionDestinationString: onenterdefinitiondestinationstring, + definitionLabelString: buffer, + definitionTitleString: buffer, + emphasis: onenteremphasis, + htmlFlow: onenterhtmlflow, + htmlText: onenterhtml, + image: onenterimage, + label: buffer, + link: onenterlink, + listItemMarker: onenterlistitemmarker, + listItemValue: onenterlistitemvalue, + listOrdered: onenterlistordered, + listUnordered: onenterlistunordered, + paragraph: onenterparagraph, + reference: buffer, + resource: onenterresource, + resourceDestinationString: onenterresourcedestinationstring, + resourceTitleString: buffer, + setextHeading: onentersetextheading, + strong: onenterstrong + }, + exit: { + atxHeading: onexitatxheading, + atxHeadingSequence: onexitatxheadingsequence, + autolinkEmail: onexitautolinkemail, + autolinkProtocol: onexitautolinkprotocol, + blockQuote: onexitblockquote, + characterEscapeValue: onexitdata, + characterReferenceMarkerHexadecimal: onexitcharacterreferencemarker, + characterReferenceMarkerNumeric: onexitcharacterreferencemarker, + characterReferenceValue: onexitcharacterreferencevalue, + codeFenced: onexitflowcode, + codeFencedFence: onexitcodefencedfence, + codeFencedFenceInfo: onexitcodefencedfenceinfo, + codeFencedFenceMeta: resume, + codeFlowValue: onexitcodeflowvalue, + codeIndented: onexitflowcode, + codeText: onexitcodetext, + codeTextData: onexitdata, + data: onexitdata, + definition: onexitdefinition, + definitionDestinationString: onexitdefinitiondestinationstring, + definitionLabelString: onexitdefinitionlabelstring, + definitionTitleString: onexitdefinitiontitlestring, + emphasis: onexitemphasis, + hardBreakEscape: onexithardbreak, + hardBreakTrailing: onexithardbreak, + htmlFlow: onexithtml, + htmlFlowData: onexitdata, + htmlText: onexithtml, + htmlTextData: onexitdata, + image: onexitmedia, + label: onexitlabel, + labelText: onexitlabeltext, + lineEnding: onexitlineending, + link: onexitmedia, + listOrdered: onexitlistordered, + listUnordered: onexitlistunordered, + paragraph: onexitparagraph, + reference: resume, + referenceString: onexitreferencestring, + resource: resume, + resourceDestinationString: onexitresourcedestinationstring, + resourceTitleString: onexitresourcetitlestring, + setextHeading: onexitsetextheading, + setextHeadingLineSequence: onexitsetextheadinglinesequence, + setextHeadingText: onexitsetextheadingtext, + strong: onexitstrong, + thematicBreak: onexitthematicbreak + } + } + + // Combine the HTML extensions with the default handlers. + // An HTML extension is an object whose fields are either `enter` or `exit` + // (reflecting whether a token is entered or exited). + // The values at such objects are names of tokens mapping to handlers. + // Handlers are called, respectively when a token is opener or closed, with + // that token, and a context as `this`. + var handlers = combineHtmlExtensions( + [defaultHandlers].concat(miniflat(settings.htmlExtensions)) + ) + + // Handlers do often need to keep track of some state. + // That state is provided here as a key-value store (an object). + var data = {tightStack: tightStack} + + // The context for handlers references a couple of useful functions. + // In handlers from extensions, those can be accessed at `this`. + // For the handlers here, they can be accessed directly. + var context = { + lineEndingIfNeeded: lineEndingIfNeeded, + options: settings, + encode: encode, + raw: raw, + tag: tag, + buffer: buffer, + resume: resume, + setData: setData, + getData: getData + } + + // Generally, micromark copies line endings (`'\r'`, `'\n'`, `'\r\n'`) in the + // markdown document over to the compiled HTML. + // In some cases, such as `> a`, CommonMark requires that extra line endings + // are added: `
    \n

    a

    \n
    `. + // This variable hold the default line ending when given (or `undefined`), + // and in the latter case will be updated to the first found line ending if + // there is one. + var lineEndingStyle = settings.defaultLineEnding + + // Return the function that handles a slice of events. + return compile + + // Deal w/ a slice of events. + // Return either the empty string if there’s nothing of note to return, or the + // result when done. + function compile(events) { + // As definitions can come after references, we need to figure out the media + // (urls and titles) defined by them before handling the references. + // So, we do sort of what HTML does: put metadata at the start (in head), and + // then put content after (`body`). + var head = [] + var body = [] + var index + var start + var listStack + var handler + var result + + index = -1 + start = 0 + listStack = [] + + while (++index < events.length) { + // Figure out the line ending style used in the document. + if ( + !lineEndingStyle && + (events[index][1].type === types.lineEnding || + events[index][1].type === types.lineEndingBlank) + ) { + lineEndingStyle = events[index][2].sliceSerialize(events[index][1]) + } + + // Preprocess lists to infer whether the list is loose or not. + if ( + events[index][1].type === types.listOrdered || + events[index][1].type === types.listUnordered + ) { + if (events[index][0] === 'enter') { + listStack.push(index) + } else { + prepareList(events.slice(listStack.pop(), index)) + } + } + + // Move definitions to the front. + if (events[index][1].type === types.definition) { + if (events[index][0] === 'enter') { + body = chunkedPush(body, events.slice(start, index)) + start = index + } else { + head = chunkedPush(head, events.slice(start, index + 1)) + start = index + 1 + } + } + } + + head = chunkedPush(head, body) + head = chunkedPush(head, events.slice(start)) + result = head + index = -1 + + // Handle the start of the document, if defined. + if (handlers.enter.null) { + handlers.enter.null.call(context) + } + + // Handle all events. + while (++index < events.length) { + handler = handlers[result[index][0]] + + if (hasOwnProperty.call(handler, result[index][1].type)) { + handler[result[index][1].type].call( + assign({sliceSerialize: result[index][2].sliceSerialize}, context), + result[index][1] + ) + } + } + + // Handle the end of the document, if defined. + if (handlers.exit.null) { + handlers.exit.null.call(context) + } + + return buffers[0].join('') + } + + // Figure out whether lists are loose or not. + function prepareList(slice) { + var length = slice.length - 1 // Skip close. + var index = 0 // Skip open. + var containerBalance = 0 + var loose + var atMarker + var event + + while (++index < length) { + event = slice[index] + + if (event[1]._container) { + atMarker = undefined + + if (event[0] === 'enter') { + containerBalance++ + } else { + containerBalance-- + } + } else if (event[1].type === types.listItemPrefix) { + if (event[0] === 'exit') { + atMarker = true + } + } else if (event[1].type === types.linePrefix); + else if (event[1].type === types.lineEndingBlank) { + if (event[0] === 'enter' && !containerBalance) { + if (atMarker) { + atMarker = undefined + } else { + loose = true + } + } + } else { + atMarker = undefined + } + } + + slice[0][1]._loose = loose + } + + // Set data into the key-value store. + function setData(key, value) { + data[key] = value + } + + // Get data from the key-value store. + function getData(key) { + return data[key] + } + + // Capture some of the output data. + function buffer() { + buffers.push([]) + } + + // Stop capturing and access the output data. + function resume() { + return buffers.pop().join('') + } + + // Output (parts of) HTML tags. + function tag(value) { + if (!tags) return + setData('lastWasTag', true) + buffers[buffers.length - 1].push(value) + } + + // Output raw data. + function raw(value) { + setData('lastWasTag') + buffers[buffers.length - 1].push(value) + } + + // Output an extra line ending. + function lineEnding() { + raw(lineEndingStyle || '\n') + } + + // Output an extra line ending if the previous value wasn’t EOF/EOL. + function lineEndingIfNeeded() { + var buffer = buffers[buffers.length - 1] + var slice = buffer[buffer.length - 1] + var previous = slice ? slice.charCodeAt(slice.length - 1) : codes.eof + + if ( + previous === codes.lf || + previous === codes.cr || + previous === codes.eof + ) { + return + } + + lineEnding() + } + + // Make a value safe for injection in HTML (except w/ `ignoreEncode`). + function encode(value) { + return getData('ignoreEncode') ? value : value.replace(/["&<>]/g, replace) + function replace(value) { + return '&' + characterReferences[value] + ';' + } + } + + // Make a value safe for injection as a URL. + // This does encode unsafe characters with percent-encoding, skipping already + // encoded sequences (`normalizeUri`). + // Further unsafe characters are encoded as character references (`encode`). + // Finally, if the URL includes an unknown protocol (such as a dangerous + // example, `javascript:`), the value is ignored. + function url(url, protocol) { + var value = encode(normalizeUri(url || '')) + var colon = value.indexOf(':') + var questionMark = value.indexOf('?') + var numberSign = value.indexOf('#') + var slash = value.indexOf('/') + + if ( + settings.allowDangerousProtocol || + // If there is no protocol, it’s relative. + colon < 0 || + // If the first colon is after a `?`, `#`, or `/`, it’s not a protocol. + (slash > -1 && colon > slash) || + (questionMark > -1 && colon > questionMark) || + (numberSign > -1 && colon > numberSign) || + // It is a protocol, it should be allowed. + protocol.test(value.slice(0, colon)) + ) { + return value + } + + return '' + } + + // + // Handlers. + // + + function onenterlistordered(token) { + tightStack.push(!token._loose) + lineEndingIfNeeded() + tag('') + } else { + onexitlistitem() + } + + lineEndingIfNeeded() + tag('
  • ') + setData('expectFirstItem') + // “Hack” to prevent a line ending from showing up if the item is empty. + setData('lastWasTag') + } + + function onexitlistordered() { + onexitlistitem() + tightStack.pop() + lineEnding() + tag('') + } + + function onexitlistunordered() { + onexitlistitem() + tightStack.pop() + lineEnding() + tag('') + } + + function onexitlistitem() { + if (getData('lastWasTag') && !getData('slurpAllLineEndings')) { + lineEndingIfNeeded() + } + + tag('
  • ') + setData('slurpAllLineEndings') + } + + function onenterblockquote() { + tightStack.push(false) + lineEndingIfNeeded() + tag('
    ') + } + + function onexitblockquote() { + tightStack.pop() + lineEndingIfNeeded() + tag('
    ') + setData('slurpAllLineEndings') + } + + function onenterparagraph() { + if (!tightStack[tightStack.length - 1]) { + lineEndingIfNeeded() + tag('

    ') + } + + setData('slurpAllLineEndings') + } + + function onexitparagraph() { + if (tightStack[tightStack.length - 1]) { + setData('slurpAllLineEndings', true) + } else { + tag('

    ') + } + } + + function onentercodefenced() { + lineEndingIfNeeded() + tag('
    ')
    +      setData('fencedCodeInside', true)
    +      setData('slurpOneLineEnding', true)
    +    }
    +
    +    setData('fencesCount', getData('fencesCount') + 1)
    +  }
    +
    +  function onentercodeindented() {
    +    lineEndingIfNeeded()
    +    tag('
    ')
    +  }
    +
    +  function onexitflowcode() {
    +    // Send an extra line feed if we saw data.
    +    if (getData('flowCodeSeenData')) lineEndingIfNeeded()
    +    tag('
    ') + if (getData('fencesCount') < 2) lineEndingIfNeeded() + setData('flowCodeSeenData') + setData('fencesCount') + setData('slurpOneLineEnding') + } + + function onenterimage() { + mediaStack.push({image: true}) + tags = undefined // Disallow tags. + } + + function onenterlink() { + mediaStack.push({}) + } + + function onexitlabeltext(token) { + mediaStack[mediaStack.length - 1].labelId = this.sliceSerialize(token) + } + + function onexitlabel() { + mediaStack[mediaStack.length - 1].label = resume() + } + + function onexitreferencestring(token) { + mediaStack[mediaStack.length - 1].referenceId = this.sliceSerialize(token) + } + + function onenterresource() { + buffer() // We can have line endings in the resource, ignore them. + mediaStack[mediaStack.length - 1].destination = '' + } + + function onenterresourcedestinationstring() { + buffer() + // Ignore encoding the result, as we’ll first percent encode the url and + // encode manually after. + setData('ignoreEncode', true) + } + + function onexitresourcedestinationstring() { + mediaStack[mediaStack.length - 1].destination = resume() + setData('ignoreEncode') + } + + function onexitresourcetitlestring() { + mediaStack[mediaStack.length - 1].title = resume() + } + + function onexitmedia() { + var index = mediaStack.length - 1 // Skip current. + var media = mediaStack[index] + var context = + media.destination === undefined + ? definitions[normalizeIdentifier(media.referenceId || media.labelId)] + : media + + tags = true + + while (index--) { + if (mediaStack[index].image) { + tags = undefined + break + } + } + + if (media.image) { + tag('')
+      raw(media.label)
+      tag('') + } else { + tag('>') + raw(media.label) + tag('
    ') + } + + mediaStack.pop() + } + + function onenterdefinition() { + buffer() + mediaStack.push({}) + } + + function onexitdefinitionlabelstring(token) { + // Discard label, use the source content instead. + resume() + mediaStack[mediaStack.length - 1].labelId = this.sliceSerialize(token) + } + + function onenterdefinitiondestinationstring() { + buffer() + setData('ignoreEncode', true) + } + + function onexitdefinitiondestinationstring() { + mediaStack[mediaStack.length - 1].destination = resume() + setData('ignoreEncode') + } + + function onexitdefinitiontitlestring() { + mediaStack[mediaStack.length - 1].title = resume() + } + + function onexitdefinition() { + var id = normalizeIdentifier(mediaStack[mediaStack.length - 1].labelId) + + resume() + + if (!hasOwnProperty.call(definitions, id)) { + definitions[id] = mediaStack[mediaStack.length - 1] + } + + mediaStack.pop() + } + + function onentercontent() { + setData('slurpAllLineEndings', true) + } + + function onexitatxheadingsequence(token) { + // Exit for further sequences. + if (getData('headingRank')) return + setData('headingRank', this.sliceSerialize(token).length) + lineEndingIfNeeded() + tag('') + } + + function onentersetextheading() { + buffer() + setData('slurpAllLineEndings') + } + + function onexitsetextheadingtext() { + setData('slurpAllLineEndings', true) + } + + function onexitatxheading() { + tag('') + setData('headingRank') + } + + function onexitsetextheadinglinesequence(token) { + setData( + 'headingRank', + this.sliceSerialize(token).charCodeAt(0) === codes.equalsTo ? 1 : 2 + ) + } + + function onexitsetextheading() { + var value = resume() + lineEndingIfNeeded() + tag('') + raw(value) + tag('') + setData('slurpAllLineEndings') + setData('headingRank') + } + + function onexitdata(token) { + raw(encode(this.sliceSerialize(token))) + } + + function onexitlineending(token) { + if (getData('slurpAllLineEndings')) { + return + } + + if (getData('slurpOneLineEnding')) { + setData('slurpOneLineEnding') + return + } + + if (getData('inCodeText')) { + raw(' ') + return + } + + raw(encode(this.sliceSerialize(token))) + } + + function onexitcodeflowvalue(token) { + raw(encode(this.sliceSerialize(token))) + setData('flowCodeSeenData', true) + } + + function onexithardbreak() { + tag('
    ') + } + + function onenterhtmlflow() { + lineEndingIfNeeded() + onenterhtml() + } + + function onexithtml() { + setData('ignoreEncode') + } + + function onenterhtml() { + if (settings.allowDangerousHtml) { + setData('ignoreEncode', true) + } + } + + function onenteremphasis() { + tag('') + } + + function onenterstrong() { + tag('') + } + + function onentercodetext() { + setData('inCodeText', true) + tag('') + } + + function onexitcodetext() { + setData('inCodeText') + tag('') + } + + function onexitemphasis() { + tag('') + } + + function onexitstrong() { + tag('') + } + + function onexitthematicbreak() { + lineEndingIfNeeded() + tag('
    ') + } + + function onexitcharacterreferencemarker(token) { + setData('characterReferenceType', token.type) + } + + function onexitcharacterreferencevalue(token) { + var value = this.sliceSerialize(token) + + value = getData('characterReferenceType') + ? safeFromInt( + value, + getData('characterReferenceType') === + types.characterReferenceMarkerNumeric + ? constants.numericBaseDecimal + : constants.numericBaseHexadecimal + ) + : decodeEntity__default['default'](value) + + raw(encode(value)) + setData('characterReferenceType') + } + + function onexitautolinkprotocol(token) { + var uri = this.sliceSerialize(token) + tag('') + raw(encode(uri)) + tag('') + } + + function onexitautolinkemail(token) { + var uri = this.sliceSerialize(token) + tag('') + raw(encode(uri)) + tag('') + } +} + +module.exports = compileHtml diff --git a/tools/node_modules/eslint-plugin-markdown/node_modules/micromark/lib/compile/html.mjs b/tools/node_modules/eslint-plugin-markdown/node_modules/micromark/lib/compile/html.mjs new file mode 100644 index 00000000000000..3cfbe1a6511b60 --- /dev/null +++ b/tools/node_modules/eslint-plugin-markdown/node_modules/micromark/lib/compile/html.mjs @@ -0,0 +1,813 @@ +// While micromark is a lexer/tokenizer, the common case of going from markdown +// to html is currently built in as this module, even though the parts can be +// used separately to build ASTs, CSTs, or many other output formats. +// +// Having an HTML compiler built in is useful because it allows us to check for +// compliancy to CommonMark, the de facto norm of markdown, specified in roughly +// 600 input/output cases. +// +// This module has an interface which accepts lists of events instead of the +// whole at once, however, because markdown can’t be truly streaming, we buffer +// events before processing and outputting the final result. + +export default compileHtml + +import decodeEntity from 'parse-entities/decode-entity.js' +import codes from '../character/codes.mjs' +import assign from '../constant/assign.mjs' +import constants from '../constant/constants.mjs' +import own from '../constant/has-own-property.mjs' +import types from '../constant/types.mjs' +import combineHtmlExtensions from '../util/combine-html-extensions.mjs' +import chunkedPush from '../util/chunked-push.mjs' +import miniflat from '../util/miniflat.mjs' +import normalizeIdentifier from '../util/normalize-identifier.mjs' +import normalizeUri from '../util/normalize-uri.mjs' +import safeFromInt from '../util/safe-from-int.mjs' + +// This ensures that certain characters which have special meaning in HTML are +// dealt with. +// Technically, we can skip `>` and `"` in many cases, but CM includes them. +var characterReferences = {'"': 'quot', '&': 'amp', '<': 'lt', '>': 'gt'} + +// These two are allowlists of essentially safe protocols for full URLs in +// respectively the `href` (on ``) and `src` (on ``) attributes. +// They are based on what is allowed on GitHub, +// +var protocolHref = /^(https?|ircs?|mailto|xmpp)$/i +var protocolSrc = /^https?$/i + +function compileHtml(options) { + // Configuration. + // Includes `htmlExtensions` (an array of extensions), `defaultLineEnding` (a + // preferred EOL), `allowDangerousProtocol` (whether to allow potential + // dangerous protocols), and `allowDangerousHtml` (whether to allow potential + // dangerous HTML). + var settings = options || {} + // Tags is needed because according to markdown, links and emphasis and + // whatnot can exist in images, however, as HTML doesn’t allow content in + // images, the tags are ignored in the `alt` attribute, but the content + // remains. + var tags = true + // An object to track identifiers to media (URLs and titles) defined with + // definitions. + var definitions = {} + // A lot of the handlers need to capture some of the output data, modify it + // somehow, and then deal with it. + // We do that by tracking a stack of buffers, that can be opened (with + // `buffer`) and closed (with `resume`) to access them. + var buffers = [[]] + // As we can have links in images and the other way around, where the deepest + // ones are closed first, we need to track which one we’re in. + var mediaStack = [] + // Same for tightness, which is specific to lists. + // We need to track if we’re currently in a tight or loose container. + var tightStack = [] + + var defaultHandlers = { + enter: { + blockQuote: onenterblockquote, + codeFenced: onentercodefenced, + codeFencedFenceInfo: buffer, + codeFencedFenceMeta: buffer, + codeIndented: onentercodeindented, + codeText: onentercodetext, + content: onentercontent, + definition: onenterdefinition, + definitionDestinationString: onenterdefinitiondestinationstring, + definitionLabelString: buffer, + definitionTitleString: buffer, + emphasis: onenteremphasis, + htmlFlow: onenterhtmlflow, + htmlText: onenterhtml, + image: onenterimage, + label: buffer, + link: onenterlink, + listItemMarker: onenterlistitemmarker, + listItemValue: onenterlistitemvalue, + listOrdered: onenterlistordered, + listUnordered: onenterlistunordered, + paragraph: onenterparagraph, + reference: buffer, + resource: onenterresource, + resourceDestinationString: onenterresourcedestinationstring, + resourceTitleString: buffer, + setextHeading: onentersetextheading, + strong: onenterstrong + }, + exit: { + atxHeading: onexitatxheading, + atxHeadingSequence: onexitatxheadingsequence, + autolinkEmail: onexitautolinkemail, + autolinkProtocol: onexitautolinkprotocol, + blockQuote: onexitblockquote, + characterEscapeValue: onexitdata, + characterReferenceMarkerHexadecimal: onexitcharacterreferencemarker, + characterReferenceMarkerNumeric: onexitcharacterreferencemarker, + characterReferenceValue: onexitcharacterreferencevalue, + codeFenced: onexitflowcode, + codeFencedFence: onexitcodefencedfence, + codeFencedFenceInfo: onexitcodefencedfenceinfo, + codeFencedFenceMeta: resume, + codeFlowValue: onexitcodeflowvalue, + codeIndented: onexitflowcode, + codeText: onexitcodetext, + codeTextData: onexitdata, + data: onexitdata, + definition: onexitdefinition, + definitionDestinationString: onexitdefinitiondestinationstring, + definitionLabelString: onexitdefinitionlabelstring, + definitionTitleString: onexitdefinitiontitlestring, + emphasis: onexitemphasis, + hardBreakEscape: onexithardbreak, + hardBreakTrailing: onexithardbreak, + htmlFlow: onexithtml, + htmlFlowData: onexitdata, + htmlText: onexithtml, + htmlTextData: onexitdata, + image: onexitmedia, + label: onexitlabel, + labelText: onexitlabeltext, + lineEnding: onexitlineending, + link: onexitmedia, + listOrdered: onexitlistordered, + listUnordered: onexitlistunordered, + paragraph: onexitparagraph, + reference: resume, + referenceString: onexitreferencestring, + resource: resume, + resourceDestinationString: onexitresourcedestinationstring, + resourceTitleString: onexitresourcetitlestring, + setextHeading: onexitsetextheading, + setextHeadingLineSequence: onexitsetextheadinglinesequence, + setextHeadingText: onexitsetextheadingtext, + strong: onexitstrong, + thematicBreak: onexitthematicbreak + } + } + + // Combine the HTML extensions with the default handlers. + // An HTML extension is an object whose fields are either `enter` or `exit` + // (reflecting whether a token is entered or exited). + // The values at such objects are names of tokens mapping to handlers. + // Handlers are called, respectively when a token is opener or closed, with + // that token, and a context as `this`. + var handlers = combineHtmlExtensions( + [defaultHandlers].concat(miniflat(settings.htmlExtensions)) + ) + + // Handlers do often need to keep track of some state. + // That state is provided here as a key-value store (an object). + var data = {tightStack: tightStack} + + // The context for handlers references a couple of useful functions. + // In handlers from extensions, those can be accessed at `this`. + // For the handlers here, they can be accessed directly. + var context = { + lineEndingIfNeeded: lineEndingIfNeeded, + options: settings, + encode: encode, + raw: raw, + tag: tag, + buffer: buffer, + resume: resume, + setData: setData, + getData: getData + } + + // Generally, micromark copies line endings (`'\r'`, `'\n'`, `'\r\n'`) in the + // markdown document over to the compiled HTML. + // In some cases, such as `> a`, CommonMark requires that extra line endings + // are added: `
    \n

    a

    \n
    `. + // This variable hold the default line ending when given (or `undefined`), + // and in the latter case will be updated to the first found line ending if + // there is one. + var lineEndingStyle = settings.defaultLineEnding + + // Return the function that handles a slice of events. + return compile + + // Deal w/ a slice of events. + // Return either the empty string if there’s nothing of note to return, or the + // result when done. + function compile(events) { + // As definitions can come after references, we need to figure out the media + // (urls and titles) defined by them before handling the references. + // So, we do sort of what HTML does: put metadata at the start (in head), and + // then put content after (`body`). + var head = [] + var body = [] + var index + var start + var listStack + var handler + var result + + index = -1 + start = 0 + listStack = [] + + while (++index < events.length) { + // Figure out the line ending style used in the document. + if ( + !lineEndingStyle && + (events[index][1].type === types.lineEnding || + events[index][1].type === types.lineEndingBlank) + ) { + lineEndingStyle = events[index][2].sliceSerialize(events[index][1]) + } + + // Preprocess lists to infer whether the list is loose or not. + if ( + events[index][1].type === types.listOrdered || + events[index][1].type === types.listUnordered + ) { + if (events[index][0] === 'enter') { + listStack.push(index) + } else { + prepareList(events.slice(listStack.pop(), index)) + } + } + + // Move definitions to the front. + if (events[index][1].type === types.definition) { + if (events[index][0] === 'enter') { + body = chunkedPush(body, events.slice(start, index)) + start = index + } else { + head = chunkedPush(head, events.slice(start, index + 1)) + start = index + 1 + } + } + } + + head = chunkedPush(head, body) + head = chunkedPush(head, events.slice(start)) + result = head + index = -1 + + // Handle the start of the document, if defined. + if (handlers.enter.null) { + handlers.enter.null.call(context) + } + + // Handle all events. + while (++index < events.length) { + handler = handlers[result[index][0]] + + if (own.call(handler, result[index][1].type)) { + handler[result[index][1].type].call( + assign({sliceSerialize: result[index][2].sliceSerialize}, context), + result[index][1] + ) + } + } + + // Handle the end of the document, if defined. + if (handlers.exit.null) { + handlers.exit.null.call(context) + } + + return buffers[0].join('') + } + + // Figure out whether lists are loose or not. + function prepareList(slice) { + var length = slice.length - 1 // Skip close. + var index = 0 // Skip open. + var containerBalance = 0 + var loose + var atMarker + var event + + while (++index < length) { + event = slice[index] + + if (event[1]._container) { + atMarker = undefined + + if (event[0] === 'enter') { + containerBalance++ + } else { + containerBalance-- + } + } else if (event[1].type === types.listItemPrefix) { + if (event[0] === 'exit') { + atMarker = true + } + } else if (event[1].type === types.linePrefix) { + // Ignore + } else if (event[1].type === types.lineEndingBlank) { + if (event[0] === 'enter' && !containerBalance) { + if (atMarker) { + atMarker = undefined + } else { + loose = true + } + } + } else { + atMarker = undefined + } + } + + slice[0][1]._loose = loose + } + + // Set data into the key-value store. + function setData(key, value) { + data[key] = value + } + + // Get data from the key-value store. + function getData(key) { + return data[key] + } + + // Capture some of the output data. + function buffer() { + buffers.push([]) + } + + // Stop capturing and access the output data. + function resume() { + return buffers.pop().join('') + } + + // Output (parts of) HTML tags. + function tag(value) { + if (!tags) return + setData('lastWasTag', true) + buffers[buffers.length - 1].push(value) + } + + // Output raw data. + function raw(value) { + setData('lastWasTag') + buffers[buffers.length - 1].push(value) + } + + // Output an extra line ending. + function lineEnding() { + raw(lineEndingStyle || '\n') + } + + // Output an extra line ending if the previous value wasn’t EOF/EOL. + function lineEndingIfNeeded() { + var buffer = buffers[buffers.length - 1] + var slice = buffer[buffer.length - 1] + var previous = slice ? slice.charCodeAt(slice.length - 1) : codes.eof + + if ( + previous === codes.lf || + previous === codes.cr || + previous === codes.eof + ) { + return + } + + lineEnding() + } + + // Make a value safe for injection in HTML (except w/ `ignoreEncode`). + function encode(value) { + return getData('ignoreEncode') ? value : value.replace(/["&<>]/g, replace) + function replace(value) { + return '&' + characterReferences[value] + ';' + } + } + + // Make a value safe for injection as a URL. + // This does encode unsafe characters with percent-encoding, skipping already + // encoded sequences (`normalizeUri`). + // Further unsafe characters are encoded as character references (`encode`). + // Finally, if the URL includes an unknown protocol (such as a dangerous + // example, `javascript:`), the value is ignored. + function url(url, protocol) { + var value = encode(normalizeUri(url || '')) + var colon = value.indexOf(':') + var questionMark = value.indexOf('?') + var numberSign = value.indexOf('#') + var slash = value.indexOf('/') + + if ( + settings.allowDangerousProtocol || + // If there is no protocol, it’s relative. + colon < 0 || + // If the first colon is after a `?`, `#`, or `/`, it’s not a protocol. + (slash > -1 && colon > slash) || + (questionMark > -1 && colon > questionMark) || + (numberSign > -1 && colon > numberSign) || + // It is a protocol, it should be allowed. + protocol.test(value.slice(0, colon)) + ) { + return value + } + + return '' + } + + // + // Handlers. + // + + function onenterlistordered(token) { + tightStack.push(!token._loose) + lineEndingIfNeeded() + tag('') + } else { + onexitlistitem() + } + + lineEndingIfNeeded() + tag('
  • ') + setData('expectFirstItem') + // “Hack” to prevent a line ending from showing up if the item is empty. + setData('lastWasTag') + } + + function onexitlistordered() { + onexitlistitem() + tightStack.pop() + lineEnding() + tag('') + } + + function onexitlistunordered() { + onexitlistitem() + tightStack.pop() + lineEnding() + tag('') + } + + function onexitlistitem() { + if (getData('lastWasTag') && !getData('slurpAllLineEndings')) { + lineEndingIfNeeded() + } + + tag('
  • ') + setData('slurpAllLineEndings') + } + + function onenterblockquote() { + tightStack.push(false) + lineEndingIfNeeded() + tag('
    ') + } + + function onexitblockquote() { + tightStack.pop() + lineEndingIfNeeded() + tag('
    ') + setData('slurpAllLineEndings') + } + + function onenterparagraph() { + if (!tightStack[tightStack.length - 1]) { + lineEndingIfNeeded() + tag('

    ') + } + + setData('slurpAllLineEndings') + } + + function onexitparagraph() { + if (tightStack[tightStack.length - 1]) { + setData('slurpAllLineEndings', true) + } else { + tag('

    ') + } + } + + function onentercodefenced() { + lineEndingIfNeeded() + tag('
    ')
    +      setData('fencedCodeInside', true)
    +      setData('slurpOneLineEnding', true)
    +    }
    +
    +    setData('fencesCount', getData('fencesCount') + 1)
    +  }
    +
    +  function onentercodeindented() {
    +    lineEndingIfNeeded()
    +    tag('
    ')
    +  }
    +
    +  function onexitflowcode() {
    +    // Send an extra line feed if we saw data.
    +    if (getData('flowCodeSeenData')) lineEndingIfNeeded()
    +    tag('
    ') + if (getData('fencesCount') < 2) lineEndingIfNeeded() + setData('flowCodeSeenData') + setData('fencesCount') + setData('slurpOneLineEnding') + } + + function onenterimage() { + mediaStack.push({image: true}) + tags = undefined // Disallow tags. + } + + function onenterlink() { + mediaStack.push({}) + } + + function onexitlabeltext(token) { + mediaStack[mediaStack.length - 1].labelId = this.sliceSerialize(token) + } + + function onexitlabel() { + mediaStack[mediaStack.length - 1].label = resume() + } + + function onexitreferencestring(token) { + mediaStack[mediaStack.length - 1].referenceId = this.sliceSerialize(token) + } + + function onenterresource() { + buffer() // We can have line endings in the resource, ignore them. + mediaStack[mediaStack.length - 1].destination = '' + } + + function onenterresourcedestinationstring() { + buffer() + // Ignore encoding the result, as we’ll first percent encode the url and + // encode manually after. + setData('ignoreEncode', true) + } + + function onexitresourcedestinationstring() { + mediaStack[mediaStack.length - 1].destination = resume() + setData('ignoreEncode') + } + + function onexitresourcetitlestring() { + mediaStack[mediaStack.length - 1].title = resume() + } + + function onexitmedia() { + var index = mediaStack.length - 1 // Skip current. + var media = mediaStack[index] + var context = + media.destination === undefined + ? definitions[normalizeIdentifier(media.referenceId || media.labelId)] + : media + + tags = true + + while (index--) { + if (mediaStack[index].image) { + tags = undefined + break + } + } + + if (media.image) { + tag('')
+      raw(media.label)
+      tag('') + } else { + tag('>') + raw(media.label) + tag('
    ') + } + + mediaStack.pop() + } + + function onenterdefinition() { + buffer() + mediaStack.push({}) + } + + function onexitdefinitionlabelstring(token) { + // Discard label, use the source content instead. + resume() + mediaStack[mediaStack.length - 1].labelId = this.sliceSerialize(token) + } + + function onenterdefinitiondestinationstring() { + buffer() + setData('ignoreEncode', true) + } + + function onexitdefinitiondestinationstring() { + mediaStack[mediaStack.length - 1].destination = resume() + setData('ignoreEncode') + } + + function onexitdefinitiontitlestring() { + mediaStack[mediaStack.length - 1].title = resume() + } + + function onexitdefinition() { + var id = normalizeIdentifier(mediaStack[mediaStack.length - 1].labelId) + + resume() + + if (!own.call(definitions, id)) { + definitions[id] = mediaStack[mediaStack.length - 1] + } + + mediaStack.pop() + } + + function onentercontent() { + setData('slurpAllLineEndings', true) + } + + function onexitatxheadingsequence(token) { + // Exit for further sequences. + if (getData('headingRank')) return + setData('headingRank', this.sliceSerialize(token).length) + lineEndingIfNeeded() + tag('') + } + + function onentersetextheading() { + buffer() + setData('slurpAllLineEndings') + } + + function onexitsetextheadingtext() { + setData('slurpAllLineEndings', true) + } + + function onexitatxheading() { + tag('') + setData('headingRank') + } + + function onexitsetextheadinglinesequence(token) { + setData( + 'headingRank', + this.sliceSerialize(token).charCodeAt(0) === codes.equalsTo ? 1 : 2 + ) + } + + function onexitsetextheading() { + var value = resume() + lineEndingIfNeeded() + tag('') + raw(value) + tag('') + setData('slurpAllLineEndings') + setData('headingRank') + } + + function onexitdata(token) { + raw(encode(this.sliceSerialize(token))) + } + + function onexitlineending(token) { + if (getData('slurpAllLineEndings')) { + return + } + + if (getData('slurpOneLineEnding')) { + setData('slurpOneLineEnding') + return + } + + if (getData('inCodeText')) { + raw(' ') + return + } + + raw(encode(this.sliceSerialize(token))) + } + + function onexitcodeflowvalue(token) { + raw(encode(this.sliceSerialize(token))) + setData('flowCodeSeenData', true) + } + + function onexithardbreak() { + tag('
    ') + } + + function onenterhtmlflow() { + lineEndingIfNeeded() + onenterhtml() + } + + function onexithtml() { + setData('ignoreEncode') + } + + function onenterhtml() { + if (settings.allowDangerousHtml) { + setData('ignoreEncode', true) + } + } + + function onenteremphasis() { + tag('') + } + + function onenterstrong() { + tag('') + } + + function onentercodetext() { + setData('inCodeText', true) + tag('') + } + + function onexitcodetext() { + setData('inCodeText') + tag('') + } + + function onexitemphasis() { + tag('') + } + + function onexitstrong() { + tag('') + } + + function onexitthematicbreak() { + lineEndingIfNeeded() + tag('
    ') + } + + function onexitcharacterreferencemarker(token) { + setData('characterReferenceType', token.type) + } + + function onexitcharacterreferencevalue(token) { + var value = this.sliceSerialize(token) + + value = getData('characterReferenceType') + ? safeFromInt( + value, + getData('characterReferenceType') === + types.characterReferenceMarkerNumeric + ? constants.numericBaseDecimal + : constants.numericBaseHexadecimal + ) + : decodeEntity(value) + + raw(encode(value)) + setData('characterReferenceType') + } + + function onexitautolinkprotocol(token) { + var uri = this.sliceSerialize(token) + tag('') + raw(encode(uri)) + tag('') + } + + function onexitautolinkemail(token) { + var uri = this.sliceSerialize(token) + tag('') + raw(encode(uri)) + tag('') + } +} diff --git a/tools/node_modules/eslint-plugin-markdown/node_modules/micromark/lib/constant/assign.js b/tools/node_modules/eslint-plugin-markdown/node_modules/micromark/lib/constant/assign.js new file mode 100644 index 00000000000000..b6ae48a0903c93 --- /dev/null +++ b/tools/node_modules/eslint-plugin-markdown/node_modules/micromark/lib/constant/assign.js @@ -0,0 +1,5 @@ +'use strict' + +var assign = Object.assign + +module.exports = assign diff --git a/tools/node_modules/eslint-plugin-markdown/node_modules/micromark/lib/constant/assign.mjs b/tools/node_modules/eslint-plugin-markdown/node_modules/micromark/lib/constant/assign.mjs new file mode 100644 index 00000000000000..8cfbca32c571ef --- /dev/null +++ b/tools/node_modules/eslint-plugin-markdown/node_modules/micromark/lib/constant/assign.mjs @@ -0,0 +1 @@ +export default Object.assign diff --git a/tools/node_modules/eslint-plugin-markdown/node_modules/micromark/lib/constant/constants.js b/tools/node_modules/eslint-plugin-markdown/node_modules/micromark/lib/constant/constants.js new file mode 100644 index 00000000000000..cd75c0718a9783 --- /dev/null +++ b/tools/node_modules/eslint-plugin-markdown/node_modules/micromark/lib/constant/constants.js @@ -0,0 +1,45 @@ +'use strict' + +// This module is compiled away! +// +// Parsing markdown comes with a couple of constants, such as minimum or maximum +// sizes of certain sequences. +// Additionally, there are a couple symbols used inside micromark. +// These are all defined here, but compiled away by scripts. +var constants = { + attentionSideBefore: 1, // Symbol to mark an attention sequence as before content: `*a` + attentionSideAfter: 2, // Symbol to mark an attention sequence as after content: `a*` + atxHeadingOpeningFenceSizeMax: 6, // 6 number signs is fine, 7 isn’t. + autolinkDomainSizeMax: 63, // 63 characters is fine, 64 is too many. + autolinkSchemeSizeMax: 32, // 32 characters is fine, 33 is too many. + cdataOpeningString: 'CDATA[', // And preceded by `` + htmlComment: 2, // Symbol for `` + htmlInstruction: 3, // Symbol for `` + htmlDeclaration: 4, // Symbol for `` + htmlCdata: 5, // Symbol for `` + htmlBasic: 6, // Symbol for `` + htmlRawSizeMax: 8, // Length of `textarea`. + linkResourceDestinationBalanceMax: 3, // See: + linkReferenceSizeMax: 999, // See: + listItemValueSizeMax: 10, // See: + numericBaseDecimal: 10, + numericBaseHexadecimal: 0x10, + tabSize: 4, // Tabs have a hard-coded size of 4, per CommonMark. + thematicBreakMarkerCountMin: 3, // At least 3 asterisks, dashes, or underscores are needed. + v8MaxSafeChunkSize: 10000 // V8 (and potentially others) have problems injecting giant arrays into other arrays, hence we operate in chunks. +} + +module.exports = constants diff --git a/tools/node_modules/eslint-plugin-markdown/node_modules/micromark/lib/constant/constants.mjs b/tools/node_modules/eslint-plugin-markdown/node_modules/micromark/lib/constant/constants.mjs new file mode 100644 index 00000000000000..65db9017671d09 --- /dev/null +++ b/tools/node_modules/eslint-plugin-markdown/node_modules/micromark/lib/constant/constants.mjs @@ -0,0 +1,41 @@ +// This module is compiled away! +// +// Parsing markdown comes with a couple of constants, such as minimum or maximum +// sizes of certain sequences. +// Additionally, there are a couple symbols used inside micromark. +// These are all defined here, but compiled away by scripts. +export default { + attentionSideBefore: 1, // Symbol to mark an attention sequence as before content: `*a` + attentionSideAfter: 2, // Symbol to mark an attention sequence as after content: `a*` + atxHeadingOpeningFenceSizeMax: 6, // 6 number signs is fine, 7 isn’t. + autolinkDomainSizeMax: 63, // 63 characters is fine, 64 is too many. + autolinkSchemeSizeMax: 32, // 32 characters is fine, 33 is too many. + cdataOpeningString: 'CDATA[', // And preceded by `` + htmlComment: 2, // Symbol for `` + htmlInstruction: 3, // Symbol for `` + htmlDeclaration: 4, // Symbol for `` + htmlCdata: 5, // Symbol for `` + htmlBasic: 6, // Symbol for `` + htmlRawSizeMax: 8, // Length of `textarea`. + linkResourceDestinationBalanceMax: 3, // See: + linkReferenceSizeMax: 999, // See: + listItemValueSizeMax: 10, // See: + numericBaseDecimal: 10, + numericBaseHexadecimal: 0x10, + tabSize: 4, // Tabs have a hard-coded size of 4, per CommonMark. + thematicBreakMarkerCountMin: 3, // At least 3 asterisks, dashes, or underscores are needed. + v8MaxSafeChunkSize: 10000 // V8 (and potentially others) have problems injecting giant arrays into other arrays, hence we operate in chunks. +} diff --git a/tools/node_modules/eslint-plugin-markdown/node_modules/micromark/lib/constant/from-char-code.js b/tools/node_modules/eslint-plugin-markdown/node_modules/micromark/lib/constant/from-char-code.js new file mode 100644 index 00000000000000..232eac74053d18 --- /dev/null +++ b/tools/node_modules/eslint-plugin-markdown/node_modules/micromark/lib/constant/from-char-code.js @@ -0,0 +1,5 @@ +'use strict' + +var fromCharCode = String.fromCharCode + +module.exports = fromCharCode diff --git a/tools/node_modules/eslint-plugin-markdown/node_modules/micromark/lib/constant/from-char-code.mjs b/tools/node_modules/eslint-plugin-markdown/node_modules/micromark/lib/constant/from-char-code.mjs new file mode 100644 index 00000000000000..0476a76366caff --- /dev/null +++ b/tools/node_modules/eslint-plugin-markdown/node_modules/micromark/lib/constant/from-char-code.mjs @@ -0,0 +1 @@ +export default String.fromCharCode diff --git a/tools/node_modules/eslint-plugin-markdown/node_modules/micromark/lib/constant/has-own-property.js b/tools/node_modules/eslint-plugin-markdown/node_modules/micromark/lib/constant/has-own-property.js new file mode 100644 index 00000000000000..aa9197cd2593d1 --- /dev/null +++ b/tools/node_modules/eslint-plugin-markdown/node_modules/micromark/lib/constant/has-own-property.js @@ -0,0 +1,5 @@ +'use strict' + +var own = {}.hasOwnProperty + +module.exports = own diff --git a/tools/node_modules/eslint-plugin-markdown/node_modules/micromark/lib/constant/has-own-property.mjs b/tools/node_modules/eslint-plugin-markdown/node_modules/micromark/lib/constant/has-own-property.mjs new file mode 100644 index 00000000000000..1da16d6dd42e4e --- /dev/null +++ b/tools/node_modules/eslint-plugin-markdown/node_modules/micromark/lib/constant/has-own-property.mjs @@ -0,0 +1 @@ +export default {}.hasOwnProperty diff --git a/tools/node_modules/eslint-plugin-markdown/node_modules/micromark/lib/constant/html-block-names.js b/tools/node_modules/eslint-plugin-markdown/node_modules/micromark/lib/constant/html-block-names.js new file mode 100644 index 00000000000000..9b5ada73f0671a --- /dev/null +++ b/tools/node_modules/eslint-plugin-markdown/node_modules/micromark/lib/constant/html-block-names.js @@ -0,0 +1,69 @@ +'use strict' + +// This module is copied from . +var basics = [ + 'address', + 'article', + 'aside', + 'base', + 'basefont', + 'blockquote', + 'body', + 'caption', + 'center', + 'col', + 'colgroup', + 'dd', + 'details', + 'dialog', + 'dir', + 'div', + 'dl', + 'dt', + 'fieldset', + 'figcaption', + 'figure', + 'footer', + 'form', + 'frame', + 'frameset', + 'h1', + 'h2', + 'h3', + 'h4', + 'h5', + 'h6', + 'head', + 'header', + 'hr', + 'html', + 'iframe', + 'legend', + 'li', + 'link', + 'main', + 'menu', + 'menuitem', + 'nav', + 'noframes', + 'ol', + 'optgroup', + 'option', + 'p', + 'param', + 'section', + 'source', + 'summary', + 'table', + 'tbody', + 'td', + 'tfoot', + 'th', + 'thead', + 'title', + 'tr', + 'track', + 'ul' +] + +module.exports = basics diff --git a/tools/node_modules/eslint-plugin-markdown/node_modules/remark-parse/lib/block-elements.js b/tools/node_modules/eslint-plugin-markdown/node_modules/micromark/lib/constant/html-block-names.mjs similarity index 87% rename from tools/node_modules/eslint-plugin-markdown/node_modules/remark-parse/lib/block-elements.js rename to tools/node_modules/eslint-plugin-markdown/node_modules/micromark/lib/constant/html-block-names.mjs index c73efac9bb2786..8d974d8f35cbd0 100644 --- a/tools/node_modules/eslint-plugin-markdown/node_modules/remark-parse/lib/block-elements.js +++ b/tools/node_modules/eslint-plugin-markdown/node_modules/micromark/lib/constant/html-block-names.mjs @@ -1,6 +1,5 @@ -'use strict' - -module.exports = [ +// This module is copied from . +export default [ 'address', 'article', 'aside', @@ -34,7 +33,6 @@ module.exports = [ 'h6', 'head', 'header', - 'hgroup', 'hr', 'html', 'iframe', @@ -44,7 +42,6 @@ module.exports = [ 'main', 'menu', 'menuitem', - 'meta', 'nav', 'noframes', 'ol', @@ -52,10 +49,8 @@ module.exports = [ 'option', 'p', 'param', - 'pre', 'section', 'source', - 'title', 'summary', 'table', 'tbody', diff --git a/tools/node_modules/eslint-plugin-markdown/node_modules/micromark/lib/constant/html-raw-names.js b/tools/node_modules/eslint-plugin-markdown/node_modules/micromark/lib/constant/html-raw-names.js new file mode 100644 index 00000000000000..c22a3954291f82 --- /dev/null +++ b/tools/node_modules/eslint-plugin-markdown/node_modules/micromark/lib/constant/html-raw-names.js @@ -0,0 +1,6 @@ +'use strict' + +// This module is copied from . +var raws = ['pre', 'script', 'style', 'textarea'] + +module.exports = raws diff --git a/tools/node_modules/eslint-plugin-markdown/node_modules/micromark/lib/constant/html-raw-names.mjs b/tools/node_modules/eslint-plugin-markdown/node_modules/micromark/lib/constant/html-raw-names.mjs new file mode 100644 index 00000000000000..2da5febe3f80fb --- /dev/null +++ b/tools/node_modules/eslint-plugin-markdown/node_modules/micromark/lib/constant/html-raw-names.mjs @@ -0,0 +1,2 @@ +// This module is copied from . +export default ['pre', 'script', 'style', 'textarea'] diff --git a/tools/node_modules/eslint-plugin-markdown/node_modules/micromark/lib/constant/splice.js b/tools/node_modules/eslint-plugin-markdown/node_modules/micromark/lib/constant/splice.js new file mode 100644 index 00000000000000..8917210ac71670 --- /dev/null +++ b/tools/node_modules/eslint-plugin-markdown/node_modules/micromark/lib/constant/splice.js @@ -0,0 +1,5 @@ +'use strict' + +var splice = [].splice + +module.exports = splice diff --git a/tools/node_modules/eslint-plugin-markdown/node_modules/micromark/lib/constant/splice.mjs b/tools/node_modules/eslint-plugin-markdown/node_modules/micromark/lib/constant/splice.mjs new file mode 100644 index 00000000000000..482404ddf7a96e --- /dev/null +++ b/tools/node_modules/eslint-plugin-markdown/node_modules/micromark/lib/constant/splice.mjs @@ -0,0 +1 @@ +export default [].splice diff --git a/tools/node_modules/eslint-plugin-markdown/node_modules/micromark/lib/constant/types.js b/tools/node_modules/eslint-plugin-markdown/node_modules/micromark/lib/constant/types.js new file mode 100644 index 00000000000000..11d9e4ed1dda90 --- /dev/null +++ b/tools/node_modules/eslint-plugin-markdown/node_modules/micromark/lib/constant/types.js @@ -0,0 +1,452 @@ +'use strict' + +// This module is compiled away! +// +// Here is the list of all types of tokens exposed by micromark, with a short +// explanation of what they include and where they are found. +// In picking names, generally, the rule is to be as explicit as possible +// instead of reusing names. +// For example, there is a `definitionDestination` and a `resourceDestination`, +// instead of one shared name. + +var types = { + // Generic type for data, such as in a title, a destination, etc. + data: 'data', + + // Generic type for syntactic whitespace (tabs, virtual spaces, spaces). + // Such as, between a fenced code fence and an info string. + whitespace: 'whitespace', + + // Generic type for line endings (line feed, carriage return, carriage return + + // line feed). + lineEnding: 'lineEnding', + + // A line ending, but ending a blank line. + lineEndingBlank: 'lineEndingBlank', + + // Generic type for whitespace (tabs, virtual spaces, spaces) at the start of a + // line. + linePrefix: 'linePrefix', + + // Generic type for whitespace (tabs, virtual spaces, spaces) at the end of a + // line. + lineSuffix: 'lineSuffix', + + // Whole ATX heading: + // + // ```markdown + // # + // ## Alpha + // ### Bravo ### + // ``` + // + // Includes `atxHeadingSequence`, `whitespace`, `atxHeadingText`. + atxHeading: 'atxHeading', + + // Sequence of number signs in an ATX heading (`###`). + atxHeadingSequence: 'atxHeadingSequence', + + // Content in an ATX heading (`alpha`). + // Includes text. + atxHeadingText: 'atxHeadingText', + + // Whole autolink (`` or ``) + // Includes `autolinkMarker` and `autolinkProtocol` or `autolinkEmail`. + autolink: 'autolink', + + // Email autolink w/o markers (`admin@example.com`) + autolinkEmail: 'autolinkEmail', + + // Marker around an `autolinkProtocol` or `autolinkEmail` (`<` or `>`). + autolinkMarker: 'autolinkMarker', + + // Protocol autolink w/o markers (`https://example.com`) + autolinkProtocol: 'autolinkProtocol', + + // A whole character escape (`\-`). + // Includes `escapeMarker` and `characterEscapeValue`. + characterEscape: 'characterEscape', + + // The escaped character (`-`). + characterEscapeValue: 'characterEscapeValue', + + // A whole character reference (`&`, `≠`, or `𝌆`). + // Includes `characterReferenceMarker`, an optional + // `characterReferenceMarkerNumeric`, in which case an optional + // `characterReferenceMarkerHexadecimal`, and a `characterReferenceValue`. + characterReference: 'characterReference', + + // The start or end marker (`&` or `;`). + characterReferenceMarker: 'characterReferenceMarker', + + // Mark reference as numeric (`#`). + characterReferenceMarkerNumeric: 'characterReferenceMarkerNumeric', + + // Mark reference as numeric (`x` or `X`). + characterReferenceMarkerHexadecimal: 'characterReferenceMarkerHexadecimal', + + // Value of character reference w/o markers (`amp`, `8800`, or `1D306`). + characterReferenceValue: 'characterReferenceValue', + + // Whole fenced code: + // + // ````markdown + // ```js + // alert(1) + // ``` + // ```` + codeFenced: 'codeFenced', + + // A fenced code fence, including whitespace, sequence, info, and meta + // (` ```js `). + codeFencedFence: 'codeFencedFence', + + // Sequence of grave accent or tilde characters (` ``` `) in a fence. + codeFencedFenceSequence: 'codeFencedFenceSequence', + + // Info word (`js`) in a fence. + // Includes string. + codeFencedFenceInfo: 'codeFencedFenceInfo', + + // Meta words (`highlight="1"`) in a fence. + // Includes string. + codeFencedFenceMeta: 'codeFencedFenceMeta', + + // A line of code. + codeFlowValue: 'codeFlowValue', + + // Whole indented code: + // + // ```markdown + // alert(1) + // ``` + // + // Includes `lineEnding`, `linePrefix`, and `codeFlowValue`. + codeIndented: 'codeIndented', + + // A text code (``` `alpha` ```). + // Includes `codeTextSequence`, `codeTextData`, `lineEnding`, and can include + // `codeTextPadding`. + codeText: 'codeText', + + codeTextData: 'codeTextData', + + // A space or line ending right after or before a tick. + codeTextPadding: 'codeTextPadding', + + // A text code fence (` `` `). + codeTextSequence: 'codeTextSequence', + + // Whole content: + // + // ```markdown + // [a]: b + // c + // = + // d + // ``` + // + // Includes `paragraph` and `definition`. + content: 'content', + // Whole definition: + // + // ```markdown + // [micromark]: https://github.com/micromark/micromark + // ``` + // + // Includes `definitionLabel`, `definitionMarker`, `whitespace`, + // `definitionDestination`, and optionally `lineEnding` and `definitionTitle`. + definition: 'definition', + + // Destination of a definition (`https://github.com/micromark/micromark` or + // ``). + // Includes `definitionDestinationLiteral` or `definitionDestinationRaw`. + definitionDestination: 'definitionDestination', + + // Enclosed destination of a definition + // (``). + // Includes `definitionDestinationLiteralMarker` and optionally + // `definitionDestinationString`. + definitionDestinationLiteral: 'definitionDestinationLiteral', + + // Markers of an enclosed definition destination (`<` or `>`). + definitionDestinationLiteralMarker: 'definitionDestinationLiteralMarker', + + // Unenclosed destination of a definition + // (`https://github.com/micromark/micromark`). + // Includes `definitionDestinationString`. + definitionDestinationRaw: 'definitionDestinationRaw', + + // Text in an destination (`https://github.com/micromark/micromark`). + // Includes string. + definitionDestinationString: 'definitionDestinationString', + + // Label of a definition (`[micromark]`). + // Includes `definitionLabelMarker` and `definitionLabelString`. + definitionLabel: 'definitionLabel', + + // Markers of a definition label (`[` or `]`). + definitionLabelMarker: 'definitionLabelMarker', + + // Value of a definition label (`micromark`). + // Includes string. + definitionLabelString: 'definitionLabelString', + + // Marker between a label and a destination (`:`). + definitionMarker: 'definitionMarker', + + // Title of a definition (`"x"`, `'y'`, or `(z)`). + // Includes `definitionTitleMarker` and optionally `definitionTitleString`. + definitionTitle: 'definitionTitle', + + // Marker around a title of a definition (`"`, `'`, `(`, or `)`). + definitionTitleMarker: 'definitionTitleMarker', + + // Data without markers in a title (`z`). + // Includes string. + definitionTitleString: 'definitionTitleString', + + // Emphasis (`*alpha*`). + // Includes `emphasisSequence` and `emphasisText`. + emphasis: 'emphasis', + + // Sequence of emphasis markers (`*` or `_`). + emphasisSequence: 'emphasisSequence', + + // Emphasis text (`alpha`). + // Includes text. + emphasisText: 'emphasisText', + + // The character escape marker (`\`). + escapeMarker: 'escapeMarker', + + // A hard break created with a backslash (`\\n`). + // Includes `escapeMarker` (does not include the line ending) + hardBreakEscape: 'hardBreakEscape', + + // A hard break created with trailing spaces (` \n`). + // Does not include the line ending. + hardBreakTrailing: 'hardBreakTrailing', + + // Flow HTML: + // + // ```markdown + //
    b`). + // Includes `lineEnding`, `htmlTextData`. + htmlText: 'htmlText', + + htmlTextData: 'htmlTextData', + + // Whole image (`![alpha](bravo)`, `![alpha][bravo]`, `![alpha][]`, or + // `![alpha]`). + // Includes `label` and an optional `resource` or `reference`. + image: 'image', + + // Whole link label (`[*alpha*]`). + // Includes `labelLink` or `labelImage`, `labelText`, and `labelEnd`. + label: 'label', + + // Text in an label (`*alpha*`). + // Includes text. + labelText: 'labelText', + + // Start a link label (`[`). + // Includes a `labelMarker`. + labelLink: 'labelLink', + + // Start an image label (`![`). + // Includes `labelImageMarker` and `labelMarker`. + labelImage: 'labelImage', + + // Marker of a label (`[` or `]`). + labelMarker: 'labelMarker', + + // Marker to start an image (`!`). + labelImageMarker: 'labelImageMarker', + + // End a label (`]`). + // Includes `labelMarker`. + labelEnd: 'labelEnd', + + // Whole link (`[alpha](bravo)`, `[alpha][bravo]`, `[alpha][]`, or `[alpha]`). + // Includes `label` and an optional `resource` or `reference`. + link: 'link', + + // Whole paragraph: + // + // ```markdown + // alpha + // bravo. + // ``` + // + // Includes text. + paragraph: 'paragraph', + + // A reference (`[alpha]` or `[]`). + // Includes `referenceMarker` and an optional `referenceString`. + reference: 'reference', + + // A reference marker (`[` or `]`). + referenceMarker: 'referenceMarker', + + // Reference text (`alpha`). + // Includes string. + referenceString: 'referenceString', + + // A resource (`(https://example.com "alpha")`). + // Includes `resourceMarker`, an optional `resourceDestination` with an optional + // `whitespace` and `resourceTitle`. + resource: 'resource', + + // A resource destination (`https://example.com`). + // Includes `resourceDestinationLiteral` or `resourceDestinationRaw`. + resourceDestination: 'resourceDestination', + + // A literal resource destination (``). + // Includes `resourceDestinationLiteralMarker` and optionally + // `resourceDestinationString`. + resourceDestinationLiteral: 'resourceDestinationLiteral', + + // A resource destination marker (`<` or `>`). + resourceDestinationLiteralMarker: 'resourceDestinationLiteralMarker', + + // A raw resource destination (`https://example.com`). + // Includes `resourceDestinationString`. + resourceDestinationRaw: 'resourceDestinationRaw', + + // Resource destination text (`https://example.com`). + // Includes string. + resourceDestinationString: 'resourceDestinationString', + + // A resource marker (`(` or `)`). + resourceMarker: 'resourceMarker', + + // A resource title (`"alpha"`, `'alpha'`, or `(alpha)`). + // Includes `resourceTitleMarker` and optionally `resourceTitleString`. + resourceTitle: 'resourceTitle', + + // A resource title marker (`"`, `'`, `(`, or `)`). + resourceTitleMarker: 'resourceTitleMarker', + + // Resource destination title (`alpha`). + // Includes string. + resourceTitleString: 'resourceTitleString', + + // Whole setext heading: + // + // ```markdown + // alpha + // bravo + // ===== + // ``` + // + // Includes `setextHeadingText`, `lineEnding`, `linePrefix`, and + // `setextHeadingLine`. + setextHeading: 'setextHeading', + + // Content in a setext heading (`alpha\nbravo`). + // Includes text. + setextHeadingText: 'setextHeadingText', + + // Underline in a setext heading, including whitespace suffix (`==`). + // Includes `setextHeadingLineSequence`. + setextHeadingLine: 'setextHeadingLine', + + // Sequence of equals or dash characters in underline in a setext heading (`-`). + setextHeadingLineSequence: 'setextHeadingLineSequence', + + // Strong (`**alpha**`). + // Includes `strongSequence` and `strongText`. + strong: 'strong', + + // Sequence of strong markers (`**` or `__`). + strongSequence: 'strongSequence', + + // Strong text (`alpha`). + // Includes text. + strongText: 'strongText', + + // Whole thematic break: + // + // ```markdown + // * * * + // ``` + // + // Includes `thematicBreakSequence` and `whitespace`. + thematicBreak: 'thematicBreak', + + // A sequence of one or more thematic break markers (`***`). + thematicBreakSequence: 'thematicBreakSequence', + + // Whole block quote: + // + // ```markdown + // > a + // > + // > b + // ``` + // + // Includes `blockQuotePrefix` and flow. + blockQuote: 'blockQuote', + // The `>` or `> ` of a block quote. + blockQuotePrefix: 'blockQuotePrefix', + // The `>` of a block quote prefix. + blockQuoteMarker: 'blockQuoteMarker', + // The optional ` ` of a block quote prefix. + blockQuotePrefixWhitespace: 'blockQuotePrefixWhitespace', + + // Whole unordered list: + // + // ```markdown + // - a + // b + // ``` + // + // Includes `listItemPrefix`, flow, and optionally `listItemIndent` on further + // lines. + listOrdered: 'listOrdered', + + // Whole ordered list: + // + // ```markdown + // 1. a + // b + // ``` + // + // Includes `listItemPrefix`, flow, and optionally `listItemIndent` on further + // lines. + listUnordered: 'listUnordered', + + // The indent of further list item lines. + listItemIndent: 'listItemIndent', + + // A marker, as in, `*`, `+`, `-`, `.`, or `)`. + listItemMarker: 'listItemMarker', + + // The thing that starts a list item, such as `1. `. + // Includes `listItemValue` if ordered, `listItemMarker`, and + // `listItemPrefixWhitespace` (unless followed by a line ending). + listItemPrefix: 'listItemPrefix', + + // The whitespace after a marker. + listItemPrefixWhitespace: 'listItemPrefixWhitespace', + + // The numerical value of an ordered item. + listItemValue: 'listItemValue', + + // Internal types used for subtokenizers, compiled away + chunkContent: 'chunkContent', + chunkFlow: 'chunkFlow', + chunkText: 'chunkText', + chunkString: 'chunkString' +} + +module.exports = types diff --git a/tools/node_modules/eslint-plugin-markdown/node_modules/micromark/lib/constant/types.mjs b/tools/node_modules/eslint-plugin-markdown/node_modules/micromark/lib/constant/types.mjs new file mode 100644 index 00000000000000..d39d97900104af --- /dev/null +++ b/tools/node_modules/eslint-plugin-markdown/node_modules/micromark/lib/constant/types.mjs @@ -0,0 +1,448 @@ +// This module is compiled away! +// +// Here is the list of all types of tokens exposed by micromark, with a short +// explanation of what they include and where they are found. +// In picking names, generally, the rule is to be as explicit as possible +// instead of reusing names. +// For example, there is a `definitionDestination` and a `resourceDestination`, +// instead of one shared name. + +export default { + // Generic type for data, such as in a title, a destination, etc. + data: 'data', + + // Generic type for syntactic whitespace (tabs, virtual spaces, spaces). + // Such as, between a fenced code fence and an info string. + whitespace: 'whitespace', + + // Generic type for line endings (line feed, carriage return, carriage return + + // line feed). + lineEnding: 'lineEnding', + + // A line ending, but ending a blank line. + lineEndingBlank: 'lineEndingBlank', + + // Generic type for whitespace (tabs, virtual spaces, spaces) at the start of a + // line. + linePrefix: 'linePrefix', + + // Generic type for whitespace (tabs, virtual spaces, spaces) at the end of a + // line. + lineSuffix: 'lineSuffix', + + // Whole ATX heading: + // + // ```markdown + // # + // ## Alpha + // ### Bravo ### + // ``` + // + // Includes `atxHeadingSequence`, `whitespace`, `atxHeadingText`. + atxHeading: 'atxHeading', + + // Sequence of number signs in an ATX heading (`###`). + atxHeadingSequence: 'atxHeadingSequence', + + // Content in an ATX heading (`alpha`). + // Includes text. + atxHeadingText: 'atxHeadingText', + + // Whole autolink (`` or ``) + // Includes `autolinkMarker` and `autolinkProtocol` or `autolinkEmail`. + autolink: 'autolink', + + // Email autolink w/o markers (`admin@example.com`) + autolinkEmail: 'autolinkEmail', + + // Marker around an `autolinkProtocol` or `autolinkEmail` (`<` or `>`). + autolinkMarker: 'autolinkMarker', + + // Protocol autolink w/o markers (`https://example.com`) + autolinkProtocol: 'autolinkProtocol', + + // A whole character escape (`\-`). + // Includes `escapeMarker` and `characterEscapeValue`. + characterEscape: 'characterEscape', + + // The escaped character (`-`). + characterEscapeValue: 'characterEscapeValue', + + // A whole character reference (`&`, `≠`, or `𝌆`). + // Includes `characterReferenceMarker`, an optional + // `characterReferenceMarkerNumeric`, in which case an optional + // `characterReferenceMarkerHexadecimal`, and a `characterReferenceValue`. + characterReference: 'characterReference', + + // The start or end marker (`&` or `;`). + characterReferenceMarker: 'characterReferenceMarker', + + // Mark reference as numeric (`#`). + characterReferenceMarkerNumeric: 'characterReferenceMarkerNumeric', + + // Mark reference as numeric (`x` or `X`). + characterReferenceMarkerHexadecimal: 'characterReferenceMarkerHexadecimal', + + // Value of character reference w/o markers (`amp`, `8800`, or `1D306`). + characterReferenceValue: 'characterReferenceValue', + + // Whole fenced code: + // + // ````markdown + // ```js + // alert(1) + // ``` + // ```` + codeFenced: 'codeFenced', + + // A fenced code fence, including whitespace, sequence, info, and meta + // (` ```js `). + codeFencedFence: 'codeFencedFence', + + // Sequence of grave accent or tilde characters (` ``` `) in a fence. + codeFencedFenceSequence: 'codeFencedFenceSequence', + + // Info word (`js`) in a fence. + // Includes string. + codeFencedFenceInfo: 'codeFencedFenceInfo', + + // Meta words (`highlight="1"`) in a fence. + // Includes string. + codeFencedFenceMeta: 'codeFencedFenceMeta', + + // A line of code. + codeFlowValue: 'codeFlowValue', + + // Whole indented code: + // + // ```markdown + // alert(1) + // ``` + // + // Includes `lineEnding`, `linePrefix`, and `codeFlowValue`. + codeIndented: 'codeIndented', + + // A text code (``` `alpha` ```). + // Includes `codeTextSequence`, `codeTextData`, `lineEnding`, and can include + // `codeTextPadding`. + codeText: 'codeText', + + codeTextData: 'codeTextData', + + // A space or line ending right after or before a tick. + codeTextPadding: 'codeTextPadding', + + // A text code fence (` `` `). + codeTextSequence: 'codeTextSequence', + + // Whole content: + // + // ```markdown + // [a]: b + // c + // = + // d + // ``` + // + // Includes `paragraph` and `definition`. + content: 'content', + // Whole definition: + // + // ```markdown + // [micromark]: https://github.com/micromark/micromark + // ``` + // + // Includes `definitionLabel`, `definitionMarker`, `whitespace`, + // `definitionDestination`, and optionally `lineEnding` and `definitionTitle`. + definition: 'definition', + + // Destination of a definition (`https://github.com/micromark/micromark` or + // ``). + // Includes `definitionDestinationLiteral` or `definitionDestinationRaw`. + definitionDestination: 'definitionDestination', + + // Enclosed destination of a definition + // (``). + // Includes `definitionDestinationLiteralMarker` and optionally + // `definitionDestinationString`. + definitionDestinationLiteral: 'definitionDestinationLiteral', + + // Markers of an enclosed definition destination (`<` or `>`). + definitionDestinationLiteralMarker: 'definitionDestinationLiteralMarker', + + // Unenclosed destination of a definition + // (`https://github.com/micromark/micromark`). + // Includes `definitionDestinationString`. + definitionDestinationRaw: 'definitionDestinationRaw', + + // Text in an destination (`https://github.com/micromark/micromark`). + // Includes string. + definitionDestinationString: 'definitionDestinationString', + + // Label of a definition (`[micromark]`). + // Includes `definitionLabelMarker` and `definitionLabelString`. + definitionLabel: 'definitionLabel', + + // Markers of a definition label (`[` or `]`). + definitionLabelMarker: 'definitionLabelMarker', + + // Value of a definition label (`micromark`). + // Includes string. + definitionLabelString: 'definitionLabelString', + + // Marker between a label and a destination (`:`). + definitionMarker: 'definitionMarker', + + // Title of a definition (`"x"`, `'y'`, or `(z)`). + // Includes `definitionTitleMarker` and optionally `definitionTitleString`. + definitionTitle: 'definitionTitle', + + // Marker around a title of a definition (`"`, `'`, `(`, or `)`). + definitionTitleMarker: 'definitionTitleMarker', + + // Data without markers in a title (`z`). + // Includes string. + definitionTitleString: 'definitionTitleString', + + // Emphasis (`*alpha*`). + // Includes `emphasisSequence` and `emphasisText`. + emphasis: 'emphasis', + + // Sequence of emphasis markers (`*` or `_`). + emphasisSequence: 'emphasisSequence', + + // Emphasis text (`alpha`). + // Includes text. + emphasisText: 'emphasisText', + + // The character escape marker (`\`). + escapeMarker: 'escapeMarker', + + // A hard break created with a backslash (`\\n`). + // Includes `escapeMarker` (does not include the line ending) + hardBreakEscape: 'hardBreakEscape', + + // A hard break created with trailing spaces (` \n`). + // Does not include the line ending. + hardBreakTrailing: 'hardBreakTrailing', + + // Flow HTML: + // + // ```markdown + //
    b`). + // Includes `lineEnding`, `htmlTextData`. + htmlText: 'htmlText', + + htmlTextData: 'htmlTextData', + + // Whole image (`![alpha](bravo)`, `![alpha][bravo]`, `![alpha][]`, or + // `![alpha]`). + // Includes `label` and an optional `resource` or `reference`. + image: 'image', + + // Whole link label (`[*alpha*]`). + // Includes `labelLink` or `labelImage`, `labelText`, and `labelEnd`. + label: 'label', + + // Text in an label (`*alpha*`). + // Includes text. + labelText: 'labelText', + + // Start a link label (`[`). + // Includes a `labelMarker`. + labelLink: 'labelLink', + + // Start an image label (`![`). + // Includes `labelImageMarker` and `labelMarker`. + labelImage: 'labelImage', + + // Marker of a label (`[` or `]`). + labelMarker: 'labelMarker', + + // Marker to start an image (`!`). + labelImageMarker: 'labelImageMarker', + + // End a label (`]`). + // Includes `labelMarker`. + labelEnd: 'labelEnd', + + // Whole link (`[alpha](bravo)`, `[alpha][bravo]`, `[alpha][]`, or `[alpha]`). + // Includes `label` and an optional `resource` or `reference`. + link: 'link', + + // Whole paragraph: + // + // ```markdown + // alpha + // bravo. + // ``` + // + // Includes text. + paragraph: 'paragraph', + + // A reference (`[alpha]` or `[]`). + // Includes `referenceMarker` and an optional `referenceString`. + reference: 'reference', + + // A reference marker (`[` or `]`). + referenceMarker: 'referenceMarker', + + // Reference text (`alpha`). + // Includes string. + referenceString: 'referenceString', + + // A resource (`(https://example.com "alpha")`). + // Includes `resourceMarker`, an optional `resourceDestination` with an optional + // `whitespace` and `resourceTitle`. + resource: 'resource', + + // A resource destination (`https://example.com`). + // Includes `resourceDestinationLiteral` or `resourceDestinationRaw`. + resourceDestination: 'resourceDestination', + + // A literal resource destination (``). + // Includes `resourceDestinationLiteralMarker` and optionally + // `resourceDestinationString`. + resourceDestinationLiteral: 'resourceDestinationLiteral', + + // A resource destination marker (`<` or `>`). + resourceDestinationLiteralMarker: 'resourceDestinationLiteralMarker', + + // A raw resource destination (`https://example.com`). + // Includes `resourceDestinationString`. + resourceDestinationRaw: 'resourceDestinationRaw', + + // Resource destination text (`https://example.com`). + // Includes string. + resourceDestinationString: 'resourceDestinationString', + + // A resource marker (`(` or `)`). + resourceMarker: 'resourceMarker', + + // A resource title (`"alpha"`, `'alpha'`, or `(alpha)`). + // Includes `resourceTitleMarker` and optionally `resourceTitleString`. + resourceTitle: 'resourceTitle', + + // A resource title marker (`"`, `'`, `(`, or `)`). + resourceTitleMarker: 'resourceTitleMarker', + + // Resource destination title (`alpha`). + // Includes string. + resourceTitleString: 'resourceTitleString', + + // Whole setext heading: + // + // ```markdown + // alpha + // bravo + // ===== + // ``` + // + // Includes `setextHeadingText`, `lineEnding`, `linePrefix`, and + // `setextHeadingLine`. + setextHeading: 'setextHeading', + + // Content in a setext heading (`alpha\nbravo`). + // Includes text. + setextHeadingText: 'setextHeadingText', + + // Underline in a setext heading, including whitespace suffix (`==`). + // Includes `setextHeadingLineSequence`. + setextHeadingLine: 'setextHeadingLine', + + // Sequence of equals or dash characters in underline in a setext heading (`-`). + setextHeadingLineSequence: 'setextHeadingLineSequence', + + // Strong (`**alpha**`). + // Includes `strongSequence` and `strongText`. + strong: 'strong', + + // Sequence of strong markers (`**` or `__`). + strongSequence: 'strongSequence', + + // Strong text (`alpha`). + // Includes text. + strongText: 'strongText', + + // Whole thematic break: + // + // ```markdown + // * * * + // ``` + // + // Includes `thematicBreakSequence` and `whitespace`. + thematicBreak: 'thematicBreak', + + // A sequence of one or more thematic break markers (`***`). + thematicBreakSequence: 'thematicBreakSequence', + + // Whole block quote: + // + // ```markdown + // > a + // > + // > b + // ``` + // + // Includes `blockQuotePrefix` and flow. + blockQuote: 'blockQuote', + // The `>` or `> ` of a block quote. + blockQuotePrefix: 'blockQuotePrefix', + // The `>` of a block quote prefix. + blockQuoteMarker: 'blockQuoteMarker', + // The optional ` ` of a block quote prefix. + blockQuotePrefixWhitespace: 'blockQuotePrefixWhitespace', + + // Whole unordered list: + // + // ```markdown + // - a + // b + // ``` + // + // Includes `listItemPrefix`, flow, and optionally `listItemIndent` on further + // lines. + listOrdered: 'listOrdered', + + // Whole ordered list: + // + // ```markdown + // 1. a + // b + // ``` + // + // Includes `listItemPrefix`, flow, and optionally `listItemIndent` on further + // lines. + listUnordered: 'listUnordered', + + // The indent of further list item lines. + listItemIndent: 'listItemIndent', + + // A marker, as in, `*`, `+`, `-`, `.`, or `)`. + listItemMarker: 'listItemMarker', + + // The thing that starts a list item, such as `1. `. + // Includes `listItemValue` if ordered, `listItemMarker`, and + // `listItemPrefixWhitespace` (unless followed by a line ending). + listItemPrefix: 'listItemPrefix', + + // The whitespace after a marker. + listItemPrefixWhitespace: 'listItemPrefixWhitespace', + + // The numerical value of an ordered item. + listItemValue: 'listItemValue', + + // Internal types used for subtokenizers, compiled away + chunkContent: 'chunkContent', + chunkFlow: 'chunkFlow', + chunkText: 'chunkText', + chunkString: 'chunkString' +} diff --git a/tools/node_modules/eslint-plugin-markdown/node_modules/micromark/lib/constant/unicode-punctuation-regex.js b/tools/node_modules/eslint-plugin-markdown/node_modules/micromark/lib/constant/unicode-punctuation-regex.js new file mode 100644 index 00000000000000..6d25ee4bae5ef2 --- /dev/null +++ b/tools/node_modules/eslint-plugin-markdown/node_modules/micromark/lib/constant/unicode-punctuation-regex.js @@ -0,0 +1,11 @@ +'use strict' + +// This module is generated by `script/`. +// +// CommonMark handles attention (emphasis, strong) markers based on what comes +// before or after them. +// One such difference is if those characters are Unicode punctuation. +// This script is generated from the Unicode data. +var unicodePunctuation = /[!-\/:-@\[-`\{-~\xA1\xA7\xAB\xB6\xB7\xBB\xBF\u037E\u0387\u055A-\u055F\u0589\u058A\u05BE\u05C0\u05C3\u05C6\u05F3\u05F4\u0609\u060A\u060C\u060D\u061B\u061E\u061F\u066A-\u066D\u06D4\u0700-\u070D\u07F7-\u07F9\u0830-\u083E\u085E\u0964\u0965\u0970\u09FD\u0A76\u0AF0\u0C77\u0C84\u0DF4\u0E4F\u0E5A\u0E5B\u0F04-\u0F12\u0F14\u0F3A-\u0F3D\u0F85\u0FD0-\u0FD4\u0FD9\u0FDA\u104A-\u104F\u10FB\u1360-\u1368\u1400\u166E\u169B\u169C\u16EB-\u16ED\u1735\u1736\u17D4-\u17D6\u17D8-\u17DA\u1800-\u180A\u1944\u1945\u1A1E\u1A1F\u1AA0-\u1AA6\u1AA8-\u1AAD\u1B5A-\u1B60\u1BFC-\u1BFF\u1C3B-\u1C3F\u1C7E\u1C7F\u1CC0-\u1CC7\u1CD3\u2010-\u2027\u2030-\u2043\u2045-\u2051\u2053-\u205E\u207D\u207E\u208D\u208E\u2308-\u230B\u2329\u232A\u2768-\u2775\u27C5\u27C6\u27E6-\u27EF\u2983-\u2998\u29D8-\u29DB\u29FC\u29FD\u2CF9-\u2CFC\u2CFE\u2CFF\u2D70\u2E00-\u2E2E\u2E30-\u2E4F\u2E52\u3001-\u3003\u3008-\u3011\u3014-\u301F\u3030\u303D\u30A0\u30FB\uA4FE\uA4FF\uA60D-\uA60F\uA673\uA67E\uA6F2-\uA6F7\uA874-\uA877\uA8CE\uA8CF\uA8F8-\uA8FA\uA8FC\uA92E\uA92F\uA95F\uA9C1-\uA9CD\uA9DE\uA9DF\uAA5C-\uAA5F\uAADE\uAADF\uAAF0\uAAF1\uABEB\uFD3E\uFD3F\uFE10-\uFE19\uFE30-\uFE52\uFE54-\uFE61\uFE63\uFE68\uFE6A\uFE6B\uFF01-\uFF03\uFF05-\uFF0A\uFF0C-\uFF0F\uFF1A\uFF1B\uFF1F\uFF20\uFF3B-\uFF3D\uFF3F\uFF5B\uFF5D\uFF5F-\uFF65]/ + +module.exports = unicodePunctuation diff --git a/tools/node_modules/eslint-plugin-markdown/node_modules/micromark/lib/constant/unicode-punctuation-regex.mjs b/tools/node_modules/eslint-plugin-markdown/node_modules/micromark/lib/constant/unicode-punctuation-regex.mjs new file mode 100644 index 00000000000000..3b6ac3f16c20ad --- /dev/null +++ b/tools/node_modules/eslint-plugin-markdown/node_modules/micromark/lib/constant/unicode-punctuation-regex.mjs @@ -0,0 +1,7 @@ +// This module is generated by `script/`. +// +// CommonMark handles attention (emphasis, strong) markers based on what comes +// before or after them. +// One such difference is if those characters are Unicode punctuation. +// This script is generated from the Unicode data. +export default /[!-/:-@[-`{-~\u00A1\u00A7\u00AB\u00B6\u00B7\u00BB\u00BF\u037E\u0387\u055A-\u055F\u0589\u058A\u05BE\u05C0\u05C3\u05C6\u05F3\u05F4\u0609\u060A\u060C\u060D\u061B\u061E\u061F\u066A-\u066D\u06D4\u0700-\u070D\u07F7-\u07F9\u0830-\u083E\u085E\u0964\u0965\u0970\u09FD\u0A76\u0AF0\u0C77\u0C84\u0DF4\u0E4F\u0E5A\u0E5B\u0F04-\u0F12\u0F14\u0F3A-\u0F3D\u0F85\u0FD0-\u0FD4\u0FD9\u0FDA\u104A-\u104F\u10FB\u1360-\u1368\u1400\u166E\u169B\u169C\u16EB-\u16ED\u1735\u1736\u17D4-\u17D6\u17D8-\u17DA\u1800-\u180A\u1944\u1945\u1A1E\u1A1F\u1AA0-\u1AA6\u1AA8-\u1AAD\u1B5A-\u1B60\u1BFC-\u1BFF\u1C3B-\u1C3F\u1C7E\u1C7F\u1CC0-\u1CC7\u1CD3\u2010-\u2027\u2030-\u2043\u2045-\u2051\u2053-\u205E\u207D\u207E\u208D\u208E\u2308-\u230B\u2329\u232A\u2768-\u2775\u27C5\u27C6\u27E6-\u27EF\u2983-\u2998\u29D8-\u29DB\u29FC\u29FD\u2CF9-\u2CFC\u2CFE\u2CFF\u2D70\u2E00-\u2E2E\u2E30-\u2E4F\u2E52\u3001-\u3003\u3008-\u3011\u3014-\u301F\u3030\u303D\u30A0\u30FB\uA4FE\uA4FF\uA60D-\uA60F\uA673\uA67E\uA6F2-\uA6F7\uA874-\uA877\uA8CE\uA8CF\uA8F8-\uA8FA\uA8FC\uA92E\uA92F\uA95F\uA9C1-\uA9CD\uA9DE\uA9DF\uAA5C-\uAA5F\uAADE\uAADF\uAAF0\uAAF1\uABEB\uFD3E\uFD3F\uFE10-\uFE19\uFE30-\uFE52\uFE54-\uFE61\uFE63\uFE68\uFE6A\uFE6B\uFF01-\uFF03\uFF05-\uFF0A\uFF0C-\uFF0F\uFF1A\uFF1B\uFF1F\uFF20\uFF3B-\uFF3D\uFF3F\uFF5B\uFF5D\uFF5F-\uFF65]/ diff --git a/tools/node_modules/eslint-plugin-markdown/node_modules/micromark/lib/constructs.js b/tools/node_modules/eslint-plugin-markdown/node_modules/micromark/lib/constructs.js new file mode 100644 index 00000000000000..d9e5ae1b529247 --- /dev/null +++ b/tools/node_modules/eslint-plugin-markdown/node_modules/micromark/lib/constructs.js @@ -0,0 +1,98 @@ +'use strict' + +Object.defineProperty(exports, '__esModule', {value: true}) + +var text$1 = require('./initialize/text.js') +var attention = require('./tokenize/attention.js') +var autolink = require('./tokenize/autolink.js') +var blockQuote = require('./tokenize/block-quote.js') +var characterEscape = require('./tokenize/character-escape.js') +var characterReference = require('./tokenize/character-reference.js') +var codeFenced = require('./tokenize/code-fenced.js') +var codeIndented = require('./tokenize/code-indented.js') +var codeText = require('./tokenize/code-text.js') +var definition = require('./tokenize/definition.js') +var hardBreakEscape = require('./tokenize/hard-break-escape.js') +var headingAtx = require('./tokenize/heading-atx.js') +var htmlFlow = require('./tokenize/html-flow.js') +var htmlText = require('./tokenize/html-text.js') +var labelEnd = require('./tokenize/label-end.js') +var labelStartImage = require('./tokenize/label-start-image.js') +var labelStartLink = require('./tokenize/label-start-link.js') +var lineEnding = require('./tokenize/line-ending.js') +var list = require('./tokenize/list.js') +var setextUnderline = require('./tokenize/setext-underline.js') +var thematicBreak = require('./tokenize/thematic-break.js') + +var document = { + 42: list, // Asterisk + 43: list, // Plus sign + 45: list, // Dash + 48: list, // 0 + 49: list, // 1 + 50: list, // 2 + 51: list, // 3 + 52: list, // 4 + 53: list, // 5 + 54: list, // 6 + 55: list, // 7 + 56: list, // 8 + 57: list, // 9 + 62: blockQuote // Greater than +} + +var contentInitial = { + 91: definition // Left square bracket +} + +var flowInitial = { + '-2': codeIndented, // Horizontal tab + '-1': codeIndented, // Virtual space + 32: codeIndented // Space +} + +var flow = { + 35: headingAtx, // Number sign + 42: thematicBreak, // Asterisk + 45: [setextUnderline, thematicBreak], // Dash + 60: htmlFlow, // Less than + 61: setextUnderline, // Equals to + 95: thematicBreak, // Underscore + 96: codeFenced, // Grave accent + 126: codeFenced // Tilde +} + +var string = { + 38: characterReference, // Ampersand + 92: characterEscape // Backslash +} + +var text = { + '-5': lineEnding, // Carriage return + '-4': lineEnding, // Line feed + '-3': lineEnding, // Carriage return + line feed + 33: labelStartImage, // Exclamation mark + 38: characterReference, // Ampersand + 42: attention, // Asterisk + 60: [autolink, htmlText], // Less than + 91: labelStartLink, // Left square bracket + 92: [hardBreakEscape, characterEscape], // Backslash + 93: labelEnd, // Right square bracket + 95: attention, // Underscore + 96: codeText // Grave accent +} + +var insideSpan = { + null: [attention, text$1.resolver] +} + +var disable = {null: []} + +exports.contentInitial = contentInitial +exports.disable = disable +exports.document = document +exports.flow = flow +exports.flowInitial = flowInitial +exports.insideSpan = insideSpan +exports.string = string +exports.text = text diff --git a/tools/node_modules/eslint-plugin-markdown/node_modules/micromark/lib/constructs.mjs b/tools/node_modules/eslint-plugin-markdown/node_modules/micromark/lib/constructs.mjs new file mode 100644 index 00000000000000..e52c3df34974f6 --- /dev/null +++ b/tools/node_modules/eslint-plugin-markdown/node_modules/micromark/lib/constructs.mjs @@ -0,0 +1,85 @@ +import {resolver as resolveText} from './initialize/text.mjs' +import attention from './tokenize/attention.mjs' +import autolink from './tokenize/autolink.mjs' +import blockQuote from './tokenize/block-quote.mjs' +import characterEscape from './tokenize/character-escape.mjs' +import characterReference from './tokenize/character-reference.mjs' +import codeFenced from './tokenize/code-fenced.mjs' +import codeIndented from './tokenize/code-indented.mjs' +import codeText from './tokenize/code-text.mjs' +import definition from './tokenize/definition.mjs' +import hardBreakEscape from './tokenize/hard-break-escape.mjs' +import headingAtx from './tokenize/heading-atx.mjs' +import htmlFlow from './tokenize/html-flow.mjs' +import htmlText from './tokenize/html-text.mjs' +import labelEnd from './tokenize/label-end.mjs' +import labelImage from './tokenize/label-start-image.mjs' +import labelLink from './tokenize/label-start-link.mjs' +import lineEnding from './tokenize/line-ending.mjs' +import list from './tokenize/list.mjs' +import setextUnderline from './tokenize/setext-underline.mjs' +import thematicBreak from './tokenize/thematic-break.mjs' + +export var document = { + 42: list, // Asterisk + 43: list, // Plus sign + 45: list, // Dash + 48: list, // 0 + 49: list, // 1 + 50: list, // 2 + 51: list, // 3 + 52: list, // 4 + 53: list, // 5 + 54: list, // 6 + 55: list, // 7 + 56: list, // 8 + 57: list, // 9 + 62: blockQuote // Greater than +} + +export var contentInitial = { + 91: definition // Left square bracket +} + +export var flowInitial = { + '-2': codeIndented, // Horizontal tab + '-1': codeIndented, // Virtual space + 32: codeIndented // Space +} + +export var flow = { + 35: headingAtx, // Number sign + 42: thematicBreak, // Asterisk + 45: [setextUnderline, thematicBreak], // Dash + 60: htmlFlow, // Less than + 61: setextUnderline, // Equals to + 95: thematicBreak, // Underscore + 96: codeFenced, // Grave accent + 126: codeFenced // Tilde +} + +export var string = { + 38: characterReference, // Ampersand + 92: characterEscape // Backslash +} + +export var text = { + '-5': lineEnding, // Carriage return + '-4': lineEnding, // Line feed + '-3': lineEnding, // Carriage return + line feed + 33: labelImage, // Exclamation mark + 38: characterReference, // Ampersand + 42: attention, // Asterisk + 60: [autolink, htmlText], // Less than + 91: labelLink, // Left square bracket + 92: [hardBreakEscape, characterEscape], // Backslash + 93: labelEnd, // Right square bracket + 95: attention, // Underscore + 96: codeText // Grave accent +} + +export var insideSpan = { + null: [attention, resolveText] +} + +export var disable = {null: []} diff --git a/tools/node_modules/eslint-plugin-markdown/node_modules/micromark/lib/index.js b/tools/node_modules/eslint-plugin-markdown/node_modules/micromark/lib/index.js new file mode 100644 index 00000000000000..8b289a298f114b --- /dev/null +++ b/tools/node_modules/eslint-plugin-markdown/node_modules/micromark/lib/index.js @@ -0,0 +1,21 @@ +'use strict' + +var html = require('./compile/html.js') +var parse = require('./parse.js') +var postprocess = require('./postprocess.js') +var preprocess = require('./preprocess.js') + +function buffer(value, encoding, options) { + if (typeof encoding !== 'string') { + options = encoding + encoding = undefined + } + + return html(options)( + postprocess( + parse(options).document().write(preprocess()(value, encoding, true)) + ) + ) +} + +module.exports = buffer diff --git a/tools/node_modules/eslint-plugin-markdown/node_modules/micromark/lib/index.mjs b/tools/node_modules/eslint-plugin-markdown/node_modules/micromark/lib/index.mjs new file mode 100644 index 00000000000000..2f8db57c394435 --- /dev/null +++ b/tools/node_modules/eslint-plugin-markdown/node_modules/micromark/lib/index.mjs @@ -0,0 +1,19 @@ +export default buffer + +import compiler from './compile/html.mjs' +import parser from './parse.mjs' +import postprocess from './postprocess.mjs' +import preprocessor from './preprocess.mjs' + +function buffer(value, encoding, options) { + if (typeof encoding !== 'string') { + options = encoding + encoding = undefined + } + + return compiler(options)( + postprocess( + parser(options).document().write(preprocessor()(value, encoding, true)) + ) + ) +} diff --git a/tools/node_modules/eslint-plugin-markdown/node_modules/micromark/lib/initialize/content.js b/tools/node_modules/eslint-plugin-markdown/node_modules/micromark/lib/initialize/content.js new file mode 100644 index 00000000000000..75922234a36bf2 --- /dev/null +++ b/tools/node_modules/eslint-plugin-markdown/node_modules/micromark/lib/initialize/content.js @@ -0,0 +1,91 @@ +'use strict' + +Object.defineProperty(exports, '__esModule', {value: true}) + +var assert = require('assert') +var codes = require('../character/codes.js') +var markdownLineEnding = require('../character/markdown-line-ending.js') +var constants = require('../constant/constants.js') +var types = require('../constant/types.js') +var factorySpace = require('../tokenize/factory-space.js') + +function _interopDefaultLegacy(e) { + return e && typeof e === 'object' && 'default' in e ? e : {default: e} +} + +var assert__default = /*#__PURE__*/ _interopDefaultLegacy(assert) + +var tokenize = initializeContent + +function initializeContent(effects) { + var contentStart = effects.attempt( + this.parser.constructs.contentInitial, + afterContentStartConstruct, + paragraphInitial + ) + var previous + + return contentStart + + function afterContentStartConstruct(code) { + assert__default['default']( + code === codes.eof || markdownLineEnding(code), + 'expected eol or eof' + ) + + if (code === codes.eof) { + effects.consume(code) + return + } + + effects.enter(types.lineEnding) + effects.consume(code) + effects.exit(types.lineEnding) + return factorySpace(effects, contentStart, types.linePrefix) + } + + function paragraphInitial(code) { + assert__default['default']( + code !== codes.eof && !markdownLineEnding(code), + 'expected anything other than a line ending or EOF' + ) + effects.enter(types.paragraph) + return lineStart(code) + } + + function lineStart(code) { + var token = effects.enter(types.chunkText, { + contentType: constants.contentTypeText, + previous: previous + }) + + if (previous) { + previous.next = token + } + + previous = token + + return data(code) + } + + function data(code) { + if (code === codes.eof) { + effects.exit(types.chunkText) + effects.exit(types.paragraph) + effects.consume(code) + return + } + + if (markdownLineEnding(code)) { + effects.consume(code) + effects.exit(types.chunkText) + return lineStart + } + + // Data. + effects.consume(code) + return data + } +} + +exports.tokenize = tokenize diff --git a/tools/node_modules/eslint-plugin-markdown/node_modules/micromark/lib/initialize/content.mjs b/tools/node_modules/eslint-plugin-markdown/node_modules/micromark/lib/initialize/content.mjs new file mode 100644 index 00000000000000..73a9c41311a261 --- /dev/null +++ b/tools/node_modules/eslint-plugin-markdown/node_modules/micromark/lib/initialize/content.mjs @@ -0,0 +1,79 @@ +export var tokenize = initializeContent + +import assert from 'assert' +import codes from '../character/codes.mjs' +import markdownLineEnding from '../character/markdown-line-ending.mjs' +import constants from '../constant/constants.mjs' +import types from '../constant/types.mjs' +import spaceFactory from '../tokenize/factory-space.mjs' + +function initializeContent(effects) { + var contentStart = effects.attempt( + this.parser.constructs.contentInitial, + afterContentStartConstruct, + paragraphInitial + ) + var previous + + return contentStart + + function afterContentStartConstruct(code) { + assert( + code === codes.eof || markdownLineEnding(code), + 'expected eol or eof' + ) + + if (code === codes.eof) { + effects.consume(code) + return + } + + effects.enter(types.lineEnding) + effects.consume(code) + effects.exit(types.lineEnding) + return spaceFactory(effects, contentStart, types.linePrefix) + } + + function paragraphInitial(code) { + assert( + code !== codes.eof && !markdownLineEnding(code), + 'expected anything other than a line ending or EOF' + ) + effects.enter(types.paragraph) + return lineStart(code) + } + + function lineStart(code) { + var token = effects.enter(types.chunkText, { + contentType: constants.contentTypeText, + previous: previous + }) + + if (previous) { + previous.next = token + } + + previous = token + + return data(code) + } + + function data(code) { + if (code === codes.eof) { + effects.exit(types.chunkText) + effects.exit(types.paragraph) + effects.consume(code) + return + } + + if (markdownLineEnding(code)) { + effects.consume(code) + effects.exit(types.chunkText) + return lineStart + } + + // Data. + effects.consume(code) + return data + } +} diff --git a/tools/node_modules/eslint-plugin-markdown/node_modules/micromark/lib/initialize/document.js b/tools/node_modules/eslint-plugin-markdown/node_modules/micromark/lib/initialize/document.js new file mode 100644 index 00000000000000..fae240f744bf70 --- /dev/null +++ b/tools/node_modules/eslint-plugin-markdown/node_modules/micromark/lib/initialize/document.js @@ -0,0 +1,245 @@ +'use strict' + +Object.defineProperty(exports, '__esModule', {value: true}) + +var codes = require('../character/codes.js') +var markdownLineEnding = require('../character/markdown-line-ending.js') +var constants = require('../constant/constants.js') +var types = require('../constant/types.js') +var factorySpace = require('../tokenize/factory-space.js') +var partialBlankLine = require('../tokenize/partial-blank-line.js') + +var tokenize = initializeDocument + +var containerConstruct = {tokenize: tokenizeContainer} +var lazyFlowConstruct = {tokenize: tokenizeLazyFlow} + +function initializeDocument(effects) { + var self = this + var stack = [] + var continued = 0 + var inspectConstruct = {tokenize: tokenizeInspect, partial: true} + var inspectResult + var childFlow + var childToken + + return start + + function start(code) { + if (continued < stack.length) { + self.containerState = stack[continued][1] + return effects.attempt( + stack[continued][0].continuation, + documentContinue, + documentContinued + )(code) + } + + return documentContinued(code) + } + + function documentContinue(code) { + continued++ + return start(code) + } + + function documentContinued(code) { + // If we’re in a concrete construct (such as when expecting another line of + // HTML, or we resulted in lazy content), we can immediately start flow. + if (inspectResult && inspectResult.flowContinue) { + return flowStart(code) + } + + self.interrupt = + childFlow && + childFlow.currentConstruct && + childFlow.currentConstruct.interruptible + self.containerState = {} + return effects.attempt( + containerConstruct, + containerContinue, + flowStart + )(code) + } + + function containerContinue(code) { + stack.push([self.currentConstruct, self.containerState]) + self.containerState = undefined + return documentContinued(code) + } + + function flowStart(code) { + if (code === codes.eof) { + exitContainers(0, true) + effects.consume(code) + return + } + + childFlow = childFlow || self.parser.flow(self.now()) + + effects.enter(types.chunkFlow, { + contentType: constants.contentTypeFlow, + previous: childToken, + _tokenizer: childFlow + }) + + return flowContinue(code) + } + + function flowContinue(code) { + if (code === codes.eof) { + continueFlow(effects.exit(types.chunkFlow)) + return flowStart(code) + } + + if (markdownLineEnding(code)) { + effects.consume(code) + continueFlow(effects.exit(types.chunkFlow)) + return effects.check(inspectConstruct, documentAfterPeek) + } + + effects.consume(code) + return flowContinue + } + + function documentAfterPeek(code) { + exitContainers( + inspectResult.continued, + inspectResult && inspectResult.flowEnd + ) + continued = 0 + return start(code) + } + + function continueFlow(token) { + if (childToken) childToken.next = token + childToken = token + childFlow.lazy = inspectResult && inspectResult.lazy + childFlow.defineSkip(token.start) + childFlow.write(self.sliceStream(token)) + } + + function exitContainers(size, end) { + var index = stack.length + + // Close the flow. + if (childFlow && end) { + childFlow.write([codes.eof]) + childToken = childFlow = undefined + } + + // Exit open containers. + while (index-- > size) { + self.containerState = stack[index][1] + stack[index][0].exit.call(self, effects) + } + + stack.length = size + } + + function tokenizeInspect(effects, ok) { + var subcontinued = 0 + + inspectResult = {} + + return inspectStart + + function inspectStart(code) { + if (subcontinued < stack.length) { + self.containerState = stack[subcontinued][1] + return effects.attempt( + stack[subcontinued][0].continuation, + inspectContinue, + inspectLess + )(code) + } + + // If we’re continued but in a concrete flow, we can’t have more + // containers. + if (childFlow.currentConstruct && childFlow.currentConstruct.concrete) { + inspectResult.flowContinue = true + return inspectDone(code) + } + + self.interrupt = + childFlow.currentConstruct && childFlow.currentConstruct.interruptible + self.containerState = {} + return effects.attempt( + containerConstruct, + inspectFlowEnd, + inspectDone + )(code) + } + + function inspectContinue(code) { + subcontinued++ + return self.containerState._closeFlow + ? inspectFlowEnd(code) + : inspectStart(code) + } + + function inspectLess(code) { + if (childFlow.currentConstruct && childFlow.currentConstruct.lazy) { + // Maybe another container? + self.containerState = {} + return effects.attempt( + containerConstruct, + inspectFlowEnd, + // Maybe flow, or a blank line? + effects.attempt( + lazyFlowConstruct, + inspectFlowEnd, + effects.check(partialBlankLine, inspectFlowEnd, inspectLazy) + ) + )(code) + } + + // Otherwise we’re interrupting. + return inspectFlowEnd(code) + } + + function inspectLazy(code) { + // Act as if all containers are continued. + subcontinued = stack.length + inspectResult.lazy = true + inspectResult.flowContinue = true + return inspectDone(code) + } + + // We’re done with flow if we have more containers, or an interruption. + function inspectFlowEnd(code) { + inspectResult.flowEnd = true + return inspectDone(code) + } + + function inspectDone(code) { + inspectResult.continued = subcontinued + self.interrupt = self.containerState = undefined + return ok(code) + } + } +} + +function tokenizeContainer(effects, ok, nok) { + return factorySpace( + effects, + effects.attempt(this.parser.constructs.document, ok, nok), + types.linePrefix, + this.parser.constructs.disable.null.indexOf('codeIndented') > -1 + ? undefined + : constants.tabSize + ) +} + +function tokenizeLazyFlow(effects, ok, nok) { + return factorySpace( + effects, + effects.lazy(this.parser.constructs.flow, ok, nok), + types.linePrefix, + this.parser.constructs.disable.null.indexOf('codeIndented') > -1 + ? undefined + : constants.tabSize + ) +} + +exports.tokenize = tokenize diff --git a/tools/node_modules/eslint-plugin-markdown/node_modules/micromark/lib/initialize/document.mjs b/tools/node_modules/eslint-plugin-markdown/node_modules/micromark/lib/initialize/document.mjs new file mode 100644 index 00000000000000..9b084f3cd571fd --- /dev/null +++ b/tools/node_modules/eslint-plugin-markdown/node_modules/micromark/lib/initialize/document.mjs @@ -0,0 +1,239 @@ +export var tokenize = initializeDocument + +import codes from '../character/codes.mjs' +import markdownLineEnding from '../character/markdown-line-ending.mjs' +import constants from '../constant/constants.mjs' +import types from '../constant/types.mjs' +import spaceFactory from '../tokenize/factory-space.mjs' +import blank from '../tokenize/partial-blank-line.mjs' + +var containerConstruct = {tokenize: tokenizeContainer} +var lazyFlowConstruct = {tokenize: tokenizeLazyFlow} + +function initializeDocument(effects) { + var self = this + var stack = [] + var continued = 0 + var inspectConstruct = {tokenize: tokenizeInspect, partial: true} + var inspectResult + var childFlow + var childToken + + return start + + function start(code) { + if (continued < stack.length) { + self.containerState = stack[continued][1] + return effects.attempt( + stack[continued][0].continuation, + documentContinue, + documentContinued + )(code) + } + + return documentContinued(code) + } + + function documentContinue(code) { + continued++ + return start(code) + } + + function documentContinued(code) { + // If we’re in a concrete construct (such as when expecting another line of + // HTML, or we resulted in lazy content), we can immediately start flow. + if (inspectResult && inspectResult.flowContinue) { + return flowStart(code) + } + + self.interrupt = + childFlow && + childFlow.currentConstruct && + childFlow.currentConstruct.interruptible + self.containerState = {} + return effects.attempt( + containerConstruct, + containerContinue, + flowStart + )(code) + } + + function containerContinue(code) { + stack.push([self.currentConstruct, self.containerState]) + self.containerState = undefined + return documentContinued(code) + } + + function flowStart(code) { + if (code === codes.eof) { + exitContainers(0, true) + effects.consume(code) + return + } + + childFlow = childFlow || self.parser.flow(self.now()) + + effects.enter(types.chunkFlow, { + contentType: constants.contentTypeFlow, + previous: childToken, + _tokenizer: childFlow + }) + + return flowContinue(code) + } + + function flowContinue(code) { + if (code === codes.eof) { + continueFlow(effects.exit(types.chunkFlow)) + return flowStart(code) + } + + if (markdownLineEnding(code)) { + effects.consume(code) + continueFlow(effects.exit(types.chunkFlow)) + return effects.check(inspectConstruct, documentAfterPeek) + } + + effects.consume(code) + return flowContinue + } + + function documentAfterPeek(code) { + exitContainers( + inspectResult.continued, + inspectResult && inspectResult.flowEnd + ) + continued = 0 + return start(code) + } + + function continueFlow(token) { + if (childToken) childToken.next = token + childToken = token + childFlow.lazy = inspectResult && inspectResult.lazy + childFlow.defineSkip(token.start) + childFlow.write(self.sliceStream(token)) + } + + function exitContainers(size, end) { + var index = stack.length + + // Close the flow. + if (childFlow && end) { + childFlow.write([codes.eof]) + childToken = childFlow = undefined + } + + // Exit open containers. + while (index-- > size) { + self.containerState = stack[index][1] + stack[index][0].exit.call(self, effects) + } + + stack.length = size + } + + function tokenizeInspect(effects, ok) { + var subcontinued = 0 + + inspectResult = {} + + return inspectStart + + function inspectStart(code) { + if (subcontinued < stack.length) { + self.containerState = stack[subcontinued][1] + return effects.attempt( + stack[subcontinued][0].continuation, + inspectContinue, + inspectLess + )(code) + } + + // If we’re continued but in a concrete flow, we can’t have more + // containers. + if (childFlow.currentConstruct && childFlow.currentConstruct.concrete) { + inspectResult.flowContinue = true + return inspectDone(code) + } + + self.interrupt = + childFlow.currentConstruct && childFlow.currentConstruct.interruptible + self.containerState = {} + return effects.attempt( + containerConstruct, + inspectFlowEnd, + inspectDone + )(code) + } + + function inspectContinue(code) { + subcontinued++ + return self.containerState._closeFlow + ? inspectFlowEnd(code) + : inspectStart(code) + } + + function inspectLess(code) { + if (childFlow.currentConstruct && childFlow.currentConstruct.lazy) { + // Maybe another container? + self.containerState = {} + return effects.attempt( + containerConstruct, + inspectFlowEnd, + // Maybe flow, or a blank line? + effects.attempt( + lazyFlowConstruct, + inspectFlowEnd, + effects.check(blank, inspectFlowEnd, inspectLazy) + ) + )(code) + } + + // Otherwise we’re interrupting. + return inspectFlowEnd(code) + } + + function inspectLazy(code) { + // Act as if all containers are continued. + subcontinued = stack.length + inspectResult.lazy = true + inspectResult.flowContinue = true + return inspectDone(code) + } + + // We’re done with flow if we have more containers, or an interruption. + function inspectFlowEnd(code) { + inspectResult.flowEnd = true + return inspectDone(code) + } + + function inspectDone(code) { + inspectResult.continued = subcontinued + self.interrupt = self.containerState = undefined + return ok(code) + } + } +} + +function tokenizeContainer(effects, ok, nok) { + return spaceFactory( + effects, + effects.attempt(this.parser.constructs.document, ok, nok), + types.linePrefix, + this.parser.constructs.disable.null.indexOf('codeIndented') > -1 + ? undefined + : constants.tabSize + ) +} + +function tokenizeLazyFlow(effects, ok, nok) { + return spaceFactory( + effects, + effects.lazy(this.parser.constructs.flow, ok, nok), + types.linePrefix, + this.parser.constructs.disable.null.indexOf('codeIndented') > -1 + ? undefined + : constants.tabSize + ) +} diff --git a/tools/node_modules/eslint-plugin-markdown/node_modules/micromark/lib/initialize/flow.js b/tools/node_modules/eslint-plugin-markdown/node_modules/micromark/lib/initialize/flow.js new file mode 100644 index 00000000000000..2d71db26e6fe8a --- /dev/null +++ b/tools/node_modules/eslint-plugin-markdown/node_modules/micromark/lib/initialize/flow.js @@ -0,0 +1,82 @@ +'use strict' + +Object.defineProperty(exports, '__esModule', {value: true}) + +var assert = require('assert') +var codes = require('../character/codes.js') +var markdownLineEnding = require('../character/markdown-line-ending.js') +var types = require('../constant/types.js') +var content = require('../tokenize/content.js') +var factorySpace = require('../tokenize/factory-space.js') +var partialBlankLine = require('../tokenize/partial-blank-line.js') + +function _interopDefaultLegacy(e) { + return e && typeof e === 'object' && 'default' in e ? e : {default: e} +} + +var assert__default = /*#__PURE__*/ _interopDefaultLegacy(assert) + +var tokenize = initializeFlow + +function initializeFlow(effects) { + var self = this + var initial = effects.attempt( + // Try to parse a blank line. + partialBlankLine, + atBlankEnding, + // Try to parse initial flow (essentially, only code). + effects.attempt( + this.parser.constructs.flowInitial, + afterConstruct, + factorySpace( + effects, + effects.attempt( + this.parser.constructs.flow, + afterConstruct, + effects.attempt(content, afterConstruct) + ), + types.linePrefix + ) + ) + ) + + return initial + + function atBlankEnding(code) { + assert__default['default']( + code === codes.eof || markdownLineEnding(code), + 'expected eol or eof' + ) + + if (code === codes.eof) { + effects.consume(code) + return + } + + effects.enter(types.lineEndingBlank) + effects.consume(code) + effects.exit(types.lineEndingBlank) + self.currentConstruct = undefined + return initial + } + + function afterConstruct(code) { + assert__default['default']( + code === codes.eof || markdownLineEnding(code), + 'expected eol or eof' + ) + + if (code === codes.eof) { + effects.consume(code) + return + } + + effects.enter(types.lineEnding) + effects.consume(code) + effects.exit(types.lineEnding) + self.currentConstruct = undefined + return initial + } +} + +exports.tokenize = tokenize diff --git a/tools/node_modules/eslint-plugin-markdown/node_modules/micromark/lib/initialize/flow.mjs b/tools/node_modules/eslint-plugin-markdown/node_modules/micromark/lib/initialize/flow.mjs new file mode 100644 index 00000000000000..2f4b905d90ba47 --- /dev/null +++ b/tools/node_modules/eslint-plugin-markdown/node_modules/micromark/lib/initialize/flow.mjs @@ -0,0 +1,70 @@ +export var tokenize = initializeFlow + +import assert from 'assert' +import codes from '../character/codes.mjs' +import markdownLineEnding from '../character/markdown-line-ending.mjs' +import types from '../constant/types.mjs' +import content from '../tokenize/content.mjs' +import spaceFactory from '../tokenize/factory-space.mjs' +import blank from '../tokenize/partial-blank-line.mjs' + +function initializeFlow(effects) { + var self = this + var initial = effects.attempt( + // Try to parse a blank line. + blank, + atBlankEnding, + // Try to parse initial flow (essentially, only code). + effects.attempt( + this.parser.constructs.flowInitial, + afterConstruct, + spaceFactory( + effects, + effects.attempt( + this.parser.constructs.flow, + afterConstruct, + effects.attempt(content, afterConstruct) + ), + types.linePrefix + ) + ) + ) + + return initial + + function atBlankEnding(code) { + assert( + code === codes.eof || markdownLineEnding(code), + 'expected eol or eof' + ) + + if (code === codes.eof) { + effects.consume(code) + return + } + + effects.enter(types.lineEndingBlank) + effects.consume(code) + effects.exit(types.lineEndingBlank) + self.currentConstruct = undefined + return initial + } + + function afterConstruct(code) { + assert( + code === codes.eof || markdownLineEnding(code), + 'expected eol or eof' + ) + + if (code === codes.eof) { + effects.consume(code) + return + } + + effects.enter(types.lineEnding) + effects.consume(code) + effects.exit(types.lineEnding) + self.currentConstruct = undefined + return initial + } +} diff --git a/tools/node_modules/eslint-plugin-markdown/node_modules/micromark/lib/initialize/text.js b/tools/node_modules/eslint-plugin-markdown/node_modules/micromark/lib/initialize/text.js new file mode 100644 index 00000000000000..10274966ed3ead --- /dev/null +++ b/tools/node_modules/eslint-plugin-markdown/node_modules/micromark/lib/initialize/text.js @@ -0,0 +1,210 @@ +'use strict' + +Object.defineProperty(exports, '__esModule', {value: true}) + +var codes = require('../character/codes.js') +var assign = require('../constant/assign.js') +var constants = require('../constant/constants.js') +var types = require('../constant/types.js') +var shallow = require('../util/shallow.js') + +var text = initializeFactory('text') +var string = initializeFactory('string') +var resolver = {resolveAll: createResolver()} + +function initializeFactory(field) { + return { + tokenize: initializeText, + resolveAll: createResolver( + field === 'text' ? resolveAllLineSuffixes : undefined + ) + } + + function initializeText(effects) { + var self = this + var constructs = this.parser.constructs[field] + var text = effects.attempt(constructs, start, notText) + + return start + + function start(code) { + return atBreak(code) ? text(code) : notText(code) + } + + function notText(code) { + if (code === codes.eof) { + effects.consume(code) + return + } + + effects.enter(types.data) + effects.consume(code) + return data + } + + function data(code) { + if (atBreak(code)) { + effects.exit(types.data) + return text(code) + } + + // Data. + effects.consume(code) + return data + } + + function atBreak(code) { + var list = constructs[code] + var index = -1 + + if (code === codes.eof) { + return true + } + + if (list) { + while (++index < list.length) { + if ( + !list[index].previous || + list[index].previous.call(self, self.previous) + ) { + return true + } + } + } + } + } +} + +function createResolver(extraResolver) { + return resolveAllText + + function resolveAllText(events, context) { + var index = -1 + var enter + + // A rather boring computation (to merge adjacent `data` events) which + // improves mm performance by 29%. + while (++index <= events.length) { + if (enter === undefined) { + if (events[index] && events[index][1].type === types.data) { + enter = index + index++ + } + } else if (!events[index] || events[index][1].type !== types.data) { + // Don’t do anything if there is one data token. + if (index !== enter + 2) { + events[enter][1].end = events[index - 1][1].end + events.splice(enter + 2, index - enter - 2) + index = enter + 2 + } + + enter = undefined + } + } + + return extraResolver ? extraResolver(events, context) : events + } +} + +// A rather ugly set of instructions which again looks at chunks in the input +// stream. +// The reason to do this here is that it is *much* faster to parse in reverse. +// And that we can’t hook into `null` to split the line suffix before an EOF. +// To do: figure out if we can make this into a clean utility, or even in core. +// As it will be useful for GFMs literal autolink extension (and maybe even +// tables?) +function resolveAllLineSuffixes(events, context) { + var eventIndex = -1 + var chunks + var data + var chunk + var index + var bufferIndex + var size + var tabs + var token + + while (++eventIndex <= events.length) { + if ( + (eventIndex === events.length || + events[eventIndex][1].type === types.lineEnding) && + events[eventIndex - 1][1].type === types.data + ) { + data = events[eventIndex - 1][1] + chunks = context.sliceStream(data) + index = chunks.length + bufferIndex = -1 + size = 0 + tabs = undefined + + while (index--) { + chunk = chunks[index] + + if (typeof chunk === 'string') { + bufferIndex = chunk.length + + while (chunk.charCodeAt(bufferIndex - 1) === codes.space) { + size++ + bufferIndex-- + } + + if (bufferIndex) break + bufferIndex = -1 + } + // Number + else if (chunk === codes.horizontalTab) { + tabs = true + size++ + } else if (chunk === codes.virtualSpace); + else { + // Replacement character, exit. + index++ + break + } + } + + if (size) { + token = { + type: + eventIndex === events.length || + tabs || + size < constants.hardBreakPrefixSizeMin + ? types.lineSuffix + : types.hardBreakTrailing, + start: { + line: data.end.line, + column: data.end.column - size, + offset: data.end.offset - size, + _index: data.start._index + index, + _bufferIndex: index + ? bufferIndex + : data.start._bufferIndex + bufferIndex + }, + end: shallow(data.end) + } + + data.end = shallow(token.start) + + if (data.start.offset === data.end.offset) { + assign(data, token) + } else { + events.splice( + eventIndex, + 0, + ['enter', token, context], + ['exit', token, context] + ) + eventIndex += 2 + } + } + + eventIndex++ + } + } + + return events +} + +exports.resolver = resolver +exports.string = string +exports.text = text diff --git a/tools/node_modules/eslint-plugin-markdown/node_modules/micromark/lib/initialize/text.mjs b/tools/node_modules/eslint-plugin-markdown/node_modules/micromark/lib/initialize/text.mjs new file mode 100644 index 00000000000000..8e1bca1fb4237b --- /dev/null +++ b/tools/node_modules/eslint-plugin-markdown/node_modules/micromark/lib/initialize/text.mjs @@ -0,0 +1,203 @@ +export var text = initializeFactory('text') +export var string = initializeFactory('string') +export var resolver = {resolveAll: createResolver()} + +import codes from '../character/codes.mjs' +import assign from '../constant/assign.mjs' +import constants from '../constant/constants.mjs' +import types from '../constant/types.mjs' +import shallow from '../util/shallow.mjs' + +function initializeFactory(field) { + return { + tokenize: initializeText, + resolveAll: createResolver( + field === 'text' ? resolveAllLineSuffixes : undefined + ) + } + + function initializeText(effects) { + var self = this + var constructs = this.parser.constructs[field] + var text = effects.attempt(constructs, start, notText) + + return start + + function start(code) { + return atBreak(code) ? text(code) : notText(code) + } + + function notText(code) { + if (code === codes.eof) { + effects.consume(code) + return + } + + effects.enter(types.data) + effects.consume(code) + return data + } + + function data(code) { + if (atBreak(code)) { + effects.exit(types.data) + return text(code) + } + + // Data. + effects.consume(code) + return data + } + + function atBreak(code) { + var list = constructs[code] + var index = -1 + + if (code === codes.eof) { + return true + } + + if (list) { + while (++index < list.length) { + if ( + !list[index].previous || + list[index].previous.call(self, self.previous) + ) { + return true + } + } + } + } + } +} + +function createResolver(extraResolver) { + return resolveAllText + + function resolveAllText(events, context) { + var index = -1 + var enter + + // A rather boring computation (to merge adjacent `data` events) which + // improves mm performance by 29%. + while (++index <= events.length) { + if (enter === undefined) { + if (events[index] && events[index][1].type === types.data) { + enter = index + index++ + } + } else if (!events[index] || events[index][1].type !== types.data) { + // Don’t do anything if there is one data token. + if (index !== enter + 2) { + events[enter][1].end = events[index - 1][1].end + events.splice(enter + 2, index - enter - 2) + index = enter + 2 + } + + enter = undefined + } + } + + return extraResolver ? extraResolver(events, context) : events + } +} + +// A rather ugly set of instructions which again looks at chunks in the input +// stream. +// The reason to do this here is that it is *much* faster to parse in reverse. +// And that we can’t hook into `null` to split the line suffix before an EOF. +// To do: figure out if we can make this into a clean utility, or even in core. +// As it will be useful for GFMs literal autolink extension (and maybe even +// tables?) +function resolveAllLineSuffixes(events, context) { + var eventIndex = -1 + var chunks + var data + var chunk + var index + var bufferIndex + var size + var tabs + var token + + while (++eventIndex <= events.length) { + if ( + (eventIndex === events.length || + events[eventIndex][1].type === types.lineEnding) && + events[eventIndex - 1][1].type === types.data + ) { + data = events[eventIndex - 1][1] + chunks = context.sliceStream(data) + index = chunks.length + bufferIndex = -1 + size = 0 + tabs = undefined + + while (index--) { + chunk = chunks[index] + + if (typeof chunk === 'string') { + bufferIndex = chunk.length + + while (chunk.charCodeAt(bufferIndex - 1) === codes.space) { + size++ + bufferIndex-- + } + + if (bufferIndex) break + bufferIndex = -1 + } + // Number + else if (chunk === codes.horizontalTab) { + tabs = true + size++ + } else if (chunk === codes.virtualSpace) { + // Empty + } else { + // Replacement character, exit. + index++ + break + } + } + + if (size) { + token = { + type: + eventIndex === events.length || + tabs || + size < constants.hardBreakPrefixSizeMin + ? types.lineSuffix + : types.hardBreakTrailing, + start: { + line: data.end.line, + column: data.end.column - size, + offset: data.end.offset - size, + _index: data.start._index + index, + _bufferIndex: index + ? bufferIndex + : data.start._bufferIndex + bufferIndex + }, + end: shallow(data.end) + } + + data.end = shallow(token.start) + + if (data.start.offset === data.end.offset) { + assign(data, token) + } else { + events.splice( + eventIndex, + 0, + ['enter', token, context], + ['exit', token, context] + ) + eventIndex += 2 + } + } + + eventIndex++ + } + } + + return events +} diff --git a/tools/node_modules/eslint-plugin-markdown/node_modules/micromark/lib/parse.js b/tools/node_modules/eslint-plugin-markdown/node_modules/micromark/lib/parse.js new file mode 100644 index 00000000000000..aad11f9ee75e08 --- /dev/null +++ b/tools/node_modules/eslint-plugin-markdown/node_modules/micromark/lib/parse.js @@ -0,0 +1,36 @@ +'use strict' + +var content = require('./initialize/content.js') +var document = require('./initialize/document.js') +var flow = require('./initialize/flow.js') +var text = require('./initialize/text.js') +var combineExtensions = require('./util/combine-extensions.js') +var createTokenizer = require('./util/create-tokenizer.js') +var miniflat = require('./util/miniflat.js') +var constructs = require('./constructs.js') + +function parse(options) { + var settings = options || {} + var parser = { + defined: [], + constructs: combineExtensions( + [constructs].concat(miniflat(settings.extensions)) + ), + content: create(content), + document: create(document), + flow: create(flow), + string: create(text.string), + text: create(text.text) + } + + return parser + + function create(initializer) { + return creator + function creator(from) { + return createTokenizer(parser, initializer, from) + } + } +} + +module.exports = parse diff --git a/tools/node_modules/eslint-plugin-markdown/node_modules/micromark/lib/parse.mjs b/tools/node_modules/eslint-plugin-markdown/node_modules/micromark/lib/parse.mjs new file mode 100644 index 00000000000000..a4ca9ac681a3f5 --- /dev/null +++ b/tools/node_modules/eslint-plugin-markdown/node_modules/micromark/lib/parse.mjs @@ -0,0 +1,34 @@ +export default parse + +import * as initializeContent from './initialize/content.mjs' +import * as initializeDocument from './initialize/document.mjs' +import * as initializeFlow from './initialize/flow.mjs' +import * as initializeText from './initialize/text.mjs' +import combineExtensions from './util/combine-extensions.mjs' +import createTokenizer from './util/create-tokenizer.mjs' +import miniflat from './util/miniflat.mjs' +import * as constructs from './constructs.mjs' + +function parse(options) { + var settings = options || {} + var parser = { + defined: [], + constructs: combineExtensions( + [constructs].concat(miniflat(settings.extensions)) + ), + content: create(initializeContent), + document: create(initializeDocument), + flow: create(initializeFlow), + string: create(initializeText.string), + text: create(initializeText.text) + } + + return parser + + function create(initializer) { + return creator + function creator(from) { + return createTokenizer(parser, initializer, from) + } + } +} diff --git a/tools/node_modules/eslint-plugin-markdown/node_modules/micromark/lib/postprocess.js b/tools/node_modules/eslint-plugin-markdown/node_modules/micromark/lib/postprocess.js new file mode 100644 index 00000000000000..842f8ce8bfc64d --- /dev/null +++ b/tools/node_modules/eslint-plugin-markdown/node_modules/micromark/lib/postprocess.js @@ -0,0 +1,13 @@ +'use strict' + +var subtokenize = require('./util/subtokenize.js') + +function postprocess(events) { + while (!subtokenize(events)) { + // Empty + } + + return events +} + +module.exports = postprocess diff --git a/tools/node_modules/eslint-plugin-markdown/node_modules/micromark/lib/postprocess.mjs b/tools/node_modules/eslint-plugin-markdown/node_modules/micromark/lib/postprocess.mjs new file mode 100644 index 00000000000000..f32e378d3f98e9 --- /dev/null +++ b/tools/node_modules/eslint-plugin-markdown/node_modules/micromark/lib/postprocess.mjs @@ -0,0 +1,11 @@ +export default postprocess + +import subtokenize from './util/subtokenize.mjs' + +function postprocess(events) { + while (!subtokenize(events)) { + // Empty + } + + return events +} diff --git a/tools/node_modules/eslint-plugin-markdown/node_modules/micromark/lib/preprocess.js b/tools/node_modules/eslint-plugin-markdown/node_modules/micromark/lib/preprocess.js new file mode 100644 index 00000000000000..caf9c07059f3a4 --- /dev/null +++ b/tools/node_modules/eslint-plugin-markdown/node_modules/micromark/lib/preprocess.js @@ -0,0 +1,96 @@ +'use strict' + +var codes = require('./character/codes.js') +var constants = require('./constant/constants.js') + +var search = /[\0\t\n\r]/g + +function preprocess() { + var start = true + var column = 1 + var buffer = '' + var atCarriageReturn + + return preprocessor + + function preprocessor(value, encoding, end) { + var chunks = [] + var match + var next + var startPosition + var endPosition + var code + + value = buffer + value.toString(encoding) + startPosition = 0 + buffer = '' + + if (start) { + if (value.charCodeAt(0) === codes.byteOrderMarker) { + startPosition++ + } + + start = undefined + } + + while (startPosition < value.length) { + search.lastIndex = startPosition + match = search.exec(value) + endPosition = match ? match.index : value.length + code = value.charCodeAt(endPosition) + + if (!match) { + buffer = value.slice(startPosition) + break + } + + if ( + code === codes.lf && + startPosition === endPosition && + atCarriageReturn + ) { + chunks.push(codes.carriageReturnLineFeed) + atCarriageReturn = undefined + } else { + if (atCarriageReturn) { + chunks.push(codes.carriageReturn) + atCarriageReturn = undefined + } + + if (startPosition < endPosition) { + chunks.push(value.slice(startPosition, endPosition)) + column += endPosition - startPosition + } + + if (code === codes.nul) { + chunks.push(codes.replacementCharacter) + column++ + } else if (code === codes.ht) { + next = Math.ceil(column / constants.tabSize) * constants.tabSize + chunks.push(codes.horizontalTab) + while (column++ < next) chunks.push(codes.virtualSpace) + } else if (code === codes.lf) { + chunks.push(codes.lineFeed) + column = 1 + } + // Must be carriage return. + else { + atCarriageReturn = true + column = 1 + } + } + + startPosition = endPosition + 1 + } + + if (end) { + if (atCarriageReturn) chunks.push(codes.carriageReturn) + if (buffer) chunks.push(buffer) + chunks.push(codes.eof) + } + + return chunks + } +} + +module.exports = preprocess diff --git a/tools/node_modules/eslint-plugin-markdown/node_modules/micromark/lib/preprocess.mjs b/tools/node_modules/eslint-plugin-markdown/node_modules/micromark/lib/preprocess.mjs new file mode 100644 index 00000000000000..4413159d36cd9a --- /dev/null +++ b/tools/node_modules/eslint-plugin-markdown/node_modules/micromark/lib/preprocess.mjs @@ -0,0 +1,94 @@ +export default preprocess + +import codes from './character/codes.mjs' +import constants from './constant/constants.mjs' + +var search = /[\0\t\n\r]/g + +function preprocess() { + var start = true + var column = 1 + var buffer = '' + var atCarriageReturn + + return preprocessor + + function preprocessor(value, encoding, end) { + var chunks = [] + var match + var next + var startPosition + var endPosition + var code + + value = buffer + value.toString(encoding) + startPosition = 0 + buffer = '' + + if (start) { + if (value.charCodeAt(0) === codes.byteOrderMarker) { + startPosition++ + } + + start = undefined + } + + while (startPosition < value.length) { + search.lastIndex = startPosition + match = search.exec(value) + endPosition = match ? match.index : value.length + code = value.charCodeAt(endPosition) + + if (!match) { + buffer = value.slice(startPosition) + break + } + + if ( + code === codes.lf && + startPosition === endPosition && + atCarriageReturn + ) { + chunks.push(codes.carriageReturnLineFeed) + atCarriageReturn = undefined + } else { + if (atCarriageReturn) { + chunks.push(codes.carriageReturn) + atCarriageReturn = undefined + } + + if (startPosition < endPosition) { + chunks.push(value.slice(startPosition, endPosition)) + column += endPosition - startPosition + } + + if (code === codes.nul) { + chunks.push(codes.replacementCharacter) + column++ + } else if (code === codes.ht) { + next = Math.ceil(column / constants.tabSize) * constants.tabSize + chunks.push(codes.horizontalTab) + while (column++ < next) chunks.push(codes.virtualSpace) + } else if (code === codes.lf) { + chunks.push(codes.lineFeed) + column = 1 + } + // Must be carriage return. + else { + atCarriageReturn = true + column = 1 + } + } + + startPosition = endPosition + 1 + } + + if (end) { + if (atCarriageReturn) chunks.push(codes.carriageReturn) + if (buffer) chunks.push(buffer) + chunks.push(codes.eof) + } + + return chunks + } +} diff --git a/tools/node_modules/eslint-plugin-markdown/node_modules/micromark/lib/stream.js b/tools/node_modules/eslint-plugin-markdown/node_modules/micromark/lib/stream.js new file mode 100644 index 00000000000000..07fb675b62665f --- /dev/null +++ b/tools/node_modules/eslint-plugin-markdown/node_modules/micromark/lib/stream.js @@ -0,0 +1,119 @@ +'use strict' + +var events = require('events') +var html = require('./compile/html.js') +var parse = require('./parse.js') +var postprocess = require('./postprocess.js') +var preprocess = require('./preprocess.js') + +function stream(options) { + var preprocess$1 = preprocess() + var tokenize = parse(options).document().write + var compile = html(options) + var emitter = new events.EventEmitter() + var ended + + emitter.writable = emitter.readable = true + emitter.write = write + emitter.end = end + emitter.pipe = pipe + + return emitter + + // Write a chunk into memory. + function write(chunk, encoding, callback) { + if (typeof encoding === 'function') { + callback = encoding + encoding = undefined + } + + if (ended) { + throw new Error('Did not expect `write` after `end`') + } + + tokenize(preprocess$1(chunk || '', encoding)) + + if (callback) { + callback() + } + + // Signal succesful write. + return true + } + + // End the writing. + // Passes all arguments to a final `write`. + function end(chunk, encoding, callback) { + write(chunk, encoding, callback) + + emitter.emit( + 'data', + compile(postprocess(tokenize(preprocess$1('', encoding, true)))) + ) + + emitter.emit('end') + ended = true + return true + } + + // Pipe the processor into a writable stream. + // Basically `Stream#pipe`, but inlined and simplified to keep the bundled + // size down. + // See: . + function pipe(dest, options) { + emitter.on('data', ondata) + emitter.on('error', onerror) + emitter.on('end', cleanup) + emitter.on('close', cleanup) + + // If the `end` option is not supplied, `dest.end()` will be called when the + // `end` or `close` events are received. + if (!dest._isStdio && (!options || options.end !== false)) { + emitter.on('end', onend) + } + + dest.on('error', onerror) + dest.on('close', cleanup) + + dest.emit('pipe', emitter) + + return dest + + // End destination. + function onend() { + if (dest.end) { + dest.end() + } + } + + // Handle data. + function ondata(chunk) { + if (dest.writable) { + dest.write(chunk) + } + } + + // Clean listeners. + function cleanup() { + emitter.removeListener('data', ondata) + emitter.removeListener('end', onend) + emitter.removeListener('error', onerror) + emitter.removeListener('end', cleanup) + emitter.removeListener('close', cleanup) + + dest.removeListener('error', onerror) + dest.removeListener('close', cleanup) + } + + // Close dangling pipes and handle unheard errors. + function onerror(error) { + cleanup() + + if (!emitter.listenerCount('error')) { + throw error // Unhandled stream error in pipe. + } + } + } +} + +module.exports = stream diff --git a/tools/node_modules/eslint-plugin-markdown/node_modules/micromark/lib/stream.mjs b/tools/node_modules/eslint-plugin-markdown/node_modules/micromark/lib/stream.mjs new file mode 100644 index 00000000000000..d00c74a89ba3b6 --- /dev/null +++ b/tools/node_modules/eslint-plugin-markdown/node_modules/micromark/lib/stream.mjs @@ -0,0 +1,117 @@ +export default stream + +import {EventEmitter} from 'events' +import compiler from './compile/html.mjs' +import parser from './parse.mjs' +import postprocess from './postprocess.mjs' +import preprocessor from './preprocess.mjs' + +function stream(options) { + var preprocess = preprocessor() + var tokenize = parser(options).document().write + var compile = compiler(options) + var emitter = new EventEmitter() + var ended + + emitter.writable = emitter.readable = true + emitter.write = write + emitter.end = end + emitter.pipe = pipe + + return emitter + + // Write a chunk into memory. + function write(chunk, encoding, callback) { + if (typeof encoding === 'function') { + callback = encoding + encoding = undefined + } + + if (ended) { + throw new Error('Did not expect `write` after `end`') + } + + tokenize(preprocess(chunk || '', encoding)) + + if (callback) { + callback() + } + + // Signal succesful write. + return true + } + + // End the writing. + // Passes all arguments to a final `write`. + function end(chunk, encoding, callback) { + write(chunk, encoding, callback) + + emitter.emit( + 'data', + compile(postprocess(tokenize(preprocess('', encoding, true)))) + ) + + emitter.emit('end') + ended = true + return true + } + + // Pipe the processor into a writable stream. + // Basically `Stream#pipe`, but inlined and simplified to keep the bundled + // size down. + // See: . + function pipe(dest, options) { + emitter.on('data', ondata) + emitter.on('error', onerror) + emitter.on('end', cleanup) + emitter.on('close', cleanup) + + // If the `end` option is not supplied, `dest.end()` will be called when the + // `end` or `close` events are received. + if (!dest._isStdio && (!options || options.end !== false)) { + emitter.on('end', onend) + } + + dest.on('error', onerror) + dest.on('close', cleanup) + + dest.emit('pipe', emitter) + + return dest + + // End destination. + function onend() { + if (dest.end) { + dest.end() + } + } + + // Handle data. + function ondata(chunk) { + if (dest.writable) { + dest.write(chunk) + } + } + + // Clean listeners. + function cleanup() { + emitter.removeListener('data', ondata) + emitter.removeListener('end', onend) + emitter.removeListener('error', onerror) + emitter.removeListener('end', cleanup) + emitter.removeListener('close', cleanup) + + dest.removeListener('error', onerror) + dest.removeListener('close', cleanup) + } + + // Close dangling pipes and handle unheard errors. + function onerror(error) { + cleanup() + + if (!emitter.listenerCount('error')) { + throw error // Unhandled stream error in pipe. + } + } + } +} diff --git a/tools/node_modules/eslint-plugin-markdown/node_modules/micromark/lib/tokenize/attention.js b/tools/node_modules/eslint-plugin-markdown/node_modules/micromark/lib/tokenize/attention.js new file mode 100644 index 00000000000000..b38970d99e077a --- /dev/null +++ b/tools/node_modules/eslint-plugin-markdown/node_modules/micromark/lib/tokenize/attention.js @@ -0,0 +1,216 @@ +'use strict' + +var assert = require('assert') +var codes = require('../character/codes.js') +var constants = require('../constant/constants.js') +var types = require('../constant/types.js') +var chunkedPush = require('../util/chunked-push.js') +var chunkedSplice = require('../util/chunked-splice.js') +var classifyCharacter = require('../util/classify-character.js') +var movePoint = require('../util/move-point.js') +var resolveAll = require('../util/resolve-all.js') +var shallow = require('../util/shallow.js') + +function _interopDefaultLegacy(e) { + return e && typeof e === 'object' && 'default' in e ? e : {default: e} +} + +var assert__default = /*#__PURE__*/ _interopDefaultLegacy(assert) + +var attention = { + name: 'attention', + tokenize: tokenizeAttention, + resolveAll: resolveAllAttention +} + +// Take all events and resolve attention to emphasis or strong. +function resolveAllAttention(events, context) { + var index = -1 + var open + var group + var text + var openingSequence + var closingSequence + var use + var nextEvents + var offset + + // Walk through all events. + // + // Note: performance of this is fine on an mb of normal markdown, but it’s + // a bottleneck for malicious stuff. + while (++index < events.length) { + // Find a token that can close. + if ( + events[index][0] === 'enter' && + events[index][1].type === 'attentionSequence' && + events[index][1]._close + ) { + open = index + + // Now walk back to find an opener. + while (open--) { + // Find a token that can open the closer. + if ( + events[open][0] === 'exit' && + events[open][1].type === 'attentionSequence' && + events[open][1]._open && + // If the markers are the same: + context.sliceSerialize(events[open][1]).charCodeAt(0) === + context.sliceSerialize(events[index][1]).charCodeAt(0) + ) { + // If the opening can close or the closing can open, + // and the close size *is not* a multiple of three, + // but the sum of the opening and closing size *is* multiple of three, + // then don’t match. + if ( + (events[open][1]._close || events[index][1]._open) && + (events[index][1].end.offset - events[index][1].start.offset) % 3 && + !( + (events[open][1].end.offset - + events[open][1].start.offset + + events[index][1].end.offset - + events[index][1].start.offset) % + 3 + ) + ) { + continue + } + + // Number of markers to use from the sequence. + use = + events[open][1].end.offset - events[open][1].start.offset > 1 && + events[index][1].end.offset - events[index][1].start.offset > 1 + ? 2 + : 1 + + openingSequence = { + type: use > 1 ? types.strongSequence : types.emphasisSequence, + start: movePoint(shallow(events[open][1].end), -use), + end: shallow(events[open][1].end) + } + closingSequence = { + type: use > 1 ? types.strongSequence : types.emphasisSequence, + start: shallow(events[index][1].start), + end: movePoint(shallow(events[index][1].start), use) + } + text = { + type: use > 1 ? types.strongText : types.emphasisText, + start: shallow(events[open][1].end), + end: shallow(events[index][1].start) + } + group = { + type: use > 1 ? types.strong : types.emphasis, + start: shallow(openingSequence.start), + end: shallow(closingSequence.end) + } + + events[open][1].end = shallow(openingSequence.start) + events[index][1].start = shallow(closingSequence.end) + + nextEvents = [] + + // If there are more markers in the opening, add them before. + if (events[open][1].end.offset - events[open][1].start.offset) { + nextEvents = chunkedPush(nextEvents, [ + ['enter', events[open][1], context], + ['exit', events[open][1], context] + ]) + } + + // Opening. + nextEvents = chunkedPush(nextEvents, [ + ['enter', group, context], + ['enter', openingSequence, context], + ['exit', openingSequence, context], + ['enter', text, context] + ]) + + // Between. + nextEvents = chunkedPush( + nextEvents, + resolveAll( + context.parser.constructs.insideSpan.null, + events.slice(open + 1, index), + context + ) + ) + + // Closing. + nextEvents = chunkedPush(nextEvents, [ + ['exit', text, context], + ['enter', closingSequence, context], + ['exit', closingSequence, context], + ['exit', group, context] + ]) + + // If there are more markers in the closing, add them after. + if (events[index][1].end.offset - events[index][1].start.offset) { + offset = 2 + nextEvents = chunkedPush(nextEvents, [ + ['enter', events[index][1], context], + ['exit', events[index][1], context] + ]) + } else { + offset = 0 + } + + chunkedSplice(events, open - 1, index - open + 3, nextEvents) + + index = open + nextEvents.length - offset - 2 + break + } + } + } + } + + // Remove remaining sequences. + index = -1 + + while (++index < events.length) { + if (events[index][1].type === 'attentionSequence') { + events[index][1].type = 'data' + } + } + + return events +} + +function tokenizeAttention(effects, ok) { + var before = classifyCharacter(this.previous) + var marker + + return start + + function start(code) { + assert__default['default']( + code === codes.asterisk || code === codes.underscore, + 'expected asterisk or underscore' + ) + effects.enter('attentionSequence') + marker = code + return sequence(code) + } + + function sequence(code) { + var token + var after + var open + var close + + if (code === marker) { + effects.consume(code) + return sequence + } + + token = effects.exit('attentionSequence') + after = classifyCharacter(code) + open = !after || (after === constants.characterGroupPunctuation && before) + close = !before || (before === constants.characterGroupPunctuation && after) + token._open = marker === codes.asterisk ? open : open && (before || !close) + token._close = marker === codes.asterisk ? close : close && (after || !open) + return ok(code) + } +} + +module.exports = attention diff --git a/tools/node_modules/eslint-plugin-markdown/node_modules/micromark/lib/tokenize/attention.mjs b/tools/node_modules/eslint-plugin-markdown/node_modules/micromark/lib/tokenize/attention.mjs new file mode 100644 index 00000000000000..a3c81460f9a79e --- /dev/null +++ b/tools/node_modules/eslint-plugin-markdown/node_modules/micromark/lib/tokenize/attention.mjs @@ -0,0 +1,207 @@ +var attention = { + name: 'attention', + tokenize: tokenizeAttention, + resolveAll: resolveAllAttention +} +export default attention + +import assert from 'assert' +import codes from '../character/codes.mjs' +import constants from '../constant/constants.mjs' +import types from '../constant/types.mjs' +import chunkedPush from '../util/chunked-push.mjs' +import chunkedSplice from '../util/chunked-splice.mjs' +import classifyCharacter from '../util/classify-character.mjs' +import movePoint from '../util/move-point.mjs' +import resolveAll from '../util/resolve-all.mjs' +import shallow from '../util/shallow.mjs' + +// Take all events and resolve attention to emphasis or strong. +function resolveAllAttention(events, context) { + var index = -1 + var open + var group + var text + var openingSequence + var closingSequence + var use + var nextEvents + var offset + + // Walk through all events. + // + // Note: performance of this is fine on an mb of normal markdown, but it’s + // a bottleneck for malicious stuff. + while (++index < events.length) { + // Find a token that can close. + if ( + events[index][0] === 'enter' && + events[index][1].type === 'attentionSequence' && + events[index][1]._close + ) { + open = index + + // Now walk back to find an opener. + while (open--) { + // Find a token that can open the closer. + if ( + events[open][0] === 'exit' && + events[open][1].type === 'attentionSequence' && + events[open][1]._open && + // If the markers are the same: + context.sliceSerialize(events[open][1]).charCodeAt(0) === + context.sliceSerialize(events[index][1]).charCodeAt(0) + ) { + // If the opening can close or the closing can open, + // and the close size *is not* a multiple of three, + // but the sum of the opening and closing size *is* multiple of three, + // then don’t match. + if ( + (events[open][1]._close || events[index][1]._open) && + (events[index][1].end.offset - events[index][1].start.offset) % 3 && + !( + (events[open][1].end.offset - + events[open][1].start.offset + + events[index][1].end.offset - + events[index][1].start.offset) % + 3 + ) + ) { + continue + } + + // Number of markers to use from the sequence. + use = + events[open][1].end.offset - events[open][1].start.offset > 1 && + events[index][1].end.offset - events[index][1].start.offset > 1 + ? 2 + : 1 + + openingSequence = { + type: use > 1 ? types.strongSequence : types.emphasisSequence, + start: movePoint(shallow(events[open][1].end), -use), + end: shallow(events[open][1].end) + } + closingSequence = { + type: use > 1 ? types.strongSequence : types.emphasisSequence, + start: shallow(events[index][1].start), + end: movePoint(shallow(events[index][1].start), use) + } + text = { + type: use > 1 ? types.strongText : types.emphasisText, + start: shallow(events[open][1].end), + end: shallow(events[index][1].start) + } + group = { + type: use > 1 ? types.strong : types.emphasis, + start: shallow(openingSequence.start), + end: shallow(closingSequence.end) + } + + events[open][1].end = shallow(openingSequence.start) + events[index][1].start = shallow(closingSequence.end) + + nextEvents = [] + + // If there are more markers in the opening, add them before. + if (events[open][1].end.offset - events[open][1].start.offset) { + nextEvents = chunkedPush(nextEvents, [ + ['enter', events[open][1], context], + ['exit', events[open][1], context] + ]) + } + + // Opening. + nextEvents = chunkedPush(nextEvents, [ + ['enter', group, context], + ['enter', openingSequence, context], + ['exit', openingSequence, context], + ['enter', text, context] + ]) + + // Between. + nextEvents = chunkedPush( + nextEvents, + resolveAll( + context.parser.constructs.insideSpan.null, + events.slice(open + 1, index), + context + ) + ) + + // Closing. + nextEvents = chunkedPush(nextEvents, [ + ['exit', text, context], + ['enter', closingSequence, context], + ['exit', closingSequence, context], + ['exit', group, context] + ]) + + // If there are more markers in the closing, add them after. + if (events[index][1].end.offset - events[index][1].start.offset) { + offset = 2 + nextEvents = chunkedPush(nextEvents, [ + ['enter', events[index][1], context], + ['exit', events[index][1], context] + ]) + } else { + offset = 0 + } + + chunkedSplice(events, open - 1, index - open + 3, nextEvents) + + index = open + nextEvents.length - offset - 2 + break + } + } + } + } + + // Remove remaining sequences. + index = -1 + + while (++index < events.length) { + if (events[index][1].type === 'attentionSequence') { + events[index][1].type = 'data' + } + } + + return events +} + +function tokenizeAttention(effects, ok) { + var before = classifyCharacter(this.previous) + var marker + + return start + + function start(code) { + assert( + code === codes.asterisk || code === codes.underscore, + 'expected asterisk or underscore' + ) + effects.enter('attentionSequence') + marker = code + return sequence(code) + } + + function sequence(code) { + var token + var after + var open + var close + + if (code === marker) { + effects.consume(code) + return sequence + } + + token = effects.exit('attentionSequence') + after = classifyCharacter(code) + open = !after || (after === constants.characterGroupPunctuation && before) + close = !before || (before === constants.characterGroupPunctuation && after) + token._open = marker === codes.asterisk ? open : open && (before || !close) + token._close = marker === codes.asterisk ? close : close && (after || !open) + return ok(code) + } +} diff --git a/tools/node_modules/eslint-plugin-markdown/node_modules/micromark/lib/tokenize/autolink.js b/tools/node_modules/eslint-plugin-markdown/node_modules/micromark/lib/tokenize/autolink.js new file mode 100644 index 00000000000000..037280bbd2ced2 --- /dev/null +++ b/tools/node_modules/eslint-plugin-markdown/node_modules/micromark/lib/tokenize/autolink.js @@ -0,0 +1,147 @@ +'use strict' + +var assert = require('assert') +var asciiAlpha = require('../character/ascii-alpha.js') +var asciiAlphanumeric = require('../character/ascii-alphanumeric.js') +var asciiAtext = require('../character/ascii-atext.js') +var asciiControl = require('../character/ascii-control.js') +var codes = require('../character/codes.js') +var constants = require('../constant/constants.js') +var types = require('../constant/types.js') + +function _interopDefaultLegacy(e) { + return e && typeof e === 'object' && 'default' in e ? e : {default: e} +} + +var assert__default = /*#__PURE__*/ _interopDefaultLegacy(assert) + +var autolink = { + name: 'autolink', + tokenize: tokenizeAutolink +} + +function tokenizeAutolink(effects, ok, nok) { + var size = 1 + + return start + + function start(code) { + assert__default['default'](code === codes.lessThan, 'expected `<`') + effects.enter(types.autolink) + effects.enter(types.autolinkMarker) + effects.consume(code) + effects.exit(types.autolinkMarker) + effects.enter(types.autolinkProtocol) + return open + } + + function open(code) { + if (asciiAlpha(code)) { + effects.consume(code) + return schemeOrEmailAtext + } + + return asciiAtext(code) ? emailAtext(code) : nok(code) + } + + function schemeOrEmailAtext(code) { + return code === codes.plusSign || + code === codes.dash || + code === codes.dot || + asciiAlphanumeric(code) + ? schemeInsideOrEmailAtext(code) + : emailAtext(code) + } + + function schemeInsideOrEmailAtext(code) { + if (code === codes.colon) { + effects.consume(code) + return urlInside + } + + if ( + (code === codes.plusSign || + code === codes.dash || + code === codes.dot || + asciiAlphanumeric(code)) && + size++ < constants.autolinkSchemeSizeMax + ) { + effects.consume(code) + return schemeInsideOrEmailAtext + } + + return emailAtext(code) + } + + function urlInside(code) { + if (code === codes.greaterThan) { + effects.exit(types.autolinkProtocol) + return end(code) + } + + if (code === codes.space || code === codes.lessThan || asciiControl(code)) { + return nok(code) + } + + effects.consume(code) + return urlInside + } + + function emailAtext(code) { + if (code === codes.atSign) { + effects.consume(code) + size = 0 + return emailAtSignOrDot + } + + if (asciiAtext(code)) { + effects.consume(code) + return emailAtext + } + + return nok(code) + } + + function emailAtSignOrDot(code) { + return asciiAlphanumeric(code) ? emailLabel(code) : nok(code) + } + + function emailLabel(code) { + if (code === codes.dot) { + effects.consume(code) + size = 0 + return emailAtSignOrDot + } + + if (code === codes.greaterThan) { + // Exit, then change the type. + effects.exit(types.autolinkProtocol).type = types.autolinkEmail + return end(code) + } + + return emailValue(code) + } + + function emailValue(code) { + if ( + (code === codes.dash || asciiAlphanumeric(code)) && + size++ < constants.autolinkDomainSizeMax + ) { + effects.consume(code) + return code === codes.dash ? emailValue : emailLabel + } + + return nok(code) + } + + function end(code) { + assert__default['default'].equal(code, codes.greaterThan, 'expected `>`') + effects.enter(types.autolinkMarker) + effects.consume(code) + effects.exit(types.autolinkMarker) + effects.exit(types.autolink) + return ok + } +} + +module.exports = autolink diff --git a/tools/node_modules/eslint-plugin-markdown/node_modules/micromark/lib/tokenize/autolink.mjs b/tools/node_modules/eslint-plugin-markdown/node_modules/micromark/lib/tokenize/autolink.mjs new file mode 100644 index 00000000000000..890cd6c468144a --- /dev/null +++ b/tools/node_modules/eslint-plugin-markdown/node_modules/micromark/lib/tokenize/autolink.mjs @@ -0,0 +1,138 @@ +var autolink = { + name: 'autolink', + tokenize: tokenizeAutolink +} +export default autolink + +import assert from 'assert' +import asciiAlpha from '../character/ascii-alpha.mjs' +import asciiAlphanumeric from '../character/ascii-alphanumeric.mjs' +import asciiAtext from '../character/ascii-atext.mjs' +import asciiControl from '../character/ascii-control.mjs' +import codes from '../character/codes.mjs' +import constants from '../constant/constants.mjs' +import types from '../constant/types.mjs' + +function tokenizeAutolink(effects, ok, nok) { + var size = 1 + + return start + + function start(code) { + assert(code === codes.lessThan, 'expected `<`') + effects.enter(types.autolink) + effects.enter(types.autolinkMarker) + effects.consume(code) + effects.exit(types.autolinkMarker) + effects.enter(types.autolinkProtocol) + return open + } + + function open(code) { + if (asciiAlpha(code)) { + effects.consume(code) + return schemeOrEmailAtext + } + + return asciiAtext(code) ? emailAtext(code) : nok(code) + } + + function schemeOrEmailAtext(code) { + return code === codes.plusSign || + code === codes.dash || + code === codes.dot || + asciiAlphanumeric(code) + ? schemeInsideOrEmailAtext(code) + : emailAtext(code) + } + + function schemeInsideOrEmailAtext(code) { + if (code === codes.colon) { + effects.consume(code) + return urlInside + } + + if ( + (code === codes.plusSign || + code === codes.dash || + code === codes.dot || + asciiAlphanumeric(code)) && + size++ < constants.autolinkSchemeSizeMax + ) { + effects.consume(code) + return schemeInsideOrEmailAtext + } + + return emailAtext(code) + } + + function urlInside(code) { + if (code === codes.greaterThan) { + effects.exit(types.autolinkProtocol) + return end(code) + } + + if (code === codes.space || code === codes.lessThan || asciiControl(code)) { + return nok(code) + } + + effects.consume(code) + return urlInside + } + + function emailAtext(code) { + if (code === codes.atSign) { + effects.consume(code) + size = 0 + return emailAtSignOrDot + } + + if (asciiAtext(code)) { + effects.consume(code) + return emailAtext + } + + return nok(code) + } + + function emailAtSignOrDot(code) { + return asciiAlphanumeric(code) ? emailLabel(code) : nok(code) + } + + function emailLabel(code) { + if (code === codes.dot) { + effects.consume(code) + size = 0 + return emailAtSignOrDot + } + + if (code === codes.greaterThan) { + // Exit, then change the type. + effects.exit(types.autolinkProtocol).type = types.autolinkEmail + return end(code) + } + + return emailValue(code) + } + + function emailValue(code) { + if ( + (code === codes.dash || asciiAlphanumeric(code)) && + size++ < constants.autolinkDomainSizeMax + ) { + effects.consume(code) + return code === codes.dash ? emailValue : emailLabel + } + + return nok(code) + } + + function end(code) { + assert.equal(code, codes.greaterThan, 'expected `>`') + effects.enter(types.autolinkMarker) + effects.consume(code) + effects.exit(types.autolinkMarker) + effects.exit(types.autolink) + return ok + } +} diff --git a/tools/node_modules/eslint-plugin-markdown/node_modules/micromark/lib/tokenize/block-quote.js b/tools/node_modules/eslint-plugin-markdown/node_modules/micromark/lib/tokenize/block-quote.js new file mode 100644 index 00000000000000..66f58d0715314b --- /dev/null +++ b/tools/node_modules/eslint-plugin-markdown/node_modules/micromark/lib/tokenize/block-quote.js @@ -0,0 +1,67 @@ +'use strict' + +var codes = require('../character/codes.js') +var markdownSpace = require('../character/markdown-space.js') +var constants = require('../constant/constants.js') +var types = require('../constant/types.js') +var factorySpace = require('./factory-space.js') + +var blockQuote = { + name: 'blockQuote', + tokenize: tokenizeBlockQuoteStart, + continuation: {tokenize: tokenizeBlockQuoteContinuation}, + exit: exit +} + +function tokenizeBlockQuoteStart(effects, ok, nok) { + var self = this + + return start + + function start(code) { + if (code === codes.greaterThan) { + if (!self.containerState.open) { + effects.enter(types.blockQuote, {_container: true}) + self.containerState.open = true + } + + effects.enter(types.blockQuotePrefix) + effects.enter(types.blockQuoteMarker) + effects.consume(code) + effects.exit(types.blockQuoteMarker) + return after + } + + return nok(code) + } + + function after(code) { + if (markdownSpace(code)) { + effects.enter(types.blockQuotePrefixWhitespace) + effects.consume(code) + effects.exit(types.blockQuotePrefixWhitespace) + effects.exit(types.blockQuotePrefix) + return ok + } + + effects.exit(types.blockQuotePrefix) + return ok(code) + } +} + +function tokenizeBlockQuoteContinuation(effects, ok, nok) { + return factorySpace( + effects, + effects.attempt(blockQuote, ok, nok), + types.linePrefix, + this.parser.constructs.disable.null.indexOf('codeIndented') > -1 + ? undefined + : constants.tabSize + ) +} + +function exit(effects) { + effects.exit(types.blockQuote) +} + +module.exports = blockQuote diff --git a/tools/node_modules/eslint-plugin-markdown/node_modules/micromark/lib/tokenize/block-quote.mjs b/tools/node_modules/eslint-plugin-markdown/node_modules/micromark/lib/tokenize/block-quote.mjs new file mode 100644 index 00000000000000..cf215ba60297ee --- /dev/null +++ b/tools/node_modules/eslint-plugin-markdown/node_modules/micromark/lib/tokenize/block-quote.mjs @@ -0,0 +1,64 @@ +var blockQuote = { + name: 'blockQuote', + tokenize: tokenizeBlockQuoteStart, + continuation: {tokenize: tokenizeBlockQuoteContinuation}, + exit: exit +} +export default blockQuote + +import codes from '../character/codes.mjs' +import markdownSpace from '../character/markdown-space.mjs' +import constants from '../constant/constants.mjs' +import types from '../constant/types.mjs' +import spaceFactory from './factory-space.mjs' + +function tokenizeBlockQuoteStart(effects, ok, nok) { + var self = this + + return start + + function start(code) { + if (code === codes.greaterThan) { + if (!self.containerState.open) { + effects.enter(types.blockQuote, {_container: true}) + self.containerState.open = true + } + + effects.enter(types.blockQuotePrefix) + effects.enter(types.blockQuoteMarker) + effects.consume(code) + effects.exit(types.blockQuoteMarker) + return after + } + + return nok(code) + } + + function after(code) { + if (markdownSpace(code)) { + effects.enter(types.blockQuotePrefixWhitespace) + effects.consume(code) + effects.exit(types.blockQuotePrefixWhitespace) + effects.exit(types.blockQuotePrefix) + return ok + } + + effects.exit(types.blockQuotePrefix) + return ok(code) + } +} + +function tokenizeBlockQuoteContinuation(effects, ok, nok) { + return spaceFactory( + effects, + effects.attempt(blockQuote, ok, nok), + types.linePrefix, + this.parser.constructs.disable.null.indexOf('codeIndented') > -1 + ? undefined + : constants.tabSize + ) +} + +function exit(effects) { + effects.exit(types.blockQuote) +} diff --git a/tools/node_modules/eslint-plugin-markdown/node_modules/micromark/lib/tokenize/character-escape.js b/tools/node_modules/eslint-plugin-markdown/node_modules/micromark/lib/tokenize/character-escape.js new file mode 100644 index 00000000000000..2c796400033887 --- /dev/null +++ b/tools/node_modules/eslint-plugin-markdown/node_modules/micromark/lib/tokenize/character-escape.js @@ -0,0 +1,44 @@ +'use strict' + +var assert = require('assert') +var asciiPunctuation = require('../character/ascii-punctuation.js') +var codes = require('../character/codes.js') +var types = require('../constant/types.js') + +function _interopDefaultLegacy(e) { + return e && typeof e === 'object' && 'default' in e ? e : {default: e} +} + +var assert__default = /*#__PURE__*/ _interopDefaultLegacy(assert) + +var characterEscape = { + name: 'characterEscape', + tokenize: tokenizeCharacterEscape +} + +function tokenizeCharacterEscape(effects, ok, nok) { + return start + + function start(code) { + assert__default['default'](code === codes.backslash, 'expected `\\`') + effects.enter(types.characterEscape) + effects.enter(types.escapeMarker) + effects.consume(code) + effects.exit(types.escapeMarker) + return open + } + + function open(code) { + if (asciiPunctuation(code)) { + effects.enter(types.characterEscapeValue) + effects.consume(code) + effects.exit(types.characterEscapeValue) + effects.exit(types.characterEscape) + return ok + } + + return nok(code) + } +} + +module.exports = characterEscape diff --git a/tools/node_modules/eslint-plugin-markdown/node_modules/micromark/lib/tokenize/character-escape.mjs b/tools/node_modules/eslint-plugin-markdown/node_modules/micromark/lib/tokenize/character-escape.mjs new file mode 100644 index 00000000000000..fae1f771082a34 --- /dev/null +++ b/tools/node_modules/eslint-plugin-markdown/node_modules/micromark/lib/tokenize/character-escape.mjs @@ -0,0 +1,35 @@ +var characterEscape = { + name: 'characterEscape', + tokenize: tokenizeCharacterEscape +} +export default characterEscape + +import assert from 'assert' +import asciiPunctuation from '../character/ascii-punctuation.mjs' +import codes from '../character/codes.mjs' +import types from '../constant/types.mjs' + +function tokenizeCharacterEscape(effects, ok, nok) { + return start + + function start(code) { + assert(code === codes.backslash, 'expected `\\`') + effects.enter(types.characterEscape) + effects.enter(types.escapeMarker) + effects.consume(code) + effects.exit(types.escapeMarker) + return open + } + + function open(code) { + if (asciiPunctuation(code)) { + effects.enter(types.characterEscapeValue) + effects.consume(code) + effects.exit(types.characterEscapeValue) + effects.exit(types.characterEscape) + return ok + } + + return nok(code) + } +} diff --git a/tools/node_modules/eslint-plugin-markdown/node_modules/micromark/lib/tokenize/character-reference.js b/tools/node_modules/eslint-plugin-markdown/node_modules/micromark/lib/tokenize/character-reference.js new file mode 100644 index 00000000000000..0f3966c6d77b4b --- /dev/null +++ b/tools/node_modules/eslint-plugin-markdown/node_modules/micromark/lib/tokenize/character-reference.js @@ -0,0 +1,101 @@ +'use strict' + +var assert = require('assert') +var decodeEntity = require('parse-entities/decode-entity.js') +var asciiAlphanumeric = require('../character/ascii-alphanumeric.js') +var asciiDigit = require('../character/ascii-digit.js') +var asciiHexDigit = require('../character/ascii-hex-digit.js') +var codes = require('../character/codes.js') +var constants = require('../constant/constants.js') +var types = require('../constant/types.js') + +function _interopDefaultLegacy(e) { + return e && typeof e === 'object' && 'default' in e ? e : {default: e} +} + +var assert__default = /*#__PURE__*/ _interopDefaultLegacy(assert) +var decodeEntity__default = /*#__PURE__*/ _interopDefaultLegacy(decodeEntity) + +var characterReference = { + name: 'characterReference', + tokenize: tokenizeCharacterReference +} + +function tokenizeCharacterReference(effects, ok, nok) { + var self = this + var size = 0 + var max + var test + + return start + + function start(code) { + assert__default['default'](code === codes.ampersand, 'expected `&`') + effects.enter(types.characterReference) + effects.enter(types.characterReferenceMarker) + effects.consume(code) + effects.exit(types.characterReferenceMarker) + return open + } + + function open(code) { + if (code === codes.numberSign) { + effects.enter(types.characterReferenceMarkerNumeric) + effects.consume(code) + effects.exit(types.characterReferenceMarkerNumeric) + return numeric + } + + effects.enter(types.characterReferenceValue) + max = constants.characterReferenceNamedSizeMax + test = asciiAlphanumeric + return value(code) + } + + function numeric(code) { + if (code === codes.uppercaseX || code === codes.lowercaseX) { + effects.enter(types.characterReferenceMarkerHexadecimal) + effects.consume(code) + effects.exit(types.characterReferenceMarkerHexadecimal) + effects.enter(types.characterReferenceValue) + max = constants.characterReferenceHexadecimalSizeMax + test = asciiHexDigit + return value + } + + effects.enter(types.characterReferenceValue) + max = constants.characterReferenceDecimalSizeMax + test = asciiDigit + return value(code) + } + + function value(code) { + var token + + if (code === codes.semicolon && size) { + token = effects.exit(types.characterReferenceValue) + + if ( + test === asciiAlphanumeric && + !decodeEntity__default['default'](self.sliceSerialize(token)) + ) { + return nok(code) + } + + effects.enter(types.characterReferenceMarker) + effects.consume(code) + effects.exit(types.characterReferenceMarker) + effects.exit(types.characterReference) + return ok + } + + if (test(code) && size++ < max) { + effects.consume(code) + return value + } + + return nok(code) + } +} + +module.exports = characterReference diff --git a/tools/node_modules/eslint-plugin-markdown/node_modules/micromark/lib/tokenize/character-reference.mjs b/tools/node_modules/eslint-plugin-markdown/node_modules/micromark/lib/tokenize/character-reference.mjs new file mode 100644 index 00000000000000..eb76075a6dacaa --- /dev/null +++ b/tools/node_modules/eslint-plugin-markdown/node_modules/micromark/lib/tokenize/character-reference.mjs @@ -0,0 +1,88 @@ +var characterReference = { + name: 'characterReference', + tokenize: tokenizeCharacterReference +} +export default characterReference + +import assert from 'assert' +import decode from 'parse-entities/decode-entity.js' +import asciiAlphanumeric from '../character/ascii-alphanumeric.mjs' +import asciiDigit from '../character/ascii-digit.mjs' +import asciiHexDigit from '../character/ascii-hex-digit.mjs' +import codes from '../character/codes.mjs' +import constants from '../constant/constants.mjs' +import types from '../constant/types.mjs' + +function tokenizeCharacterReference(effects, ok, nok) { + var self = this + var size = 0 + var max + var test + + return start + + function start(code) { + assert(code === codes.ampersand, 'expected `&`') + effects.enter(types.characterReference) + effects.enter(types.characterReferenceMarker) + effects.consume(code) + effects.exit(types.characterReferenceMarker) + return open + } + + function open(code) { + if (code === codes.numberSign) { + effects.enter(types.characterReferenceMarkerNumeric) + effects.consume(code) + effects.exit(types.characterReferenceMarkerNumeric) + return numeric + } + + effects.enter(types.characterReferenceValue) + max = constants.characterReferenceNamedSizeMax + test = asciiAlphanumeric + return value(code) + } + + function numeric(code) { + if (code === codes.uppercaseX || code === codes.lowercaseX) { + effects.enter(types.characterReferenceMarkerHexadecimal) + effects.consume(code) + effects.exit(types.characterReferenceMarkerHexadecimal) + effects.enter(types.characterReferenceValue) + max = constants.characterReferenceHexadecimalSizeMax + test = asciiHexDigit + return value + } + + effects.enter(types.characterReferenceValue) + max = constants.characterReferenceDecimalSizeMax + test = asciiDigit + return value(code) + } + + function value(code) { + var token + + if (code === codes.semicolon && size) { + token = effects.exit(types.characterReferenceValue) + + if (test === asciiAlphanumeric && !decode(self.sliceSerialize(token))) { + return nok(code) + } + + effects.enter(types.characterReferenceMarker) + effects.consume(code) + effects.exit(types.characterReferenceMarker) + effects.exit(types.characterReference) + return ok + } + + if (test(code) && size++ < max) { + effects.consume(code) + return value + } + + return nok(code) + } +} diff --git a/tools/node_modules/eslint-plugin-markdown/node_modules/micromark/lib/tokenize/code-fenced.js b/tools/node_modules/eslint-plugin-markdown/node_modules/micromark/lib/tokenize/code-fenced.js new file mode 100644 index 00000000000000..f73583584c37cc --- /dev/null +++ b/tools/node_modules/eslint-plugin-markdown/node_modules/micromark/lib/tokenize/code-fenced.js @@ -0,0 +1,185 @@ +'use strict' + +var assert = require('assert') +var codes = require('../character/codes.js') +var markdownLineEnding = require('../character/markdown-line-ending.js') +var markdownLineEndingOrSpace = require('../character/markdown-line-ending-or-space.js') +var constants = require('../constant/constants.js') +var types = require('../constant/types.js') +var prefixSize = require('../util/prefix-size.js') +var factorySpace = require('./factory-space.js') + +function _interopDefaultLegacy(e) { + return e && typeof e === 'object' && 'default' in e ? e : {default: e} +} + +var assert__default = /*#__PURE__*/ _interopDefaultLegacy(assert) + +var codeFenced = { + name: 'codeFenced', + tokenize: tokenizeCodeFenced, + concrete: true +} + +function tokenizeCodeFenced(effects, ok, nok) { + var self = this + var closingFenceConstruct = {tokenize: tokenizeClosingFence, partial: true} + var initialPrefix = prefixSize(this.events, types.linePrefix) + var sizeOpen = 0 + var marker + + return start + + function start(code) { + assert__default['default']( + code === codes.graveAccent || code === codes.tilde, + 'expected `` ` `` or `~`' + ) + effects.enter(types.codeFenced) + effects.enter(types.codeFencedFence) + effects.enter(types.codeFencedFenceSequence) + marker = code + return sequenceOpen(code) + } + + function sequenceOpen(code) { + if (code === marker) { + effects.consume(code) + sizeOpen++ + return sequenceOpen + } + + effects.exit(types.codeFencedFenceSequence) + return sizeOpen < constants.codeFencedSequenceSizeMin + ? nok(code) + : factorySpace(effects, infoOpen, types.whitespace)(code) + } + + function infoOpen(code) { + if (code === codes.eof || markdownLineEnding(code)) { + return openAfter(code) + } + + effects.enter(types.codeFencedFenceInfo) + effects.enter(types.chunkString, {contentType: constants.contentTypeString}) + return info(code) + } + + function info(code) { + if (code === codes.eof || markdownLineEndingOrSpace(code)) { + effects.exit(types.chunkString) + effects.exit(types.codeFencedFenceInfo) + return factorySpace(effects, infoAfter, types.whitespace)(code) + } + + if (code === codes.graveAccent && code === marker) return nok(code) + effects.consume(code) + return info + } + + function infoAfter(code) { + if (code === codes.eof || markdownLineEnding(code)) { + return openAfter(code) + } + + effects.enter(types.codeFencedFenceMeta) + effects.enter(types.chunkString, {contentType: constants.contentTypeString}) + return meta(code) + } + + function meta(code) { + if (code === codes.eof || markdownLineEnding(code)) { + effects.exit(types.chunkString) + effects.exit(types.codeFencedFenceMeta) + return openAfter(code) + } + + if (code === codes.graveAccent && code === marker) return nok(code) + effects.consume(code) + return meta + } + + function openAfter(code) { + effects.exit(types.codeFencedFence) + return self.interrupt ? ok(code) : content(code) + } + + function content(code) { + if (code === codes.eof) { + return after(code) + } + + if (markdownLineEnding(code)) { + effects.enter(types.lineEnding) + effects.consume(code) + effects.exit(types.lineEnding) + return effects.attempt( + closingFenceConstruct, + after, + initialPrefix + ? factorySpace(effects, content, types.linePrefix, initialPrefix + 1) + : content + ) + } + + effects.enter(types.codeFlowValue) + return contentContinue(code) + } + + function contentContinue(code) { + if (code === codes.eof || markdownLineEnding(code)) { + effects.exit(types.codeFlowValue) + return content(code) + } + + effects.consume(code) + return contentContinue + } + + function after(code) { + effects.exit(types.codeFenced) + return ok(code) + } + + function tokenizeClosingFence(effects, ok, nok) { + var size = 0 + + return factorySpace( + effects, + closingSequenceStart, + types.linePrefix, + this.parser.constructs.disable.null.indexOf('codeIndented') > -1 + ? undefined + : constants.tabSize + ) + + function closingSequenceStart(code) { + effects.enter(types.codeFencedFence) + effects.enter(types.codeFencedFenceSequence) + return closingSequence(code) + } + + function closingSequence(code) { + if (code === marker) { + effects.consume(code) + size++ + return closingSequence + } + + if (size < sizeOpen) return nok(code) + effects.exit(types.codeFencedFenceSequence) + return factorySpace(effects, closingSequenceEnd, types.whitespace)(code) + } + + function closingSequenceEnd(code) { + if (code === codes.eof || markdownLineEnding(code)) { + effects.exit(types.codeFencedFence) + return ok(code) + } + + return nok(code) + } + } +} + +module.exports = codeFenced diff --git a/tools/node_modules/eslint-plugin-markdown/node_modules/micromark/lib/tokenize/code-fenced.mjs b/tools/node_modules/eslint-plugin-markdown/node_modules/micromark/lib/tokenize/code-fenced.mjs new file mode 100644 index 00000000000000..14f83b1fdd470a --- /dev/null +++ b/tools/node_modules/eslint-plugin-markdown/node_modules/micromark/lib/tokenize/code-fenced.mjs @@ -0,0 +1,176 @@ +var codeFenced = { + name: 'codeFenced', + tokenize: tokenizeCodeFenced, + concrete: true +} +export default codeFenced + +import assert from 'assert' +import codes from '../character/codes.mjs' +import markdownLineEnding from '../character/markdown-line-ending.mjs' +import markdownLineEndingOrSpace from '../character/markdown-line-ending-or-space.mjs' +import constants from '../constant/constants.mjs' +import types from '../constant/types.mjs' +import prefixSize from '../util/prefix-size.mjs' +import spaceFactory from './factory-space.mjs' + +function tokenizeCodeFenced(effects, ok, nok) { + var self = this + var closingFenceConstruct = {tokenize: tokenizeClosingFence, partial: true} + var initialPrefix = prefixSize(this.events, types.linePrefix) + var sizeOpen = 0 + var marker + + return start + + function start(code) { + assert( + code === codes.graveAccent || code === codes.tilde, + 'expected `` ` `` or `~`' + ) + effects.enter(types.codeFenced) + effects.enter(types.codeFencedFence) + effects.enter(types.codeFencedFenceSequence) + marker = code + return sequenceOpen(code) + } + + function sequenceOpen(code) { + if (code === marker) { + effects.consume(code) + sizeOpen++ + return sequenceOpen + } + + effects.exit(types.codeFencedFenceSequence) + return sizeOpen < constants.codeFencedSequenceSizeMin + ? nok(code) + : spaceFactory(effects, infoOpen, types.whitespace)(code) + } + + function infoOpen(code) { + if (code === codes.eof || markdownLineEnding(code)) { + return openAfter(code) + } + + effects.enter(types.codeFencedFenceInfo) + effects.enter(types.chunkString, {contentType: constants.contentTypeString}) + return info(code) + } + + function info(code) { + if (code === codes.eof || markdownLineEndingOrSpace(code)) { + effects.exit(types.chunkString) + effects.exit(types.codeFencedFenceInfo) + return spaceFactory(effects, infoAfter, types.whitespace)(code) + } + + if (code === codes.graveAccent && code === marker) return nok(code) + effects.consume(code) + return info + } + + function infoAfter(code) { + if (code === codes.eof || markdownLineEnding(code)) { + return openAfter(code) + } + + effects.enter(types.codeFencedFenceMeta) + effects.enter(types.chunkString, {contentType: constants.contentTypeString}) + return meta(code) + } + + function meta(code) { + if (code === codes.eof || markdownLineEnding(code)) { + effects.exit(types.chunkString) + effects.exit(types.codeFencedFenceMeta) + return openAfter(code) + } + + if (code === codes.graveAccent && code === marker) return nok(code) + effects.consume(code) + return meta + } + + function openAfter(code) { + effects.exit(types.codeFencedFence) + return self.interrupt ? ok(code) : content(code) + } + + function content(code) { + if (code === codes.eof) { + return after(code) + } + + if (markdownLineEnding(code)) { + effects.enter(types.lineEnding) + effects.consume(code) + effects.exit(types.lineEnding) + return effects.attempt( + closingFenceConstruct, + after, + initialPrefix + ? spaceFactory(effects, content, types.linePrefix, initialPrefix + 1) + : content + ) + } + + effects.enter(types.codeFlowValue) + return contentContinue(code) + } + + function contentContinue(code) { + if (code === codes.eof || markdownLineEnding(code)) { + effects.exit(types.codeFlowValue) + return content(code) + } + + effects.consume(code) + return contentContinue + } + + function after(code) { + effects.exit(types.codeFenced) + return ok(code) + } + + function tokenizeClosingFence(effects, ok, nok) { + var size = 0 + + return spaceFactory( + effects, + closingSequenceStart, + types.linePrefix, + this.parser.constructs.disable.null.indexOf('codeIndented') > -1 + ? undefined + : constants.tabSize + ) + + function closingSequenceStart(code) { + effects.enter(types.codeFencedFence) + effects.enter(types.codeFencedFenceSequence) + return closingSequence(code) + } + + function closingSequence(code) { + if (code === marker) { + effects.consume(code) + size++ + return closingSequence + } + + if (size < sizeOpen) return nok(code) + effects.exit(types.codeFencedFenceSequence) + return spaceFactory(effects, closingSequenceEnd, types.whitespace)(code) + } + + function closingSequenceEnd(code) { + if (code === codes.eof || markdownLineEnding(code)) { + effects.exit(types.codeFencedFence) + return ok(code) + } + + return nok(code) + } + } +} diff --git a/tools/node_modules/eslint-plugin-markdown/node_modules/micromark/lib/tokenize/code-indented.js b/tools/node_modules/eslint-plugin-markdown/node_modules/micromark/lib/tokenize/code-indented.js new file mode 100644 index 00000000000000..8725366d26fd4e --- /dev/null +++ b/tools/node_modules/eslint-plugin-markdown/node_modules/micromark/lib/tokenize/code-indented.js @@ -0,0 +1,91 @@ +'use strict' + +var codes = require('../character/codes.js') +var markdownLineEnding = require('../character/markdown-line-ending.js') +var constants = require('../constant/constants.js') +var types = require('../constant/types.js') +var chunkedSplice = require('../util/chunked-splice.js') +var prefixSize = require('../util/prefix-size.js') +var factorySpace = require('./factory-space.js') + +var codeIndented = { + name: 'codeIndented', + tokenize: tokenizeCodeIndented, + resolve: resolveCodeIndented +} + +var indentedContentConstruct = { + tokenize: tokenizeIndentedContent, + partial: true +} + +function resolveCodeIndented(events, context) { + var code = { + type: types.codeIndented, + start: events[0][1].start, + end: events[events.length - 1][1].end + } + + chunkedSplice(events, 0, 0, [['enter', code, context]]) + chunkedSplice(events, events.length, 0, [['exit', code, context]]) + + return events +} + +function tokenizeCodeIndented(effects, ok, nok) { + return effects.attempt(indentedContentConstruct, afterPrefix, nok) + + function afterPrefix(code) { + if (code === codes.eof) { + return ok(code) + } + + if (markdownLineEnding(code)) { + return effects.attempt(indentedContentConstruct, afterPrefix, ok)(code) + } + + effects.enter(types.codeFlowValue) + return content(code) + } + + function content(code) { + if (code === codes.eof || markdownLineEnding(code)) { + effects.exit(types.codeFlowValue) + return afterPrefix(code) + } + + effects.consume(code) + return content + } +} + +function tokenizeIndentedContent(effects, ok, nok) { + var self = this + + return factorySpace( + effects, + afterPrefix, + types.linePrefix, + constants.tabSize + 1 + ) + + function afterPrefix(code) { + if (markdownLineEnding(code)) { + effects.enter(types.lineEnding) + effects.consume(code) + effects.exit(types.lineEnding) + return factorySpace( + effects, + afterPrefix, + types.linePrefix, + constants.tabSize + 1 + ) + } + + return prefixSize(self.events, types.linePrefix) < constants.tabSize + ? nok(code) + : ok(code) + } +} + +module.exports = codeIndented diff --git a/tools/node_modules/eslint-plugin-markdown/node_modules/micromark/lib/tokenize/code-indented.mjs b/tools/node_modules/eslint-plugin-markdown/node_modules/micromark/lib/tokenize/code-indented.mjs new file mode 100644 index 00000000000000..91919141418475 --- /dev/null +++ b/tools/node_modules/eslint-plugin-markdown/node_modules/micromark/lib/tokenize/code-indented.mjs @@ -0,0 +1,88 @@ +var codeIndented = { + name: 'codeIndented', + tokenize: tokenizeCodeIndented, + resolve: resolveCodeIndented +} +export default codeIndented + +import codes from '../character/codes.mjs' +import markdownLineEnding from '../character/markdown-line-ending.mjs' +import constants from '../constant/constants.mjs' +import types from '../constant/types.mjs' +import chunkedSplice from '../util/chunked-splice.mjs' +import prefixSize from '../util/prefix-size.mjs' +import spaceFactory from './factory-space.mjs' + +var indentedContentConstruct = { + tokenize: tokenizeIndentedContent, + partial: true +} + +function resolveCodeIndented(events, context) { + var code = { + type: types.codeIndented, + start: events[0][1].start, + end: events[events.length - 1][1].end + } + + chunkedSplice(events, 0, 0, [['enter', code, context]]) + chunkedSplice(events, events.length, 0, [['exit', code, context]]) + + return events +} + +function tokenizeCodeIndented(effects, ok, nok) { + return effects.attempt(indentedContentConstruct, afterPrefix, nok) + + function afterPrefix(code) { + if (code === codes.eof) { + return ok(code) + } + + if (markdownLineEnding(code)) { + return effects.attempt(indentedContentConstruct, afterPrefix, ok)(code) + } + + effects.enter(types.codeFlowValue) + return content(code) + } + + function content(code) { + if (code === codes.eof || markdownLineEnding(code)) { + effects.exit(types.codeFlowValue) + return afterPrefix(code) + } + + effects.consume(code) + return content + } +} + +function tokenizeIndentedContent(effects, ok, nok) { + var self = this + + return spaceFactory( + effects, + afterPrefix, + types.linePrefix, + constants.tabSize + 1 + ) + + function afterPrefix(code) { + if (markdownLineEnding(code)) { + effects.enter(types.lineEnding) + effects.consume(code) + effects.exit(types.lineEnding) + return spaceFactory( + effects, + afterPrefix, + types.linePrefix, + constants.tabSize + 1 + ) + } + + return prefixSize(self.events, types.linePrefix) < constants.tabSize + ? nok(code) + : ok(code) + } +} diff --git a/tools/node_modules/eslint-plugin-markdown/node_modules/micromark/lib/tokenize/code-text.js b/tools/node_modules/eslint-plugin-markdown/node_modules/micromark/lib/tokenize/code-text.js new file mode 100644 index 00000000000000..0eb1db81f1bb0f --- /dev/null +++ b/tools/node_modules/eslint-plugin-markdown/node_modules/micromark/lib/tokenize/code-text.js @@ -0,0 +1,191 @@ +'use strict' + +var assert = require('assert') +var codes = require('../character/codes.js') +var markdownLineEnding = require('../character/markdown-line-ending.js') +var types = require('../constant/types.js') + +function _interopDefaultLegacy(e) { + return e && typeof e === 'object' && 'default' in e ? e : {default: e} +} + +var assert__default = /*#__PURE__*/ _interopDefaultLegacy(assert) + +var codeText = { + name: 'codeText', + tokenize: tokenizeCodeText, + resolve: resolveCodeText, + previous: previous +} + +function resolveCodeText(events) { + var tailExitIndex = events.length - 4 + var headEnterIndex = 3 + var index + var enter + + // If we start and end with an EOL or a space. + if ( + (events[headEnterIndex][1].type === types.lineEnding || + events[headEnterIndex][1].type === 'space') && + (events[tailExitIndex][1].type === types.lineEnding || + events[tailExitIndex][1].type === 'space') + ) { + index = headEnterIndex + + // And we have data. + while (++index < tailExitIndex) { + if (events[index][1].type === types.codeTextData) { + // Then we have padding. + events[tailExitIndex][1].type = events[headEnterIndex][1].type = + types.codeTextPadding + headEnterIndex += 2 + tailExitIndex -= 2 + break + } + } + } + + // Merge adjacent spaces and data. + index = headEnterIndex - 1 + tailExitIndex++ + + while (++index <= tailExitIndex) { + if (enter === undefined) { + if ( + index !== tailExitIndex && + events[index][1].type !== types.lineEnding + ) { + enter = index + } + } else if ( + index === tailExitIndex || + events[index][1].type === types.lineEnding + ) { + events[enter][1].type = types.codeTextData + + if (index !== enter + 2) { + events[enter][1].end = events[index - 1][1].end + events.splice(enter + 2, index - enter - 2) + tailExitIndex -= index - enter - 2 + index = enter + 2 + } + + enter = undefined + } + } + + return events +} + +function previous(code) { + // If there is a previous code, there will always be a tail. + return ( + code !== codes.graveAccent || + this.events[this.events.length - 1][1].type === types.characterEscape + ) +} + +function tokenizeCodeText(effects, ok, nok) { + var self = this + var sizeOpen = 0 + var size + var token + + return start + + function start(code) { + assert__default['default'](code === codes.graveAccent, 'expected `` ` ``') + assert__default['default']( + previous.call(self, self.previous), + 'expected correct previous' + ) + effects.enter(types.codeText) + effects.enter(types.codeTextSequence) + return openingSequence(code) + } + + function openingSequence(code) { + if (code === codes.graveAccent) { + effects.consume(code) + sizeOpen++ + return openingSequence + } + + effects.exit(types.codeTextSequence) + return gap(code) + } + + function gap(code) { + // EOF. + if (code === codes.eof) { + return nok(code) + } + + // Closing fence? + // Could also be data. + if (code === codes.graveAccent) { + token = effects.enter(types.codeTextSequence) + size = 0 + return closingSequence(code) + } + + // Tabs don’t work, and virtual spaces don’t make sense. + if (code === codes.space) { + effects.enter('space') + effects.consume(code) + effects.exit('space') + return gap + } + + if (markdownLineEnding(code)) { + effects.enter(types.lineEnding) + effects.consume(code) + effects.exit(types.lineEnding) + return gap + } + + // Data. + effects.enter(types.codeTextData) + return data(code) + } + + // In code. + function data(code) { + if ( + code === codes.eof || + code === codes.space || + code === codes.graveAccent || + markdownLineEnding(code) + ) { + effects.exit(types.codeTextData) + return gap(code) + } + + effects.consume(code) + return data + } + + // Closing fence. + function closingSequence(code) { + // More. + if (code === codes.graveAccent) { + effects.consume(code) + size++ + return closingSequence + } + + // Done! + if (size === sizeOpen) { + effects.exit(types.codeTextSequence) + effects.exit(types.codeText) + return ok(code) + } + + // More or less accents: mark as data. + token.type = types.codeTextData + return data(code) + } +} + +module.exports = codeText diff --git a/tools/node_modules/eslint-plugin-markdown/node_modules/micromark/lib/tokenize/code-text.mjs b/tools/node_modules/eslint-plugin-markdown/node_modules/micromark/lib/tokenize/code-text.mjs new file mode 100644 index 00000000000000..7c44b65949bb8c --- /dev/null +++ b/tools/node_modules/eslint-plugin-markdown/node_modules/micromark/lib/tokenize/code-text.mjs @@ -0,0 +1,179 @@ +var codeText = { + name: 'codeText', + tokenize: tokenizeCodeText, + resolve: resolveCodeText, + previous: previous +} +export default codeText + +import assert from 'assert' +import codes from '../character/codes.mjs' +import markdownLineEnding from '../character/markdown-line-ending.mjs' +import types from '../constant/types.mjs' + +function resolveCodeText(events) { + var tailExitIndex = events.length - 4 + var headEnterIndex = 3 + var index + var enter + + // If we start and end with an EOL or a space. + if ( + (events[headEnterIndex][1].type === types.lineEnding || + events[headEnterIndex][1].type === 'space') && + (events[tailExitIndex][1].type === types.lineEnding || + events[tailExitIndex][1].type === 'space') + ) { + index = headEnterIndex + + // And we have data. + while (++index < tailExitIndex) { + if (events[index][1].type === types.codeTextData) { + // Then we have padding. + events[tailExitIndex][1].type = events[headEnterIndex][1].type = + types.codeTextPadding + headEnterIndex += 2 + tailExitIndex -= 2 + break + } + } + } + + // Merge adjacent spaces and data. + index = headEnterIndex - 1 + tailExitIndex++ + + while (++index <= tailExitIndex) { + if (enter === undefined) { + if ( + index !== tailExitIndex && + events[index][1].type !== types.lineEnding + ) { + enter = index + } + } else if ( + index === tailExitIndex || + events[index][1].type === types.lineEnding + ) { + events[enter][1].type = types.codeTextData + + if (index !== enter + 2) { + events[enter][1].end = events[index - 1][1].end + events.splice(enter + 2, index - enter - 2) + tailExitIndex -= index - enter - 2 + index = enter + 2 + } + + enter = undefined + } + } + + return events +} + +function previous(code) { + // If there is a previous code, there will always be a tail. + return ( + code !== codes.graveAccent || + this.events[this.events.length - 1][1].type === types.characterEscape + ) +} + +function tokenizeCodeText(effects, ok, nok) { + var self = this + var sizeOpen = 0 + var size + var token + + return start + + function start(code) { + assert(code === codes.graveAccent, 'expected `` ` ``') + assert(previous.call(self, self.previous), 'expected correct previous') + effects.enter(types.codeText) + effects.enter(types.codeTextSequence) + return openingSequence(code) + } + + function openingSequence(code) { + if (code === codes.graveAccent) { + effects.consume(code) + sizeOpen++ + return openingSequence + } + + effects.exit(types.codeTextSequence) + return gap(code) + } + + function gap(code) { + // EOF. + if (code === codes.eof) { + return nok(code) + } + + // Closing fence? + // Could also be data. + if (code === codes.graveAccent) { + token = effects.enter(types.codeTextSequence) + size = 0 + return closingSequence(code) + } + + // Tabs don’t work, and virtual spaces don’t make sense. + if (code === codes.space) { + effects.enter('space') + effects.consume(code) + effects.exit('space') + return gap + } + + if (markdownLineEnding(code)) { + effects.enter(types.lineEnding) + effects.consume(code) + effects.exit(types.lineEnding) + return gap + } + + // Data. + effects.enter(types.codeTextData) + return data(code) + } + + // In code. + function data(code) { + if ( + code === codes.eof || + code === codes.space || + code === codes.graveAccent || + markdownLineEnding(code) + ) { + effects.exit(types.codeTextData) + return gap(code) + } + + effects.consume(code) + return data + } + + // Closing fence. + function closingSequence(code) { + // More. + if (code === codes.graveAccent) { + effects.consume(code) + size++ + return closingSequence + } + + // Done! + if (size === sizeOpen) { + effects.exit(types.codeTextSequence) + effects.exit(types.codeText) + return ok(code) + } + + // More or less accents: mark as data. + token.type = types.codeTextData + return data(code) + } +} diff --git a/tools/node_modules/eslint-plugin-markdown/node_modules/micromark/lib/tokenize/content.js b/tools/node_modules/eslint-plugin-markdown/node_modules/micromark/lib/tokenize/content.js new file mode 100644 index 00000000000000..cb763ec50f7514 --- /dev/null +++ b/tools/node_modules/eslint-plugin-markdown/node_modules/micromark/lib/tokenize/content.js @@ -0,0 +1,121 @@ +'use strict' + +var assert = require('assert') +var codes = require('../character/codes.js') +var markdownLineEnding = require('../character/markdown-line-ending.js') +var constants = require('../constant/constants.js') +var types = require('../constant/types.js') +var prefixSize = require('../util/prefix-size.js') +var subtokenize = require('../util/subtokenize.js') +var factorySpace = require('./factory-space.js') + +function _interopDefaultLegacy(e) { + return e && typeof e === 'object' && 'default' in e ? e : {default: e} +} + +var assert__default = /*#__PURE__*/ _interopDefaultLegacy(assert) + +// No name because it must not be turned off. +var content = { + tokenize: tokenizeContent, + resolve: resolveContent, + interruptible: true, + lazy: true +} + +var continuationConstruct = {tokenize: tokenizeContinuation, partial: true} + +// Content is transparent: it’s parsed right now. That way, definitions are also +// parsed right now: before text in paragraphs (specifically, media) are parsed. +function resolveContent(events) { + subtokenize(events) + return events +} + +function tokenizeContent(effects, ok) { + var previous + + return start + + function start(code) { + assert__default['default']( + code !== codes.eof && !markdownLineEnding(code), + 'expected no eof or eol' + ) + + effects.enter(types.content) + previous = effects.enter(types.chunkContent, { + contentType: constants.contentTypeContent + }) + return data(code) + } + + function data(code) { + if (code === codes.eof) { + return contentEnd(code) + } + + if (markdownLineEnding(code)) { + return effects.check( + continuationConstruct, + contentContinue, + contentEnd + )(code) + } + + // Data. + effects.consume(code) + return data + } + + function contentEnd(code) { + effects.exit(types.chunkContent) + effects.exit(types.content) + return ok(code) + } + + function contentContinue(code) { + assert__default['default'](markdownLineEnding(code), 'expected eol') + effects.consume(code) + effects.exit(types.chunkContent) + previous = previous.next = effects.enter(types.chunkContent, { + contentType: constants.contentTypeContent, + previous: previous + }) + return data + } +} + +function tokenizeContinuation(effects, ok, nok) { + var self = this + + return startLookahead + + function startLookahead(code) { + assert__default['default']( + markdownLineEnding(code), + 'expected a line ending' + ) + effects.enter(types.lineEnding) + effects.consume(code) + effects.exit(types.lineEnding) + return factorySpace(effects, prefixed, types.linePrefix) + } + + function prefixed(code) { + if (code === codes.eof || markdownLineEnding(code)) { + return nok(code) + } + + if ( + self.parser.constructs.disable.null.indexOf('codeIndented') > -1 || + prefixSize(self.events, types.linePrefix) < constants.tabSize + ) { + return effects.interrupt(self.parser.constructs.flow, nok, ok)(code) + } + + return ok(code) + } +} + +module.exports = content diff --git a/tools/node_modules/eslint-plugin-markdown/node_modules/micromark/lib/tokenize/content.mjs b/tools/node_modules/eslint-plugin-markdown/node_modules/micromark/lib/tokenize/content.mjs new file mode 100644 index 00000000000000..ca9c2e15b610a4 --- /dev/null +++ b/tools/node_modules/eslint-plugin-markdown/node_modules/micromark/lib/tokenize/content.mjs @@ -0,0 +1,109 @@ +// No name because it must not be turned off. +var content = { + tokenize: tokenizeContent, + resolve: resolveContent, + interruptible: true, + lazy: true +} +export default content + +import assert from 'assert' +import codes from '../character/codes.mjs' +import markdownLineEnding from '../character/markdown-line-ending.mjs' +import constants from '../constant/constants.mjs' +import types from '../constant/types.mjs' +import prefixSize from '../util/prefix-size.mjs' +import subtokenize from '../util/subtokenize.mjs' +import spaceFactory from './factory-space.mjs' + +var continuationConstruct = {tokenize: tokenizeContinuation, partial: true} + +// Content is transparent: it’s parsed right now. That way, definitions are also +// parsed right now: before text in paragraphs (specifically, media) are parsed. +function resolveContent(events) { + subtokenize(events) + return events +} + +function tokenizeContent(effects, ok) { + var previous + + return start + + function start(code) { + assert( + code !== codes.eof && !markdownLineEnding(code), + 'expected no eof or eol' + ) + + effects.enter(types.content) + previous = effects.enter(types.chunkContent, { + contentType: constants.contentTypeContent + }) + return data(code) + } + + function data(code) { + if (code === codes.eof) { + return contentEnd(code) + } + + if (markdownLineEnding(code)) { + return effects.check( + continuationConstruct, + contentContinue, + contentEnd + )(code) + } + + // Data. + effects.consume(code) + return data + } + + function contentEnd(code) { + effects.exit(types.chunkContent) + effects.exit(types.content) + return ok(code) + } + + function contentContinue(code) { + assert(markdownLineEnding(code), 'expected eol') + effects.consume(code) + effects.exit(types.chunkContent) + previous = previous.next = effects.enter(types.chunkContent, { + contentType: constants.contentTypeContent, + previous: previous + }) + return data + } +} + +function tokenizeContinuation(effects, ok, nok) { + var self = this + + return startLookahead + + function startLookahead(code) { + assert(markdownLineEnding(code), 'expected a line ending') + effects.enter(types.lineEnding) + effects.consume(code) + effects.exit(types.lineEnding) + return spaceFactory(effects, prefixed, types.linePrefix) + } + + function prefixed(code) { + if (code === codes.eof || markdownLineEnding(code)) { + return nok(code) + } + + if ( + self.parser.constructs.disable.null.indexOf('codeIndented') > -1 || + prefixSize(self.events, types.linePrefix) < constants.tabSize + ) { + return effects.interrupt(self.parser.constructs.flow, nok, ok)(code) + } + + return ok(code) + } +} diff --git a/tools/node_modules/eslint-plugin-markdown/node_modules/micromark/lib/tokenize/definition.js b/tools/node_modules/eslint-plugin-markdown/node_modules/micromark/lib/tokenize/definition.js new file mode 100644 index 00000000000000..c4604d578372e3 --- /dev/null +++ b/tools/node_modules/eslint-plugin-markdown/node_modules/micromark/lib/tokenize/definition.js @@ -0,0 +1,129 @@ +'use strict' + +var assert = require('assert') +var codes = require('../character/codes.js') +var markdownLineEnding = require('../character/markdown-line-ending.js') +var markdownLineEndingOrSpace = require('../character/markdown-line-ending-or-space.js') +var types = require('../constant/types.js') +var normalizeIdentifier = require('../util/normalize-identifier.js') +var factoryDestination = require('./factory-destination.js') +var factoryLabel = require('./factory-label.js') +var factorySpace = require('./factory-space.js') +var factoryWhitespace = require('./factory-whitespace.js') +var factoryTitle = require('./factory-title.js') + +function _interopDefaultLegacy(e) { + return e && typeof e === 'object' && 'default' in e ? e : {default: e} +} + +var assert__default = /*#__PURE__*/ _interopDefaultLegacy(assert) + +var definition = { + name: 'definition', + tokenize: tokenizeDefinition +} + +var titleConstruct = {tokenize: tokenizeTitle, partial: true} + +function tokenizeDefinition(effects, ok, nok) { + var self = this + var identifier + + return start + + function start(code) { + assert__default['default'](code === codes.leftSquareBracket, 'expected `[`') + effects.enter(types.definition) + return factoryLabel.call( + self, + effects, + labelAfter, + nok, + types.definitionLabel, + types.definitionLabelMarker, + types.definitionLabelString + )(code) + } + + function labelAfter(code) { + identifier = normalizeIdentifier( + self.sliceSerialize(self.events[self.events.length - 1][1]).slice(1, -1) + ) + + if (code === codes.colon) { + effects.enter(types.definitionMarker) + effects.consume(code) + effects.exit(types.definitionMarker) + + // Note: blank lines can’t exist in content. + return factoryWhitespace( + effects, + factoryDestination( + effects, + effects.attempt( + titleConstruct, + factorySpace(effects, after, types.whitespace), + factorySpace(effects, after, types.whitespace) + ), + nok, + types.definitionDestination, + types.definitionDestinationLiteral, + types.definitionDestinationLiteralMarker, + types.definitionDestinationRaw, + types.definitionDestinationString + ) + ) + } + + return nok(code) + } + + function after(code) { + if (code === codes.eof || markdownLineEnding(code)) { + effects.exit(types.definition) + + if (self.parser.defined.indexOf(identifier) < 0) { + self.parser.defined.push(identifier) + } + + return ok(code) + } + + return nok(code) + } +} + +function tokenizeTitle(effects, ok, nok) { + return start + + function start(code) { + return markdownLineEndingOrSpace(code) + ? factoryWhitespace(effects, before)(code) + : nok(code) + } + + function before(code) { + if ( + code === codes.quotationMark || + code === codes.apostrophe || + code === codes.leftParenthesis + ) { + return factoryTitle( + effects, + factorySpace(effects, after, types.whitespace), + nok, + types.definitionTitle, + types.definitionTitleMarker, + types.definitionTitleString + )(code) + } + + return nok(code) + } + + function after(code) { + return code === codes.eof || markdownLineEnding(code) ? ok(code) : nok(code) + } +} + +module.exports = definition diff --git a/tools/node_modules/eslint-plugin-markdown/node_modules/micromark/lib/tokenize/definition.mjs b/tools/node_modules/eslint-plugin-markdown/node_modules/micromark/lib/tokenize/definition.mjs new file mode 100644 index 00000000000000..5cc0dde8066d9e --- /dev/null +++ b/tools/node_modules/eslint-plugin-markdown/node_modules/micromark/lib/tokenize/definition.mjs @@ -0,0 +1,120 @@ +var definition = { + name: 'definition', + tokenize: tokenizeDefinition +} +export default definition + +import assert from 'assert' +import codes from '../character/codes.mjs' +import markdownLineEnding from '../character/markdown-line-ending.mjs' +import markdownLineEndingOrSpace from '../character/markdown-line-ending-or-space.mjs' +import types from '../constant/types.mjs' +import normalizeIdentifier from '../util/normalize-identifier.mjs' +import destinationFactory from './factory-destination.mjs' +import labelFactory from './factory-label.mjs' +import spaceFactory from './factory-space.mjs' +import whitespaceFactory from './factory-whitespace.mjs' +import titleFactory from './factory-title.mjs' + +var titleConstruct = {tokenize: tokenizeTitle, partial: true} + +function tokenizeDefinition(effects, ok, nok) { + var self = this + var identifier + + return start + + function start(code) { + assert(code === codes.leftSquareBracket, 'expected `[`') + effects.enter(types.definition) + return labelFactory.call( + self, + effects, + labelAfter, + nok, + types.definitionLabel, + types.definitionLabelMarker, + types.definitionLabelString + )(code) + } + + function labelAfter(code) { + identifier = normalizeIdentifier( + self.sliceSerialize(self.events[self.events.length - 1][1]).slice(1, -1) + ) + + if (code === codes.colon) { + effects.enter(types.definitionMarker) + effects.consume(code) + effects.exit(types.definitionMarker) + + // Note: blank lines can’t exist in content. + return whitespaceFactory( + effects, + destinationFactory( + effects, + effects.attempt( + titleConstruct, + spaceFactory(effects, after, types.whitespace), + spaceFactory(effects, after, types.whitespace) + ), + nok, + types.definitionDestination, + types.definitionDestinationLiteral, + types.definitionDestinationLiteralMarker, + types.definitionDestinationRaw, + types.definitionDestinationString + ) + ) + } + + return nok(code) + } + + function after(code) { + if (code === codes.eof || markdownLineEnding(code)) { + effects.exit(types.definition) + + if (self.parser.defined.indexOf(identifier) < 0) { + self.parser.defined.push(identifier) + } + + return ok(code) + } + + return nok(code) + } +} + +function tokenizeTitle(effects, ok, nok) { + return start + + function start(code) { + return markdownLineEndingOrSpace(code) + ? whitespaceFactory(effects, before)(code) + : nok(code) + } + + function before(code) { + if ( + code === codes.quotationMark || + code === codes.apostrophe || + code === codes.leftParenthesis + ) { + return titleFactory( + effects, + spaceFactory(effects, after, types.whitespace), + nok, + types.definitionTitle, + types.definitionTitleMarker, + types.definitionTitleString + )(code) + } + + return nok(code) + } + + function after(code) { + return code === codes.eof || markdownLineEnding(code) ? ok(code) : nok(code) + } +} diff --git a/tools/node_modules/eslint-plugin-markdown/node_modules/micromark/lib/tokenize/factory-destination.js b/tools/node_modules/eslint-plugin-markdown/node_modules/micromark/lib/tokenize/factory-destination.js new file mode 100644 index 00000000000000..d746cd01d2395d --- /dev/null +++ b/tools/node_modules/eslint-plugin-markdown/node_modules/micromark/lib/tokenize/factory-destination.js @@ -0,0 +1,145 @@ +'use strict' + +var asciiControl = require('../character/ascii-control.js') +var codes = require('../character/codes.js') +var markdownLineEndingOrSpace = require('../character/markdown-line-ending-or-space.js') +var markdownLineEnding = require('../character/markdown-line-ending.js') +var constants = require('../constant/constants.js') +var types = require('../constant/types.js') + +// eslint-disable-next-line max-params +function destinationFactory( + effects, + ok, + nok, + type, + literalType, + literalMarkerType, + rawType, + stringType, + max +) { + var limit = max || Infinity + var balance = 0 + + return start + + function start(code) { + if (code === codes.lessThan) { + effects.enter(type) + effects.enter(literalType) + effects.enter(literalMarkerType) + effects.consume(code) + effects.exit(literalMarkerType) + return destinationEnclosedBefore + } + + if (asciiControl(code) || code === codes.rightParenthesis) { + return nok(code) + } + + effects.enter(type) + effects.enter(rawType) + effects.enter(stringType) + effects.enter(types.chunkString, {contentType: constants.contentTypeString}) + return destinationRaw(code) + } + + function destinationEnclosedBefore(code) { + if (code === codes.greaterThan) { + effects.enter(literalMarkerType) + effects.consume(code) + effects.exit(literalMarkerType) + effects.exit(literalType) + effects.exit(type) + return ok + } + + effects.enter(stringType) + effects.enter(types.chunkString, {contentType: constants.contentTypeString}) + return destinationEnclosed(code) + } + + function destinationEnclosed(code) { + if (code === codes.greaterThan) { + effects.exit(types.chunkString) + effects.exit(stringType) + return destinationEnclosedBefore(code) + } + + if ( + code === codes.eof || + code === codes.lessThan || + markdownLineEnding(code) + ) { + return nok(code) + } + + effects.consume(code) + return code === codes.backslash + ? destinationEnclosedEscape + : destinationEnclosed + } + + function destinationEnclosedEscape(code) { + if ( + code === codes.lessThan || + code === codes.greaterThan || + code === codes.backslash + ) { + effects.consume(code) + return destinationEnclosed + } + + return destinationEnclosed(code) + } + + function destinationRaw(code) { + if (code === codes.leftParenthesis) { + if (++balance > limit) return nok(code) + effects.consume(code) + return destinationRaw + } + + if (code === codes.rightParenthesis) { + if (!balance--) { + effects.exit(types.chunkString) + effects.exit(stringType) + effects.exit(rawType) + effects.exit(type) + return ok(code) + } + + effects.consume(code) + return destinationRaw + } + + if (code === codes.eof || markdownLineEndingOrSpace(code)) { + if (balance) return nok(code) + effects.exit(types.chunkString) + effects.exit(stringType) + effects.exit(rawType) + effects.exit(type) + return ok(code) + } + + if (asciiControl(code)) return nok(code) + effects.consume(code) + return code === codes.backslash ? destinationRawEscape : destinationRaw + } + + function destinationRawEscape(code) { + if ( + code === codes.leftParenthesis || + code === codes.rightParenthesis || + code === codes.backslash + ) { + effects.consume(code) + return destinationRaw + } + + return destinationRaw(code) + } +} + +module.exports = destinationFactory diff --git a/tools/node_modules/eslint-plugin-markdown/node_modules/micromark/lib/tokenize/factory-destination.mjs b/tools/node_modules/eslint-plugin-markdown/node_modules/micromark/lib/tokenize/factory-destination.mjs new file mode 100644 index 00000000000000..be8cf2bd89b17c --- /dev/null +++ b/tools/node_modules/eslint-plugin-markdown/node_modules/micromark/lib/tokenize/factory-destination.mjs @@ -0,0 +1,143 @@ +export default destinationFactory + +import asciiControl from '../character/ascii-control.mjs' +import codes from '../character/codes.mjs' +import markdownLineEndingOrSpace from '../character/markdown-line-ending-or-space.mjs' +import markdownLineEnding from '../character/markdown-line-ending.mjs' +import constants from '../constant/constants.mjs' +import types from '../constant/types.mjs' + +// eslint-disable-next-line max-params +function destinationFactory( + effects, + ok, + nok, + type, + literalType, + literalMarkerType, + rawType, + stringType, + max +) { + var limit = max || Infinity + var balance = 0 + + return start + + function start(code) { + if (code === codes.lessThan) { + effects.enter(type) + effects.enter(literalType) + effects.enter(literalMarkerType) + effects.consume(code) + effects.exit(literalMarkerType) + return destinationEnclosedBefore + } + + if (asciiControl(code) || code === codes.rightParenthesis) { + return nok(code) + } + + effects.enter(type) + effects.enter(rawType) + effects.enter(stringType) + effects.enter(types.chunkString, {contentType: constants.contentTypeString}) + return destinationRaw(code) + } + + function destinationEnclosedBefore(code) { + if (code === codes.greaterThan) { + effects.enter(literalMarkerType) + effects.consume(code) + effects.exit(literalMarkerType) + effects.exit(literalType) + effects.exit(type) + return ok + } + + effects.enter(stringType) + effects.enter(types.chunkString, {contentType: constants.contentTypeString}) + return destinationEnclosed(code) + } + + function destinationEnclosed(code) { + if (code === codes.greaterThan) { + effects.exit(types.chunkString) + effects.exit(stringType) + return destinationEnclosedBefore(code) + } + + if ( + code === codes.eof || + code === codes.lessThan || + markdownLineEnding(code) + ) { + return nok(code) + } + + effects.consume(code) + return code === codes.backslash + ? destinationEnclosedEscape + : destinationEnclosed + } + + function destinationEnclosedEscape(code) { + if ( + code === codes.lessThan || + code === codes.greaterThan || + code === codes.backslash + ) { + effects.consume(code) + return destinationEnclosed + } + + return destinationEnclosed(code) + } + + function destinationRaw(code) { + if (code === codes.leftParenthesis) { + if (++balance > limit) return nok(code) + effects.consume(code) + return destinationRaw + } + + if (code === codes.rightParenthesis) { + if (!balance--) { + effects.exit(types.chunkString) + effects.exit(stringType) + effects.exit(rawType) + effects.exit(type) + return ok(code) + } + + effects.consume(code) + return destinationRaw + } + + if (code === codes.eof || markdownLineEndingOrSpace(code)) { + if (balance) return nok(code) + effects.exit(types.chunkString) + effects.exit(stringType) + effects.exit(rawType) + effects.exit(type) + return ok(code) + } + + if (asciiControl(code)) return nok(code) + effects.consume(code) + return code === codes.backslash ? destinationRawEscape : destinationRaw + } + + function destinationRawEscape(code) { + if ( + code === codes.leftParenthesis || + code === codes.rightParenthesis || + code === codes.backslash + ) { + effects.consume(code) + return destinationRaw + } + + return destinationRaw(code) + } +} diff --git a/tools/node_modules/eslint-plugin-markdown/node_modules/micromark/lib/tokenize/factory-label.js b/tools/node_modules/eslint-plugin-markdown/node_modules/micromark/lib/tokenize/factory-label.js new file mode 100644 index 00000000000000..64d96d78eae094 --- /dev/null +++ b/tools/node_modules/eslint-plugin-markdown/node_modules/micromark/lib/tokenize/factory-label.js @@ -0,0 +1,102 @@ +'use strict' + +var assert = require('assert') +var codes = require('../character/codes.js') +var markdownLineEnding = require('../character/markdown-line-ending.js') +var markdownSpace = require('../character/markdown-space.js') +var constants = require('../constant/constants.js') +var types = require('../constant/types.js') + +function _interopDefaultLegacy(e) { + return e && typeof e === 'object' && 'default' in e ? e : {default: e} +} + +var assert__default = /*#__PURE__*/ _interopDefaultLegacy(assert) + +// eslint-disable-next-line max-params +function labelFactory(effects, ok, nok, type, markerType, stringType) { + var self = this + var size = 0 + var data + + return start + + function start(code) { + assert__default['default'](code === codes.leftSquareBracket, 'expected `[`') + effects.enter(type) + effects.enter(markerType) + effects.consume(code) + effects.exit(markerType) + effects.enter(stringType) + return atBreak + } + + function atBreak(code) { + if ( + code === codes.eof || + code === codes.leftSquareBracket || + (code === codes.rightSquareBracket && !data) || + /* c8 ignore next */ + (code === codes.caret && + /* c8 ignore next */ + !size && + /* c8 ignore next */ + '_hiddenFootnoteSupport' in self.parser.constructs) || + size > constants.linkReferenceSizeMax + ) { + return nok(code) + } + + if (code === codes.rightSquareBracket) { + effects.exit(stringType) + effects.enter(markerType) + effects.consume(code) + effects.exit(markerType) + effects.exit(type) + return ok + } + + if (markdownLineEnding(code)) { + effects.enter(types.lineEnding) + effects.consume(code) + effects.exit(types.lineEnding) + return atBreak + } + + effects.enter(types.chunkString, {contentType: constants.contentTypeString}) + return label(code) + } + + function label(code) { + if ( + code === codes.eof || + code === codes.leftSquareBracket || + code === codes.rightSquareBracket || + markdownLineEnding(code) || + size++ > constants.linkReferenceSizeMax + ) { + effects.exit(types.chunkString) + return atBreak(code) + } + + effects.consume(code) + data = data || !markdownSpace(code) + return code === codes.backslash ? labelEscape : label + } + + function labelEscape(code) { + if ( + code === codes.leftSquareBracket || + code === codes.backslash || + code === codes.rightSquareBracket + ) { + effects.consume(code) + size++ + return label + } + + return label(code) + } +} + +module.exports = labelFactory diff --git a/tools/node_modules/eslint-plugin-markdown/node_modules/micromark/lib/tokenize/factory-label.mjs b/tools/node_modules/eslint-plugin-markdown/node_modules/micromark/lib/tokenize/factory-label.mjs new file mode 100644 index 00000000000000..eccdbd5b38ee3d --- /dev/null +++ b/tools/node_modules/eslint-plugin-markdown/node_modules/micromark/lib/tokenize/factory-label.mjs @@ -0,0 +1,94 @@ +export default labelFactory + +import assert from 'assert' +import codes from '../character/codes.mjs' +import markdownLineEnding from '../character/markdown-line-ending.mjs' +import markdownSpace from '../character/markdown-space.mjs' +import constants from '../constant/constants.mjs' +import types from '../constant/types.mjs' + +// eslint-disable-next-line max-params +function labelFactory(effects, ok, nok, type, markerType, stringType) { + var self = this + var size = 0 + var data + + return start + + function start(code) { + assert(code === codes.leftSquareBracket, 'expected `[`') + effects.enter(type) + effects.enter(markerType) + effects.consume(code) + effects.exit(markerType) + effects.enter(stringType) + return atBreak + } + + function atBreak(code) { + if ( + code === codes.eof || + code === codes.leftSquareBracket || + (code === codes.rightSquareBracket && !data) || + /* c8 ignore next */ + (code === codes.caret && + /* c8 ignore next */ + !size && + /* c8 ignore next */ + '_hiddenFootnoteSupport' in self.parser.constructs) || + size > constants.linkReferenceSizeMax + ) { + return nok(code) + } + + if (code === codes.rightSquareBracket) { + effects.exit(stringType) + effects.enter(markerType) + effects.consume(code) + effects.exit(markerType) + effects.exit(type) + return ok + } + + if (markdownLineEnding(code)) { + effects.enter(types.lineEnding) + effects.consume(code) + effects.exit(types.lineEnding) + return atBreak + } + + effects.enter(types.chunkString, {contentType: constants.contentTypeString}) + return label(code) + } + + function label(code) { + if ( + code === codes.eof || + code === codes.leftSquareBracket || + code === codes.rightSquareBracket || + markdownLineEnding(code) || + size++ > constants.linkReferenceSizeMax + ) { + effects.exit(types.chunkString) + return atBreak(code) + } + + effects.consume(code) + data = data || !markdownSpace(code) + return code === codes.backslash ? labelEscape : label + } + + function labelEscape(code) { + if ( + code === codes.leftSquareBracket || + code === codes.backslash || + code === codes.rightSquareBracket + ) { + effects.consume(code) + size++ + return label + } + + return label(code) + } +} diff --git a/tools/node_modules/eslint-plugin-markdown/node_modules/micromark/lib/tokenize/factory-space.js b/tools/node_modules/eslint-plugin-markdown/node_modules/micromark/lib/tokenize/factory-space.js new file mode 100644 index 00000000000000..d907c5dca8ee94 --- /dev/null +++ b/tools/node_modules/eslint-plugin-markdown/node_modules/micromark/lib/tokenize/factory-space.js @@ -0,0 +1,31 @@ +'use strict' + +var markdownSpace = require('../character/markdown-space.js') + +function spaceFactory(effects, ok, type, max) { + var limit = max ? max - 1 : Infinity + var size = 0 + + return start + + function start(code) { + if (markdownSpace(code)) { + effects.enter(type) + return prefix(code) + } + + return ok(code) + } + + function prefix(code) { + if (markdownSpace(code) && size++ < limit) { + effects.consume(code) + return prefix + } + + effects.exit(type) + return ok(code) + } +} + +module.exports = spaceFactory diff --git a/tools/node_modules/eslint-plugin-markdown/node_modules/micromark/lib/tokenize/factory-space.mjs b/tools/node_modules/eslint-plugin-markdown/node_modules/micromark/lib/tokenize/factory-space.mjs new file mode 100644 index 00000000000000..9668400d30f44d --- /dev/null +++ b/tools/node_modules/eslint-plugin-markdown/node_modules/micromark/lib/tokenize/factory-space.mjs @@ -0,0 +1,29 @@ +export default spaceFactory + +import markdownSpace from '../character/markdown-space.mjs' + +function spaceFactory(effects, ok, type, max) { + var limit = max ? max - 1 : Infinity + var size = 0 + + return start + + function start(code) { + if (markdownSpace(code)) { + effects.enter(type) + return prefix(code) + } + + return ok(code) + } + + function prefix(code) { + if (markdownSpace(code) && size++ < limit) { + effects.consume(code) + return prefix + } + + effects.exit(type) + return ok(code) + } +} diff --git a/tools/node_modules/eslint-plugin-markdown/node_modules/micromark/lib/tokenize/factory-title.js b/tools/node_modules/eslint-plugin-markdown/node_modules/micromark/lib/tokenize/factory-title.js new file mode 100644 index 00000000000000..a5d6349b9cec29 --- /dev/null +++ b/tools/node_modules/eslint-plugin-markdown/node_modules/micromark/lib/tokenize/factory-title.js @@ -0,0 +1,92 @@ +'use strict' + +var assert = require('assert') +var codes = require('../character/codes.js') +var markdownLineEnding = require('../character/markdown-line-ending.js') +var constants = require('../constant/constants.js') +var types = require('../constant/types.js') +var factorySpace = require('./factory-space.js') + +function _interopDefaultLegacy(e) { + return e && typeof e === 'object' && 'default' in e ? e : {default: e} +} + +var assert__default = /*#__PURE__*/ _interopDefaultLegacy(assert) + +// eslint-disable-next-line max-params +function titleFactory(effects, ok, nok, type, markerType, stringType) { + var marker + + return start + + function start(code) { + assert__default['default']( + code === codes.quotationMark || + code === codes.apostrophe || + code === codes.leftParenthesis, + 'expected `"`, `\'`, or `(`' + ) + effects.enter(type) + effects.enter(markerType) + effects.consume(code) + effects.exit(markerType) + marker = code === codes.leftParenthesis ? codes.rightParenthesis : code + return atFirstTitleBreak + } + + function atFirstTitleBreak(code) { + if (code === marker) { + effects.enter(markerType) + effects.consume(code) + effects.exit(markerType) + effects.exit(type) + return ok + } + + effects.enter(stringType) + return atTitleBreak(code) + } + + function atTitleBreak(code) { + if (code === marker) { + effects.exit(stringType) + return atFirstTitleBreak(marker) + } + + if (code === codes.eof) { + return nok(code) + } + + // Note: blank lines can’t exist in content. + if (markdownLineEnding(code)) { + effects.enter(types.lineEnding) + effects.consume(code) + effects.exit(types.lineEnding) + return factorySpace(effects, atTitleBreak, types.linePrefix) + } + + effects.enter(types.chunkString, {contentType: constants.contentTypeString}) + return title(code) + } + + function title(code) { + if (code === marker || code === codes.eof || markdownLineEnding(code)) { + effects.exit(types.chunkString) + return atTitleBreak(code) + } + + effects.consume(code) + return code === codes.backslash ? titleEscape : title + } + + function titleEscape(code) { + if (code === marker || code === codes.backslash) { + effects.consume(code) + return title + } + + return title(code) + } +} + +module.exports = titleFactory diff --git a/tools/node_modules/eslint-plugin-markdown/node_modules/micromark/lib/tokenize/factory-title.mjs b/tools/node_modules/eslint-plugin-markdown/node_modules/micromark/lib/tokenize/factory-title.mjs new file mode 100644 index 00000000000000..5ac4405e4a7f3b --- /dev/null +++ b/tools/node_modules/eslint-plugin-markdown/node_modules/micromark/lib/tokenize/factory-title.mjs @@ -0,0 +1,84 @@ +export default titleFactory + +import assert from 'assert' +import codes from '../character/codes.mjs' +import markdownLineEnding from '../character/markdown-line-ending.mjs' +import constants from '../constant/constants.mjs' +import types from '../constant/types.mjs' +import spaceFactory from './factory-space.mjs' + +// eslint-disable-next-line max-params +function titleFactory(effects, ok, nok, type, markerType, stringType) { + var marker + + return start + + function start(code) { + assert( + code === codes.quotationMark || + code === codes.apostrophe || + code === codes.leftParenthesis, + 'expected `"`, `\'`, or `(`' + ) + effects.enter(type) + effects.enter(markerType) + effects.consume(code) + effects.exit(markerType) + marker = code === codes.leftParenthesis ? codes.rightParenthesis : code + return atFirstTitleBreak + } + + function atFirstTitleBreak(code) { + if (code === marker) { + effects.enter(markerType) + effects.consume(code) + effects.exit(markerType) + effects.exit(type) + return ok + } + + effects.enter(stringType) + return atTitleBreak(code) + } + + function atTitleBreak(code) { + if (code === marker) { + effects.exit(stringType) + return atFirstTitleBreak(marker) + } + + if (code === codes.eof) { + return nok(code) + } + + // Note: blank lines can’t exist in content. + if (markdownLineEnding(code)) { + effects.enter(types.lineEnding) + effects.consume(code) + effects.exit(types.lineEnding) + return spaceFactory(effects, atTitleBreak, types.linePrefix) + } + + effects.enter(types.chunkString, {contentType: constants.contentTypeString}) + return title(code) + } + + function title(code) { + if (code === marker || code === codes.eof || markdownLineEnding(code)) { + effects.exit(types.chunkString) + return atTitleBreak(code) + } + + effects.consume(code) + return code === codes.backslash ? titleEscape : title + } + + function titleEscape(code) { + if (code === marker || code === codes.backslash) { + effects.consume(code) + return title + } + + return title(code) + } +} diff --git a/tools/node_modules/eslint-plugin-markdown/node_modules/micromark/lib/tokenize/factory-whitespace.js b/tools/node_modules/eslint-plugin-markdown/node_modules/micromark/lib/tokenize/factory-whitespace.js new file mode 100644 index 00000000000000..ae0ce966794469 --- /dev/null +++ b/tools/node_modules/eslint-plugin-markdown/node_modules/micromark/lib/tokenize/factory-whitespace.js @@ -0,0 +1,34 @@ +'use strict' + +var markdownLineEnding = require('../character/markdown-line-ending.js') +var markdownSpace = require('../character/markdown-space.js') +var types = require('../constant/types.js') +var factorySpace = require('./factory-space.js') + +function whitespaceFactory(effects, ok) { + var seen + + return start + + function start(code) { + if (markdownLineEnding(code)) { + effects.enter(types.lineEnding) + effects.consume(code) + effects.exit(types.lineEnding) + seen = true + return start + } + + if (markdownSpace(code)) { + return factorySpace( + effects, + start, + seen ? types.linePrefix : types.lineSuffix + )(code) + } + + return ok(code) + } +} + +module.exports = whitespaceFactory diff --git a/tools/node_modules/eslint-plugin-markdown/node_modules/micromark/lib/tokenize/factory-whitespace.mjs b/tools/node_modules/eslint-plugin-markdown/node_modules/micromark/lib/tokenize/factory-whitespace.mjs new file mode 100644 index 00000000000000..8bea8fd224b019 --- /dev/null +++ b/tools/node_modules/eslint-plugin-markdown/node_modules/micromark/lib/tokenize/factory-whitespace.mjs @@ -0,0 +1,32 @@ +export default whitespaceFactory + +import markdownLineEnding from '../character/markdown-line-ending.mjs' +import markdownSpace from '../character/markdown-space.mjs' +import types from '../constant/types.mjs' +import spaceFactory from './factory-space.mjs' + +function whitespaceFactory(effects, ok) { + var seen + + return start + + function start(code) { + if (markdownLineEnding(code)) { + effects.enter(types.lineEnding) + effects.consume(code) + effects.exit(types.lineEnding) + seen = true + return start + } + + if (markdownSpace(code)) { + return spaceFactory( + effects, + start, + seen ? types.linePrefix : types.lineSuffix + )(code) + } + + return ok(code) + } +} diff --git a/tools/node_modules/eslint-plugin-markdown/node_modules/micromark/lib/tokenize/hard-break-escape.js b/tools/node_modules/eslint-plugin-markdown/node_modules/micromark/lib/tokenize/hard-break-escape.js new file mode 100644 index 00000000000000..38955ecabc898e --- /dev/null +++ b/tools/node_modules/eslint-plugin-markdown/node_modules/micromark/lib/tokenize/hard-break-escape.js @@ -0,0 +1,41 @@ +'use strict' + +var assert = require('assert') +var codes = require('../character/codes.js') +var markdownLineEnding = require('../character/markdown-line-ending.js') +var types = require('../constant/types.js') + +function _interopDefaultLegacy(e) { + return e && typeof e === 'object' && 'default' in e ? e : {default: e} +} + +var assert__default = /*#__PURE__*/ _interopDefaultLegacy(assert) + +var hardBreakEscape = { + name: 'hardBreakEscape', + tokenize: tokenizeHardBreakEscape +} + +function tokenizeHardBreakEscape(effects, ok, nok) { + return start + + function start(code) { + assert__default['default'](code === codes.backslash, 'expected `\\`') + effects.enter(types.hardBreakEscape) + effects.enter(types.escapeMarker) + effects.consume(code) + return open + } + + function open(code) { + if (markdownLineEnding(code)) { + effects.exit(types.escapeMarker) + effects.exit(types.hardBreakEscape) + return ok(code) + } + + return nok(code) + } +} + +module.exports = hardBreakEscape diff --git a/tools/node_modules/eslint-plugin-markdown/node_modules/micromark/lib/tokenize/hard-break-escape.mjs b/tools/node_modules/eslint-plugin-markdown/node_modules/micromark/lib/tokenize/hard-break-escape.mjs new file mode 100644 index 00000000000000..0b23062d17d420 --- /dev/null +++ b/tools/node_modules/eslint-plugin-markdown/node_modules/micromark/lib/tokenize/hard-break-escape.mjs @@ -0,0 +1,32 @@ +var hardBreakEscape = { + name: 'hardBreakEscape', + tokenize: tokenizeHardBreakEscape +} +export default hardBreakEscape + +import assert from 'assert' +import codes from '../character/codes.mjs' +import markdownLineEnding from '../character/markdown-line-ending.mjs' +import types from '../constant/types.mjs' + +function tokenizeHardBreakEscape(effects, ok, nok) { + return start + + function start(code) { + assert(code === codes.backslash, 'expected `\\`') + effects.enter(types.hardBreakEscape) + effects.enter(types.escapeMarker) + effects.consume(code) + return open + } + + function open(code) { + if (markdownLineEnding(code)) { + effects.exit(types.escapeMarker) + effects.exit(types.hardBreakEscape) + return ok(code) + } + + return nok(code) + } +} diff --git a/tools/node_modules/eslint-plugin-markdown/node_modules/micromark/lib/tokenize/heading-atx.js b/tools/node_modules/eslint-plugin-markdown/node_modules/micromark/lib/tokenize/heading-atx.js new file mode 100644 index 00000000000000..a3bfd060948d2a --- /dev/null +++ b/tools/node_modules/eslint-plugin-markdown/node_modules/micromark/lib/tokenize/heading-atx.js @@ -0,0 +1,151 @@ +'use strict' + +var assert = require('assert') +var codes = require('../character/codes.js') +var markdownLineEnding = require('../character/markdown-line-ending.js') +var markdownLineEndingOrSpace = require('../character/markdown-line-ending-or-space.js') +var markdownSpace = require('../character/markdown-space.js') +var constants = require('../constant/constants.js') +var types = require('../constant/types.js') +var chunkedSplice = require('../util/chunked-splice.js') +var factorySpace = require('./factory-space.js') + +function _interopDefaultLegacy(e) { + return e && typeof e === 'object' && 'default' in e ? e : {default: e} +} + +var assert__default = /*#__PURE__*/ _interopDefaultLegacy(assert) + +var headingAtx = { + name: 'headingAtx', + tokenize: tokenizeHeadingAtx, + resolve: resolveHeadingAtx +} + +function resolveHeadingAtx(events, context) { + var contentEnd = events.length - 2 + var contentStart = 3 + var content + var text + + // Prefix whitespace, part of the opening. + if (events[contentStart][1].type === types.whitespace) { + contentStart += 2 + } + + // Suffix whitespace, part of the closing. + if ( + contentEnd - 2 > contentStart && + events[contentEnd][1].type === types.whitespace + ) { + contentEnd -= 2 + } + + if ( + events[contentEnd][1].type === types.atxHeadingSequence && + (contentStart === contentEnd - 1 || + (contentEnd - 4 > contentStart && + events[contentEnd - 2][1].type === types.whitespace)) + ) { + contentEnd -= contentStart + 1 === contentEnd ? 2 : 4 + } + + if (contentEnd > contentStart) { + content = { + type: types.atxHeadingText, + start: events[contentStart][1].start, + end: events[contentEnd][1].end + } + text = { + type: types.chunkText, + start: events[contentStart][1].start, + end: events[contentEnd][1].end, + contentType: constants.contentTypeText + } + + chunkedSplice(events, contentStart, contentEnd - contentStart + 1, [ + ['enter', content, context], + ['enter', text, context], + ['exit', text, context], + ['exit', content, context] + ]) + } + + return events +} + +function tokenizeHeadingAtx(effects, ok, nok) { + var self = this + var size = 0 + + return start + + function start(code) { + assert__default['default'](code === codes.numberSign, 'expected `#`') + effects.enter(types.atxHeading) + effects.enter(types.atxHeadingSequence) + return fenceOpenInside(code) + } + + function fenceOpenInside(code) { + if ( + code === codes.numberSign && + size++ < constants.atxHeadingOpeningFenceSizeMax + ) { + effects.consume(code) + return fenceOpenInside + } + + if (code === codes.eof || markdownLineEndingOrSpace(code)) { + effects.exit(types.atxHeadingSequence) + return self.interrupt ? ok(code) : headingBreak(code) + } + + return nok(code) + } + + function headingBreak(code) { + if (code === codes.numberSign) { + effects.enter(types.atxHeadingSequence) + return sequence(code) + } + + if (code === codes.eof || markdownLineEnding(code)) { + effects.exit(types.atxHeading) + return ok(code) + } + + if (markdownSpace(code)) { + return factorySpace(effects, headingBreak, types.whitespace)(code) + } + + effects.enter(types.atxHeadingText) + return data(code) + } + + function sequence(code) { + if (code === codes.numberSign) { + effects.consume(code) + return sequence + } + + effects.exit(types.atxHeadingSequence) + return headingBreak(code) + } + + function data(code) { + if ( + code === codes.eof || + code === codes.numberSign || + markdownLineEndingOrSpace(code) + ) { + effects.exit(types.atxHeadingText) + return headingBreak(code) + } + + effects.consume(code) + return data + } +} + +module.exports = headingAtx diff --git a/tools/node_modules/eslint-plugin-markdown/node_modules/micromark/lib/tokenize/heading-atx.mjs b/tools/node_modules/eslint-plugin-markdown/node_modules/micromark/lib/tokenize/heading-atx.mjs new file mode 100644 index 00000000000000..1a5ed07f42cbe0 --- /dev/null +++ b/tools/node_modules/eslint-plugin-markdown/node_modules/micromark/lib/tokenize/heading-atx.mjs @@ -0,0 +1,142 @@ +var headingAtx = { + name: 'headingAtx', + tokenize: tokenizeHeadingAtx, + resolve: resolveHeadingAtx +} +export default headingAtx + +import assert from 'assert' +import codes from '../character/codes.mjs' +import markdownLineEnding from '../character/markdown-line-ending.mjs' +import markdownLineEndingOrSpace from '../character/markdown-line-ending-or-space.mjs' +import markdownSpace from '../character/markdown-space.mjs' +import constants from '../constant/constants.mjs' +import types from '../constant/types.mjs' +import chunkedSplice from '../util/chunked-splice.mjs' +import spaceFactory from './factory-space.mjs' + +function resolveHeadingAtx(events, context) { + var contentEnd = events.length - 2 + var contentStart = 3 + var content + var text + + // Prefix whitespace, part of the opening. + if (events[contentStart][1].type === types.whitespace) { + contentStart += 2 + } + + // Suffix whitespace, part of the closing. + if ( + contentEnd - 2 > contentStart && + events[contentEnd][1].type === types.whitespace + ) { + contentEnd -= 2 + } + + if ( + events[contentEnd][1].type === types.atxHeadingSequence && + (contentStart === contentEnd - 1 || + (contentEnd - 4 > contentStart && + events[contentEnd - 2][1].type === types.whitespace)) + ) { + contentEnd -= contentStart + 1 === contentEnd ? 2 : 4 + } + + if (contentEnd > contentStart) { + content = { + type: types.atxHeadingText, + start: events[contentStart][1].start, + end: events[contentEnd][1].end + } + text = { + type: types.chunkText, + start: events[contentStart][1].start, + end: events[contentEnd][1].end, + contentType: constants.contentTypeText + } + + chunkedSplice(events, contentStart, contentEnd - contentStart + 1, [ + ['enter', content, context], + ['enter', text, context], + ['exit', text, context], + ['exit', content, context] + ]) + } + + return events +} + +function tokenizeHeadingAtx(effects, ok, nok) { + var self = this + var size = 0 + + return start + + function start(code) { + assert(code === codes.numberSign, 'expected `#`') + effects.enter(types.atxHeading) + effects.enter(types.atxHeadingSequence) + return fenceOpenInside(code) + } + + function fenceOpenInside(code) { + if ( + code === codes.numberSign && + size++ < constants.atxHeadingOpeningFenceSizeMax + ) { + effects.consume(code) + return fenceOpenInside + } + + if (code === codes.eof || markdownLineEndingOrSpace(code)) { + effects.exit(types.atxHeadingSequence) + return self.interrupt ? ok(code) : headingBreak(code) + } + + return nok(code) + } + + function headingBreak(code) { + if (code === codes.numberSign) { + effects.enter(types.atxHeadingSequence) + return sequence(code) + } + + if (code === codes.eof || markdownLineEnding(code)) { + effects.exit(types.atxHeading) + return ok(code) + } + + if (markdownSpace(code)) { + return spaceFactory(effects, headingBreak, types.whitespace)(code) + } + + effects.enter(types.atxHeadingText) + return data(code) + } + + function sequence(code) { + if (code === codes.numberSign) { + effects.consume(code) + return sequence + } + + effects.exit(types.atxHeadingSequence) + return headingBreak(code) + } + + function data(code) { + if ( + code === codes.eof || + code === codes.numberSign || + markdownLineEndingOrSpace(code) + ) { + effects.exit(types.atxHeadingText) + return headingBreak(code) + } + + effects.consume(code) + return data + } +} diff --git a/tools/node_modules/eslint-plugin-markdown/node_modules/micromark/lib/tokenize/html-flow.js b/tools/node_modules/eslint-plugin-markdown/node_modules/micromark/lib/tokenize/html-flow.js new file mode 100644 index 00000000000000..c6a894ff9c00bc --- /dev/null +++ b/tools/node_modules/eslint-plugin-markdown/node_modules/micromark/lib/tokenize/html-flow.js @@ -0,0 +1,513 @@ +'use strict' + +var assert = require('assert') +var asciiAlpha = require('../character/ascii-alpha.js') +var asciiAlphanumeric = require('../character/ascii-alphanumeric.js') +var codes = require('../character/codes.js') +var markdownLineEnding = require('../character/markdown-line-ending.js') +var markdownLineEndingOrSpace = require('../character/markdown-line-ending-or-space.js') +var markdownSpace = require('../character/markdown-space.js') +var constants = require('../constant/constants.js') +var fromCharCode = require('../constant/from-char-code.js') +var htmlBlockNames = require('../constant/html-block-names.js') +var htmlRawNames = require('../constant/html-raw-names.js') +var types = require('../constant/types.js') +var partialBlankLine = require('./partial-blank-line.js') + +function _interopDefaultLegacy(e) { + return e && typeof e === 'object' && 'default' in e ? e : {default: e} +} + +var assert__default = /*#__PURE__*/ _interopDefaultLegacy(assert) + +var htmlFlow = { + name: 'htmlFlow', + tokenize: tokenizeHtmlFlow, + resolveTo: resolveToHtmlFlow, + concrete: true +} + +var nextBlankConstruct = {tokenize: tokenizeNextBlank, partial: true} + +function resolveToHtmlFlow(events) { + var index = events.length + + while (index--) { + if ( + events[index][0] === 'enter' && + events[index][1].type === types.htmlFlow + ) { + break + } + } + + if (index > 1 && events[index - 2][1].type === types.linePrefix) { + // Add the prefix start to the HTML token. + events[index][1].start = events[index - 2][1].start + // Add the prefix start to the HTML line token. + events[index + 1][1].start = events[index - 2][1].start + // Remove the line prefix. + events.splice(index - 2, 2) + } + + return events +} + +function tokenizeHtmlFlow(effects, ok, nok) { + var self = this + var kind + var startTag + var buffer + var index + var marker + + return start + + function start(code) { + assert__default['default'](code === codes.lessThan, 'expected `<`') + effects.enter(types.htmlFlow) + effects.enter(types.htmlFlowData) + effects.consume(code) + return open + } + + function open(code) { + if (code === codes.exclamationMark) { + effects.consume(code) + return declarationStart + } + + if (code === codes.slash) { + effects.consume(code) + return tagCloseStart + } + + if (code === codes.questionMark) { + effects.consume(code) + kind = constants.htmlInstruction + // While we’re in an instruction instead of a declaration, we’re on a `?` + // right now, so we do need to search for `>`, similar to declarations. + return self.interrupt ? ok : continuationDeclarationInside + } + + if (asciiAlpha(code)) { + effects.consume(code) + buffer = fromCharCode(code) + startTag = true + return tagName + } + + return nok(code) + } + + function declarationStart(code) { + if (code === codes.dash) { + effects.consume(code) + kind = constants.htmlComment + return commentOpenInside + } + + if (code === codes.leftSquareBracket) { + effects.consume(code) + kind = constants.htmlCdata + buffer = constants.cdataOpeningString + index = 0 + return cdataOpenInside + } + + if (asciiAlpha(code)) { + effects.consume(code) + kind = constants.htmlDeclaration + return self.interrupt ? ok : continuationDeclarationInside + } + + return nok(code) + } + + function commentOpenInside(code) { + if (code === codes.dash) { + effects.consume(code) + return self.interrupt ? ok : continuationDeclarationInside + } + + return nok(code) + } + + function cdataOpenInside(code) { + if (code === buffer.charCodeAt(index++)) { + effects.consume(code) + return index === buffer.length + ? self.interrupt + ? ok + : continuation + : cdataOpenInside + } + + return nok(code) + } + + function tagCloseStart(code) { + if (asciiAlpha(code)) { + effects.consume(code) + buffer = fromCharCode(code) + return tagName + } + + return nok(code) + } + + function tagName(code) { + if ( + code === codes.eof || + code === codes.slash || + code === codes.greaterThan || + markdownLineEndingOrSpace(code) + ) { + if ( + code !== codes.slash && + startTag && + htmlRawNames.indexOf(buffer.toLowerCase()) > -1 + ) { + kind = constants.htmlRaw + return self.interrupt ? ok(code) : continuation(code) + } + + if (htmlBlockNames.indexOf(buffer.toLowerCase()) > -1) { + kind = constants.htmlBasic + + if (code === codes.slash) { + effects.consume(code) + return basicSelfClosing + } + + return self.interrupt ? ok(code) : continuation(code) + } + + kind = constants.htmlComplete + // Do not support complete HTML when interrupting. + return self.interrupt + ? nok(code) + : startTag + ? completeAttributeNameBefore(code) + : completeClosingTagAfter(code) + } + + if (code === codes.dash || asciiAlphanumeric(code)) { + effects.consume(code) + buffer += fromCharCode(code) + return tagName + } + + return nok(code) + } + + function basicSelfClosing(code) { + if (code === codes.greaterThan) { + effects.consume(code) + return self.interrupt ? ok : continuation + } + + return nok(code) + } + + function completeClosingTagAfter(code) { + if (markdownSpace(code)) { + effects.consume(code) + return completeClosingTagAfter + } + + return completeEnd(code) + } + + function completeAttributeNameBefore(code) { + if (code === codes.slash) { + effects.consume(code) + return completeEnd + } + + if (code === codes.colon || code === codes.underscore || asciiAlpha(code)) { + effects.consume(code) + return completeAttributeName + } + + if (markdownSpace(code)) { + effects.consume(code) + return completeAttributeNameBefore + } + + return completeEnd(code) + } + + function completeAttributeName(code) { + if ( + code === codes.dash || + code === codes.dot || + code === codes.colon || + code === codes.underscore || + asciiAlphanumeric(code) + ) { + effects.consume(code) + return completeAttributeName + } + + return completeAttributeNameAfter(code) + } + + function completeAttributeNameAfter(code) { + if (code === codes.equalsTo) { + effects.consume(code) + return completeAttributeValueBefore + } + + if (markdownSpace(code)) { + effects.consume(code) + return completeAttributeNameAfter + } + + return completeAttributeNameBefore(code) + } + + function completeAttributeValueBefore(code) { + if ( + code === codes.eof || + code === codes.lessThan || + code === codes.equalsTo || + code === codes.greaterThan || + code === codes.graveAccent + ) { + return nok(code) + } + + if (code === codes.quotationMark || code === codes.apostrophe) { + effects.consume(code) + marker = code + return completeAttributeValueQuoted + } + + if (markdownSpace(code)) { + effects.consume(code) + return completeAttributeValueBefore + } + + marker = undefined + return completeAttributeValueUnquoted(code) + } + + function completeAttributeValueQuoted(code) { + if (code === marker) { + effects.consume(code) + return completeAttributeValueQuotedAfter + } + + if (code === codes.eof || markdownLineEnding(code)) { + return nok(code) + } + + effects.consume(code) + return completeAttributeValueQuoted + } + + function completeAttributeValueUnquoted(code) { + if ( + code === codes.eof || + code === codes.quotationMark || + code === codes.apostrophe || + code === codes.lessThan || + code === codes.equalsTo || + code === codes.greaterThan || + code === codes.graveAccent || + markdownLineEndingOrSpace(code) + ) { + return completeAttributeNameAfter(code) + } + + effects.consume(code) + return completeAttributeValueUnquoted + } + + function completeAttributeValueQuotedAfter(code) { + if ( + code === codes.slash || + code === codes.greaterThan || + markdownSpace(code) + ) { + return completeAttributeNameBefore(code) + } + + return nok(code) + } + + function completeEnd(code) { + if (code === codes.greaterThan) { + effects.consume(code) + return completeAfter + } + + return nok(code) + } + + function completeAfter(code) { + if (markdownSpace(code)) { + effects.consume(code) + return completeAfter + } + + return code === codes.eof || markdownLineEnding(code) + ? continuation(code) + : nok(code) + } + + function continuation(code) { + if (code === codes.dash && kind === constants.htmlComment) { + effects.consume(code) + return continuationCommentInside + } + + if (code === codes.lessThan && kind === constants.htmlRaw) { + effects.consume(code) + return continuationRawTagOpen + } + + if (code === codes.greaterThan && kind === constants.htmlDeclaration) { + effects.consume(code) + return continuationClose + } + + if (code === codes.questionMark && kind === constants.htmlInstruction) { + effects.consume(code) + return continuationDeclarationInside + } + + if (code === codes.rightSquareBracket && kind === constants.htmlCdata) { + effects.consume(code) + return continuationCharacterDataInside + } + + if ( + markdownLineEnding(code) && + (kind === constants.htmlBasic || kind === constants.htmlComplete) + ) { + return effects.check( + nextBlankConstruct, + continuationClose, + continuationAtLineEnding + )(code) + } + + if (code === codes.eof || markdownLineEnding(code)) { + return continuationAtLineEnding(code) + } + + effects.consume(code) + return continuation + } + + function continuationAtLineEnding(code) { + effects.exit(types.htmlFlowData) + return htmlContinueStart(code) + } + + function htmlContinueStart(code) { + if (code === codes.eof) { + return done(code) + } + + if (markdownLineEnding(code)) { + effects.enter(types.lineEnding) + effects.consume(code) + effects.exit(types.lineEnding) + return htmlContinueStart + } + + effects.enter(types.htmlFlowData) + return continuation(code) + } + + function continuationCommentInside(code) { + if (code === codes.dash) { + effects.consume(code) + return continuationDeclarationInside + } + + return continuation(code) + } + + function continuationRawTagOpen(code) { + if (code === codes.slash) { + effects.consume(code) + buffer = '' + return continuationRawEndTag + } + + return continuation(code) + } + + function continuationRawEndTag(code) { + if ( + code === codes.greaterThan && + htmlRawNames.indexOf(buffer.toLowerCase()) > -1 + ) { + effects.consume(code) + return continuationClose + } + + if (asciiAlpha(code) && buffer.length < constants.htmlRawSizeMax) { + effects.consume(code) + buffer += fromCharCode(code) + return continuationRawEndTag + } + + return continuation(code) + } + + function continuationCharacterDataInside(code) { + if (code === codes.rightSquareBracket) { + effects.consume(code) + return continuationDeclarationInside + } + + return continuation(code) + } + + function continuationDeclarationInside(code) { + if (code === codes.greaterThan) { + effects.consume(code) + return continuationClose + } + + return continuation(code) + } + + function continuationClose(code) { + if (code === codes.eof || markdownLineEnding(code)) { + effects.exit(types.htmlFlowData) + return done(code) + } + + effects.consume(code) + return continuationClose + } + + function done(code) { + effects.exit(types.htmlFlow) + return ok(code) + } +} + +function tokenizeNextBlank(effects, ok, nok) { + return start + + function start(code) { + assert__default['default']( + markdownLineEnding(code), + 'expected a line ending' + ) + effects.exit(types.htmlFlowData) + effects.enter(types.lineEndingBlank) + effects.consume(code) + effects.exit(types.lineEndingBlank) + return effects.attempt(partialBlankLine, ok, nok) + } +} + +module.exports = htmlFlow diff --git a/tools/node_modules/eslint-plugin-markdown/node_modules/micromark/lib/tokenize/html-flow.mjs b/tools/node_modules/eslint-plugin-markdown/node_modules/micromark/lib/tokenize/html-flow.mjs new file mode 100644 index 00000000000000..5dda6d749339b7 --- /dev/null +++ b/tools/node_modules/eslint-plugin-markdown/node_modules/micromark/lib/tokenize/html-flow.mjs @@ -0,0 +1,498 @@ +var htmlFlow = { + name: 'htmlFlow', + tokenize: tokenizeHtmlFlow, + resolveTo: resolveToHtmlFlow, + concrete: true +} +export default htmlFlow + +import assert from 'assert' +import asciiAlpha from '../character/ascii-alpha.mjs' +import asciiAlphanumeric from '../character/ascii-alphanumeric.mjs' +import codes from '../character/codes.mjs' +import markdownLineEnding from '../character/markdown-line-ending.mjs' +import markdownLineEndingOrSpace from '../character/markdown-line-ending-or-space.mjs' +import markdownSpace from '../character/markdown-space.mjs' +import constants from '../constant/constants.mjs' +import fromCharCode from '../constant/from-char-code.mjs' +import basics from '../constant/html-block-names.mjs' +import raws from '../constant/html-raw-names.mjs' +import types from '../constant/types.mjs' +import blank from './partial-blank-line.mjs' + +var nextBlankConstruct = {tokenize: tokenizeNextBlank, partial: true} + +function resolveToHtmlFlow(events) { + var index = events.length + + while (index--) { + if ( + events[index][0] === 'enter' && + events[index][1].type === types.htmlFlow + ) { + break + } + } + + if (index > 1 && events[index - 2][1].type === types.linePrefix) { + // Add the prefix start to the HTML token. + events[index][1].start = events[index - 2][1].start + // Add the prefix start to the HTML line token. + events[index + 1][1].start = events[index - 2][1].start + // Remove the line prefix. + events.splice(index - 2, 2) + } + + return events +} + +function tokenizeHtmlFlow(effects, ok, nok) { + var self = this + var kind + var startTag + var buffer + var index + var marker + + return start + + function start(code) { + assert(code === codes.lessThan, 'expected `<`') + effects.enter(types.htmlFlow) + effects.enter(types.htmlFlowData) + effects.consume(code) + return open + } + + function open(code) { + if (code === codes.exclamationMark) { + effects.consume(code) + return declarationStart + } + + if (code === codes.slash) { + effects.consume(code) + return tagCloseStart + } + + if (code === codes.questionMark) { + effects.consume(code) + kind = constants.htmlInstruction + // While we’re in an instruction instead of a declaration, we’re on a `?` + // right now, so we do need to search for `>`, similar to declarations. + return self.interrupt ? ok : continuationDeclarationInside + } + + if (asciiAlpha(code)) { + effects.consume(code) + buffer = fromCharCode(code) + startTag = true + return tagName + } + + return nok(code) + } + + function declarationStart(code) { + if (code === codes.dash) { + effects.consume(code) + kind = constants.htmlComment + return commentOpenInside + } + + if (code === codes.leftSquareBracket) { + effects.consume(code) + kind = constants.htmlCdata + buffer = constants.cdataOpeningString + index = 0 + return cdataOpenInside + } + + if (asciiAlpha(code)) { + effects.consume(code) + kind = constants.htmlDeclaration + return self.interrupt ? ok : continuationDeclarationInside + } + + return nok(code) + } + + function commentOpenInside(code) { + if (code === codes.dash) { + effects.consume(code) + return self.interrupt ? ok : continuationDeclarationInside + } + + return nok(code) + } + + function cdataOpenInside(code) { + if (code === buffer.charCodeAt(index++)) { + effects.consume(code) + return index === buffer.length + ? self.interrupt + ? ok + : continuation + : cdataOpenInside + } + + return nok(code) + } + + function tagCloseStart(code) { + if (asciiAlpha(code)) { + effects.consume(code) + buffer = fromCharCode(code) + return tagName + } + + return nok(code) + } + + function tagName(code) { + if ( + code === codes.eof || + code === codes.slash || + code === codes.greaterThan || + markdownLineEndingOrSpace(code) + ) { + if ( + code !== codes.slash && + startTag && + raws.indexOf(buffer.toLowerCase()) > -1 + ) { + kind = constants.htmlRaw + return self.interrupt ? ok(code) : continuation(code) + } + + if (basics.indexOf(buffer.toLowerCase()) > -1) { + kind = constants.htmlBasic + + if (code === codes.slash) { + effects.consume(code) + return basicSelfClosing + } + + return self.interrupt ? ok(code) : continuation(code) + } + + kind = constants.htmlComplete + // Do not support complete HTML when interrupting. + return self.interrupt + ? nok(code) + : startTag + ? completeAttributeNameBefore(code) + : completeClosingTagAfter(code) + } + + if (code === codes.dash || asciiAlphanumeric(code)) { + effects.consume(code) + buffer += fromCharCode(code) + return tagName + } + + return nok(code) + } + + function basicSelfClosing(code) { + if (code === codes.greaterThan) { + effects.consume(code) + return self.interrupt ? ok : continuation + } + + return nok(code) + } + + function completeClosingTagAfter(code) { + if (markdownSpace(code)) { + effects.consume(code) + return completeClosingTagAfter + } + + return completeEnd(code) + } + + function completeAttributeNameBefore(code) { + if (code === codes.slash) { + effects.consume(code) + return completeEnd + } + + if (code === codes.colon || code === codes.underscore || asciiAlpha(code)) { + effects.consume(code) + return completeAttributeName + } + + if (markdownSpace(code)) { + effects.consume(code) + return completeAttributeNameBefore + } + + return completeEnd(code) + } + + function completeAttributeName(code) { + if ( + code === codes.dash || + code === codes.dot || + code === codes.colon || + code === codes.underscore || + asciiAlphanumeric(code) + ) { + effects.consume(code) + return completeAttributeName + } + + return completeAttributeNameAfter(code) + } + + function completeAttributeNameAfter(code) { + if (code === codes.equalsTo) { + effects.consume(code) + return completeAttributeValueBefore + } + + if (markdownSpace(code)) { + effects.consume(code) + return completeAttributeNameAfter + } + + return completeAttributeNameBefore(code) + } + + function completeAttributeValueBefore(code) { + if ( + code === codes.eof || + code === codes.lessThan || + code === codes.equalsTo || + code === codes.greaterThan || + code === codes.graveAccent + ) { + return nok(code) + } + + if (code === codes.quotationMark || code === codes.apostrophe) { + effects.consume(code) + marker = code + return completeAttributeValueQuoted + } + + if (markdownSpace(code)) { + effects.consume(code) + return completeAttributeValueBefore + } + + marker = undefined + return completeAttributeValueUnquoted(code) + } + + function completeAttributeValueQuoted(code) { + if (code === marker) { + effects.consume(code) + return completeAttributeValueQuotedAfter + } + + if (code === codes.eof || markdownLineEnding(code)) { + return nok(code) + } + + effects.consume(code) + return completeAttributeValueQuoted + } + + function completeAttributeValueUnquoted(code) { + if ( + code === codes.eof || + code === codes.quotationMark || + code === codes.apostrophe || + code === codes.lessThan || + code === codes.equalsTo || + code === codes.greaterThan || + code === codes.graveAccent || + markdownLineEndingOrSpace(code) + ) { + return completeAttributeNameAfter(code) + } + + effects.consume(code) + return completeAttributeValueUnquoted + } + + function completeAttributeValueQuotedAfter(code) { + if ( + code === codes.slash || + code === codes.greaterThan || + markdownSpace(code) + ) { + return completeAttributeNameBefore(code) + } + + return nok(code) + } + + function completeEnd(code) { + if (code === codes.greaterThan) { + effects.consume(code) + return completeAfter + } + + return nok(code) + } + + function completeAfter(code) { + if (markdownSpace(code)) { + effects.consume(code) + return completeAfter + } + + return code === codes.eof || markdownLineEnding(code) + ? continuation(code) + : nok(code) + } + + function continuation(code) { + if (code === codes.dash && kind === constants.htmlComment) { + effects.consume(code) + return continuationCommentInside + } + + if (code === codes.lessThan && kind === constants.htmlRaw) { + effects.consume(code) + return continuationRawTagOpen + } + + if (code === codes.greaterThan && kind === constants.htmlDeclaration) { + effects.consume(code) + return continuationClose + } + + if (code === codes.questionMark && kind === constants.htmlInstruction) { + effects.consume(code) + return continuationDeclarationInside + } + + if (code === codes.rightSquareBracket && kind === constants.htmlCdata) { + effects.consume(code) + return continuationCharacterDataInside + } + + if ( + markdownLineEnding(code) && + (kind === constants.htmlBasic || kind === constants.htmlComplete) + ) { + return effects.check( + nextBlankConstruct, + continuationClose, + continuationAtLineEnding + )(code) + } + + if (code === codes.eof || markdownLineEnding(code)) { + return continuationAtLineEnding(code) + } + + effects.consume(code) + return continuation + } + + function continuationAtLineEnding(code) { + effects.exit(types.htmlFlowData) + return htmlContinueStart(code) + } + + function htmlContinueStart(code) { + if (code === codes.eof) { + return done(code) + } + + if (markdownLineEnding(code)) { + effects.enter(types.lineEnding) + effects.consume(code) + effects.exit(types.lineEnding) + return htmlContinueStart + } + + effects.enter(types.htmlFlowData) + return continuation(code) + } + + function continuationCommentInside(code) { + if (code === codes.dash) { + effects.consume(code) + return continuationDeclarationInside + } + + return continuation(code) + } + + function continuationRawTagOpen(code) { + if (code === codes.slash) { + effects.consume(code) + buffer = '' + return continuationRawEndTag + } + + return continuation(code) + } + + function continuationRawEndTag(code) { + if (code === codes.greaterThan && raws.indexOf(buffer.toLowerCase()) > -1) { + effects.consume(code) + return continuationClose + } + + if (asciiAlpha(code) && buffer.length < constants.htmlRawSizeMax) { + effects.consume(code) + buffer += fromCharCode(code) + return continuationRawEndTag + } + + return continuation(code) + } + + function continuationCharacterDataInside(code) { + if (code === codes.rightSquareBracket) { + effects.consume(code) + return continuationDeclarationInside + } + + return continuation(code) + } + + function continuationDeclarationInside(code) { + if (code === codes.greaterThan) { + effects.consume(code) + return continuationClose + } + + return continuation(code) + } + + function continuationClose(code) { + if (code === codes.eof || markdownLineEnding(code)) { + effects.exit(types.htmlFlowData) + return done(code) + } + + effects.consume(code) + return continuationClose + } + + function done(code) { + effects.exit(types.htmlFlow) + return ok(code) + } +} + +function tokenizeNextBlank(effects, ok, nok) { + return start + + function start(code) { + assert(markdownLineEnding(code), 'expected a line ending') + effects.exit(types.htmlFlowData) + effects.enter(types.lineEndingBlank) + effects.consume(code) + effects.exit(types.lineEndingBlank) + return effects.attempt(blank, ok, nok) + } +} diff --git a/tools/node_modules/eslint-plugin-markdown/node_modules/micromark/lib/tokenize/html-text.js b/tools/node_modules/eslint-plugin-markdown/node_modules/micromark/lib/tokenize/html-text.js new file mode 100644 index 00000000000000..eda4db2d07b2d2 --- /dev/null +++ b/tools/node_modules/eslint-plugin-markdown/node_modules/micromark/lib/tokenize/html-text.js @@ -0,0 +1,458 @@ +'use strict' + +var assert = require('assert') +var asciiAlpha = require('../character/ascii-alpha.js') +var asciiAlphanumeric = require('../character/ascii-alphanumeric.js') +var codes = require('../character/codes.js') +var markdownLineEnding = require('../character/markdown-line-ending.js') +var markdownLineEndingOrSpace = require('../character/markdown-line-ending-or-space.js') +var markdownSpace = require('../character/markdown-space.js') +var constants = require('../constant/constants.js') +var types = require('../constant/types.js') +var factorySpace = require('./factory-space.js') + +function _interopDefaultLegacy(e) { + return e && typeof e === 'object' && 'default' in e ? e : {default: e} +} + +var assert__default = /*#__PURE__*/ _interopDefaultLegacy(assert) + +var htmlText = { + name: 'htmlText', + tokenize: tokenizeHtmlText +} + +function tokenizeHtmlText(effects, ok, nok) { + var self = this + var marker + var buffer + var index + var returnState + + return start + + function start(code) { + assert__default['default'](code === codes.lessThan, 'expected `<`') + effects.enter(types.htmlText) + effects.enter(types.htmlTextData) + effects.consume(code) + return open + } + + function open(code) { + if (code === codes.exclamationMark) { + effects.consume(code) + return declarationOpen + } + + if (code === codes.slash) { + effects.consume(code) + return tagCloseStart + } + + if (code === codes.questionMark) { + effects.consume(code) + return instruction + } + + if (asciiAlpha(code)) { + effects.consume(code) + return tagOpen + } + + return nok(code) + } + + function declarationOpen(code) { + if (code === codes.dash) { + effects.consume(code) + return commentOpen + } + + if (code === codes.leftSquareBracket) { + effects.consume(code) + buffer = constants.cdataOpeningString + index = 0 + return cdataOpen + } + + if (asciiAlpha(code)) { + effects.consume(code) + return declaration + } + + return nok(code) + } + + function commentOpen(code) { + if (code === codes.dash) { + effects.consume(code) + return commentStart + } + + return nok(code) + } + + function commentStart(code) { + if (code === codes.eof || code === codes.greaterThan) { + return nok(code) + } + + if (code === codes.dash) { + effects.consume(code) + return commentStartDash + } + + return comment(code) + } + + function commentStartDash(code) { + if (code === codes.eof || code === codes.greaterThan) { + return nok(code) + } + + return comment(code) + } + + function comment(code) { + if (code === codes.eof) { + return nok(code) + } + + if (code === codes.dash) { + effects.consume(code) + return commentClose + } + + if (markdownLineEnding(code)) { + returnState = comment + return atLineEnding(code) + } + + effects.consume(code) + return comment + } + + function commentClose(code) { + if (code === codes.dash) { + effects.consume(code) + return end + } + + return comment(code) + } + + function cdataOpen(code) { + if (code === buffer.charCodeAt(index++)) { + effects.consume(code) + return index === buffer.length ? cdata : cdataOpen + } + + return nok(code) + } + + function cdata(code) { + if (code === codes.eof) { + return nok(code) + } + + if (code === codes.rightSquareBracket) { + effects.consume(code) + return cdataClose + } + + if (markdownLineEnding(code)) { + returnState = cdata + return atLineEnding(code) + } + + effects.consume(code) + return cdata + } + + function cdataClose(code) { + if (code === codes.rightSquareBracket) { + effects.consume(code) + return cdataEnd + } + + return cdata(code) + } + + function cdataEnd(code) { + if (code === codes.greaterThan) { + return end(code) + } + + if (code === codes.rightSquareBracket) { + effects.consume(code) + return cdataEnd + } + + return cdata(code) + } + + function declaration(code) { + if (code === codes.eof || code === codes.greaterThan) { + return end(code) + } + + if (markdownLineEnding(code)) { + returnState = declaration + return atLineEnding(code) + } + + effects.consume(code) + return declaration + } + + function instruction(code) { + if (code === codes.eof) { + return nok(code) + } + + if (code === codes.questionMark) { + effects.consume(code) + return instructionClose + } + + if (markdownLineEnding(code)) { + returnState = instruction + return atLineEnding(code) + } + + effects.consume(code) + return instruction + } + + function instructionClose(code) { + return code === codes.greaterThan ? end(code) : instruction(code) + } + + function tagCloseStart(code) { + if (asciiAlpha(code)) { + effects.consume(code) + return tagClose + } + + return nok(code) + } + + function tagClose(code) { + if (code === codes.dash || asciiAlphanumeric(code)) { + effects.consume(code) + return tagClose + } + + return tagCloseBetween(code) + } + + function tagCloseBetween(code) { + if (markdownLineEnding(code)) { + returnState = tagCloseBetween + return atLineEnding(code) + } + + if (markdownSpace(code)) { + effects.consume(code) + return tagCloseBetween + } + + return end(code) + } + + function tagOpen(code) { + if (code === codes.dash || asciiAlphanumeric(code)) { + effects.consume(code) + return tagOpen + } + + if ( + code === codes.slash || + code === codes.greaterThan || + markdownLineEndingOrSpace(code) + ) { + return tagOpenBetween(code) + } + + return nok(code) + } + + function tagOpenBetween(code) { + if (code === codes.slash) { + effects.consume(code) + return end + } + + if (code === codes.colon || code === codes.underscore || asciiAlpha(code)) { + effects.consume(code) + return tagOpenAttributeName + } + + if (markdownLineEnding(code)) { + returnState = tagOpenBetween + return atLineEnding(code) + } + + if (markdownSpace(code)) { + effects.consume(code) + return tagOpenBetween + } + + return end(code) + } + + function tagOpenAttributeName(code) { + if ( + code === codes.dash || + code === codes.dot || + code === codes.colon || + code === codes.underscore || + asciiAlphanumeric(code) + ) { + effects.consume(code) + return tagOpenAttributeName + } + + return tagOpenAttributeNameAfter(code) + } + + function tagOpenAttributeNameAfter(code) { + if (code === codes.equalsTo) { + effects.consume(code) + return tagOpenAttributeValueBefore + } + + if (markdownLineEnding(code)) { + returnState = tagOpenAttributeNameAfter + return atLineEnding(code) + } + + if (markdownSpace(code)) { + effects.consume(code) + return tagOpenAttributeNameAfter + } + + return tagOpenBetween(code) + } + + function tagOpenAttributeValueBefore(code) { + if ( + code === codes.eof || + code === codes.lessThan || + code === codes.equalsTo || + code === codes.greaterThan || + code === codes.graveAccent + ) { + return nok(code) + } + + if (code === codes.quotationMark || code === codes.apostrophe) { + effects.consume(code) + marker = code + return tagOpenAttributeValueQuoted + } + + if (markdownLineEnding(code)) { + returnState = tagOpenAttributeValueBefore + return atLineEnding(code) + } + + if (markdownSpace(code)) { + effects.consume(code) + return tagOpenAttributeValueBefore + } + + effects.consume(code) + marker = undefined + return tagOpenAttributeValueUnquoted + } + + function tagOpenAttributeValueQuoted(code) { + if (code === marker) { + effects.consume(code) + return tagOpenAttributeValueQuotedAfter + } + + if (code === codes.eof) { + return nok(code) + } + + if (markdownLineEnding(code)) { + returnState = tagOpenAttributeValueQuoted + return atLineEnding(code) + } + + effects.consume(code) + return tagOpenAttributeValueQuoted + } + + function tagOpenAttributeValueQuotedAfter(code) { + if ( + code === codes.greaterThan || + code === codes.slash || + markdownLineEndingOrSpace(code) + ) { + return tagOpenBetween(code) + } + + return nok(code) + } + + function tagOpenAttributeValueUnquoted(code) { + if ( + code === codes.eof || + code === codes.quotationMark || + code === codes.apostrophe || + code === codes.lessThan || + code === codes.equalsTo || + code === codes.graveAccent + ) { + return nok(code) + } + + if (code === codes.greaterThan || markdownLineEndingOrSpace(code)) { + return tagOpenBetween(code) + } + + effects.consume(code) + return tagOpenAttributeValueUnquoted + } + + // We can’t have blank lines in content, so no need to worry about empty + // tokens. + function atLineEnding(code) { + assert__default['default'](returnState, 'expected return state') + assert__default['default'](markdownLineEnding(code), 'expected eol') + effects.exit(types.htmlTextData) + effects.enter(types.lineEnding) + effects.consume(code) + effects.exit(types.lineEnding) + return factorySpace( + effects, + afterPrefix, + types.linePrefix, + self.parser.constructs.disable.null.indexOf('codeIndented') > -1 + ? undefined + : constants.tabSize + ) + } + + function afterPrefix(code) { + effects.enter(types.htmlTextData) + return returnState(code) + } + + function end(code) { + if (code === codes.greaterThan) { + effects.consume(code) + effects.exit(types.htmlTextData) + effects.exit(types.htmlText) + return ok + } + + return nok(code) + } +} + +module.exports = htmlText diff --git a/tools/node_modules/eslint-plugin-markdown/node_modules/micromark/lib/tokenize/html-text.mjs b/tools/node_modules/eslint-plugin-markdown/node_modules/micromark/lib/tokenize/html-text.mjs new file mode 100644 index 00000000000000..2f571a0f4f936d --- /dev/null +++ b/tools/node_modules/eslint-plugin-markdown/node_modules/micromark/lib/tokenize/html-text.mjs @@ -0,0 +1,449 @@ +var htmlText = { + name: 'htmlText', + tokenize: tokenizeHtmlText +} +export default htmlText + +import assert from 'assert' +import asciiAlpha from '../character/ascii-alpha.mjs' +import asciiAlphanumeric from '../character/ascii-alphanumeric.mjs' +import codes from '../character/codes.mjs' +import markdownLineEnding from '../character/markdown-line-ending.mjs' +import markdownLineEndingOrSpace from '../character/markdown-line-ending-or-space.mjs' +import markdownSpace from '../character/markdown-space.mjs' +import constants from '../constant/constants.mjs' +import types from '../constant/types.mjs' +import spaceFactory from './factory-space.mjs' + +function tokenizeHtmlText(effects, ok, nok) { + var self = this + var marker + var buffer + var index + var returnState + + return start + + function start(code) { + assert(code === codes.lessThan, 'expected `<`') + effects.enter(types.htmlText) + effects.enter(types.htmlTextData) + effects.consume(code) + return open + } + + function open(code) { + if (code === codes.exclamationMark) { + effects.consume(code) + return declarationOpen + } + + if (code === codes.slash) { + effects.consume(code) + return tagCloseStart + } + + if (code === codes.questionMark) { + effects.consume(code) + return instruction + } + + if (asciiAlpha(code)) { + effects.consume(code) + return tagOpen + } + + return nok(code) + } + + function declarationOpen(code) { + if (code === codes.dash) { + effects.consume(code) + return commentOpen + } + + if (code === codes.leftSquareBracket) { + effects.consume(code) + buffer = constants.cdataOpeningString + index = 0 + return cdataOpen + } + + if (asciiAlpha(code)) { + effects.consume(code) + return declaration + } + + return nok(code) + } + + function commentOpen(code) { + if (code === codes.dash) { + effects.consume(code) + return commentStart + } + + return nok(code) + } + + function commentStart(code) { + if (code === codes.eof || code === codes.greaterThan) { + return nok(code) + } + + if (code === codes.dash) { + effects.consume(code) + return commentStartDash + } + + return comment(code) + } + + function commentStartDash(code) { + if (code === codes.eof || code === codes.greaterThan) { + return nok(code) + } + + return comment(code) + } + + function comment(code) { + if (code === codes.eof) { + return nok(code) + } + + if (code === codes.dash) { + effects.consume(code) + return commentClose + } + + if (markdownLineEnding(code)) { + returnState = comment + return atLineEnding(code) + } + + effects.consume(code) + return comment + } + + function commentClose(code) { + if (code === codes.dash) { + effects.consume(code) + return end + } + + return comment(code) + } + + function cdataOpen(code) { + if (code === buffer.charCodeAt(index++)) { + effects.consume(code) + return index === buffer.length ? cdata : cdataOpen + } + + return nok(code) + } + + function cdata(code) { + if (code === codes.eof) { + return nok(code) + } + + if (code === codes.rightSquareBracket) { + effects.consume(code) + return cdataClose + } + + if (markdownLineEnding(code)) { + returnState = cdata + return atLineEnding(code) + } + + effects.consume(code) + return cdata + } + + function cdataClose(code) { + if (code === codes.rightSquareBracket) { + effects.consume(code) + return cdataEnd + } + + return cdata(code) + } + + function cdataEnd(code) { + if (code === codes.greaterThan) { + return end(code) + } + + if (code === codes.rightSquareBracket) { + effects.consume(code) + return cdataEnd + } + + return cdata(code) + } + + function declaration(code) { + if (code === codes.eof || code === codes.greaterThan) { + return end(code) + } + + if (markdownLineEnding(code)) { + returnState = declaration + return atLineEnding(code) + } + + effects.consume(code) + return declaration + } + + function instruction(code) { + if (code === codes.eof) { + return nok(code) + } + + if (code === codes.questionMark) { + effects.consume(code) + return instructionClose + } + + if (markdownLineEnding(code)) { + returnState = instruction + return atLineEnding(code) + } + + effects.consume(code) + return instruction + } + + function instructionClose(code) { + return code === codes.greaterThan ? end(code) : instruction(code) + } + + function tagCloseStart(code) { + if (asciiAlpha(code)) { + effects.consume(code) + return tagClose + } + + return nok(code) + } + + function tagClose(code) { + if (code === codes.dash || asciiAlphanumeric(code)) { + effects.consume(code) + return tagClose + } + + return tagCloseBetween(code) + } + + function tagCloseBetween(code) { + if (markdownLineEnding(code)) { + returnState = tagCloseBetween + return atLineEnding(code) + } + + if (markdownSpace(code)) { + effects.consume(code) + return tagCloseBetween + } + + return end(code) + } + + function tagOpen(code) { + if (code === codes.dash || asciiAlphanumeric(code)) { + effects.consume(code) + return tagOpen + } + + if ( + code === codes.slash || + code === codes.greaterThan || + markdownLineEndingOrSpace(code) + ) { + return tagOpenBetween(code) + } + + return nok(code) + } + + function tagOpenBetween(code) { + if (code === codes.slash) { + effects.consume(code) + return end + } + + if (code === codes.colon || code === codes.underscore || asciiAlpha(code)) { + effects.consume(code) + return tagOpenAttributeName + } + + if (markdownLineEnding(code)) { + returnState = tagOpenBetween + return atLineEnding(code) + } + + if (markdownSpace(code)) { + effects.consume(code) + return tagOpenBetween + } + + return end(code) + } + + function tagOpenAttributeName(code) { + if ( + code === codes.dash || + code === codes.dot || + code === codes.colon || + code === codes.underscore || + asciiAlphanumeric(code) + ) { + effects.consume(code) + return tagOpenAttributeName + } + + return tagOpenAttributeNameAfter(code) + } + + function tagOpenAttributeNameAfter(code) { + if (code === codes.equalsTo) { + effects.consume(code) + return tagOpenAttributeValueBefore + } + + if (markdownLineEnding(code)) { + returnState = tagOpenAttributeNameAfter + return atLineEnding(code) + } + + if (markdownSpace(code)) { + effects.consume(code) + return tagOpenAttributeNameAfter + } + + return tagOpenBetween(code) + } + + function tagOpenAttributeValueBefore(code) { + if ( + code === codes.eof || + code === codes.lessThan || + code === codes.equalsTo || + code === codes.greaterThan || + code === codes.graveAccent + ) { + return nok(code) + } + + if (code === codes.quotationMark || code === codes.apostrophe) { + effects.consume(code) + marker = code + return tagOpenAttributeValueQuoted + } + + if (markdownLineEnding(code)) { + returnState = tagOpenAttributeValueBefore + return atLineEnding(code) + } + + if (markdownSpace(code)) { + effects.consume(code) + return tagOpenAttributeValueBefore + } + + effects.consume(code) + marker = undefined + return tagOpenAttributeValueUnquoted + } + + function tagOpenAttributeValueQuoted(code) { + if (code === marker) { + effects.consume(code) + return tagOpenAttributeValueQuotedAfter + } + + if (code === codes.eof) { + return nok(code) + } + + if (markdownLineEnding(code)) { + returnState = tagOpenAttributeValueQuoted + return atLineEnding(code) + } + + effects.consume(code) + return tagOpenAttributeValueQuoted + } + + function tagOpenAttributeValueQuotedAfter(code) { + if ( + code === codes.greaterThan || + code === codes.slash || + markdownLineEndingOrSpace(code) + ) { + return tagOpenBetween(code) + } + + return nok(code) + } + + function tagOpenAttributeValueUnquoted(code) { + if ( + code === codes.eof || + code === codes.quotationMark || + code === codes.apostrophe || + code === codes.lessThan || + code === codes.equalsTo || + code === codes.graveAccent + ) { + return nok(code) + } + + if (code === codes.greaterThan || markdownLineEndingOrSpace(code)) { + return tagOpenBetween(code) + } + + effects.consume(code) + return tagOpenAttributeValueUnquoted + } + + // We can’t have blank lines in content, so no need to worry about empty + // tokens. + function atLineEnding(code) { + assert(returnState, 'expected return state') + assert(markdownLineEnding(code), 'expected eol') + effects.exit(types.htmlTextData) + effects.enter(types.lineEnding) + effects.consume(code) + effects.exit(types.lineEnding) + return spaceFactory( + effects, + afterPrefix, + types.linePrefix, + self.parser.constructs.disable.null.indexOf('codeIndented') > -1 + ? undefined + : constants.tabSize + ) + } + + function afterPrefix(code) { + effects.enter(types.htmlTextData) + return returnState(code) + } + + function end(code) { + if (code === codes.greaterThan) { + effects.consume(code) + effects.exit(types.htmlTextData) + effects.exit(types.htmlText) + return ok + } + + return nok(code) + } +} diff --git a/tools/node_modules/eslint-plugin-markdown/node_modules/micromark/lib/tokenize/label-end.js b/tools/node_modules/eslint-plugin-markdown/node_modules/micromark/lib/tokenize/label-end.js new file mode 100644 index 00000000000000..51ee2366c81d10 --- /dev/null +++ b/tools/node_modules/eslint-plugin-markdown/node_modules/micromark/lib/tokenize/label-end.js @@ -0,0 +1,374 @@ +'use strict' + +var assert = require('assert') +var codes = require('../character/codes.js') +var markdownLineEndingOrSpace = require('../character/markdown-line-ending-or-space.js') +var constants = require('../constant/constants.js') +var types = require('../constant/types.js') +var chunkedPush = require('../util/chunked-push.js') +var chunkedSplice = require('../util/chunked-splice.js') +var normalizeIdentifier = require('../util/normalize-identifier.js') +var resolveAll = require('../util/resolve-all.js') +var shallow = require('../util/shallow.js') +var factoryDestination = require('./factory-destination.js') +var factoryLabel = require('./factory-label.js') +var factoryTitle = require('./factory-title.js') +var factoryWhitespace = require('./factory-whitespace.js') + +function _interopDefaultLegacy(e) { + return e && typeof e === 'object' && 'default' in e ? e : {default: e} +} + +var assert__default = /*#__PURE__*/ _interopDefaultLegacy(assert) + +var labelEnd = { + name: 'labelEnd', + tokenize: tokenizeLabelEnd, + resolveTo: resolveToLabelEnd, + resolveAll: resolveAllLabelEnd +} + +var resourceConstruct = {tokenize: tokenizeResource} +var fullReferenceConstruct = {tokenize: tokenizeFullReference} +var collapsedReferenceConstruct = {tokenize: tokenizeCollapsedReference} + +function resolveAllLabelEnd(events) { + var index = -1 + var token + + while (++index < events.length) { + token = events[index][1] + + if ( + !token._used && + (token.type === types.labelImage || + token.type === types.labelLink || + token.type === types.labelEnd) + ) { + // Remove the marker. + events.splice(index + 1, token.type === types.labelImage ? 4 : 2) + token.type = types.data + index++ + } + } + + return events +} + +function resolveToLabelEnd(events, context) { + var index = events.length + var offset = 0 + var group + var label + var text + var token + var open + var close + var media + + // Find an opening. + while (index--) { + token = events[index][1] + + if (open) { + // If we see another link, or inactive link label, we’ve been here before. + if ( + token.type === types.link || + (token.type === types.labelLink && token._inactive) + ) { + break + } + + // Mark other link openings as inactive, as we can’t have links in + // links. + if (events[index][0] === 'enter' && token.type === types.labelLink) { + token._inactive = true + } + } else if (close) { + if ( + events[index][0] === 'enter' && + (token.type === types.labelImage || token.type === types.labelLink) && + !token._balanced + ) { + open = index + + if (token.type !== types.labelLink) { + offset = 2 + break + } + } + } else if (token.type === types.labelEnd) { + close = index + } + } + + group = { + type: events[open][1].type === types.labelLink ? types.link : types.image, + start: shallow(events[open][1].start), + end: shallow(events[events.length - 1][1].end) + } + + label = { + type: types.label, + start: shallow(events[open][1].start), + end: shallow(events[close][1].end) + } + + text = { + type: types.labelText, + start: shallow(events[open + offset + 2][1].end), + end: shallow(events[close - 2][1].start) + } + + media = [ + ['enter', group, context], + ['enter', label, context] + ] + + // Opening marker. + media = chunkedPush(media, events.slice(open + 1, open + offset + 3)) + + // Text open. + media = chunkedPush(media, [['enter', text, context]]) + + // Between. + media = chunkedPush( + media, + resolveAll( + context.parser.constructs.insideSpan.null, + events.slice(open + offset + 4, close - 3), + context + ) + ) + + // Text close, marker close, label close. + media = chunkedPush(media, [ + ['exit', text, context], + events[close - 2], + events[close - 1], + ['exit', label, context] + ]) + + // Reference, resource, or so. + media = chunkedPush(media, events.slice(close + 1)) + + // Media close. + media = chunkedPush(media, [['exit', group, context]]) + + chunkedSplice(events, open, events.length, media) + + return events +} + +function tokenizeLabelEnd(effects, ok, nok) { + var self = this + var index = self.events.length + var labelStart + var defined + + // Find an opening. + while (index--) { + if ( + (self.events[index][1].type === types.labelImage || + self.events[index][1].type === types.labelLink) && + !self.events[index][1]._balanced + ) { + labelStart = self.events[index][1] + break + } + } + + return start + + function start(code) { + assert__default['default']( + code === codes.rightSquareBracket, + 'expected `]`' + ) + + if (!labelStart) { + return nok(code) + } + + // It’s a balanced bracket, but contains a link. + if (labelStart._inactive) return balanced(code) + defined = + self.parser.defined.indexOf( + normalizeIdentifier( + self.sliceSerialize({start: labelStart.end, end: self.now()}) + ) + ) > -1 + effects.enter(types.labelEnd) + effects.enter(types.labelMarker) + effects.consume(code) + effects.exit(types.labelMarker) + effects.exit(types.labelEnd) + return afterLabelEnd + } + + function afterLabelEnd(code) { + // Resource: `[asd](fgh)`. + if (code === codes.leftParenthesis) { + return effects.attempt( + resourceConstruct, + ok, + defined ? ok : balanced + )(code) + } + + // Collapsed (`[asd][]`) or full (`[asd][fgh]`) reference? + if (code === codes.leftSquareBracket) { + return effects.attempt( + fullReferenceConstruct, + ok, + defined + ? effects.attempt(collapsedReferenceConstruct, ok, balanced) + : balanced + )(code) + } + + // Shortcut reference: `[asd]`? + return defined ? ok(code) : balanced(code) + } + + function balanced(code) { + labelStart._balanced = true + return nok(code) + } +} + +function tokenizeResource(effects, ok, nok) { + return start + + function start(code) { + assert__default['default'].equal( + code, + codes.leftParenthesis, + 'expected left paren' + ) + effects.enter(types.resource) + effects.enter(types.resourceMarker) + effects.consume(code) + effects.exit(types.resourceMarker) + return factoryWhitespace(effects, open) + } + + function open(code) { + if (code === codes.rightParenthesis) { + return end(code) + } + + return factoryDestination( + effects, + destinationAfter, + nok, + types.resourceDestination, + types.resourceDestinationLiteral, + types.resourceDestinationLiteralMarker, + types.resourceDestinationRaw, + types.resourceDestinationString, + constants.linkResourceDestinationBalanceMax + )(code) + } + + function destinationAfter(code) { + return markdownLineEndingOrSpace(code) + ? factoryWhitespace(effects, between)(code) + : end(code) + } + + function between(code) { + if ( + code === codes.quotationMark || + code === codes.apostrophe || + code === codes.leftParenthesis + ) { + return factoryTitle( + effects, + factoryWhitespace(effects, end), + nok, + types.resourceTitle, + types.resourceTitleMarker, + types.resourceTitleString + )(code) + } + + return end(code) + } + + function end(code) { + if (code === codes.rightParenthesis) { + effects.enter(types.resourceMarker) + effects.consume(code) + effects.exit(types.resourceMarker) + effects.exit(types.resource) + return ok + } + + return nok(code) + } +} + +function tokenizeFullReference(effects, ok, nok) { + var self = this + + return start + + function start(code) { + assert__default['default'].equal( + code, + codes.leftSquareBracket, + 'expected left bracket' + ) + return factoryLabel.call( + self, + effects, + afterLabel, + nok, + types.reference, + types.referenceMarker, + types.referenceString + )(code) + } + + function afterLabel(code) { + return self.parser.defined.indexOf( + normalizeIdentifier( + self.sliceSerialize(self.events[self.events.length - 1][1]).slice(1, -1) + ) + ) < 0 + ? nok(code) + : ok(code) + } +} + +function tokenizeCollapsedReference(effects, ok, nok) { + return start + + function start(code) { + assert__default['default'].equal( + code, + codes.leftSquareBracket, + 'expected left bracket' + ) + effects.enter(types.reference) + effects.enter(types.referenceMarker) + effects.consume(code) + effects.exit(types.referenceMarker) + return open + } + + function open(code) { + if (code === codes.rightSquareBracket) { + effects.enter(types.referenceMarker) + effects.consume(code) + effects.exit(types.referenceMarker) + effects.exit(types.reference) + return ok + } + + return nok(code) + } +} + +module.exports = labelEnd diff --git a/tools/node_modules/eslint-plugin-markdown/node_modules/micromark/lib/tokenize/label-end.mjs b/tools/node_modules/eslint-plugin-markdown/node_modules/micromark/lib/tokenize/label-end.mjs new file mode 100644 index 00000000000000..16beeb0782df37 --- /dev/null +++ b/tools/node_modules/eslint-plugin-markdown/node_modules/micromark/lib/tokenize/label-end.mjs @@ -0,0 +1,350 @@ +var labelEnd = { + name: 'labelEnd', + tokenize: tokenizeLabelEnd, + resolveTo: resolveToLabelEnd, + resolveAll: resolveAllLabelEnd +} +export default labelEnd + +import assert from 'assert' +import codes from '../character/codes.mjs' +import markdownLineEndingOrSpace from '../character/markdown-line-ending-or-space.mjs' +import constants from '../constant/constants.mjs' +import types from '../constant/types.mjs' +import chunkedPush from '../util/chunked-push.mjs' +import chunkedSplice from '../util/chunked-splice.mjs' +import normalizeIdentifier from '../util/normalize-identifier.mjs' +import resolveAll from '../util/resolve-all.mjs' +import shallow from '../util/shallow.mjs' +import destinationFactory from './factory-destination.mjs' +import labelFactory from './factory-label.mjs' +import titleFactory from './factory-title.mjs' +import whitespaceFactory from './factory-whitespace.mjs' + +var resourceConstruct = {tokenize: tokenizeResource} +var fullReferenceConstruct = {tokenize: tokenizeFullReference} +var collapsedReferenceConstruct = {tokenize: tokenizeCollapsedReference} + +function resolveAllLabelEnd(events) { + var index = -1 + var token + + while (++index < events.length) { + token = events[index][1] + + if ( + !token._used && + (token.type === types.labelImage || + token.type === types.labelLink || + token.type === types.labelEnd) + ) { + // Remove the marker. + events.splice(index + 1, token.type === types.labelImage ? 4 : 2) + token.type = types.data + index++ + } + } + + return events +} + +function resolveToLabelEnd(events, context) { + var index = events.length + var offset = 0 + var group + var label + var text + var token + var open + var close + var media + + // Find an opening. + while (index--) { + token = events[index][1] + + if (open) { + // If we see another link, or inactive link label, we’ve been here before. + if ( + token.type === types.link || + (token.type === types.labelLink && token._inactive) + ) { + break + } + + // Mark other link openings as inactive, as we can’t have links in + // links. + if (events[index][0] === 'enter' && token.type === types.labelLink) { + token._inactive = true + } + } else if (close) { + if ( + events[index][0] === 'enter' && + (token.type === types.labelImage || token.type === types.labelLink) && + !token._balanced + ) { + open = index + + if (token.type !== types.labelLink) { + offset = 2 + break + } + } + } else if (token.type === types.labelEnd) { + close = index + } + } + + group = { + type: events[open][1].type === types.labelLink ? types.link : types.image, + start: shallow(events[open][1].start), + end: shallow(events[events.length - 1][1].end) + } + + label = { + type: types.label, + start: shallow(events[open][1].start), + end: shallow(events[close][1].end) + } + + text = { + type: types.labelText, + start: shallow(events[open + offset + 2][1].end), + end: shallow(events[close - 2][1].start) + } + + media = [ + ['enter', group, context], + ['enter', label, context] + ] + + // Opening marker. + media = chunkedPush(media, events.slice(open + 1, open + offset + 3)) + + // Text open. + media = chunkedPush(media, [['enter', text, context]]) + + // Between. + media = chunkedPush( + media, + resolveAll( + context.parser.constructs.insideSpan.null, + events.slice(open + offset + 4, close - 3), + context + ) + ) + + // Text close, marker close, label close. + media = chunkedPush(media, [ + ['exit', text, context], + events[close - 2], + events[close - 1], + ['exit', label, context] + ]) + + // Reference, resource, or so. + media = chunkedPush(media, events.slice(close + 1)) + + // Media close. + media = chunkedPush(media, [['exit', group, context]]) + + chunkedSplice(events, open, events.length, media) + + return events +} + +function tokenizeLabelEnd(effects, ok, nok) { + var self = this + var index = self.events.length + var labelStart + var defined + + // Find an opening. + while (index--) { + if ( + (self.events[index][1].type === types.labelImage || + self.events[index][1].type === types.labelLink) && + !self.events[index][1]._balanced + ) { + labelStart = self.events[index][1] + break + } + } + + return start + + function start(code) { + assert(code === codes.rightSquareBracket, 'expected `]`') + + if (!labelStart) { + return nok(code) + } + + // It’s a balanced bracket, but contains a link. + if (labelStart._inactive) return balanced(code) + defined = + self.parser.defined.indexOf( + normalizeIdentifier( + self.sliceSerialize({start: labelStart.end, end: self.now()}) + ) + ) > -1 + effects.enter(types.labelEnd) + effects.enter(types.labelMarker) + effects.consume(code) + effects.exit(types.labelMarker) + effects.exit(types.labelEnd) + return afterLabelEnd + } + + function afterLabelEnd(code) { + // Resource: `[asd](fgh)`. + if (code === codes.leftParenthesis) { + return effects.attempt( + resourceConstruct, + ok, + defined ? ok : balanced + )(code) + } + + // Collapsed (`[asd][]`) or full (`[asd][fgh]`) reference? + if (code === codes.leftSquareBracket) { + return effects.attempt( + fullReferenceConstruct, + ok, + defined + ? effects.attempt(collapsedReferenceConstruct, ok, balanced) + : balanced + )(code) + } + + // Shortcut reference: `[asd]`? + return defined ? ok(code) : balanced(code) + } + + function balanced(code) { + labelStart._balanced = true + return nok(code) + } +} + +function tokenizeResource(effects, ok, nok) { + return start + + function start(code) { + assert.equal(code, codes.leftParenthesis, 'expected left paren') + effects.enter(types.resource) + effects.enter(types.resourceMarker) + effects.consume(code) + effects.exit(types.resourceMarker) + return whitespaceFactory(effects, open) + } + + function open(code) { + if (code === codes.rightParenthesis) { + return end(code) + } + + return destinationFactory( + effects, + destinationAfter, + nok, + types.resourceDestination, + types.resourceDestinationLiteral, + types.resourceDestinationLiteralMarker, + types.resourceDestinationRaw, + types.resourceDestinationString, + constants.linkResourceDestinationBalanceMax + )(code) + } + + function destinationAfter(code) { + return markdownLineEndingOrSpace(code) + ? whitespaceFactory(effects, between)(code) + : end(code) + } + + function between(code) { + if ( + code === codes.quotationMark || + code === codes.apostrophe || + code === codes.leftParenthesis + ) { + return titleFactory( + effects, + whitespaceFactory(effects, end), + nok, + types.resourceTitle, + types.resourceTitleMarker, + types.resourceTitleString + )(code) + } + + return end(code) + } + + function end(code) { + if (code === codes.rightParenthesis) { + effects.enter(types.resourceMarker) + effects.consume(code) + effects.exit(types.resourceMarker) + effects.exit(types.resource) + return ok + } + + return nok(code) + } +} + +function tokenizeFullReference(effects, ok, nok) { + var self = this + + return start + + function start(code) { + assert.equal(code, codes.leftSquareBracket, 'expected left bracket') + return labelFactory.call( + self, + effects, + afterLabel, + nok, + types.reference, + types.referenceMarker, + types.referenceString + )(code) + } + + function afterLabel(code) { + return self.parser.defined.indexOf( + normalizeIdentifier( + self.sliceSerialize(self.events[self.events.length - 1][1]).slice(1, -1) + ) + ) < 0 + ? nok(code) + : ok(code) + } +} + +function tokenizeCollapsedReference(effects, ok, nok) { + return start + + function start(code) { + assert.equal(code, codes.leftSquareBracket, 'expected left bracket') + effects.enter(types.reference) + effects.enter(types.referenceMarker) + effects.consume(code) + effects.exit(types.referenceMarker) + return open + } + + function open(code) { + if (code === codes.rightSquareBracket) { + effects.enter(types.referenceMarker) + effects.consume(code) + effects.exit(types.referenceMarker) + effects.exit(types.reference) + return ok + } + + return nok(code) + } +} diff --git a/tools/node_modules/eslint-plugin-markdown/node_modules/micromark/lib/tokenize/label-start-image.js b/tools/node_modules/eslint-plugin-markdown/node_modules/micromark/lib/tokenize/label-start-image.js new file mode 100644 index 00000000000000..727a4687bbe5bc --- /dev/null +++ b/tools/node_modules/eslint-plugin-markdown/node_modules/micromark/lib/tokenize/label-start-image.js @@ -0,0 +1,56 @@ +'use strict' + +var labelEnd = require('./label-end.js') +var assert = require('assert') +var codes = require('../character/codes.js') +var types = require('../constant/types.js') + +function _interopDefaultLegacy(e) { + return e && typeof e === 'object' && 'default' in e ? e : {default: e} +} + +var assert__default = /*#__PURE__*/ _interopDefaultLegacy(assert) + +var labelStartImage = { + name: 'labelStartImage', + tokenize: tokenizeLabelStartImage, + resolveAll: labelEnd.resolveAll +} + +function tokenizeLabelStartImage(effects, ok, nok) { + var self = this + + return start + + function start(code) { + assert__default['default'](code === codes.exclamationMark, 'expected `!`') + effects.enter(types.labelImage) + effects.enter(types.labelImageMarker) + effects.consume(code) + effects.exit(types.labelImageMarker) + return open + } + + function open(code) { + if (code === codes.leftSquareBracket) { + effects.enter(types.labelMarker) + effects.consume(code) + effects.exit(types.labelMarker) + effects.exit(types.labelImage) + return after + } + + return nok(code) + } + + function after(code) { + /* c8 ignore next */ + return code === codes.caret && + /* c8 ignore next */ + '_hiddenFootnoteSupport' in self.parser.constructs + ? /* c8 ignore next */ nok(code) + : ok(code) + } +} + +module.exports = labelStartImage diff --git a/tools/node_modules/eslint-plugin-markdown/node_modules/micromark/lib/tokenize/label-start-image.mjs b/tools/node_modules/eslint-plugin-markdown/node_modules/micromark/lib/tokenize/label-start-image.mjs new file mode 100644 index 00000000000000..a5bef6e88ac600 --- /dev/null +++ b/tools/node_modules/eslint-plugin-markdown/node_modules/micromark/lib/tokenize/label-start-image.mjs @@ -0,0 +1,48 @@ +import labelEnd from './label-end.mjs' + +var labelStartImage = { + name: 'labelStartImage', + tokenize: tokenizeLabelStartImage, + resolveAll: labelEnd.resolveAll +} +export default labelStartImage + +import assert from 'assert' +import codes from '../character/codes.mjs' +import types from '../constant/types.mjs' + +function tokenizeLabelStartImage(effects, ok, nok) { + var self = this + + return start + + function start(code) { + assert(code === codes.exclamationMark, 'expected `!`') + effects.enter(types.labelImage) + effects.enter(types.labelImageMarker) + effects.consume(code) + effects.exit(types.labelImageMarker) + return open + } + + function open(code) { + if (code === codes.leftSquareBracket) { + effects.enter(types.labelMarker) + effects.consume(code) + effects.exit(types.labelMarker) + effects.exit(types.labelImage) + return after + } + + return nok(code) + } + + function after(code) { + /* c8 ignore next */ + return code === codes.caret && + /* c8 ignore next */ + '_hiddenFootnoteSupport' in self.parser.constructs + ? /* c8 ignore next */ nok(code) + : ok(code) + } +} diff --git a/tools/node_modules/eslint-plugin-markdown/node_modules/micromark/lib/tokenize/label-start-link.js b/tools/node_modules/eslint-plugin-markdown/node_modules/micromark/lib/tokenize/label-start-link.js new file mode 100644 index 00000000000000..a31a1a3d6f3b74 --- /dev/null +++ b/tools/node_modules/eslint-plugin-markdown/node_modules/micromark/lib/tokenize/label-start-link.js @@ -0,0 +1,46 @@ +'use strict' + +var labelEnd = require('./label-end.js') +var assert = require('assert') +var codes = require('../character/codes.js') +var types = require('../constant/types.js') + +function _interopDefaultLegacy(e) { + return e && typeof e === 'object' && 'default' in e ? e : {default: e} +} + +var assert__default = /*#__PURE__*/ _interopDefaultLegacy(assert) + +var labelStartLink = { + name: 'labelStartLink', + tokenize: tokenizeLabelStartLink, + resolveAll: labelEnd.resolveAll +} + +function tokenizeLabelStartLink(effects, ok, nok) { + var self = this + + return start + + function start(code) { + assert__default['default'](code === codes.leftSquareBracket, 'expected `[`') + effects.enter(types.labelLink) + effects.enter(types.labelMarker) + effects.consume(code) + effects.exit(types.labelMarker) + effects.exit(types.labelLink) + return after + } + + function after(code) { + /* c8 ignore next */ + return code === codes.caret && + /* c8 ignore next */ + '_hiddenFootnoteSupport' in self.parser.constructs + ? /* c8 ignore next */ + nok(code) + : ok(code) + } +} + +module.exports = labelStartLink diff --git a/tools/node_modules/eslint-plugin-markdown/node_modules/micromark/lib/tokenize/label-start-link.mjs b/tools/node_modules/eslint-plugin-markdown/node_modules/micromark/lib/tokenize/label-start-link.mjs new file mode 100644 index 00000000000000..7e92c6d1afd035 --- /dev/null +++ b/tools/node_modules/eslint-plugin-markdown/node_modules/micromark/lib/tokenize/label-start-link.mjs @@ -0,0 +1,38 @@ +import labelEnd from './label-end.mjs' + +var labelStartLink = { + name: 'labelStartLink', + tokenize: tokenizeLabelStartLink, + resolveAll: labelEnd.resolveAll +} +export default labelStartLink + +import assert from 'assert' +import codes from '../character/codes.mjs' +import types from '../constant/types.mjs' + +function tokenizeLabelStartLink(effects, ok, nok) { + var self = this + + return start + + function start(code) { + assert(code === codes.leftSquareBracket, 'expected `[`') + effects.enter(types.labelLink) + effects.enter(types.labelMarker) + effects.consume(code) + effects.exit(types.labelMarker) + effects.exit(types.labelLink) + return after + } + + function after(code) { + /* c8 ignore next */ + return code === codes.caret && + /* c8 ignore next */ + '_hiddenFootnoteSupport' in self.parser.constructs + ? /* c8 ignore next */ + nok(code) + : ok(code) + } +} diff --git a/tools/node_modules/eslint-plugin-markdown/node_modules/micromark/lib/tokenize/line-ending.js b/tools/node_modules/eslint-plugin-markdown/node_modules/micromark/lib/tokenize/line-ending.js new file mode 100644 index 00000000000000..e56215c9b889e4 --- /dev/null +++ b/tools/node_modules/eslint-plugin-markdown/node_modules/micromark/lib/tokenize/line-ending.js @@ -0,0 +1,31 @@ +'use strict' + +var assert = require('assert') +var markdownLineEnding = require('../character/markdown-line-ending.js') +var types = require('../constant/types.js') +var factorySpace = require('./factory-space.js') + +function _interopDefaultLegacy(e) { + return e && typeof e === 'object' && 'default' in e ? e : {default: e} +} + +var assert__default = /*#__PURE__*/ _interopDefaultLegacy(assert) + +var lineEnding = { + name: 'lineEnding', + tokenize: tokenizeLineEnding +} + +function tokenizeLineEnding(effects, ok) { + return start + + function start(code) { + assert__default['default'](markdownLineEnding(code), 'expected eol') + effects.enter(types.lineEnding) + effects.consume(code) + effects.exit(types.lineEnding) + return factorySpace(effects, ok, types.linePrefix) + } +} + +module.exports = lineEnding diff --git a/tools/node_modules/eslint-plugin-markdown/node_modules/micromark/lib/tokenize/line-ending.mjs b/tools/node_modules/eslint-plugin-markdown/node_modules/micromark/lib/tokenize/line-ending.mjs new file mode 100644 index 00000000000000..63029268f175e6 --- /dev/null +++ b/tools/node_modules/eslint-plugin-markdown/node_modules/micromark/lib/tokenize/line-ending.mjs @@ -0,0 +1,22 @@ +var lineEnding = { + name: 'lineEnding', + tokenize: tokenizeLineEnding +} +export default lineEnding + +import assert from 'assert' +import markdownLineEnding from '../character/markdown-line-ending.mjs' +import types from '../constant/types.mjs' +import spaceFactory from './factory-space.mjs' + +function tokenizeLineEnding(effects, ok) { + return start + + function start(code) { + assert(markdownLineEnding(code), 'expected eol') + effects.enter(types.lineEnding) + effects.consume(code) + effects.exit(types.lineEnding) + return spaceFactory(effects, ok, types.linePrefix) + } +} diff --git a/tools/node_modules/eslint-plugin-markdown/node_modules/micromark/lib/tokenize/list.js b/tools/node_modules/eslint-plugin-markdown/node_modules/micromark/lib/tokenize/list.js new file mode 100644 index 00000000000000..44f7615f5266e0 --- /dev/null +++ b/tools/node_modules/eslint-plugin-markdown/node_modules/micromark/lib/tokenize/list.js @@ -0,0 +1,219 @@ +'use strict' + +var asciiDigit = require('../character/ascii-digit.js') +var codes = require('../character/codes.js') +var markdownSpace = require('../character/markdown-space.js') +var constants = require('../constant/constants.js') +var types = require('../constant/types.js') +var prefixSize = require('../util/prefix-size.js') +var sizeChunks = require('../util/size-chunks.js') +var factorySpace = require('./factory-space.js') +var partialBlankLine = require('./partial-blank-line.js') +var thematicBreak = require('./thematic-break.js') + +var list = { + name: 'list', + tokenize: tokenizeListStart, + continuation: {tokenize: tokenizeListContinuation}, + exit: tokenizeListEnd +} + +var listItemPrefixWhitespaceConstruct = { + tokenize: tokenizeListItemPrefixWhitespace, + partial: true +} +var indentConstruct = {tokenize: tokenizeIndent, partial: true} + +function tokenizeListStart(effects, ok, nok) { + var self = this + var initialSize = prefixSize(self.events, types.linePrefix) + var size = 0 + + return start + + function start(code) { + var kind = + self.containerState.type || + (code === codes.asterisk || code === codes.plusSign || code === codes.dash + ? types.listUnordered + : types.listOrdered) + + if ( + kind === types.listUnordered + ? !self.containerState.marker || code === self.containerState.marker + : asciiDigit(code) + ) { + if (!self.containerState.type) { + self.containerState.type = kind + effects.enter(kind, {_container: true}) + } + + if (kind === types.listUnordered) { + effects.enter(types.listItemPrefix) + return code === codes.asterisk || code === codes.dash + ? effects.check(thematicBreak, nok, atMarker)(code) + : atMarker(code) + } + + if (!self.interrupt || code === codes.digit1) { + effects.enter(types.listItemPrefix) + effects.enter(types.listItemValue) + return inside(code) + } + } + + return nok(code) + } + + function inside(code) { + if (asciiDigit(code) && ++size < constants.listItemValueSizeMax) { + effects.consume(code) + return inside + } + + if ( + (!self.interrupt || size < 2) && + (self.containerState.marker + ? code === self.containerState.marker + : code === codes.rightParenthesis || code === codes.dot) + ) { + effects.exit(types.listItemValue) + return atMarker(code) + } + + return nok(code) + } + + function atMarker(code) { + effects.enter(types.listItemMarker) + effects.consume(code) + effects.exit(types.listItemMarker) + self.containerState.marker = self.containerState.marker || code + return effects.check( + partialBlankLine, + // Can’t be empty when interrupting. + self.interrupt ? nok : onBlank, + effects.attempt( + listItemPrefixWhitespaceConstruct, + endOfPrefix, + otherPrefix + ) + ) + } + + function onBlank(code) { + self.containerState.initialBlankLine = true + initialSize++ + return endOfPrefix(code) + } + + function otherPrefix(code) { + if (markdownSpace(code)) { + effects.enter(types.listItemPrefixWhitespace) + effects.consume(code) + effects.exit(types.listItemPrefixWhitespace) + return endOfPrefix + } + + return nok(code) + } + + function endOfPrefix(code) { + self.containerState.size = + initialSize + + sizeChunks(self.sliceStream(effects.exit(types.listItemPrefix))) + return ok(code) + } +} + +function tokenizeListContinuation(effects, ok, nok) { + var self = this + + self.containerState._closeFlow = undefined + + return effects.check(partialBlankLine, onBlank, notBlank) + + function onBlank(code) { + self.containerState.furtherBlankLines = + self.containerState.furtherBlankLines || + self.containerState.initialBlankLine + + // We have a blank line. + // Still, try to consume at most the items size. + return factorySpace( + effects, + ok, + types.listItemIndent, + self.containerState.size + 1 + )(code) + } + + function notBlank(code) { + if (self.containerState.furtherBlankLines || !markdownSpace(code)) { + self.containerState.furtherBlankLines = self.containerState.initialBlankLine = undefined + return notInCurrentItem(code) + } + + self.containerState.furtherBlankLines = self.containerState.initialBlankLine = undefined + return effects.attempt(indentConstruct, ok, notInCurrentItem)(code) + } + + function notInCurrentItem(code) { + // While we do continue, we signal that the flow should be closed. + self.containerState._closeFlow = true + // As we’re closing flow, we’re no longer interrupting. + self.interrupt = undefined + return factorySpace( + effects, + effects.attempt(list, ok, nok), + types.linePrefix, + self.parser.constructs.disable.null.indexOf('codeIndented') > -1 + ? undefined + : constants.tabSize + )(code) + } +} + +function tokenizeIndent(effects, ok, nok) { + var self = this + + return factorySpace( + effects, + afterPrefix, + types.listItemIndent, + self.containerState.size + 1 + ) + + function afterPrefix(code) { + return prefixSize(self.events, types.listItemIndent) === + self.containerState.size + ? ok(code) + : nok(code) + } +} + +function tokenizeListEnd(effects) { + effects.exit(this.containerState.type) +} + +function tokenizeListItemPrefixWhitespace(effects, ok, nok) { + var self = this + + return factorySpace( + effects, + afterPrefix, + types.listItemPrefixWhitespace, + self.parser.constructs.disable.null.indexOf('codeIndented') > -1 + ? undefined + : constants.tabSize + 1 + ) + + function afterPrefix(code) { + return markdownSpace(code) || + !prefixSize(self.events, types.listItemPrefixWhitespace) + ? nok(code) + : ok(code) + } +} + +module.exports = list diff --git a/tools/node_modules/eslint-plugin-markdown/node_modules/micromark/lib/tokenize/list.mjs b/tools/node_modules/eslint-plugin-markdown/node_modules/micromark/lib/tokenize/list.mjs new file mode 100644 index 00000000000000..017a6eabac97d0 --- /dev/null +++ b/tools/node_modules/eslint-plugin-markdown/node_modules/micromark/lib/tokenize/list.mjs @@ -0,0 +1,216 @@ +var list = { + name: 'list', + tokenize: tokenizeListStart, + continuation: {tokenize: tokenizeListContinuation}, + exit: tokenizeListEnd +} +export default list + +import asciiDigit from '../character/ascii-digit.mjs' +import codes from '../character/codes.mjs' +import markdownSpace from '../character/markdown-space.mjs' +import constants from '../constant/constants.mjs' +import types from '../constant/types.mjs' +import prefixSize from '../util/prefix-size.mjs' +import sizeChunks from '../util/size-chunks.mjs' +import spaceFactory from './factory-space.mjs' +import blank from './partial-blank-line.mjs' +import thematicBreak from './thematic-break.mjs' + +var listItemPrefixWhitespaceConstruct = { + tokenize: tokenizeListItemPrefixWhitespace, + partial: true +} +var indentConstruct = {tokenize: tokenizeIndent, partial: true} + +function tokenizeListStart(effects, ok, nok) { + var self = this + var initialSize = prefixSize(self.events, types.linePrefix) + var size = 0 + + return start + + function start(code) { + var kind = + self.containerState.type || + (code === codes.asterisk || code === codes.plusSign || code === codes.dash + ? types.listUnordered + : types.listOrdered) + + if ( + kind === types.listUnordered + ? !self.containerState.marker || code === self.containerState.marker + : asciiDigit(code) + ) { + if (!self.containerState.type) { + self.containerState.type = kind + effects.enter(kind, {_container: true}) + } + + if (kind === types.listUnordered) { + effects.enter(types.listItemPrefix) + return code === codes.asterisk || code === codes.dash + ? effects.check(thematicBreak, nok, atMarker)(code) + : atMarker(code) + } + + if (!self.interrupt || code === codes.digit1) { + effects.enter(types.listItemPrefix) + effects.enter(types.listItemValue) + return inside(code) + } + } + + return nok(code) + } + + function inside(code) { + if (asciiDigit(code) && ++size < constants.listItemValueSizeMax) { + effects.consume(code) + return inside + } + + if ( + (!self.interrupt || size < 2) && + (self.containerState.marker + ? code === self.containerState.marker + : code === codes.rightParenthesis || code === codes.dot) + ) { + effects.exit(types.listItemValue) + return atMarker(code) + } + + return nok(code) + } + + function atMarker(code) { + effects.enter(types.listItemMarker) + effects.consume(code) + effects.exit(types.listItemMarker) + self.containerState.marker = self.containerState.marker || code + return effects.check( + blank, + // Can’t be empty when interrupting. + self.interrupt ? nok : onBlank, + effects.attempt( + listItemPrefixWhitespaceConstruct, + endOfPrefix, + otherPrefix + ) + ) + } + + function onBlank(code) { + self.containerState.initialBlankLine = true + initialSize++ + return endOfPrefix(code) + } + + function otherPrefix(code) { + if (markdownSpace(code)) { + effects.enter(types.listItemPrefixWhitespace) + effects.consume(code) + effects.exit(types.listItemPrefixWhitespace) + return endOfPrefix + } + + return nok(code) + } + + function endOfPrefix(code) { + self.containerState.size = + initialSize + + sizeChunks(self.sliceStream(effects.exit(types.listItemPrefix))) + return ok(code) + } +} + +function tokenizeListContinuation(effects, ok, nok) { + var self = this + + self.containerState._closeFlow = undefined + + return effects.check(blank, onBlank, notBlank) + + function onBlank(code) { + self.containerState.furtherBlankLines = + self.containerState.furtherBlankLines || + self.containerState.initialBlankLine + + // We have a blank line. + // Still, try to consume at most the items size. + return spaceFactory( + effects, + ok, + types.listItemIndent, + self.containerState.size + 1 + )(code) + } + + function notBlank(code) { + if (self.containerState.furtherBlankLines || !markdownSpace(code)) { + self.containerState.furtherBlankLines = self.containerState.initialBlankLine = undefined + return notInCurrentItem(code) + } + + self.containerState.furtherBlankLines = self.containerState.initialBlankLine = undefined + return effects.attempt(indentConstruct, ok, notInCurrentItem)(code) + } + + function notInCurrentItem(code) { + // While we do continue, we signal that the flow should be closed. + self.containerState._closeFlow = true + // As we’re closing flow, we’re no longer interrupting. + self.interrupt = undefined + return spaceFactory( + effects, + effects.attempt(list, ok, nok), + types.linePrefix, + self.parser.constructs.disable.null.indexOf('codeIndented') > -1 + ? undefined + : constants.tabSize + )(code) + } +} + +function tokenizeIndent(effects, ok, nok) { + var self = this + + return spaceFactory( + effects, + afterPrefix, + types.listItemIndent, + self.containerState.size + 1 + ) + + function afterPrefix(code) { + return prefixSize(self.events, types.listItemIndent) === + self.containerState.size + ? ok(code) + : nok(code) + } +} + +function tokenizeListEnd(effects) { + effects.exit(this.containerState.type) +} + +function tokenizeListItemPrefixWhitespace(effects, ok, nok) { + var self = this + + return spaceFactory( + effects, + afterPrefix, + types.listItemPrefixWhitespace, + self.parser.constructs.disable.null.indexOf('codeIndented') > -1 + ? undefined + : constants.tabSize + 1 + ) + + function afterPrefix(code) { + return markdownSpace(code) || + !prefixSize(self.events, types.listItemPrefixWhitespace) + ? nok(code) + : ok(code) + } +} diff --git a/tools/node_modules/eslint-plugin-markdown/node_modules/micromark/lib/tokenize/partial-blank-line.js b/tools/node_modules/eslint-plugin-markdown/node_modules/micromark/lib/tokenize/partial-blank-line.js new file mode 100644 index 00000000000000..073824b3b6a18f --- /dev/null +++ b/tools/node_modules/eslint-plugin-markdown/node_modules/micromark/lib/tokenize/partial-blank-line.js @@ -0,0 +1,21 @@ +'use strict' + +var codes = require('../character/codes.js') +var markdownLineEnding = require('../character/markdown-line-ending.js') +var types = require('../constant/types.js') +var factorySpace = require('./factory-space.js') + +var partialBlankLine = { + tokenize: tokenizePartialBlankLine, + partial: true +} + +function tokenizePartialBlankLine(effects, ok, nok) { + return factorySpace(effects, afterWhitespace, types.linePrefix) + + function afterWhitespace(code) { + return code === codes.eof || markdownLineEnding(code) ? ok(code) : nok(code) + } +} + +module.exports = partialBlankLine diff --git a/tools/node_modules/eslint-plugin-markdown/node_modules/micromark/lib/tokenize/partial-blank-line.mjs b/tools/node_modules/eslint-plugin-markdown/node_modules/micromark/lib/tokenize/partial-blank-line.mjs new file mode 100644 index 00000000000000..de85658576fea3 --- /dev/null +++ b/tools/node_modules/eslint-plugin-markdown/node_modules/micromark/lib/tokenize/partial-blank-line.mjs @@ -0,0 +1,18 @@ +var partialBlankLine = { + tokenize: tokenizePartialBlankLine, + partial: true +} +export default partialBlankLine + +import codes from '../character/codes.mjs' +import markdownLineEnding from '../character/markdown-line-ending.mjs' +import types from '../constant/types.mjs' +import spaceFactory from './factory-space.mjs' + +function tokenizePartialBlankLine(effects, ok, nok) { + return spaceFactory(effects, afterWhitespace, types.linePrefix) + + function afterWhitespace(code) { + return code === codes.eof || markdownLineEnding(code) ? ok(code) : nok(code) + } +} diff --git a/tools/node_modules/eslint-plugin-markdown/node_modules/micromark/lib/tokenize/setext-underline.js b/tools/node_modules/eslint-plugin-markdown/node_modules/micromark/lib/tokenize/setext-underline.js new file mode 100644 index 00000000000000..9ac1e5c4e951c9 --- /dev/null +++ b/tools/node_modules/eslint-plugin-markdown/node_modules/micromark/lib/tokenize/setext-underline.js @@ -0,0 +1,138 @@ +'use strict' + +var assert = require('assert') +var codes = require('../character/codes.js') +var markdownLineEnding = require('../character/markdown-line-ending.js') +var types = require('../constant/types.js') +var shallow = require('../util/shallow.js') +var factorySpace = require('./factory-space.js') + +function _interopDefaultLegacy(e) { + return e && typeof e === 'object' && 'default' in e ? e : {default: e} +} + +var assert__default = /*#__PURE__*/ _interopDefaultLegacy(assert) + +var setextUnderline = { + name: 'setextUnderline', + tokenize: tokenizeSetextUnderline, + resolveTo: resolveToSetextUnderline +} + +function resolveToSetextUnderline(events, context) { + var index = events.length + var content + var text + var definition + var heading + + // Find the opening of the content. + // It’ll always exist: we don’t tokenize if it isn’t there. + while (index--) { + if (events[index][0] === 'enter') { + if (events[index][1].type === types.content) { + content = index + break + } + + if (events[index][1].type === types.paragraph) { + text = index + } + } + // Exit + else { + if (events[index][1].type === types.content) { + // Remove the content end (if needed we’ll add it later) + events.splice(index, 1) + } + + if (!definition && events[index][1].type === types.definition) { + definition = index + } + } + } + + heading = { + type: types.setextHeading, + start: shallow(events[text][1].start), + end: shallow(events[events.length - 1][1].end) + } + + // Change the paragraph to setext heading text. + events[text][1].type = types.setextHeadingText + + // If we have definitions in the content, we’ll keep on having content, + // but we need move it. + if (definition) { + events.splice(text, 0, ['enter', heading, context]) + events.splice(definition + 1, 0, ['exit', events[content][1], context]) + events[content][1].end = shallow(events[definition][1].end) + } else { + events[content][1] = heading + } + + // Add the heading exit at the end. + events.push(['exit', heading, context]) + + return events +} + +function tokenizeSetextUnderline(effects, ok, nok) { + var self = this + var index = self.events.length + var marker + var paragraph + + // Find an opening. + while (index--) { + // Skip enter/exit of line ending, line prefix, and content. + // We can now either have a definition or a paragraph. + if ( + self.events[index][1].type !== types.lineEnding && + self.events[index][1].type !== types.linePrefix && + self.events[index][1].type !== types.content + ) { + paragraph = self.events[index][1].type === types.paragraph + break + } + } + + return start + + function start(code) { + assert__default['default']( + code === codes.dash || code === codes.equalsTo, + 'expected `=` or `-`' + ) + + if (!self.lazy && (self.interrupt || paragraph)) { + effects.enter(types.setextHeadingLine) + effects.enter(types.setextHeadingLineSequence) + marker = code + return closingSequence(code) + } + + return nok(code) + } + + function closingSequence(code) { + if (code === marker) { + effects.consume(code) + return closingSequence + } + + effects.exit(types.setextHeadingLineSequence) + return factorySpace(effects, closingSequenceEnd, types.lineSuffix)(code) + } + + function closingSequenceEnd(code) { + if (code === codes.eof || markdownLineEnding(code)) { + effects.exit(types.setextHeadingLine) + return ok(code) + } + + return nok(code) + } +} + +module.exports = setextUnderline diff --git a/tools/node_modules/eslint-plugin-markdown/node_modules/micromark/lib/tokenize/setext-underline.mjs b/tools/node_modules/eslint-plugin-markdown/node_modules/micromark/lib/tokenize/setext-underline.mjs new file mode 100644 index 00000000000000..6724846b688806 --- /dev/null +++ b/tools/node_modules/eslint-plugin-markdown/node_modules/micromark/lib/tokenize/setext-underline.mjs @@ -0,0 +1,129 @@ +var setextUnderline = { + name: 'setextUnderline', + tokenize: tokenizeSetextUnderline, + resolveTo: resolveToSetextUnderline +} +export default setextUnderline + +import assert from 'assert' +import codes from '../character/codes.mjs' +import markdownLineEnding from '../character/markdown-line-ending.mjs' +import types from '../constant/types.mjs' +import shallow from '../util/shallow.mjs' +import spaceFactory from './factory-space.mjs' + +function resolveToSetextUnderline(events, context) { + var index = events.length + var content + var text + var definition + var heading + + // Find the opening of the content. + // It’ll always exist: we don’t tokenize if it isn’t there. + while (index--) { + if (events[index][0] === 'enter') { + if (events[index][1].type === types.content) { + content = index + break + } + + if (events[index][1].type === types.paragraph) { + text = index + } + } + // Exit + else { + if (events[index][1].type === types.content) { + // Remove the content end (if needed we’ll add it later) + events.splice(index, 1) + } + + if (!definition && events[index][1].type === types.definition) { + definition = index + } + } + } + + heading = { + type: types.setextHeading, + start: shallow(events[text][1].start), + end: shallow(events[events.length - 1][1].end) + } + + // Change the paragraph to setext heading text. + events[text][1].type = types.setextHeadingText + + // If we have definitions in the content, we’ll keep on having content, + // but we need move it. + if (definition) { + events.splice(text, 0, ['enter', heading, context]) + events.splice(definition + 1, 0, ['exit', events[content][1], context]) + events[content][1].end = shallow(events[definition][1].end) + } else { + events[content][1] = heading + } + + // Add the heading exit at the end. + events.push(['exit', heading, context]) + + return events +} + +function tokenizeSetextUnderline(effects, ok, nok) { + var self = this + var index = self.events.length + var marker + var paragraph + + // Find an opening. + while (index--) { + // Skip enter/exit of line ending, line prefix, and content. + // We can now either have a definition or a paragraph. + if ( + self.events[index][1].type !== types.lineEnding && + self.events[index][1].type !== types.linePrefix && + self.events[index][1].type !== types.content + ) { + paragraph = self.events[index][1].type === types.paragraph + break + } + } + + return start + + function start(code) { + assert( + code === codes.dash || code === codes.equalsTo, + 'expected `=` or `-`' + ) + + if (!self.lazy && (self.interrupt || paragraph)) { + effects.enter(types.setextHeadingLine) + effects.enter(types.setextHeadingLineSequence) + marker = code + return closingSequence(code) + } + + return nok(code) + } + + function closingSequence(code) { + if (code === marker) { + effects.consume(code) + return closingSequence + } + + effects.exit(types.setextHeadingLineSequence) + return spaceFactory(effects, closingSequenceEnd, types.lineSuffix)(code) + } + + function closingSequenceEnd(code) { + if (code === codes.eof || markdownLineEnding(code)) { + effects.exit(types.setextHeadingLine) + return ok(code) + } + + return nok(code) + } +} diff --git a/tools/node_modules/eslint-plugin-markdown/node_modules/micromark/lib/tokenize/thematic-break.js b/tools/node_modules/eslint-plugin-markdown/node_modules/micromark/lib/tokenize/thematic-break.js new file mode 100644 index 00000000000000..a927a51cb17c22 --- /dev/null +++ b/tools/node_modules/eslint-plugin-markdown/node_modules/micromark/lib/tokenize/thematic-break.js @@ -0,0 +1,74 @@ +'use strict' + +var assert = require('assert') +var codes = require('../character/codes.js') +var markdownLineEnding = require('../character/markdown-line-ending.js') +var markdownSpace = require('../character/markdown-space.js') +var constants = require('../constant/constants.js') +var types = require('../constant/types.js') +var factorySpace = require('./factory-space.js') + +function _interopDefaultLegacy(e) { + return e && typeof e === 'object' && 'default' in e ? e : {default: e} +} + +var assert__default = /*#__PURE__*/ _interopDefaultLegacy(assert) + +var thematicBreak = { + name: 'thematicBreak', + tokenize: tokenizeThematicBreak +} + +function tokenizeThematicBreak(effects, ok, nok) { + var size = 0 + var marker + + return start + + function start(code) { + assert__default['default']( + code === codes.asterisk || + code === codes.dash || + code === codes.underscore, + 'expected `*`, `-`, or `_`' + ) + + effects.enter(types.thematicBreak) + marker = code + return atBreak(code) + } + + function atBreak(code) { + if (code === marker) { + effects.enter(types.thematicBreakSequence) + return sequence(code) + } + + if (markdownSpace(code)) { + return factorySpace(effects, atBreak, types.whitespace)(code) + } + + if ( + size < constants.thematicBreakMarkerCountMin || + (code !== codes.eof && !markdownLineEnding(code)) + ) { + return nok(code) + } + + effects.exit(types.thematicBreak) + return ok(code) + } + + function sequence(code) { + if (code === marker) { + effects.consume(code) + size++ + return sequence + } + + effects.exit(types.thematicBreakSequence) + return atBreak(code) + } +} + +module.exports = thematicBreak diff --git a/tools/node_modules/eslint-plugin-markdown/node_modules/micromark/lib/tokenize/thematic-break.mjs b/tools/node_modules/eslint-plugin-markdown/node_modules/micromark/lib/tokenize/thematic-break.mjs new file mode 100644 index 00000000000000..58c4d7824de8cd --- /dev/null +++ b/tools/node_modules/eslint-plugin-markdown/node_modules/micromark/lib/tokenize/thematic-break.mjs @@ -0,0 +1,65 @@ +var thematicBreak = { + name: 'thematicBreak', + tokenize: tokenizeThematicBreak +} +export default thematicBreak + +import assert from 'assert' +import codes from '../character/codes.mjs' +import markdownLineEnding from '../character/markdown-line-ending.mjs' +import markdownSpace from '../character/markdown-space.mjs' +import constants from '../constant/constants.mjs' +import types from '../constant/types.mjs' +import spaceFactory from './factory-space.mjs' + +function tokenizeThematicBreak(effects, ok, nok) { + var size = 0 + var marker + + return start + + function start(code) { + assert( + code === codes.asterisk || + code === codes.dash || + code === codes.underscore, + 'expected `*`, `-`, or `_`' + ) + + effects.enter(types.thematicBreak) + marker = code + return atBreak(code) + } + + function atBreak(code) { + if (code === marker) { + effects.enter(types.thematicBreakSequence) + return sequence(code) + } + + if (markdownSpace(code)) { + return spaceFactory(effects, atBreak, types.whitespace)(code) + } + + if ( + size < constants.thematicBreakMarkerCountMin || + (code !== codes.eof && !markdownLineEnding(code)) + ) { + return nok(code) + } + + effects.exit(types.thematicBreak) + return ok(code) + } + + function sequence(code) { + if (code === marker) { + effects.consume(code) + size++ + return sequence + } + + effects.exit(types.thematicBreakSequence) + return atBreak(code) + } +} diff --git a/tools/node_modules/eslint-plugin-markdown/node_modules/micromark/lib/util/chunked-push.js b/tools/node_modules/eslint-plugin-markdown/node_modules/micromark/lib/util/chunked-push.js new file mode 100644 index 00000000000000..77689779959fbb --- /dev/null +++ b/tools/node_modules/eslint-plugin-markdown/node_modules/micromark/lib/util/chunked-push.js @@ -0,0 +1,14 @@ +'use strict' + +var chunkedSplice = require('./chunked-splice.js') + +function chunkedPush(list, items) { + if (list.length) { + chunkedSplice(list, list.length, 0, items) + return list + } + + return items +} + +module.exports = chunkedPush diff --git a/tools/node_modules/eslint-plugin-markdown/node_modules/micromark/lib/util/chunked-push.mjs b/tools/node_modules/eslint-plugin-markdown/node_modules/micromark/lib/util/chunked-push.mjs new file mode 100644 index 00000000000000..3c84d8b7e17d5b --- /dev/null +++ b/tools/node_modules/eslint-plugin-markdown/node_modules/micromark/lib/util/chunked-push.mjs @@ -0,0 +1,12 @@ +export default chunkedPush + +import chunkedSplice from './chunked-splice.mjs' + +function chunkedPush(list, items) { + if (list.length) { + chunkedSplice(list, list.length, 0, items) + return list + } + + return items +} diff --git a/tools/node_modules/eslint-plugin-markdown/node_modules/micromark/lib/util/chunked-splice.js b/tools/node_modules/eslint-plugin-markdown/node_modules/micromark/lib/util/chunked-splice.js new file mode 100644 index 00000000000000..5a3246d8bc350d --- /dev/null +++ b/tools/node_modules/eslint-plugin-markdown/node_modules/micromark/lib/util/chunked-splice.js @@ -0,0 +1,46 @@ +'use strict' + +var constants = require('../constant/constants.js') +var splice = require('../constant/splice.js') + +// `Array#splice` takes all items to be inserted as individual argument which +// causes a stack overflow in V8 when trying to insert 100k items for instance. +function chunkedSplice(list, start, remove, items) { + var end = list.length + var chunkStart = 0 + var parameters + + // Make start between zero and `end` (included). + if (start < 0) { + start = -start > end ? 0 : end + start + } else { + start = start > end ? end : start + } + + remove = remove > 0 ? remove : 0 + + // No need to chunk the items if there’s only a couple (10k) items. + if (items.length < constants.v8MaxSafeChunkSize) { + parameters = Array.from(items) + parameters.unshift(start, remove) + splice.apply(list, parameters) + } else { + // Delete `remove` items starting from `start` + if (remove) splice.apply(list, [start, remove]) + + // Insert the items in chunks to not cause stack overflows. + while (chunkStart < items.length) { + parameters = items.slice( + chunkStart, + chunkStart + constants.v8MaxSafeChunkSize + ) + parameters.unshift(start, 0) + splice.apply(list, parameters) + + chunkStart += constants.v8MaxSafeChunkSize + start += constants.v8MaxSafeChunkSize + } + } +} + +module.exports = chunkedSplice diff --git a/tools/node_modules/eslint-plugin-markdown/node_modules/micromark/lib/util/chunked-splice.mjs b/tools/node_modules/eslint-plugin-markdown/node_modules/micromark/lib/util/chunked-splice.mjs new file mode 100644 index 00000000000000..0bda9533bbaf91 --- /dev/null +++ b/tools/node_modules/eslint-plugin-markdown/node_modules/micromark/lib/util/chunked-splice.mjs @@ -0,0 +1,44 @@ +export default chunkedSplice + +import constants from '../constant/constants.mjs' +import splice from '../constant/splice.mjs' + +// `Array#splice` takes all items to be inserted as individual argument which +// causes a stack overflow in V8 when trying to insert 100k items for instance. +function chunkedSplice(list, start, remove, items) { + var end = list.length + var chunkStart = 0 + var parameters + + // Make start between zero and `end` (included). + if (start < 0) { + start = -start > end ? 0 : end + start + } else { + start = start > end ? end : start + } + + remove = remove > 0 ? remove : 0 + + // No need to chunk the items if there’s only a couple (10k) items. + if (items.length < constants.v8MaxSafeChunkSize) { + parameters = Array.from(items) + parameters.unshift(start, remove) + splice.apply(list, parameters) + } else { + // Delete `remove` items starting from `start` + if (remove) splice.apply(list, [start, remove]) + + // Insert the items in chunks to not cause stack overflows. + while (chunkStart < items.length) { + parameters = items.slice( + chunkStart, + chunkStart + constants.v8MaxSafeChunkSize + ) + parameters.unshift(start, 0) + splice.apply(list, parameters) + + chunkStart += constants.v8MaxSafeChunkSize + start += constants.v8MaxSafeChunkSize + } + } +} diff --git a/tools/node_modules/eslint-plugin-markdown/node_modules/micromark/lib/util/classify-character.js b/tools/node_modules/eslint-plugin-markdown/node_modules/micromark/lib/util/classify-character.js new file mode 100644 index 00000000000000..3c73c41f57f5f4 --- /dev/null +++ b/tools/node_modules/eslint-plugin-markdown/node_modules/micromark/lib/util/classify-character.js @@ -0,0 +1,27 @@ +'use strict' + +var codes = require('../character/codes.js') +var markdownLineEndingOrSpace = require('../character/markdown-line-ending-or-space.js') +var unicodePunctuation = require('../character/unicode-punctuation.js') +var unicodeWhitespace = require('../character/unicode-whitespace.js') +var constants = require('../constant/constants.js') + +// Classify whether a character is unicode whitespace, unicode punctuation, or +// anything else. +// Used for attention (emphasis, strong), whose sequences can open or close +// based on the class of surrounding characters. +function classifyCharacter(code) { + if ( + code === codes.eof || + markdownLineEndingOrSpace(code) || + unicodeWhitespace(code) + ) { + return constants.characterGroupWhitespace + } + + if (unicodePunctuation(code)) { + return constants.characterGroupPunctuation + } +} + +module.exports = classifyCharacter diff --git a/tools/node_modules/eslint-plugin-markdown/node_modules/micromark/lib/util/classify-character.mjs b/tools/node_modules/eslint-plugin-markdown/node_modules/micromark/lib/util/classify-character.mjs new file mode 100644 index 00000000000000..f701c8e0d02315 --- /dev/null +++ b/tools/node_modules/eslint-plugin-markdown/node_modules/micromark/lib/util/classify-character.mjs @@ -0,0 +1,25 @@ +export default classifyCharacter + +import codes from '../character/codes.mjs' +import markdownLineEndingOrSpace from '../character/markdown-line-ending-or-space.mjs' +import unicodePunctuation from '../character/unicode-punctuation.mjs' +import unicodeWhitespace from '../character/unicode-whitespace.mjs' +import constants from '../constant/constants.mjs' + +// Classify whether a character is unicode whitespace, unicode punctuation, or +// anything else. +// Used for attention (emphasis, strong), whose sequences can open or close +// based on the class of surrounding characters. +function classifyCharacter(code) { + if ( + code === codes.eof || + markdownLineEndingOrSpace(code) || + unicodeWhitespace(code) + ) { + return constants.characterGroupWhitespace + } + + if (unicodePunctuation(code)) { + return constants.characterGroupPunctuation + } +} diff --git a/tools/node_modules/eslint-plugin-markdown/node_modules/micromark/lib/util/combine-extensions.js b/tools/node_modules/eslint-plugin-markdown/node_modules/micromark/lib/util/combine-extensions.js new file mode 100644 index 00000000000000..830ec3bf258683 --- /dev/null +++ b/tools/node_modules/eslint-plugin-markdown/node_modules/micromark/lib/util/combine-extensions.js @@ -0,0 +1,50 @@ +'use strict' + +var hasOwnProperty = require('../constant/has-own-property.js') +var chunkedSplice = require('./chunked-splice.js') +var miniflat = require('./miniflat.js') + +// Combine several syntax extensions into one. +function combineExtensions(extensions) { + var all = {} + var index = -1 + + while (++index < extensions.length) { + extension(all, extensions[index]) + } + + return all +} + +function extension(all, extension) { + var hook + var left + var right + var code + + for (hook in extension) { + left = hasOwnProperty.call(all, hook) ? all[hook] : (all[hook] = {}) + right = extension[hook] + + for (code in right) { + left[code] = constructs( + miniflat(right[code]), + hasOwnProperty.call(left, code) ? left[code] : [] + ) + } + } +} + +function constructs(list, existing) { + var index = -1 + var before = [] + + while (++index < list.length) { + ;(list[index].add === 'after' ? existing : before).push(list[index]) + } + + chunkedSplice(existing, 0, 0, before) + return existing +} + +module.exports = combineExtensions diff --git a/tools/node_modules/eslint-plugin-markdown/node_modules/micromark/lib/util/combine-extensions.mjs b/tools/node_modules/eslint-plugin-markdown/node_modules/micromark/lib/util/combine-extensions.mjs new file mode 100644 index 00000000000000..605652a8c8296e --- /dev/null +++ b/tools/node_modules/eslint-plugin-markdown/node_modules/micromark/lib/util/combine-extensions.mjs @@ -0,0 +1,48 @@ +export default combineExtensions + +import own from '../constant/has-own-property.mjs' +import chunkedSplice from './chunked-splice.mjs' +import miniflat from './miniflat.mjs' + +// Combine several syntax extensions into one. +function combineExtensions(extensions) { + var all = {} + var index = -1 + + while (++index < extensions.length) { + extension(all, extensions[index]) + } + + return all +} + +function extension(all, extension) { + var hook + var left + var right + var code + + for (hook in extension) { + left = own.call(all, hook) ? all[hook] : (all[hook] = {}) + right = extension[hook] + + for (code in right) { + left[code] = constructs( + miniflat(right[code]), + own.call(left, code) ? left[code] : [] + ) + } + } +} + +function constructs(list, existing) { + var index = -1 + var before = [] + + while (++index < list.length) { + ;(list[index].add === 'after' ? existing : before).push(list[index]) + } + + chunkedSplice(existing, 0, 0, before) + return existing +} diff --git a/tools/node_modules/eslint-plugin-markdown/node_modules/micromark/lib/util/combine-html-extensions.js b/tools/node_modules/eslint-plugin-markdown/node_modules/micromark/lib/util/combine-html-extensions.js new file mode 100644 index 00000000000000..c4fdadaf070721 --- /dev/null +++ b/tools/node_modules/eslint-plugin-markdown/node_modules/micromark/lib/util/combine-html-extensions.js @@ -0,0 +1,35 @@ +'use strict' + +var hasOwnProperty = require('../constant/has-own-property.js') + +// Combine several HTML extensions into one. +function combineHtmlExtensions(extensions) { + var handlers = {} + var index = -1 + + while (++index < extensions.length) { + extension(handlers, extensions[index]) + } + + return handlers +} + +function extension(handlers, extension) { + var hook + var left + var right + var type + + for (hook in extension) { + left = hasOwnProperty.call(handlers, hook) + ? handlers[hook] + : (handlers[hook] = {}) + right = extension[hook] + + for (type in right) { + left[type] = right[type] + } + } +} + +module.exports = combineHtmlExtensions diff --git a/tools/node_modules/eslint-plugin-markdown/node_modules/micromark/lib/util/combine-html-extensions.mjs b/tools/node_modules/eslint-plugin-markdown/node_modules/micromark/lib/util/combine-html-extensions.mjs new file mode 100644 index 00000000000000..d7e54e75dc5388 --- /dev/null +++ b/tools/node_modules/eslint-plugin-markdown/node_modules/micromark/lib/util/combine-html-extensions.mjs @@ -0,0 +1,31 @@ +export default combineHtmlExtensions + +import own from '../constant/has-own-property.mjs' + +// Combine several HTML extensions into one. +function combineHtmlExtensions(extensions) { + var handlers = {} + var index = -1 + + while (++index < extensions.length) { + extension(handlers, extensions[index]) + } + + return handlers +} + +function extension(handlers, extension) { + var hook + var left + var right + var type + + for (hook in extension) { + left = own.call(handlers, hook) ? handlers[hook] : (handlers[hook] = {}) + right = extension[hook] + + for (type in right) { + left[type] = right[type] + } + } +} diff --git a/tools/node_modules/eslint-plugin-markdown/node_modules/micromark/lib/util/create-tokenizer.js b/tools/node_modules/eslint-plugin-markdown/node_modules/micromark/lib/util/create-tokenizer.js new file mode 100644 index 00000000000000..dac8901405bccc --- /dev/null +++ b/tools/node_modules/eslint-plugin-markdown/node_modules/micromark/lib/util/create-tokenizer.js @@ -0,0 +1,440 @@ +'use strict' + +var assert = require('assert') +var createDebug = require('debug') +var assign = require('../constant/assign.js') +var codes = require('../character/codes.js') +var markdownLineEnding = require('../character/markdown-line-ending.js') +var chunkedPush = require('./chunked-push.js') +var chunkedSplice = require('./chunked-splice.js') +var miniflat = require('./miniflat.js') +var resolveAll = require('./resolve-all.js') +var serializeChunks = require('./serialize-chunks.js') +var shallow = require('./shallow.js') +var sliceChunks = require('./slice-chunks.js') + +function _interopDefaultLegacy(e) { + return e && typeof e === 'object' && 'default' in e ? e : {default: e} +} + +var assert__default = /*#__PURE__*/ _interopDefaultLegacy(assert) +var createDebug__default = /*#__PURE__*/ _interopDefaultLegacy(createDebug) + +var debug = createDebug__default['default']('micromark') + +// Create a tokenizer. +// Tokenizers deal with one type of data (e.g., containers, flow, text). +// The parser is the object dealing with it all. +// `initialize` works like other constructs, except that only its `tokenize` +// function is used, in which case it doesn’t receive an `ok` or `nok`. +// `from` can be given to set the point before the first character, although +// when further lines are indented, they must be set with `defineSkip`. +function createTokenizer(parser, initialize, from) { + var point = from ? shallow(from) : {line: 1, column: 1, offset: 0} + var columnStart = {} + var resolveAllConstructs = [] + var chunks = [] + var stack = [] + var consumed = true + + // Tools used for tokenizing. + var effects = { + consume: consume, + enter: enter, + exit: exit, + attempt: constructFactory(onsuccessfulconstruct), + check: constructFactory(onsuccessfulcheck), + interrupt: constructFactory(onsuccessfulcheck, {interrupt: true}), + lazy: constructFactory(onsuccessfulcheck, {lazy: true}) + } + + // State and tools for resolving and serializing. + var context = { + previous: codes.eof, + events: [], + parser: parser, + sliceStream: sliceStream, + sliceSerialize: sliceSerialize, + now: now, + defineSkip: skip, + write: write + } + + // The state function. + var state = initialize.tokenize.call(context, effects) + + // Track which character we expect to be consumed, to catch bugs. + var expectedCode + + if (initialize.resolveAll) { + resolveAllConstructs.push(initialize) + } + + // Store where we are in the input stream. + point._index = 0 + point._bufferIndex = -1 + + return context + + function write(slice) { + chunks = chunkedPush(chunks, slice) + + main() + + // Exit if we’re not done, resolve might change stuff. + if (chunks[chunks.length - 1] !== codes.eof) { + return [] + } + + addResult(initialize, 0) + + // Otherwise, resolve, and exit. + context.events = resolveAll(resolveAllConstructs, context.events, context) + + return context.events + } + + // + // Tools. + // + + function sliceSerialize(token) { + return serializeChunks(sliceStream(token)) + } + + function sliceStream(token) { + return sliceChunks(chunks, token) + } + + function now() { + return shallow(point) + } + + function skip(value) { + columnStart[value.line] = value.column + accountForPotentialSkip() + debug('position: define skip: `%j`', point) + } + + // + // State management. + // + + // Main loop (note that `_index` and `_bufferIndex` in `point` are modified by + // `consume`). + // Here is where we walk through the chunks, which either include strings of + // several characters, or numerical character codes. + // The reason to do this in a loop instead of a call is so the stack can + // drain. + function main() { + var chunkIndex + var chunk + + while (point._index < chunks.length) { + chunk = chunks[point._index] + + // If we’re in a buffer chunk, loop through it. + if (typeof chunk === 'string') { + chunkIndex = point._index + + if (point._bufferIndex < 0) { + point._bufferIndex = 0 + } + + while ( + point._index === chunkIndex && + point._bufferIndex < chunk.length + ) { + go(chunk.charCodeAt(point._bufferIndex)) + } + } else { + go(chunk) + } + } + } + + // Deal with one code. + function go(code) { + assert__default['default'].equal( + consumed, + true, + 'expected character to be consumed' + ) + consumed = undefined + debug('main: passing `%s` to %s', code, state.name) + expectedCode = code + state = state(code) + } + + // Move a character forward. + function consume(code) { + assert__default['default'].equal( + code, + expectedCode, + 'expected given code to equal expected code' + ) + + debug('consume: `%s`', code) + + assert__default['default'].equal( + consumed, + undefined, + 'expected code to not have been consumed' + ) + assert__default['default']( + code === null + ? !context.events.length || + context.events[context.events.length - 1][0] === 'exit' + : context.events[context.events.length - 1][0] === 'enter', + 'expected last token to be open' + ) + + if (markdownLineEnding(code)) { + point.line++ + point.column = 1 + point.offset += code === codes.carriageReturnLineFeed ? 2 : 1 + accountForPotentialSkip() + debug('position: after eol: `%j`', point) + } else if (code !== codes.virtualSpace) { + point.column++ + point.offset++ + } + + // Not in a string chunk. + if (point._bufferIndex < 0) { + point._index++ + } else { + point._bufferIndex++ + + // At end of string chunk. + if (point._bufferIndex === chunks[point._index].length) { + point._bufferIndex = -1 + point._index++ + } + } + + // Expose the previous character. + context.previous = code + + // Mark as consumed. + consumed = true + } + + // Start a token. + function enter(type, fields) { + var token = fields || {} + token.type = type + token.start = now() + + assert__default['default'].equal( + typeof type, + 'string', + 'expected string type' + ) + assert__default['default'].notEqual( + type.length, + 0, + 'expected non-empty string' + ) + debug('enter: `%s`', type) + + context.events.push(['enter', token, context]) + + stack.push(token) + + return token + } + + // Stop a token. + function exit(type) { + assert__default['default'].equal( + typeof type, + 'string', + 'expected string type' + ) + assert__default['default'].notEqual( + type.length, + 0, + 'expected non-empty string' + ) + assert__default['default'].notEqual( + stack.length, + 0, + 'cannot close w/o open tokens' + ) + + var token = stack.pop() + token.end = now() + + assert__default['default'].equal( + type, + token.type, + 'expected exit token to match current token' + ) + + assert__default['default']( + !( + token.start._index === token.end._index && + token.start._bufferIndex === token.end._bufferIndex + ), + 'expected non-empty token (`' + type + '`)' + ) + + debug('exit: `%s`', token.type) + context.events.push(['exit', token, context]) + + return token + } + + // Use results. + function onsuccessfulconstruct(construct, info) { + addResult(construct, info.from) + } + + // Discard results. + function onsuccessfulcheck(construct, info) { + info.restore() + } + + // Factory to attempt/check/interrupt. + function constructFactory(onreturn, fields) { + return hook + + // Handle either an object mapping codes to constructs, a list of + // constructs, or a single construct. + function hook(constructs, returnState, bogusState) { + var listOfConstructs + var constructIndex + var currentConstruct + var info + + return constructs.tokenize || 'length' in constructs + ? handleListOfConstructs(miniflat(constructs)) + : handleMapOfConstructs + + function handleMapOfConstructs(code) { + if (code in constructs || codes.eof in constructs) { + return handleListOfConstructs( + constructs.null + ? /* c8 ignore next */ + miniflat(constructs[code]).concat(miniflat(constructs.null)) + : constructs[code] + )(code) + } + + return bogusState(code) + } + + function handleListOfConstructs(list) { + listOfConstructs = list + constructIndex = 0 + return handleConstruct(list[constructIndex]) + } + + function handleConstruct(construct) { + return start + + function start(code) { + // To do: not nede to store if there is no bogus state, probably? + // Currently doesn’t work because `inspect` in document does a check + // w/o a bogus, which doesn’t make sense. But it does seem to help perf + // by not storing. + info = store() + currentConstruct = construct + + if (!construct.partial) { + context.currentConstruct = construct + } + + if ( + construct.name && + context.parser.constructs.disable.null.indexOf(construct.name) > -1 + ) { + return nok(code) + } + + return construct.tokenize.call( + fields ? assign({}, context, fields) : context, + effects, + ok, + nok + )(code) + } + } + + function ok(code) { + assert__default['default'].equal(code, expectedCode, 'expected code') + consumed = true + onreturn(currentConstruct, info) + return returnState + } + + function nok(code) { + assert__default['default'].equal(code, expectedCode, 'expected code') + consumed = true + info.restore() + + if (++constructIndex < listOfConstructs.length) { + return handleConstruct(listOfConstructs[constructIndex]) + } + + return bogusState + } + } + } + + function addResult(construct, from) { + if (construct.resolveAll && resolveAllConstructs.indexOf(construct) < 0) { + resolveAllConstructs.push(construct) + } + + if (construct.resolve) { + chunkedSplice( + context.events, + from, + context.events.length - from, + construct.resolve(context.events.slice(from), context) + ) + } + + if (construct.resolveTo) { + context.events = construct.resolveTo(context.events, context) + } + + assert__default['default']( + construct.partial || + !context.events.length || + context.events[context.events.length - 1][0] === 'exit', + 'expected last token to end' + ) + } + + function store() { + var startPoint = now() + var startPrevious = context.previous + var startCurrentConstruct = context.currentConstruct + var startEventsIndex = context.events.length + var startStack = Array.from(stack) + + return {restore: restore, from: startEventsIndex} + + function restore() { + point = startPoint + context.previous = startPrevious + context.currentConstruct = startCurrentConstruct + context.events.length = startEventsIndex + stack = startStack + accountForPotentialSkip() + debug('position: restore: `%j`', point) + } + } + + function accountForPotentialSkip() { + if (point.line in columnStart && point.column < 2) { + point.column = columnStart[point.line] + point.offset += columnStart[point.line] - 1 + } + } +} + +module.exports = createTokenizer diff --git a/tools/node_modules/eslint-plugin-markdown/node_modules/micromark/lib/util/create-tokenizer.mjs b/tools/node_modules/eslint-plugin-markdown/node_modules/micromark/lib/util/create-tokenizer.mjs new file mode 100644 index 00000000000000..6e8808ea767bd8 --- /dev/null +++ b/tools/node_modules/eslint-plugin-markdown/node_modules/micromark/lib/util/create-tokenizer.mjs @@ -0,0 +1,399 @@ +export default createTokenizer + +import assert from 'assert' +import createDebug from 'debug' +import assign from '../constant/assign.mjs' +import codes from '../character/codes.mjs' +import markdownLineEnding from '../character/markdown-line-ending.mjs' +import chunkedPush from './chunked-push.mjs' +import chunkedSplice from './chunked-splice.mjs' +import miniflat from './miniflat.mjs' +import resolveAll from './resolve-all.mjs' +import serializeChunks from './serialize-chunks.mjs' +import shallow from './shallow.mjs' +import sliceChunks from './slice-chunks.mjs' + +var debug = createDebug('micromark') + +// Create a tokenizer. +// Tokenizers deal with one type of data (e.g., containers, flow, text). +// The parser is the object dealing with it all. +// `initialize` works like other constructs, except that only its `tokenize` +// function is used, in which case it doesn’t receive an `ok` or `nok`. +// `from` can be given to set the point before the first character, although +// when further lines are indented, they must be set with `defineSkip`. +function createTokenizer(parser, initialize, from) { + var point = from ? shallow(from) : {line: 1, column: 1, offset: 0} + var columnStart = {} + var resolveAllConstructs = [] + var chunks = [] + var stack = [] + var consumed = true + + // Tools used for tokenizing. + var effects = { + consume: consume, + enter: enter, + exit: exit, + attempt: constructFactory(onsuccessfulconstruct), + check: constructFactory(onsuccessfulcheck), + interrupt: constructFactory(onsuccessfulcheck, {interrupt: true}), + lazy: constructFactory(onsuccessfulcheck, {lazy: true}) + } + + // State and tools for resolving and serializing. + var context = { + previous: codes.eof, + events: [], + parser: parser, + sliceStream: sliceStream, + sliceSerialize: sliceSerialize, + now: now, + defineSkip: skip, + write: write + } + + // The state function. + var state = initialize.tokenize.call(context, effects) + + // Track which character we expect to be consumed, to catch bugs. + var expectedCode + + if (initialize.resolveAll) { + resolveAllConstructs.push(initialize) + } + + // Store where we are in the input stream. + point._index = 0 + point._bufferIndex = -1 + + return context + + function write(slice) { + chunks = chunkedPush(chunks, slice) + + main() + + // Exit if we’re not done, resolve might change stuff. + if (chunks[chunks.length - 1] !== codes.eof) { + return [] + } + + addResult(initialize, 0) + + // Otherwise, resolve, and exit. + context.events = resolveAll(resolveAllConstructs, context.events, context) + + return context.events + } + + // + // Tools. + // + + function sliceSerialize(token) { + return serializeChunks(sliceStream(token)) + } + + function sliceStream(token) { + return sliceChunks(chunks, token) + } + + function now() { + return shallow(point) + } + + function skip(value) { + columnStart[value.line] = value.column + accountForPotentialSkip() + debug('position: define skip: `%j`', point) + } + + // + // State management. + // + + // Main loop (note that `_index` and `_bufferIndex` in `point` are modified by + // `consume`). + // Here is where we walk through the chunks, which either include strings of + // several characters, or numerical character codes. + // The reason to do this in a loop instead of a call is so the stack can + // drain. + function main() { + var chunkIndex + var chunk + + while (point._index < chunks.length) { + chunk = chunks[point._index] + + // If we’re in a buffer chunk, loop through it. + if (typeof chunk === 'string') { + chunkIndex = point._index + + if (point._bufferIndex < 0) { + point._bufferIndex = 0 + } + + while ( + point._index === chunkIndex && + point._bufferIndex < chunk.length + ) { + go(chunk.charCodeAt(point._bufferIndex)) + } + } else { + go(chunk) + } + } + } + + // Deal with one code. + function go(code) { + assert.equal(consumed, true, 'expected character to be consumed') + consumed = undefined + debug('main: passing `%s` to %s', code, state.name) + expectedCode = code + state = state(code) + } + + // Move a character forward. + function consume(code) { + assert.equal( + code, + expectedCode, + 'expected given code to equal expected code' + ) + + debug('consume: `%s`', code) + + assert.equal(consumed, undefined, 'expected code to not have been consumed') + assert( + code === null + ? !context.events.length || + context.events[context.events.length - 1][0] === 'exit' + : context.events[context.events.length - 1][0] === 'enter', + 'expected last token to be open' + ) + + if (markdownLineEnding(code)) { + point.line++ + point.column = 1 + point.offset += code === codes.carriageReturnLineFeed ? 2 : 1 + accountForPotentialSkip() + debug('position: after eol: `%j`', point) + } else if (code !== codes.virtualSpace) { + point.column++ + point.offset++ + } + + // Not in a string chunk. + if (point._bufferIndex < 0) { + point._index++ + } else { + point._bufferIndex++ + + // At end of string chunk. + if (point._bufferIndex === chunks[point._index].length) { + point._bufferIndex = -1 + point._index++ + } + } + + // Expose the previous character. + context.previous = code + + // Mark as consumed. + consumed = true + } + + // Start a token. + function enter(type, fields) { + var token = fields || {} + token.type = type + token.start = now() + + assert.equal(typeof type, 'string', 'expected string type') + assert.notEqual(type.length, 0, 'expected non-empty string') + debug('enter: `%s`', type) + + context.events.push(['enter', token, context]) + + stack.push(token) + + return token + } + + // Stop a token. + function exit(type) { + assert.equal(typeof type, 'string', 'expected string type') + assert.notEqual(type.length, 0, 'expected non-empty string') + assert.notEqual(stack.length, 0, 'cannot close w/o open tokens') + + var token = stack.pop() + token.end = now() + + assert.equal(type, token.type, 'expected exit token to match current token') + + assert( + !( + token.start._index === token.end._index && + token.start._bufferIndex === token.end._bufferIndex + ), + 'expected non-empty token (`' + type + '`)' + ) + + debug('exit: `%s`', token.type) + context.events.push(['exit', token, context]) + + return token + } + + // Use results. + function onsuccessfulconstruct(construct, info) { + addResult(construct, info.from) + } + + // Discard results. + function onsuccessfulcheck(construct, info) { + info.restore() + } + + // Factory to attempt/check/interrupt. + function constructFactory(onreturn, fields) { + return hook + + // Handle either an object mapping codes to constructs, a list of + // constructs, or a single construct. + function hook(constructs, returnState, bogusState) { + var listOfConstructs + var constructIndex + var currentConstruct + var info + + return constructs.tokenize || 'length' in constructs + ? handleListOfConstructs(miniflat(constructs)) + : handleMapOfConstructs + + function handleMapOfConstructs(code) { + if (code in constructs || codes.eof in constructs) { + return handleListOfConstructs( + constructs.null + ? /* c8 ignore next */ + miniflat(constructs[code]).concat(miniflat(constructs.null)) + : constructs[code] + )(code) + } + + return bogusState(code) + } + + function handleListOfConstructs(list) { + listOfConstructs = list + constructIndex = 0 + return handleConstruct(list[constructIndex]) + } + + function handleConstruct(construct) { + return start + + function start(code) { + // To do: not nede to store if there is no bogus state, probably? + // Currently doesn’t work because `inspect` in document does a check + // w/o a bogus, which doesn’t make sense. But it does seem to help perf + // by not storing. + info = store() + currentConstruct = construct + + if (!construct.partial) { + context.currentConstruct = construct + } + + if ( + construct.name && + context.parser.constructs.disable.null.indexOf(construct.name) > -1 + ) { + return nok(code) + } + + return construct.tokenize.call( + fields ? assign({}, context, fields) : context, + effects, + ok, + nok + )(code) + } + } + + function ok(code) { + assert.equal(code, expectedCode, 'expected code') + consumed = true + onreturn(currentConstruct, info) + return returnState + } + + function nok(code) { + assert.equal(code, expectedCode, 'expected code') + consumed = true + info.restore() + + if (++constructIndex < listOfConstructs.length) { + return handleConstruct(listOfConstructs[constructIndex]) + } + + return bogusState + } + } + } + + function addResult(construct, from) { + if (construct.resolveAll && resolveAllConstructs.indexOf(construct) < 0) { + resolveAllConstructs.push(construct) + } + + if (construct.resolve) { + chunkedSplice( + context.events, + from, + context.events.length - from, + construct.resolve(context.events.slice(from), context) + ) + } + + if (construct.resolveTo) { + context.events = construct.resolveTo(context.events, context) + } + + assert( + construct.partial || + !context.events.length || + context.events[context.events.length - 1][0] === 'exit', + 'expected last token to end' + ) + } + + function store() { + var startPoint = now() + var startPrevious = context.previous + var startCurrentConstruct = context.currentConstruct + var startEventsIndex = context.events.length + var startStack = Array.from(stack) + + return {restore: restore, from: startEventsIndex} + + function restore() { + point = startPoint + context.previous = startPrevious + context.currentConstruct = startCurrentConstruct + context.events.length = startEventsIndex + stack = startStack + accountForPotentialSkip() + debug('position: restore: `%j`', point) + } + } + + function accountForPotentialSkip() { + if (point.line in columnStart && point.column < 2) { + point.column = columnStart[point.line] + point.offset += columnStart[point.line] - 1 + } + } +} diff --git a/tools/node_modules/eslint-plugin-markdown/node_modules/micromark/lib/util/miniflat.js b/tools/node_modules/eslint-plugin-markdown/node_modules/micromark/lib/util/miniflat.js new file mode 100644 index 00000000000000..39c5dd4f6435fc --- /dev/null +++ b/tools/node_modules/eslint-plugin-markdown/node_modules/micromark/lib/util/miniflat.js @@ -0,0 +1,11 @@ +'use strict' + +function miniflat(value) { + return value === null || value === undefined + ? [] + : 'length' in value + ? value + : [value] +} + +module.exports = miniflat diff --git a/tools/node_modules/eslint-plugin-markdown/node_modules/micromark/lib/util/miniflat.mjs b/tools/node_modules/eslint-plugin-markdown/node_modules/micromark/lib/util/miniflat.mjs new file mode 100644 index 00000000000000..7fad196c63931d --- /dev/null +++ b/tools/node_modules/eslint-plugin-markdown/node_modules/micromark/lib/util/miniflat.mjs @@ -0,0 +1,9 @@ +export default miniflat + +function miniflat(value) { + return value === null || value === undefined + ? [] + : 'length' in value + ? value + : [value] +} diff --git a/tools/node_modules/eslint-plugin-markdown/node_modules/micromark/lib/util/move-point.js b/tools/node_modules/eslint-plugin-markdown/node_modules/micromark/lib/util/move-point.js new file mode 100644 index 00000000000000..830807fbba5f73 --- /dev/null +++ b/tools/node_modules/eslint-plugin-markdown/node_modules/micromark/lib/util/move-point.js @@ -0,0 +1,12 @@ +'use strict' + +// Note! `move` only works inside lines! It’s not possible to move past other +// chunks (replacement characters, tabs, or line endings). +function movePoint(point, offset) { + point.column += offset + point.offset += offset + point._bufferIndex += offset + return point +} + +module.exports = movePoint diff --git a/tools/node_modules/eslint-plugin-markdown/node_modules/micromark/lib/util/move-point.mjs b/tools/node_modules/eslint-plugin-markdown/node_modules/micromark/lib/util/move-point.mjs new file mode 100644 index 00000000000000..8192df49aa6048 --- /dev/null +++ b/tools/node_modules/eslint-plugin-markdown/node_modules/micromark/lib/util/move-point.mjs @@ -0,0 +1,10 @@ +export default movePoint + +// Note! `move` only works inside lines! It’s not possible to move past other +// chunks (replacement characters, tabs, or line endings). +function movePoint(point, offset) { + point.column += offset + point.offset += offset + point._bufferIndex += offset + return point +} diff --git a/tools/node_modules/eslint-plugin-markdown/node_modules/micromark/lib/util/normalize-identifier.js b/tools/node_modules/eslint-plugin-markdown/node_modules/micromark/lib/util/normalize-identifier.js new file mode 100644 index 00000000000000..0d9d7c0e18d7f8 --- /dev/null +++ b/tools/node_modules/eslint-plugin-markdown/node_modules/micromark/lib/util/normalize-identifier.js @@ -0,0 +1,23 @@ +'use strict' + +var values = require('../character/values.js') + +function normalizeIdentifier(value) { + return ( + value + // Collapse Markdown whitespace. + .replace(/[\t\n\r ]+/g, values.space) + // Trim. + .replace(/^ | $/g, '') + // Some characters are considered “uppercase”, but if their lowercase + // counterpart is uppercased will result in a different uppercase + // character. + // Hence, to get that form, we perform both lower- and uppercase. + // Upper case makes sure keys will not interact with default prototypal + // methods: no object method is uppercase. + .toLowerCase() + .toUpperCase() + ) +} + +module.exports = normalizeIdentifier diff --git a/tools/node_modules/eslint-plugin-markdown/node_modules/micromark/lib/util/normalize-identifier.mjs b/tools/node_modules/eslint-plugin-markdown/node_modules/micromark/lib/util/normalize-identifier.mjs new file mode 100644 index 00000000000000..2a383ae1156464 --- /dev/null +++ b/tools/node_modules/eslint-plugin-markdown/node_modules/micromark/lib/util/normalize-identifier.mjs @@ -0,0 +1,21 @@ +export default normalizeIdentifier + +import values from '../character/values.mjs' + +function normalizeIdentifier(value) { + return ( + value + // Collapse Markdown whitespace. + .replace(/[\t\n\r ]+/g, values.space) + // Trim. + .replace(/^ | $/g, '') + // Some characters are considered “uppercase”, but if their lowercase + // counterpart is uppercased will result in a different uppercase + // character. + // Hence, to get that form, we perform both lower- and uppercase. + // Upper case makes sure keys will not interact with default prototypal + // methods: no object method is uppercase. + .toLowerCase() + .toUpperCase() + ) +} diff --git a/tools/node_modules/eslint-plugin-markdown/node_modules/micromark/lib/util/normalize-uri.js b/tools/node_modules/eslint-plugin-markdown/node_modules/micromark/lib/util/normalize-uri.js new file mode 100644 index 00000000000000..e4a07c1df66bba --- /dev/null +++ b/tools/node_modules/eslint-plugin-markdown/node_modules/micromark/lib/util/normalize-uri.js @@ -0,0 +1,70 @@ +'use strict' + +var asciiAlphanumeric = require('../character/ascii-alphanumeric.js') +var codes = require('../character/codes.js') +var values = require('../character/values.js') +var fromCharCode = require('../constant/from-char-code.js') + +// Encode unsafe characters with percent-encoding, skipping already +// encoded sequences. +function normalizeUri(value) { + var index = -1 + var result = [] + var start = 0 + var skip = 0 + var code + var next + var replace + + while (++index < value.length) { + code = value.charCodeAt(index) + + // A correct percent encoded value. + if ( + code === codes.percentSign && + asciiAlphanumeric(value.charCodeAt(index + 1)) && + asciiAlphanumeric(value.charCodeAt(index + 2)) + ) { + skip = 2 + } + // ASCII. + else if (code < 128) { + if (!/[!#$&-;=?-Z_a-z~]/.test(fromCharCode(code))) { + replace = fromCharCode(code) + } + } + // Astral. + else if (code > 55295 && code < 57344) { + next = value.charCodeAt(index + 1) + + // A correct surrogate pair. + if (code < 56320 && next > 56319 && next < 57344) { + replace = fromCharCode(code, next) + skip = 1 + } + // Lone surrogate. + else { + replace = values.replacementCharacter + } + } + // Unicode. + else { + replace = fromCharCode(code) + } + + if (replace) { + result.push(value.slice(start, index), encodeURIComponent(replace)) + start = index + skip + 1 + replace = undefined + } + + if (skip) { + index += skip + skip = 0 + } + } + + return result.join('') + value.slice(start) +} + +module.exports = normalizeUri diff --git a/tools/node_modules/eslint-plugin-markdown/node_modules/micromark/lib/util/normalize-uri.mjs b/tools/node_modules/eslint-plugin-markdown/node_modules/micromark/lib/util/normalize-uri.mjs new file mode 100644 index 00000000000000..3102243354dab5 --- /dev/null +++ b/tools/node_modules/eslint-plugin-markdown/node_modules/micromark/lib/util/normalize-uri.mjs @@ -0,0 +1,68 @@ +export default normalizeUri + +import asciiAlphanumeric from '../character/ascii-alphanumeric.mjs' +import codes from '../character/codes.mjs' +import values from '../character/values.mjs' +import fromCharCode from '../constant/from-char-code.mjs' + +// Encode unsafe characters with percent-encoding, skipping already +// encoded sequences. +function normalizeUri(value) { + var index = -1 + var result = [] + var start = 0 + var skip = 0 + var code + var next + var replace + + while (++index < value.length) { + code = value.charCodeAt(index) + + // A correct percent encoded value. + if ( + code === codes.percentSign && + asciiAlphanumeric(value.charCodeAt(index + 1)) && + asciiAlphanumeric(value.charCodeAt(index + 2)) + ) { + skip = 2 + } + // ASCII. + else if (code < 128) { + if (!/[!#$&-;=?-Z_a-z~]/.test(fromCharCode(code))) { + replace = fromCharCode(code) + } + } + // Astral. + else if (code > 55295 && code < 57344) { + next = value.charCodeAt(index + 1) + + // A correct surrogate pair. + if (code < 56320 && next > 56319 && next < 57344) { + replace = fromCharCode(code, next) + skip = 1 + } + // Lone surrogate. + else { + replace = values.replacementCharacter + } + } + // Unicode. + else { + replace = fromCharCode(code) + } + + if (replace) { + result.push(value.slice(start, index), encodeURIComponent(replace)) + start = index + skip + 1 + replace = undefined + } + + if (skip) { + index += skip + skip = 0 + } + } + + return result.join('') + value.slice(start) +} diff --git a/tools/node_modules/eslint-plugin-markdown/node_modules/micromark/lib/util/prefix-size.js b/tools/node_modules/eslint-plugin-markdown/node_modules/micromark/lib/util/prefix-size.js new file mode 100644 index 00000000000000..a560e3e83a9215 --- /dev/null +++ b/tools/node_modules/eslint-plugin-markdown/node_modules/micromark/lib/util/prefix-size.js @@ -0,0 +1,11 @@ +'use strict' + +var sizeChunks = require('./size-chunks.js') + +function prefixSize(events, type) { + var tail = events[events.length - 1] + if (!tail || tail[1].type !== type) return 0 + return sizeChunks(tail[2].sliceStream(tail[1])) +} + +module.exports = prefixSize diff --git a/tools/node_modules/eslint-plugin-markdown/node_modules/micromark/lib/util/prefix-size.mjs b/tools/node_modules/eslint-plugin-markdown/node_modules/micromark/lib/util/prefix-size.mjs new file mode 100644 index 00000000000000..473e18a29c22d2 --- /dev/null +++ b/tools/node_modules/eslint-plugin-markdown/node_modules/micromark/lib/util/prefix-size.mjs @@ -0,0 +1,9 @@ +export default prefixSize + +import sizeChunks from './size-chunks.mjs' + +function prefixSize(events, type) { + var tail = events[events.length - 1] + if (!tail || tail[1].type !== type) return 0 + return sizeChunks(tail[2].sliceStream(tail[1])) +} diff --git a/tools/node_modules/eslint-plugin-markdown/node_modules/micromark/lib/util/regex-check.js b/tools/node_modules/eslint-plugin-markdown/node_modules/micromark/lib/util/regex-check.js new file mode 100644 index 00000000000000..895772e67d9219 --- /dev/null +++ b/tools/node_modules/eslint-plugin-markdown/node_modules/micromark/lib/util/regex-check.js @@ -0,0 +1,12 @@ +'use strict' + +var fromCharCode = require('../constant/from-char-code.js') + +function regexCheck(regex) { + return check + function check(code) { + return regex.test(fromCharCode(code)) + } +} + +module.exports = regexCheck diff --git a/tools/node_modules/eslint-plugin-markdown/node_modules/micromark/lib/util/regex-check.mjs b/tools/node_modules/eslint-plugin-markdown/node_modules/micromark/lib/util/regex-check.mjs new file mode 100644 index 00000000000000..f4bc0fd61ab00a --- /dev/null +++ b/tools/node_modules/eslint-plugin-markdown/node_modules/micromark/lib/util/regex-check.mjs @@ -0,0 +1,10 @@ +export default regexCheck + +import fromCharCode from '../constant/from-char-code.mjs' + +function regexCheck(regex) { + return check + function check(code) { + return regex.test(fromCharCode(code)) + } +} diff --git a/tools/node_modules/eslint-plugin-markdown/node_modules/micromark/lib/util/resolve-all.js b/tools/node_modules/eslint-plugin-markdown/node_modules/micromark/lib/util/resolve-all.js new file mode 100644 index 00000000000000..3e8d76b4a460a2 --- /dev/null +++ b/tools/node_modules/eslint-plugin-markdown/node_modules/micromark/lib/util/resolve-all.js @@ -0,0 +1,20 @@ +'use strict' + +function resolveAll(constructs, events, context) { + var called = [] + var index = -1 + var resolve + + while (++index < constructs.length) { + resolve = constructs[index].resolveAll + + if (resolve && called.indexOf(resolve) < 0) { + events = resolve(events, context) + called.push(resolve) + } + } + + return events +} + +module.exports = resolveAll diff --git a/tools/node_modules/eslint-plugin-markdown/node_modules/micromark/lib/util/resolve-all.mjs b/tools/node_modules/eslint-plugin-markdown/node_modules/micromark/lib/util/resolve-all.mjs new file mode 100644 index 00000000000000..1a70eebe9bef2f --- /dev/null +++ b/tools/node_modules/eslint-plugin-markdown/node_modules/micromark/lib/util/resolve-all.mjs @@ -0,0 +1,18 @@ +export default resolveAll + +function resolveAll(constructs, events, context) { + var called = [] + var index = -1 + var resolve + + while (++index < constructs.length) { + resolve = constructs[index].resolveAll + + if (resolve && called.indexOf(resolve) < 0) { + events = resolve(events, context) + called.push(resolve) + } + } + + return events +} diff --git a/tools/node_modules/eslint-plugin-markdown/node_modules/micromark/lib/util/safe-from-int.js b/tools/node_modules/eslint-plugin-markdown/node_modules/micromark/lib/util/safe-from-int.js new file mode 100644 index 00000000000000..e5e642892abb1c --- /dev/null +++ b/tools/node_modules/eslint-plugin-markdown/node_modules/micromark/lib/util/safe-from-int.js @@ -0,0 +1,32 @@ +'use strict' + +var codes = require('../character/codes.js') +var values = require('../character/values.js') +var fromCharCode = require('../constant/from-char-code.js') + +function safeFromInt(value, base) { + var code = parseInt(value, base) + + if ( + // C0 except for HT, LF, FF, CR, space + code < codes.ht || + code === codes.vt || + (code > codes.cr && code < codes.space) || + // Control character (DEL) of the basic block and C1 controls. + (code > codes.tilde && code < 160) || + // Lone high surrogates and low surrogates. + (code > 55295 && code < 57344) || + // Noncharacters. + (code > 64975 && code < 65008) || + (code & 65535) === 65535 || + (code & 65535) === 65534 || + // Out of range + code > 1114111 + ) { + return values.replacementCharacter + } + + return fromCharCode(code) +} + +module.exports = safeFromInt diff --git a/tools/node_modules/eslint-plugin-markdown/node_modules/micromark/lib/util/safe-from-int.mjs b/tools/node_modules/eslint-plugin-markdown/node_modules/micromark/lib/util/safe-from-int.mjs new file mode 100644 index 00000000000000..e218d4715685b8 --- /dev/null +++ b/tools/node_modules/eslint-plugin-markdown/node_modules/micromark/lib/util/safe-from-int.mjs @@ -0,0 +1,30 @@ +export default safeFromInt + +import codes from '../character/codes.mjs' +import values from '../character/values.mjs' +import fromCharCode from '../constant/from-char-code.mjs' + +function safeFromInt(value, base) { + var code = parseInt(value, base) + + if ( + // C0 except for HT, LF, FF, CR, space + code < codes.ht || + code === codes.vt || + (code > codes.cr && code < codes.space) || + // Control character (DEL) of the basic block and C1 controls. + (code > codes.tilde && code < 160) || + // Lone high surrogates and low surrogates. + (code > 55295 && code < 57344) || + // Noncharacters. + (code > 64975 && code < 65008) || + (code & 65535) === 65535 || + (code & 65535) === 65534 || + // Out of range + code > 1114111 + ) { + return values.replacementCharacter + } + + return fromCharCode(code) +} diff --git a/tools/node_modules/eslint-plugin-markdown/node_modules/micromark/lib/util/serialize-chunks.js b/tools/node_modules/eslint-plugin-markdown/node_modules/micromark/lib/util/serialize-chunks.js new file mode 100644 index 00000000000000..4d01d915561ee5 --- /dev/null +++ b/tools/node_modules/eslint-plugin-markdown/node_modules/micromark/lib/util/serialize-chunks.js @@ -0,0 +1,54 @@ +'use strict' + +var assert = require('assert') +var codes = require('../character/codes.js') +var values = require('../character/values.js') +var fromCharCode = require('../constant/from-char-code.js') + +function _interopDefaultLegacy(e) { + return e && typeof e === 'object' && 'default' in e ? e : {default: e} +} + +var assert__default = /*#__PURE__*/ _interopDefaultLegacy(assert) + +function serializeChunks(chunks) { + var index = -1 + var result = [] + var chunk + var value + var atTab + + while (++index < chunks.length) { + chunk = chunks[index] + + if (typeof chunk === 'string') { + value = chunk + } else if (chunk === codes.carriageReturn) { + value = values.cr + } else if (chunk === codes.lineFeed) { + value = values.lf + } else if (chunk === codes.carriageReturnLineFeed) { + value = values.cr + values.lf + } else if (chunk === codes.horizontalTab) { + value = values.ht + } else if (chunk === codes.virtualSpace) { + if (atTab) continue + value = values.space + } else { + assert__default['default'].equal( + typeof chunk, + 'number', + 'expected number' + ) + // Currently only replacement character. + value = fromCharCode(chunk) + } + + atTab = chunk === codes.horizontalTab + result.push(value) + } + + return result.join('') +} + +module.exports = serializeChunks diff --git a/tools/node_modules/eslint-plugin-markdown/node_modules/micromark/lib/util/serialize-chunks.mjs b/tools/node_modules/eslint-plugin-markdown/node_modules/micromark/lib/util/serialize-chunks.mjs new file mode 100644 index 00000000000000..42ab3a9a6b3ad6 --- /dev/null +++ b/tools/node_modules/eslint-plugin-markdown/node_modules/micromark/lib/util/serialize-chunks.mjs @@ -0,0 +1,42 @@ +export default serializeChunks + +import assert from 'assert' +import codes from '../character/codes.mjs' +import values from '../character/values.mjs' +import fromCharCode from '../constant/from-char-code.mjs' + +function serializeChunks(chunks) { + var index = -1 + var result = [] + var chunk + var value + var atTab + + while (++index < chunks.length) { + chunk = chunks[index] + + if (typeof chunk === 'string') { + value = chunk + } else if (chunk === codes.carriageReturn) { + value = values.cr + } else if (chunk === codes.lineFeed) { + value = values.lf + } else if (chunk === codes.carriageReturnLineFeed) { + value = values.cr + values.lf + } else if (chunk === codes.horizontalTab) { + value = values.ht + } else if (chunk === codes.virtualSpace) { + if (atTab) continue + value = values.space + } else { + assert.equal(typeof chunk, 'number', 'expected number') + // Currently only replacement character. + value = fromCharCode(chunk) + } + + atTab = chunk === codes.horizontalTab + result.push(value) + } + + return result.join('') +} diff --git a/tools/node_modules/eslint-plugin-markdown/node_modules/micromark/lib/util/shallow.js b/tools/node_modules/eslint-plugin-markdown/node_modules/micromark/lib/util/shallow.js new file mode 100644 index 00000000000000..f980ab99e4c090 --- /dev/null +++ b/tools/node_modules/eslint-plugin-markdown/node_modules/micromark/lib/util/shallow.js @@ -0,0 +1,9 @@ +'use strict' + +var assign = require('../constant/assign.js') + +function shallow(object) { + return assign({}, object) +} + +module.exports = shallow diff --git a/tools/node_modules/eslint-plugin-markdown/node_modules/micromark/lib/util/shallow.mjs b/tools/node_modules/eslint-plugin-markdown/node_modules/micromark/lib/util/shallow.mjs new file mode 100644 index 00000000000000..e121ccaa4a1095 --- /dev/null +++ b/tools/node_modules/eslint-plugin-markdown/node_modules/micromark/lib/util/shallow.mjs @@ -0,0 +1,7 @@ +export default shallow + +import assign from '../constant/assign.mjs' + +function shallow(object) { + return assign({}, object) +} diff --git a/tools/node_modules/eslint-plugin-markdown/node_modules/micromark/lib/util/size-chunks.js b/tools/node_modules/eslint-plugin-markdown/node_modules/micromark/lib/util/size-chunks.js new file mode 100644 index 00000000000000..6b2f5ec792e12a --- /dev/null +++ b/tools/node_modules/eslint-plugin-markdown/node_modules/micromark/lib/util/size-chunks.js @@ -0,0 +1,16 @@ +'use strict' + +// Measure the number of character codes in chunks. +// Counts tabs based on their expanded size, and CR+LF as one character. +function sizeChunks(chunks) { + var index = -1 + var size = 0 + + while (++index < chunks.length) { + size += typeof chunks[index] === 'string' ? chunks[index].length : 1 + } + + return size +} + +module.exports = sizeChunks diff --git a/tools/node_modules/eslint-plugin-markdown/node_modules/micromark/lib/util/size-chunks.mjs b/tools/node_modules/eslint-plugin-markdown/node_modules/micromark/lib/util/size-chunks.mjs new file mode 100644 index 00000000000000..d3305bbb61b8c3 --- /dev/null +++ b/tools/node_modules/eslint-plugin-markdown/node_modules/micromark/lib/util/size-chunks.mjs @@ -0,0 +1,14 @@ +export default sizeChunks + +// Measure the number of character codes in chunks. +// Counts tabs based on their expanded size, and CR+LF as one character. +function sizeChunks(chunks) { + var index = -1 + var size = 0 + + while (++index < chunks.length) { + size += typeof chunks[index] === 'string' ? chunks[index].length : 1 + } + + return size +} diff --git a/tools/node_modules/eslint-plugin-markdown/node_modules/micromark/lib/util/slice-chunks.js b/tools/node_modules/eslint-plugin-markdown/node_modules/micromark/lib/util/slice-chunks.js new file mode 100644 index 00000000000000..b52c8dcc9ee186 --- /dev/null +++ b/tools/node_modules/eslint-plugin-markdown/node_modules/micromark/lib/util/slice-chunks.js @@ -0,0 +1,43 @@ +'use strict' + +var assert = require('assert') + +function _interopDefaultLegacy(e) { + return e && typeof e === 'object' && 'default' in e ? e : {default: e} +} + +var assert__default = /*#__PURE__*/ _interopDefaultLegacy(assert) + +function sliceChunks(chunks, token) { + var startIndex = token.start._index + var startBufferIndex = token.start._bufferIndex + var endIndex = token.end._index + var endBufferIndex = token.end._bufferIndex + var view + + if (startIndex === endIndex) { + assert__default['default']( + endBufferIndex > -1, + 'expected non-negative end buffer index' + ) + assert__default['default']( + startBufferIndex > -1, + 'expected non-negative start buffer index' + ) + view = [chunks[startIndex].slice(startBufferIndex, endBufferIndex)] + } else { + view = chunks.slice(startIndex, endIndex) + + if (startBufferIndex > -1) { + view[0] = view[0].slice(startBufferIndex) + } + + if (endBufferIndex > 0) { + view.push(chunks[endIndex].slice(0, endBufferIndex)) + } + } + + return view +} + +module.exports = sliceChunks diff --git a/tools/node_modules/eslint-plugin-markdown/node_modules/micromark/lib/util/slice-chunks.mjs b/tools/node_modules/eslint-plugin-markdown/node_modules/micromark/lib/util/slice-chunks.mjs new file mode 100644 index 00000000000000..987bbe1db526d9 --- /dev/null +++ b/tools/node_modules/eslint-plugin-markdown/node_modules/micromark/lib/util/slice-chunks.mjs @@ -0,0 +1,29 @@ +export default sliceChunks + +import assert from 'assert' + +function sliceChunks(chunks, token) { + var startIndex = token.start._index + var startBufferIndex = token.start._bufferIndex + var endIndex = token.end._index + var endBufferIndex = token.end._bufferIndex + var view + + if (startIndex === endIndex) { + assert(endBufferIndex > -1, 'expected non-negative end buffer index') + assert(startBufferIndex > -1, 'expected non-negative start buffer index') + view = [chunks[startIndex].slice(startBufferIndex, endBufferIndex)] + } else { + view = chunks.slice(startIndex, endIndex) + + if (startBufferIndex > -1) { + view[0] = view[0].slice(startBufferIndex) + } + + if (endBufferIndex > 0) { + view.push(chunks[endIndex].slice(0, endBufferIndex)) + } + } + + return view +} diff --git a/tools/node_modules/eslint-plugin-markdown/node_modules/micromark/lib/util/subtokenize.js b/tools/node_modules/eslint-plugin-markdown/node_modules/micromark/lib/util/subtokenize.js new file mode 100644 index 00000000000000..9e7648c00fe79f --- /dev/null +++ b/tools/node_modules/eslint-plugin-markdown/node_modules/micromark/lib/util/subtokenize.js @@ -0,0 +1,219 @@ +'use strict' + +var assert = require('assert') +var codes = require('../character/codes.js') +var assign = require('../constant/assign.js') +var types = require('../constant/types.js') +var chunkedSplice = require('./chunked-splice.js') +var shallow = require('./shallow.js') + +function _interopDefaultLegacy(e) { + return e && typeof e === 'object' && 'default' in e ? e : {default: e} +} + +var assert__default = /*#__PURE__*/ _interopDefaultLegacy(assert) + +function subtokenize(events) { + var jumps = {} + var index = -1 + var event + var lineIndex + var otherIndex + var otherEvent + var parameters + var subevents + var more + + while (++index < events.length) { + while (index in jumps) { + index = jumps[index] + } + + event = events[index] + + // Add a hook for the GFM tasklist extension, which needs to know if text + // is in the first content of a list item. + if ( + index && + event[1].type === types.chunkFlow && + events[index - 1][1].type === types.listItemPrefix + ) { + subevents = event[1]._tokenizer.events + otherIndex = 0 + + if ( + otherIndex < subevents.length && + subevents[otherIndex][1].type === types.lineEndingBlank + ) { + otherIndex += 2 + } + + if ( + otherIndex < subevents.length && + subevents[otherIndex][1].type === types.content + ) { + while (++otherIndex < subevents.length) { + if (subevents[otherIndex][1].type === types.content) { + break + } + + if (subevents[otherIndex][1].type === types.chunkText) { + subevents[otherIndex][1].isInFirstContentOfListItem = true + otherIndex++ + } + } + } + } + + // Enter. + if (event[0] === 'enter') { + if (event[1].contentType) { + assign(jumps, subcontent(events, index)) + index = jumps[index] + more = true + } + } + // Exit. + else if (event[1]._container || event[1]._movePreviousLineEndings) { + otherIndex = index + lineIndex = undefined + + while (otherIndex--) { + otherEvent = events[otherIndex] + + if ( + otherEvent[1].type === types.lineEnding || + otherEvent[1].type === types.lineEndingBlank + ) { + if (otherEvent[0] === 'enter') { + if (lineIndex) { + events[lineIndex][1].type = types.lineEndingBlank + } + + otherEvent[1].type = types.lineEnding + lineIndex = otherIndex + } + } else { + break + } + } + + if (lineIndex) { + // Fix position. + event[1].end = shallow(events[lineIndex][1].start) + + // Switch container exit w/ line endings. + parameters = events.slice(lineIndex, index) + parameters.unshift(event) + chunkedSplice(events, lineIndex, index - lineIndex + 1, parameters) + } + } + } + + return !more +} + +function subcontent(events, eventIndex) { + var token = events[eventIndex][1] + var context = events[eventIndex][2] + var startPosition = eventIndex - 1 + var startPositions = [] + var tokenizer = + token._tokenizer || context.parser[token.contentType](token.start) + var childEvents = tokenizer.events + var jumps = [] + var gaps = {} + var stream + var previous + var index + var entered + var end + var adjust + + // Loop forward through the linked tokens to pass them in order to the + // subtokenizer. + while (token) { + // Find the position of the event for this token. + while (events[++startPosition][1] !== token) { + // Empty. + } + + startPositions.push(startPosition) + + if (!token._tokenizer) { + stream = context.sliceStream(token) + + if (!token.next) { + stream.push(codes.eof) + } + + if (previous) { + tokenizer.defineSkip(token.start) + } + + if (token.isInFirstContentOfListItem) { + tokenizer._gfmTasklistFirstContentOfListItem = true + } + + tokenizer.write(stream) + + if (token.isInFirstContentOfListItem) { + tokenizer._gfmTasklistFirstContentOfListItem = undefined + } + } + + // Unravel the next token. + previous = token + token = token.next + } + + // Now, loop back through all events (and linked tokens), to figure out which + // parts belong where. + token = previous + index = childEvents.length + + while (index--) { + // Make sure we’ve at least seen something (final eol is part of the last + // token). + if (childEvents[index][0] === 'enter') { + entered = true + } else if ( + // Find a void token that includes a break. + entered && + childEvents[index][1].type === childEvents[index - 1][1].type && + childEvents[index][1].start.line !== childEvents[index][1].end.line + ) { + add(childEvents.slice(index + 1, end)) + assert__default['default'](token.previous, 'expected a previous token') + // Help GC. + token._tokenizer = token.next = undefined + token = token.previous + end = index + 1 + } + } + + assert__default['default'](!token.previous, 'expected no previous token') + // Help GC. + tokenizer.events = token._tokenizer = token.next = undefined + + // Do head: + add(childEvents.slice(0, end)) + + index = -1 + adjust = 0 + + while (++index < jumps.length) { + gaps[adjust + jumps[index][0]] = adjust + jumps[index][1] + adjust += jumps[index][1] - jumps[index][0] - 1 + } + + return gaps + + function add(slice) { + var start = startPositions.pop() + jumps.unshift([start, start + slice.length - 1]) + chunkedSplice(events, start, 2, slice) + } +} + +module.exports = subtokenize diff --git a/tools/node_modules/eslint-plugin-markdown/node_modules/micromark/lib/util/subtokenize.mjs b/tools/node_modules/eslint-plugin-markdown/node_modules/micromark/lib/util/subtokenize.mjs new file mode 100644 index 00000000000000..7844130de419d2 --- /dev/null +++ b/tools/node_modules/eslint-plugin-markdown/node_modules/micromark/lib/util/subtokenize.mjs @@ -0,0 +1,211 @@ +export default subtokenize + +import assert from 'assert' +import codes from '../character/codes.mjs' +import assign from '../constant/assign.mjs' +import types from '../constant/types.mjs' +import chunkedSplice from './chunked-splice.mjs' +import shallow from './shallow.mjs' + +function subtokenize(events) { + var jumps = {} + var index = -1 + var event + var lineIndex + var otherIndex + var otherEvent + var parameters + var subevents + var more + + while (++index < events.length) { + while (index in jumps) { + index = jumps[index] + } + + event = events[index] + + // Add a hook for the GFM tasklist extension, which needs to know if text + // is in the first content of a list item. + if ( + index && + event[1].type === types.chunkFlow && + events[index - 1][1].type === types.listItemPrefix + ) { + subevents = event[1]._tokenizer.events + otherIndex = 0 + + if ( + otherIndex < subevents.length && + subevents[otherIndex][1].type === types.lineEndingBlank + ) { + otherIndex += 2 + } + + if ( + otherIndex < subevents.length && + subevents[otherIndex][1].type === types.content + ) { + while (++otherIndex < subevents.length) { + if (subevents[otherIndex][1].type === types.content) { + break + } + + if (subevents[otherIndex][1].type === types.chunkText) { + subevents[otherIndex][1].isInFirstContentOfListItem = true + otherIndex++ + } + } + } + } + + // Enter. + if (event[0] === 'enter') { + if (event[1].contentType) { + assign(jumps, subcontent(events, index)) + index = jumps[index] + more = true + } + } + // Exit. + else if (event[1]._container || event[1]._movePreviousLineEndings) { + otherIndex = index + lineIndex = undefined + + while (otherIndex--) { + otherEvent = events[otherIndex] + + if ( + otherEvent[1].type === types.lineEnding || + otherEvent[1].type === types.lineEndingBlank + ) { + if (otherEvent[0] === 'enter') { + if (lineIndex) { + events[lineIndex][1].type = types.lineEndingBlank + } + + otherEvent[1].type = types.lineEnding + lineIndex = otherIndex + } + } else { + break + } + } + + if (lineIndex) { + // Fix position. + event[1].end = shallow(events[lineIndex][1].start) + + // Switch container exit w/ line endings. + parameters = events.slice(lineIndex, index) + parameters.unshift(event) + chunkedSplice(events, lineIndex, index - lineIndex + 1, parameters) + } + } + } + + return !more +} + +function subcontent(events, eventIndex) { + var token = events[eventIndex][1] + var context = events[eventIndex][2] + var startPosition = eventIndex - 1 + var startPositions = [] + var tokenizer = + token._tokenizer || context.parser[token.contentType](token.start) + var childEvents = tokenizer.events + var jumps = [] + var gaps = {} + var stream + var previous + var index + var entered + var end + var adjust + + // Loop forward through the linked tokens to pass them in order to the + // subtokenizer. + while (token) { + // Find the position of the event for this token. + while (events[++startPosition][1] !== token) { + // Empty. + } + + startPositions.push(startPosition) + + if (!token._tokenizer) { + stream = context.sliceStream(token) + + if (!token.next) { + stream.push(codes.eof) + } + + if (previous) { + tokenizer.defineSkip(token.start) + } + + if (token.isInFirstContentOfListItem) { + tokenizer._gfmTasklistFirstContentOfListItem = true + } + + tokenizer.write(stream) + + if (token.isInFirstContentOfListItem) { + tokenizer._gfmTasklistFirstContentOfListItem = undefined + } + } + + // Unravel the next token. + previous = token + token = token.next + } + + // Now, loop back through all events (and linked tokens), to figure out which + // parts belong where. + token = previous + index = childEvents.length + + while (index--) { + // Make sure we’ve at least seen something (final eol is part of the last + // token). + if (childEvents[index][0] === 'enter') { + entered = true + } else if ( + // Find a void token that includes a break. + entered && + childEvents[index][1].type === childEvents[index - 1][1].type && + childEvents[index][1].start.line !== childEvents[index][1].end.line + ) { + add(childEvents.slice(index + 1, end)) + assert(token.previous, 'expected a previous token') + // Help GC. + token._tokenizer = token.next = undefined + token = token.previous + end = index + 1 + } + } + + assert(!token.previous, 'expected no previous token') + // Help GC. + tokenizer.events = token._tokenizer = token.next = undefined + + // Do head: + add(childEvents.slice(0, end)) + + index = -1 + adjust = 0 + + while (++index < jumps.length) { + gaps[adjust + jumps[index][0]] = adjust + jumps[index][1] + adjust += jumps[index][1] - jumps[index][0] - 1 + } + + return gaps + + function add(slice) { + var start = startPositions.pop() + jumps.unshift([start, start + slice.length - 1]) + chunkedSplice(events, start, 2, slice) + } +} diff --git a/tools/node_modules/eslint-plugin-markdown/node_modules/markdown-escapes/license b/tools/node_modules/eslint-plugin-markdown/node_modules/micromark/license similarity index 94% rename from tools/node_modules/eslint-plugin-markdown/node_modules/markdown-escapes/license rename to tools/node_modules/eslint-plugin-markdown/node_modules/micromark/license index 8d8660d36ef2ec..39372356c47d0f 100644 --- a/tools/node_modules/eslint-plugin-markdown/node_modules/markdown-escapes/license +++ b/tools/node_modules/eslint-plugin-markdown/node_modules/micromark/license @@ -1,6 +1,6 @@ (The MIT License) -Copyright (c) 2016 Titus Wormer +Copyright (c) 2020 Titus Wormer Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the diff --git a/tools/node_modules/eslint-plugin-markdown/node_modules/micromark/package.json b/tools/node_modules/eslint-plugin-markdown/node_modules/micromark/package.json new file mode 100644 index 00000000000000..b1b3941c2d1cd0 --- /dev/null +++ b/tools/node_modules/eslint-plugin-markdown/node_modules/micromark/package.json @@ -0,0 +1,208 @@ +{ + "name": "micromark", + "version": "2.11.4", + "description": "small commonmark compliant markdown parser with positional info and concrete tokens", + "license": "MIT", + "keywords": [ + "commonmark", + "compiler", + "gfm", + "html", + "lexer", + "markdown", + "markup", + "md", + "unified", + "parse", + "parser", + "plugin", + "process", + "remark", + "render", + "renderer", + "token", + "tokenizer" + ], + "repository": "micromark/micromark", + "bugs": "https://github.com/micromark/micromark/issues", + "funding": [ + { + "type": "GitHub Sponsors", + "url": "https://github.com/sponsors/unifiedjs" + }, + { + "type": "OpenCollective", + "url": "https://opencollective.com/unified" + } + ], + "author": "Titus Wormer (https://wooorm.com)", + "contributors": [ + "Titus Wormer (https://wooorm.com)", + "Bogdan Chadkin ", + "Christian Murphy ", + "Marouane Fazouane ", + "John Otander (https://johno.com)", + "Stephan Schneider ", + "Victor Felder (https://draft.li)", + "Mudit Ameta (https://mudit.xyz)", + "Merlijn Vos " + ], + "files": [ + "dist/", + "lib/", + "buffer.d.ts", + "buffer.js", + "buffer.mjs", + "index.js", + "index.mjs", + "index.d.ts", + "stream.d.ts", + "stream.js", + "stream.mjs" + ], + "main": "./index.js", + "types": "index.d.ts", + "dependencies": { + "debug": "^4.0.0", + "parse-entities": "^2.0.0" + }, + "devDependencies": { + "@babel/core": "^7.0.0", + "@rollup/plugin-babel": "^5.0.0", + "@rollup/plugin-commonjs": "^17.0.0", + "@rollup/plugin-node-resolve": "^11.0.0", + "@types/events": "^3.0.0", + "@unicode/unicode-13.0.0": "^1.0.0", + "babel-plugin-inline-constants": "^1.0.0", + "babel-plugin-unassert": "^3.0.0", + "babel-plugin-undebug": "^1.0.0", + "c8": "^7.0.0", + "character-entities": "^1.0.0", + "commonmark.json": "^0.29.0", + "concat-stream": "^2.0.0", + "cross-env": "^7.0.0", + "dtslint": "^4.0.0", + "eslint-plugin-es": "^4.0.0", + "eslint-plugin-security": "^1.0.0", + "esm": "^3.0.0", + "glob": "^7.0.0", + "gzip-size-cli": "^4.0.0", + "jsfuzz": "1.0.14", + "ms": "^2.0.0", + "patch-package": "^6.0.0", + "prettier": "^2.0.0", + "regenerate": "^1.0.0", + "remark-cli": "^9.0.0", + "remark-preset-wooorm": "^8.0.0", + "resolve-from": "^5.0.0", + "rollup": "^2.0.0", + "rollup-plugin-terser": "^7.0.0", + "tape": "^5.0.0", + "xo": "^0.37.0" + }, + "scripts": { + "generate-lib-types": "node --experimental-modules script/generate-constant-typings.mjs", + "generate-lib-expressions": "node --experimental-modules script/generate-expressions.mjs", + "generate-lib-cjs": "rollup -c --silent", + "generate-lib": "npm run generate-lib-types && npm run generate-lib-expressions && npm run generate-lib-cjs", + "generate-dist-types": "node --experimental-modules script/copy-dict.mjs", + "generate-dist-js": "cross-env BUILD=dist rollup -c --silent", + "generate-dist": "npm run generate-dist-types && npm run generate-dist-js", + "generate-size": "cross-env BUILD=size rollup -c --silent && gzip-size micromark.min.js && gzip-size --raw micromark.min.js", + "generate": "npm run generate-lib && npm run generate-dist && npm run generate-size", + "format": "remark . -qfo && prettier . -w --loglevel warn && xo --fix", + "pretest-fuzz": "patch-package --patch-dir script/patches && node script/generate-fixtures.mjs", + "test-fuzz": "cross-env NODE_OPTIONS=\"-r esm\" timeout 15m jsfuzz test/fuzz.js test/fixtures", + "test-api": "node --experimental-modules test/index.mjs", + "test-coverage": "c8 --check-coverage --lines 100 --functions 100 --branches 100 --reporter lcov node --experimental-modules test/index.mjs", + "test-types": "dtslint .", + "test": "npm run generate && npm run format && npm run test-coverage && npm run test-types" + }, + "prettier": { + "tabWidth": 2, + "useTabs": false, + "singleQuote": true, + "bracketSpacing": false, + "semi": false, + "trailingComma": "none" + }, + "xo": { + "esnext": false, + "extensions": [ + "mjs" + ], + "prettier": true, + "envs": [ + "shared-node-browser" + ], + "rules": { + "import/extensions": [ + "error", + "always" + ] + }, + "overrides": [ + { + "files": [ + "lib/**/*.{js,mjs}" + ], + "plugin": [ + "es" + ], + "extends": [ + "plugin:es/no-new-in-es2015", + "plugin:security/recommended" + ], + "rules": { + "complexity": "off", + "es/no-array-from": "off", + "es/no-object-assign": "off", + "es/no-modules": "off", + "import/no-mutable-exports": "off", + "import/no-anonymous-default-export": "off", + "guard-for-in": "off", + "max-depth": "off", + "no-multi-assign": "off", + "no-unmodified-loop-condition": "off", + "security/detect-object-injection": "off", + "unicorn/explicit-length-check": "off", + "unicorn/prefer-includes": "off", + "unicorn/prefer-number-properties": "off" + } + }, + { + "files": [ + "**/*.d.ts" + ], + "rules": { + "import/extensions": [ + "error", + "never" + ] + } + }, + { + "files": [ + "test/**/*.{js,mjs}" + ], + "rules": { + "import/no-unassigned-import": "off" + } + } + ], + "ignores": [ + "dist/", + "lib/**/*.js", + "micromark.test.ts" + ] + }, + "remarkConfig": { + "plugins": [ + "preset-wooorm", + [ + "lint-no-html", + false + ] + ] + } +} diff --git a/tools/node_modules/eslint-plugin-markdown/node_modules/micromark/readme.md b/tools/node_modules/eslint-plugin-markdown/node_modules/micromark/readme.md new file mode 100644 index 00000000000000..db7931df812739 --- /dev/null +++ b/tools/node_modules/eslint-plugin-markdown/node_modules/micromark/readme.md @@ -0,0 +1,737 @@ +

    + micromark +

    + +[![Build][build-badge]][build] +[![Coverage][coverage-badge]][coverage] +[![Downloads][downloads-badge]][downloads] +[![Size][bundle-size-badge]][bundle-size] +[![Sponsors][sponsors-badge]][opencollective] +[![Backers][backers-badge]][opencollective] +[![Chat][chat-badge]][chat] + +The smallest CommonMark compliant markdown parser with positional info and +concrete tokens. + +* [x] **[compliant][commonmark]** (100% to CommonMark) +* [x] **[extensions][]** ([GFM][], [directives][], [footnotes][], + [frontmatter][], [math][], [MDX.js][mdxjs]) +* [x] **[safe][security]** (by default) +* [x] **[small][size]** (smallest CM parser that exists) +* [x] **[robust][test]** (1800+ tests, 100% coverage, fuzz testing) + +## Intro + +micromark is a long awaited markdown parser. +It uses a [state machine][cmsm] to parse the entirety of markdown into concrete +tokens. +It’s the smallest 100% [CommonMark][] compliant markdown parser in JavaScript. +It was made to replace the internals of [`remark-parse`][remark-parse], the most +[popular][] markdown parser. +Its API compiles to HTML, but its parts are made to be used separately, so as to +generate syntax trees ([`mdast-util-from-markdown`][from-markdown]) or compile +to other output formats. +It’s in open beta: up next are [CMSM][] and CSTs. + +* for updates, see [Twitter][] +* for more about us, see [`unifiedjs.com`][site] +* for questions, see [Discussions][chat] +* to help, see [contribute][] or [sponsor][] below + +## Contents + +* [Install](#install) +* [Use](#use) +* [API](#api) + * [`micromark(doc[, encoding][, options])`](#micromarkdoc-encoding-options) + * [`micromarkStream(options?)`](#micromarkstreamoptions) +* [Extensions](#extensions) + * [`SyntaxExtension`](#syntaxextension) + * [`HtmlExtension`](#htmlextension) + * [List of extensions](#list-of-extensions) +* [Syntax tree](#syntax-tree) +* [CommonMark](#commonmark) +* [Grammar](#grammar) +* [Test](#test) +* [Size & debug](#size--debug) +* [Comparison](#comparison) +* [Version](#version) +* [Security](#security) +* [Contribute](#contribute) +* [Sponsor](#sponsor) +* [Origin story](#origin-story) +* [License](#license) + +## Install + +[npm][]: + +```sh +npm install micromark +``` + +## Use + +Typical use (buffering): + +```js +var micromark = require('micromark') + +console.log(micromark('## Hello, *world*!')) +``` + +Yields: + +```html +

    Hello, world!

    +``` + +The same can be done with ESM (in Node 10+, browsers that support it, or with a +bundler), in an `example.mjs` file, like so: + +```js +import micromark from 'micromark' + +console.log(micromark('## Hello, *world*!')) +``` + +You can pass extensions (in this case [`micromark-extension-gfm`][gfm]): + +```js +var micromark = require('micromark') +var gfmSyntax = require('micromark-extension-gfm') +var gfmHtml = require('micromark-extension-gfm/html') + +var doc = '* [x] contact@example.com ~~strikethrough~~' + +var result = micromark(doc, { + extensions: [gfmSyntax()], + htmlExtensions: [gfmHtml] +}) + +console.log(result) +``` + +Yields: + +```html + +``` + +Streaming interface: + +```js +var fs = require('fs') +var micromarkStream = require('micromark/stream') + +fs.createReadStream('example.md') + .on('error', handleError) + .pipe(micromarkStream()) + .pipe(process.stdout) + +function handleError(err) { + // Handle your error here! + throw err +} +``` + +## API + +This section documents the API. +The parts can be used separately, but this isn’t documented yet. + +### `micromark(doc[, encoding][, options])` + +Compile markdown to HTML. + +##### Parameters + +###### `doc` + +Markdown to parse (`string` or `Buffer`) + +###### `encoding` + +[Character encoding][encoding] to understand `doc` as when it’s a +[`Buffer`][buffer] (`string`, default: `'utf8'`). + +###### `options.defaultLineEnding` + +Value to use for line endings not in `doc` (`string`, default: first line +ending or `'\n'`). + +Generally, micromark copies line endings (`'\r'`, `'\n'`, `'\r\n'`) in the +markdown document over to the compiled HTML. +In some cases, such as `> a`, CommonMark requires that extra line endings are +added: `
    \n

    a

    \n
    `. + +###### `options.allowDangerousHtml` + +Whether to allow embedded HTML (`boolean`, default: `false`). + +###### `options.allowDangerousProtocol` + +Whether to allow potentially dangerous protocols in links and images (`boolean`, +default: `false`). +URLs relative to the current protocol are always allowed (such as, `image.jpg`). +For links, the allowed protocols are `http`, `https`, `irc`, `ircs`, `mailto`, +and `xmpp`. +For images, the allowed protocols are `http` and `https`. + +###### `options.extensions` + +Array of syntax extensions ([`Array.`][syntax-extension], +default: `[]`). + +###### `options.htmlExtensions` + +Array of HTML extensions ([`Array.`][html-extension], default: +`[]`). + +##### Returns + +`string` — Compiled HTML. + +### `micromarkStream(options?)` + +Streaming interface of micromark. +Compiles markdown to HTML. +`options` are the same as the buffering API above. +Available at `require('micromark/stream')`. +Note that some of the work to parse markdown can be done streaming, but in the +end buffering is required. + +micromark does not handle errors for you, so you must handle errors on whatever +streams you pipe into it. +As markdown does not know errors, `micromark` itself does not emit errors. + +## Extensions + +There are two types of extensions for micromark: +[`SyntaxExtension`][syntax-extension] and [`HtmlExtension`][html-extension]. +They can be passed in [`extensions`][option-extensions] or +[`htmlExtensions`][option-htmlextensions], respectively. + +### `SyntaxExtension` + +A syntax extension is an object whose fields are the names of hooks, referring +to where constructs “hook” into. +`content` (a block of, well, content: definitions and paragraphs), `document` +(containers such as block quotes and lists), `flow` (block constructs such as +ATX and setext headings, HTML, indented and fenced code, thematic breaks), +`string` (things that work in a few places such as destinations, fenced code +info, etc: character escapes and -references), or `text` (rich inline text: +autolinks, character escapes and -references, code, hard breaks, HTML, images, +links, emphasis, strong). + +The fields at such objects are character codes, mapping to constructs as values. +The built in [constructs][] are an extension. +See it and the [existing extensions][extensions] for inspiration. + +### `HtmlExtension` + +An HTML extension is an object whose fields are either `enter` or `exit` +(reflecting whether a token is entered or exited). +The values at such objects are names of tokens mapping to handlers. +See the [existing extensions][extensions] for inspiration. + +### List of extensions + +* [`micromark/micromark-extension-directive`][directives] + — support directives (generic extensions) +* [`micromark/micromark-extension-footnote`][footnotes] + — support footnotes +* [`micromark/micromark-extension-frontmatter`][frontmatter] + — support frontmatter (YAML, TOML, etc) +* [`micromark/micromark-extension-gfm`][gfm] + — support GFM (GitHub Flavored Markdown) +* [`micromark/micromark-extension-gfm-autolink-literal`](https://github.com/micromark/micromark-extension-gfm-autolink-literal) + — support GFM autolink literals +* [`micromark/micromark-extension-gfm-strikethrough`](https://github.com/micromark/micromark-extension-gfm-strikethrough) + — support GFM strikethrough +* [`micromark/micromark-extension-gfm-table`](https://github.com/micromark/micromark-extension-gfm-table) + — support GFM tables +* [`micromark/micromark-extension-gfm-tagfilter`](https://github.com/micromark/micromark-extension-gfm-tagfilter) + — support GFM tagfilter +* [`micromark/micromark-extension-gfm-task-list-item`](https://github.com/micromark/micromark-extension-gfm-task-list-item) + — support GFM tasklists +* [`micromark/micromark-extension-math`][math] + — support math +* [`micromark/micromark-extension-mdx`](https://github.com/micromark/micromark-extension-mdx) + — support MDX +* [`micromark/micromark-extension-mdxjs`][mdxjs] + — support MDX.js +* [`micromark/micromark-extension-mdx-expression`](https://github.com/micromark/micromark-extension-mdx-expression) + — support MDX (or MDX.js) expressions +* [`micromark/micromark-extension-mdx-jsx`](https://github.com/micromark/micromark-extension-mdx-jsx) + — support MDX (or MDX.js) JSX +* [`micromark/micromark-extension-mdx-md`](https://github.com/micromark/micromark-extension-mdx-md) + — support misc MDX changes +* [`micromark/micromark-extension-mdxjs-esm`](https://github.com/micromark/micromark-extension-mdxjs-esm) + — support MDX.js import/exports + +## Syntax tree + +A higher level project, [`mdast-util-from-markdown`][from-markdown], can give +you an AST. + +```js +var fromMarkdown = require('mdast-util-from-markdown') + +var result = fromMarkdown('## Hello, *world*!') + +console.log(result.children[0]) +``` + +Yields: + +```js +{ + type: 'heading', + depth: 2, + children: [ + {type: 'text', value: 'Hello, ', position: [Object]}, + {type: 'emphasis', children: [Array], position: [Object]}, + {type: 'text', value: '!', position: [Object]} + ], + position: { + start: {line: 1, column: 1, offset: 0}, + end: {line: 1, column: 19, offset: 18} + } +} +``` + +Another level up is [**remark**][remark], which provides a nice interface and +hundreds of plugins. + +## CommonMark + +The first definition of “Markdown” gave several examples of how it worked, +showing input Markdown and output HTML, and came with a reference implementation +(`Markdown.pl`). +When new implementations followed, they mostly followed the first definition, +but deviated from the first implementation, and added extensions, thus making +the format a family of formats. + +Some years later, an attempt was made to standardize the differences between +implementations, by specifying how several edge cases should be handled, through +more input and output examples. +This is known as [CommonMark][commonmark-spec], and many implementations now +work towards some degree of CommonMark compliancy. +Still, CommonMark describes what the output in HTML should be given some +input, which leaves many edge cases up for debate, and does not answer what +should happen for other output formats. + +micromark passes all tests from CommonMark and has many more tests to match the +CommonMark reference parsers. +Finally, it comes with [CMSM][], which describes how to parse markup, instead +of documenting input and output examples. + +## Grammar + +The syntax of markdown can be described in Backus–Naur form (BNF) as: + +```bnf +markdown = .* +``` + +No, that’s not a [typo](http://trevorjim.com/a-specification-for-markdown/): +markdown has no syntax errors; anything thrown at it renders *something*. + +## Test + +micromark is tested with the \~650 CommonMark tests and more than 1.2k extra +tests confirmed with CM reference parsers. +These tests reach all branches in the code, thus this project has 100% coverage. +Finally, we use fuzz testing to ensure micromark is stable, reliable, and +secure. + +To build, format, and test the codebase, use `$ npm test` after clone and +install. +The `$ npm run test-api` and `$ npm run test-coverage` scripts check the unit +tests and their coverage, respectively. +The `$ npm run test-types` script checks TypeScript definitions. + +The `$ npm run test-fuzz` script does fuzz testing for 15 minutes. +The timeout is provided by GNU coreutils **timeout(1)**, which might not be +available on your system. +Either install it or remove it from the script. + +## Size & debug + +micromark is really small. +A ton of time went into making sure it minifies well, by the way code is written +but also through custom build scripts to pre-evaluate certain expressions. +Furthermore, care went into making it compress well with GZip and Brotli. + +Normally, you’ll use the pre-evaluated version of micromark, which is published +in the `dist/` folder and has entries in the root. +While developing or debugging, you can switch to use the source, which is +published in the `lib/` folder, and comes instrumented with assertions and debug +messages. +To see debug messages, run your script with a `DEBUG` env variable, such as with +`DEBUG="micromark" node script.js`. + +To generate the codebase, use `$ npm run generate` after clone and install. +The `$ npm run generate-dist` script specifically takes `lib/` and generates +`dist/`. +The `$ npm run generate-size` script checks the bundle size of `dist/`. + +## Comparison + +There are many other markdown parsers out there, and maybe they’re better suited +to your use case! +Here is a short comparison of a couple of ’em in JavaScript. +Note that this list is made by the folks who make `micromark` and `remark`, so +there is some bias. + +**Note**: these are, in fact, not really comparable: micromark (and remark) +focus on completely different things than other markdown parsers do. +Sure, you can generate HTML from markdown with them, but micromark (and remark) +are created for (abstract or concrete) syntax trees—to inspect, transform, and +generate content, so that you can make things like [MDX][], [Prettier][], or +[Gatsby][]. + +###### micromark + +micromark can be used in two different ways. +It can either be used, optionally with existing extensions, to get HTML pretty +easily. +Or, it can give tremendous power, such as access to all tokens with positional +info, at the cost of being hard to get into. +It’s super small, pretty fast, and has 100% CommonMark compliance. +It has syntax extensions, such as supporting 100% GFM compliance (with +`micromark-extension-gfm`), but they’re rather complex to write. +It’s the newest parser on the block. + +If you’re looking for fine grained control, use micromark. + +###### remark + +[remark][] is the most popular markdown parser. +It’s built on top of `micromark` and boasts syntax trees. +For an analogy, it’s like if Babel, ESLint, and more, were one project. +It supports the syntax extensions that micromark has (so it’s 100% CM compliant +and can be 100% GFM compliant), but most of the work is done in plugins that +transform or inspect the tree. +Transforming the tree is relatively easy: it’s a JSON object that can be +manipulated directly. +remark is stable, widely used, and extremely powerful for handling complex data. + +If you’re looking to inspect or transform lots of content, use [remark][]. + +###### marked + +[marked][] is the oldest markdown parser on the block. +It’s been around for ages, is battle tested, small, popular, and has a bunch of +extensions, but doesn’t match CommonMark or GFM, and is unsafe by default. + +If you have markdown you trust and want to turn it into HTML without a fuss, use +[marked][]. + +###### markdown-it + +[markdown-it][] is a good, stable, and essentially CommonMark compliant markdown +parser, with (optional) support for some GFM features as well. +It’s used a lot as a direct dependency in packages, but is rather big. +It shines at syntax extensions, where you want to support not just markdown, but +*your* (company’s) version of markdown. + +If you’re in Node and have CommonMark-compliant (or funky) markdown and want to +turn it into HTML, use [markdown-it][]. + +###### Others + +There are lots of other markdown parsers! +Some say they’re small, or fast, or that they’re CommonMark compliant — but +that’s not always true. +This list is not supposed to be exhaustive. +This list of markdown parsers is a snapshot in time of why (not) to use +(alternatives to) `micromark`: they’re all good choices, depending on what your +goals are. + +## Version + +The open beta of micromark starts at version `2.0.0` (there was a different +package published on npm as `micromark` before). +micromark will adhere to semver at `3.0.0`. +Use tilde ranges for now: `"micromark": "~2.10.1"`. + +## Security + +The typical security aspect discussed for markdown is [cross-site scripting +(XSS)][xss] attacks. +It’s safe to compile markdown to HTML if it does not include embedded HTML nor +uses dangerous protocols in links (such as `javascript:` or `data:`). +micromark is safe by default when embedded HTML or dangerous protocols are used +too, as it encodes or drops them. +Turning on the `allowDangerousHtml` or `allowDangerousProtocol` options for +user-provided markdown opens you up to XSS attacks. + +Another aspect is DDoS attacks. +For example, an attacker could throw a 100mb file at micromark, in which case +the JavaScript engine will run out of memory and crash. +It is also possible to crash micromark with smaller payloads, notably when +thousands of links, images, emphasis, or strong are opened but not closed. +It is wise to cap the accepted size of input (500kb can hold a big book) and to +process content in a different thread or worker so that it can be stopped when +needed. + +Using extensions might also be unsafe, refer to their documentation for more +information. + +For more information on markdown sanitation, see +[`improper-markup-sanitization.md`][improper] by [**@chalker**][chalker]. + +See [`security.md`][securitymd] in [`micromark/.github`][health] for how to +submit a security report. + +## Contribute + +See [`contributing.md`][contributing] in [`micromark/.github`][health] for ways +to get started. +See [`support.md`][support] for ways to get help. + +This project has a [code of conduct][coc]. +By interacting with this repository, organisation, or community you agree to +abide by its terms. + +## Sponsor + +Support this effort and give back by sponsoring on [OpenCollective][]! + + + + + + + + + + + + + + + + + +
    +
    + Salesforce 🏅

    + +
    + Gatsby 🥇

    + +
    + Vercel 🥇

    + +
    + Netlify

    + + +
    + Holloway

    + +
    + ThemeIsle

    + +
    + Boost Hub

    + +
    + Expo

    + +
    +
    + You? +

    +
    + +## Origin story + +Over the summer of 2018, micromark was planned, and the idea shared in August +with a couple of friends and potential sponsors. +The problem I (**[@wooorm][]**) had was that issues were piling up in remark and +other repos, but my day job (teaching) was fun, fulfilling, and deserved time +too. +It was getting hard to combine the two. +The thought was to feed two birds with one scone: fix the issues in remark with +a new markdown parser (codename marydown) while being financially supported by +sponsors building fancy stuff on top, such as Gatsby, Contentful, and Vercel +(ZEIT at the time). +**[@johno][]** was making MDX on top of remark at the time (important historical +note: several other folks were working on JSX + markdown too). +We bundled our strengths: MDX was getting some traction and we thought together +we could perhaps make something sustainable. + +In November 2018, we launched with the idea for micromark to solve all existing +bugs, sustaining the existing hundreds of projects, and furthering the exciting +high-level project MDX. +We pushed a single name: unified (which back then was a small but essential +part of the chain). +Gatsby and Vercel were immediate sponsors. +We didn’t know whether it would work, and it worked. +But now you have a new problem: you are getting some financial support (much +more than other open source projects) but it’s not enough money for rent, and +too much money to print stickers with. +You still have your job and issues are still piling up. + +At the start of summer 2019, after a couple months of saving up donations, I +quit my job and worked on unified through fall. +That got the number of open issues down significantly and set up a strong +governance and maintenance system for the collective. +But when the time came to work on micromark, the money was gone again, so I +contracted through winter 2019, and in spring 2020 I could do about half open +source, half contracting. +One of the contracting gigs was to write a new MDX parser, for which I also +documented how to do that with a state machine [in prose][mdx-cmsm]. +That gave me the insight into how the same could be done for markdown: I drafted +[CMSM][], which was some of the core ideas for micromark, but in prose. + +In May 2020, Salesforce reached out: they saw the bugs in remark, how micromark +could help, and the initial work on CMSM. +And they had thousands of Markdown files. +In a for open source uncharacteristic move, they decided to fund my work on +micromark. +A large part of what maintaining open source means, is putting out fires, +triaging issues, and making sure users and sponsors are happy, so it was +amazing to get several months to just focus and make something new. +I remember feeling that this project would probably be the hardest thing I’d +work on: yeah, parsers are pretty difficult, but markdown is on another level. +Markdown is such a giant stack of edge cases on edge cases on even more +weirdness, what a mess. +On August 20, 2020, I released [2.0.0][200], the first working version of +micromark. +And it’s hard to describe how that moment felt. +It was great. + +## License + +[MIT][license] © [Titus Wormer][author] + + + +[build-badge]: https://github.com/micromark/micromark/workflows/main/badge.svg + +[build]: https://github.com/micromark/micromark/actions + +[coverage-badge]: https://img.shields.io/codecov/c/github/micromark/micromark.svg + +[coverage]: https://codecov.io/github/micromark/micromark + +[downloads-badge]: https://img.shields.io/npm/dm/micromark.svg + +[downloads]: https://www.npmjs.com/package/micromark + +[bundle-size-badge]: https://img.shields.io/bundlephobia/minzip/micromark.svg + +[bundle-size]: https://bundlephobia.com/result?p=micromark + +[sponsors-badge]: https://opencollective.com/unified/sponsors/badge.svg + +[backers-badge]: https://opencollective.com/unified/backers/badge.svg + +[opencollective]: https://opencollective.com/unified + +[npm]: https://docs.npmjs.com/cli/install + +[chat-badge]: https://img.shields.io/badge/chat-discussions-success.svg + +[chat]: https://github.com/micromark/micromark/discussions + +[license]: license + +[author]: https://wooorm.com + +[health]: https://github.com/micromark/.github + +[xss]: https://en.wikipedia.org/wiki/Cross-site_scripting + +[securitymd]: https://github.com/micromark/.github/blob/HEAD/security.md + +[contributing]: https://github.com/micromark/.github/blob/HEAD/contributing.md + +[support]: https://github.com/micromark/.github/blob/HEAD/support.md + +[coc]: https://github.com/micromark/.github/blob/HEAD/code-of-conduct.md + +[twitter]: https://twitter.com/unifiedjs + +[remark]: https://github.com/remarkjs/remark + +[site]: https://unifiedjs.com + +[contribute]: #contribute + +[encoding]: https://nodejs.org/api/buffer.html#buffer_buffers_and_character_encodings + +[buffer]: https://nodejs.org/api/buffer.html + +[commonmark-spec]: https://commonmark.org + +[popular]: https://www.npmtrends.com/remark-parse-vs-marked-vs-markdown-it + +[remark-parse]: https://unifiedjs.com/explore/package/remark-parse/ + +[improper]: https://github.com/ChALkeR/notes/blob/master/Improper-markup-sanitization.md + +[chalker]: https://github.com/ChALkeR + +[cmsm]: https://github.com/micromark/common-markup-state-machine + +[mdx-cmsm]: https://github.com/micromark/mdx-state-machine + +[from-markdown]: https://github.com/syntax-tree/mdast-util-from-markdown + +[directives]: https://github.com/micromark/micromark-extension-directive + +[footnotes]: https://github.com/micromark/micromark-extension-footnote + +[frontmatter]: https://github.com/micromark/micromark-extension-frontmatter + +[gfm]: https://github.com/micromark/micromark-extension-gfm + +[math]: https://github.com/micromark/micromark-extension-math + +[mdxjs]: https://github.com/micromark/micromark-extension-mdxjs + +[constructs]: lib/constructs.mjs + +[extensions]: #list-of-extensions + +[syntax-extension]: #syntaxextension + +[html-extension]: #htmlextension + +[option-extensions]: #optionsextensions + +[option-htmlextensions]: #optionshtmlextensions + +[marked]: https://github.com/markedjs/marked + +[markdown-it]: https://github.com/markdown-it/markdown-it + +[mdx]: https://github.com/mdx-js/mdx + +[prettier]: https://github.com/prettier/prettier + +[gatsby]: https://github.com/gatsbyjs/gatsby + +[commonmark]: #commonmark + +[size]: #size--debug + +[test]: #test + +[security]: #security + +[sponsor]: #sponsor + +[@wooorm]: https://github.com/wooorm + +[@johno]: https://github.com/johno + +[200]: https://github.com/micromark/micromark/releases/tag/2.0.0 diff --git a/tools/node_modules/eslint-plugin-markdown/node_modules/micromark/stream.js b/tools/node_modules/eslint-plugin-markdown/node_modules/micromark/stream.js new file mode 100644 index 00000000000000..e90ff8f6c656ef --- /dev/null +++ b/tools/node_modules/eslint-plugin-markdown/node_modules/micromark/stream.js @@ -0,0 +1,3 @@ +'use strict' + +module.exports = require('./dist/stream.js') diff --git a/tools/node_modules/eslint-plugin-markdown/node_modules/micromark/stream.mjs b/tools/node_modules/eslint-plugin-markdown/node_modules/micromark/stream.mjs new file mode 100644 index 00000000000000..e33b22880b736b --- /dev/null +++ b/tools/node_modules/eslint-plugin-markdown/node_modules/micromark/stream.mjs @@ -0,0 +1 @@ +export {default} from './dist/stream.js' diff --git a/tools/node_modules/eslint-plugin-markdown/node_modules/ms/index.js b/tools/node_modules/eslint-plugin-markdown/node_modules/ms/index.js new file mode 100644 index 00000000000000..c4498bcc212589 --- /dev/null +++ b/tools/node_modules/eslint-plugin-markdown/node_modules/ms/index.js @@ -0,0 +1,162 @@ +/** + * Helpers. + */ + +var s = 1000; +var m = s * 60; +var h = m * 60; +var d = h * 24; +var w = d * 7; +var y = d * 365.25; + +/** + * Parse or format the given `val`. + * + * Options: + * + * - `long` verbose formatting [false] + * + * @param {String|Number} val + * @param {Object} [options] + * @throws {Error} throw an error if val is not a non-empty string or a number + * @return {String|Number} + * @api public + */ + +module.exports = function(val, options) { + options = options || {}; + var type = typeof val; + if (type === 'string' && val.length > 0) { + return parse(val); + } else if (type === 'number' && isFinite(val)) { + return options.long ? fmtLong(val) : fmtShort(val); + } + throw new Error( + 'val is not a non-empty string or a valid number. val=' + + JSON.stringify(val) + ); +}; + +/** + * Parse the given `str` and return milliseconds. + * + * @param {String} str + * @return {Number} + * @api private + */ + +function parse(str) { + str = String(str); + if (str.length > 100) { + return; + } + var match = /^(-?(?:\d+)?\.?\d+) *(milliseconds?|msecs?|ms|seconds?|secs?|s|minutes?|mins?|m|hours?|hrs?|h|days?|d|weeks?|w|years?|yrs?|y)?$/i.exec( + str + ); + if (!match) { + return; + } + var n = parseFloat(match[1]); + var type = (match[2] || 'ms').toLowerCase(); + switch (type) { + case 'years': + case 'year': + case 'yrs': + case 'yr': + case 'y': + return n * y; + case 'weeks': + case 'week': + case 'w': + return n * w; + case 'days': + case 'day': + case 'd': + return n * d; + case 'hours': + case 'hour': + case 'hrs': + case 'hr': + case 'h': + return n * h; + case 'minutes': + case 'minute': + case 'mins': + case 'min': + case 'm': + return n * m; + case 'seconds': + case 'second': + case 'secs': + case 'sec': + case 's': + return n * s; + case 'milliseconds': + case 'millisecond': + case 'msecs': + case 'msec': + case 'ms': + return n; + default: + return undefined; + } +} + +/** + * Short format for `ms`. + * + * @param {Number} ms + * @return {String} + * @api private + */ + +function fmtShort(ms) { + var msAbs = Math.abs(ms); + if (msAbs >= d) { + return Math.round(ms / d) + 'd'; + } + if (msAbs >= h) { + return Math.round(ms / h) + 'h'; + } + if (msAbs >= m) { + return Math.round(ms / m) + 'm'; + } + if (msAbs >= s) { + return Math.round(ms / s) + 's'; + } + return ms + 'ms'; +} + +/** + * Long format for `ms`. + * + * @param {Number} ms + * @return {String} + * @api private + */ + +function fmtLong(ms) { + var msAbs = Math.abs(ms); + if (msAbs >= d) { + return plural(ms, msAbs, d, 'day'); + } + if (msAbs >= h) { + return plural(ms, msAbs, h, 'hour'); + } + if (msAbs >= m) { + return plural(ms, msAbs, m, 'minute'); + } + if (msAbs >= s) { + return plural(ms, msAbs, s, 'second'); + } + return ms + ' ms'; +} + +/** + * Pluralization helper. + */ + +function plural(ms, msAbs, n, name) { + var isPlural = msAbs >= n * 1.5; + return Math.round(ms / n) + ' ' + name + (isPlural ? 's' : ''); +} diff --git a/tools/node_modules/eslint-plugin-markdown/node_modules/replace-ext/LICENSE b/tools/node_modules/eslint-plugin-markdown/node_modules/ms/license.md old mode 100755 new mode 100644 similarity index 89% rename from tools/node_modules/eslint-plugin-markdown/node_modules/replace-ext/LICENSE rename to tools/node_modules/eslint-plugin-markdown/node_modules/ms/license.md index fd38d69351565d..69b61253a38926 --- a/tools/node_modules/eslint-plugin-markdown/node_modules/replace-ext/LICENSE +++ b/tools/node_modules/eslint-plugin-markdown/node_modules/ms/license.md @@ -1,6 +1,6 @@ The MIT License (MIT) -Copyright (c) 2014 Blaine Bublitz , Eric Schoffstall and other contributors +Copyright (c) 2016 Zeit, Inc. Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal diff --git a/tools/node_modules/eslint-plugin-markdown/node_modules/ms/package.json b/tools/node_modules/eslint-plugin-markdown/node_modules/ms/package.json new file mode 100644 index 00000000000000..eea666e1fb03d6 --- /dev/null +++ b/tools/node_modules/eslint-plugin-markdown/node_modules/ms/package.json @@ -0,0 +1,37 @@ +{ + "name": "ms", + "version": "2.1.2", + "description": "Tiny millisecond conversion utility", + "repository": "zeit/ms", + "main": "./index", + "files": [ + "index.js" + ], + "scripts": { + "precommit": "lint-staged", + "lint": "eslint lib/* bin/*", + "test": "mocha tests.js" + }, + "eslintConfig": { + "extends": "eslint:recommended", + "env": { + "node": true, + "es6": true + } + }, + "lint-staged": { + "*.js": [ + "npm run lint", + "prettier --single-quote --write", + "git add" + ] + }, + "license": "MIT", + "devDependencies": { + "eslint": "4.12.1", + "expect.js": "0.3.1", + "husky": "0.14.3", + "lint-staged": "5.0.0", + "mocha": "4.0.1" + } +} diff --git a/tools/node_modules/eslint-plugin-markdown/node_modules/ms/readme.md b/tools/node_modules/eslint-plugin-markdown/node_modules/ms/readme.md new file mode 100644 index 00000000000000..9a1996b17e0de6 --- /dev/null +++ b/tools/node_modules/eslint-plugin-markdown/node_modules/ms/readme.md @@ -0,0 +1,60 @@ +# ms + +[![Build Status](https://travis-ci.org/zeit/ms.svg?branch=master)](https://travis-ci.org/zeit/ms) +[![Join the community on Spectrum](https://withspectrum.github.io/badge/badge.svg)](https://spectrum.chat/zeit) + +Use this package to easily convert various time formats to milliseconds. + +## Examples + +```js +ms('2 days') // 172800000 +ms('1d') // 86400000 +ms('10h') // 36000000 +ms('2.5 hrs') // 9000000 +ms('2h') // 7200000 +ms('1m') // 60000 +ms('5s') // 5000 +ms('1y') // 31557600000 +ms('100') // 100 +ms('-3 days') // -259200000 +ms('-1h') // -3600000 +ms('-200') // -200 +``` + +### Convert from Milliseconds + +```js +ms(60000) // "1m" +ms(2 * 60000) // "2m" +ms(-3 * 60000) // "-3m" +ms(ms('10 hours')) // "10h" +``` + +### Time Format Written-Out + +```js +ms(60000, { long: true }) // "1 minute" +ms(2 * 60000, { long: true }) // "2 minutes" +ms(-3 * 60000, { long: true }) // "-3 minutes" +ms(ms('10 hours'), { long: true }) // "10 hours" +``` + +## Features + +- Works both in [Node.js](https://nodejs.org) and in the browser +- If a number is supplied to `ms`, a string with a unit is returned +- If a string that contains the number is supplied, it returns it as a number (e.g.: it returns `100` for `'100'`) +- If you pass a string with a number and a valid unit, the number of equivalent milliseconds is returned + +## Related Packages + +- [ms.macro](https://github.com/knpwrs/ms.macro) - Run `ms` as a macro at build-time. + +## Caught a Bug? + +1. [Fork](https://help.github.com/articles/fork-a-repo/) this repository to your own GitHub account and then [clone](https://help.github.com/articles/cloning-a-repository/) it to your local device +2. Link the package to the global module directory: `npm link` +3. Within the module you want to test your local development instance of ms, just link it to the dependencies: `npm link ms`. Instead of the default one from npm, Node.js will now use your clone of ms! + +As always, you can run the tests using: `npm test` diff --git a/tools/node_modules/eslint-plugin-markdown/node_modules/parse-entities/index.js b/tools/node_modules/eslint-plugin-markdown/node_modules/parse-entities/index.js index 1606d02f6590c5..106d6d86d4ce5e 100644 --- a/tools/node_modules/eslint-plugin-markdown/node_modules/parse-entities/index.js +++ b/tools/node_modules/eslint-plugin-markdown/node_modules/parse-entities/index.js @@ -30,15 +30,15 @@ var defaults = { // Characters. var tab = 9 // '\t' var lineFeed = 10 // '\n' -var formFeed = 12 // '\f' +var formFeed = 12 // '\f' var space = 32 // ' ' -var ampersand = 38 // '&' -var semicolon = 59 // ';' -var lessThan = 60 // '<' -var equalsTo = 61 // '=' -var numberSign = 35 // '#' -var uppercaseX = 88 // 'X' -var lowercaseX = 120 // 'x' +var ampersand = 38 // '&' +var semicolon = 59 // ';' +var lessThan = 60 // '<' +var equalsTo = 61 // '=' +var numberSign = 35 // '#' +var uppercaseX = 88 // 'X' +var lowercaseX = 120 // 'x' var replacementCharacter = 65533 // '�' // Reference types. @@ -160,7 +160,8 @@ function parse(value, settings) { // Wrap `handleWarning`. warning = handleWarning ? parseError : noop - // Ensure the algorithm walks over the first character and the end (inclusive). + // Ensure the algorithm walks over the first character and the end + // (inclusive). index-- length++ @@ -393,7 +394,7 @@ function parse(value, settings) { } } - // Return the reduced nodes, and any possible warnings. + // Return the reduced nodes. return result.join('') // Get current position. diff --git a/tools/node_modules/eslint-plugin-markdown/node_modules/parse-entities/package.json b/tools/node_modules/eslint-plugin-markdown/node_modules/parse-entities/package.json index a5e1bc46f6a9ba..60e191fff0a2fc 100644 --- a/tools/node_modules/eslint-plugin-markdown/node_modules/parse-entities/package.json +++ b/tools/node_modules/eslint-plugin-markdown/node_modules/parse-entities/package.json @@ -1,6 +1,6 @@ { "name": "parse-entities", - "version": "1.2.2", + "version": "2.0.0", "description": "Parse HTML character references: fast, spec-compliant, positional information", "license": "MIT", "keywords": [ @@ -13,6 +13,10 @@ ], "repository": "wooorm/parse-entities", "bugs": "https://github.com/wooorm/parse-entities/issues", + "funding": { + "type": "github", + "url": "https://github.com/sponsors/wooorm" + }, "author": "Titus Wormer (https://wooorm.com)", "contributors": [ "Titus Wormer (https://wooorm.com)" @@ -26,8 +30,10 @@ "files": [ "index.js", "decode-entity.js", - "decode-entity.browser.js" + "decode-entity.browser.js", + "types/index.d.ts" ], + "types": "types/index.d.ts", "dependencies": { "character-entities": "^1.0.0", "character-entities-legacy": "^1.0.0", @@ -38,24 +44,26 @@ }, "devDependencies": { "browserify": "^16.0.0", - "nyc": "^14.0.0", - "prettier": "^1.12.1", - "remark-cli": "^6.0.0", - "remark-preset-wooorm": "^4.0.0", - "tape": "^4.2.0", + "dtslint": "^2.0.0", + "nyc": "^15.0.0", + "prettier": "^1.0.0", + "remark-cli": "^7.0.0", + "remark-preset-wooorm": "^6.0.0", + "tape": "^4.0.0", "tape-run": "^6.0.0", - "tinyify": "^2.4.3", - "xo": "^0.24.0" + "tinyify": "^2.0.0", + "xo": "^0.25.0" }, "scripts": { - "format": "remark . -qfo && prettier --write \"**/*.js\" && xo --fix", + "format": "remark . -qfo && prettier --write \"**/*.{js,ts}\" && xo --fix", "build-bundle": "browserify . -s parseEntities > parse-entities.js", "build-mangle": "browserify . -s parseEntities -p tinyify > parse-entities.min.js", "build": "npm run build-bundle && npm run build-mangle", "test-api": "node test", "test-coverage": "nyc --reporter lcov tape test.js", "test-browser": "browserify test.js | tape-run", - "test": "npm run format && npm run build && npm run test-coverage && npm run test-browser" + "test-types": "dtslint types", + "test": "npm run format && npm run build && npm run test-coverage && npm run test-types" }, "nyc": { "check-coverage": true, diff --git a/tools/node_modules/eslint-plugin-markdown/node_modules/parse-entities/readme.md b/tools/node_modules/eslint-plugin-markdown/node_modules/parse-entities/readme.md index e9cc0f037ff16f..5ca60e7a87b9a8 100644 --- a/tools/node_modules/eslint-plugin-markdown/node_modules/parse-entities/readme.md +++ b/tools/node_modules/eslint-plugin-markdown/node_modules/parse-entities/readme.md @@ -8,15 +8,15 @@ Parse HTML character references: fast, spec-compliant, positional information. -## Installation +## Install [npm][]: -```bash +```sh npm install parse-entities ``` -## Usage +## Use ```js var decode = require('parse-entities') diff --git a/tools/node_modules/eslint-plugin-markdown/node_modules/remark-parse/index.js b/tools/node_modules/eslint-plugin-markdown/node_modules/remark-parse/index.js deleted file mode 100644 index 39cc24a23aecd1..00000000000000 --- a/tools/node_modules/eslint-plugin-markdown/node_modules/remark-parse/index.js +++ /dev/null @@ -1,17 +0,0 @@ -'use strict' - -var unherit = require('unherit') -var xtend = require('xtend') -var Parser = require('./lib/parser.js') - -module.exports = parse -parse.Parser = Parser - -function parse(options) { - var settings = this.data('settings') - var Local = unherit(Parser) - - Local.prototype.options = xtend(Local.prototype.options, settings, options) - - this.Parser = Local -} diff --git a/tools/node_modules/eslint-plugin-markdown/node_modules/remark-parse/lib/decode.js b/tools/node_modules/eslint-plugin-markdown/node_modules/remark-parse/lib/decode.js deleted file mode 100644 index 3a1edc0be754cd..00000000000000 --- a/tools/node_modules/eslint-plugin-markdown/node_modules/remark-parse/lib/decode.js +++ /dev/null @@ -1,58 +0,0 @@ -'use strict' - -var xtend = require('xtend') -var entities = require('parse-entities') - -module.exports = factory - -// Factory to create an entity decoder. -function factory(ctx) { - decoder.raw = decodeRaw - - return decoder - - // Normalize `position` to add an `indent`. - function normalize(position) { - var offsets = ctx.offset - var line = position.line - var result = [] - - while (++line) { - if (!(line in offsets)) { - break - } - - result.push((offsets[line] || 0) + 1) - } - - return {start: position, indent: result} - } - - // Decode `value` (at `position`) into text-nodes. - function decoder(value, position, handler) { - entities(value, { - position: normalize(position), - warning: handleWarning, - text: handler, - reference: handler, - textContext: ctx, - referenceContext: ctx - }) - } - - // Decode `value` (at `position`) into a string. - function decodeRaw(value, position, options) { - return entities( - value, - xtend(options, {position: normalize(position), warning: handleWarning}) - ) - } - - // Handle a warning. - // See for the warnings. - function handleWarning(reason, position, code) { - if (code !== 3) { - ctx.file.message(reason, position) - } - } -} diff --git a/tools/node_modules/eslint-plugin-markdown/node_modules/remark-parse/lib/defaults.js b/tools/node_modules/eslint-plugin-markdown/node_modules/remark-parse/lib/defaults.js deleted file mode 100644 index 7776e3c0889d85..00000000000000 --- a/tools/node_modules/eslint-plugin-markdown/node_modules/remark-parse/lib/defaults.js +++ /dev/null @@ -1,10 +0,0 @@ -'use strict' - -module.exports = { - position: true, - gfm: true, - commonmark: false, - footnotes: false, - pedantic: false, - blocks: require('./block-elements') -} diff --git a/tools/node_modules/eslint-plugin-markdown/node_modules/remark-parse/lib/locate/break.js b/tools/node_modules/eslint-plugin-markdown/node_modules/remark-parse/lib/locate/break.js deleted file mode 100644 index f5479e7c6e74ef..00000000000000 --- a/tools/node_modules/eslint-plugin-markdown/node_modules/remark-parse/lib/locate/break.js +++ /dev/null @@ -1,17 +0,0 @@ -'use strict' - -module.exports = locate - -function locate(value, fromIndex) { - var index = value.indexOf('\n', fromIndex) - - while (index > fromIndex) { - if (value.charAt(index - 1) !== ' ') { - break - } - - index-- - } - - return index -} diff --git a/tools/node_modules/eslint-plugin-markdown/node_modules/remark-parse/lib/locate/code-inline.js b/tools/node_modules/eslint-plugin-markdown/node_modules/remark-parse/lib/locate/code-inline.js deleted file mode 100644 index 241971709e4b66..00000000000000 --- a/tools/node_modules/eslint-plugin-markdown/node_modules/remark-parse/lib/locate/code-inline.js +++ /dev/null @@ -1,7 +0,0 @@ -'use strict' - -module.exports = locate - -function locate(value, fromIndex) { - return value.indexOf('`', fromIndex) -} diff --git a/tools/node_modules/eslint-plugin-markdown/node_modules/remark-parse/lib/locate/delete.js b/tools/node_modules/eslint-plugin-markdown/node_modules/remark-parse/lib/locate/delete.js deleted file mode 100644 index 18b2f6305bb565..00000000000000 --- a/tools/node_modules/eslint-plugin-markdown/node_modules/remark-parse/lib/locate/delete.js +++ /dev/null @@ -1,7 +0,0 @@ -'use strict' - -module.exports = locate - -function locate(value, fromIndex) { - return value.indexOf('~~', fromIndex) -} diff --git a/tools/node_modules/eslint-plugin-markdown/node_modules/remark-parse/lib/locate/emphasis.js b/tools/node_modules/eslint-plugin-markdown/node_modules/remark-parse/lib/locate/emphasis.js deleted file mode 100644 index afec4ff893e28e..00000000000000 --- a/tools/node_modules/eslint-plugin-markdown/node_modules/remark-parse/lib/locate/emphasis.js +++ /dev/null @@ -1,18 +0,0 @@ -'use strict' - -module.exports = locate - -function locate(value, fromIndex) { - var asterisk = value.indexOf('*', fromIndex) - var underscore = value.indexOf('_', fromIndex) - - if (underscore === -1) { - return asterisk - } - - if (asterisk === -1) { - return underscore - } - - return underscore < asterisk ? underscore : asterisk -} diff --git a/tools/node_modules/eslint-plugin-markdown/node_modules/remark-parse/lib/locate/escape.js b/tools/node_modules/eslint-plugin-markdown/node_modules/remark-parse/lib/locate/escape.js deleted file mode 100644 index 9f61acff23ad54..00000000000000 --- a/tools/node_modules/eslint-plugin-markdown/node_modules/remark-parse/lib/locate/escape.js +++ /dev/null @@ -1,7 +0,0 @@ -'use strict' - -module.exports = locate - -function locate(value, fromIndex) { - return value.indexOf('\\', fromIndex) -} diff --git a/tools/node_modules/eslint-plugin-markdown/node_modules/remark-parse/lib/locate/link.js b/tools/node_modules/eslint-plugin-markdown/node_modules/remark-parse/lib/locate/link.js deleted file mode 100644 index df7b33bcfbe307..00000000000000 --- a/tools/node_modules/eslint-plugin-markdown/node_modules/remark-parse/lib/locate/link.js +++ /dev/null @@ -1,16 +0,0 @@ -'use strict' - -module.exports = locate - -function locate(value, fromIndex) { - var link = value.indexOf('[', fromIndex) - var image = value.indexOf('![', fromIndex) - - if (image === -1) { - return link - } - - // Link can never be `-1` if an image is found, so we don’t need to check - // for that :) - return link < image ? link : image -} diff --git a/tools/node_modules/eslint-plugin-markdown/node_modules/remark-parse/lib/locate/strong.js b/tools/node_modules/eslint-plugin-markdown/node_modules/remark-parse/lib/locate/strong.js deleted file mode 100644 index 44b95cd02082ef..00000000000000 --- a/tools/node_modules/eslint-plugin-markdown/node_modules/remark-parse/lib/locate/strong.js +++ /dev/null @@ -1,18 +0,0 @@ -'use strict' - -module.exports = locate - -function locate(value, fromIndex) { - var asterisk = value.indexOf('**', fromIndex) - var underscore = value.indexOf('__', fromIndex) - - if (underscore === -1) { - return asterisk - } - - if (asterisk === -1) { - return underscore - } - - return underscore < asterisk ? underscore : asterisk -} diff --git a/tools/node_modules/eslint-plugin-markdown/node_modules/remark-parse/lib/locate/tag.js b/tools/node_modules/eslint-plugin-markdown/node_modules/remark-parse/lib/locate/tag.js deleted file mode 100644 index 6a5d210b49109b..00000000000000 --- a/tools/node_modules/eslint-plugin-markdown/node_modules/remark-parse/lib/locate/tag.js +++ /dev/null @@ -1,7 +0,0 @@ -'use strict' - -module.exports = locate - -function locate(value, fromIndex) { - return value.indexOf('<', fromIndex) -} diff --git a/tools/node_modules/eslint-plugin-markdown/node_modules/remark-parse/lib/locate/url.js b/tools/node_modules/eslint-plugin-markdown/node_modules/remark-parse/lib/locate/url.js deleted file mode 100644 index e5bf5bfa4c469b..00000000000000 --- a/tools/node_modules/eslint-plugin-markdown/node_modules/remark-parse/lib/locate/url.js +++ /dev/null @@ -1,26 +0,0 @@ -'use strict' - -module.exports = locate - -var protocols = ['https://', 'http://', 'mailto:'] - -function locate(value, fromIndex) { - var length = protocols.length - var index = -1 - var min = -1 - var position - - if (!this.options.gfm) { - return -1 - } - - while (++index < length) { - position = value.indexOf(protocols[index], fromIndex) - - if (position !== -1 && (position < min || min === -1)) { - min = position - } - } - - return min -} diff --git a/tools/node_modules/eslint-plugin-markdown/node_modules/remark-parse/lib/parse.js b/tools/node_modules/eslint-plugin-markdown/node_modules/remark-parse/lib/parse.js deleted file mode 100644 index 59aac694bceebd..00000000000000 --- a/tools/node_modules/eslint-plugin-markdown/node_modules/remark-parse/lib/parse.js +++ /dev/null @@ -1,42 +0,0 @@ -'use strict' - -var xtend = require('xtend') -var removePosition = require('unist-util-remove-position') - -module.exports = parse - -var lineFeed = '\n' -var lineBreaksExpression = /\r\n|\r/g - -// Parse the bound file. -function parse() { - var self = this - var value = String(self.file) - var start = {line: 1, column: 1, offset: 0} - var content = xtend(start) - var node - - // Clean non-unix newlines: `\r\n` and `\r` are all changed to `\n`. - // This should not affect positional information. - value = value.replace(lineBreaksExpression, lineFeed) - - // BOM. - if (value.charCodeAt(0) === 0xfeff) { - value = value.slice(1) - - content.column++ - content.offset++ - } - - node = { - type: 'root', - children: self.tokenizeBlock(value, content), - position: {start: start, end: self.eof || xtend(start)} - } - - if (!self.options.position) { - removePosition(node, true) - } - - return node -} diff --git a/tools/node_modules/eslint-plugin-markdown/node_modules/remark-parse/lib/parser.js b/tools/node_modules/eslint-plugin-markdown/node_modules/remark-parse/lib/parser.js deleted file mode 100644 index 4add90e01e891a..00000000000000 --- a/tools/node_modules/eslint-plugin-markdown/node_modules/remark-parse/lib/parser.js +++ /dev/null @@ -1,149 +0,0 @@ -'use strict' - -var xtend = require('xtend') -var toggle = require('state-toggle') -var vfileLocation = require('vfile-location') -var unescape = require('./unescape') -var decode = require('./decode') -var tokenizer = require('./tokenizer') - -module.exports = Parser - -function Parser(doc, file) { - this.file = file - this.offset = {} - this.options = xtend(this.options) - this.setOptions({}) - - this.inList = false - this.inBlock = false - this.inLink = false - this.atStart = true - - this.toOffset = vfileLocation(file).toOffset - this.unescape = unescape(this, 'escape') - this.decode = decode(this) -} - -var proto = Parser.prototype - -// Expose core. -proto.setOptions = require('./set-options') -proto.parse = require('./parse') - -// Expose `defaults`. -proto.options = require('./defaults') - -// Enter and exit helpers. -proto.exitStart = toggle('atStart', true) -proto.enterList = toggle('inList', false) -proto.enterLink = toggle('inLink', false) -proto.enterBlock = toggle('inBlock', false) - -// Nodes that can interupt a paragraph: -// -// ```markdown -// A paragraph, followed by a thematic break. -// ___ -// ``` -// -// In the above example, the thematic break “interupts” the paragraph. -proto.interruptParagraph = [ - ['thematicBreak'], - ['atxHeading'], - ['fencedCode'], - ['blockquote'], - ['html'], - ['setextHeading', {commonmark: false}], - ['definition', {commonmark: false}], - ['footnote', {commonmark: false}] -] - -// Nodes that can interupt a list: -// -// ```markdown -// - One -// ___ -// ``` -// -// In the above example, the thematic break “interupts” the list. -proto.interruptList = [ - ['atxHeading', {pedantic: false}], - ['fencedCode', {pedantic: false}], - ['thematicBreak', {pedantic: false}], - ['definition', {commonmark: false}], - ['footnote', {commonmark: false}] -] - -// Nodes that can interupt a blockquote: -// -// ```markdown -// > A paragraph. -// ___ -// ``` -// -// In the above example, the thematic break “interupts” the blockquote. -proto.interruptBlockquote = [ - ['indentedCode', {commonmark: true}], - ['fencedCode', {commonmark: true}], - ['atxHeading', {commonmark: true}], - ['setextHeading', {commonmark: true}], - ['thematicBreak', {commonmark: true}], - ['html', {commonmark: true}], - ['list', {commonmark: true}], - ['definition', {commonmark: false}], - ['footnote', {commonmark: false}] -] - -// Handlers. -proto.blockTokenizers = { - newline: require('./tokenize/newline'), - indentedCode: require('./tokenize/code-indented'), - fencedCode: require('./tokenize/code-fenced'), - blockquote: require('./tokenize/blockquote'), - atxHeading: require('./tokenize/heading-atx'), - thematicBreak: require('./tokenize/thematic-break'), - list: require('./tokenize/list'), - setextHeading: require('./tokenize/heading-setext'), - html: require('./tokenize/html-block'), - footnote: require('./tokenize/footnote-definition'), - definition: require('./tokenize/definition'), - table: require('./tokenize/table'), - paragraph: require('./tokenize/paragraph') -} - -proto.inlineTokenizers = { - escape: require('./tokenize/escape'), - autoLink: require('./tokenize/auto-link'), - url: require('./tokenize/url'), - html: require('./tokenize/html-inline'), - link: require('./tokenize/link'), - reference: require('./tokenize/reference'), - strong: require('./tokenize/strong'), - emphasis: require('./tokenize/emphasis'), - deletion: require('./tokenize/delete'), - code: require('./tokenize/code-inline'), - break: require('./tokenize/break'), - text: require('./tokenize/text') -} - -// Expose precedence. -proto.blockMethods = keys(proto.blockTokenizers) -proto.inlineMethods = keys(proto.inlineTokenizers) - -// Tokenizers. -proto.tokenizeBlock = tokenizer('block') -proto.tokenizeInline = tokenizer('inline') -proto.tokenizeFactory = tokenizer - -// Get all keys in `value`. -function keys(value) { - var result = [] - var key - - for (key in value) { - result.push(key) - } - - return result -} diff --git a/tools/node_modules/eslint-plugin-markdown/node_modules/remark-parse/lib/set-options.js b/tools/node_modules/eslint-plugin-markdown/node_modules/remark-parse/lib/set-options.js deleted file mode 100644 index 5877099e393cb5..00000000000000 --- a/tools/node_modules/eslint-plugin-markdown/node_modules/remark-parse/lib/set-options.js +++ /dev/null @@ -1,46 +0,0 @@ -'use strict' - -var xtend = require('xtend') -var escapes = require('markdown-escapes') -var defaults = require('./defaults') - -module.exports = setOptions - -function setOptions(options) { - var self = this - var current = self.options - var key - var value - - if (options == null) { - options = {} - } else if (typeof options === 'object') { - options = xtend(options) - } else { - throw new Error('Invalid value `' + options + '` for setting `options`') - } - - for (key in defaults) { - value = options[key] - - if (value == null) { - value = current[key] - } - - if ( - (key !== 'blocks' && typeof value !== 'boolean') || - (key === 'blocks' && typeof value !== 'object') - ) { - throw new Error( - 'Invalid value `' + value + '` for setting `options.' + key + '`' - ) - } - - options[key] = value - } - - self.options = options - self.escape = escapes(options) - - return self -} diff --git a/tools/node_modules/eslint-plugin-markdown/node_modules/remark-parse/lib/tokenize/auto-link.js b/tools/node_modules/eslint-plugin-markdown/node_modules/remark-parse/lib/tokenize/auto-link.js deleted file mode 100644 index f5bcb8900a701a..00000000000000 --- a/tools/node_modules/eslint-plugin-markdown/node_modules/remark-parse/lib/tokenize/auto-link.js +++ /dev/null @@ -1,133 +0,0 @@ -'use strict' - -var whitespace = require('is-whitespace-character') -var decode = require('parse-entities') -var locate = require('../locate/tag') - -module.exports = autoLink -autoLink.locator = locate -autoLink.notInLink = true - -var lessThan = '<' -var greaterThan = '>' -var atSign = '@' -var slash = '/' -var mailto = 'mailto:' -var mailtoLength = mailto.length - -function autoLink(eat, value, silent) { - var self = this - var subvalue = '' - var length = value.length - var index = 0 - var queue = '' - var hasAtCharacter = false - var link = '' - var character - var now - var content - var tokenizers - var exit - - if (value.charAt(0) !== lessThan) { - return - } - - index++ - subvalue = lessThan - - while (index < length) { - character = value.charAt(index) - - if ( - whitespace(character) || - character === greaterThan || - character === atSign || - (character === ':' && value.charAt(index + 1) === slash) - ) { - break - } - - queue += character - index++ - } - - if (!queue) { - return - } - - link += queue - queue = '' - - character = value.charAt(index) - link += character - index++ - - if (character === atSign) { - hasAtCharacter = true - } else { - if (character !== ':' || value.charAt(index + 1) !== slash) { - return - } - - link += slash - index++ - } - - while (index < length) { - character = value.charAt(index) - - if (whitespace(character) || character === greaterThan) { - break - } - - queue += character - index++ - } - - character = value.charAt(index) - - if (!queue || character !== greaterThan) { - return - } - - /* istanbul ignore if - never used (yet) */ - if (silent) { - return true - } - - link += queue - content = link - subvalue += link + character - now = eat.now() - now.column++ - now.offset++ - - if (hasAtCharacter) { - if (link.slice(0, mailtoLength).toLowerCase() === mailto) { - content = content.slice(mailtoLength) - now.column += mailtoLength - now.offset += mailtoLength - } else { - link = mailto + link - } - } - - // Temporarily remove all tokenizers except text in autolinks. - tokenizers = self.inlineTokenizers - self.inlineTokenizers = {text: tokenizers.text} - - exit = self.enterLink() - - content = self.tokenizeInline(content, now) - - self.inlineTokenizers = tokenizers - exit() - - return eat(subvalue)({ - type: 'link', - title: null, - url: decode(link, {nonTerminated: false}), - children: content - }) -} diff --git a/tools/node_modules/eslint-plugin-markdown/node_modules/remark-parse/lib/tokenize/blockquote.js b/tools/node_modules/eslint-plugin-markdown/node_modules/remark-parse/lib/tokenize/blockquote.js deleted file mode 100644 index 2960e85afaa644..00000000000000 --- a/tools/node_modules/eslint-plugin-markdown/node_modules/remark-parse/lib/tokenize/blockquote.js +++ /dev/null @@ -1,124 +0,0 @@ -'use strict' - -var trim = require('trim') -var interrupt = require('../util/interrupt') - -module.exports = blockquote - -var lineFeed = '\n' -var tab = '\t' -var space = ' ' -var greaterThan = '>' - -function blockquote(eat, value, silent) { - var self = this - var offsets = self.offset - var tokenizers = self.blockTokenizers - var interruptors = self.interruptBlockquote - var now = eat.now() - var currentLine = now.line - var length = value.length - var values = [] - var contents = [] - var indents = [] - var add - var index = 0 - var character - var rest - var nextIndex - var content - var line - var startIndex - var prefixed - var exit - - while (index < length) { - character = value.charAt(index) - - if (character !== space && character !== tab) { - break - } - - index++ - } - - if (value.charAt(index) !== greaterThan) { - return - } - - if (silent) { - return true - } - - index = 0 - - while (index < length) { - nextIndex = value.indexOf(lineFeed, index) - startIndex = index - prefixed = false - - if (nextIndex === -1) { - nextIndex = length - } - - while (index < length) { - character = value.charAt(index) - - if (character !== space && character !== tab) { - break - } - - index++ - } - - if (value.charAt(index) === greaterThan) { - index++ - prefixed = true - - if (value.charAt(index) === space) { - index++ - } - } else { - index = startIndex - } - - content = value.slice(index, nextIndex) - - if (!prefixed && !trim(content)) { - index = startIndex - break - } - - if (!prefixed) { - rest = value.slice(index) - - // Check if the following code contains a possible block. - if (interrupt(interruptors, tokenizers, self, [eat, rest, true])) { - break - } - } - - line = startIndex === index ? content : value.slice(startIndex, nextIndex) - - indents.push(index - startIndex) - values.push(line) - contents.push(content) - - index = nextIndex + 1 - } - - index = -1 - length = indents.length - add = eat(values.join(lineFeed)) - - while (++index < length) { - offsets[currentLine] = (offsets[currentLine] || 0) + indents[index] - currentLine++ - } - - exit = self.enterBlock() - contents = self.tokenizeBlock(contents.join(lineFeed), now) - exit() - - return add({type: 'blockquote', children: contents}) -} diff --git a/tools/node_modules/eslint-plugin-markdown/node_modules/remark-parse/lib/tokenize/break.js b/tools/node_modules/eslint-plugin-markdown/node_modules/remark-parse/lib/tokenize/break.js deleted file mode 100644 index b68ca6d7e2a47e..00000000000000 --- a/tools/node_modules/eslint-plugin-markdown/node_modules/remark-parse/lib/tokenize/break.js +++ /dev/null @@ -1,42 +0,0 @@ -'use strict' - -var locate = require('../locate/break') - -module.exports = hardBreak -hardBreak.locator = locate - -var space = ' ' -var lineFeed = '\n' -var minBreakLength = 2 - -function hardBreak(eat, value, silent) { - var length = value.length - var index = -1 - var queue = '' - var character - - while (++index < length) { - character = value.charAt(index) - - if (character === lineFeed) { - if (index < minBreakLength) { - return - } - - /* istanbul ignore if - never used (yet) */ - if (silent) { - return true - } - - queue += character - - return eat(queue)({type: 'break'}) - } - - if (character !== space) { - return - } - - queue += character - } -} diff --git a/tools/node_modules/eslint-plugin-markdown/node_modules/remark-parse/lib/tokenize/code-fenced.js b/tools/node_modules/eslint-plugin-markdown/node_modules/remark-parse/lib/tokenize/code-fenced.js deleted file mode 100644 index e690814f9c61f4..00000000000000 --- a/tools/node_modules/eslint-plugin-markdown/node_modules/remark-parse/lib/tokenize/code-fenced.js +++ /dev/null @@ -1,253 +0,0 @@ -'use strict' - -module.exports = fencedCode - -var lineFeed = '\n' -var tab = '\t' -var space = ' ' -var tilde = '~' -var graveAccent = '`' - -var minFenceCount = 3 -var tabSize = 4 - -function fencedCode(eat, value, silent) { - var self = this - var gfm = self.options.gfm - var length = value.length + 1 - var index = 0 - var subvalue = '' - var fenceCount - var marker - var character - var flag - var lang - var meta - var queue - var content - var exdentedContent - var closing - var exdentedClosing - var indent - var now - - if (!gfm) { - return - } - - // Eat initial spacing. - while (index < length) { - character = value.charAt(index) - - if (character !== space && character !== tab) { - break - } - - subvalue += character - index++ - } - - indent = index - - // Eat the fence. - character = value.charAt(index) - - if (character !== tilde && character !== graveAccent) { - return - } - - index++ - marker = character - fenceCount = 1 - subvalue += character - - while (index < length) { - character = value.charAt(index) - - if (character !== marker) { - break - } - - subvalue += character - fenceCount++ - index++ - } - - if (fenceCount < minFenceCount) { - return - } - - // Eat spacing before flag. - while (index < length) { - character = value.charAt(index) - - if (character !== space && character !== tab) { - break - } - - subvalue += character - index++ - } - - // Eat flag. - flag = '' - queue = '' - - while (index < length) { - character = value.charAt(index) - - if ( - character === lineFeed || - (marker === graveAccent && character === marker) - ) { - break - } - - if (character === space || character === tab) { - queue += character - } else { - flag += queue + character - queue = '' - } - - index++ - } - - character = value.charAt(index) - - if (character && character !== lineFeed) { - return - } - - if (silent) { - return true - } - - now = eat.now() - now.column += subvalue.length - now.offset += subvalue.length - - subvalue += flag - flag = self.decode.raw(self.unescape(flag), now) - - if (queue) { - subvalue += queue - } - - queue = '' - closing = '' - exdentedClosing = '' - content = '' - exdentedContent = '' - var skip = true - - // Eat content. - while (index < length) { - character = value.charAt(index) - content += closing - exdentedContent += exdentedClosing - closing = '' - exdentedClosing = '' - - if (character !== lineFeed) { - content += character - exdentedClosing += character - index++ - continue - } - - // The first line feed is ignored. Others aren’t. - if (skip) { - subvalue += character - skip = false - } else { - closing += character - exdentedClosing += character - } - - queue = '' - index++ - - while (index < length) { - character = value.charAt(index) - - if (character !== space) { - break - } - - queue += character - index++ - } - - closing += queue - exdentedClosing += queue.slice(indent) - - if (queue.length >= tabSize) { - continue - } - - queue = '' - - while (index < length) { - character = value.charAt(index) - - if (character !== marker) { - break - } - - queue += character - index++ - } - - closing += queue - exdentedClosing += queue - - if (queue.length < fenceCount) { - continue - } - - queue = '' - - while (index < length) { - character = value.charAt(index) - - if (character !== space && character !== tab) { - break - } - - closing += character - exdentedClosing += character - index++ - } - - if (!character || character === lineFeed) { - break - } - } - - subvalue += content + closing - - // Get lang and meta from the flag. - index = -1 - length = flag.length - - while (++index < length) { - character = flag.charAt(index) - - if (character === space || character === tab) { - if (!lang) { - lang = flag.slice(0, index) - } - } else if (lang) { - meta = flag.slice(index) - break - } - } - - return eat(subvalue)({ - type: 'code', - lang: lang || flag || null, - meta: meta || null, - value: exdentedContent - }) -} diff --git a/tools/node_modules/eslint-plugin-markdown/node_modules/remark-parse/lib/tokenize/code-indented.js b/tools/node_modules/eslint-plugin-markdown/node_modules/remark-parse/lib/tokenize/code-indented.js deleted file mode 100644 index 53a666fb6def8a..00000000000000 --- a/tools/node_modules/eslint-plugin-markdown/node_modules/remark-parse/lib/tokenize/code-indented.js +++ /dev/null @@ -1,98 +0,0 @@ -'use strict' - -var repeat = require('repeat-string') -var trim = require('trim-trailing-lines') - -module.exports = indentedCode - -var lineFeed = '\n' -var tab = '\t' -var space = ' ' - -var tabSize = 4 -var codeIndent = repeat(space, tabSize) - -function indentedCode(eat, value, silent) { - var index = -1 - var length = value.length - var subvalue = '' - var content = '' - var subvalueQueue = '' - var contentQueue = '' - var character - var blankQueue - var indent - - while (++index < length) { - character = value.charAt(index) - - if (indent) { - indent = false - - subvalue += subvalueQueue - content += contentQueue - subvalueQueue = '' - contentQueue = '' - - if (character === lineFeed) { - subvalueQueue = character - contentQueue = character - } else { - subvalue += character - content += character - - while (++index < length) { - character = value.charAt(index) - - if (!character || character === lineFeed) { - contentQueue = character - subvalueQueue = character - break - } - - subvalue += character - content += character - } - } - } else if ( - character === space && - value.charAt(index + 1) === character && - value.charAt(index + 2) === character && - value.charAt(index + 3) === character - ) { - subvalueQueue += codeIndent - index += 3 - indent = true - } else if (character === tab) { - subvalueQueue += character - indent = true - } else { - blankQueue = '' - - while (character === tab || character === space) { - blankQueue += character - character = value.charAt(++index) - } - - if (character !== lineFeed) { - break - } - - subvalueQueue += blankQueue + character - contentQueue += character - } - } - - if (content) { - if (silent) { - return true - } - - return eat(subvalue)({ - type: 'code', - lang: null, - meta: null, - value: trim(content) - }) - } -} diff --git a/tools/node_modules/eslint-plugin-markdown/node_modules/remark-parse/lib/tokenize/code-inline.js b/tools/node_modules/eslint-plugin-markdown/node_modules/remark-parse/lib/tokenize/code-inline.js deleted file mode 100644 index 66da0f35488e8f..00000000000000 --- a/tools/node_modules/eslint-plugin-markdown/node_modules/remark-parse/lib/tokenize/code-inline.js +++ /dev/null @@ -1,109 +0,0 @@ -'use strict' - -var locate = require('../locate/code-inline') - -module.exports = inlineCode -inlineCode.locator = locate - -var lineFeed = 10 // '\n' -var space = 32 // ' ' -var graveAccent = 96 // '`' - -function inlineCode(eat, value, silent) { - var length = value.length - var index = 0 - var openingFenceEnd - var closingFenceStart - var closingFenceEnd - var code - var next - var found - - while (index < length) { - if (value.charCodeAt(index) !== graveAccent) { - break - } - - index++ - } - - if (index === 0 || index === length) { - return - } - - openingFenceEnd = index - next = value.charCodeAt(index) - - while (index < length) { - code = next - next = value.charCodeAt(index + 1) - - if (code === graveAccent) { - if (closingFenceStart === undefined) { - closingFenceStart = index - } - - closingFenceEnd = index + 1 - - if ( - next !== graveAccent && - closingFenceEnd - closingFenceStart === openingFenceEnd - ) { - found = true - break - } - } else if (closingFenceStart !== undefined) { - closingFenceStart = undefined - closingFenceEnd = undefined - } - - index++ - } - - if (!found) { - return - } - - /* istanbul ignore if - never used (yet) */ - if (silent) { - return true - } - - // Remove the initial and final space (or line feed), iff they exist and there - // are non-space characters in the content. - index = openingFenceEnd - length = closingFenceStart - code = value.charCodeAt(index) - next = value.charCodeAt(length - 1) - found = false - - if ( - length - index > 2 && - (code === space || code === lineFeed) && - (next === space || next === lineFeed) - ) { - index++ - length-- - - while (index < length) { - code = value.charCodeAt(index) - - if (code !== space && code !== lineFeed) { - found = true - break - } - - index++ - } - - if (found === true) { - openingFenceEnd++ - closingFenceStart-- - } - } - - return eat(value.slice(0, closingFenceEnd))({ - type: 'inlineCode', - value: value.slice(openingFenceEnd, closingFenceStart) - }) -} diff --git a/tools/node_modules/eslint-plugin-markdown/node_modules/remark-parse/lib/tokenize/definition.js b/tools/node_modules/eslint-plugin-markdown/node_modules/remark-parse/lib/tokenize/definition.js deleted file mode 100644 index ec56f0c41a595e..00000000000000 --- a/tools/node_modules/eslint-plugin-markdown/node_modules/remark-parse/lib/tokenize/definition.js +++ /dev/null @@ -1,273 +0,0 @@ -'use strict' - -var whitespace = require('is-whitespace-character') -var normalize = require('../util/normalize') - -module.exports = definition - -var quotationMark = '"' -var apostrophe = "'" -var backslash = '\\' -var lineFeed = '\n' -var tab = '\t' -var space = ' ' -var leftSquareBracket = '[' -var rightSquareBracket = ']' -var leftParenthesis = '(' -var rightParenthesis = ')' -var colon = ':' -var lessThan = '<' -var greaterThan = '>' - -function definition(eat, value, silent) { - var self = this - var commonmark = self.options.commonmark - var index = 0 - var length = value.length - var subvalue = '' - var beforeURL - var beforeTitle - var queue - var character - var test - var identifier - var url - var title - - while (index < length) { - character = value.charAt(index) - - if (character !== space && character !== tab) { - break - } - - subvalue += character - index++ - } - - character = value.charAt(index) - - if (character !== leftSquareBracket) { - return - } - - index++ - subvalue += character - queue = '' - - while (index < length) { - character = value.charAt(index) - - if (character === rightSquareBracket) { - break - } else if (character === backslash) { - queue += character - index++ - character = value.charAt(index) - } - - queue += character - index++ - } - - if ( - !queue || - value.charAt(index) !== rightSquareBracket || - value.charAt(index + 1) !== colon - ) { - return - } - - identifier = queue - subvalue += queue + rightSquareBracket + colon - index = subvalue.length - queue = '' - - while (index < length) { - character = value.charAt(index) - - if (character !== tab && character !== space && character !== lineFeed) { - break - } - - subvalue += character - index++ - } - - character = value.charAt(index) - queue = '' - beforeURL = subvalue - - if (character === lessThan) { - index++ - - while (index < length) { - character = value.charAt(index) - - if (!isEnclosedURLCharacter(character)) { - break - } - - queue += character - index++ - } - - character = value.charAt(index) - - if (character === isEnclosedURLCharacter.delimiter) { - subvalue += lessThan + queue + character - index++ - } else { - if (commonmark) { - return - } - - index -= queue.length + 1 - queue = '' - } - } - - if (!queue) { - while (index < length) { - character = value.charAt(index) - - if (!isUnclosedURLCharacter(character)) { - break - } - - queue += character - index++ - } - - subvalue += queue - } - - if (!queue) { - return - } - - url = queue - queue = '' - - while (index < length) { - character = value.charAt(index) - - if (character !== tab && character !== space && character !== lineFeed) { - break - } - - queue += character - index++ - } - - character = value.charAt(index) - test = null - - if (character === quotationMark) { - test = quotationMark - } else if (character === apostrophe) { - test = apostrophe - } else if (character === leftParenthesis) { - test = rightParenthesis - } - - if (!test) { - queue = '' - index = subvalue.length - } else if (queue) { - subvalue += queue + character - index = subvalue.length - queue = '' - - while (index < length) { - character = value.charAt(index) - - if (character === test) { - break - } - - if (character === lineFeed) { - index++ - character = value.charAt(index) - - if (character === lineFeed || character === test) { - return - } - - queue += lineFeed - } - - queue += character - index++ - } - - character = value.charAt(index) - - if (character !== test) { - return - } - - beforeTitle = subvalue - subvalue += queue + character - index++ - title = queue - queue = '' - } else { - return - } - - while (index < length) { - character = value.charAt(index) - - if (character !== tab && character !== space) { - break - } - - subvalue += character - index++ - } - - character = value.charAt(index) - - if (!character || character === lineFeed) { - if (silent) { - return true - } - - beforeURL = eat(beforeURL).test().end - url = self.decode.raw(self.unescape(url), beforeURL, {nonTerminated: false}) - - if (title) { - beforeTitle = eat(beforeTitle).test().end - title = self.decode.raw(self.unescape(title), beforeTitle) - } - - return eat(subvalue)({ - type: 'definition', - identifier: normalize(identifier), - label: identifier, - title: title || null, - url: url - }) - } -} - -// Check if `character` can be inside an enclosed URI. -function isEnclosedURLCharacter(character) { - return ( - character !== greaterThan && - character !== leftSquareBracket && - character !== rightSquareBracket - ) -} - -isEnclosedURLCharacter.delimiter = greaterThan - -// Check if `character` can be inside an unclosed URI. -function isUnclosedURLCharacter(character) { - return ( - character !== leftSquareBracket && - character !== rightSquareBracket && - !whitespace(character) - ) -} diff --git a/tools/node_modules/eslint-plugin-markdown/node_modules/remark-parse/lib/tokenize/delete.js b/tools/node_modules/eslint-plugin-markdown/node_modules/remark-parse/lib/tokenize/delete.js deleted file mode 100644 index 3513634b9557d9..00000000000000 --- a/tools/node_modules/eslint-plugin-markdown/node_modules/remark-parse/lib/tokenize/delete.js +++ /dev/null @@ -1,60 +0,0 @@ -'use strict' - -var whitespace = require('is-whitespace-character') -var locate = require('../locate/delete') - -module.exports = strikethrough -strikethrough.locator = locate - -var tilde = '~' -var fence = '~~' - -function strikethrough(eat, value, silent) { - var self = this - var character = '' - var previous = '' - var preceding = '' - var subvalue = '' - var index - var length - var now - - if ( - !self.options.gfm || - value.charAt(0) !== tilde || - value.charAt(1) !== tilde || - whitespace(value.charAt(2)) - ) { - return - } - - index = 1 - length = value.length - now = eat.now() - now.column += 2 - now.offset += 2 - - while (++index < length) { - character = value.charAt(index) - - if ( - character === tilde && - previous === tilde && - (!preceding || !whitespace(preceding)) - ) { - /* istanbul ignore if - never used (yet) */ - if (silent) { - return true - } - - return eat(fence + subvalue + fence)({ - type: 'delete', - children: self.tokenizeInline(subvalue, now) - }) - } - - subvalue += previous - preceding = previous - previous = character - } -} diff --git a/tools/node_modules/eslint-plugin-markdown/node_modules/remark-parse/lib/tokenize/emphasis.js b/tools/node_modules/eslint-plugin-markdown/node_modules/remark-parse/lib/tokenize/emphasis.js deleted file mode 100644 index 2cbfd314a3f2a9..00000000000000 --- a/tools/node_modules/eslint-plugin-markdown/node_modules/remark-parse/lib/tokenize/emphasis.js +++ /dev/null @@ -1,86 +0,0 @@ -'use strict' - -var trim = require('trim') -var word = require('is-word-character') -var whitespace = require('is-whitespace-character') -var locate = require('../locate/emphasis') - -module.exports = emphasis -emphasis.locator = locate - -var asterisk = '*' -var underscore = '_' -var backslash = '\\' - -function emphasis(eat, value, silent) { - var self = this - var index = 0 - var character = value.charAt(index) - var now - var pedantic - var marker - var queue - var subvalue - var length - var prev - - if (character !== asterisk && character !== underscore) { - return - } - - pedantic = self.options.pedantic - subvalue = character - marker = character - length = value.length - index++ - queue = '' - character = '' - - if (pedantic && whitespace(value.charAt(index))) { - return - } - - while (index < length) { - prev = character - character = value.charAt(index) - - if (character === marker && (!pedantic || !whitespace(prev))) { - character = value.charAt(++index) - - if (character !== marker) { - if (!trim(queue) || prev === marker) { - return - } - - if (!pedantic && marker === underscore && word(character)) { - queue += marker - continue - } - - /* istanbul ignore if - never used (yet) */ - if (silent) { - return true - } - - now = eat.now() - now.column++ - now.offset++ - - return eat(subvalue + queue + marker)({ - type: 'emphasis', - children: self.tokenizeInline(queue, now) - }) - } - - queue += marker - } - - if (!pedantic && character === backslash) { - queue += character - character = value.charAt(++index) - } - - queue += character - index++ - } -} diff --git a/tools/node_modules/eslint-plugin-markdown/node_modules/remark-parse/lib/tokenize/escape.js b/tools/node_modules/eslint-plugin-markdown/node_modules/remark-parse/lib/tokenize/escape.js deleted file mode 100644 index 1cac3532aa2c63..00000000000000 --- a/tools/node_modules/eslint-plugin-markdown/node_modules/remark-parse/lib/tokenize/escape.js +++ /dev/null @@ -1,34 +0,0 @@ -'use strict' - -var locate = require('../locate/escape') - -module.exports = escape -escape.locator = locate - -var lineFeed = '\n' -var backslash = '\\' - -function escape(eat, value, silent) { - var self = this - var character - var node - - if (value.charAt(0) === backslash) { - character = value.charAt(1) - - if (self.escape.indexOf(character) !== -1) { - /* istanbul ignore if - never used (yet) */ - if (silent) { - return true - } - - if (character === lineFeed) { - node = {type: 'break'} - } else { - node = {type: 'text', value: character} - } - - return eat(backslash + character)(node) - } - } -} diff --git a/tools/node_modules/eslint-plugin-markdown/node_modules/remark-parse/lib/tokenize/footnote-definition.js b/tools/node_modules/eslint-plugin-markdown/node_modules/remark-parse/lib/tokenize/footnote-definition.js deleted file mode 100644 index 62d8ce7b2c967d..00000000000000 --- a/tools/node_modules/eslint-plugin-markdown/node_modules/remark-parse/lib/tokenize/footnote-definition.js +++ /dev/null @@ -1,186 +0,0 @@ -'use strict' - -var whitespace = require('is-whitespace-character') -var normalize = require('../util/normalize') - -module.exports = footnoteDefinition -footnoteDefinition.notInList = true -footnoteDefinition.notInBlock = true - -var backslash = '\\' -var lineFeed = '\n' -var tab = '\t' -var space = ' ' -var leftSquareBracket = '[' -var rightSquareBracket = ']' -var caret = '^' -var colon = ':' - -var EXPRESSION_INITIAL_TAB = /^( {4}|\t)?/gm - -function footnoteDefinition(eat, value, silent) { - var self = this - var offsets = self.offset - var index - var length - var subvalue - var now - var currentLine - var content - var queue - var subqueue - var character - var identifier - var add - var exit - - if (!self.options.footnotes) { - return - } - - index = 0 - length = value.length - subvalue = '' - now = eat.now() - currentLine = now.line - - while (index < length) { - character = value.charAt(index) - - if (!whitespace(character)) { - break - } - - subvalue += character - index++ - } - - if ( - value.charAt(index) !== leftSquareBracket || - value.charAt(index + 1) !== caret - ) { - return - } - - subvalue += leftSquareBracket + caret - index = subvalue.length - queue = '' - - while (index < length) { - character = value.charAt(index) - - if (character === rightSquareBracket) { - break - } else if (character === backslash) { - queue += character - index++ - character = value.charAt(index) - } - - queue += character - index++ - } - - if ( - !queue || - value.charAt(index) !== rightSquareBracket || - value.charAt(index + 1) !== colon - ) { - return - } - - if (silent) { - return true - } - - identifier = queue - subvalue += queue + rightSquareBracket + colon - index = subvalue.length - - while (index < length) { - character = value.charAt(index) - - if (character !== tab && character !== space) { - break - } - - subvalue += character - index++ - } - - now.column += subvalue.length - now.offset += subvalue.length - queue = '' - content = '' - subqueue = '' - - while (index < length) { - character = value.charAt(index) - - if (character === lineFeed) { - subqueue = character - index++ - - while (index < length) { - character = value.charAt(index) - - if (character !== lineFeed) { - break - } - - subqueue += character - index++ - } - - queue += subqueue - subqueue = '' - - while (index < length) { - character = value.charAt(index) - - if (character !== space) { - break - } - - subqueue += character - index++ - } - - if (subqueue.length === 0) { - break - } - - queue += subqueue - } - - if (queue) { - content += queue - queue = '' - } - - content += character - index++ - } - - subvalue += content - - content = content.replace(EXPRESSION_INITIAL_TAB, function(line) { - offsets[currentLine] = (offsets[currentLine] || 0) + line.length - currentLine++ - - return '' - }) - - add = eat(subvalue) - - exit = self.enterBlock() - content = self.tokenizeBlock(content, now) - exit() - - return add({ - type: 'footnoteDefinition', - identifier: normalize(identifier), - label: identifier, - children: content - }) -} diff --git a/tools/node_modules/eslint-plugin-markdown/node_modules/remark-parse/lib/tokenize/heading-atx.js b/tools/node_modules/eslint-plugin-markdown/node_modules/remark-parse/lib/tokenize/heading-atx.js deleted file mode 100644 index dfa2849fb77e9b..00000000000000 --- a/tools/node_modules/eslint-plugin-markdown/node_modules/remark-parse/lib/tokenize/heading-atx.js +++ /dev/null @@ -1,135 +0,0 @@ -'use strict' - -module.exports = atxHeading - -var lineFeed = '\n' -var tab = '\t' -var space = ' ' -var numberSign = '#' - -var maxFenceCount = 6 - -function atxHeading(eat, value, silent) { - var self = this - var pedantic = self.options.pedantic - var length = value.length + 1 - var index = -1 - var now = eat.now() - var subvalue = '' - var content = '' - var character - var queue - var depth - - // Eat initial spacing. - while (++index < length) { - character = value.charAt(index) - - if (character !== space && character !== tab) { - index-- - break - } - - subvalue += character - } - - // Eat hashes. - depth = 0 - - while (++index <= length) { - character = value.charAt(index) - - if (character !== numberSign) { - index-- - break - } - - subvalue += character - depth++ - } - - if (depth > maxFenceCount) { - return - } - - if (!depth || (!pedantic && value.charAt(index + 1) === numberSign)) { - return - } - - length = value.length + 1 - - // Eat intermediate white-space. - queue = '' - - while (++index < length) { - character = value.charAt(index) - - if (character !== space && character !== tab) { - index-- - break - } - - queue += character - } - - // Exit when not in pedantic mode without spacing. - if (!pedantic && queue.length === 0 && character && character !== lineFeed) { - return - } - - if (silent) { - return true - } - - // Eat content. - subvalue += queue - queue = '' - content = '' - - while (++index < length) { - character = value.charAt(index) - - if (!character || character === lineFeed) { - break - } - - if (character !== space && character !== tab && character !== numberSign) { - content += queue + character - queue = '' - continue - } - - while (character === space || character === tab) { - queue += character - character = value.charAt(++index) - } - - // `#` without a queue is part of the content. - if (!pedantic && content && !queue && character === numberSign) { - content += character - continue - } - - while (character === numberSign) { - queue += character - character = value.charAt(++index) - } - - while (character === space || character === tab) { - queue += character - character = value.charAt(++index) - } - - index-- - } - - now.column += subvalue.length - now.offset += subvalue.length - subvalue += content + queue - - return eat(subvalue)({ - type: 'heading', - depth: depth, - children: self.tokenizeInline(content, now) - }) -} diff --git a/tools/node_modules/eslint-plugin-markdown/node_modules/remark-parse/lib/tokenize/heading-setext.js b/tools/node_modules/eslint-plugin-markdown/node_modules/remark-parse/lib/tokenize/heading-setext.js deleted file mode 100644 index 1427623458c8b0..00000000000000 --- a/tools/node_modules/eslint-plugin-markdown/node_modules/remark-parse/lib/tokenize/heading-setext.js +++ /dev/null @@ -1,102 +0,0 @@ -'use strict' - -module.exports = setextHeading - -var lineFeed = '\n' -var tab = '\t' -var space = ' ' -var equalsTo = '=' -var dash = '-' - -var maxIndent = 3 - -var equalsToDepth = 1 -var dashDepth = 2 - -function setextHeading(eat, value, silent) { - var self = this - var now = eat.now() - var length = value.length - var index = -1 - var subvalue = '' - var content - var queue - var character - var marker - var depth - - // Eat initial indentation. - while (++index < length) { - character = value.charAt(index) - - if (character !== space || index >= maxIndent) { - index-- - break - } - - subvalue += character - } - - // Eat content. - content = '' - queue = '' - - while (++index < length) { - character = value.charAt(index) - - if (character === lineFeed) { - index-- - break - } - - if (character === space || character === tab) { - queue += character - } else { - content += queue + character - queue = '' - } - } - - now.column += subvalue.length - now.offset += subvalue.length - subvalue += content + queue - - // Ensure the content is followed by a newline and a valid marker. - character = value.charAt(++index) - marker = value.charAt(++index) - - if (character !== lineFeed || (marker !== equalsTo && marker !== dash)) { - return - } - - subvalue += character - - // Eat Setext-line. - queue = marker - depth = marker === equalsTo ? equalsToDepth : dashDepth - - while (++index < length) { - character = value.charAt(index) - - if (character !== marker) { - if (character !== lineFeed) { - return - } - - index-- - break - } - - queue += character - } - - if (silent) { - return true - } - - return eat(subvalue + queue)({ - type: 'heading', - depth: depth, - children: self.tokenizeInline(content, now) - }) -} diff --git a/tools/node_modules/eslint-plugin-markdown/node_modules/remark-parse/lib/tokenize/html-block.js b/tools/node_modules/eslint-plugin-markdown/node_modules/remark-parse/lib/tokenize/html-block.js deleted file mode 100644 index 149a71860f0460..00000000000000 --- a/tools/node_modules/eslint-plugin-markdown/node_modules/remark-parse/lib/tokenize/html-block.js +++ /dev/null @@ -1,111 +0,0 @@ -'use strict' - -var openCloseTag = require('../util/html').openCloseTag - -module.exports = blockHtml - -var tab = '\t' -var space = ' ' -var lineFeed = '\n' -var lessThan = '<' - -var rawOpenExpression = /^<(script|pre|style)(?=(\s|>|$))/i -var rawCloseExpression = /<\/(script|pre|style)>/i -var commentOpenExpression = /^/ -var instructionOpenExpression = /^<\?/ -var instructionCloseExpression = /\?>/ -var directiveOpenExpression = /^/ -var cdataOpenExpression = /^/ -var elementCloseExpression = /^$/ -var otherElementOpenExpression = new RegExp(openCloseTag.source + '\\s*$') - -function blockHtml(eat, value, silent) { - var self = this - var blocks = self.options.blocks.join('|') - var elementOpenExpression = new RegExp( - '^|$))', - 'i' - ) - var length = value.length - var index = 0 - var next - var line - var offset - var character - var count - var sequence - var subvalue - - var sequences = [ - [rawOpenExpression, rawCloseExpression, true], - [commentOpenExpression, commentCloseExpression, true], - [instructionOpenExpression, instructionCloseExpression, true], - [directiveOpenExpression, directiveCloseExpression, true], - [cdataOpenExpression, cdataCloseExpression, true], - [elementOpenExpression, elementCloseExpression, true], - [otherElementOpenExpression, elementCloseExpression, false] - ] - - // Eat initial spacing. - while (index < length) { - character = value.charAt(index) - - if (character !== tab && character !== space) { - break - } - - index++ - } - - if (value.charAt(index) !== lessThan) { - return - } - - next = value.indexOf(lineFeed, index + 1) - next = next === -1 ? length : next - line = value.slice(index, next) - offset = -1 - count = sequences.length - - while (++offset < count) { - if (sequences[offset][0].test(line)) { - sequence = sequences[offset] - break - } - } - - if (!sequence) { - return - } - - if (silent) { - return sequence[2] - } - - index = next - - if (!sequence[1].test(line)) { - while (index < length) { - next = value.indexOf(lineFeed, index + 1) - next = next === -1 ? length : next - line = value.slice(index + 1, next) - - if (sequence[1].test(line)) { - if (line) { - index = next - } - - break - } - - index = next - } - } - - subvalue = value.slice(0, index) - - return eat(subvalue)({type: 'html', value: subvalue}) -} diff --git a/tools/node_modules/eslint-plugin-markdown/node_modules/remark-parse/lib/tokenize/html-inline.js b/tools/node_modules/eslint-plugin-markdown/node_modules/remark-parse/lib/tokenize/html-inline.js deleted file mode 100644 index cca4fb40a36341..00000000000000 --- a/tools/node_modules/eslint-plugin-markdown/node_modules/remark-parse/lib/tokenize/html-inline.js +++ /dev/null @@ -1,59 +0,0 @@ -'use strict' - -var alphabetical = require('is-alphabetical') -var locate = require('../locate/tag') -var tag = require('../util/html').tag - -module.exports = inlineHTML -inlineHTML.locator = locate - -var lessThan = '<' -var questionMark = '?' -var exclamationMark = '!' -var slash = '/' - -var htmlLinkOpenExpression = /^/i - -function inlineHTML(eat, value, silent) { - var self = this - var length = value.length - var character - var subvalue - - if (value.charAt(0) !== lessThan || length < 3) { - return - } - - character = value.charAt(1) - - if ( - !alphabetical(character) && - character !== questionMark && - character !== exclamationMark && - character !== slash - ) { - return - } - - subvalue = value.match(tag) - - if (!subvalue) { - return - } - - /* istanbul ignore if - not used yet. */ - if (silent) { - return true - } - - subvalue = subvalue[0] - - if (!self.inLink && htmlLinkOpenExpression.test(subvalue)) { - self.inLink = true - } else if (self.inLink && htmlLinkCloseExpression.test(subvalue)) { - self.inLink = false - } - - return eat(subvalue)({type: 'html', value: subvalue}) -} diff --git a/tools/node_modules/eslint-plugin-markdown/node_modules/remark-parse/lib/tokenize/link.js b/tools/node_modules/eslint-plugin-markdown/node_modules/remark-parse/lib/tokenize/link.js deleted file mode 100644 index ab4d3fa3c5af54..00000000000000 --- a/tools/node_modules/eslint-plugin-markdown/node_modules/remark-parse/lib/tokenize/link.js +++ /dev/null @@ -1,381 +0,0 @@ -'use strict' - -var whitespace = require('is-whitespace-character') -var locate = require('../locate/link') - -module.exports = link -link.locator = locate - -var lineFeed = '\n' -var exclamationMark = '!' -var quotationMark = '"' -var apostrophe = "'" -var leftParenthesis = '(' -var rightParenthesis = ')' -var lessThan = '<' -var greaterThan = '>' -var leftSquareBracket = '[' -var backslash = '\\' -var rightSquareBracket = ']' -var graveAccent = '`' - -function link(eat, value, silent) { - var self = this - var subvalue = '' - var index = 0 - var character = value.charAt(0) - var pedantic = self.options.pedantic - var commonmark = self.options.commonmark - var gfm = self.options.gfm - var closed - var count - var opening - var beforeURL - var beforeTitle - var subqueue - var hasMarker - var isImage - var content - var marker - var length - var title - var depth - var queue - var url - var now - var exit - var node - - // Detect whether this is an image. - if (character === exclamationMark) { - isImage = true - subvalue = character - character = value.charAt(++index) - } - - // Eat the opening. - if (character !== leftSquareBracket) { - return - } - - // Exit when this is a link and we’re already inside a link. - if (!isImage && self.inLink) { - return - } - - subvalue += character - queue = '' - index++ - - // Eat the content. - length = value.length - now = eat.now() - depth = 0 - - now.column += index - now.offset += index - - while (index < length) { - character = value.charAt(index) - subqueue = character - - if (character === graveAccent) { - // Inline-code in link content. - count = 1 - - while (value.charAt(index + 1) === graveAccent) { - subqueue += character - index++ - count++ - } - - if (!opening) { - opening = count - } else if (count >= opening) { - opening = 0 - } - } else if (character === backslash) { - // Allow brackets to be escaped. - index++ - subqueue += value.charAt(index) - } else if ((!opening || gfm) && character === leftSquareBracket) { - // In GFM mode, brackets in code still count. In all other modes, - // they don’t. - depth++ - } else if ((!opening || gfm) && character === rightSquareBracket) { - if (depth) { - depth-- - } else { - // Allow white-space between content and url in GFM mode. - if (!pedantic) { - while (index < length) { - character = value.charAt(index + 1) - - if (!whitespace(character)) { - break - } - - subqueue += character - index++ - } - } - - if (value.charAt(index + 1) !== leftParenthesis) { - return - } - - subqueue += leftParenthesis - closed = true - index++ - - break - } - } - - queue += subqueue - subqueue = '' - index++ - } - - // Eat the content closing. - if (!closed) { - return - } - - content = queue - subvalue += queue + subqueue - index++ - - // Eat white-space. - while (index < length) { - character = value.charAt(index) - - if (!whitespace(character)) { - break - } - - subvalue += character - index++ - } - - // Eat the URL. - character = value.charAt(index) - queue = '' - beforeURL = subvalue - - if (character === lessThan) { - index++ - beforeURL += lessThan - - while (index < length) { - character = value.charAt(index) - - if (character === greaterThan) { - break - } - - if (commonmark && character === lineFeed) { - return - } - - queue += character - index++ - } - - if (value.charAt(index) !== greaterThan) { - return - } - - subvalue += lessThan + queue + greaterThan - url = queue - index++ - } else { - character = null - subqueue = '' - - while (index < length) { - character = value.charAt(index) - - if ( - subqueue && - (character === quotationMark || - character === apostrophe || - (commonmark && character === leftParenthesis)) - ) { - break - } - - if (whitespace(character)) { - if (!pedantic) { - break - } - - subqueue += character - } else { - if (character === leftParenthesis) { - depth++ - } else if (character === rightParenthesis) { - if (depth === 0) { - break - } - - depth-- - } - - queue += subqueue - subqueue = '' - - if (character === backslash) { - queue += backslash - character = value.charAt(++index) - } - - queue += character - } - - index++ - } - - subvalue += queue - url = queue - index = subvalue.length - } - - // Eat white-space. - queue = '' - - while (index < length) { - character = value.charAt(index) - - if (!whitespace(character)) { - break - } - - queue += character - index++ - } - - character = value.charAt(index) - subvalue += queue - - // Eat the title. - if ( - queue && - (character === quotationMark || - character === apostrophe || - (commonmark && character === leftParenthesis)) - ) { - index++ - subvalue += character - queue = '' - marker = character === leftParenthesis ? rightParenthesis : character - beforeTitle = subvalue - - // In commonmark-mode, things are pretty easy: the marker cannot occur - // inside the title. Non-commonmark does, however, support nested - // delimiters. - if (commonmark) { - while (index < length) { - character = value.charAt(index) - - if (character === marker) { - break - } - - if (character === backslash) { - queue += backslash - character = value.charAt(++index) - } - - index++ - queue += character - } - - character = value.charAt(index) - - if (character !== marker) { - return - } - - title = queue - subvalue += queue + character - index++ - - while (index < length) { - character = value.charAt(index) - - if (!whitespace(character)) { - break - } - - subvalue += character - index++ - } - } else { - subqueue = '' - - while (index < length) { - character = value.charAt(index) - - if (character === marker) { - if (hasMarker) { - queue += marker + subqueue - subqueue = '' - } - - hasMarker = true - } else if (!hasMarker) { - queue += character - } else if (character === rightParenthesis) { - subvalue += queue + marker + subqueue - title = queue - break - } else if (whitespace(character)) { - subqueue += character - } else { - queue += marker + subqueue + character - subqueue = '' - hasMarker = false - } - - index++ - } - } - } - - if (value.charAt(index) !== rightParenthesis) { - return - } - - /* istanbul ignore if - never used (yet) */ - if (silent) { - return true - } - - subvalue += rightParenthesis - - url = self.decode.raw(self.unescape(url), eat(beforeURL).test().end, { - nonTerminated: false - }) - - if (title) { - beforeTitle = eat(beforeTitle).test().end - title = self.decode.raw(self.unescape(title), beforeTitle) - } - - node = { - type: isImage ? 'image' : 'link', - title: title || null, - url: url - } - - if (isImage) { - node.alt = self.decode.raw(self.unescape(content), now) || null - } else { - exit = self.enterLink() - node.children = self.tokenizeInline(content, now) - exit() - } - - return eat(subvalue)(node) -} diff --git a/tools/node_modules/eslint-plugin-markdown/node_modules/remark-parse/lib/tokenize/list.js b/tools/node_modules/eslint-plugin-markdown/node_modules/remark-parse/lib/tokenize/list.js deleted file mode 100644 index 3eef0d668f0c2c..00000000000000 --- a/tools/node_modules/eslint-plugin-markdown/node_modules/remark-parse/lib/tokenize/list.js +++ /dev/null @@ -1,451 +0,0 @@ -'use strict' - -var trim = require('trim') -var repeat = require('repeat-string') -var decimal = require('is-decimal') -var getIndent = require('../util/get-indentation') -var removeIndent = require('../util/remove-indentation') -var interrupt = require('../util/interrupt') - -module.exports = list - -var asterisk = '*' -var underscore = '_' -var plusSign = '+' -var dash = '-' -var dot = '.' -var space = ' ' -var lineFeed = '\n' -var tab = '\t' -var rightParenthesis = ')' -var lowercaseX = 'x' - -var tabSize = 4 -var looseListItemExpression = /\n\n(?!\s*$)/ -var taskItemExpression = /^\[([ \t]|x|X)][ \t]/ -var bulletExpression = /^([ \t]*)([*+-]|\d+[.)])( {1,4}(?! )| |\t|$|(?=\n))([^\n]*)/ -var pedanticBulletExpression = /^([ \t]*)([*+-]|\d+[.)])([ \t]+)/ -var initialIndentExpression = /^( {1,4}|\t)?/gm - -function list(eat, value, silent) { - var self = this - var commonmark = self.options.commonmark - var pedantic = self.options.pedantic - var tokenizers = self.blockTokenizers - var interuptors = self.interruptList - var index = 0 - var length = value.length - var start = null - var size = 0 - var queue - var ordered - var character - var marker - var nextIndex - var startIndex - var prefixed - var currentMarker - var content - var line - var prevEmpty - var empty - var items - var allLines - var emptyLines - var item - var enterTop - var exitBlockquote - var spread = false - var node - var now - var end - var indented - - while (index < length) { - character = value.charAt(index) - - if (character === tab) { - size += tabSize - (size % tabSize) - } else if (character === space) { - size++ - } else { - break - } - - index++ - } - - if (size >= tabSize) { - return - } - - character = value.charAt(index) - - if (character === asterisk || character === plusSign || character === dash) { - marker = character - ordered = false - } else { - ordered = true - queue = '' - - while (index < length) { - character = value.charAt(index) - - if (!decimal(character)) { - break - } - - queue += character - index++ - } - - character = value.charAt(index) - - if ( - !queue || - !(character === dot || (commonmark && character === rightParenthesis)) - ) { - return - } - - start = parseInt(queue, 10) - marker = character - } - - character = value.charAt(++index) - - if ( - character !== space && - character !== tab && - (pedantic || (character !== lineFeed && character !== '')) - ) { - return - } - - if (silent) { - return true - } - - index = 0 - items = [] - allLines = [] - emptyLines = [] - - while (index < length) { - nextIndex = value.indexOf(lineFeed, index) - startIndex = index - prefixed = false - indented = false - - if (nextIndex === -1) { - nextIndex = length - } - - end = index + tabSize - size = 0 - - while (index < length) { - character = value.charAt(index) - - if (character === tab) { - size += tabSize - (size % tabSize) - } else if (character === space) { - size++ - } else { - break - } - - index++ - } - - if (size >= tabSize) { - indented = true - } - - if (item && size >= item.indent) { - indented = true - } - - character = value.charAt(index) - currentMarker = null - - if (!indented) { - if ( - character === asterisk || - character === plusSign || - character === dash - ) { - currentMarker = character - index++ - size++ - } else { - queue = '' - - while (index < length) { - character = value.charAt(index) - - if (!decimal(character)) { - break - } - - queue += character - index++ - } - - character = value.charAt(index) - index++ - - if ( - queue && - (character === dot || (commonmark && character === rightParenthesis)) - ) { - currentMarker = character - size += queue.length + 1 - } - } - - if (currentMarker) { - character = value.charAt(index) - - if (character === tab) { - size += tabSize - (size % tabSize) - index++ - } else if (character === space) { - end = index + tabSize - - while (index < end) { - if (value.charAt(index) !== space) { - break - } - - index++ - size++ - } - - if (index === end && value.charAt(index) === space) { - index -= tabSize - 1 - size -= tabSize - 1 - } - } else if (character !== lineFeed && character !== '') { - currentMarker = null - } - } - } - - if (currentMarker) { - if (!pedantic && marker !== currentMarker) { - break - } - - prefixed = true - } else { - if (!commonmark && !indented && value.charAt(startIndex) === space) { - indented = true - } else if (commonmark && item) { - indented = size >= item.indent || size > tabSize - } - - prefixed = false - index = startIndex - } - - line = value.slice(startIndex, nextIndex) - content = startIndex === index ? line : value.slice(index, nextIndex) - - if ( - currentMarker === asterisk || - currentMarker === underscore || - currentMarker === dash - ) { - if (tokenizers.thematicBreak.call(self, eat, line, true)) { - break - } - } - - prevEmpty = empty - empty = !prefixed && !trim(content).length - - if (indented && item) { - item.value = item.value.concat(emptyLines, line) - allLines = allLines.concat(emptyLines, line) - emptyLines = [] - } else if (prefixed) { - if (emptyLines.length !== 0) { - spread = true - item.value.push('') - item.trail = emptyLines.concat() - } - - item = { - value: [line], - indent: size, - trail: [] - } - - items.push(item) - allLines = allLines.concat(emptyLines, line) - emptyLines = [] - } else if (empty) { - if (prevEmpty && !commonmark) { - break - } - - emptyLines.push(line) - } else { - if (prevEmpty) { - break - } - - if (interrupt(interuptors, tokenizers, self, [eat, line, true])) { - break - } - - item.value = item.value.concat(emptyLines, line) - allLines = allLines.concat(emptyLines, line) - emptyLines = [] - } - - index = nextIndex + 1 - } - - node = eat(allLines.join(lineFeed)).reset({ - type: 'list', - ordered: ordered, - start: start, - spread: spread, - children: [] - }) - - enterTop = self.enterList() - exitBlockquote = self.enterBlock() - index = -1 - length = items.length - - while (++index < length) { - item = items[index].value.join(lineFeed) - now = eat.now() - - eat(item)(listItem(self, item, now), node) - - item = items[index].trail.join(lineFeed) - - if (index !== length - 1) { - item += lineFeed - } - - eat(item) - } - - enterTop() - exitBlockquote() - - return node -} - -function listItem(ctx, value, position) { - var offsets = ctx.offset - var fn = ctx.options.pedantic ? pedanticListItem : normalListItem - var checked = null - var task - var indent - - value = fn.apply(null, arguments) - - if (ctx.options.gfm) { - task = value.match(taskItemExpression) - - if (task) { - indent = task[0].length - checked = task[1].toLowerCase() === lowercaseX - offsets[position.line] += indent - value = value.slice(indent) - } - } - - return { - type: 'listItem', - spread: looseListItemExpression.test(value), - checked: checked, - children: ctx.tokenizeBlock(value, position) - } -} - -// Create a list-item using overly simple mechanics. -function pedanticListItem(ctx, value, position) { - var offsets = ctx.offset - var line = position.line - - // Remove the list-item’s bullet. - value = value.replace(pedanticBulletExpression, replacer) - - // The initial line was also matched by the below, so we reset the `line`. - line = position.line - - return value.replace(initialIndentExpression, replacer) - - // A simple replacer which removed all matches, and adds their length to - // `offset`. - function replacer($0) { - offsets[line] = (offsets[line] || 0) + $0.length - line++ - - return '' - } -} - -// Create a list-item using sane mechanics. -function normalListItem(ctx, value, position) { - var offsets = ctx.offset - var line = position.line - var max - var bullet - var rest - var lines - var trimmedLines - var index - var length - - // Remove the list-item’s bullet. - value = value.replace(bulletExpression, replacer) - - lines = value.split(lineFeed) - - trimmedLines = removeIndent(value, getIndent(max).indent).split(lineFeed) - - // We replaced the initial bullet with something else above, which was used - // to trick `removeIndentation` into removing some more characters when - // possible. However, that could result in the initial line to be stripped - // more than it should be. - trimmedLines[0] = rest - - offsets[line] = (offsets[line] || 0) + bullet.length - line++ - - index = 0 - length = lines.length - - while (++index < length) { - offsets[line] = - (offsets[line] || 0) + lines[index].length - trimmedLines[index].length - line++ - } - - return trimmedLines.join(lineFeed) - - /* eslint-disable-next-line max-params */ - function replacer($0, $1, $2, $3, $4) { - bullet = $1 + $2 + $3 - rest = $4 - - // Make sure that the first nine numbered list items can indent with an - // extra space. That is, when the bullet did not receive an extra final - // space. - if (Number($2) < 10 && bullet.length % 2 === 1) { - $2 = space + $2 - } - - max = $1 + repeat(space, $2.length) + $3 - - return max + rest - } -} diff --git a/tools/node_modules/eslint-plugin-markdown/node_modules/remark-parse/lib/tokenize/newline.js b/tools/node_modules/eslint-plugin-markdown/node_modules/remark-parse/lib/tokenize/newline.js deleted file mode 100644 index 680020cf09f47d..00000000000000 --- a/tools/node_modules/eslint-plugin-markdown/node_modules/remark-parse/lib/tokenize/newline.js +++ /dev/null @@ -1,48 +0,0 @@ -'use strict' - -var whitespace = require('is-whitespace-character') - -module.exports = newline - -var lineFeed = '\n' - -function newline(eat, value, silent) { - var character = value.charAt(0) - var length - var subvalue - var queue - var index - - if (character !== lineFeed) { - return - } - - /* istanbul ignore if - never used (yet) */ - if (silent) { - return true - } - - index = 1 - length = value.length - subvalue = character - queue = '' - - while (index < length) { - character = value.charAt(index) - - if (!whitespace(character)) { - break - } - - queue += character - - if (character === lineFeed) { - subvalue += queue - queue = '' - } - - index++ - } - - eat(subvalue) -} diff --git a/tools/node_modules/eslint-plugin-markdown/node_modules/remark-parse/lib/tokenize/paragraph.js b/tools/node_modules/eslint-plugin-markdown/node_modules/remark-parse/lib/tokenize/paragraph.js deleted file mode 100644 index 13db0ff4065cde..00000000000000 --- a/tools/node_modules/eslint-plugin-markdown/node_modules/remark-parse/lib/tokenize/paragraph.js +++ /dev/null @@ -1,117 +0,0 @@ -'use strict' - -var trim = require('trim') -var decimal = require('is-decimal') -var trimTrailingLines = require('trim-trailing-lines') -var interrupt = require('../util/interrupt') - -module.exports = paragraph - -var tab = '\t' -var lineFeed = '\n' -var space = ' ' - -var tabSize = 4 - -// Tokenise paragraph. -function paragraph(eat, value, silent) { - var self = this - var settings = self.options - var commonmark = settings.commonmark - var gfm = settings.gfm - var tokenizers = self.blockTokenizers - var interruptors = self.interruptParagraph - var index = value.indexOf(lineFeed) - var length = value.length - var position - var subvalue - var character - var size - var now - - while (index < length) { - // Eat everything if there’s no following newline. - if (index === -1) { - index = length - break - } - - // Stop if the next character is NEWLINE. - if (value.charAt(index + 1) === lineFeed) { - break - } - - // In commonmark-mode, following indented lines are part of the paragraph. - if (commonmark) { - size = 0 - position = index + 1 - - while (position < length) { - character = value.charAt(position) - - if (character === tab) { - size = tabSize - break - } else if (character === space) { - size++ - } else { - break - } - - position++ - } - - if (size >= tabSize && character !== lineFeed) { - index = value.indexOf(lineFeed, index + 1) - continue - } - } - - subvalue = value.slice(index + 1) - - // Check if the following code contains a possible block. - if (interrupt(interruptors, tokenizers, self, [eat, subvalue, true])) { - break - } - - // Break if the following line starts a list, when already in a list, or - // when in commonmark, or when in gfm mode and the bullet is *not* numeric. - if ( - tokenizers.list.call(self, eat, subvalue, true) && - (self.inList || - commonmark || - (gfm && !decimal(trim.left(subvalue).charAt(0)))) - ) { - break - } - - position = index - index = value.indexOf(lineFeed, index + 1) - - if (index !== -1 && trim(value.slice(position, index)) === '') { - index = position - break - } - } - - subvalue = value.slice(0, index) - - if (trim(subvalue) === '') { - eat(subvalue) - - return null - } - - /* istanbul ignore if - never used (yet) */ - if (silent) { - return true - } - - now = eat.now() - subvalue = trimTrailingLines(subvalue) - - return eat(subvalue)({ - type: 'paragraph', - children: self.tokenizeInline(subvalue, now) - }) -} diff --git a/tools/node_modules/eslint-plugin-markdown/node_modules/remark-parse/lib/tokenize/reference.js b/tools/node_modules/eslint-plugin-markdown/node_modules/remark-parse/lib/tokenize/reference.js deleted file mode 100644 index fdf753f73198e8..00000000000000 --- a/tools/node_modules/eslint-plugin-markdown/node_modules/remark-parse/lib/tokenize/reference.js +++ /dev/null @@ -1,221 +0,0 @@ -'use strict' - -var whitespace = require('is-whitespace-character') -var locate = require('../locate/link') -var normalize = require('../util/normalize') - -module.exports = reference -reference.locator = locate - -var link = 'link' -var image = 'image' -var footnote = 'footnote' -var shortcut = 'shortcut' -var collapsed = 'collapsed' -var full = 'full' -var space = ' ' -var exclamationMark = '!' -var leftSquareBracket = '[' -var backslash = '\\' -var rightSquareBracket = ']' -var caret = '^' - -function reference(eat, value, silent) { - var self = this - var commonmark = self.options.commonmark - var footnotes = self.options.footnotes - var character = value.charAt(0) - var index = 0 - var length = value.length - var subvalue = '' - var intro = '' - var type = link - var referenceType = shortcut - var content - var identifier - var now - var node - var exit - var queue - var bracketed - var depth - - // Check whether we’re eating an image. - if (character === exclamationMark) { - type = image - intro = character - character = value.charAt(++index) - } - - if (character !== leftSquareBracket) { - return - } - - index++ - intro += character - queue = '' - - // Check whether we’re eating a footnote. - if (footnotes && value.charAt(index) === caret) { - // Exit if `![^` is found, so the `!` will be seen as text after this, - // and we’ll enter this function again when `[^` is found. - if (type === image) { - return - } - - intro += caret - index++ - type = footnote - } - - // Eat the text. - depth = 0 - - while (index < length) { - character = value.charAt(index) - - if (character === leftSquareBracket) { - bracketed = true - depth++ - } else if (character === rightSquareBracket) { - if (!depth) { - break - } - - depth-- - } - - if (character === backslash) { - queue += backslash - character = value.charAt(++index) - } - - queue += character - index++ - } - - subvalue = queue - content = queue - character = value.charAt(index) - - if (character !== rightSquareBracket) { - return - } - - index++ - subvalue += character - queue = '' - - if (!commonmark) { - // The original markdown syntax definition explicitly allows for whitespace - // between the link text and link label; commonmark departs from this, in - // part to improve support for shortcut reference links - while (index < length) { - character = value.charAt(index) - - if (!whitespace(character)) { - break - } - - queue += character - index++ - } - } - - character = value.charAt(index) - - // Inline footnotes cannot have a label. - // If footnotes are enabled, link labels cannot start with a caret. - if ( - type !== footnote && - character === leftSquareBracket && - (!footnotes || value.charAt(index + 1) !== caret) - ) { - identifier = '' - queue += character - index++ - - while (index < length) { - character = value.charAt(index) - - if (character === leftSquareBracket || character === rightSquareBracket) { - break - } - - if (character === backslash) { - identifier += backslash - character = value.charAt(++index) - } - - identifier += character - index++ - } - - character = value.charAt(index) - - if (character === rightSquareBracket) { - referenceType = identifier ? full : collapsed - queue += identifier + character - index++ - } else { - identifier = '' - } - - subvalue += queue - queue = '' - } else { - if (!content) { - return - } - - identifier = content - } - - // Brackets cannot be inside the identifier. - if (referenceType !== full && bracketed) { - return - } - - subvalue = intro + subvalue - - if (type === link && self.inLink) { - return null - } - - /* istanbul ignore if - never used (yet) */ - if (silent) { - return true - } - - if (type === footnote && content.indexOf(space) !== -1) { - return eat(subvalue)({ - type: footnote, - children: this.tokenizeInline(content, eat.now()) - }) - } - - now = eat.now() - now.column += intro.length - now.offset += intro.length - identifier = referenceType === full ? identifier : content - - node = { - type: type + 'Reference', - identifier: normalize(identifier), - label: identifier - } - - if (type === link || type === image) { - node.referenceType = referenceType - } - - if (type === link) { - exit = self.enterLink() - node.children = self.tokenizeInline(content, now) - exit() - } else if (type === image) { - node.alt = self.decode.raw(self.unescape(content), now) || null - } - - return eat(subvalue)(node) -} diff --git a/tools/node_modules/eslint-plugin-markdown/node_modules/remark-parse/lib/tokenize/strong.js b/tools/node_modules/eslint-plugin-markdown/node_modules/remark-parse/lib/tokenize/strong.js deleted file mode 100644 index 3e36462a774aa2..00000000000000 --- a/tools/node_modules/eslint-plugin-markdown/node_modules/remark-parse/lib/tokenize/strong.js +++ /dev/null @@ -1,85 +0,0 @@ -'use strict' - -var trim = require('trim') -var whitespace = require('is-whitespace-character') -var locate = require('../locate/strong') - -module.exports = strong -strong.locator = locate - -var backslash = '\\' -var asterisk = '*' -var underscore = '_' - -function strong(eat, value, silent) { - var self = this - var index = 0 - var character = value.charAt(index) - var now - var pedantic - var marker - var queue - var subvalue - var length - var prev - - if ( - (character !== asterisk && character !== underscore) || - value.charAt(++index) !== character - ) { - return - } - - pedantic = self.options.pedantic - marker = character - subvalue = marker + marker - length = value.length - index++ - queue = '' - character = '' - - if (pedantic && whitespace(value.charAt(index))) { - return - } - - while (index < length) { - prev = character - character = value.charAt(index) - - if ( - character === marker && - value.charAt(index + 1) === marker && - (!pedantic || !whitespace(prev)) - ) { - character = value.charAt(index + 2) - - if (character !== marker) { - if (!trim(queue)) { - return - } - - /* istanbul ignore if - never used (yet) */ - if (silent) { - return true - } - - now = eat.now() - now.column += 2 - now.offset += 2 - - return eat(subvalue + queue + subvalue)({ - type: 'strong', - children: self.tokenizeInline(queue, now) - }) - } - } - - if (!pedantic && character === backslash) { - queue += character - character = value.charAt(++index) - } - - queue += character - index++ - } -} diff --git a/tools/node_modules/eslint-plugin-markdown/node_modules/remark-parse/lib/tokenize/table.js b/tools/node_modules/eslint-plugin-markdown/node_modules/remark-parse/lib/tokenize/table.js deleted file mode 100644 index ba165d78e8336c..00000000000000 --- a/tools/node_modules/eslint-plugin-markdown/node_modules/remark-parse/lib/tokenize/table.js +++ /dev/null @@ -1,232 +0,0 @@ -'use strict' - -var whitespace = require('is-whitespace-character') - -module.exports = table - -var tab = '\t' -var lineFeed = '\n' -var space = ' ' -var dash = '-' -var colon = ':' -var backslash = '\\' -var verticalBar = '|' - -var minColumns = 1 -var minRows = 2 - -var left = 'left' -var center = 'center' -var right = 'right' - -function table(eat, value, silent) { - var self = this - var index - var alignments - var alignment - var subvalue - var row - var length - var lines - var queue - var character - var hasDash - var align - var cell - var preamble - var now - var position - var lineCount - var line - var rows - var table - var lineIndex - var pipeIndex - var first - - // Exit when not in gfm-mode. - if (!self.options.gfm) { - return - } - - // Get the rows. - // Detecting tables soon is hard, so there are some checks for performance - // here, such as the minimum number of rows, and allowed characters in the - // alignment row. - index = 0 - lineCount = 0 - length = value.length + 1 - lines = [] - - while (index < length) { - lineIndex = value.indexOf(lineFeed, index) - pipeIndex = value.indexOf(verticalBar, index + 1) - - if (lineIndex === -1) { - lineIndex = value.length - } - - if (pipeIndex === -1 || pipeIndex > lineIndex) { - if (lineCount < minRows) { - return - } - - break - } - - lines.push(value.slice(index, lineIndex)) - lineCount++ - index = lineIndex + 1 - } - - // Parse the alignment row. - subvalue = lines.join(lineFeed) - alignments = lines.splice(1, 1)[0] || [] - index = 0 - length = alignments.length - lineCount-- - alignment = false - align = [] - - while (index < length) { - character = alignments.charAt(index) - - if (character === verticalBar) { - hasDash = null - - if (alignment === false) { - if (first === false) { - return - } - } else { - align.push(alignment) - alignment = false - } - - first = false - } else if (character === dash) { - hasDash = true - alignment = alignment || null - } else if (character === colon) { - if (alignment === left) { - alignment = center - } else if (hasDash && alignment === null) { - alignment = right - } else { - alignment = left - } - } else if (!whitespace(character)) { - return - } - - index++ - } - - if (alignment !== false) { - align.push(alignment) - } - - // Exit when without enough columns. - if (align.length < minColumns) { - return - } - - /* istanbul ignore if - never used (yet) */ - if (silent) { - return true - } - - // Parse the rows. - position = -1 - rows = [] - - table = eat(subvalue).reset({type: 'table', align: align, children: rows}) - - while (++position < lineCount) { - line = lines[position] - row = {type: 'tableRow', children: []} - - // Eat a newline character when this is not the first row. - if (position) { - eat(lineFeed) - } - - // Eat the row. - eat(line).reset(row, table) - - length = line.length + 1 - index = 0 - queue = '' - cell = '' - preamble = true - - while (index < length) { - character = line.charAt(index) - - if (character === tab || character === space) { - if (cell) { - queue += character - } else { - eat(character) - } - - index++ - continue - } - - if (character === '' || character === verticalBar) { - if (preamble) { - eat(character) - } else { - if ((cell || character) && !preamble) { - subvalue = cell - - if (queue.length > 1) { - if (character) { - subvalue += queue.slice(0, queue.length - 1) - queue = queue.charAt(queue.length - 1) - } else { - subvalue += queue - queue = '' - } - } - - now = eat.now() - - eat(subvalue)( - {type: 'tableCell', children: self.tokenizeInline(cell, now)}, - row - ) - } - - eat(queue + character) - - queue = '' - cell = '' - } - } else { - if (queue) { - cell += queue - queue = '' - } - - cell += character - - if (character === backslash && index !== length - 2) { - cell += line.charAt(index + 1) - index++ - } - } - - preamble = false - index++ - } - - // Eat the alignment row. - if (!position) { - eat(lineFeed + alignments) - } - } - - return table -} diff --git a/tools/node_modules/eslint-plugin-markdown/node_modules/remark-parse/lib/tokenize/text.js b/tools/node_modules/eslint-plugin-markdown/node_modules/remark-parse/lib/tokenize/text.js deleted file mode 100644 index c9085ee3011d0e..00000000000000 --- a/tools/node_modules/eslint-plugin-markdown/node_modules/remark-parse/lib/tokenize/text.js +++ /dev/null @@ -1,57 +0,0 @@ -'use strict' - -module.exports = text - -function text(eat, value, silent) { - var self = this - var methods - var tokenizers - var index - var length - var subvalue - var position - var tokenizer - var name - var min - var now - - /* istanbul ignore if - never used (yet) */ - if (silent) { - return true - } - - methods = self.inlineMethods - length = methods.length - tokenizers = self.inlineTokenizers - index = -1 - min = value.length - - while (++index < length) { - name = methods[index] - - if (name === 'text' || !tokenizers[name]) { - continue - } - - tokenizer = tokenizers[name].locator - - if (!tokenizer) { - eat.file.fail('Missing locator: `' + name + '`') - } - - position = tokenizer.call(self, value, 1) - - if (position !== -1 && position < min) { - min = position - } - } - - subvalue = value.slice(0, min) - now = eat.now() - - self.decode(subvalue, now, handler) - - function handler(content, position, source) { - eat(source || content)({type: 'text', value: content}) - } -} diff --git a/tools/node_modules/eslint-plugin-markdown/node_modules/remark-parse/lib/tokenize/thematic-break.js b/tools/node_modules/eslint-plugin-markdown/node_modules/remark-parse/lib/tokenize/thematic-break.js deleted file mode 100644 index 6844c8c705af8c..00000000000000 --- a/tools/node_modules/eslint-plugin-markdown/node_modules/remark-parse/lib/tokenize/thematic-break.js +++ /dev/null @@ -1,70 +0,0 @@ -'use strict' - -module.exports = thematicBreak - -var tab = '\t' -var lineFeed = '\n' -var space = ' ' -var asterisk = '*' -var dash = '-' -var underscore = '_' - -var maxCount = 3 - -function thematicBreak(eat, value, silent) { - var index = -1 - var length = value.length + 1 - var subvalue = '' - var character - var marker - var markerCount - var queue - - while (++index < length) { - character = value.charAt(index) - - if (character !== tab && character !== space) { - break - } - - subvalue += character - } - - if ( - character !== asterisk && - character !== dash && - character !== underscore - ) { - return - } - - marker = character - subvalue += character - markerCount = 1 - queue = '' - - while (++index < length) { - character = value.charAt(index) - - if (character === marker) { - markerCount++ - subvalue += queue + marker - queue = '' - } else if (character === space) { - queue += character - } else if ( - markerCount >= maxCount && - (!character || character === lineFeed) - ) { - subvalue += queue - - if (silent) { - return true - } - - return eat(subvalue)({type: 'thematicBreak'}) - } else { - return - } - } -} diff --git a/tools/node_modules/eslint-plugin-markdown/node_modules/remark-parse/lib/tokenize/url.js b/tools/node_modules/eslint-plugin-markdown/node_modules/remark-parse/lib/tokenize/url.js deleted file mode 100644 index 92d1c6229bb27c..00000000000000 --- a/tools/node_modules/eslint-plugin-markdown/node_modules/remark-parse/lib/tokenize/url.js +++ /dev/null @@ -1,153 +0,0 @@ -'use strict' - -var decode = require('parse-entities') -var whitespace = require('is-whitespace-character') -var locate = require('../locate/url') - -module.exports = url -url.locator = locate -url.notInLink = true - -var quotationMark = '"' -var apostrophe = "'" -var leftParenthesis = '(' -var rightParenthesis = ')' -var comma = ',' -var dot = '.' -var colon = ':' -var semicolon = ';' -var lessThan = '<' -var atSign = '@' -var leftSquareBracket = '[' -var rightSquareBracket = ']' - -var http = 'http://' -var https = 'https://' -var mailto = 'mailto:' - -var protocols = [http, https, mailto] - -var protocolsLength = protocols.length - -function url(eat, value, silent) { - var self = this - var subvalue - var content - var character - var index - var position - var protocol - var match - var length - var queue - var parenCount - var nextCharacter - var tokenizers - var exit - - if (!self.options.gfm) { - return - } - - subvalue = '' - index = -1 - - while (++index < protocolsLength) { - protocol = protocols[index] - match = value.slice(0, protocol.length) - - if (match.toLowerCase() === protocol) { - subvalue = match - break - } - } - - if (!subvalue) { - return - } - - index = subvalue.length - length = value.length - queue = '' - parenCount = 0 - - while (index < length) { - character = value.charAt(index) - - if (whitespace(character) || character === lessThan) { - break - } - - if ( - character === dot || - character === comma || - character === colon || - character === semicolon || - character === quotationMark || - character === apostrophe || - character === rightParenthesis || - character === rightSquareBracket - ) { - nextCharacter = value.charAt(index + 1) - - if (!nextCharacter || whitespace(nextCharacter)) { - break - } - } - - if (character === leftParenthesis || character === leftSquareBracket) { - parenCount++ - } - - if (character === rightParenthesis || character === rightSquareBracket) { - parenCount-- - - if (parenCount < 0) { - break - } - } - - queue += character - index++ - } - - if (!queue) { - return - } - - subvalue += queue - content = subvalue - - if (protocol === mailto) { - position = queue.indexOf(atSign) - - if (position === -1 || position === length - 1) { - return - } - - content = content.slice(mailto.length) - } - - /* istanbul ignore if - never used (yet) */ - if (silent) { - return true - } - - exit = self.enterLink() - - // Temporarily remove all tokenizers except text in url. - tokenizers = self.inlineTokenizers - self.inlineTokenizers = {text: tokenizers.text} - - content = self.tokenizeInline(content, eat.now()) - - self.inlineTokenizers = tokenizers - exit() - - return eat(subvalue)({ - type: 'link', - title: null, - url: decode(subvalue, {nonTerminated: false}), - children: content - }) -} diff --git a/tools/node_modules/eslint-plugin-markdown/node_modules/remark-parse/lib/tokenizer.js b/tools/node_modules/eslint-plugin-markdown/node_modules/remark-parse/lib/tokenizer.js deleted file mode 100644 index a4e2b4cf965090..00000000000000 --- a/tools/node_modules/eslint-plugin-markdown/node_modules/remark-parse/lib/tokenizer.js +++ /dev/null @@ -1,314 +0,0 @@ -'use strict' - -module.exports = factory - -// Construct a tokenizer. This creates both `tokenizeInline` and `tokenizeBlock`. -function factory(type) { - return tokenize - - // Tokenizer for a bound `type`. - function tokenize(value, location) { - var self = this - var offset = self.offset - var tokens = [] - var methods = self[type + 'Methods'] - var tokenizers = self[type + 'Tokenizers'] - var line = location.line - var column = location.column - var index - var length - var method - var name - var matched - var valueLength - - // Trim white space only lines. - if (!value) { - return tokens - } - - // Expose on `eat`. - eat.now = now - eat.file = self.file - - // Sync initial offset. - updatePosition('') - - // Iterate over `value`, and iterate over all tokenizers. When one eats - // something, re-iterate with the remaining value. If no tokenizer eats, - // something failed (should not happen) and an exception is thrown. - while (value) { - index = -1 - length = methods.length - matched = false - - while (++index < length) { - name = methods[index] - method = tokenizers[name] - - if ( - method && - /* istanbul ignore next */ (!method.onlyAtStart || self.atStart) && - (!method.notInList || !self.inList) && - (!method.notInBlock || !self.inBlock) && - (!method.notInLink || !self.inLink) - ) { - valueLength = value.length - - method.apply(self, [eat, value]) - - matched = valueLength !== value.length - - if (matched) { - break - } - } - } - - /* istanbul ignore if */ - if (!matched) { - self.file.fail(new Error('Infinite loop'), eat.now()) - } - } - - self.eof = now() - - return tokens - - // Update line, column, and offset based on `value`. - function updatePosition(subvalue) { - var lastIndex = -1 - var index = subvalue.indexOf('\n') - - while (index !== -1) { - line++ - lastIndex = index - index = subvalue.indexOf('\n', index + 1) - } - - if (lastIndex === -1) { - column += subvalue.length - } else { - column = subvalue.length - lastIndex - } - - if (line in offset) { - if (lastIndex !== -1) { - column += offset[line] - } else if (column <= offset[line]) { - column = offset[line] + 1 - } - } - } - - // Get offset. Called before the first character is eaten to retrieve the - // range’s offsets. - function getOffset() { - var indentation = [] - var pos = line + 1 - - // Done. Called when the last character is eaten to retrieve the range’s - // offsets. - return function() { - var last = line + 1 - - while (pos < last) { - indentation.push((offset[pos] || 0) + 1) - - pos++ - } - - return indentation - } - } - - // Get the current position. - function now() { - var pos = {line: line, column: column} - - pos.offset = self.toOffset(pos) - - return pos - } - - // Store position information for a node. - function Position(start) { - this.start = start - this.end = now() - } - - // Throw when a value is incorrectly eaten. This shouldn’t happen but will - // throw on new, incorrect rules. - function validateEat(subvalue) { - /* istanbul ignore if */ - if (value.slice(0, subvalue.length) !== subvalue) { - // Capture stack-trace. - self.file.fail( - new Error( - 'Incorrectly eaten value: please report this warning on https://git.io/vg5Ft' - ), - now() - ) - } - } - - // Mark position and patch `node.position`. - function position() { - var before = now() - - return update - - // Add the position to a node. - function update(node, indent) { - var prev = node.position - var start = prev ? prev.start : before - var combined = [] - var n = prev && prev.end.line - var l = before.line - - node.position = new Position(start) - - // If there was already a `position`, this node was merged. Fixing - // `start` wasn’t hard, but the indent is different. Especially - // because some information, the indent between `n` and `l` wasn’t - // tracked. Luckily, that space is (should be?) empty, so we can - // safely check for it now. - if (prev && indent && prev.indent) { - combined = prev.indent - - if (n < l) { - while (++n < l) { - combined.push((offset[n] || 0) + 1) - } - - combined.push(before.column) - } - - indent = combined.concat(indent) - } - - node.position.indent = indent || [] - - return node - } - } - - // Add `node` to `parent`s children or to `tokens`. Performs merges where - // possible. - function add(node, parent) { - var children = parent ? parent.children : tokens - var prev = children[children.length - 1] - var fn - - if ( - prev && - node.type === prev.type && - (node.type === 'text' || node.type === 'blockquote') && - mergeable(prev) && - mergeable(node) - ) { - fn = node.type === 'text' ? mergeText : mergeBlockquote - node = fn.call(self, prev, node) - } - - if (node !== prev) { - children.push(node) - } - - if (self.atStart && tokens.length !== 0) { - self.exitStart() - } - - return node - } - - // Remove `subvalue` from `value`. `subvalue` must be at the start of - // `value`. - function eat(subvalue) { - var indent = getOffset() - var pos = position() - var current = now() - - validateEat(subvalue) - - apply.reset = reset - reset.test = test - apply.test = test - - value = value.slice(subvalue.length) - - updatePosition(subvalue) - - indent = indent() - - return apply - - // Add the given arguments, add `position` to the returned node, and - // return the node. - function apply(node, parent) { - return pos(add(pos(node), parent), indent) - } - - // Functions just like apply, but resets the content: the line and - // column are reversed, and the eaten value is re-added. This is - // useful for nodes with a single type of content, such as lists and - // tables. See `apply` above for what parameters are expected. - function reset() { - var node = apply.apply(null, arguments) - - line = current.line - column = current.column - value = subvalue + value - - return node - } - - // Test the position, after eating, and reverse to a not-eaten state. - function test() { - var result = pos({}) - - line = current.line - column = current.column - value = subvalue + value - - return result.position - } - } - } -} - -// Check whether a node is mergeable with adjacent nodes. -function mergeable(node) { - var start - var end - - if (node.type !== 'text' || !node.position) { - return true - } - - start = node.position.start - end = node.position.end - - // Only merge nodes which occupy the same size as their `value`. - return ( - start.line !== end.line || end.column - start.column === node.value.length - ) -} - -// Merge two text nodes: `node` into `prev`. -function mergeText(prev, node) { - prev.value += node.value - - return prev -} - -// Merge two blockquotes: `node` into `prev`, unless in CommonMark or gfm modes. -function mergeBlockquote(prev, node) { - if (this.options.commonmark || this.options.gfm) { - return node - } - - prev.children = prev.children.concat(node.children) - - return prev -} diff --git a/tools/node_modules/eslint-plugin-markdown/node_modules/remark-parse/lib/unescape.js b/tools/node_modules/eslint-plugin-markdown/node_modules/remark-parse/lib/unescape.js deleted file mode 100644 index 90cdb74c09925b..00000000000000 --- a/tools/node_modules/eslint-plugin-markdown/node_modules/remark-parse/lib/unescape.js +++ /dev/null @@ -1,36 +0,0 @@ -'use strict' - -module.exports = factory - -var backslash = '\\' - -// Factory to de-escape a value, based on a list at `key` in `ctx`. -function factory(ctx, key) { - return unescape - - // De-escape a string using the expression at `key` in `ctx`. - function unescape(value) { - var prev = 0 - var index = value.indexOf(backslash) - var escape = ctx[key] - var queue = [] - var character - - while (index !== -1) { - queue.push(value.slice(prev, index)) - prev = index + 1 - character = value.charAt(prev) - - // If the following character is not a valid escape, add the slash. - if (!character || escape.indexOf(character) === -1) { - queue.push(backslash) - } - - index = value.indexOf(backslash, prev + 1) - } - - queue.push(value.slice(prev)) - - return queue.join('') - } -} diff --git a/tools/node_modules/eslint-plugin-markdown/node_modules/remark-parse/lib/util/get-indentation.js b/tools/node_modules/eslint-plugin-markdown/node_modules/remark-parse/lib/util/get-indentation.js deleted file mode 100644 index 5ab3efd73f7d00..00000000000000 --- a/tools/node_modules/eslint-plugin-markdown/node_modules/remark-parse/lib/util/get-indentation.js +++ /dev/null @@ -1,33 +0,0 @@ -'use strict' - -module.exports = indentation - -var tab = '\t' -var space = ' ' - -var spaceSize = 1 -var tabSize = 4 - -// Gets indentation information for a line. -function indentation(value) { - var index = 0 - var indent = 0 - var character = value.charAt(index) - var stops = {} - var size - - while (character === tab || character === space) { - size = character === tab ? tabSize : spaceSize - - indent += size - - if (size > 1) { - indent = Math.floor(indent / size) * size - } - - stops[indent] = index - character = value.charAt(++index) - } - - return {indent: indent, stops: stops} -} diff --git a/tools/node_modules/eslint-plugin-markdown/node_modules/remark-parse/lib/util/html.js b/tools/node_modules/eslint-plugin-markdown/node_modules/remark-parse/lib/util/html.js deleted file mode 100644 index 49b7a38fca1746..00000000000000 --- a/tools/node_modules/eslint-plugin-markdown/node_modules/remark-parse/lib/util/html.js +++ /dev/null @@ -1,34 +0,0 @@ -'use strict' - -var attributeName = '[a-zA-Z_:][a-zA-Z0-9:._-]*' -var unquoted = '[^"\'=<>`\\u0000-\\u0020]+' -var singleQuoted = "'[^']*'" -var doubleQuoted = '"[^"]*"' -var attributeValue = - '(?:' + unquoted + '|' + singleQuoted + '|' + doubleQuoted + ')' -var attribute = - '(?:\\s+' + attributeName + '(?:\\s*=\\s*' + attributeValue + ')?)' -var openTag = '<[A-Za-z][A-Za-z0-9\\-]*' + attribute + '*\\s*\\/?>' -var closeTag = '<\\/[A-Za-z][A-Za-z0-9\\-]*\\s*>' -var comment = '|' -var processing = '<[?].*?[?]>' -var declaration = ']*>' -var cdata = '' - -exports.openCloseTag = new RegExp('^(?:' + openTag + '|' + closeTag + ')') - -exports.tag = new RegExp( - '^(?:' + - openTag + - '|' + - closeTag + - '|' + - comment + - '|' + - processing + - '|' + - declaration + - '|' + - cdata + - ')' -) diff --git a/tools/node_modules/eslint-plugin-markdown/node_modules/remark-parse/lib/util/interrupt.js b/tools/node_modules/eslint-plugin-markdown/node_modules/remark-parse/lib/util/interrupt.js deleted file mode 100644 index e707c8b13c394d..00000000000000 --- a/tools/node_modules/eslint-plugin-markdown/node_modules/remark-parse/lib/util/interrupt.js +++ /dev/null @@ -1,35 +0,0 @@ -'use strict' - -module.exports = interrupt - -function interrupt(interruptors, tokenizers, ctx, params) { - var length = interruptors.length - var index = -1 - var interruptor - var config - - while (++index < length) { - interruptor = interruptors[index] - config = interruptor[1] || {} - - if ( - config.pedantic !== undefined && - config.pedantic !== ctx.options.pedantic - ) { - continue - } - - if ( - config.commonmark !== undefined && - config.commonmark !== ctx.options.commonmark - ) { - continue - } - - if (tokenizers[interruptor[0]].apply(ctx, params)) { - return true - } - } - - return false -} diff --git a/tools/node_modules/eslint-plugin-markdown/node_modules/remark-parse/lib/util/is-markdown-whitespace-character.js b/tools/node_modules/eslint-plugin-markdown/node_modules/remark-parse/lib/util/is-markdown-whitespace-character.js deleted file mode 100644 index ff6f4bbd4b91ed..00000000000000 --- a/tools/node_modules/eslint-plugin-markdown/node_modules/remark-parse/lib/util/is-markdown-whitespace-character.js +++ /dev/null @@ -1,27 +0,0 @@ -'use strict' - -module.exports = whitespace - -var tab = 9 // '\t' -var lineFeed = 10 // '\n' -var lineTabulation = 11 // '\v' -var formFeed = 12 // '\f' -var carriageReturn = 13 // '\r' -var space = 32 // ' ' - -function whitespace(char) { - /* istanbul ignore next - `number` handling for future */ - var code = typeof char === 'number' ? char : char.charCodeAt(0) - - switch (code) { - case tab: - case lineFeed: - case lineTabulation: - case formFeed: - case carriageReturn: - case space: - return true - default: - return false - } -} diff --git a/tools/node_modules/eslint-plugin-markdown/node_modules/remark-parse/lib/util/normalize.js b/tools/node_modules/eslint-plugin-markdown/node_modules/remark-parse/lib/util/normalize.js deleted file mode 100644 index 7057c0a1e5e737..00000000000000 --- a/tools/node_modules/eslint-plugin-markdown/node_modules/remark-parse/lib/util/normalize.js +++ /dev/null @@ -1,11 +0,0 @@ -'use strict' - -var collapseWhiteSpace = require('collapse-white-space') - -module.exports = normalize - -// Normalize an identifier. Collapses multiple white space characters into a -// single space, and removes casing. -function normalize(value) { - return collapseWhiteSpace(value).toLowerCase() -} diff --git a/tools/node_modules/eslint-plugin-markdown/node_modules/remark-parse/lib/util/remove-indentation.js b/tools/node_modules/eslint-plugin-markdown/node_modules/remark-parse/lib/util/remove-indentation.js deleted file mode 100644 index 06b6a781dfd61f..00000000000000 --- a/tools/node_modules/eslint-plugin-markdown/node_modules/remark-parse/lib/util/remove-indentation.js +++ /dev/null @@ -1,77 +0,0 @@ -'use strict' - -var trim = require('trim') -var repeat = require('repeat-string') -var getIndent = require('./get-indentation') - -module.exports = indentation - -var tab = '\t' -var lineFeed = '\n' -var space = ' ' -var exclamationMark = '!' - -// Remove the minimum indent from every line in `value`. Supports both tab, -// spaced, and mixed indentation (as well as possible). -function indentation(value, maximum) { - var values = value.split(lineFeed) - var position = values.length + 1 - var minIndent = Infinity - var matrix = [] - var index - var indentation - var stops - var padding - - values.unshift(repeat(space, maximum) + exclamationMark) - - while (position--) { - indentation = getIndent(values[position]) - - matrix[position] = indentation.stops - - if (trim(values[position]).length === 0) { - continue - } - - if (indentation.indent) { - if (indentation.indent > 0 && indentation.indent < minIndent) { - minIndent = indentation.indent - } - } else { - minIndent = Infinity - - break - } - } - - if (minIndent !== Infinity) { - position = values.length - - while (position--) { - stops = matrix[position] - index = minIndent - - while (index && !(index in stops)) { - index-- - } - - if ( - trim(values[position]).length !== 0 && - minIndent && - index !== minIndent - ) { - padding = tab - } else { - padding = '' - } - - values[position] = - padding + values[position].slice(index in stops ? stops[index] + 1 : 0) - } - } - - values.shift() - - return values.join(lineFeed) -} diff --git a/tools/node_modules/eslint-plugin-markdown/node_modules/remark-parse/package.json b/tools/node_modules/eslint-plugin-markdown/node_modules/remark-parse/package.json deleted file mode 100644 index e5fc0656ccf665..00000000000000 --- a/tools/node_modules/eslint-plugin-markdown/node_modules/remark-parse/package.json +++ /dev/null @@ -1,60 +0,0 @@ -{ - "name": "remark-parse", - "version": "7.0.2", - "description": "remark plugin to parse Markdown", - "license": "MIT", - "keywords": [ - "unified", - "remark", - "plugin", - "markdown", - "mdast", - "abstract", - "syntax", - "tree", - "ast", - "parse" - ], - "types": "types/index.d.ts", - "homepage": "https://remark.js.org", - "repository": "https://github.com/remarkjs/remark/tree/master/packages/remark-parse", - "bugs": "https://github.com/remarkjs/remark/issues", - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/unified" - }, - "author": "Titus Wormer (https://wooorm.com)", - "contributors": [ - "Titus Wormer (https://wooorm.com)", - "Eugene Sharygin ", - "Junyoung Choi ", - "Elijah Hamovitz ", - "Ika " - ], - "files": [ - "index.js", - "lib", - "types/index.d.ts" - ], - "dependencies": { - "collapse-white-space": "^1.0.2", - "is-alphabetical": "^1.0.0", - "is-decimal": "^1.0.0", - "is-whitespace-character": "^1.0.0", - "is-word-character": "^1.0.0", - "markdown-escapes": "^1.0.0", - "parse-entities": "^1.1.0", - "repeat-string": "^1.5.4", - "state-toggle": "^1.0.0", - "trim": "0.0.1", - "trim-trailing-lines": "^1.0.0", - "unherit": "^1.0.4", - "unist-util-remove-position": "^1.0.0", - "vfile-location": "^2.0.0", - "xtend": "^4.0.1" - }, - "scripts": { - "test": "tape test.js" - }, - "xo": false -} diff --git a/tools/node_modules/eslint-plugin-markdown/node_modules/remark-parse/readme.md b/tools/node_modules/eslint-plugin-markdown/node_modules/remark-parse/readme.md deleted file mode 100644 index f9d1e8ae5751a4..00000000000000 --- a/tools/node_modules/eslint-plugin-markdown/node_modules/remark-parse/readme.md +++ /dev/null @@ -1,597 +0,0 @@ -# remark-parse - -[![Build][build-badge]][build] -[![Coverage][coverage-badge]][coverage] -[![Downloads][downloads-badge]][downloads] -[![Size][size-badge]][size] -[![Sponsors][sponsors-badge]][collective] -[![Backers][backers-badge]][collective] -[![Chat][chat-badge]][chat] - -[Parser][] for [**unified**][unified]. -Parses Markdown to [**mdast**][mdast] syntax trees. -Used in the [**remark** processor][remark] but can be used on its own as well. -Can be [extended][extend] to change how markdown is parsed. - -## Sponsors - - - - - - - - - - - -
    - -

    🥇 - ZEIT -
    - -

    🥇 - Gatsby -
    - -

    🥇 - Netlify -
    - -

    - Holloway -
    -



    - You? -
    - -[**Read more about the unified collective on Medium »**][announcement] - -## Install - -[npm][]: - -```sh -npm install remark-parse -``` - -## Use - -```js -var unified = require('unified') -var createStream = require('unified-stream') -var markdown = require('remark-parse') -var remark2rehype = require('remark-rehype') -var html = require('rehype-stringify') - -var processor = unified() - .use(markdown, {commonmark: true}) - .use(remark2rehype) - .use(html) - -process.stdin.pipe(createStream(processor)).pipe(process.stdout) -``` - -[See **unified** for more examples »][unified] - -## Table of Contents - -* [API](#api) - * [`processor().use(parse[, options])`](#processoruseparse-options) - * [`parse.Parser`](#parseparser) -* [Extending the Parser](#extending-the-parser) - * [`Parser#blockTokenizers`](#parserblocktokenizers) - * [`Parser#blockMethods`](#parserblockmethods) - * [`Parser#inlineTokenizers`](#parserinlinetokenizers) - * [`Parser#inlineMethods`](#parserinlinemethods) - * [`function tokenizer(eat, value, silent)`](#function-tokenizereat-value-silent) - * [`tokenizer.locator(value, fromIndex)`](#tokenizerlocatorvalue-fromindex) - * [`eat(subvalue)`](#eatsubvalue) - * [`add(node[, parent])`](#addnode-parent) - * [`add.test()`](#addtest) - * [`add.reset(node[, parent])`](#addresetnode-parent) - * [Turning off a tokenizer](#turning-off-a-tokenizer) -* [Security](#security) -* [Contribute](#contribute) -* [License](#license) - -## API - -[See **unified** for API docs »][unified] - -### `processor().use(parse[, options])` - -Configure the `processor` to read Markdown as input and process -[**mdast**][mdast] syntax trees. - -##### `options` - -Options can be passed directly, or passed later through -[`processor.data()`][data]. - -###### `options.gfm` - -GFM mode (`boolean`, default: `true`). - -```markdown -hello ~~hi~~ world -``` - -Turns on: - -* [Fenced code blocks](https://help.github.com/articles/creating-and-highlighting-code-blocks#fenced-code-blocks) -* [Autolinking of URLs](https://help.github.com/articles/autolinked-references-and-urls) -* [Deletions (strikethrough)](https://help.github.com/articles/basic-writing-and-formatting-syntax#styling-text) -* [Task lists](https://help.github.com/articles/basic-writing-and-formatting-syntax#task-lists) -* [Tables](https://help.github.com/articles/organizing-information-with-tables) - -###### `options.commonmark` - -CommonMark mode (`boolean`, default: `false`). - -```markdown -This is a paragraph - and this is also part of the preceding paragraph. -``` - -Allows: - -* Empty lines to split blockquotes -* Parentheses (`(` and `)`) around link and image titles -* Any escaped [ASCII punctuation][escapes] character -* Closing parenthesis (`)`) as an ordered list marker -* URL definitions (and footnotes, when enabled) in blockquotes - -Disallows: - -* Indented code blocks directly following a paragraph -* ATX headings (`# Hash headings`) without spacing after opening hashes or and - before closing hashes -* Setext headings (`Underline headings\n---`) when following a paragraph -* Newlines in link and image titles -* White space in link and image URLs in auto-links (links in brackets, `<` and - `>`) -* Lazy blockquote continuation, lines not preceded by a greater than character - (`>`), for lists, code, and thematic breaks - -###### `options.footnotes` - -Footnotes mode (`boolean`, default: `false`). - -```markdown -Something something[^or something?]. - -And something else[^1]. - -[^1]: This reference footnote contains a paragraph... - - * ...and a list -``` - -Enables reference footnotes and inline footnotes. -Both are wrapped in square brackets and preceded by a caret (`^`), and can be -referenced from inside other footnotes. - -###### `options.pedantic` - -Pedantic mode (`boolean`, default: `false`). - -```markdown -Check out some_file_name.txt -``` - -Turns on: - -* Emphasis (`_alpha_`) and importance (`__bravo__`) with underscores in words -* Unordered lists with different markers (`*`, `-`, `+`) -* If `commonmark` is also turned on, ordered lists with different markers - (`.`, `)`) -* And removes less spaces in list items (at most four, instead of the whole - indent) - -###### `options.blocks` - -Blocks (`Array.`, default: list of [block HTML elements][blocks]). - -```markdown -foo - -``` - -Defines which HTML elements are seen as block level. - -### `parse.Parser` - -Access to the [parser][], if you need it. - -## Extending the Parser - -Typically, using [*transformers*][transformer] to manipulate a syntax tree -produces the desired output. -Sometimes, such as when introducing new syntactic entities with a certain -precedence, interfacing with the parser is necessary. - -If the `remark-parse` plugin is used, it adds a [`Parser`][parser] constructor -function to the `processor`. -Other plugins can add tokenizers to its prototype to change how Markdown is -parsed. - -The below plugin adds a [tokenizer][] for at-mentions. - -```js -module.exports = mentions - -function mentions() { - var Parser = this.Parser - var tokenizers = Parser.prototype.inlineTokenizers - var methods = Parser.prototype.inlineMethods - - // Add an inline tokenizer (defined in the following example). - tokenizers.mention = tokenizeMention - - // Run it just before `text`. - methods.splice(methods.indexOf('text'), 0, 'mention') -} -``` - -### `Parser#blockTokenizers` - -Map of names to [tokenizer][]s (`Object.`). -These tokenizers (such as `fencedCode`, `table`, and `paragraph`) eat from the -start of a value to a line ending. - -See `#blockMethods` below for a list of methods that are included by default. - -### `Parser#blockMethods` - -List of `blockTokenizers` names (`Array.`). -Specifies the order in which tokenizers run. - -Precedence of default block methods is as follows: - - - -* `newline` -* `indentedCode` -* `fencedCode` -* `blockquote` -* `atxHeading` -* `thematicBreak` -* `list` -* `setextHeading` -* `html` -* `footnote` -* `definition` -* `table` -* `paragraph` - - - -### `Parser#inlineTokenizers` - -Map of names to [tokenizer][]s (`Object.`). -These tokenizers (such as `url`, `reference`, and `emphasis`) eat from the start -of a value. -To increase performance, they depend on [locator][]s. - -See `#inlineMethods` below for a list of methods that are included by default. - -### `Parser#inlineMethods` - -List of `inlineTokenizers` names (`Array.`). -Specifies the order in which tokenizers run. - -Precedence of default inline methods is as follows: - - - -* `escape` -* `autoLink` -* `url` -* `html` -* `link` -* `reference` -* `strong` -* `emphasis` -* `deletion` -* `code` -* `break` -* `text` - - - -### `function tokenizer(eat, value, silent)` - -There are two types of tokenizers: block level and inline level. -Both are functions, and work the same, but inline tokenizers must have a -[locator][]. - -The following example shows an inline tokenizer that is added by the mentions -plugin above. - -```js -tokenizeMention.notInLink = true -tokenizeMention.locator = locateMention - -function tokenizeMention(eat, value, silent) { - var match = /^@(\w+)/.exec(value) - - if (match) { - if (silent) { - return true - } - - return eat(match[0])({ - type: 'link', - url: 'https://social-network/' + match[1], - children: [{type: 'text', value: match[0]}] - }) - } -} -``` - -Tokenizers *test* whether a document starts with a certain syntactic entity. -In *silent* mode, they return whether that test passes. -In *normal* mode, they consume that token, a process which is called “eating”. - -Locators enable inline tokenizers to function faster by providing where the next -entity may occur. - -###### Signatures - -* `Node? = tokenizer(eat, value)` -* `boolean? = tokenizer(eat, value, silent)` - -###### Parameters - -* `eat` ([`Function`][eat]) — Eat, when applicable, an entity -* `value` (`string`) — Value which may start an entity -* `silent` (`boolean`, optional) — Whether to detect or consume - -###### Properties - -* `locator` ([`Function`][locator]) — Required for inline tokenizers -* `onlyAtStart` (`boolean`) — Whether nodes can only be found at the beginning - of the document -* `notInBlock` (`boolean`) — Whether nodes cannot be in blockquotes, lists, or - footnote definitions -* `notInList` (`boolean`) — Whether nodes cannot be in lists -* `notInLink` (`boolean`) — Whether nodes cannot be in links - -###### Returns - -* `boolean?`, in *silent* mode — whether a node can be found at the start of - `value` -* [`Node?`][node], In *normal* mode — If it can be found at the start of - `value` - -### `tokenizer.locator(value, fromIndex)` - -Locators are required for inline tokenizers. -Their role is to keep parsing performant. - -The following example shows a locator that is added by the mentions tokenizer -above. - -```js -function locateMention(value, fromIndex) { - return value.indexOf('@', fromIndex) -} -``` - -Locators enable inline tokenizers to function faster by providing information on -where the next entity *may* occur. -Locators may be wrong, it’s OK if there actually isn’t a node to be found at the -index they return. - -###### Parameters - -* `value` (`string`) — Value which may contain an entity -* `fromIndex` (`number`) — Position to start searching at - -###### Returns - -`number` — Index at which an entity may start, and `-1` otherwise. - -### `eat(subvalue)` - -```js -var add = eat('foo') -``` - -Eat `subvalue`, which is a string at the start of the [tokenized][tokenizer] -`value`. - -###### Parameters - -* `subvalue` (`string`) - Value to eat - -###### Returns - -[`add`][add]. - -### `add(node[, parent])` - -```js -var add = eat('foo') - -add({type: 'text', value: 'foo'}) -``` - -Add [positional information][position] to `node` and add `node` to `parent`. - -###### Parameters - -* `node` ([`Node`][node]) - Node to patch position on and to add -* `parent` ([`Parent`][parent], optional) - Place to add `node` to in the - syntax tree. - Defaults to the currently processed node - -###### Returns - -[`Node`][node] — The given `node`. - -### `add.test()` - -Get the [positional information][position] that would be patched on `node` by -`add`. - -###### Returns - -[`Position`][position]. - -### `add.reset(node[, parent])` - -`add`, but resets the internal position. -Useful for example in lists, where the same content is first eaten for a list, -and later for list items. - -###### Parameters - -* `node` ([`Node`][node]) - Node to patch position on and insert -* `parent` ([`Node`][node], optional) - Place to add `node` to in - the syntax tree. - Defaults to the currently processed node - -###### Returns - -[`Node`][node] — The given node. - -### Turning off a tokenizer - -In some situations, you may want to turn off a tokenizer to avoid parsing that -syntactic feature. - -Preferably, use the [`remark-disable-tokenizers`][remark-disable-tokenizers] -plugin to turn off tokenizers. - -Alternatively, this can be done by replacing the tokenizer from -`blockTokenizers` (or `blockMethods`) or `inlineTokenizers` (or -`inlineMethods`). - -The following example turns off indented code blocks: - -```js -remarkParse.Parser.prototype.blockTokenizers.indentedCode = indentedCode - -function indentedCode() { - return true -} -``` - -## Security - -As Markdown is sometimes used for HTML, and improper use of HTML can open you up -to a [cross-site scripting (XSS)][xss] attack, use of remark can also be unsafe. -When going to HTML, use remark in combination with the [**rehype**][rehype] -ecosystem, and use [`rehype-sanitize`][sanitize] to make the tree safe. - -Use of remark plugins could also open you up to other attacks. -Carefully assess each plugin and the risks involved in using them. - -## Contribute - -See [`contributing.md`][contributing] in [`remarkjs/.github`][health] for ways -to get started. -See [`support.md`][support] for ways to get help. -Ideas for new plugins and tools can be posted in [`remarkjs/ideas`][ideas]. - -A curated list of awesome remark resources can be found in [**awesome -remark**][awesome]. - -This project has a [Code of Conduct][coc]. -By interacting with this repository, organisation, or community you agree to -abide by its terms. - -## License - -[MIT][license] © [Titus Wormer][author] - - - -[build-badge]: https://img.shields.io/travis/remarkjs/remark.svg - -[build]: https://travis-ci.org/remarkjs/remark - -[coverage-badge]: https://img.shields.io/codecov/c/github/remarkjs/remark.svg - -[coverage]: https://codecov.io/github/remarkjs/remark - -[downloads-badge]: https://img.shields.io/npm/dm/remark-parse.svg - -[downloads]: https://www.npmjs.com/package/remark-parse - -[size-badge]: https://img.shields.io/bundlephobia/minzip/remark-parse.svg - -[size]: https://bundlephobia.com/result?p=remark-parse - -[sponsors-badge]: https://opencollective.com/unified/sponsors/badge.svg - -[backers-badge]: https://opencollective.com/unified/backers/badge.svg - -[collective]: https://opencollective.com/unified - -[chat-badge]: https://img.shields.io/badge/join%20the%20community-on%20spectrum-7b16ff.svg - -[chat]: https://spectrum.chat/unified/remark - -[health]: https://github.com/remarkjs/.github - -[contributing]: https://github.com/remarkjs/.github/blob/master/contributing.md - -[support]: https://github.com/remarkjs/.github/blob/master/support.md - -[coc]: https://github.com/remarkjs/.github/blob/master/code-of-conduct.md - -[ideas]: https://github.com/remarkjs/ideas - -[awesome]: https://github.com/remarkjs/awesome-remark - -[license]: https://github.com/remarkjs/remark/blob/master/license - -[author]: https://wooorm.com - -[npm]: https://docs.npmjs.com/cli/install - -[unified]: https://github.com/unifiedjs/unified - -[data]: https://github.com/unifiedjs/unified#processordatakey-value - -[remark]: https://github.com/remarkjs/remark/tree/master/packages/remark - -[blocks]: https://github.com/remarkjs/remark/blob/master/packages/remark-parse/lib/block-elements.js - -[mdast]: https://github.com/syntax-tree/mdast - -[escapes]: https://spec.commonmark.org/0.29/#backslash-escapes - -[node]: https://github.com/syntax-tree/unist#node - -[parent]: https://github.com/syntax-tree/unist#parent - -[position]: https://github.com/syntax-tree/unist#position - -[parser]: https://github.com/unifiedjs/unified#processorparser - -[transformer]: https://github.com/unifiedjs/unified#function-transformernode-file-next - -[extend]: #extending-the-parser - -[tokenizer]: #function-tokenizereat-value-silent - -[locator]: #tokenizerlocatorvalue-fromindex - -[eat]: #eatsubvalue - -[add]: #addnode-parent - -[announcement]: https://medium.com/unifiedjs/collectively-evolving-through-crowdsourcing-22c359ea95cc - -[remark-disable-tokenizers]: https://github.com/zestedesavoir/zmarkdown/tree/master/packages/remark-disable-tokenizers - -[xss]: https://en.wikipedia.org/wiki/Cross-site_scripting - -[rehype]: https://github.com/rehypejs/rehype - -[sanitize]: https://github.com/rehypejs/rehype-sanitize diff --git a/tools/node_modules/eslint-plugin-markdown/node_modules/repeat-string/LICENSE b/tools/node_modules/eslint-plugin-markdown/node_modules/repeat-string/LICENSE deleted file mode 100644 index 39245ac1c60613..00000000000000 --- a/tools/node_modules/eslint-plugin-markdown/node_modules/repeat-string/LICENSE +++ /dev/null @@ -1,21 +0,0 @@ -The MIT License (MIT) - -Copyright (c) 2014-2016, Jon Schlinkert. - -Permission is hereby granted, free of charge, to any person obtaining a copy -of this software and associated documentation files (the "Software"), to deal -in the Software without restriction, including without limitation the rights -to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -copies of the Software, and to permit persons to whom the Software is -furnished to do so, subject to the following conditions: - -The above copyright notice and this permission notice shall be included in -all copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN -THE SOFTWARE. diff --git a/tools/node_modules/eslint-plugin-markdown/node_modules/repeat-string/README.md b/tools/node_modules/eslint-plugin-markdown/node_modules/repeat-string/README.md deleted file mode 100644 index aaa5e91c7a7f91..00000000000000 --- a/tools/node_modules/eslint-plugin-markdown/node_modules/repeat-string/README.md +++ /dev/null @@ -1,136 +0,0 @@ -# repeat-string [![NPM version](https://img.shields.io/npm/v/repeat-string.svg?style=flat)](https://www.npmjs.com/package/repeat-string) [![NPM monthly downloads](https://img.shields.io/npm/dm/repeat-string.svg?style=flat)](https://npmjs.org/package/repeat-string) [![NPM total downloads](https://img.shields.io/npm/dt/repeat-string.svg?style=flat)](https://npmjs.org/package/repeat-string) [![Linux Build Status](https://img.shields.io/travis/jonschlinkert/repeat-string.svg?style=flat&label=Travis)](https://travis-ci.org/jonschlinkert/repeat-string) - -> Repeat the given string n times. Fastest implementation for repeating a string. - -## Install - -Install with [npm](https://www.npmjs.com/): - -```sh -$ npm install --save repeat-string -``` - -## Usage - -### [repeat](index.js#L41) - -Repeat the given `string` the specified `number` of times. - -**Example:** - -**Example** - -```js -var repeat = require('repeat-string'); -repeat('A', 5); -//=> AAAAA -``` - -**Params** - -* `string` **{String}**: The string to repeat -* `number` **{Number}**: The number of times to repeat the string -* `returns` **{String}**: Repeated string - -## Benchmarks - -Repeat string is significantly faster than the native method (which is itself faster than [repeating](https://github.com/sindresorhus/repeating)): - -```sh -# 2x -repeat-string █████████████████████████ (26,953,977 ops/sec) -repeating █████████ (9,855,695 ops/sec) -native ██████████████████ (19,453,895 ops/sec) - -# 3x -repeat-string █████████████████████████ (19,445,252 ops/sec) -repeating ███████████ (8,661,565 ops/sec) -native ████████████████████ (16,020,598 ops/sec) - -# 10x -repeat-string █████████████████████████ (23,792,521 ops/sec) -repeating █████████ (8,571,332 ops/sec) -native ███████████████ (14,582,955 ops/sec) - -# 50x -repeat-string █████████████████████████ (23,640,179 ops/sec) -repeating █████ (5,505,509 ops/sec) -native ██████████ (10,085,557 ops/sec) - -# 250x -repeat-string █████████████████████████ (23,489,618 ops/sec) -repeating ████ (3,962,937 ops/sec) -native ████████ (7,724,892 ops/sec) - -# 2000x -repeat-string █████████████████████████ (20,315,172 ops/sec) -repeating ████ (3,297,079 ops/sec) -native ███████ (6,203,331 ops/sec) - -# 20000x -repeat-string █████████████████████████ (23,382,915 ops/sec) -repeating ███ (2,980,058 ops/sec) -native █████ (5,578,808 ops/sec) -``` - -**Run the benchmarks** - -Install dev dependencies: - -```sh -npm i -d && node benchmark -``` - -## About - -### Related projects - -[repeat-element](https://www.npmjs.com/package/repeat-element): Create an array by repeating the given value n times. | [homepage](https://github.com/jonschlinkert/repeat-element "Create an array by repeating the given value n times.") - -### Contributing - -Pull requests and stars are always welcome. For bugs and feature requests, [please create an issue](../../issues/new). - -### Contributors - -| **Commits** | **Contributor**
    | -| --- | --- | -| 51 | [jonschlinkert](https://github.com/jonschlinkert) | -| 2 | [LinusU](https://github.com/LinusU) | -| 2 | [tbusser](https://github.com/tbusser) | -| 1 | [doowb](https://github.com/doowb) | -| 1 | [wooorm](https://github.com/wooorm) | - -### Building docs - -_(This document was generated by [verb-generate-readme](https://github.com/verbose/verb-generate-readme) (a [verb](https://github.com/verbose/verb) generator), please don't edit the readme directly. Any changes to the readme must be made in [.verb.md](.verb.md).)_ - -To generate the readme and API documentation with [verb](https://github.com/verbose/verb): - -```sh -$ npm install -g verb verb-generate-readme && verb -``` - -### Running tests - -Install dev dependencies: - -```sh -$ npm install -d && npm test -``` - -### Author - -**Jon Schlinkert** - -* [github/jonschlinkert](https://github.com/jonschlinkert) -* [twitter/jonschlinkert](http://twitter.com/jonschlinkert) - -### License - -Copyright © 2016, [Jon Schlinkert](http://github.com/jonschlinkert). -Released under the [MIT license](https://github.com/jonschlinkert/repeat-string/blob/master/LICENSE). - -*** - -_This file was generated by [verb-generate-readme](https://github.com/verbose/verb-generate-readme), v0.2.0, on October 23, 2016._ \ No newline at end of file diff --git a/tools/node_modules/eslint-plugin-markdown/node_modules/repeat-string/index.js b/tools/node_modules/eslint-plugin-markdown/node_modules/repeat-string/index.js deleted file mode 100644 index 4459afd8016e31..00000000000000 --- a/tools/node_modules/eslint-plugin-markdown/node_modules/repeat-string/index.js +++ /dev/null @@ -1,70 +0,0 @@ -/*! - * repeat-string - * - * Copyright (c) 2014-2015, Jon Schlinkert. - * Licensed under the MIT License. - */ - -'use strict'; - -/** - * Results cache - */ - -var res = ''; -var cache; - -/** - * Expose `repeat` - */ - -module.exports = repeat; - -/** - * Repeat the given `string` the specified `number` - * of times. - * - * **Example:** - * - * ```js - * var repeat = require('repeat-string'); - * repeat('A', 5); - * //=> AAAAA - * ``` - * - * @param {String} `string` The string to repeat - * @param {Number} `number` The number of times to repeat the string - * @return {String} Repeated string - * @api public - */ - -function repeat(str, num) { - if (typeof str !== 'string') { - throw new TypeError('expected a string'); - } - - // cover common, quick use cases - if (num === 1) return str; - if (num === 2) return str + str; - - var max = str.length * num; - if (cache !== str || typeof cache === 'undefined') { - cache = str; - res = ''; - } else if (res.length >= max) { - return res.substr(0, max); - } - - while (max > res.length && num > 1) { - if (num & 1) { - res += str; - } - - num >>= 1; - str += str; - } - - res += str; - res = res.substr(0, max); - return res; -} diff --git a/tools/node_modules/eslint-plugin-markdown/node_modules/repeat-string/package.json b/tools/node_modules/eslint-plugin-markdown/node_modules/repeat-string/package.json deleted file mode 100644 index 09f889299b6683..00000000000000 --- a/tools/node_modules/eslint-plugin-markdown/node_modules/repeat-string/package.json +++ /dev/null @@ -1,77 +0,0 @@ -{ - "name": "repeat-string", - "description": "Repeat the given string n times. Fastest implementation for repeating a string.", - "version": "1.6.1", - "homepage": "https://github.com/jonschlinkert/repeat-string", - "author": "Jon Schlinkert (http://github.com/jonschlinkert)", - "contributors": [ - "Brian Woodward (https://github.com/doowb)", - "Jon Schlinkert (http://twitter.com/jonschlinkert)", - "Linus Unnebäck (http://linus.unnebäck.se)", - "Thijs Busser (http://tbusser.net)", - "Titus (wooorm.com)" - ], - "repository": "jonschlinkert/repeat-string", - "bugs": { - "url": "https://github.com/jonschlinkert/repeat-string/issues" - }, - "license": "MIT", - "files": [ - "index.js" - ], - "main": "index.js", - "engines": { - "node": ">=0.10" - }, - "scripts": { - "test": "mocha" - }, - "devDependencies": { - "ansi-cyan": "^0.1.1", - "benchmarked": "^0.2.5", - "gulp-format-md": "^0.1.11", - "isobject": "^2.1.0", - "mocha": "^3.1.2", - "repeating": "^3.0.0", - "text-table": "^0.2.0", - "yargs-parser": "^4.0.2" - }, - "keywords": [ - "fast", - "fastest", - "fill", - "left", - "left-pad", - "multiple", - "pad", - "padding", - "repeat", - "repeating", - "repetition", - "right", - "right-pad", - "string", - "times" - ], - "verb": { - "toc": false, - "layout": "default", - "tasks": [ - "readme" - ], - "plugins": [ - "gulp-format-md" - ], - "related": { - "list": [ - "repeat-element" - ] - }, - "helpers": [ - "./benchmark/helper.js" - ], - "reflinks": [ - "verb" - ] - } -} diff --git a/tools/node_modules/eslint-plugin-markdown/node_modules/replace-ext/README.md b/tools/node_modules/eslint-plugin-markdown/node_modules/replace-ext/README.md deleted file mode 100644 index 8775983b7834d5..00000000000000 --- a/tools/node_modules/eslint-plugin-markdown/node_modules/replace-ext/README.md +++ /dev/null @@ -1,50 +0,0 @@ -

    - - - -

    - -# replace-ext - -[![NPM version][npm-image]][npm-url] [![Downloads][downloads-image]][npm-url] [![Build Status][travis-image]][travis-url] [![AppVeyor Build Status][appveyor-image]][appveyor-url] [![Coveralls Status][coveralls-image]][coveralls-url] [![Gitter chat][gitter-image]][gitter-url] - -Replaces a file extension with another one. - -## Usage - -```js -var replaceExt = require('replace-ext'); - -var path = '/some/dir/file.js'; -var newPath = replaceExt(path, '.coffee'); - -console.log(newPath); // /some/dir/file.coffee -``` - -## API - -### `replaceExt(path, extension)` - -Replaces the extension from `path` with `extension` and returns the updated path string. - -Does not replace the extension if `path` is not a string or is empty. - -## License - -MIT - -[downloads-image]: http://img.shields.io/npm/dm/replace-ext.svg -[npm-url]: https://www.npmjs.com/package/replace-ext -[npm-image]: http://img.shields.io/npm/v/replace-ext.svg - -[travis-url]: https://travis-ci.org/gulpjs/replace-ext -[travis-image]: http://img.shields.io/travis/gulpjs/replace-ext.svg?label=travis-ci - -[appveyor-url]: https://ci.appveyor.com/project/gulpjs/replace-ext -[appveyor-image]: https://img.shields.io/appveyor/ci/gulpjs/replace-ext.svg?label=appveyor - -[coveralls-url]: https://coveralls.io/r/gulpjs/replace-ext -[coveralls-image]: http://img.shields.io/coveralls/gulpjs/replace-ext/master.svg - -[gitter-url]: https://gitter.im/gulpjs/gulp -[gitter-image]: https://badges.gitter.im/gulpjs/gulp.svg diff --git a/tools/node_modules/eslint-plugin-markdown/node_modules/replace-ext/index.js b/tools/node_modules/eslint-plugin-markdown/node_modules/replace-ext/index.js deleted file mode 100644 index 7cb7789e280723..00000000000000 --- a/tools/node_modules/eslint-plugin-markdown/node_modules/replace-ext/index.js +++ /dev/null @@ -1,18 +0,0 @@ -'use strict'; - -var path = require('path'); - -function replaceExt(npath, ext) { - if (typeof npath !== 'string') { - return npath; - } - - if (npath.length === 0) { - return npath; - } - - var nFileName = path.basename(npath, path.extname(npath)) + ext; - return path.join(path.dirname(npath), nFileName); -} - -module.exports = replaceExt; diff --git a/tools/node_modules/eslint-plugin-markdown/node_modules/replace-ext/package.json b/tools/node_modules/eslint-plugin-markdown/node_modules/replace-ext/package.json deleted file mode 100644 index 27dbe31042d0ff..00000000000000 --- a/tools/node_modules/eslint-plugin-markdown/node_modules/replace-ext/package.json +++ /dev/null @@ -1,44 +0,0 @@ -{ - "name": "replace-ext", - "version": "1.0.0", - "description": "Replaces a file extension with another one", - "author": "Gulp Team (http://gulpjs.com/)", - "contributors": [ - "Eric Schoffstall ", - "Blaine Bublitz " - ], - "repository": "gulpjs/replace-ext", - "license": "MIT", - "engines": { - "node": ">= 0.10" - }, - "main": "index.js", - "files": [ - "LICENSE", - "index.js" - ], - "scripts": { - "lint": "eslint . && jscs index.js test/", - "pretest": "npm run lint", - "test": "mocha --async-only", - "cover": "istanbul cover node_modules/mocha/bin/_mocha --report lcovonly", - "coveralls": "npm run cover && istanbul-coveralls" - }, - "dependencies": {}, - "devDependencies": { - "eslint": "^1.10.3", - "eslint-config-gulp": "^2.0.0", - "expect": "^1.16.0", - "istanbul": "^0.4.3", - "istanbul-coveralls": "^1.0.3", - "jscs": "^2.3.5", - "jscs-preset-gulp": "^1.0.0", - "mocha": "^2.4.5" - }, - "keywords": [ - "gulp", - "extensions", - "filepath", - "basename" - ] -} diff --git a/tools/node_modules/eslint-plugin-markdown/node_modules/state-toggle/index.js b/tools/node_modules/eslint-plugin-markdown/node_modules/state-toggle/index.js deleted file mode 100644 index aceee00d1db789..00000000000000 --- a/tools/node_modules/eslint-plugin-markdown/node_modules/state-toggle/index.js +++ /dev/null @@ -1,23 +0,0 @@ -'use strict' - -module.exports = factory - -// Construct a state `toggler`: a function which inverses `property` in context -// based on its current value. -// The by `toggler` returned function restores that value. -function factory(key, state, ctx) { - return enter - - function enter() { - var context = ctx || this - var current = context[key] - - context[key] = !state - - return exit - - function exit() { - context[key] = current - } - } -} diff --git a/tools/node_modules/eslint-plugin-markdown/node_modules/state-toggle/license b/tools/node_modules/eslint-plugin-markdown/node_modules/state-toggle/license deleted file mode 100644 index 8d8660d36ef2ec..00000000000000 --- a/tools/node_modules/eslint-plugin-markdown/node_modules/state-toggle/license +++ /dev/null @@ -1,22 +0,0 @@ -(The MIT License) - -Copyright (c) 2016 Titus Wormer - -Permission is hereby granted, free of charge, to any person obtaining -a copy of this software and associated documentation files (the -'Software'), to deal in the Software without restriction, including -without limitation the rights to use, copy, modify, merge, publish, -distribute, sublicense, and/or sell copies of the Software, and to -permit persons to whom the Software is furnished to do so, subject to -the following conditions: - -The above copyright notice and this permission notice shall be -included in all copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED 'AS IS', WITHOUT WARRANTY OF ANY KIND, -EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF -MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. -IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY -CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, -TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE -SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. diff --git a/tools/node_modules/eslint-plugin-markdown/node_modules/state-toggle/package.json b/tools/node_modules/eslint-plugin-markdown/node_modules/state-toggle/package.json deleted file mode 100644 index 1111db063669a9..00000000000000 --- a/tools/node_modules/eslint-plugin-markdown/node_modules/state-toggle/package.json +++ /dev/null @@ -1,70 +0,0 @@ -{ - "name": "state-toggle", - "version": "1.0.3", - "description": "Enter/exit a state", - "license": "MIT", - "keywords": [ - "enter", - "exit", - "state" - ], - "repository": "wooorm/state-toggle", - "bugs": "https://github.com/wooorm/state-toggle/issues", - "funding": { - "type": "github", - "url": "https://github.com/sponsors/wooorm" - }, - "author": "Titus Wormer (https://wooorm.com)", - "contributors": [ - "Titus Wormer (https://wooorm.com)" - ], - "files": [ - "index.js" - ], - "dependencies": {}, - "devDependencies": { - "browserify": "^16.0.0", - "nyc": "^15.0.0", - "prettier": "^1.0.0", - "remark-cli": "^7.0.0", - "remark-preset-wooorm": "^6.0.0", - "tape": "^4.0.0", - "tinyify": "^2.0.0", - "xo": "^0.25.0" - }, - "scripts": { - "format": "remark . -qfo && prettier --write \"**/*.js\" && xo --fix", - "build-bundle": "browserify . -s stateToggle -o state-toggle.js", - "build-mangle": "browserify . -s stateToggle -p tinyify -o state-toggle.min.js", - "build": "npm run build-bundle && npm run build-mangle", - "test-api": "node test", - "test-coverage": "nyc --reporter lcov tape test.js", - "test": "npm run format && npm run build && npm run test-coverage" - }, - "prettier": { - "tabWidth": 2, - "useTabs": false, - "singleQuote": true, - "bracketSpacing": false, - "semi": false, - "trailingComma": "none" - }, - "xo": { - "prettier": true, - "esnext": false, - "ignores": [ - "state-toggle.js" - ] - }, - "remarkConfig": { - "plugins": [ - "preset-wooorm" - ] - }, - "nyc": { - "check-coverage": true, - "lines": 100, - "functions": 100, - "branches": 100 - } -} diff --git a/tools/node_modules/eslint-plugin-markdown/node_modules/state-toggle/readme.md b/tools/node_modules/eslint-plugin-markdown/node_modules/state-toggle/readme.md deleted file mode 100644 index 9fcca1e5ef6ddb..00000000000000 --- a/tools/node_modules/eslint-plugin-markdown/node_modules/state-toggle/readme.md +++ /dev/null @@ -1,95 +0,0 @@ -# state-toggle - -[![Build][build-badge]][build] -[![Coverage][coverage-badge]][coverage] -[![Downloads][downloads-badge]][downloads] -[![Size][size-badge]][size] - -Enter/exit a state. - -## Install - -[npm][]: - -```sh -npm install state-toggle -``` - -## Use - -```js -var toggle = require('state-toggle') - -var ctx = {on: false} -var enter = toggle('on', ctx.on, ctx) -var exit - -// Entering: -exit = enter() -console.log(ctx.on) // => true - -// Exiting: -exit() -console.log(ctx.on) // => false -``` - -## API - -### `toggle(key, initial[, ctx])` - -Create a toggle, which when entering toggles `key` on `ctx` (or `this`, if `ctx` -is not given) to `!initial`, and when exiting, sets `key` on the context back to -the value it had before entering. - -###### Returns - -`Function` — [`enter`][enter]. - -### `enter()` - -Enter the state. - -###### Context - -If no `ctx` was given to `toggle`, the context object (`this`) of `enter()` is -used to toggle. - -###### Returns - -`Function` — [`exit`][exit]. - -### `exit()` - -Exit the state, reverting `key` to the value it had before entering. - -## License - -[MIT][license] © [Titus Wormer][author] - - - -[build-badge]: https://img.shields.io/travis/wooorm/state-toggle.svg - -[build]: https://travis-ci.org/wooorm/state-toggle - -[coverage-badge]: https://img.shields.io/codecov/c/github/wooorm/state-toggle.svg - -[coverage]: https://codecov.io/github/wooorm/state-toggle - -[downloads-badge]: https://img.shields.io/npm/dm/state-toggle.svg - -[downloads]: https://www.npmjs.com/package/state-toggle - -[size-badge]: https://img.shields.io/bundlephobia/minzip/state-toggle.svg - -[size]: https://bundlephobia.com/result?p=state-toggle - -[npm]: https://docs.npmjs.com/cli/install - -[license]: license - -[author]: https://wooorm.com - -[enter]: #enter - -[exit]: #exit diff --git a/tools/node_modules/eslint-plugin-markdown/node_modules/trim-trailing-lines/index.js b/tools/node_modules/eslint-plugin-markdown/node_modules/trim-trailing-lines/index.js deleted file mode 100644 index eff85c6baedffb..00000000000000 --- a/tools/node_modules/eslint-plugin-markdown/node_modules/trim-trailing-lines/index.js +++ /dev/null @@ -1,8 +0,0 @@ -'use strict' - -module.exports = trimTrailingLines - -// Remove final newline characters from `value`. -function trimTrailingLines(value) { - return String(value).replace(/\n+$/, '') -} diff --git a/tools/node_modules/eslint-plugin-markdown/node_modules/trim-trailing-lines/license b/tools/node_modules/eslint-plugin-markdown/node_modules/trim-trailing-lines/license deleted file mode 100644 index 611b67581bb8e2..00000000000000 --- a/tools/node_modules/eslint-plugin-markdown/node_modules/trim-trailing-lines/license +++ /dev/null @@ -1,22 +0,0 @@ -(The MIT License) - -Copyright (c) 2015 Titus Wormer - -Permission is hereby granted, free of charge, to any person obtaining -a copy of this software and associated documentation files (the -'Software'), to deal in the Software without restriction, including -without limitation the rights to use, copy, modify, merge, publish, -distribute, sublicense, and/or sell copies of the Software, and to -permit persons to whom the Software is furnished to do so, subject to -the following conditions: - -The above copyright notice and this permission notice shall be -included in all copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED 'AS IS', WITHOUT WARRANTY OF ANY KIND, -EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF -MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. -IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY -CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, -TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE -SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. diff --git a/tools/node_modules/eslint-plugin-markdown/node_modules/trim-trailing-lines/readme.md b/tools/node_modules/eslint-plugin-markdown/node_modules/trim-trailing-lines/readme.md deleted file mode 100644 index a9c1f441b84262..00000000000000 --- a/tools/node_modules/eslint-plugin-markdown/node_modules/trim-trailing-lines/readme.md +++ /dev/null @@ -1,68 +0,0 @@ -# trim-trailing-lines - -[![Build][build-badge]][build] -[![Coverage][coverage-badge]][coverage] -[![Downloads][downloads-badge]][downloads] -[![Size][size-badge]][size] - -Remove final line feeds from a string. - -## Install - -[npm][]: - -```sh -npm install trim-trailing-lines -``` - -## Use - -```js -var trimTrailingLines = require('trim-trailing-lines') - -trimTrailingLines('foo\nbar') // => 'foo\nbar' -trimTrailingLines('foo\nbar\n') // => 'foo\nbar' -trimTrailingLines('foo\nbar\n\n') // => 'foo\nbar' -``` - -## API - -### `trimTrailingLines(value)` - -Remove final line feed characters from `value`. - -###### Parameters - -* `value` (`string`) — Value with trailing line feeds, coerced to string. - -###### Returns - -`string` — Value without trailing newlines. - -## License - -[MIT][license] © [Titus Wormer][author] - - - -[build-badge]: https://img.shields.io/travis/wooorm/trim-trailing-lines.svg - -[build]: https://travis-ci.org/wooorm/trim-trailing-lines - -[coverage-badge]: https://img.shields.io/codecov/c/github/wooorm/trim-trailing-lines.svg - -[coverage]: https://codecov.io/github/wooorm/trim-trailing-lines - -[downloads-badge]: https://img.shields.io/npm/dm/trim-trailing-lines.svg - -[downloads]: https://www.npmjs.com/package/trim-trailing-lines - -[size-badge]: https://img.shields.io/bundlephobia/minzip/trim-trailing-lines.svg - -[size]: https://bundlephobia.com/result?p=trim-trailing-lines - -[npm]: https://docs.npmjs.com/cli/install - -[license]: license - -[author]: https://wooorm.com diff --git a/tools/node_modules/eslint-plugin-markdown/node_modules/trim/Makefile b/tools/node_modules/eslint-plugin-markdown/node_modules/trim/Makefile deleted file mode 100644 index 4e9c8d36ebcd2f..00000000000000 --- a/tools/node_modules/eslint-plugin-markdown/node_modules/trim/Makefile +++ /dev/null @@ -1,7 +0,0 @@ - -test: - @./node_modules/.bin/mocha \ - --require should \ - --reporter spec - -.PHONY: test \ No newline at end of file diff --git a/tools/node_modules/eslint-plugin-markdown/node_modules/trim/Readme.md b/tools/node_modules/eslint-plugin-markdown/node_modules/trim/Readme.md deleted file mode 100644 index 3460f523fbe8ac..00000000000000 --- a/tools/node_modules/eslint-plugin-markdown/node_modules/trim/Readme.md +++ /dev/null @@ -1,69 +0,0 @@ - -# trim - - Trims string whitespace. - -## Installation - -``` -$ npm install trim -$ component install component/trim -``` - -## API - - - [trim(str)](#trimstr) - - [.left(str)](#leftstr) - - [.right(str)](#rightstr) - - - -### trim(str) -should trim leading / trailing whitespace. - -```js -trim(' foo bar ').should.equal('foo bar'); -trim('\n\n\nfoo bar\n\r\n\n').should.equal('foo bar'); -``` - - -### .left(str) -should trim leading whitespace. - -```js -trim.left(' foo bar ').should.equal('foo bar '); -``` - - -### .right(str) -should trim trailing whitespace. - -```js -trim.right(' foo bar ').should.equal(' foo bar'); -``` - - -## License - -(The MIT License) - -Copyright (c) 2012 TJ Holowaychuk <tj@vision-media.ca> - -Permission is hereby granted, free of charge, to any person obtaining -a copy of this software and associated documentation files (the -'Software'), to deal in the Software without restriction, including -without limitation the rights to use, copy, modify, merge, publish, -distribute, sublicense, and/or sell copies of the Software, and to -permit persons to whom the Software is furnished to do so, subject to -the following conditions: - -The above copyright notice and this permission notice shall be -included in all copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED 'AS IS', WITHOUT WARRANTY OF ANY KIND, -EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF -MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. -IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY -CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, -TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE -SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. \ No newline at end of file diff --git a/tools/node_modules/eslint-plugin-markdown/node_modules/trim/index.js b/tools/node_modules/eslint-plugin-markdown/node_modules/trim/index.js deleted file mode 100644 index 640c24cf302e60..00000000000000 --- a/tools/node_modules/eslint-plugin-markdown/node_modules/trim/index.js +++ /dev/null @@ -1,14 +0,0 @@ - -exports = module.exports = trim; - -function trim(str){ - return str.replace(/^\s*|\s*$/g, ''); -} - -exports.left = function(str){ - return str.replace(/^\s*/, ''); -}; - -exports.right = function(str){ - return str.replace(/\s*$/, ''); -}; diff --git a/tools/node_modules/eslint-plugin-markdown/node_modules/trim/package.json b/tools/node_modules/eslint-plugin-markdown/node_modules/trim/package.json deleted file mode 100644 index 64ee5c69d84c32..00000000000000 --- a/tools/node_modules/eslint-plugin-markdown/node_modules/trim/package.json +++ /dev/null @@ -1,18 +0,0 @@ -{ - "name": "trim", - "version": "0.0.1", - "description": "Trim string whitespace", - "keywords": ["string", "trim"], - "author": "TJ Holowaychuk ", - "dependencies": {}, - "devDependencies": { - "mocha": "*", - "should": "*" - }, - "main": "index", - "component": { - "scripts": { - "trim/index.js": "index.js" - } - } -} diff --git a/tools/node_modules/eslint-plugin-markdown/node_modules/trough/index.js b/tools/node_modules/eslint-plugin-markdown/node_modules/trough/index.js deleted file mode 100644 index 2b73d868056525..00000000000000 --- a/tools/node_modules/eslint-plugin-markdown/node_modules/trough/index.js +++ /dev/null @@ -1,74 +0,0 @@ -'use strict' - -var wrap = require('./wrap.js') - -module.exports = trough - -trough.wrap = wrap - -var slice = [].slice - -// Create new middleware. -function trough() { - var fns = [] - var middleware = {} - - middleware.run = run - middleware.use = use - - return middleware - - // Run `fns`. Last argument must be a completion handler. - function run() { - var index = -1 - var input = slice.call(arguments, 0, -1) - var done = arguments[arguments.length - 1] - - if (typeof done !== 'function') { - throw new Error('Expected function as last argument, not ' + done) - } - - next.apply(null, [null].concat(input)) - - // Run the next `fn`, if any. - function next(err) { - var fn = fns[++index] - var params = slice.call(arguments, 0) - var values = params.slice(1) - var length = input.length - var pos = -1 - - if (err) { - done(err) - return - } - - // Copy non-nully input into values. - while (++pos < length) { - if (values[pos] === null || values[pos] === undefined) { - values[pos] = input[pos] - } - } - - input = values - - // Next or done. - if (fn) { - wrap(fn, next).apply(null, input) - } else { - done.apply(null, [null].concat(input)) - } - } - } - - // Add `fn` to the list. - function use(fn) { - if (typeof fn !== 'function') { - throw new Error('Expected `fn` to be a function, not ' + fn) - } - - fns.push(fn) - - return middleware - } -} diff --git a/tools/node_modules/eslint-plugin-markdown/node_modules/trough/license b/tools/node_modules/eslint-plugin-markdown/node_modules/trough/license deleted file mode 100644 index 3f0166f62b10c0..00000000000000 --- a/tools/node_modules/eslint-plugin-markdown/node_modules/trough/license +++ /dev/null @@ -1,21 +0,0 @@ -(The MIT License) - -Copyright (c) 2016 Titus Wormer - -Permission is hereby granted, free of charge, to any person obtaining a copy -of this software and associated documentation files (the "Software"), to deal -in the Software without restriction, including without limitation the rights -to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -copies of the Software, and to permit persons to whom the Software is -furnished to do so, subject to the following conditions: - -The above copyright notice and this permission notice shall be included in -all copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN -THE SOFTWARE. diff --git a/tools/node_modules/eslint-plugin-markdown/node_modules/trough/package.json b/tools/node_modules/eslint-plugin-markdown/node_modules/trough/package.json deleted file mode 100644 index cbf7782f89a445..00000000000000 --- a/tools/node_modules/eslint-plugin-markdown/node_modules/trough/package.json +++ /dev/null @@ -1,75 +0,0 @@ -{ - "name": "trough", - "version": "1.0.5", - "description": "Middleware: a channel used to convey a liquid", - "license": "MIT", - "keywords": [ - "middleware", - "ware" - ], - "repository": "wooorm/trough", - "bugs": "https://github.com/wooorm/trough/issues", - "funding": { - "type": "github", - "url": "https://github.com/sponsors/wooorm" - }, - "author": "Titus Wormer (https://wooorm.com)", - "contributors": [ - "Titus Wormer (https://wooorm.com)" - ], - "files": [ - "index.js", - "wrap.js" - ], - "dependencies": {}, - "devDependencies": { - "browserify": "^16.0.0", - "nyc": "^15.0.0", - "prettier": "^1.0.0", - "remark-cli": "^7.0.0", - "remark-preset-wooorm": "^6.0.0", - "tape": "^4.0.0", - "tinyify": "^2.0.0", - "xo": "^0.25.0" - }, - "scripts": { - "format": "remark . -qfo && prettier --write \"**/*.js\" && xo --fix", - "build-bundle": "browserify index.js -s trough > trough.js", - "build-mangle": "browserify index.js -s trough -p tinyify > trough.min.js", - "build": "npm run build-bundle && npm run build-mangle", - "test-api": "node test", - "test-coverage": "nyc --reporter lcov tape test.js", - "test": "npm run format && npm run build && npm run test-coverage" - }, - "prettier": { - "tabWidth": 2, - "useTabs": false, - "singleQuote": true, - "bracketSpacing": false, - "semi": false, - "trailingComma": "none" - }, - "xo": { - "prettier": true, - "esnext": false, - "rules": { - "unicorn/prefer-reflect-apply": "off", - "unicorn/prefer-type-error": "off", - "guard-for-in": "off" - }, - "ignores": [ - "trough.js" - ] - }, - "remarkConfig": { - "plugins": [ - "preset-wooorm" - ] - }, - "nyc": { - "check-coverage": true, - "lines": 100, - "functions": 100, - "branches": 100 - } -} diff --git a/tools/node_modules/eslint-plugin-markdown/node_modules/trough/readme.md b/tools/node_modules/eslint-plugin-markdown/node_modules/trough/readme.md deleted file mode 100644 index ce3d38bca9a2bf..00000000000000 --- a/tools/node_modules/eslint-plugin-markdown/node_modules/trough/readme.md +++ /dev/null @@ -1,330 +0,0 @@ -# trough - -[![Build][build-badge]][build] -[![Coverage][coverage-badge]][coverage] -[![Downloads][downloads-badge]][downloads] -[![Size][size-badge]][size] - -> **trough** /trôf/ — a channel used to convey a liquid. - -`trough` is like [`ware`][ware] with less sugar, and middleware functions can -change the input of the next. - -## Install - -[npm][]: - -```sh -npm install trough -``` - -## Use - -```js -var fs = require('fs') -var path = require('path') -var trough = require('trough') - -var pipeline = trough() - .use(function(fileName) { - console.log('Checking… ' + fileName) - }) - .use(function(fileName) { - return path.join(process.cwd(), fileName) - }) - .use(function(filePath, next) { - fs.stat(filePath, function(err, stats) { - next(err, {filePath, stats}) - }) - }) - .use(function(ctx, next) { - if (ctx.stats.isFile()) { - fs.readFile(ctx.filePath, next) - } else { - next(new Error('Expected file')) - } - }) - -pipeline.run('readme.md', console.log) -pipeline.run('node_modules', console.log) -``` - -Yields: - -```txt -Checking… readme.md -Checking… node_modules -Error: Expected file - at ~/example.js:21:12 - at wrapped (~/node_modules/trough/index.js:93:19) - at next (~/node_modules/trough/index.js:56:24) - at done (~/node_modules/trough/index.js:124:12) - at ~/node_modules/example.js:14:7 - at FSReqWrap.oncomplete (fs.js:153:5) -null -``` - -## API - -### `trough()` - -Create a new [`Trough`][trough]. - -#### `trough.wrap(middleware, callback[, …input])` - -Call `middleware` with all input. -If `middleware` accepts more arguments than given in input, and extra `done` -function is passed in after the input when calling it. -It must be called. - -The first value in `input` is called the main input value. -All other input values are called the rest input values. -The values given to `callback` are the input values, merged with every non-nully -output value. - -* If `middleware` throws an error, returns a promise that is rejected, or - calls the given `done` function with an error, `callback` is invoked with - that error -* If `middleware` returns a value or returns a promise that is resolved, that - value is the main output value -* If `middleware` calls `done`, all non-nully values except for the first one - (the error) overwrite the output values - -### `Trough` - -A pipeline. - -#### `Trough#run([input…, ]done)` - -Run the pipeline (all [`use()`][use]d middleware). -Invokes [`done`][done] on completion with either an error or the output of the -last middleware. - -> Note! -> as the length of input defines whether [async][] functions get a `next` -> function, it’s recommended to keep `input` at one value normally. - -##### `function done(err?, [output…])` - -The final handler passed to [`run()`][run], invoked with an error if a -[middleware function][fn] rejected, passed, or threw one, or the output of the -last middleware function. - -#### `Trough#use(fn)` - -Add `fn`, a [middleware function][fn], to the pipeline. - -##### `function fn([input…, ][next])` - -A middleware function invoked with the output of its predecessor. - -###### Synchronous - -If `fn` returns or throws an error, the pipeline fails and `done` is invoked -with that error. - -If `fn` returns a value (neither `null` nor `undefined`), the first `input` of -the next function is set to that value (all other `input` is passed through). - -The following example shows how returning an error stops the pipeline: - -```js -var trough = require('trough') - -trough() - .use(function(val) { - return new Error('Got: ' + val) - }) - .run('some value', console.log) -``` - -Yields: - -```txt -Error: Got: some value - at ~/example.js:5:12 - … -``` - -The following example shows how throwing an error stops the pipeline: - -```js -var trough = require('trough') - -trough() - .use(function(val) { - throw new Error('Got: ' + val) - }) - .run('more value', console.log) -``` - -Yields: - -```txt -Error: Got: more value - at ~/example.js:5:11 - … -``` - -The following example shows how the first output can be modified: - -```js -var trough = require('trough') - -trough() - .use(function(val) { - return 'even ' + val - }) - .run('more value', 'untouched', console.log) -``` - -Yields: - -```txt -null 'even more value' 'untouched' -``` - -###### Promise - -If `fn` returns a promise, and that promise rejects, the pipeline fails and -`done` is invoked with the rejected value. - -If `fn` returns a promise, and that promise resolves with a value (neither -`null` nor `undefined`), the first `input` of the next function is set to that -value (all other `input` is passed through). - -The following example shows how rejecting a promise stops the pipeline: - -```js -var trough = require('trough') - -trough() - .use(function(val) { - return new Promise(function(resolve, reject) { - reject('Got: ' + val) - }) - }) - .run('val', console.log) -``` - -Yields: - -```txt -Got: val -``` - -The following example shows how the input isn’t touched by resolving to `null`. - -```js -var trough = require('trough') - -trough() - .use(function() { - return new Promise(function(resolve) { - setTimeout(function() { - resolve(null) - }, 100) - }) - }) - .run('Input', console.log) -``` - -Yields: - -```txt -null 'Input' -``` - -###### Asynchronous - -If `fn` accepts one more argument than the given `input`, a `next` function is -given (after the input). `next` must be called, but doesn’t have to be called -async. - -If `next` is given a value (neither `null` nor `undefined`) as its first -argument, the pipeline fails and `done` is invoked with that value. - -If `next` is given no value (either `null` or `undefined`) as the first -argument, all following non-nully values change the input of the following -function, and all nully values default to the `input`. - -The following example shows how passing a first argument stops the pipeline: - -```js -var trough = require('trough') - -trough() - .use(function(val, next) { - next(new Error('Got: ' + val)) - }) - .run('val', console.log) -``` - -Yields: - -```txt -Error: Got: val - at ~/example.js:5:10 -``` - -The following example shows how more values than the input are passed. - -```js -var trough = require('trough') - -trough() - .use(function(val, next) { - setTimeout(function() { - next(null, null, 'values') - }, 100) - }) - .run('some', console.log) -``` - -Yields: - -```txt -null 'some' 'values' -``` - -## License - -[MIT][license] © [Titus Wormer][author] - - - -[build-badge]: https://img.shields.io/travis/wooorm/trough.svg - -[build]: https://travis-ci.org/wooorm/trough - -[coverage-badge]: https://img.shields.io/codecov/c/github/wooorm/trough.svg - -[coverage]: https://codecov.io/github/wooorm/trough - -[downloads-badge]: https://img.shields.io/npm/dm/trough.svg - -[downloads]: https://www.npmjs.com/package/trough - -[size-badge]: https://img.shields.io/bundlephobia/minzip/trough.svg - -[size]: https://bundlephobia.com/result?p=trough - -[npm]: https://docs.npmjs.com/cli/install - -[license]: license - -[author]: https://wooorm.com - -[ware]: https://github.com/segmentio/ware - -[trough]: #trough-1 - -[use]: #troughusefn - -[run]: #troughruninput-done - -[fn]: #function-fninput-next - -[done]: #function-doneerr-output - -[async]: #asynchronous diff --git a/tools/node_modules/eslint-plugin-markdown/node_modules/trough/wrap.js b/tools/node_modules/eslint-plugin-markdown/node_modules/trough/wrap.js deleted file mode 100644 index cf568c07adfa34..00000000000000 --- a/tools/node_modules/eslint-plugin-markdown/node_modules/trough/wrap.js +++ /dev/null @@ -1,64 +0,0 @@ -'use strict' - -var slice = [].slice - -module.exports = wrap - -// Wrap `fn`. -// Can be sync or async; return a promise, receive a completion handler, return -// new values and errors. -function wrap(fn, callback) { - var invoked - - return wrapped - - function wrapped() { - var params = slice.call(arguments, 0) - var callback = fn.length > params.length - var result - - if (callback) { - params.push(done) - } - - try { - result = fn.apply(null, params) - } catch (error) { - // Well, this is quite the pickle. - // `fn` received a callback and invoked it (thus continuing the pipeline), - // but later also threw an error. - // We’re not about to restart the pipeline again, so the only thing left - // to do is to throw the thing instead. - if (callback && invoked) { - throw error - } - - return done(error) - } - - if (!callback) { - if (result && typeof result.then === 'function') { - result.then(then, done) - } else if (result instanceof Error) { - done(result) - } else { - then(result) - } - } - } - - // Invoke `next`, only once. - function done() { - if (!invoked) { - invoked = true - - callback.apply(null, arguments) - } - } - - // Invoke `done` with one value. - // Tracks if an error is passed, too. - function then(value) { - done(null, value) - } -} diff --git a/tools/node_modules/eslint-plugin-markdown/node_modules/unherit/index.js b/tools/node_modules/eslint-plugin-markdown/node_modules/unherit/index.js deleted file mode 100644 index 32ead7770fa2c9..00000000000000 --- a/tools/node_modules/eslint-plugin-markdown/node_modules/unherit/index.js +++ /dev/null @@ -1,45 +0,0 @@ -'use strict' - -var xtend = require('xtend') -var inherits = require('inherits') - -module.exports = unherit - -// Create a custom constructor which can be modified without affecting the -// original class. -function unherit(Super) { - var result - var key - var value - - inherits(Of, Super) - inherits(From, Of) - - // Clone values. - result = Of.prototype - - for (key in result) { - value = result[key] - - if (value && typeof value === 'object') { - result[key] = 'concat' in value ? value.concat() : xtend(value) - } - } - - return Of - - // Constructor accepting a single argument, which itself is an `arguments` - // object. - function From(parameters) { - return Super.apply(this, parameters) - } - - // Constructor accepting variadic arguments. - function Of() { - if (!(this instanceof Of)) { - return new From(arguments) - } - - return Super.apply(this, arguments) - } -} diff --git a/tools/node_modules/eslint-plugin-markdown/node_modules/unherit/license b/tools/node_modules/eslint-plugin-markdown/node_modules/unherit/license deleted file mode 100644 index f3722d94b38121..00000000000000 --- a/tools/node_modules/eslint-plugin-markdown/node_modules/unherit/license +++ /dev/null @@ -1,21 +0,0 @@ -(The MIT License) - -Copyright (c) 2015 Titus Wormer - -Permission is hereby granted, free of charge, to any person obtaining a copy -of this software and associated documentation files (the "Software"), to deal -in the Software without restriction, including without limitation the rights -to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -copies of the Software, and to permit persons to whom the Software is -furnished to do so, subject to the following conditions: - -The above copyright notice and this permission notice shall be included in -all copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN -THE SOFTWARE. diff --git a/tools/node_modules/eslint-plugin-markdown/node_modules/unherit/package.json b/tools/node_modules/eslint-plugin-markdown/node_modules/unherit/package.json deleted file mode 100644 index 445a500650255e..00000000000000 --- a/tools/node_modules/eslint-plugin-markdown/node_modules/unherit/package.json +++ /dev/null @@ -1,72 +0,0 @@ -{ - "name": "unherit", - "version": "1.1.3", - "description": "Clone a constructor without affecting the super-class", - "license": "MIT", - "keywords": [ - "clone", - "super", - "class", - "constructor" - ], - "repository": "wooorm/unherit", - "bugs": "https://github.com/wooorm/unherit/issues", - "funding": { - "type": "github", - "url": "https://github.com/sponsors/wooorm" - }, - "author": "Titus Wormer (https://wooorm.com)", - "contributors": [ - "Titus Wormer (https://wooorm.com)" - ], - "files": [ - "index.js" - ], - "dependencies": { - "inherits": "^2.0.0", - "xtend": "^4.0.0" - }, - "devDependencies": { - "browserify": "^16.0.0", - "nyc": "^15.0.0", - "prettier": "^1.0.0", - "remark-cli": "^7.0.0", - "remark-preset-wooorm": "^6.0.0", - "tape": "^4.0.0", - "tinyify": "^2.0.0", - "xo": "^0.25.0" - }, - "scripts": { - "format": "remark . -qfo && prettier --write \"**/*.js\" && xo --fix", - "build-bundle": "browserify . -s unherit -o unherit.js", - "build-mangle": "browserify . -s unherit -p tinyify -o unherit.min.js", - "build": "npm run build-bundle && npm run build-mangle", - "test-api": "node test", - "test-coverage": "nyc --reporter lcov tape test.js", - "test": "npm run format && npm run build && npm run test-coverage" - }, - "prettier": { - "tabWidth": 2, - "useTabs": false, - "singleQuote": true, - "bracketSpacing": false, - "semi": false, - "trailingComma": "none" - }, - "xo": { - "prettier": true, - "esnext": false, - "rules": { - "unicorn/prefer-reflect-apply": "off", - "guard-for-in": "off" - }, - "ignores": [ - "unherit.js" - ] - }, - "remarkConfig": { - "plugins": [ - "preset-wooorm" - ] - } -} diff --git a/tools/node_modules/eslint-plugin-markdown/node_modules/unherit/readme.md b/tools/node_modules/eslint-plugin-markdown/node_modules/unherit/readme.md deleted file mode 100644 index bf679597d89d50..00000000000000 --- a/tools/node_modules/eslint-plugin-markdown/node_modules/unherit/readme.md +++ /dev/null @@ -1,79 +0,0 @@ -# unherit - -[![Build][build-badge]][build] -[![Coverage][coverage-badge]][coverage] -[![Downloads][downloads-badge]][downloads] -[![Size][size-badge]][size] - -Create a custom constructor which can be modified without affecting the original -class. - -## Install - -[npm][]: - -```sh -npm install unherit -``` - -## Use - -```js -var EventEmitter = require('events').EventEmitter -var unherit = require('unherit') - -// Create a private class which acts just like `EventEmitter`. -var Emitter = unherit(EventEmitter) - -Emitter.prototype.defaultMaxListeners = 0 -// Now, all instances of `Emitter` have no maximum listeners, without affecting -// other `EventEmitter`s. - -new Emitter().defaultMaxListeners === 0 // => true -new EventEmitter().defaultMaxListeners === undefined // => true -new Emitter() instanceof EventEmitter // => true -``` - -## API - -### `unherit(Super)` - -Create a custom constructor which can be modified without affecting the original -class. - -###### Parameters - -* `Super` (`Function`) — Super-class - -###### Returns - -`Function` — Constructor acting like `Super`, which can be modified without -affecting the original class. - -## License - -[MIT][license] © [Titus Wormer][author] - - - -[build-badge]: https://img.shields.io/travis/wooorm/unherit.svg - -[build]: https://travis-ci.org/wooorm/unherit - -[coverage-badge]: https://img.shields.io/codecov/c/github/wooorm/unherit.svg - -[coverage]: https://codecov.io/github/wooorm/unherit - -[downloads-badge]: https://img.shields.io/npm/dm/unherit.svg - -[downloads]: https://www.npmjs.com/package/unherit - -[size-badge]: https://img.shields.io/bundlephobia/minzip/unherit.svg - -[size]: https://bundlephobia.com/result?p=unherit - -[npm]: https://docs.npmjs.com/cli/install - -[license]: license - -[author]: https://wooorm.com diff --git a/tools/node_modules/eslint-plugin-markdown/node_modules/unified/LICENSE b/tools/node_modules/eslint-plugin-markdown/node_modules/unified/LICENSE deleted file mode 100644 index f3722d94b38121..00000000000000 --- a/tools/node_modules/eslint-plugin-markdown/node_modules/unified/LICENSE +++ /dev/null @@ -1,21 +0,0 @@ -(The MIT License) - -Copyright (c) 2015 Titus Wormer - -Permission is hereby granted, free of charge, to any person obtaining a copy -of this software and associated documentation files (the "Software"), to deal -in the Software without restriction, including without limitation the rights -to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -copies of the Software, and to permit persons to whom the Software is -furnished to do so, subject to the following conditions: - -The above copyright notice and this permission notice shall be included in -all copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN -THE SOFTWARE. diff --git a/tools/node_modules/eslint-plugin-markdown/node_modules/unified/index.js b/tools/node_modules/eslint-plugin-markdown/node_modules/unified/index.js deleted file mode 100644 index b8f9011d1701b9..00000000000000 --- a/tools/node_modules/eslint-plugin-markdown/node_modules/unified/index.js +++ /dev/null @@ -1,466 +0,0 @@ -'use strict' - -/* Dependencies. */ -var extend = require('extend') -var bail = require('bail') -var vfile = require('vfile') -var trough = require('trough') -var string = require('x-is-string') -var plain = require('is-plain-obj') - -/* Expose a frozen processor. */ -module.exports = unified().freeze() - -var slice = [].slice -var own = {}.hasOwnProperty - -/* Process pipeline. */ -var pipeline = trough() - .use(pipelineParse) - .use(pipelineRun) - .use(pipelineStringify) - -function pipelineParse(p, ctx) { - ctx.tree = p.parse(ctx.file) -} - -function pipelineRun(p, ctx, next) { - p.run(ctx.tree, ctx.file, done) - - function done(err, tree, file) { - if (err) { - next(err) - } else { - ctx.tree = tree - ctx.file = file - next() - } - } -} - -function pipelineStringify(p, ctx) { - ctx.file.contents = p.stringify(ctx.tree, ctx.file) -} - -/* Function to create the first processor. */ -function unified() { - var attachers = [] - var transformers = trough() - var namespace = {} - var frozen = false - var freezeIndex = -1 - - /* Data management. */ - processor.data = data - - /* Lock. */ - processor.freeze = freeze - - /* Plug-ins. */ - processor.attachers = attachers - processor.use = use - - /* API. */ - processor.parse = parse - processor.stringify = stringify - processor.run = run - processor.runSync = runSync - processor.process = process - processor.processSync = processSync - - /* Expose. */ - return processor - - /* Create a new processor based on the processor - * in the current scope. */ - function processor() { - var destination = unified() - var length = attachers.length - var index = -1 - - while (++index < length) { - destination.use.apply(null, attachers[index]) - } - - destination.data(extend(true, {}, namespace)) - - return destination - } - - /* Freeze: used to signal a processor that has finished - * configuration. - * - * For example, take unified itself. It’s frozen. - * Plug-ins should not be added to it. Rather, it should - * be extended, by invoking it, before modifying it. - * - * In essence, always invoke this when exporting a - * processor. */ - function freeze() { - var values - var plugin - var options - var transformer - - if (frozen) { - return processor - } - - while (++freezeIndex < attachers.length) { - values = attachers[freezeIndex] - plugin = values[0] - options = values[1] - transformer = null - - if (options === false) { - continue - } - - if (options === true) { - values[1] = undefined - } - - transformer = plugin.apply(processor, values.slice(1)) - - if (typeof transformer === 'function') { - transformers.use(transformer) - } - } - - frozen = true - freezeIndex = Infinity - - return processor - } - - /* Data management. - * Getter / setter for processor-specific informtion. */ - function data(key, value) { - if (string(key)) { - /* Set `key`. */ - if (arguments.length === 2) { - assertUnfrozen('data', frozen) - - namespace[key] = value - - return processor - } - - /* Get `key`. */ - return (own.call(namespace, key) && namespace[key]) || null - } - - /* Set space. */ - if (key) { - assertUnfrozen('data', frozen) - namespace = key - return processor - } - - /* Get space. */ - return namespace - } - - /* Plug-in management. - * - * Pass it: - * * an attacher and options, - * * a preset, - * * a list of presets, attachers, and arguments (list - * of attachers and options). */ - function use(value) { - var settings - - assertUnfrozen('use', frozen) - - if (value === null || value === undefined) { - /* Empty */ - } else if (typeof value === 'function') { - addPlugin.apply(null, arguments) - } else if (typeof value === 'object') { - if ('length' in value) { - addList(value) - } else { - addPreset(value) - } - } else { - throw new Error('Expected usable value, not `' + value + '`') - } - - if (settings) { - namespace.settings = extend(namespace.settings || {}, settings) - } - - return processor - - function addPreset(result) { - addList(result.plugins) - - if (result.settings) { - settings = extend(settings || {}, result.settings) - } - } - - function add(value) { - if (typeof value === 'function') { - addPlugin(value) - } else if (typeof value === 'object') { - if ('length' in value) { - addPlugin.apply(null, value) - } else { - addPreset(value) - } - } else { - throw new Error('Expected usable value, not `' + value + '`') - } - } - - function addList(plugins) { - var length - var index - - if (plugins === null || plugins === undefined) { - /* Empty */ - } else if (typeof plugins === 'object' && 'length' in plugins) { - length = plugins.length - index = -1 - - while (++index < length) { - add(plugins[index]) - } - } else { - throw new Error('Expected a list of plugins, not `' + plugins + '`') - } - } - - function addPlugin(plugin, value) { - var entry = find(plugin) - - if (entry) { - if (plain(entry[1]) && plain(value)) { - value = extend(entry[1], value) - } - - entry[1] = value - } else { - attachers.push(slice.call(arguments)) - } - } - } - - function find(plugin) { - var length = attachers.length - var index = -1 - var entry - - while (++index < length) { - entry = attachers[index] - - if (entry[0] === plugin) { - return entry - } - } - } - - /* Parse a file (in string or VFile representation) - * into a Unist node using the `Parser` on the - * processor. */ - function parse(doc) { - var file = vfile(doc) - var Parser - - freeze() - Parser = processor.Parser - assertParser('parse', Parser) - - if (newable(Parser)) { - return new Parser(String(file), file).parse() - } - - return Parser(String(file), file) // eslint-disable-line new-cap - } - - /* Run transforms on a Unist node representation of a file - * (in string or VFile representation), async. */ - function run(node, file, cb) { - assertNode(node) - freeze() - - if (!cb && typeof file === 'function') { - cb = file - file = null - } - - if (!cb) { - return new Promise(executor) - } - - executor(null, cb) - - function executor(resolve, reject) { - transformers.run(node, vfile(file), done) - - function done(err, tree, file) { - tree = tree || node - if (err) { - reject(err) - } else if (resolve) { - resolve(tree) - } else { - cb(null, tree, file) - } - } - } - } - - /* Run transforms on a Unist node representation of a file - * (in string or VFile representation), sync. */ - function runSync(node, file) { - var complete = false - var result - - run(node, file, done) - - assertDone('runSync', 'run', complete) - - return result - - function done(err, tree) { - complete = true - bail(err) - result = tree - } - } - - /* Stringify a Unist node representation of a file - * (in string or VFile representation) into a string - * using the `Compiler` on the processor. */ - function stringify(node, doc) { - var file = vfile(doc) - var Compiler - - freeze() - Compiler = processor.Compiler - assertCompiler('stringify', Compiler) - assertNode(node) - - if (newable(Compiler)) { - return new Compiler(node, file).compile() - } - - return Compiler(node, file) // eslint-disable-line new-cap - } - - /* Parse a file (in string or VFile representation) - * into a Unist node using the `Parser` on the processor, - * then run transforms on that node, and compile the - * resulting node using the `Compiler` on the processor, - * and store that result on the VFile. */ - function process(doc, cb) { - freeze() - assertParser('process', processor.Parser) - assertCompiler('process', processor.Compiler) - - if (!cb) { - return new Promise(executor) - } - - executor(null, cb) - - function executor(resolve, reject) { - var file = vfile(doc) - - pipeline.run(processor, {file: file}, done) - - function done(err) { - if (err) { - reject(err) - } else if (resolve) { - resolve(file) - } else { - cb(null, file) - } - } - } - } - - /* Process the given document (in string or VFile - * representation), sync. */ - function processSync(doc) { - var complete = false - var file - - freeze() - assertParser('processSync', processor.Parser) - assertCompiler('processSync', processor.Compiler) - file = vfile(doc) - - process(file, done) - - assertDone('processSync', 'process', complete) - - return file - - function done(err) { - complete = true - bail(err) - } - } -} - -/* Check if `func` is a constructor. */ -function newable(value) { - return typeof value === 'function' && keys(value.prototype) -} - -/* Check if `value` is an object with keys. */ -function keys(value) { - var key - for (key in value) { - return true - } - return false -} - -/* Assert a parser is available. */ -function assertParser(name, Parser) { - if (typeof Parser !== 'function') { - throw new Error('Cannot `' + name + '` without `Parser`') - } -} - -/* Assert a compiler is available. */ -function assertCompiler(name, Compiler) { - if (typeof Compiler !== 'function') { - throw new Error('Cannot `' + name + '` without `Compiler`') - } -} - -/* Assert the processor is not frozen. */ -function assertUnfrozen(name, frozen) { - if (frozen) { - throw new Error( - [ - 'Cannot invoke `' + name + '` on a frozen processor.\nCreate a new ', - 'processor first, by invoking it: use `processor()` instead of ', - '`processor`.' - ].join('') - ) - } -} - -/* Assert `node` is a Unist node. */ -function assertNode(node) { - if (!node || !string(node.type)) { - throw new Error('Expected node, got `' + node + '`') - } -} - -/* Assert that `complete` is `true`. */ -function assertDone(name, asyncName, complete) { - if (!complete) { - throw new Error( - '`' + name + '` finished async. Use `' + asyncName + '` instead' - ) - } -} diff --git a/tools/node_modules/eslint-plugin-markdown/node_modules/unified/package.json b/tools/node_modules/eslint-plugin-markdown/node_modules/unified/package.json deleted file mode 100644 index 21777216934520..00000000000000 --- a/tools/node_modules/eslint-plugin-markdown/node_modules/unified/package.json +++ /dev/null @@ -1,86 +0,0 @@ -{ - "name": "unified", - "version": "6.2.0", - "description": "Pluggable text processing interface", - "license": "MIT", - "keywords": [ - "process", - "parse", - "transform", - "compile", - "stringify", - "rehype", - "retext", - "remark" - ], - "repository": "unifiedjs/unified", - "bugs": "https://github.com/unifiedjs/unified/issues", - "author": "Titus Wormer (http://wooorm.com)", - "contributors": [ - "Titus Wormer (http://wooorm.com)" - ], - "files": [ - "index.js", - "lib" - ], - "dependencies": { - "bail": "^1.0.0", - "extend": "^3.0.0", - "is-plain-obj": "^1.1.0", - "trough": "^1.0.0", - "vfile": "^2.0.0", - "x-is-string": "^0.1.0" - }, - "devDependencies": { - "browserify": "^16.0.0", - "esmangle": "^1.0.0", - "nyc": "^11.0.0", - "prettier": "^1.12.1", - "remark-cli": "^5.0.0", - "remark-preset-wooorm": "^4.0.0", - "tape": "^4.4.0", - "xo": "^0.20.0" - }, - "scripts": { - "format": "remark . -qfo && prettier --write '**/*.js' && xo --fix", - "build-bundle": "browserify index.js -s unified > unified.js", - "build-mangle": "esmangle unified.js > unified.min.js", - "build": "npm run build-bundle && npm run build-mangle", - "test-api": "node test", - "test-coverage": "nyc --reporter lcov tape test", - "test": "npm run format && npm run build && npm run test-coverage" - }, - "nyc": { - "check-coverage": true, - "lines": 100, - "functions": 100, - "branches": 100 - }, - "prettier": { - "tabWidth": 2, - "useTabs": false, - "singleQuote": true, - "bracketSpacing": false, - "semi": false, - "trailingComma": "none" - }, - "xo": { - "prettier": true, - "esnext": false, - "rules": { - "guard-for-in": "off", - "no-var": "off", - "object-shorthand": "off", - "prefer-arrow-callback": "off", - "unicorn/prefer-type-error": "off" - }, - "ignores": [ - "unified.js" - ] - }, - "remarkConfig": { - "plugins": [ - "preset-wooorm" - ] - } -} diff --git a/tools/node_modules/eslint-plugin-markdown/node_modules/unified/readme.md b/tools/node_modules/eslint-plugin-markdown/node_modules/unified/readme.md deleted file mode 100644 index e979e0b3629447..00000000000000 --- a/tools/node_modules/eslint-plugin-markdown/node_modules/unified/readme.md +++ /dev/null @@ -1,993 +0,0 @@ -# ![unified][logo] - -[![Build Status][travis-badge]][travis] -[![Coverage Status][codecov-badge]][codecov] -[![Chat][chat-badge]][chat] - -**unified** is an interface for processing text using syntax trees. It’s what -powers [**remark**][remark], [**retext**][retext], and [**rehype**][rehype], -but it also allows for processing between multiple syntaxes. - -The website for **unified**, [`unifiedjs.github.io`][site], provides a less -technical and more practical introduction to unified. Make sure to visit it -and try its introductory [Guides][]. - -## Installation - -[npm][]: - -```bash -npm install unified -``` - -## Usage - -```js -var unified = require('unified') -var markdown = require('remark-parse') -var remark2rehype = require('remark-rehype') -var doc = require('rehype-document') -var format = require('rehype-format') -var html = require('rehype-stringify') -var report = require('vfile-reporter') - -unified() - .use(markdown) - .use(remark2rehype) - .use(doc) - .use(format) - .use(html) - .process('# Hello world!', function(err, file) { - console.error(report(err || file)) - console.log(String(file)) - }) -``` - -Yields: - -```html -no issues found - - - - - - - -

    Hello world!

    - - -``` - -## Table of Contents - -* [Description](#description) -* [API](#api) - * [processor()](#processor) - * [processor.use(plugin\[, options\])](#processoruseplugin-options) - * [processor.parse(file|value)](#processorparsefilevalue) - * [processor.stringify(node\[, file\])](#processorstringifynode-file) - * [processor.run(node\[, file\]\[, done\])](#processorrunnode-file-done) - * [processor.runSync(node\[, file\])](#processorrunsyncnode-file) - * [processor.process(file|value\[, done\])](#processorprocessfilevalue-done) - * [processor.processSync(file|value)](#processorprocesssyncfilevalue) - * [processor.data(key\[, value\])](#processordatakey-value) - * [processor.freeze()](#processorfreeze) -* [Plugin](#plugin) - * [function attacher(\[options\])](#function-attacheroptions) - * [function transformer(node, file\[, next\])](#function-transformernode-file-next) -* [Preset](#preset) -* [Contribute](#contribute) -* [Acknowledgments](#acknowledgments) -* [License](#license) - -## Description - -**unified** is an interface for processing text using syntax trees. Syntax -trees are a representation understandable to programs. Those programs, called -[**plugin**][plugin]s, take these trees and modify them, amongst other things. -To get to the syntax tree from input text there’s a [**parser**][parser]. To -get from that back to text there’s a [**compiler**][compiler]. This is the -[**process**][process] of a **processor**. - -```ascii -| ....................... process() ......................... | -| ......... parse() ..... | run() | ..... stringify() ....... | - - +--------+ +----------+ -Input ->- | Parser | ->- Syntax Tree ->- | Compiler | ->- Output - +--------+ | +----------+ - X - | - +--------------+ - | Transformers | - +--------------+ -``` - -###### Processors - -Every processor implements another processor. To create a new processor invoke -another processor. This creates a processor that is configured to function the -same as its ancestor. But when the descendant processor is configured in the -future it does not affect the ancestral processor. - -When processors are exposed from a module (for example, unified itself) they -should not be configured directly, as that would change their behaviour for all -module users. Those processors are [**frozen**][freeze] and they should be -invoked to create a new processor before they are used. - -###### Node - -The syntax trees used in **unified** are [**Unist**][unist] nodes: plain -JavaScript objects with a `type` property. The semantics of those `type`s are -defined by other projects. - -There are several [utilities][unist-utilities] for working with these nodes. - -###### List of Processors - -The following projects process different syntax trees. They parse text to -their respective syntax tree and they compile their syntax trees back to text. -These processors can be used as-is, or their parsers and compilers can be mixed -and matched with **unified** and other plugins to process between different -syntaxes. - -* [**rehype**][rehype] ([**HAST**][hast]) — HTML -* [**remark**][remark] ([**MDAST**][mdast]) — Markdown -* [**retext**][retext] ([**NLCST**][nlcst]) — Natural language - -###### List of Plugins - -The below plugins work with **unified**, unrelated to what flavour the syntax -tree is in: - -* [`unified-diff`](https://github.com/unifiedjs/unified-diff) - — Ignore messages for unchanged lines in Travis - -See [**remark**][remark-plugins], [**rehype**][rehype-plugins], and -[**retext**][retext-plugins] for lists of their plugins. - -###### File - -When processing documents metadata is often gathered about that document. -[**VFile**][vfile] is a virtual file format which stores data and handles -metadata and messages for **unified** and its plugins. - -There are several [utilities][vfile-utilities] for working with these files. - -###### Configuration - -To configure a processor invoke its [`use`][use] method, supply it a -[**plugin**][plugin], and optionally settings. - -###### Integrations - -**unified** can integrate with the file-system through -[`unified-engine`][engine]. On top of that, CLI apps can be created with -[`unified-args`][args], Gulp plugins with [`unified-engine-gulp`][gulp], and -Atom Linters with [`unified-engine-atom`][atom]. - -A streaming interface is provided through [`unified-stream`][stream]. - -###### Programming interface - -The API gives access to processing metadata (such as lint messages) and -supports multiple passed through files: - -```js -var unified = require('unified') -var markdown = require('remark-parse') -var styleGuide = require('remark-preset-lint-markdown-style-guide') -var remark2retext = require('remark-retext') -var english = require('retext-english') -var equality = require('retext-equality') -var remark2rehype = require('remark-rehype') -var html = require('rehype-stringify') -var report = require('vfile-reporter') - -unified() - .use(markdown) - .use(styleGuide) - .use( - remark2retext, - unified() - .use(english) - .use(equality) - ) - .use(remark2rehype) - .use(html) - .process('*Emphasis* and _importance_, you guys!', function(err, file) { - console.error(report(err || file)) - console.log(String(file)) - }) -``` - -Yields: - -```txt - 1:16-1:28 warning Emphasis should use `*` as a marker emphasis-marker remark-lint - 1:34-1:38 warning `guys` may be insensitive, use `people`, `persons`, `folks` instead gals-men retext-equality - -⚠ 2 warnings -

    Emphasis and importance, you guys!

    -``` - -###### Processing between syntaxes - -The processors can be combined in two modes. - -**Bridge** mode transforms the syntax tree from one flavour (the origin) to -another (the destination). Then, transformations are applied on that tree. -Finally, the origin processor continues transforming the original syntax tree. - -**Mutate** mode also transforms the syntax tree from one flavour to another. -But then the origin processor continues transforming the destination syntax -tree. - -In the previous example (“Programming interface”), `remark-retext` is used in -bridge mode: the origin syntax tree is kept after retext is done; whereas -`remark-rehype` is used in mutate mode: it sets a new syntax tree and discards -the original. - -* [`remark-retext`][remark-retext] -* [`remark-rehype`][remark-rehype] -* [`rehype-retext`][rehype-retext] -* [`rehype-remark`][rehype-remark] - -## API - -### `processor()` - -Object describing how to process text. - -###### Returns - -`Function` — New [**unfrozen**][freeze] processor which is configured to -function the same as its ancestor. But when the descendant processor is -configured in the future it does not affect the ancestral processor. - -###### Example - -The following example shows how a new processor can be created (from the remark -processor) and linked to **stdin**(4) and **stdout**(4). - -```js -var remark = require('remark') -var concat = require('concat-stream') - -process.stdin.pipe(concat(onconcat)) - -function onconcat(buf) { - var doc = remark() - .processSync(buf) - .toString() - - process.stdout.write(doc) -} -``` - -### `processor.use(plugin[, options])` - -Configure the processor to use a [**plugin**][plugin] and optionally configure -that plugin with options. - -###### Signatures - -* `processor.use(plugin[, options])` -* `processor.use(preset)` -* `processor.use(list)` - -###### Parameters - -* `plugin` ([`Plugin`][plugin]) -* `options` (`*`, optional) — Configuration for `plugin` -* `preset` (`Object`) — Object with an optional `plugins` (set to `list`), - and/or an optional `settings` object -* `list` (`Array`) — List of plugins, presets, and pairs (`plugin` and - `options` in an array) - -###### Returns - -`processor` — The processor on which `use` is invoked. - -###### Note - -`use` cannot be called on [frozen][freeze] processors. Invoke the processor -first to create a new unfrozen processor. - -###### Example - -There are many ways to pass plugins to `.use()`. The below example gives an -overview. - -```js -var unified = require('unified') - -unified() - // Plugin with options: - .use(plugin, {}) - // Plugins: - .use([plugin, pluginB]) - // Two plugins, the second with options: - .use([plugin, [pluginB, {}]]) - // Preset with plugins and settings: - .use({plugins: [plugin, [pluginB, {}]], settings: {position: false}}) - // Settings only: - .use({settings: {position: false}}) - -function plugin() {} -function pluginB() {} -``` - -### `processor.parse(file|value)` - -Parse text to a syntax tree. - -###### Parameters - -* `file` ([`VFile`][file]) - — Or anything which can be given to `vfile()` - -###### Returns - -[`Node`][node] — Syntax tree representation of input. - -###### Note - -`parse` [freezes][freeze] the processor if not already frozen. - -#### `processor.Parser` - -Function handling the parsing of text to a syntax tree. Used in the -[**parse**][parse] phase in the process and invoked with a `string` and -[`VFile`][file] representation of the document to parse. - -`Parser` can be a normal function in which case it must return a -[`Node`][node]: the syntax tree representation of the given file. - -`Parser` can also be a constructor function (a function with keys in its -`prototype`) in which case it’s invoked with `new`. Instances must have a -`parse` method which is invoked without arguments and must return a -[`Node`][node]. - -### `processor.stringify(node[, file])` - -Compile a syntax tree to text. - -###### Parameters - -* `node` ([`Node`][node]) -* `file` ([`VFile`][file], optional); - — Or anything which can be given to `vfile()` - -###### Returns - -`string` — String representation of the syntax tree file. - -###### Note - -`stringify` [freezes][freeze] the processor if not already frozen. - -#### `processor.Compiler` - -Function handling the compilation of syntax tree to a text. Used in the -[**stringify**][stringify] phase in the process and invoked with a -[`Node`][node] and [`VFile`][file] representation of the document to stringify. - -`Compiler` can be a normal function in which case it must return a `string`: -the text representation of the given syntax tree. - -`Compiler` can also be a constructor function (a function with keys in its -`prototype`) in which case it’s invoked with `new`. Instances must have a -`compile` method which is invoked without arguments and must return a `string`. - -### `processor.run(node[, file][, done])` - -Transform a syntax tree by applying [**plugin**][plugin]s to it. - -###### Parameters - -* `node` ([`Node`][node]) -* `file` ([`VFile`][file], optional) - — Or anything which can be given to `vfile()` -* `done` ([`Function`][run-done], optional) - -###### Returns - -[`Promise`][promise] if `done` is not given. Rejected with an error, or -resolved with the resulting syntax tree. - -###### Note - -`run` [freezes][freeze] the processor if not already frozen. - -##### `function done(err[, node, file])` - -Invoked when transformation is complete. Either invoked with an error or a -syntax tree and a file. - -###### Parameters - -* `err` (`Error`) — Fatal error -* `node` ([`Node`][node]) -* `file` ([`VFile`][file]) - -### `processor.runSync(node[, file])` - -Transform a syntax tree by applying [**plugin**][plugin]s to it. - -If asynchronous [**plugin**][plugin]s are configured an error is thrown. - -###### Parameters - -* `node` ([`Node`][node]) -* `file` ([`VFile`][file], optional) - — Or anything which can be given to `vfile()` - -###### Returns - -[`Node`][node] — The given syntax tree. - -###### Note - -`runSync` [freezes][freeze] the processor if not already frozen. - -### `processor.process(file|value[, done])` - -Process the given representation of a file as configured on the processor. The -process invokes `parse`, `run`, and `stringify` internally. - -###### Parameters - -* `file` ([`VFile`][file]) -* `value` (`string`) — String representation of a file -* `done` ([`Function`][process-done], optional) - -###### Returns - -[`Promise`][promise] if `done` is not given. Rejected with an error or -resolved with the resulting file. - -###### Note - -`process` [freezes][freeze] the processor if not already frozen. - -#### `function done(err, file)` - -Invoked when the process is complete. Invoked with a fatal error, if any, and -the [`VFile`][file]. - -###### Parameters - -* `err` (`Error`, optional) — Fatal error -* `file` ([`VFile`][file]) - -###### Example - -```js -var unified = require('unified') -var markdown = require('remark-parse') -var remark2rehype = require('remark-rehype') -var doc = require('rehype-document') -var format = require('rehype-format') -var html = require('rehype-stringify') - -unified() - .use(markdown) - .use(remark2rehype) - .use(doc) - .use(format) - .use(html) - .process('# Hello world!') - .then( - function(file) { - console.log(String(file)) - }, - function(err) { - console.error(String(err)) - } - ) -``` - -Yields: - -```html - - - - - - - -

    Hello world!

    - - -``` - -### `processor.processSync(file|value)` - -Process the given representation of a file as configured on the processor. The -process invokes `parse`, `run`, and `stringify` internally. - -If asynchronous [**plugin**][plugin]s are configured an error is thrown. - -###### Parameters - -* `file` ([`VFile`][file]) -* `value` (`string`) — String representation of a file - -###### Returns - -[`VFile`][file] — Virtual file with modified [`contents`][vfile-contents]. - -###### Note - -`processSync` [freezes][freeze] the processor if not already frozen. - -###### Example - -```js -var unified = require('unified') -var markdown = require('remark-parse') -var remark2rehype = require('remark-rehype') -var doc = require('rehype-document') -var format = require('rehype-format') -var html = require('rehype-stringify') - -var processor = unified() - .use(markdown) - .use(remark2rehype) - .use(doc) - .use(format) - .use(html) - -console.log(processor.processSync('# Hello world!').toString()) -``` - -Yields: - -```html - - - - - - - -

    Hello world!

    - - -``` - -### `processor.data(key[, value])` - -Get or set information in an in-memory key-value store accessible to all phases -of the process. An example is a list of HTML elements which are self-closing, -which is needed when parsing, transforming, and compiling HTML. - -###### Parameters - -* `key` (`string`) — Identifier -* `value` (`*`, optional) — Value to set. Omit if getting `key` - -###### Returns - -* `processor` — If setting, the processor on which `data` is invoked -* `*` — If getting, the value at `key` - -###### Note - -Setting information with `data` cannot occur on [frozen][freeze] processors. -Invoke the processor first to create a new unfrozen processor. - -###### Example - -The following example show how to get and set information: - -```js -var unified = require('unified') - -console.log( - unified() - .data('alpha', 'bravo') - .data('alpha') -) -``` - -Yields: - -```txt -bravo -``` - -### `processor.freeze()` - -Freeze a processor. Frozen processors are meant to be extended and not to be -configured or processed directly. - -Once a processor is frozen it cannot be unfrozen. New processors functioning -just like it can be created by invoking the processor. - -It’s possible to freeze processors explicitly, by calling `.freeze()`, but -[`.parse()`][parse], [`.run()`][run], [`.stringify()`][stringify], and -[`.process()`][process] call `.freeze()` to freeze a processor too. - -###### Returns - -`Processor` — The processor on which `freeze` is invoked. - -###### Example - -The following example, `index.js`, shows how [**rehype**][rehype] prevents -extensions to itself: - -```js -var unified = require('unified') -var parse = require('rehype-parse') -var stringify = require('rehype-stringify') - -module.exports = unified() - .use(parse) - .use(stringify) - .freeze() -``` - -The below example, `a.js`, shows how that processor can be used and configured. - -```js -var rehype = require('rehype') -var format = require('rehype-format') -// ... - -rehype() - .use(format) - // ... -``` - -The below example, `b.js`, shows a similar looking example which operates on -the frozen [**rehype**][rehype] interface. If this behaviour was allowed it -would result in unexpected behaviour so an error is thrown. **This is -invalid**: - -```js -var rehype = require('rehype') -var format = require('rehype-format') -// ... - -rehype - .use(format) - // ... -``` - -Yields: - -```txt -~/node_modules/unified/index.js:440 - throw new Error( - ^ - -Error: Cannot invoke `use` on a frozen processor. -Create a new processor first, by invoking it: use `processor()` instead of `processor`. - at assertUnfrozen (~/node_modules/unified/index.js:440:11) - at Function.use (~/node_modules/unified/index.js:172:5) - at Object. (~/b.js:6:4) -``` - -## `Plugin` - -**unified** plugins change the way the applied-on processor works in the -following ways: - -* They modify the [**processor**][processor]: such as changing the parser, - the compiler, or linking it to other processors -* They transform [**syntax tree**][node] representation of files -* They modify metadata of files - -Plugins are a concept. They materialise as [`attacher`][attacher]s. - -###### Example - -`move.js`: - -```js -module.exports = move - -function move(options) { - var expected = (options || {}).extname - - if (!expected) { - throw new Error('Missing `extname` in options') - } - - return transformer - - function transformer(tree, file) { - if (file.extname && file.extname !== expected) { - file.extname = expected - } - } -} -``` - -`index.js`: - -```js -var unified = require('unified') -var parse = require('remark-parse') -var remark2rehype = require('remark-rehype') -var stringify = require('rehype-stringify') -var vfile = require('to-vfile') -var report = require('vfile-reporter') -var move = require('./move') - -unified() - .use(parse) - .use(remark2rehype) - .use(move, {extname: '.html'}) - .use(stringify) - .process(vfile.readSync('index.md'), function(err, file) { - console.error(report(err || file)) - if (file) { - vfile.writeSync(file) // Written to `index.html`. - } - }) -``` - -### `function attacher([options])` - -An attacher is the thing passed to [`use`][use]. It configures the processor -and in turn can receive options. - -Attachers can configure processors, such as by interacting with parsers and -compilers, linking them to other processors, or by specifying how the syntax -tree is handled. - -###### Context - -The context object is set to the invoked on [`processor`][processor]. - -###### Parameters - -* `options` (`*`, optional) — Configuration - -###### Returns - -[`transformer`][transformer] — Optional. - -###### Note - -Attachers are invoked when the processor is [frozen][freeze]: either when -`.freeze()` is called explicitly, or when [`.parse()`][parse], [`.run()`][run], -[`.stringify()`][stringify], or [`.process()`][process] is called for the first -time. - -### `function transformer(node, file[, next])` - -Transformers modify the syntax tree or metadata of a file. A transformer is a -function which is invoked each time a file is passed through the transform -phase. If an error occurs (either because it’s thrown, returned, rejected, or -passed to [`next`][next]), the process stops. - -The transformation process in **unified** is handled by [`trough`][trough], see -it’s documentation for the exact semantics of transformers. - -###### Parameters - -* `node` ([`Node`][node]) -* `file` ([`VFile`][file]) -* `next` ([`Function`][next], optional) - -###### Returns - -* `Error` — Can be returned to stop the process -* [`Node`][node] — Can be returned and results in further transformations - and `stringify`s to be performed on the new tree -* `Promise` — If a promise is returned, the function is asynchronous, and - **must** be resolved (optionally with a [`Node`][node]) or rejected - (optionally with an `Error`) - -#### `function next(err[, tree[, file]])` - -If the signature of a transformer includes `next` (third argument), the -function **may** finish asynchronous, and **must** invoke `next()`. - -###### Parameters - -* `err` (`Error`, optional) — Stop the process -* `node` ([`Node`][node], optional) — New syntax tree -* `file` ([`VFile`][file], optional) — New virtual file - -## `Preset` - -Presets provide a potentially sharable way to configure processors. They can -contain multiple plugins and optionally settings as well. - -###### Example - -`preset.js`: - -```js -exports.settings = {bullet: '*', fences: true} - -exports.plugins = [ - require('remark-preset-lint-recommended'), - require('remark-comment-config'), - require('remark-preset-lint-markdown-style-guide'), - [require('remark-toc'), {maxDepth: 3, tight: true}], - require('remark-github') -] -``` - -`index.js`: - -```js -var remark = require('remark') -var vfile = require('to-vfile') -var report = require('vfile-reporter') -var preset = require('./preset') - -remark() - .use(preset) - .process(vfile.readSync('index.md'), function(err, file) { - console.error(report(err || file)) - - if (file) { - vfile.writeSync(file) - } - }) -``` - -## Contribute - -**unified** is built by people just like you! Check out -[`contributing.md`][contributing] for ways to get started. - -This project has a [Code of Conduct][coc]. By interacting with this repository, -organisation, or community you agree to abide by its terms. - -Want to chat with the community and contributors? Join us in [Gitter][chat]! - -Have an idea for a cool new utility or tool? That’s great! If you want -feedback, help, or just to share it with the world you can do so by creating -an issue in the [`unifiedjs/ideas`][ideas] repository! - -## Acknowledgments - -Preliminary work for unified was done [in 2014][preliminary] for -[**retext**][retext] and inspired by [`ware`][ware]. Further incubation -happened in [**remark**][remark]. The project was finally [externalised][] -in 2015 and [published][] as `unified`. The project was authored by -[**@wooorm**](https://github.com/wooorm). - -Although `unified` since moved it’s plugin architecture to [`trough`][trough], -thanks to [**@calvinfo**](https://github.com/calvinfo), -[**@ianstormtaylor**](https://github.com/ianstormtaylor), and others for their -work on [`ware`][ware], which was a huge initial inspiration. - -## License - -[MIT][license] © [Titus Wormer][author] - - - -[logo]: https://cdn.rawgit.com/unifiedjs/unified/0cd3a41/logo.svg - -[travis-badge]: https://img.shields.io/travis/unifiedjs/unified.svg - -[travis]: https://travis-ci.org/unifiedjs/unified - -[codecov-badge]: https://img.shields.io/codecov/c/github/unifiedjs/unified.svg - -[codecov]: https://codecov.io/github/unifiedjs/unified - -[chat-badge]: https://img.shields.io/gitter/room/unifiedjs/Lobby.svg - -[chat]: https://gitter.im/unifiedjs/Lobby - -[npm]: https://docs.npmjs.com/cli/install - -[license]: LICENSE - -[author]: http://wooorm.com - -[site]: https://unifiedjs.github.io - -[guides]: https://unifiedjs.github.io/#guides - -[rehype]: https://github.com/rehypejs/rehype - -[remark]: https://github.com/remarkjs/remark - -[retext]: https://github.com/retextjs/retext - -[hast]: https://github.com/syntax-tree/hast - -[mdast]: https://github.com/syntax-tree/mdast - -[nlcst]: https://github.com/syntax-tree/nlcst - -[unist]: https://github.com/syntax-tree/unist - -[engine]: https://github.com/unifiedjs/unified-engine - -[args]: https://github.com/unifiedjs/unified-args - -[gulp]: https://github.com/unifiedjs/unified-engine-gulp - -[atom]: https://github.com/unifiedjs/unified-engine-atom - -[remark-rehype]: https://github.com/remarkjs/remark-rehype - -[remark-retext]: https://github.com/remarkjs/remark-retext - -[rehype-retext]: https://github.com/rehypejs/rehype-retext - -[rehype-remark]: https://github.com/rehypejs/rehype-remark - -[unist-utilities]: https://github.com/syntax-tree/unist#list-of-utilities - -[vfile]: https://github.com/vfile/vfile - -[vfile-contents]: https://github.com/vfile/vfile#vfilecontents - -[vfile-utilities]: https://github.com/vfile/vfile#related-tools - -[file]: #file - -[node]: #node - -[processor]: #processor - -[process]: #processorprocessfilevalue-done - -[parse]: #processorparsefilevalue - -[parser]: #processorparser - -[stringify]: #processorstringifynode-file - -[run]: #processorrunnode-file-done - -[compiler]: #processorcompiler - -[use]: #processoruseplugin-options - -[attacher]: #function-attacheroptions - -[transformer]: #function-transformernode-file-next - -[next]: #function-nexterr-tree-file - -[freeze]: #processorfreeze - -[plugin]: #plugin - -[run-done]: #function-doneerr-node-file - -[process-done]: #function-doneerr-file - -[trough]: https://github.com/wooorm/trough#function-fninput-next - -[promise]: https://developer.mozilla.org/Web/JavaScript/Reference/Global_Objects/Promise - -[remark-plugins]: https://github.com/remarkjs/remark/blob/master/doc/plugins.md#list-of-plugins - -[rehype-plugins]: https://github.com/rehypejs/rehype/blob/master/doc/plugins.md#list-of-plugins - -[retext-plugins]: https://github.com/retextjs/retext/blob/master/doc/plugins.md#list-of-plugins - -[stream]: https://github.com/unifiedjs/unified-stream - -[contributing]: contributing.md - -[coc]: code-of-conduct.md - -[ideas]: https://github.com/unifiedjs/ideas - -[preliminary]: https://github.com/retextjs/retext/commit/8fcb1f#diff-168726dbe96b3ce427e7fedce31bb0bc - -[externalised]: https://github.com/remarkjs/remark/commit/9892ec#diff-168726dbe96b3ce427e7fedce31bb0bc - -[published]: https://github.com/unifiedjs/unified/commit/2ba1cf - -[ware]: https://github.com/segmentio/ware diff --git a/tools/node_modules/eslint-plugin-markdown/node_modules/unist-util-is/convert.js b/tools/node_modules/eslint-plugin-markdown/node_modules/unist-util-is/convert.js deleted file mode 100644 index f92f34f1051b25..00000000000000 --- a/tools/node_modules/eslint-plugin-markdown/node_modules/unist-util-is/convert.js +++ /dev/null @@ -1,87 +0,0 @@ -'use strict' - -module.exports = convert - -function convert(test) { - if (typeof test === 'string') { - return typeFactory(test) - } - - if (test === null || test === undefined) { - return ok - } - - if (typeof test === 'object') { - return ('length' in test ? anyFactory : matchesFactory)(test) - } - - if (typeof test === 'function') { - return test - } - - throw new Error('Expected function, string, or object as test') -} - -function convertAll(tests) { - var results = [] - var length = tests.length - var index = -1 - - while (++index < length) { - results[index] = convert(tests[index]) - } - - return results -} - -// Utility assert each property in `test` is represented in `node`, and each -// values are strictly equal. -function matchesFactory(test) { - return matches - - function matches(node) { - var key - - for (key in test) { - if (node[key] !== test[key]) { - return false - } - } - - return true - } -} - -function anyFactory(tests) { - var checks = convertAll(tests) - var length = checks.length - - return matches - - function matches() { - var index = -1 - - while (++index < length) { - if (checks[index].apply(this, arguments)) { - return true - } - } - - return false - } -} - -// Utility to convert a string into a function which checks a given node’s type -// for said string. -function typeFactory(test) { - return type - - function type(node) { - return Boolean(node && node.type === test) - } -} - -// Utility to return true. -function ok() { - return true -} diff --git a/tools/node_modules/eslint-plugin-markdown/node_modules/unist-util-is/index.js b/tools/node_modules/eslint-plugin-markdown/node_modules/unist-util-is/index.js deleted file mode 100644 index f18d416e08d214..00000000000000 --- a/tools/node_modules/eslint-plugin-markdown/node_modules/unist-util-is/index.js +++ /dev/null @@ -1,37 +0,0 @@ -'use strict' - -var convert = require('./convert') - -module.exports = is - -is.convert = convert - -// Assert if `test` passes for `node`. -// When a `parent` node is known the `index` of node should also be given. -// eslint-disable-next-line max-params -function is(node, test, index, parent, context) { - var hasParent = parent !== null && parent !== undefined - var hasIndex = index !== null && index !== undefined - var check = convert(test) - - if ( - hasIndex && - (typeof index !== 'number' || index < 0 || index === Infinity) - ) { - throw new Error('Expected positive finite index or child node') - } - - if (hasParent && (!is(parent) || !parent.children)) { - throw new Error('Expected parent node') - } - - if (!node || !node.type || typeof node.type !== 'string') { - return false - } - - if (hasParent !== hasIndex) { - throw new Error('Expected both parent and index') - } - - return Boolean(check.call(context, node, index, parent)) -} diff --git a/tools/node_modules/eslint-plugin-markdown/node_modules/unist-util-is/license b/tools/node_modules/eslint-plugin-markdown/node_modules/unist-util-is/license deleted file mode 100644 index cfa79e66cfc072..00000000000000 --- a/tools/node_modules/eslint-plugin-markdown/node_modules/unist-util-is/license +++ /dev/null @@ -1,22 +0,0 @@ -(The MIT license) - -Copyright (c) 2015 Titus Wormer - -Permission is hereby granted, free of charge, to any person obtaining -a copy of this software and associated documentation files (the -'Software'), to deal in the Software without restriction, including -without limitation the rights to use, copy, modify, merge, publish, -distribute, sublicense, and/or sell copies of the Software, and to -permit persons to whom the Software is furnished to do so, subject to -the following conditions: - -The above copyright notice and this permission notice shall be -included in all copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED 'AS IS', WITHOUT WARRANTY OF ANY KIND, -EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF -MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. -IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY -CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, -TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE -SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. diff --git a/tools/node_modules/eslint-plugin-markdown/node_modules/unist-util-is/package.json b/tools/node_modules/eslint-plugin-markdown/node_modules/unist-util-is/package.json deleted file mode 100644 index 25193acddd8a0d..00000000000000 --- a/tools/node_modules/eslint-plugin-markdown/node_modules/unist-util-is/package.json +++ /dev/null @@ -1,75 +0,0 @@ -{ - "name": "unist-util-is", - "version": "3.0.0", - "description": "Utility to check if a node passes a test", - "license": "MIT", - "keywords": [ - "unist", - "node", - "is", - "equal", - "test", - "type", - "util", - "utility" - ], - "repository": "syntax-tree/unist-util-is", - "bugs": "https://github.com/syntax-tree/unist-util-is/issues", - "author": "Titus Wormer (https://wooorm.com)", - "contributors": [ - "Titus Wormer (https://wooorm.com)" - ], - "files": [ - "index.js", - "convert.js" - ], - "dependencies": {}, - "devDependencies": { - "browserify": "^16.0.0", - "nyc": "^14.0.0", - "prettier": "^1.0.0", - "remark-cli": "^6.0.0", - "remark-preset-wooorm": "^5.0.0", - "tape": "^4.0.0", - "tinyify": "^2.0.0", - "xo": "^0.24.0" - }, - "scripts": { - "format": "remark . -qfo && prettier --write \"**/*.js\" && xo --fix", - "build-bundle": "browserify . -s unistUtilIs > unist-util-is.js", - "build-mangle": "browserify . -s unistUtilIs -p tinyify > unist-util-is.min.js", - "build": "npm run build-bundle && npm run build-mangle", - "test-api": "node test", - "test-coverage": "nyc --reporter lcov tape test.js", - "test": "npm run format && npm run build && npm run test-coverage" - }, - "prettier": { - "tabWidth": 2, - "useTabs": false, - "singleQuote": true, - "bracketSpacing": false, - "semi": false, - "trailingComma": "none" - }, - "xo": { - "prettier": true, - "esnext": false, - "rules": { - "unicorn/prefer-type-error": "off" - }, - "ignore": [ - "unist-util-is.js" - ] - }, - "nyc": { - "check-coverage": true, - "lines": 100, - "functions": 100, - "branches": 100 - }, - "remarkConfig": { - "plugins": [ - "preset-wooorm" - ] - } -} diff --git a/tools/node_modules/eslint-plugin-markdown/node_modules/unist-util-is/readme.md b/tools/node_modules/eslint-plugin-markdown/node_modules/unist-util-is/readme.md deleted file mode 100644 index 7d53629aba87db..00000000000000 --- a/tools/node_modules/eslint-plugin-markdown/node_modules/unist-util-is/readme.md +++ /dev/null @@ -1,202 +0,0 @@ -# unist-util-is - -[![Build][build-badge]][build] -[![Coverage][coverage-badge]][coverage] -[![Downloads][downloads-badge]][downloads] -[![Size][size-badge]][size] -[![Sponsors][sponsors-badge]][collective] -[![Backers][backers-badge]][collective] -[![Chat][chat-badge]][chat] - -[**unist**][unist] utility to check if a node passes a test. - -## Install - -[npm][]: - -```sh -npm install unist-util-is -``` - -## Usage - -```js -var is = require('unist-util-is') - -var node = {type: 'strong'} -var parent = {type: 'paragraph', children: [node]} - -function test(node, n) { - return n === 5 -} - -is() // => false -is({children: []}) // => false -is(node) // => true -is(node, 'strong') // => true -is(node, 'emphasis') // => false - -is(node, node) // => true -is(parent, {type: 'paragraph'}) // => true -is(parent, {type: 'strong'}) // => false - -is(node, test) // => false -is(node, test, 4, parent) // => false -is(node, test, 5, parent) // => true -``` - -## API - -### `is(node[, test[, index, parent[, context]]])` - -###### Parameters - -* `node` ([`Node`][node]) — Node to check. -* `test` ([`Function`][test], `string`, `Object`, or `Array.`, optional) - — When not given, checks if `node` is a [`Node`][node]. - When `string`, works like passing `node => node.type === test`. - When `array`, checks if any one of the subtests pass. - When `object`, checks that all keys in `test` are in `node`, - and that they have strictly equal values -* `index` (`number`, optional) — [Index][] of `node` in `parent` -* `parent` ([`Node`][node], optional) — [Parent][] of `node` -* `context` (`*`, optional) — Context object to invoke `test` with - -###### Returns - -`boolean` — Whether `test` passed *and* `node` is a [`Node`][node] (object with -`type` set to a non-empty `string`). - -#### `function test(node[, index, parent])` - -###### Parameters - -* `node` ([`Node`][node]) — Node to check -* `index` (`number?`) — [Index][] of `node` in `parent` -* `parent` ([`Node?`][node]) — [Parent][] of `node` - -###### Context - -`*` — The to `is` given `context`. - -###### Returns - -`boolean?` — Whether `node` matches. - -### `is.convert(test)` - -Create a test function from `test`, that can later be called with a `node`, -`index`, and `parent`. -Useful if you’re going to test many nodes, for example when creating a utility -where something else passes an is-compatible test. - -Can also be accessed with `require('unist-util-is/convert')`. - -For example: - -```js -var u = require('unist-builder') -var convert = require('unist-util-is/convert') - -var test = convert('leaf') - -var tree = u('tree', [ - u('node', [u('leaf', '1')]), - u('leaf', '2'), - u('node', [u('leaf', '3'), u('leaf', '4')]), - u('leaf', '5') -]) - -var leafs = tree.children.filter((child, index) => test(child, index, tree)) - -console.log(leafs) -``` - -Yields: - -```js -[({type: 'leaf', value: '2'}, {type: 'leaf', value: '5'})] -``` - -## Related - -* [`unist-util-find-after`](https://github.com/syntax-tree/unist-util-find-after) - — Find a node after another node -* [`unist-util-find-before`](https://github.com/syntax-tree/unist-util-find-before) - — Find a node before another node -* [`unist-util-find-all-after`](https://github.com/syntax-tree/unist-util-find-all-after) - — Find all nodes after another node -* [`unist-util-find-all-before`](https://github.com/syntax-tree/unist-util-find-all-before) - — Find all nodes before another node -* [`unist-util-find-all-between`](https://github.com/mrzmmr/unist-util-find-all-between) - — Find all nodes between two nodes -* [`unist-util-find`](https://github.com/blahah/unist-util-find) - — Find nodes matching a predicate -* [`unist-util-filter`](https://github.com/eush77/unist-util-filter) - — Create a new tree with nodes that pass a check -* [`unist-util-remove`](https://github.com/eush77/unist-util-remove) - — Remove nodes from tree - -## Contribute - -See [`contributing.md` in `syntax-tree/.github`][contributing] for ways to get -started. -See [`support.md`][support] for ways to get help. - -This project has a [Code of Conduct][coc]. -By interacting with this repository, organisation, or community you agree to -abide by its terms. - -## License - -[MIT][license] © [Titus Wormer][author] - - - -[build-badge]: https://img.shields.io/travis/syntax-tree/unist-util-is.svg - -[build]: https://travis-ci.org/syntax-tree/unist-util-is - -[coverage-badge]: https://img.shields.io/codecov/c/github/syntax-tree/unist-util-is.svg - -[coverage]: https://codecov.io/github/syntax-tree/unist-util-is - -[downloads-badge]: https://img.shields.io/npm/dm/unist-util-is.svg - -[downloads]: https://www.npmjs.com/package/unist-util-is - -[size-badge]: https://img.shields.io/bundlephobia/minzip/unist-util-is.svg - -[size]: https://bundlephobia.com/result?p=unist-util-is - -[sponsors-badge]: https://opencollective.com/unified/sponsors/badge.svg - -[backers-badge]: https://opencollective.com/unified/backers/badge.svg - -[collective]: https://opencollective.com/unified - -[chat-badge]: https://img.shields.io/badge/join%20the%20community-on%20spectrum-7b16ff.svg - -[chat]: https://spectrum.chat/unified/syntax-tree - -[npm]: https://docs.npmjs.com/cli/install - -[license]: license - -[author]: https://wooorm.com - -[contributing]: https://github.com/syntax-tree/.github/blob/master/contributing.md - -[support]: https://github.com/syntax-tree/.github/blob/master/support.md - -[coc]: https://github.com/syntax-tree/.github/blob/master/code-of-conduct.md - -[unist]: https://github.com/syntax-tree/unist - -[node]: https://github.com/syntax-tree/unist#node - -[parent]: https://github.com/syntax-tree/unist#parent-1 - -[index]: https://github.com/syntax-tree/unist#index - -[test]: #function-testnode-index-parent diff --git a/tools/node_modules/eslint-plugin-markdown/node_modules/unist-util-remove-position/index.js b/tools/node_modules/eslint-plugin-markdown/node_modules/unist-util-remove-position/index.js deleted file mode 100644 index 096395981793d9..00000000000000 --- a/tools/node_modules/eslint-plugin-markdown/node_modules/unist-util-remove-position/index.js +++ /dev/null @@ -1,18 +0,0 @@ -'use strict' - -var visit = require('unist-util-visit') - -module.exports = removePosition - -function removePosition(node, force) { - visit(node, force ? hard : soft) - return node -} - -function hard(node) { - delete node.position -} - -function soft(node) { - node.position = undefined -} diff --git a/tools/node_modules/eslint-plugin-markdown/node_modules/unist-util-remove-position/license b/tools/node_modules/eslint-plugin-markdown/node_modules/unist-util-remove-position/license deleted file mode 100644 index 8d8660d36ef2ec..00000000000000 --- a/tools/node_modules/eslint-plugin-markdown/node_modules/unist-util-remove-position/license +++ /dev/null @@ -1,22 +0,0 @@ -(The MIT License) - -Copyright (c) 2016 Titus Wormer - -Permission is hereby granted, free of charge, to any person obtaining -a copy of this software and associated documentation files (the -'Software'), to deal in the Software without restriction, including -without limitation the rights to use, copy, modify, merge, publish, -distribute, sublicense, and/or sell copies of the Software, and to -permit persons to whom the Software is furnished to do so, subject to -the following conditions: - -The above copyright notice and this permission notice shall be -included in all copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED 'AS IS', WITHOUT WARRANTY OF ANY KIND, -EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF -MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. -IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY -CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, -TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE -SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. diff --git a/tools/node_modules/eslint-plugin-markdown/node_modules/unist-util-remove-position/package.json b/tools/node_modules/eslint-plugin-markdown/node_modules/unist-util-remove-position/package.json deleted file mode 100644 index e1166471c37d6e..00000000000000 --- a/tools/node_modules/eslint-plugin-markdown/node_modules/unist-util-remove-position/package.json +++ /dev/null @@ -1,76 +0,0 @@ -{ - "name": "unist-util-remove-position", - "version": "1.1.4", - "description": "Remove `position`s from a unist tree", - "license": "MIT", - "keywords": [ - "unist", - "utility", - "remove", - "position", - "location" - ], - "repository": "syntax-tree/unist-util-remove-position", - "bugs": "https://github.com/syntax-tree/unist-util-remove-position/issues", - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/unified" - }, - "author": "Titus Wormer (https://wooorm.com)", - "contributors": [ - "Titus Wormer (https://wooorm.com)" - ], - "files": [ - "index.js" - ], - "dependencies": { - "unist-util-visit": "^1.1.0" - }, - "devDependencies": { - "browserify": "^16.0.0", - "nyc": "^14.0.0", - "prettier": "^1.0.0", - "remark": "^11.0.0", - "remark-cli": "^7.0.0", - "remark-preset-wooorm": "^6.0.0", - "tape": "^4.0.0", - "tinyify": "^2.0.0", - "unist-builder": "^2.0.0", - "xo": "^0.25.0" - }, - "scripts": { - "format": "remark . -qfo && prettier --write \"**/*.js\" && xo --fix", - "build-bundle": "browserify . -s unistUtilRemovePosition > unist-util-remove-position.js", - "build-mangle": "browserify . -s unistUtilRemovePosition -p tinyify > unist-util-remove-position.min.js", - "build": "npm run build-bundle && npm run build-mangle", - "test-api": "node test", - "test-coverage": "nyc --reporter lcov tape test.js", - "test": "npm run format && npm run build && npm run test-coverage" - }, - "prettier": { - "tabWidth": 2, - "useTabs": false, - "singleQuote": true, - "bracketSpacing": false, - "semi": false, - "trailingComma": "none" - }, - "xo": { - "prettier": true, - "esnext": false, - "ignores": [ - "unist-util-remove-position.js" - ] - }, - "nyc": { - "check-coverage": true, - "lines": 100, - "functions": 100, - "branches": 100 - }, - "remarkConfig": { - "plugins": [ - "preset-wooorm" - ] - } -} diff --git a/tools/node_modules/eslint-plugin-markdown/node_modules/unist-util-remove-position/readme.md b/tools/node_modules/eslint-plugin-markdown/node_modules/unist-util-remove-position/readme.md deleted file mode 100644 index e79ed14b35084f..00000000000000 --- a/tools/node_modules/eslint-plugin-markdown/node_modules/unist-util-remove-position/readme.md +++ /dev/null @@ -1,131 +0,0 @@ -# unist-util-remove-position - -[![Build][build-badge]][build] -[![Coverage][coverage-badge]][coverage] -[![Downloads][downloads-badge]][downloads] -[![Size][size-badge]][size] -[![Sponsors][sponsors-badge]][collective] -[![Backers][backers-badge]][collective] -[![Chat][chat-badge]][chat] - -[**unist**][unist] utility to remove [`position`][position]s from tree. - -## Install - -[npm][]: - -```sh -npm install unist-util-remove-position -``` - -## Usage - -```js -var remark = require('remark') -var removePosition = require('unist-util-remove-position') - -var tree = remark().parse('Some _emphasis_, **importance**, and `code`.') - -removePosition(tree, true) - -console.dir(tree, {depth: null}) -``` - -Yields: - -```js -{ - type: 'root', - children: [ - { - type: 'paragraph', - children: [ - { type: 'text', value: 'Some ' }, - { - type: 'emphasis', - children: [ { type: 'text', value: 'emphasis' } ] - }, - { type: 'text', value: ', ' }, - { - type: 'strong', - children: [ { type: 'text', value: 'importance' } ] - }, - { type: 'text', value: ', and ' }, - { type: 'inlineCode', value: 'code' }, - { type: 'text', value: '.' } - ] - } - ] -} -``` - -## API - -### `removePosition(node[, force])` - -Remove [`position`][position]s from [`node`][node]. -If `force` is given, uses `delete`, otherwise, sets `position`s to `undefined`. - -###### Returns - -The given `node`. - -## Contribute - -See [`contributing.md` in `syntax-tree/.github`][contributing] for ways to get -started. -See [`support.md`][support] for ways to get help. - -This project has a [Code of Conduct][coc]. -By interacting with this repository, organisation, or community you agree to -abide by its terms. - -## License - -[MIT][license] © [Titus Wormer][author] - - - -[build-badge]: https://img.shields.io/travis/syntax-tree/unist-util-remove-position.svg - -[build]: https://travis-ci.org/syntax-tree/unist-util-remove-position - -[coverage-badge]: https://img.shields.io/codecov/c/github/syntax-tree/unist-util-remove-position.svg - -[coverage]: https://codecov.io/github/syntax-tree/unist-util-remove-position - -[downloads-badge]: https://img.shields.io/npm/dm/unist-util-remove-position.svg - -[downloads]: https://www.npmjs.com/package/unist-util-remove-position - -[size-badge]: https://img.shields.io/bundlephobia/minzip/unist-util-remove-position.svg - -[size]: https://bundlephobia.com/result?p=unist-util-remove-position - -[sponsors-badge]: https://opencollective.com/unified/sponsors/badge.svg - -[backers-badge]: https://opencollective.com/unified/backers/badge.svg - -[collective]: https://opencollective.com/unified - -[chat-badge]: https://img.shields.io/badge/join%20the%20community-on%20spectrum-7b16ff.svg - -[chat]: https://spectrum.chat/unified/syntax-tree - -[npm]: https://docs.npmjs.com/cli/install - -[license]: license - -[author]: https://wooorm.com - -[contributing]: https://github.com/syntax-tree/.github/blob/master/contributing.md - -[support]: https://github.com/syntax-tree/.github/blob/master/support.md - -[coc]: https://github.com/syntax-tree/.github/blob/master/code-of-conduct.md - -[unist]: https://github.com/syntax-tree/unist - -[position]: https://github.com/syntax-tree/unist#position - -[node]: https://github.com/syntax-tree/unist#node diff --git a/tools/node_modules/eslint-plugin-markdown/node_modules/unist-util-stringify-position/LICENSE b/tools/node_modules/eslint-plugin-markdown/node_modules/unist-util-stringify-position/LICENSE deleted file mode 100644 index 8d8660d36ef2ec..00000000000000 --- a/tools/node_modules/eslint-plugin-markdown/node_modules/unist-util-stringify-position/LICENSE +++ /dev/null @@ -1,22 +0,0 @@ -(The MIT License) - -Copyright (c) 2016 Titus Wormer - -Permission is hereby granted, free of charge, to any person obtaining -a copy of this software and associated documentation files (the -'Software'), to deal in the Software without restriction, including -without limitation the rights to use, copy, modify, merge, publish, -distribute, sublicense, and/or sell copies of the Software, and to -permit persons to whom the Software is furnished to do so, subject to -the following conditions: - -The above copyright notice and this permission notice shall be -included in all copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED 'AS IS', WITHOUT WARRANTY OF ANY KIND, -EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF -MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. -IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY -CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, -TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE -SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. diff --git a/tools/node_modules/eslint-plugin-markdown/node_modules/unist-util-stringify-position/index.js b/tools/node_modules/eslint-plugin-markdown/node_modules/unist-util-stringify-position/index.js index 3be1e14276cf79..3d78a4442f72be 100644 --- a/tools/node_modules/eslint-plugin-markdown/node_modules/unist-util-stringify-position/index.js +++ b/tools/node_modules/eslint-plugin-markdown/node_modules/unist-util-stringify-position/index.js @@ -5,28 +5,28 @@ var own = {}.hasOwnProperty module.exports = stringify function stringify(value) { - /* Nothing. */ + // Nothing. if (!value || typeof value !== 'object') { - return null + return '' } - /* Node. */ + // Node. if (own.call(value, 'position') || own.call(value, 'type')) { return position(value.position) } - /* Position. */ + // Position. if (own.call(value, 'start') || own.call(value, 'end')) { return position(value) } - /* Point. */ + // Point. if (own.call(value, 'line') || own.call(value, 'column')) { return point(value) } - /* ? */ - return null + // ? + return '' } function point(point) { diff --git a/tools/node_modules/eslint-plugin-markdown/node_modules/is-whitespace-character/license b/tools/node_modules/eslint-plugin-markdown/node_modules/unist-util-stringify-position/license similarity index 100% rename from tools/node_modules/eslint-plugin-markdown/node_modules/is-whitespace-character/license rename to tools/node_modules/eslint-plugin-markdown/node_modules/unist-util-stringify-position/license diff --git a/tools/node_modules/eslint-plugin-markdown/node_modules/unist-util-stringify-position/package.json b/tools/node_modules/eslint-plugin-markdown/node_modules/unist-util-stringify-position/package.json index 2e20b672051031..0f35015de95ea2 100644 --- a/tools/node_modules/eslint-plugin-markdown/node_modules/unist-util-stringify-position/package.json +++ b/tools/node_modules/eslint-plugin-markdown/node_modules/unist-util-stringify-position/package.json @@ -1,47 +1,59 @@ { "name": "unist-util-stringify-position", - "version": "1.1.2", - "description": "Stringify a Unist node, position, or point", + "version": "2.0.3", + "description": "unist utility to serialize a node, position, or point as a human readable location", "license": "MIT", "keywords": [ "unist", + "unist-util", + "util", + "utility", "position", "location", "point", "node", "stringify", - "tostring", - "util", - "utility" + "tostring" ], "repository": "syntax-tree/unist-util-stringify-position", "bugs": "https://github.com/syntax-tree/unist-util-stringify-position/issues", - "author": "Titus Wormer (http://wooorm.com)", + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + }, + "author": "Titus Wormer (https://wooorm.com)", "contributors": [ - "Titus Wormer (http://wooorm.com)" + "Titus Wormer (https://wooorm.com)" ], + "types": "types/index.d.ts", "files": [ + "types/index.d.ts", "index.js" ], - "dependencies": {}, + "dependencies": { + "@types/unist": "^2.0.2" + }, "devDependencies": { "browserify": "^16.0.0", - "esmangle": "^1.0.0", - "nyc": "^11.0.0", - "prettier": "^1.12.1", - "remark-cli": "^5.0.0", - "remark-preset-wooorm": "^4.0.0", - "tape": "^4.5.1", - "xo": "^0.20.0" + "dtslint": "^3.0.0", + "nyc": "^15.0.0", + "prettier": "^1.0.0", + "remark-cli": "^7.0.0", + "remark-preset-wooorm": "^6.0.0", + "tape": "^4.0.0", + "tinyify": "^2.0.0", + "typescript": "^3.0.0", + "xo": "^0.27.0" }, "scripts": { - "format": "remark . -qfo && prettier --write '**/*.js' && xo --fix", - "build-bundle": "browserify index.js --no-builtins -s unistUtilStringifyPosition > unist-util-stringify-position.js", - "build-mangle": "esmangle unist-util-stringify-position.js > unist-util-stringify-position.min.js", + "format": "remark . -qfo && prettier --write \"**/*.{js,ts}\" && xo --fix", + "build-bundle": "browserify . -s unistUtilStringifyPosition > unist-util-stringify-position.js", + "build-mangle": "browserify . -s unistUtilStringifyPosition -p tinyify > unist-util-stringify-position.min.js", "build": "npm run build-bundle && npm run build-mangle", "test-api": "node test", "test-coverage": "nyc --reporter lcov tape test.js", - "test": "npm run format && npm run build && npm run test-coverage" + "test-types": "dtslint types", + "test": "npm run format && npm run build && npm run test-coverage && npm run test-types" }, "nyc": { "check-coverage": true, @@ -60,11 +72,6 @@ "xo": { "prettier": true, "esnext": false, - "rules": { - "guard-for-in": "off", - "no-var": "off", - "prefer-arrow-callback": "off" - }, "ignores": [ "unist-util-stringify-position.js" ] diff --git a/tools/node_modules/eslint-plugin-markdown/node_modules/unist-util-stringify-position/readme.md b/tools/node_modules/eslint-plugin-markdown/node_modules/unist-util-stringify-position/readme.md index 85c753b5e1b47d..bb565149bb3815 100644 --- a/tools/node_modules/eslint-plugin-markdown/node_modules/unist-util-stringify-position/readme.md +++ b/tools/node_modules/eslint-plugin-markdown/node_modules/unist-util-stringify-position/readme.md @@ -1,28 +1,33 @@ -# unist-util-stringify-position [![Build Status][build-badge]][build-page] [![Coverage Status][coverage-badge]][coverage-page] +# unist-util-stringify-position -Stringify a [**Unist**][unist] [`Position`][position] or [`Point`][point]. +[![Build][build-badge]][build] +[![Coverage][coverage-badge]][coverage] +[![Downloads][downloads-badge]][downloads] +[![Size][size-badge]][size] +[![Sponsors][sponsors-badge]][collective] +[![Backers][backers-badge]][collective] +[![Chat][chat-badge]][chat] -## Installation +[**unist**][unist] utility to pretty print the positional information of a node. + +## Install [npm][]: -```bash +```sh npm install unist-util-stringify-position ``` -## Usage +## Use -```javascript +```js var stringify = require('unist-util-stringify-position') // Point stringify({line: 2, column: 3}) // => '2:3' // Position -stringify({ - start: {line: 2}, - end: {line: 3} -}) // => '2:1-3:1' +stringify({start: {line: 2}, end: {line: 3}}) // => '2:1-3:1' // Node stringify({ @@ -39,8 +44,8 @@ stringify({ ### `stringifyPosition(node|position|point)` -Stringify one point, a position (start and end points), or -a node’s position. +Stringify one [point][], a [position][] (start and end [point][]s), or a node’s +[positional information][positional-information]. ###### Parameters @@ -53,19 +58,32 @@ a node’s position. ###### Returns -`string?` — A range `ls:cs-le:ce` (when given `node` or -`position`) or a point `l:c` (when given `point`), where `l` stands -for line, `c` for column, `s` for `start`, and `e` for -end. `null` is returned if the given value is neither `node`, +`string?` — A range `ls:cs-le:ce` (when given `node` or `position`) or a point +`l:c` (when given `point`), where `l` stands for line, `c` for column, `s` for +`start`, and `e` for end. +An empty string (`''`) is returned if the given value is neither `node`, `position`, nor `point`. +## Related + +* [`unist-util-generated`](https://github.com/syntax-tree/unist-util-generated) + — Check if a node is generated +* [`unist-util-position`](https://github.com/syntax-tree/unist-util-position) + — Get positional info of nodes +* [`unist-util-remove-position`](https://github.com/syntax-tree/unist-util-remove-position) + — Remove positional info from trees +* [`unist-util-source`](https://github.com/syntax-tree/unist-util-source) + — Get the source of a value (node or position) in a file + ## Contribute -See [`contributing.md` in `syntax-tree/unist`][contributing] for ways to get +See [`contributing.md` in `syntax-tree/.github`][contributing] for ways to get started. +See [`support.md`][support] for ways to get help. -This organisation has a [Code of Conduct][coc]. By interacting with this -repository, organisation, or community you agree to abide by its terms. +This project has a [code of conduct][coc]. +By interacting with this repository, organization, or community you agree to +abide by its terms. ## License @@ -75,17 +93,41 @@ repository, organisation, or community you agree to abide by its terms. [build-badge]: https://img.shields.io/travis/syntax-tree/unist-util-stringify-position.svg -[build-page]: https://travis-ci.org/syntax-tree/unist-util-stringify-position +[build]: https://travis-ci.org/syntax-tree/unist-util-stringify-position [coverage-badge]: https://img.shields.io/codecov/c/github/syntax-tree/unist-util-stringify-position.svg -[coverage-page]: https://codecov.io/github/syntax-tree/unist-util-stringify-position?branch=master +[coverage]: https://codecov.io/github/syntax-tree/unist-util-stringify-position + +[downloads-badge]: https://img.shields.io/npm/dm/unist-util-stringify-position.svg + +[downloads]: https://www.npmjs.com/package/unist-util-stringify-position + +[size-badge]: https://img.shields.io/bundlephobia/minzip/unist-util-stringify-position.svg + +[size]: https://bundlephobia.com/result?p=unist-util-stringify-position + +[sponsors-badge]: https://opencollective.com/unified/sponsors/badge.svg + +[backers-badge]: https://opencollective.com/unified/backers/badge.svg + +[collective]: https://opencollective.com/unified + +[chat-badge]: https://img.shields.io/badge/chat-spectrum-7b16ff.svg + +[chat]: https://spectrum.chat/unified/syntax-tree [npm]: https://docs.npmjs.com/cli/install -[license]: LICENSE +[license]: license -[author]: http://wooorm.com +[author]: https://wooorm.com + +[contributing]: https://github.com/syntax-tree/.github/blob/master/contributing.md + +[support]: https://github.com/syntax-tree/.github/blob/master/support.md + +[coc]: https://github.com/syntax-tree/.github/blob/master/code-of-conduct.md [unist]: https://github.com/syntax-tree/unist @@ -95,6 +137,4 @@ repository, organisation, or community you agree to abide by its terms. [point]: https://github.com/syntax-tree/unist#point -[contributing]: https://github.com/syntax-tree/unist/blob/master/contributing.md - -[coc]: https://github.com/syntax-tree/unist/blob/master/code-of-conduct.md +[positional-information]: https://github.com/syntax-tree/unist#positional-information diff --git a/tools/node_modules/eslint-plugin-markdown/node_modules/unist-util-visit-parents/index.js b/tools/node_modules/eslint-plugin-markdown/node_modules/unist-util-visit-parents/index.js deleted file mode 100644 index c72635924f86d1..00000000000000 --- a/tools/node_modules/eslint-plugin-markdown/node_modules/unist-util-visit-parents/index.js +++ /dev/null @@ -1,78 +0,0 @@ -'use strict' - -module.exports = visitParents - -var convert = require('unist-util-is/convert') - -var CONTINUE = true -var SKIP = 'skip' -var EXIT = false - -visitParents.CONTINUE = CONTINUE -visitParents.SKIP = SKIP -visitParents.EXIT = EXIT - -function visitParents(tree, test, visitor, reverse) { - var is - - if (typeof test === 'function' && typeof visitor !== 'function') { - reverse = visitor - visitor = test - test = null - } - - is = convert(test) - - one(tree, null, []) - - // Visit a single node. - function one(node, index, parents) { - var result = [] - var subresult - - if (!test || is(node, index, parents[parents.length - 1] || null)) { - result = toResult(visitor(node, parents)) - - if (result[0] === EXIT) { - return result - } - } - - if (node.children && result[0] !== SKIP) { - subresult = toResult(all(node.children, parents.concat(node))) - return subresult[0] === EXIT ? subresult : result - } - - return result - } - - // Visit children in `parent`. - function all(children, parents) { - var min = -1 - var step = reverse ? -1 : 1 - var index = (reverse ? children.length : min) + step - var result - - while (index > min && index < children.length) { - result = one(children[index], index, parents) - - if (result[0] === EXIT) { - return result - } - - index = typeof result[1] === 'number' ? result[1] : index + step - } - } -} - -function toResult(value) { - if (value !== null && typeof value === 'object' && 'length' in value) { - return value - } - - if (typeof value === 'number') { - return [CONTINUE, value] - } - - return [value] -} diff --git a/tools/node_modules/eslint-plugin-markdown/node_modules/unist-util-visit-parents/license b/tools/node_modules/eslint-plugin-markdown/node_modules/unist-util-visit-parents/license deleted file mode 100644 index 8d8660d36ef2ec..00000000000000 --- a/tools/node_modules/eslint-plugin-markdown/node_modules/unist-util-visit-parents/license +++ /dev/null @@ -1,22 +0,0 @@ -(The MIT License) - -Copyright (c) 2016 Titus Wormer - -Permission is hereby granted, free of charge, to any person obtaining -a copy of this software and associated documentation files (the -'Software'), to deal in the Software without restriction, including -without limitation the rights to use, copy, modify, merge, publish, -distribute, sublicense, and/or sell copies of the Software, and to -permit persons to whom the Software is furnished to do so, subject to -the following conditions: - -The above copyright notice and this permission notice shall be -included in all copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED 'AS IS', WITHOUT WARRANTY OF ANY KIND, -EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF -MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. -IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY -CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, -TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE -SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. diff --git a/tools/node_modules/eslint-plugin-markdown/node_modules/unist-util-visit-parents/package.json b/tools/node_modules/eslint-plugin-markdown/node_modules/unist-util-visit-parents/package.json deleted file mode 100644 index 26e187202d145b..00000000000000 --- a/tools/node_modules/eslint-plugin-markdown/node_modules/unist-util-visit-parents/package.json +++ /dev/null @@ -1,70 +0,0 @@ -{ - "name": "unist-util-visit-parents", - "version": "2.1.2", - "description": "Recursively walk over unist nodes, with ancestral information", - "license": "MIT", - "keywords": [ - "unist", - "walk", - "util", - "utility" - ], - "repository": "syntax-tree/unist-util-visit-parents", - "bugs": "https://github.com/syntax-tree/unist-util-visit-parents/issues", - "author": "Titus Wormer (https://wooorm.com)", - "contributors": [ - "Titus Wormer (https://wooorm.com)" - ], - "files": [ - "index.js" - ], - "dependencies": { - "unist-util-is": "^3.0.0" - }, - "devDependencies": { - "browserify": "^16.0.0", - "nyc": "^14.0.0", - "prettier": "^1.0.0", - "remark": "^10.0.0", - "remark-cli": "^6.0.0", - "remark-preset-wooorm": "^5.0.0", - "tape": "^4.0.0", - "tinyify": "^2.0.0", - "xo": "^0.24.0" - }, - "scripts": { - "format": "remark . -qfo && prettier --write \"**/*.js\" && xo --fix", - "build-bundle": "browserify index.js -s unistUtilVisitParents > unist-util-visit-parents.js", - "build-mangle": "browserify index.js -s unistUtilVisitParents -p tinyify > unist-util-visit-parents.min.js", - "build": "npm run build-bundle && npm run build-mangle", - "test-api": "node test", - "test-coverage": "nyc --reporter lcov tape test.js", - "test": "npm run format && npm run build && npm run test-coverage" - }, - "nyc": { - "check-coverage": true, - "lines": 100, - "functions": 100, - "branches": 100 - }, - "prettier": { - "tabWidth": 2, - "useTabs": false, - "singleQuote": true, - "bracketSpacing": false, - "semi": false, - "trailingComma": "none" - }, - "xo": { - "prettier": true, - "esnext": false, - "ignores": [ - "unist-util-visit-parents.js" - ] - }, - "remarkConfig": { - "plugins": [ - "preset-wooorm" - ] - } -} diff --git a/tools/node_modules/eslint-plugin-markdown/node_modules/unist-util-visit-parents/readme.md b/tools/node_modules/eslint-plugin-markdown/node_modules/unist-util-visit-parents/readme.md deleted file mode 100644 index ec7efc7bd03402..00000000000000 --- a/tools/node_modules/eslint-plugin-markdown/node_modules/unist-util-visit-parents/readme.md +++ /dev/null @@ -1,218 +0,0 @@ -# unist-util-visit-parents - -[![Build][build-badge]][build] -[![Coverage][coverage-badge]][coverage] -[![Downloads][downloads-badge]][downloads] -[![Size][size-badge]][size] -[![Sponsors][sponsors-badge]][collective] -[![Backers][backers-badge]][collective] -[![Chat][chat-badge]][chat] - -[**unist**][unist] utility to visit nodes, with ancestral information. - -## Install - -[npm][]: - -```sh -npm install unist-util-visit-parents -``` - -## Usage - -```js -var remark = require('remark') -var visit = require('unist-util-visit-parents') - -var tree = remark.parse('Some _emphasis_, **importance**, and `code`.') - -visit(tree, 'strong', visitor) - -function visitor(node, ancestors) { - console.log(ancestors) -} -``` - -Yields: - -```js -[ { type: 'root', children: [ [Object] ] }, - { type: 'paragraph', - children: - [ [Object], - [Object], - [Object], - [Object], - [Object], - [Object], - [Object] ] } ] -``` - -## API - -### `visit(tree[, test], visitor[, reverse])` - -Visit nodes ([**inclusive descendants**][descendant] of [`tree`][tree]), with -ancestral information. Optionally filtering nodes. Optionally in reverse. - -###### Parameters - -* `tree` ([`Node`][node]) — [Tree][] to traverse -* `test` ([`Test`][is], optional) — [`is`][is]-compatible test (such as a - [type][]) -* `visitor` ([Function][visitor]) — Function invoked when a node is found - that passes `test` -* `reverse` (`boolean`, default: `false`) — The tree is walked in [preorder][] - (NLR), visiting the node itself, then its [head][], etc. - When `reverse` is passed, the tree is stilled walked in preorder, but now - in NRL (the node itself, then its [tail][], etc.) - -#### `next? = visitor(node, ancestors)` - -Invoked when a node (matching `test`, if given) is found. - -Visitors are free to transform `node`. -They can also transform the [parent][] of node (the last of `ancestors`). -Replacing `node` itself, if `visit.SKIP` is not returned, still causes its -[descendant][]s to be visited. -If adding or removing previous [sibling][]s (or next siblings, in case of -`reverse`) of `node`, `visitor` should return a new [`index`][index] (`number`) -to specify the sibling to traverse after `node` is traversed. -Adding or removing next siblings of `node` (or previous siblings, in case of -reverse) is handled as expected without needing to return a new `index`. -Removing the `children` property of parent still results in them being -traversed. - -###### Parameters - -* `node` ([`Node`][node]) — Found node -* `ancestors` (`Array.`) — [Ancestor][]s of `node` - -##### Returns - -The return value can have the following forms: - -* [`index`][index] (`number`) — Treated as a tuple of `[CONTINUE, index]` -* `action` (`*`) — Treated as a tuple of `[action]` -* `tuple` (`Array.<*>`) — List with one or two values, the first an `action`, - the second and `index`. - Note that passing a tuple only makes sense if the `action` is `SKIP`. - If the `action` is `EXIT`, that action can be returned. - If the `action` is `CONTINUE`, `index` can be returned. - -###### `action` - -An action can have the following values: - -* `visit.EXIT` (`false`) — Stop traversing immediately -* `visit.CONTINUE` (`true`) — Continue traversing as normal (same behaviour - as not returning anything) -* `visit.SKIP` (`'skip'`) — Do not traverse this node’s children; continue - with the specified index - -###### `index` - -[`index`][index] (`number`) — Move to the sibling at `index` next (after `node` -itself is completely traversed). -Useful if mutating the tree, such as removing the node the visitor is currently -on, or any of its previous siblings (or next siblings, in case of `reverse`) -Results less than `0` or greater than or equal to `children.length` stop -traversing the parent - -## Related - -* [`unist-util-visit`](https://github.com/syntax-tree/unist-util-visit) - — Like `visit-parents`, but with one parent -* [`unist-util-filter`](https://github.com/eush77/unist-util-filter) - — Create a new tree with all nodes that pass a test -* [`unist-util-map`](https://github.com/syntax-tree/unist-util-map) - — Create a new tree with all nodes mapped by a given function -* [`unist-util-flatmap`](https://gitlab.com/staltz/unist-util-flatmap) - — Create a new tree by mapping (to an array) with the provided function and - then flattening -* [`unist-util-remove`](https://github.com/eush77/unist-util-remove) - — Remove nodes from a tree that pass a test -* [`unist-util-select`](https://github.com/eush77/unist-util-select) - — Select nodes with CSS-like selectors - -## Contribute - -See [`contributing.md` in `syntax-tree/.github`][contributing] for ways to get -started. -See [`support.md`][support] for ways to get help. - -This project has a [Code of Conduct][coc]. -By interacting with this repository, organisation, or community you agree to -abide by its terms. - -## License - -[MIT][license] © [Titus Wormer][author] - - - -[build-badge]: https://img.shields.io/travis/syntax-tree/unist-util-visit-parents.svg - -[build]: https://travis-ci.org/syntax-tree/unist-util-visit-parents - -[coverage-badge]: https://img.shields.io/codecov/c/github/syntax-tree/unist-util-visit-parents.svg - -[coverage]: https://codecov.io/github/syntax-tree/unist-util-visit-parents - -[downloads-badge]: https://img.shields.io/npm/dm/unist-util-visit-parents.svg - -[downloads]: https://www.npmjs.com/package/unist-util-visit-parents - -[size-badge]: https://img.shields.io/bundlephobia/minzip/unist-util-visit-parents.svg - -[size]: https://bundlephobia.com/result?p=unist-util-visit-parents - -[sponsors-badge]: https://opencollective.com/unified/sponsors/badge.svg - -[backers-badge]: https://opencollective.com/unified/backers/badge.svg - -[collective]: https://opencollective.com/unified - -[chat-badge]: https://img.shields.io/badge/join%20the%20community-on%20spectrum-7b16ff.svg - -[chat]: https://spectrum.chat/unified/syntax-tree - -[npm]: https://docs.npmjs.com/cli/install - -[license]: license - -[author]: https://wooorm.com - -[unist]: https://github.com/syntax-tree/unist - -[node]: https://github.com/syntax-tree/unist#node - -[visitor]: #next--visitornode-ancestors - -[contributing]: https://github.com/syntax-tree/.github/blob/master/contributing.md - -[support]: https://github.com/syntax-tree/.github/blob/master/support.md - -[coc]: https://github.com/syntax-tree/.github/blob/master/code-of-conduct.md - -[is]: https://github.com/syntax-tree/unist-util-is - -[preorder]: https://www.geeksforgeeks.org/tree-traversals-inorder-preorder-and-postorder/ - -[descendant]: https://github.com/syntax-tree/unist#descendant - -[head]: https://github.com/syntax-tree/unist#head - -[tail]: https://github.com/syntax-tree/unist#tail - -[parent]: https://github.com/syntax-tree/unist#parent-1 - -[sibling]: https://github.com/syntax-tree/unist#sibling - -[index]: https://github.com/syntax-tree/unist#index - -[ancestor]: https://github.com/syntax-tree/unist#ancestor - -[tree]: https://github.com/syntax-tree/unist#tree - -[type]: https://github.com/syntax-tree/unist#type diff --git a/tools/node_modules/eslint-plugin-markdown/node_modules/unist-util-visit/index.js b/tools/node_modules/eslint-plugin-markdown/node_modules/unist-util-visit/index.js deleted file mode 100644 index 39970e7debaa49..00000000000000 --- a/tools/node_modules/eslint-plugin-markdown/node_modules/unist-util-visit/index.js +++ /dev/null @@ -1,29 +0,0 @@ -'use strict' - -module.exports = visit - -var visitParents = require('unist-util-visit-parents') - -var CONTINUE = visitParents.CONTINUE -var SKIP = visitParents.SKIP -var EXIT = visitParents.EXIT - -visit.CONTINUE = CONTINUE -visit.SKIP = SKIP -visit.EXIT = EXIT - -function visit(tree, test, visitor, reverse) { - if (typeof test === 'function' && typeof visitor !== 'function') { - reverse = visitor - visitor = test - test = null - } - - visitParents(tree, test, overload, reverse) - - function overload(node, parents) { - var parent = parents[parents.length - 1] - var index = parent ? parent.children.indexOf(node) : null - return visitor(node, index, parent) - } -} diff --git a/tools/node_modules/eslint-plugin-markdown/node_modules/unist-util-visit/license b/tools/node_modules/eslint-plugin-markdown/node_modules/unist-util-visit/license deleted file mode 100644 index 32e7a3d93ca5a2..00000000000000 --- a/tools/node_modules/eslint-plugin-markdown/node_modules/unist-util-visit/license +++ /dev/null @@ -1,22 +0,0 @@ -(The MIT License) - -Copyright (c) 2015 Titus Wormer - -Permission is hereby granted, free of charge, to any person obtaining -a copy of this software and associated documentation files (the -'Software'), to deal in the Software without restriction, including -without limitation the rights to use, copy, modify, merge, publish, -distribute, sublicense, and/or sell copies of the Software, and to -permit persons to whom the Software is furnished to do so, subject to -the following conditions: - -The above copyright notice and this permission notice shall be -included in all copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED 'AS IS', WITHOUT WARRANTY OF ANY KIND, -EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF -MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. -IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY -CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, -TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE -SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. diff --git a/tools/node_modules/eslint-plugin-markdown/node_modules/unist-util-visit/package.json b/tools/node_modules/eslint-plugin-markdown/node_modules/unist-util-visit/package.json deleted file mode 100644 index 44b8bd4897b398..00000000000000 --- a/tools/node_modules/eslint-plugin-markdown/node_modules/unist-util-visit/package.json +++ /dev/null @@ -1,79 +0,0 @@ -{ - "name": "unist-util-visit", - "version": "1.4.1", - "description": "Recursively walk over unist nodes", - "license": "MIT", - "keywords": [ - "unist", - "remark", - "markdown", - "retext", - "natural", - "language", - "node", - "visit", - "walk", - "util", - "utility" - ], - "repository": "syntax-tree/unist-util-visit", - "bugs": "https://github.com/syntax-tree/unist-util-visit/issues", - "author": "Titus Wormer (https://wooorm.com)", - "contributors": [ - "Titus Wormer (https://wooorm.com)", - "Eugene Sharygin ", - "Richard Gibson " - ], - "files": [ - "index.js" - ], - "dependencies": { - "unist-util-visit-parents": "^2.0.0" - }, - "devDependencies": { - "browserify": "^16.0.0", - "nyc": "^14.0.0", - "prettier": "^1.0.0", - "remark": "^10.0.0", - "remark-cli": "^6.0.0", - "remark-preset-wooorm": "^5.0.0", - "tape": "^4.0.0", - "tinyify": "^2.0.0", - "xo": "^0.24.0" - }, - "scripts": { - "format": "remark . -qfo && prettier --write \"**/*.js\" && xo --fix", - "build-bundle": "browserify . -s unistUtilVisit > unist-util-visit.js", - "build-mangle": "browserify . -s unistUtilVisit -p tinyify > unist-util-visit.min.js", - "build": "npm run build-bundle && npm run build-mangle", - "test-api": "node test", - "test-coverage": "nyc --reporter lcov tape test.js", - "test": "npm run format && npm run build && npm run test-coverage" - }, - "nyc": { - "check-coverage": true, - "lines": 100, - "functions": 100, - "branches": 100 - }, - "prettier": { - "tabWidth": 2, - "useTabs": false, - "singleQuote": true, - "bracketSpacing": false, - "semi": false, - "trailingComma": "none" - }, - "xo": { - "prettier": true, - "esnext": false, - "ignores": [ - "unist-util-visit.js" - ] - }, - "remarkConfig": { - "plugins": [ - "preset-wooorm" - ] - } -} diff --git a/tools/node_modules/eslint-plugin-markdown/node_modules/unist-util-visit/readme.md b/tools/node_modules/eslint-plugin-markdown/node_modules/unist-util-visit/readme.md deleted file mode 100644 index 25808a27a543e5..00000000000000 --- a/tools/node_modules/eslint-plugin-markdown/node_modules/unist-util-visit/readme.md +++ /dev/null @@ -1,121 +0,0 @@ -# unist-util-visit - -[![Build][build-badge]][build] -[![Coverage][coverage-badge]][coverage] -[![Downloads][downloads-badge]][downloads] -[![Size][size-badge]][size] - -[**unist**][unist] utility to visit nodes. - -## Install - -[npm][]: - -```bash -npm install unist-util-visit -``` - -## Usage - -```javascript -var u = require('unist-builder') -var visit = require('unist-util-visit') - -var tree = u('tree', [ - u('leaf', '1'), - u('node', [u('leaf', '2')]), - u('void'), - u('leaf', '3') -]) - -visit(tree, 'leaf', function(node) { - console.log(node) -}) -``` - -Yields: - -```js -{ type: 'leaf', value: '1' } -{ type: 'leaf', value: '2' } -{ type: 'leaf', value: '3' } -``` - -## API - -### `visit(tree[, test], visitor[, reverse])` - -This function works exactly the same as [`unist-util-visit-parents`][vp], -but `visitor` has a different signature. - -#### `next? = visitor(node, index, parent)` - -Instead of being passed an array of ancestors, `visitor` is invoked with the -node’s [`index`][index] and its [`parent`][parent]. - -Otherwise the same as [`unist-util-visit-parents`][vp]. - -## Related - -* [`unist-util-visit-parents`][vp] - — Like `visit`, but with a stack of parents -* [`unist-util-filter`](https://github.com/eush77/unist-util-filter) - — Create a new tree with all nodes that pass a test -* [`unist-util-map`](https://github.com/syntax-tree/unist-util-map) - — Create a new tree with all nodes mapped by a given function -* [`unist-util-remove`](https://github.com/eush77/unist-util-remove) - — Remove nodes from a tree that pass a test -* [`unist-util-select`](https://github.com/eush77/unist-util-select) - — Select nodes with CSS-like selectors - -## Contribute - -See [`contributing.md` in `syntax-tree/.github`][contributing] for ways to get -started. -See [`support.md`][support] for ways to get help. - -This project has a [Code of Conduct][coc]. -By interacting with this repository, organisation, or community you agree to -abide by its terms. - -## License - -[MIT][license] © [Titus Wormer][author] - - - -[build-badge]: https://img.shields.io/travis/syntax-tree/unist-util-visit.svg - -[build]: https://travis-ci.org/syntax-tree/unist-util-visit - -[coverage-badge]: https://img.shields.io/codecov/c/github/syntax-tree/unist-util-visit.svg - -[coverage]: https://codecov.io/github/syntax-tree/unist-util-visit - -[downloads-badge]: https://img.shields.io/npm/dm/unist-util-visit.svg - -[downloads]: https://www.npmjs.com/package/unist-util-visit - -[size-badge]: https://img.shields.io/bundlephobia/minzip/unist-util-visit.svg - -[size]: https://bundlephobia.com/result?p=unist-util-visit - -[npm]: https://docs.npmjs.com/cli/install - -[license]: license - -[author]: https://wooorm.com - -[contributing]: https://github.com/syntax-tree/.github/blob/master/contributing.md - -[support]: https://github.com/syntax-tree/.github/blob/master/support.md - -[coc]: https://github.com/syntax-tree/.github/blob/master/code-of-conduct.md - -[unist]: https://github.com/syntax-tree/unist - -[vp]: https://github.com/syntax-tree/unist-util-visit-parents - -[index]: https://github.com/syntax-tree/unist#index - -[parent]: https://github.com/syntax-tree/unist#parent-1 diff --git a/tools/node_modules/eslint-plugin-markdown/node_modules/vfile-location/index.js b/tools/node_modules/eslint-plugin-markdown/node_modules/vfile-location/index.js deleted file mode 100644 index 2d7c21c1808b7f..00000000000000 --- a/tools/node_modules/eslint-plugin-markdown/node_modules/vfile-location/index.js +++ /dev/null @@ -1,74 +0,0 @@ -'use strict' - -module.exports = factory - -function factory(file) { - var contents = indices(String(file)) - - return { - toPosition: offsetToPositionFactory(contents), - toOffset: positionToOffsetFactory(contents) - } -} - -// Factory to get the line and column-based `position` for `offset` in the bound -// indices. -function offsetToPositionFactory(indices) { - return offsetToPosition - - // Get the line and column-based `position` for `offset` in the bound indices. - function offsetToPosition(offset) { - var index = -1 - var length = indices.length - - if (offset < 0) { - return {} - } - - while (++index < length) { - if (indices[index] > offset) { - return { - line: index + 1, - column: offset - (indices[index - 1] || 0) + 1, - offset: offset - } - } - } - - return {} - } -} - -// Factory to get the `offset` for a line and column-based `position` in the -// bound indices. -function positionToOffsetFactory(indices) { - return positionToOffset - - // Get the `offset` for a line and column-based `position` in the bound - // indices. - function positionToOffset(position) { - var line = position && position.line - var column = position && position.column - - if (!isNaN(line) && !isNaN(column) && line - 1 in indices) { - return (indices[line - 2] || 0) + column - 1 || 0 - } - - return -1 - } -} - -// Get indices of line-breaks in `value`. -function indices(value) { - var result = [] - var index = value.indexOf('\n') - - while (index !== -1) { - result.push(index + 1) - index = value.indexOf('\n', index + 1) - } - - result.push(value.length + 1) - - return result -} diff --git a/tools/node_modules/eslint-plugin-markdown/node_modules/vfile-location/license b/tools/node_modules/eslint-plugin-markdown/node_modules/vfile-location/license deleted file mode 100644 index 8d8660d36ef2ec..00000000000000 --- a/tools/node_modules/eslint-plugin-markdown/node_modules/vfile-location/license +++ /dev/null @@ -1,22 +0,0 @@ -(The MIT License) - -Copyright (c) 2016 Titus Wormer - -Permission is hereby granted, free of charge, to any person obtaining -a copy of this software and associated documentation files (the -'Software'), to deal in the Software without restriction, including -without limitation the rights to use, copy, modify, merge, publish, -distribute, sublicense, and/or sell copies of the Software, and to -permit persons to whom the Software is furnished to do so, subject to -the following conditions: - -The above copyright notice and this permission notice shall be -included in all copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED 'AS IS', WITHOUT WARRANTY OF ANY KIND, -EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF -MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. -IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY -CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, -TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE -SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. diff --git a/tools/node_modules/eslint-plugin-markdown/node_modules/vfile-location/package.json b/tools/node_modules/eslint-plugin-markdown/node_modules/vfile-location/package.json deleted file mode 100644 index f66857cf1c9cec..00000000000000 --- a/tools/node_modules/eslint-plugin-markdown/node_modules/vfile-location/package.json +++ /dev/null @@ -1,73 +0,0 @@ -{ - "name": "vfile-location", - "version": "2.0.6", - "description": "Convert between positions (line and column-based) and offsets (range-based) locations in a virtual file", - "license": "MIT", - "keywords": [ - "remark", - "comment", - "message", - "marker", - "control" - ], - "repository": "vfile/vfile-location", - "bugs": "https://github.com/vfile/vfile-location/issues", - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/unified" - }, - "author": "Titus Wormer (https://wooorm.com)", - "contributors": [ - "Titus Wormer (https://wooorm.com)" - ], - "files": [ - "index.js" - ], - "dependencies": {}, - "devDependencies": { - "browserify": "^16.0.0", - "nyc": "^14.0.0", - "prettier": "^1.0.0", - "remark-cli": "^7.0.0", - "remark-preset-wooorm": "^6.0.0", - "tape": "^4.0.0", - "tinyify": "^2.0.0", - "vfile": "^4.0.0", - "xo": "^0.25.0" - }, - "scripts": { - "format": "remark . -qfo && prettier --write \"**/*.js\" && xo --fix", - "build-bundle": "browserify . -s vfileLocation > vfile-location.js", - "build-mangle": "browserify . -s vfileLocation -p tinyify > vfile-location.min.js", - "build": "npm run build-bundle && npm run build-mangle", - "test-api": "node test", - "test-coverage": "nyc --reporter lcov tape test.js", - "test": "npm run format && npm run build && npm run test-coverage" - }, - "nyc": { - "check-coverage": true, - "lines": 100, - "functions": 100, - "branches": 100 - }, - "prettier": { - "tabWidth": 2, - "useTabs": false, - "singleQuote": true, - "bracketSpacing": false, - "semi": false, - "trailingComma": "none" - }, - "xo": { - "prettier": true, - "esnext": false, - "ignores": [ - "vfile-location.js" - ] - }, - "remarkConfig": { - "plugins": [ - "preset-wooorm" - ] - } -} diff --git a/tools/node_modules/eslint-plugin-markdown/node_modules/vfile-location/readme.md b/tools/node_modules/eslint-plugin-markdown/node_modules/vfile-location/readme.md deleted file mode 100644 index aa126a3fe3978d..00000000000000 --- a/tools/node_modules/eslint-plugin-markdown/node_modules/vfile-location/readme.md +++ /dev/null @@ -1,115 +0,0 @@ -# vfile-location - -[![Build][build-badge]][build] -[![Coverage][coverage-badge]][coverage] -[![Downloads][downloads-badge]][downloads] -[![Size][size-badge]][size] -[![Sponsors][sponsors-badge]][collective] -[![Backers][backers-badge]][collective] -[![Chat][chat-badge]][chat] - -Convert between positions (line and column-based) and offsets (range-based) -locations in a [virtual file][vfile]. - -## Install - -[npm][]: - -```sh -npm install vfile-location -``` - -## Usage - -```js -var vfile = require('vfile') -var vfileLocation = require('vfile-location') - -var location = vfileLocation(vfile('foo\nbar\nbaz')) - -var offset = location.toOffset({line: 3, column: 3}) // => 10 -location.toPosition(offset) // => {line: 3, column: 3, offset: 10} -``` - -## API - -### `location = vfileLocation(doc)` - -Get transform functions for the given `doc` (`string`) or [`file`][vfile]. - -Returns an object with [`toOffset`][to-offset] and [`toPosition`][to-position]. - -### `location.toOffset(position)` - -Get the `offset` (`number`) for a line and column-based [`position`][position] -in the bound file. -Returns `-1` when given invalid or out of bounds input. - -### `location.toPosition(offset)` - -Get the line and column-based [`position`][position] for `offset` in the bound -file. - -## Contribute - -See [`contributing.md`][contributing] in [`vfile/.github`][health] for ways to -get started. -See [`support.md`][support] for ways to get help. - -This project has a [Code of Conduct][coc]. -By interacting with this repository, organisation, or community you agree to -abide by its terms. - -## License - -[MIT][license] © [Titus Wormer][author] - - - -[build-badge]: https://img.shields.io/travis/vfile/vfile-location.svg - -[build]: https://travis-ci.org/vfile/vfile-location - -[coverage-badge]: https://img.shields.io/codecov/c/github/vfile/vfile-location.svg - -[coverage]: https://codecov.io/github/vfile/vfile-location - -[downloads-badge]: https://img.shields.io/npm/dm/vfile-location.svg - -[downloads]: https://www.npmjs.com/package/vfile-location - -[size-badge]: https://img.shields.io/bundlephobia/minzip/vfile-location.svg - -[size]: https://bundlephobia.com/result?p=vfile-location - -[sponsors-badge]: https://opencollective.com/unified/sponsors/badge.svg - -[backers-badge]: https://opencollective.com/unified/backers/badge.svg - -[collective]: https://opencollective.com/unified - -[chat-badge]: https://img.shields.io/badge/join%20the%20community-on%20spectrum-7b16ff.svg - -[chat]: https://spectrum.chat/unified/vfile - -[npm]: https://docs.npmjs.com/cli/install - -[contributing]: https://github.com/vfile/.github/blob/master/contributing.md - -[support]: https://github.com/vfile/.github/blob/master/support.md - -[health]: https://github.com/vfile/.github - -[coc]: https://github.com/vfile/.github/blob/master/code-of-conduct.md - -[license]: license - -[author]: https://wooorm.com - -[vfile]: https://github.com/vfile/vfile - -[to-offset]: #locationtooffsetposition - -[to-position]: #locationtopositionoffset - -[position]: https://github.com/syntax-tree/unist#position diff --git a/tools/node_modules/eslint-plugin-markdown/node_modules/vfile-message/index.js b/tools/node_modules/eslint-plugin-markdown/node_modules/vfile-message/index.js deleted file mode 100644 index c913753249edad..00000000000000 --- a/tools/node_modules/eslint-plugin-markdown/node_modules/vfile-message/index.js +++ /dev/null @@ -1,94 +0,0 @@ -'use strict' - -var stringify = require('unist-util-stringify-position') - -module.exports = VMessage - -// Inherit from `Error#`. -function VMessagePrototype() {} -VMessagePrototype.prototype = Error.prototype -VMessage.prototype = new VMessagePrototype() - -// Message properties. -var proto = VMessage.prototype - -proto.file = '' -proto.name = '' -proto.reason = '' -proto.message = '' -proto.stack = '' -proto.fatal = null -proto.column = null -proto.line = null - -// Construct a new VMessage. -// -// Note: We cannot invoke `Error` on the created context, as that adds readonly -// `line` and `column` attributes on Safari 9, thus throwing and failing the -// data. -function VMessage(reason, position, origin) { - var parts - var range - var location - - if (typeof position === 'string') { - origin = position - position = null - } - - parts = parseOrigin(origin) - range = stringify(position) || '1:1' - - location = { - start: {line: null, column: null}, - end: {line: null, column: null} - } - - // Node. - if (position && position.position) { - position = position.position - } - - if (position) { - // Position. - if (position.start) { - location = position - position = position.start - } else { - // Point. - location.start = position - } - } - - if (reason.stack) { - this.stack = reason.stack - reason = reason.message - } - - this.message = reason - this.name = range - this.reason = reason - this.line = position ? position.line : null - this.column = position ? position.column : null - this.location = location - this.source = parts[0] - this.ruleId = parts[1] -} - -function parseOrigin(origin) { - var result = [null, null] - var index - - if (typeof origin === 'string') { - index = origin.indexOf(':') - - if (index === -1) { - result[1] = origin - } else { - result[0] = origin.slice(0, index) - result[1] = origin.slice(index + 1) - } - } - - return result -} diff --git a/tools/node_modules/eslint-plugin-markdown/node_modules/vfile-message/license b/tools/node_modules/eslint-plugin-markdown/node_modules/vfile-message/license deleted file mode 100644 index 045ffe0e075da4..00000000000000 --- a/tools/node_modules/eslint-plugin-markdown/node_modules/vfile-message/license +++ /dev/null @@ -1,22 +0,0 @@ -(The MIT License) - -Copyright (c) 2017 Titus Wormer - -Permission is hereby granted, free of charge, to any person obtaining -a copy of this software and associated documentation files (the -'Software'), to deal in the Software without restriction, including -without limitation the rights to use, copy, modify, merge, publish, -distribute, sublicense, and/or sell copies of the Software, and to -permit persons to whom the Software is furnished to do so, subject to -the following conditions: - -The above copyright notice and this permission notice shall be -included in all copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED 'AS IS', WITHOUT WARRANTY OF ANY KIND, -EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF -MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. -IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY -CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, -TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE -SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. diff --git a/tools/node_modules/eslint-plugin-markdown/node_modules/vfile-message/package.json b/tools/node_modules/eslint-plugin-markdown/node_modules/vfile-message/package.json deleted file mode 100644 index 7396bb68e54f70..00000000000000 --- a/tools/node_modules/eslint-plugin-markdown/node_modules/vfile-message/package.json +++ /dev/null @@ -1,73 +0,0 @@ -{ - "name": "vfile-message", - "version": "1.1.1", - "description": "Create a virtual message", - "license": "MIT", - "keywords": [ - "vfile", - "virtual", - "message" - ], - "repository": "vfile/vfile-message", - "bugs": "https://github.com/vfile/vfile-message/issues", - "author": "Titus Wormer (https://wooorm.com)", - "contributors": [ - "Titus Wormer (https://wooorm.com)" - ], - "files": [ - "index.js" - ], - "dependencies": { - "unist-util-stringify-position": "^1.1.1" - }, - "devDependencies": { - "browserify": "^16.0.0", - "nyc": "^13.0.0", - "prettier": "^1.12.1", - "remark-cli": "^6.0.0", - "remark-preset-wooorm": "^4.0.0", - "tape": "^4.0.0", - "tinyify": "^2.4.3", - "xo": "^0.23.0" - }, - "scripts": { - "format": "remark . -qfo && prettier --write '**/*.js' && xo --fix", - "build-bundle": "browserify . -s vfileMessage > vfile-message.js", - "build-mangle": "browserify . -s vfileMessage -p tinyify > vfile-message.min.js", - "build": "npm run build-bundle && npm run build-mangle", - "test-api": "node test", - "test-coverage": "nyc --reporter lcov tape test.js", - "test": "npm run format && npm run build && npm run test-coverage" - }, - "nyc": { - "check-coverage": true, - "lines": 100, - "functions": 100, - "branches": 100 - }, - "prettier": { - "tabWidth": 2, - "useTabs": false, - "singleQuote": true, - "bracketSpacing": false, - "semi": false, - "trailingComma": "none" - }, - "xo": { - "prettier": true, - "esnext": false, - "rules": { - "no-var": "off", - "prefer-arrow-callback": "off", - "object-shorthand": "off" - }, - "ignores": [ - "vfile-message.js" - ] - }, - "remarkConfig": { - "plugins": [ - "preset-wooorm" - ] - } -} diff --git a/tools/node_modules/eslint-plugin-markdown/node_modules/vfile-message/readme.md b/tools/node_modules/eslint-plugin-markdown/node_modules/vfile-message/readme.md deleted file mode 100644 index 0c88353a53c9cf..00000000000000 --- a/tools/node_modules/eslint-plugin-markdown/node_modules/vfile-message/readme.md +++ /dev/null @@ -1,194 +0,0 @@ -# vfile-message - -[![Build][build-badge]][build] -[![Coverage][coverage-badge]][coverage] -[![Downloads][downloads-badge]][downloads] -[![Chat][chat-badge]][chat] - -Create [vfile][] messages. - -## Installation - -[npm][]: - -```bash -npm install vfile-message -``` - -## Usage - -```js -var VMessage = require('vfile-message') - -var message = new VMessage( - '`braavo` is misspelt; did you mean `bravo`?', - {line: 1, column: 8}, - 'spell:typo' -) - -console.log(message) -``` - -Yields: - -```js -{ [1:8: `braavo` is misspelt; did you mean `bravo`?] - reason: '`braavo` is misspelt; did you mean `bravo`?', - fatal: null, - line: 1, - column: 8, - location: - { start: { line: 1, column: 8 }, - end: { line: null, column: null } }, - source: 'spell', - ruleId: 'typo' } -``` - -## API - -### `VMessage(reason[, position][, origin])` - -Constructor of a message for `reason` at `position` from `origin`. When -an error is passed in as `reason`, copies the stack. - -##### Parameters - -###### `reason` - -Reason for message (`string` or `Error`). Uses the stack and message of the -error if given. - -###### `position` - -Place at which the message occurred in a file ([`Node`][node], -[`Position`][position], or [`Point`][point], optional). - -###### `origin` - -Place in code the message originates from (`string`, optional). - -Can either be the [`ruleId`][ruleid] (`'rule'`), or a string with both a -[`source`][source] and a [`ruleId`][ruleid] delimited with a colon -(`'source:rule'`). - -##### Extends - -[`Error`][error]. - -##### Returns - -An instance of itself. - -##### Properties - -###### `reason` - -Reason for message (`string`). - -###### `fatal` - -If `true`, marks associated file as no longer processable (`boolean?`). If -`false`, necessitates a (potential) change. The value can also be `null` or -`undefined`. - -###### `line` - -Starting line of error (`number?`). - -###### `column` - -Starting column of error (`number?`). - -###### `location` - -Full range information, when available ([`Position`][position]). Has `start` -and `end` properties, both set to an object with `line` and `column`, set to -`number?`. - -###### `source` - -Namespace of warning (`string?`). - -###### `ruleId` - -Category of message (`string?`). - -###### `stack` - -Stack of message (`string?`). - -##### Custom properties - -It’s OK to store custom data directly on the `VMessage`, some of those are -handled by [utilities][util]. - -###### `file` - -You may add a `file` property with a path of a file (used throughout the -[**VFile**][vfile] ecosystem). - -###### `note` - -You may add a `note` property with a long form description of the message -(supported by [`vfile-reporter`][reporter]). - -###### `url` - -You may add a `url` property with a link to documentation for the message. - -## Contribute - -See [`contributing.md` in `vfile/vfile`][contributing] for ways to get started. - -This organisation has a [Code of Conduct][coc]. By interacting with this -repository, organisation, or community you agree to abide by its terms. - -## License - -[MIT][license] © [Titus Wormer][author] - - - -[build-badge]: https://img.shields.io/travis/vfile/vfile-message.svg - -[build]: https://travis-ci.org/vfile/vfile-message - -[coverage-badge]: https://img.shields.io/codecov/c/github/vfile/vfile-message.svg - -[coverage]: https://codecov.io/github/vfile/vfile-message - -[downloads-badge]: https://img.shields.io/npm/dm/vfile-message.svg - -[downloads]: https://www.npmjs.com/package/vfile-message - -[chat-badge]: https://img.shields.io/badge/join%20the%20community-on%20spectrum-7b16ff.svg - -[chat]: https://spectrum.chat/unified/vfile - -[npm]: https://docs.npmjs.com/cli/install - -[license]: license - -[author]: https://wooorm.com - -[error]: https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Error - -[node]: https://github.com/syntax-tree/unist#node - -[position]: https://github.com/syntax-tree/unist#position - -[point]: https://github.com/syntax-tree/unist#point - -[vfile]: https://github.com/vfile/vfile - -[contributing]: https://github.com/vfile/vfile/blob/master/contributing.md - -[coc]: https://github.com/vfile/vfile/blob/master/code-of-conduct.md - -[util]: https://github.com/vfile/vfile#utilities - -[reporter]: https://github.com/vfile/vfile-reporter - -[ruleid]: #ruleid - -[source]: #source diff --git a/tools/node_modules/eslint-plugin-markdown/node_modules/vfile/LICENSE b/tools/node_modules/eslint-plugin-markdown/node_modules/vfile/LICENSE deleted file mode 100644 index f3722d94b38121..00000000000000 --- a/tools/node_modules/eslint-plugin-markdown/node_modules/vfile/LICENSE +++ /dev/null @@ -1,21 +0,0 @@ -(The MIT License) - -Copyright (c) 2015 Titus Wormer - -Permission is hereby granted, free of charge, to any person obtaining a copy -of this software and associated documentation files (the "Software"), to deal -in the Software without restriction, including without limitation the rights -to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -copies of the Software, and to permit persons to whom the Software is -furnished to do so, subject to the following conditions: - -The above copyright notice and this permission notice shall be included in -all copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN -THE SOFTWARE. diff --git a/tools/node_modules/eslint-plugin-markdown/node_modules/vfile/core.js b/tools/node_modules/eslint-plugin-markdown/node_modules/vfile/core.js deleted file mode 100644 index 2d88a333993a08..00000000000000 --- a/tools/node_modules/eslint-plugin-markdown/node_modules/vfile/core.js +++ /dev/null @@ -1,169 +0,0 @@ -'use strict'; - -var path = require('path'); -var replace = require('replace-ext'); -var buffer = require('is-buffer'); - -module.exports = VFile; - -var own = {}.hasOwnProperty; -var proto = VFile.prototype; - -proto.toString = toString; - -/* Order of setting (least specific to most), we need this because - * otherwise `{stem: 'a', path: '~/b.js'}` would throw, as a path - * is needed before a stem can be set. */ -var order = [ - 'history', - 'path', - 'basename', - 'stem', - 'extname', - 'dirname' -]; - -/* Construct a new file. */ -function VFile(options) { - var prop; - var index; - var length; - - if (!options) { - options = {}; - } else if (typeof options === 'string' || buffer(options)) { - options = {contents: options}; - } else if ('message' in options && 'messages' in options) { - return options; - } - - if (!(this instanceof VFile)) { - return new VFile(options); - } - - this.data = {}; - this.messages = []; - this.history = []; - this.cwd = process.cwd(); - - /* Set path related properties in the correct order. */ - index = -1; - length = order.length; - - while (++index < length) { - prop = order[index]; - - if (own.call(options, prop)) { - this[prop] = options[prop]; - } - } - - /* Set non-path related properties. */ - for (prop in options) { - if (order.indexOf(prop) === -1) { - this[prop] = options[prop]; - } - } -} - -/* Access full path (`~/index.min.js`). */ -Object.defineProperty(proto, 'path', { - get: function () { - return this.history[this.history.length - 1]; - }, - set: function (path) { - assertNonEmpty(path, 'path'); - - if (path !== this.path) { - this.history.push(path); - } - } -}); - -/* Access parent path (`~`). */ -Object.defineProperty(proto, 'dirname', { - get: function () { - return typeof this.path === 'string' ? path.dirname(this.path) : undefined; - }, - set: function (dirname) { - assertPath(this.path, 'dirname'); - this.path = path.join(dirname || '', this.basename); - } -}); - -/* Access basename (`index.min.js`). */ -Object.defineProperty(proto, 'basename', { - get: function () { - return typeof this.path === 'string' ? path.basename(this.path) : undefined; - }, - set: function (basename) { - assertNonEmpty(basename, 'basename'); - assertPart(basename, 'basename'); - this.path = path.join(this.dirname || '', basename); - } -}); - -/* Access extname (`.js`). */ -Object.defineProperty(proto, 'extname', { - get: function () { - return typeof this.path === 'string' ? path.extname(this.path) : undefined; - }, - set: function (extname) { - var ext = extname || ''; - - assertPart(ext, 'extname'); - assertPath(this.path, 'extname'); - - if (ext) { - if (ext.charAt(0) !== '.') { - throw new Error('`extname` must start with `.`'); - } - - if (ext.indexOf('.', 1) !== -1) { - throw new Error('`extname` cannot contain multiple dots'); - } - } - - this.path = replace(this.path, ext); - } -}); - -/* Access stem (`index.min`). */ -Object.defineProperty(proto, 'stem', { - get: function () { - return typeof this.path === 'string' ? path.basename(this.path, this.extname) : undefined; - }, - set: function (stem) { - assertNonEmpty(stem, 'stem'); - assertPart(stem, 'stem'); - this.path = path.join(this.dirname || '', stem + (this.extname || '')); - } -}); - -/* Get the value of the file. */ -function toString(encoding) { - var value = this.contents || ''; - return buffer(value) ? value.toString(encoding) : String(value); -} - -/* Assert that `part` is not a path (i.e., does - * not contain `path.sep`). */ -function assertPart(part, name) { - if (part.indexOf(path.sep) !== -1) { - throw new Error('`' + name + '` cannot be a path: did not expect `' + path.sep + '`'); - } -} - -/* Assert that `part` is not empty. */ -function assertNonEmpty(part, name) { - if (!part) { - throw new Error('`' + name + '` cannot be empty'); - } -} - -/* Assert `path` exists. */ -function assertPath(path, name) { - if (!path) { - throw new Error('Setting `' + name + '` requires `path` to be set too'); - } -} diff --git a/tools/node_modules/eslint-plugin-markdown/node_modules/vfile/index.js b/tools/node_modules/eslint-plugin-markdown/node_modules/vfile/index.js deleted file mode 100644 index 9b3c7e0d10e109..00000000000000 --- a/tools/node_modules/eslint-plugin-markdown/node_modules/vfile/index.js +++ /dev/null @@ -1,53 +0,0 @@ -'use strict'; - -var VMessage = require('vfile-message'); -var VFile = require('./core.js'); - -module.exports = VFile; - -var proto = VFile.prototype; - -proto.message = message; -proto.info = info; -proto.fail = fail; - -/* Slight backwards compatibility. Remove in the future. */ -proto.warn = message; - -/* Create a message with `reason` at `position`. - * When an error is passed in as `reason`, copies the stack. */ -function message(reason, position, origin) { - var filePath = this.path; - var message = new VMessage(reason, position, origin); - - if (filePath) { - message.name = filePath + ':' + message.name; - message.file = filePath; - } - - message.fatal = false; - - this.messages.push(message); - - return message; -} - -/* Fail. Creates a vmessage, associates it with the file, - * and throws it. */ -function fail() { - var message = this.message.apply(this, arguments); - - message.fatal = true; - - throw message; -} - -/* Info. Creates a vmessage, associates it with the file, - * and marks the fatality as null. */ -function info() { - var message = this.message.apply(this, arguments); - - message.fatal = null; - - return message; -} diff --git a/tools/node_modules/eslint-plugin-markdown/node_modules/vfile/package.json b/tools/node_modules/eslint-plugin-markdown/node_modules/vfile/package.json deleted file mode 100644 index aba5f34dd9d5ab..00000000000000 --- a/tools/node_modules/eslint-plugin-markdown/node_modules/vfile/package.json +++ /dev/null @@ -1,78 +0,0 @@ -{ - "name": "vfile", - "version": "2.3.0", - "description": "Virtual file format for text processing", - "license": "MIT", - "keywords": [ - "virtual", - "file", - "text", - "processing", - "message", - "warning", - "error", - "remark", - "retext" - ], - "repository": "vfile/vfile", - "bugs": "https://github.com/vfile/vfile/issues", - "author": "Titus Wormer (http://wooorm.com)", - "contributors": [ - "Titus Wormer (http://wooorm.com)", - "Brendan Abbott ", - "Denys Dovhan ", - "Kyle Mathews ", - "Shinnosuke Watanabe ", - "Sindre Sorhus " - ], - "files": [ - "core.js", - "index.js" - ], - "dependencies": { - "is-buffer": "^1.1.4", - "replace-ext": "1.0.0", - "unist-util-stringify-position": "^1.0.0", - "vfile-message": "^1.0.0" - }, - "devDependencies": { - "browserify": "^14.0.0", - "esmangle": "^1.0.0", - "nyc": "^11.0.0", - "remark-cli": "^4.0.0", - "remark-preset-wooorm": "^3.0.0", - "tape": "^4.4.0", - "xo": "^0.18.0" - }, - "scripts": { - "build-md": "remark . -qfo", - "build-bundle": "browserify index.js -s VFile > vfile.js", - "build-mangle": "esmangle vfile.js > vfile.min.js", - "build": "npm run build-md && npm run build-bundle && npm run build-mangle", - "lint": "xo", - "test-api": "node test", - "test-coverage": "nyc --reporter lcov tape test.js", - "test": "npm run build && npm run lint && npm run test-coverage" - }, - "nyc": { - "check-coverage": true, - "lines": 100, - "functions": 100, - "branches": 100 - }, - "xo": { - "space": true, - "esnext": false, - "rules": { - "unicorn/no-new-buffer": "off" - }, - "ignores": [ - "vfile.js" - ] - }, - "remarkConfig": { - "plugins": [ - "preset-wooorm" - ] - } -} diff --git a/tools/node_modules/eslint-plugin-markdown/node_modules/vfile/readme.md b/tools/node_modules/eslint-plugin-markdown/node_modules/vfile/readme.md deleted file mode 100644 index 1488031d7edd0a..00000000000000 --- a/tools/node_modules/eslint-plugin-markdown/node_modules/vfile/readme.md +++ /dev/null @@ -1,285 +0,0 @@ -# ![vfile][] - -[![Build Status][build-badge]][build-status] -[![Coverage Status][coverage-badge]][coverage-status] - -**VFile** is a virtual file format used by [**unified**][unified], -a text processing umbrella (it powers [**retext**][retext] for -natural language, [**remark**][remark] for markdown, and -[**rehype**][rehype] for HTML). Each processors that parse, transform, -and compile text, and need a virtual representation of files and a -place to store [messages][] about them. Plus, they work in the browser. -**VFile** provides these requirements at a small size, in IE 9 and up. - -> **VFile** is different from the excellent [**vinyl**][vinyl] -> in that it has a smaller API, a smaller size, and focuses on -> [messages][]. - -VFile can be used anywhere where files need a lightweight representation. -For example, it’s used in: - -* [`documentation`](https://github.com/documentationjs/documentation) - — The documentation system for modern JavaScript -* [`weh`](https://github.com/wehjs/weh) - — Declarative small site generator -* [`geojsonhint`](https://github.com/mapbox/geojsonhint) - — Complete, fast, standards-based validation for geojson - -## Installation - -[npm][]: - -```bash -npm install vfile -``` - -## Table of Contents - -* [Usage](#usage) -* [Utilities](#utilities) -* [Reporters](#reporters) -* [API](#api) - * [VFile(\[options\])](#vfileoptions) - * [vfile.contents](#vfilecontents) - * [vfile.cwd](#vfilecwd) - * [vfile.path](#vfilepath) - * [vfile.basename](#vfilebasename) - * [vfile.stem](#vfilestem) - * [vfile.extname](#vfileextname) - * [vfile.dirname](#vfiledirname) - * [vfile.history](#vfilehistory) - * [vfile.messages](#vfilemessages) - * [vfile.data](#vfiledata) - * [VFile#toString(\[encoding\])](#vfiletostringencoding) - * [VFile#message(reason\[, position\]\[, origin\])](#vfilemessagereason-position-origin) - * [VFile#info(reason\[, position\]\[, origin\])](#vfileinforeason-position-origin) - * [VFile#fail(reason\[, position\]\[, origin\])](#vfilefailreason-position-origin) -* [License](#license) - -## Usage - -```js -var vfile = require('vfile'); - -var file = vfile({path: '~/example.txt', contents: 'Alpha *braavo* charlie.'}); - -file.path; //=> '~/example.txt' -file.dirname; //=> '~' - -file.extname = '.md'; - -file.basename; //=> 'example.md' - -file.basename = 'index.text'; - -file.history; //=> ['~/example.txt', '~/example.md', '~/index.text'] - -file.message('`braavo` is misspelt; did you mean `bravo`?', {line: 1, column: 8}); - -console.log(file.messages); -``` - -Yields: - -```js -[ { [~/index.text:1:8: `braavo` is misspelt; did you mean `bravo`?] - message: '`braavo` is misspelt; did you mean `bravo`?', - name: '~/index.text:1:8', - file: '~/index.text', - reason: '`braavo` is misspelt; did you mean `bravo`?', - line: 1, - column: 8, - location: { start: [Object], end: [Object] }, - ruleId: null, - source: null, - fatal: false } ] -``` - -## Utilities - -The following list of projects includes tools for working with virtual -files. See [**Unist**][unist] for projects working with nodes. - -* [`convert-vinyl-to-vfile`](https://github.com/dustinspecker/convert-vinyl-to-vfile) - — Convert from [Vinyl][] -* [`is-vfile-message`](https://github.com/shinnn/is-vfile-message) - — Check if a value is a `VMessage` object -* [`to-vfile`](https://github.com/vfile/to-vfile) - — Create a virtual file from a file-path (and optionally read it) -* [`vfile-find-down`](https://github.com/vfile/vfile-find-down) - — Find files by searching the file system downwards -* [`vfile-find-up`](https://github.com/vfile/vfile-find-up) - — Find files by searching the file system upwards -* [`vfile-location`](https://github.com/vfile/vfile-location) - — Convert between line/column- and range-based locations -* [`vfile-statistics`](https://github.com/vfile/vfile-statistics) - — Count messages per category -* [`vfile-messages-to-vscode-diagnostics`](https://github.com/shinnn/vfile-messages-to-vscode-diagnostics) - — Convert to VS Code diagnostics -* [`vfile-sort`](https://github.com/vfile/vfile-sort) - — Sort messages by line/column -* [`vfile-to-eslint`](https://github.com/vfile/vfile-to-eslint) - — Convert VFiles to ESLint formatter compatible output - -## Reporters - -The following list of projects show linting results for given virtual files. -Reporters _must_ accept `Array.` as their first argument, and return -`string`. Reporters _may_ accept other values too, in which case it’s suggested -to stick to `vfile-reporter`s interface. - -* [`vfile-reporter`][reporter] - — Stylish reporter -* [`vfile-reporter-json`](https://github.com/vfile/vfile-reporter-json) - — JSON reporter -* [`vfile-reporter-pretty`](https://github.com/vfile/vfile-reporter-pretty) - — Pretty reporter - -## API - -### `VFile([options])` - -Create a new virtual file. If `options` is `string` or `Buffer`, treats -it as `{contents: options}`. If `options` is a `VFile`, returns it. -All other options are set on the newly created `vfile`. - -Path related properties are set in the following order (least specific -to most specific): `history`, `path`, `basename`, `stem`, `extname`, -`dirname`. - -It’s not possible to set either `dirname` or `extname` without setting -either `history`, `path`, `basename`, or `stem` as well. - -###### Example - -```js -vfile(); -vfile('console.log("alpha");'); -vfile(Buffer.from('exit 1')); -vfile({path: path.join(__dirname, 'readme.md')}); -vfile({stem: 'readme', extname: '.md', dirname: __dirname}); -vfile({other: 'properties', are: 'copied', ov: {e: 'r'}}); -``` - -### `vfile.contents` - -`Buffer`, `string`, `null` — Raw value. - -### `vfile.cwd` - -`string` — Base of `path`. Defaults to `process.cwd()`. - -### `vfile.path` - -`string?` — Path of `vfile`. Cannot be nullified. - -### `vfile.basename` - -`string?` — Current name (including extension) of `vfile`. Cannot -contain path separators. Cannot be nullified either (use -`file.path = file.dirname` instead). - -### `vfile.stem` - -`string?` — Name (without extension) of `vfile`. Cannot be nullified, -and cannot contain path separators. - -### `vfile.extname` - -`string?` — Extension (with dot) of `vfile`. Cannot be set if -there’s no `path` yet and cannot contain path separators. - -### `vfile.dirname` - -`string?` — Path to parent directory of `vfile`. Cannot be set if -there’s no `path` yet. - -### `vfile.history` - -`Array.` — List of file-paths the file moved between. - -### `vfile.messages` - -[`Array.`][message] — List of messages associated with the file. - -### `vfile.data` - -`Object` — Place to store custom information. It’s OK to store custom -data directly on the `vfile`, moving it to `data` gives a _little_ more -privacy. - -### `VFile#toString([encoding])` - -Convert contents of `vfile` to string. If `contents` is a buffer, -`encoding` is used to stringify buffers (default: `'utf8'`). - -### `VFile#message(reason[, position][, origin])` - -Associates a message with the file, where `fatal` is set to `false`. -Constructs a new [`VMessage`][vmessage] and adds it to -[`vfile.messages`][messages]. - -##### Returns - -[`VMessage`][vmessage]. - -### `VFile#info(reason[, position][, origin])` - -Associates an informational message with the file, where `fatal` is set to -`null`. Calls [`#message()`][message] internally. - -##### Returns - -[`VMessage`][vmessage]. - -### `VFile#fail(reason[, position][, origin])` - -Associates a fatal message with the file, then immediately throws it. -Note: fatal errors mean a file is no longer processable. -Calls [`#message()`][message] internally. - -##### Throws - -[`VMessage`][vmessage]. - -## License - -[MIT][license] © [Titus Wormer][author] - - - -[build-badge]: https://img.shields.io/travis/vfile/vfile.svg - -[build-status]: https://travis-ci.org/vfile/vfile - -[coverage-badge]: https://img.shields.io/codecov/c/github/vfile/vfile.svg - -[coverage-status]: https://codecov.io/github/vfile/vfile - -[npm]: https://docs.npmjs.com/cli/install - -[license]: LICENSE - -[author]: http://wooorm.com - -[vfile]: https://cdn.rawgit.com/vfile/vfile/f65510e/logo.svg - -[unified]: https://github.com/unifiedjs/unified - -[retext]: https://github.com/wooorm/retext - -[remark]: https://github.com/wooorm/remark - -[rehype]: https://github.com/wooorm/rehype - -[vinyl]: https://github.com/gulpjs/vinyl - -[unist]: https://github.com/syntax-tree/unist#list-of-utilities - -[reporter]: https://github.com/vfile/vfile-reporter - -[vmessage]: https://github.com/vfile/vfile-message - -[messages]: #vfilemessages - -[message]: #vfilemessagereason-position-origin diff --git a/tools/node_modules/eslint-plugin-markdown/node_modules/x-is-string/LICENCE b/tools/node_modules/eslint-plugin-markdown/node_modules/x-is-string/LICENCE deleted file mode 100644 index 0d0834052f3c54..00000000000000 --- a/tools/node_modules/eslint-plugin-markdown/node_modules/x-is-string/LICENCE +++ /dev/null @@ -1,19 +0,0 @@ -Copyright (c) 2014 Matt-Esch. - -Permission is hereby granted, free of charge, to any person obtaining a copy -of this software and associated documentation files (the "Software"), to deal -in the Software without restriction, including without limitation the rights -to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -copies of the Software, and to permit persons to whom the Software is -furnished to do so, subject to the following conditions: - -The above copyright notice and this permission notice shall be included in -all copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN -THE SOFTWARE. diff --git a/tools/node_modules/eslint-plugin-markdown/node_modules/x-is-string/README.md b/tools/node_modules/eslint-plugin-markdown/node_modules/x-is-string/README.md deleted file mode 100644 index 99977d475ac91e..00000000000000 --- a/tools/node_modules/eslint-plugin-markdown/node_modules/x-is-string/README.md +++ /dev/null @@ -1,46 +0,0 @@ -# x-is-string - -Simple string test - -## Example - -```js -var isString = require("x-is-string") - -isString("hello") -// -> true - -isString("") -// -> true - -isString(new String("things")) -// -> true - -isString(1) -// -> false - -isString(true) -// -> false - -isString(new Date()) -// -> false - -isString({}) -// -> false - -isString(null) -// -> false - -isString(undefined) -// -> false -``` - -## Installation - -`npm install x-is-string` - -## Contributors - - - Matt-Esch - -## MIT Licenced \ No newline at end of file diff --git a/tools/node_modules/eslint-plugin-markdown/node_modules/x-is-string/index.js b/tools/node_modules/eslint-plugin-markdown/node_modules/x-is-string/index.js deleted file mode 100644 index 090130d4ce4026..00000000000000 --- a/tools/node_modules/eslint-plugin-markdown/node_modules/x-is-string/index.js +++ /dev/null @@ -1,7 +0,0 @@ -var toString = Object.prototype.toString - -module.exports = isString - -function isString(obj) { - return toString.call(obj) === "[object String]" -} diff --git a/tools/node_modules/eslint-plugin-markdown/node_modules/x-is-string/package.json b/tools/node_modules/eslint-plugin-markdown/node_modules/x-is-string/package.json deleted file mode 100644 index ea267ce35112e1..00000000000000 --- a/tools/node_modules/eslint-plugin-markdown/node_modules/x-is-string/package.json +++ /dev/null @@ -1,55 +0,0 @@ -{ - "name": "x-is-string", - "version": "0.1.0", - "description": "Simple string test", - "keywords": [], - "author": "Matt-Esch ", - "repository": "git://github.com/Matt-Esch/x-is-string.git", - "main": "index", - "homepage": "https://github.com/Matt-Esch/x-is-string", - "contributors": [ - { - "name": "Matt-Esch" - } - ], - "bugs": { - "url": "https://github.com/Matt-Esch/x-is-string/issues", - "email": "matt@mattesch.info" - }, - "dependencies": {}, - "devDependencies": { - "tape": "^2.12.2" - }, - "licenses": [ - { - "type": "MIT", - "url": "http://github.com/Matt-Esch/x-is-string/raw/master/LICENSE" - } - ], - "scripts": { - "test": "node ./test/index.js", - "start": "node ./index.js", - "watch": "nodemon -w ./index.js index.js", - "travis-test": "istanbul cover ./test/index.js && ((cat coverage/lcov.info | coveralls) || exit 0)", - "cover": "istanbul cover --report none --print detail ./test/index.js", - "view-cover": "istanbul report html && google-chrome ./coverage/index.html", - "test-browser": "testem-browser ./test/browser/index.js", - "testem": "testem-both -b=./test/browser/index.js" - }, - "testling": { - "files": "test/index.js", - "browsers": [ - "ie/8..latest", - "firefox/16..latest", - "firefox/nightly", - "chrome/22..latest", - "chrome/canary", - "opera/12..latest", - "opera/next", - "safari/5.1..latest", - "ipad/6.0..latest", - "iphone/6.0..latest", - "android-browser/4.2..latest" - ] - } -} diff --git a/tools/node_modules/eslint-plugin-markdown/node_modules/xtend/LICENSE b/tools/node_modules/eslint-plugin-markdown/node_modules/xtend/LICENSE deleted file mode 100644 index 0099f4f6c77f40..00000000000000 --- a/tools/node_modules/eslint-plugin-markdown/node_modules/xtend/LICENSE +++ /dev/null @@ -1,20 +0,0 @@ -The MIT License (MIT) -Copyright (c) 2012-2014 Raynos. - -Permission is hereby granted, free of charge, to any person obtaining a copy -of this software and associated documentation files (the "Software"), to deal -in the Software without restriction, including without limitation the rights -to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -copies of the Software, and to permit persons to whom the Software is -furnished to do so, subject to the following conditions: - -The above copyright notice and this permission notice shall be included in -all copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN -THE SOFTWARE. diff --git a/tools/node_modules/eslint-plugin-markdown/node_modules/xtend/README.md b/tools/node_modules/eslint-plugin-markdown/node_modules/xtend/README.md deleted file mode 100644 index 4a2703cff276b1..00000000000000 --- a/tools/node_modules/eslint-plugin-markdown/node_modules/xtend/README.md +++ /dev/null @@ -1,32 +0,0 @@ -# xtend - -[![browser support][3]][4] - -[![locked](http://badges.github.io/stability-badges/dist/locked.svg)](http://github.com/badges/stability-badges) - -Extend like a boss - -xtend is a basic utility library which allows you to extend an object by appending all of the properties from each object in a list. When there are identical properties, the right-most property takes precedence. - -## Examples - -```js -var extend = require("xtend") - -// extend returns a new object. Does not mutate arguments -var combination = extend({ - a: "a", - b: "c" -}, { - b: "b" -}) -// { a: "a", b: "b" } -``` - -## Stability status: Locked - -## MIT Licensed - - - [3]: http://ci.testling.com/Raynos/xtend.png - [4]: http://ci.testling.com/Raynos/xtend diff --git a/tools/node_modules/eslint-plugin-markdown/node_modules/xtend/immutable.js b/tools/node_modules/eslint-plugin-markdown/node_modules/xtend/immutable.js deleted file mode 100644 index 94889c9de11a18..00000000000000 --- a/tools/node_modules/eslint-plugin-markdown/node_modules/xtend/immutable.js +++ /dev/null @@ -1,19 +0,0 @@ -module.exports = extend - -var hasOwnProperty = Object.prototype.hasOwnProperty; - -function extend() { - var target = {} - - for (var i = 0; i < arguments.length; i++) { - var source = arguments[i] - - for (var key in source) { - if (hasOwnProperty.call(source, key)) { - target[key] = source[key] - } - } - } - - return target -} diff --git a/tools/node_modules/eslint-plugin-markdown/node_modules/xtend/mutable.js b/tools/node_modules/eslint-plugin-markdown/node_modules/xtend/mutable.js deleted file mode 100644 index 72debede6ca585..00000000000000 --- a/tools/node_modules/eslint-plugin-markdown/node_modules/xtend/mutable.js +++ /dev/null @@ -1,17 +0,0 @@ -module.exports = extend - -var hasOwnProperty = Object.prototype.hasOwnProperty; - -function extend(target) { - for (var i = 1; i < arguments.length; i++) { - var source = arguments[i] - - for (var key in source) { - if (hasOwnProperty.call(source, key)) { - target[key] = source[key] - } - } - } - - return target -} diff --git a/tools/node_modules/eslint-plugin-markdown/node_modules/xtend/package.json b/tools/node_modules/eslint-plugin-markdown/node_modules/xtend/package.json deleted file mode 100644 index f7a39d10af5f5e..00000000000000 --- a/tools/node_modules/eslint-plugin-markdown/node_modules/xtend/package.json +++ /dev/null @@ -1,55 +0,0 @@ -{ - "name": "xtend", - "version": "4.0.2", - "description": "extend like a boss", - "keywords": [ - "extend", - "merge", - "options", - "opts", - "object", - "array" - ], - "author": "Raynos ", - "repository": "git://github.com/Raynos/xtend.git", - "main": "immutable", - "scripts": { - "test": "node test" - }, - "dependencies": {}, - "devDependencies": { - "tape": "~1.1.0" - }, - "homepage": "https://github.com/Raynos/xtend", - "contributors": [ - { - "name": "Jake Verbaten" - }, - { - "name": "Matt Esch" - } - ], - "bugs": { - "url": "https://github.com/Raynos/xtend/issues", - "email": "raynos2@gmail.com" - }, - "license": "MIT", - "testling": { - "files": "test.js", - "browsers": [ - "ie/7..latest", - "firefox/16..latest", - "firefox/nightly", - "chrome/22..latest", - "chrome/canary", - "opera/12..latest", - "opera/next", - "safari/5.1..latest", - "ipad/6.0..latest", - "iphone/6.0..latest" - ] - }, - "engines": { - "node": ">=0.4" - } -} diff --git a/tools/node_modules/eslint-plugin-markdown/package.json b/tools/node_modules/eslint-plugin-markdown/package.json index ab5f376e690980..2742d65e81549e 100644 --- a/tools/node_modules/eslint-plugin-markdown/package.json +++ b/tools/node_modules/eslint-plugin-markdown/package.json @@ -1,6 +1,6 @@ { "name": "eslint-plugin-markdown", - "version": "2.1.0", + "version": "2.2.0", "description": "An ESLint plugin to lint JavaScript in Markdown code fences.", "license": "MIT", "author": { @@ -47,8 +47,7 @@ "nyc": "^14.1.1" }, "dependencies": { - "remark-parse": "^7.0.0", - "unified": "^6.1.2" + "mdast-util-from-markdown": "^0.8.5" }, "peerDependencies": { "eslint": ">=6.0.0" diff --git a/tools/node_modules/eslint/README.md b/tools/node_modules/eslint/README.md index 544da51ebcd1eb..438a087ff23432 100644 --- a/tools/node_modules/eslint/README.md +++ b/tools/node_modules/eslint/README.md @@ -223,11 +223,6 @@ Nicholas C. Zakas Brandon Mills
    - -
    -Toru Nagashima -
    -
    Milos Djermanovic diff --git a/tools/node_modules/eslint/lib/linter/linter.js b/tools/node_modules/eslint/lib/linter/linter.js index bdc6c1b1d01672..e94b507b5dd30a 100644 --- a/tools/node_modules/eslint/lib/linter/linter.js +++ b/tools/node_modules/eslint/lib/linter/linter.js @@ -444,7 +444,7 @@ function normalizeEcmaVersion(ecmaVersion) { return ecmaVersion >= 2015 ? ecmaVersion - 2009 : ecmaVersion; } -const eslintEnvPattern = /\/\*\s*eslint-env\s(.+?)\*\//gu; +const eslintEnvPattern = /\/\*\s*eslint-env\s(.+?)\*\//gsu; /** * Checks whether or not there is a comment which has "eslint-env *" in a given text. @@ -828,9 +828,10 @@ const BASE_TRAVERSAL_CONTEXT = Object.freeze( * @param {string} filename The reported filename of the code * @param {boolean} disableFixes If true, it doesn't make `fix` properties. * @param {string | undefined} cwd cwd of the cli + * @param {string} physicalFilename The full path of the file on disk without any code block information * @returns {Problem[]} An array of reported problems */ -function runRules(sourceCode, configuredRules, ruleMapper, parserOptions, parserName, settings, filename, disableFixes, cwd) { +function runRules(sourceCode, configuredRules, ruleMapper, parserOptions, parserName, settings, filename, disableFixes, cwd, physicalFilename) { const emitter = createEmitter(); const nodeQueue = []; let currentNode = sourceCode.ast; @@ -859,6 +860,7 @@ function runRules(sourceCode, configuredRules, ruleMapper, parserOptions, parser getDeclaredVariables: sourceCode.scopeManager.getDeclaredVariables.bind(sourceCode.scopeManager), getCwd: () => cwd, getFilename: () => filename, + getPhysicalFilename: () => physicalFilename || filename, getScope: () => getScope(sourceCode.scopeManager, currentNode), getSourceCode: () => sourceCode, markVariableAsUsed: name => markVariableAsUsed(sourceCode.scopeManager, currentNode, parserOptions, name), @@ -1181,7 +1183,8 @@ class Linter { settings, options.filename, options.disableFixes, - slots.cwd + slots.cwd, + providedOptions.physicalFilename ); } catch (err) { err.message += `\nOccurred while linting ${options.filename}`; @@ -1284,6 +1287,7 @@ class Linter { _verifyWithProcessor(textOrSourceCode, config, options, configForRecursive) { const filename = options.filename || ""; const filenameToExpose = normalizeFilename(filename); + const physicalFilename = options.physicalFilename || filenameToExpose; const text = ensureText(textOrSourceCode); const preprocess = options.preprocess || (rawText => [rawText]); @@ -1316,7 +1320,7 @@ class Linter { return this._verifyWithConfigArray( blockText, configForRecursive, - { ...options, filename: blockName } + { ...options, filename: blockName, physicalFilename } ); } @@ -1324,7 +1328,7 @@ class Linter { return this._verifyWithoutProcessors( blockText, config, - { ...options, filename: blockName } + { ...options, filename: blockName, physicalFilename } ); }); diff --git a/tools/node_modules/eslint/lib/rules/arrow-body-style.js b/tools/node_modules/eslint/lib/rules/arrow-body-style.js index b2167fde77bc7e..5b8a5f0116717a 100644 --- a/tools/node_modules/eslint/lib/rules/arrow-body-style.js +++ b/tools/node_modules/eslint/lib/rules/arrow-body-style.js @@ -87,17 +87,17 @@ module.exports = { } /** - * Gets the closing parenthesis which is the pair of the given opening parenthesis. - * @param {Token} token The opening parenthesis token to get. + * Gets the closing parenthesis by the given node. + * @param {ASTNode} node first node after an opening parenthesis. * @returns {Token} The found closing parenthesis token. */ - function findClosingParen(token) { - let node = sourceCode.getNodeByRangeIndex(token.range[0]); + function findClosingParen(node) { + let nodeToCheck = node; - while (!astUtils.isParenthesised(sourceCode, node)) { - node = node.parent; + while (!astUtils.isParenthesised(sourceCode, nodeToCheck)) { + nodeToCheck = nodeToCheck.parent; } - return sourceCode.getTokenAfter(node); + return sourceCode.getTokenAfter(nodeToCheck); } /** @@ -226,12 +226,22 @@ module.exports = { const arrowToken = sourceCode.getTokenBefore(arrowBody, astUtils.isArrowToken); const [firstTokenAfterArrow, secondTokenAfterArrow] = sourceCode.getTokensAfter(arrowToken, { count: 2 }); const lastToken = sourceCode.getLastToken(node); - const isParenthesisedObjectLiteral = + + let parenthesisedObjectLiteral = null; + + if ( astUtils.isOpeningParenToken(firstTokenAfterArrow) && - astUtils.isOpeningBraceToken(secondTokenAfterArrow); + astUtils.isOpeningBraceToken(secondTokenAfterArrow) + ) { + const braceNode = sourceCode.getNodeByRangeIndex(secondTokenAfterArrow.range[0]); + + if (braceNode.type === "ObjectExpression") { + parenthesisedObjectLiteral = braceNode; + } + } // If the value is object literal, remove parentheses which were forced by syntax. - if (isParenthesisedObjectLiteral) { + if (parenthesisedObjectLiteral) { const openingParenToken = firstTokenAfterArrow; const openingBraceToken = secondTokenAfterArrow; @@ -247,7 +257,7 @@ module.exports = { } // Closing paren for the object doesn't have to be lastToken, e.g.: () => ({}).foo() - fixes.push(fixer.remove(findClosingParen(openingBraceToken))); + fixes.push(fixer.remove(findClosingParen(parenthesisedObjectLiteral))); fixes.push(fixer.insertTextAfter(lastToken, "}")); } else { diff --git a/tools/node_modules/eslint/lib/rules/no-duplicate-imports.js b/tools/node_modules/eslint/lib/rules/no-duplicate-imports.js index 7218dc64add343..cc3da1d5a68080 100644 --- a/tools/node_modules/eslint/lib/rules/no-duplicate-imports.js +++ b/tools/node_modules/eslint/lib/rules/no-duplicate-imports.js @@ -4,92 +4,225 @@ */ "use strict"; +//------------------------------------------------------------------------------ +// Helpers +//------------------------------------------------------------------------------ + +const NAMED_TYPES = ["ImportSpecifier", "ExportSpecifier"]; +const NAMESPACE_TYPES = [ + "ImportNamespaceSpecifier", + "ExportNamespaceSpecifier" +]; + //------------------------------------------------------------------------------ // Rule Definition //------------------------------------------------------------------------------ /** - * Returns the name of the module imported or re-exported. + * Check if an import/export type belongs to (ImportSpecifier|ExportSpecifier) or (ImportNamespaceSpecifier|ExportNamespaceSpecifier). + * @param {string} importExportType An import/export type to check. + * @param {string} type Can be "named" or "namespace" + * @returns {boolean} True if import/export type belongs to (ImportSpecifier|ExportSpecifier) or (ImportNamespaceSpecifier|ExportNamespaceSpecifier) and false if it doesn't. + */ +function isImportExportSpecifier(importExportType, type) { + const arrayToCheck = type === "named" ? NAMED_TYPES : NAMESPACE_TYPES; + + return arrayToCheck.includes(importExportType); +} + +/** + * Return the type of (import|export). * @param {ASTNode} node A node to get. - * @returns {string} the name of the module, or empty string if no name. + * @returns {string} The type of the (import|export). */ -function getValue(node) { - if (node && node.source && node.source.value) { - return node.source.value.trim(); +function getImportExportType(node) { + if (node.specifiers && node.specifiers.length > 0) { + const nodeSpecifiers = node.specifiers; + const index = nodeSpecifiers.findIndex( + ({ type }) => + isImportExportSpecifier(type, "named") || + isImportExportSpecifier(type, "namespace") + ); + const i = index > -1 ? index : 0; + + return nodeSpecifiers[i].type; } + if (node.type === "ExportAllDeclaration") { + if (node.exported) { + return "ExportNamespaceSpecifier"; + } + return "ExportAll"; + } + return "SideEffectImport"; +} - return ""; +/** + * Returns a boolean indicates if two (import|export) can be merged + * @param {ASTNode} node1 A node to check. + * @param {ASTNode} node2 A node to check. + * @returns {boolean} True if two (import|export) can be merged, false if they can't. + */ +function isImportExportCanBeMerged(node1, node2) { + const importExportType1 = getImportExportType(node1); + const importExportType2 = getImportExportType(node2); + + if ( + (importExportType1 === "ExportAll" && + importExportType2 !== "ExportAll" && + importExportType2 !== "SideEffectImport") || + (importExportType1 !== "ExportAll" && + importExportType1 !== "SideEffectImport" && + importExportType2 === "ExportAll") + ) { + return false; + } + if ( + (isImportExportSpecifier(importExportType1, "namespace") && + isImportExportSpecifier(importExportType2, "named")) || + (isImportExportSpecifier(importExportType2, "namespace") && + isImportExportSpecifier(importExportType1, "named")) + ) { + return false; + } + return true; } /** - * Checks if the name of the import or export exists in the given array, and reports if so. - * @param {RuleContext} context The ESLint rule context object. - * @param {ASTNode} node A node to get. - * @param {string} value The name of the imported or exported module. - * @param {string[]} array The array containing other imports or exports in the file. - * @param {string} messageId A messageId to be reported after the name of the module - * - * @returns {void} No return value + * Returns a boolean if we should report (import|export). + * @param {ASTNode} node A node to be reported or not. + * @param {[ASTNode]} previousNodes An array contains previous nodes of the module imported or exported. + * @returns {boolean} True if the (import|export) should be reported. */ -function checkAndReport(context, node, value, array, messageId) { - if (array.indexOf(value) !== -1) { - context.report({ - node, - messageId, - data: { - module: value - } - }); +function shouldReportImportExport(node, previousNodes) { + let i = 0; + + while (i < previousNodes.length) { + if (isImportExportCanBeMerged(node, previousNodes[i])) { + return true; + } + i++; } + return false; } /** - * @callback nodeCallback - * @param {ASTNode} node A node to handle. + * Returns array contains only nodes with declarations types equal to type. + * @param {[{node: ASTNode, declarationType: string}]} nodes An array contains objects, each object contains a node and a declaration type. + * @param {string} type Declaration type. + * @returns {[ASTNode]} An array contains only nodes with declarations types equal to type. + */ +function getNodesByDeclarationType(nodes, type) { + return nodes + .filter(({ declarationType }) => declarationType === type) + .map(({ node }) => node); +} + +/** + * Returns the name of the module imported or re-exported. + * @param {ASTNode} node A node to get. + * @returns {string} The name of the module, or empty string if no name. */ +function getModule(node) { + if (node && node.source && node.source.value) { + return node.source.value.trim(); + } + return ""; +} /** - * Returns a function handling the imports of a given file + * Checks if the (import|export) can be merged with at least one import or one export, and reports if so. * @param {RuleContext} context The ESLint rule context object. + * @param {ASTNode} node A node to get. + * @param {Map} modules A Map object contains as a key a module name and as value an array contains objects, each object contains a node and a declaration type. + * @param {string} declarationType A declaration type can be an import or export. * @param {boolean} includeExports Whether or not to check for exports in addition to imports. - * @param {string[]} importsInFile The array containing other imports in the file. - * @param {string[]} exportsInFile The array containing other exports in the file. - * - * @returns {nodeCallback} A function passed to ESLint to handle the statement. + * @returns {void} No return value. */ -function handleImports(context, includeExports, importsInFile, exportsInFile) { - return function(node) { - const value = getValue(node); +function checkAndReport( + context, + node, + modules, + declarationType, + includeExports +) { + const module = getModule(node); - if (value) { - checkAndReport(context, node, value, importsInFile, "import"); + if (modules.has(module)) { + const previousNodes = modules.get(module); + const messagesIds = []; + const importNodes = getNodesByDeclarationType(previousNodes, "import"); + let exportNodes; + if (includeExports) { + exportNodes = getNodesByDeclarationType(previousNodes, "export"); + } + if (declarationType === "import") { + if (shouldReportImportExport(node, importNodes)) { + messagesIds.push("import"); + } if (includeExports) { - checkAndReport(context, node, value, exportsInFile, "importAs"); + if (shouldReportImportExport(node, exportNodes)) { + messagesIds.push("importAs"); + } + } + } else if (declarationType === "export") { + if (shouldReportImportExport(node, exportNodes)) { + messagesIds.push("export"); + } + if (shouldReportImportExport(node, importNodes)) { + messagesIds.push("exportAs"); } - - importsInFile.push(value); } - }; + messagesIds.forEach(messageId => + context.report({ + node, + messageId, + data: { + module + } + })); + } } /** - * Returns a function handling the exports of a given file + * @callback nodeCallback + * @param {ASTNode} node A node to handle. + */ + +/** + * Returns a function handling the (imports|exports) of a given file * @param {RuleContext} context The ESLint rule context object. - * @param {string[]} importsInFile The array containing other imports in the file. - * @param {string[]} exportsInFile The array containing other exports in the file. - * + * @param {Map} modules A Map object contains as a key a module name and as value an array contains objects, each object contains a node and a declaration type. + * @param {string} declarationType A declaration type can be an import or export. + * @param {boolean} includeExports Whether or not to check for exports in addition to imports. * @returns {nodeCallback} A function passed to ESLint to handle the statement. */ -function handleExports(context, importsInFile, exportsInFile) { +function handleImportsExports( + context, + modules, + declarationType, + includeExports +) { return function(node) { - const value = getValue(node); + const module = getModule(node); + + if (module) { + checkAndReport( + context, + node, + modules, + declarationType, + includeExports + ); + const currentNode = { node, declarationType }; + let nodes = [currentNode]; - if (value) { - checkAndReport(context, node, value, exportsInFile, "export"); - checkAndReport(context, node, value, importsInFile, "exportAs"); + if (modules.has(module)) { + const previousNodes = modules.get(module); - exportsInFile.push(value); + nodes = [...previousNodes, currentNode]; + } + modules.set(module, nodes); } }; } @@ -105,16 +238,19 @@ module.exports = { url: "https://eslint.org/docs/rules/no-duplicate-imports" }, - schema: [{ - type: "object", - properties: { - includeExports: { - type: "boolean", - default: false - } - }, - additionalProperties: false - }], + schema: [ + { + type: "object", + properties: { + includeExports: { + type: "boolean", + default: false + } + }, + additionalProperties: false + } + ], + messages: { import: "'{{module}}' import is duplicated.", importAs: "'{{module}}' import is duplicated as export.", @@ -125,18 +261,30 @@ module.exports = { create(context) { const includeExports = (context.options[0] || {}).includeExports, - importsInFile = [], - exportsInFile = []; - + modules = new Map(); const handlers = { - ImportDeclaration: handleImports(context, includeExports, importsInFile, exportsInFile) + ImportDeclaration: handleImportsExports( + context, + modules, + "import", + includeExports + ) }; if (includeExports) { - handlers.ExportNamedDeclaration = handleExports(context, importsInFile, exportsInFile); - handlers.ExportAllDeclaration = handleExports(context, importsInFile, exportsInFile); + handlers.ExportNamedDeclaration = handleImportsExports( + context, + modules, + "export", + includeExports + ); + handlers.ExportAllDeclaration = handleImportsExports( + context, + modules, + "export", + includeExports + ); } - return handlers; } }; diff --git a/tools/node_modules/eslint/lib/rules/no-implicit-coercion.js b/tools/node_modules/eslint/lib/rules/no-implicit-coercion.js index b9bb4548986c9d..993b8d1f1c8d44 100644 --- a/tools/node_modules/eslint/lib/rules/no-implicit-coercion.js +++ b/tools/node_modules/eslint/lib/rules/no-implicit-coercion.js @@ -109,6 +109,20 @@ function getNonNumericOperand(node) { return null; } +/** + * Checks whether an expression evaluates to a string. + * @param {ASTNode} node node that represents the expression to check. + * @returns {boolean} Whether or not the expression evaluates to a string. + */ +function isStringType(node) { + return astUtils.isStringLiteral(node) || + ( + node.type === "CallExpression" && + node.callee.type === "Identifier" && + node.callee.name === "String" + ); +} + /** * Checks whether a node is an empty string literal or not. * @param {ASTNode} node The node to check. @@ -126,8 +140,8 @@ function isEmptyString(node) { */ function isConcatWithEmptyString(node) { return node.operator === "+" && ( - (isEmptyString(node.left) && !astUtils.isStringLiteral(node.right)) || - (isEmptyString(node.right) && !astUtils.isStringLiteral(node.left)) + (isEmptyString(node.left) && !isStringType(node.right)) || + (isEmptyString(node.right) && !isStringType(node.left)) ); } @@ -332,6 +346,11 @@ module.exports = { return; } + // if the expression is already a string, then this isn't a coercion + if (isStringType(node.expressions[0])) { + return; + } + const code = sourceCode.getText(node.expressions[0]); const recommendation = `String(${code})`; diff --git a/tools/node_modules/eslint/lib/rules/no-unused-vars.js b/tools/node_modules/eslint/lib/rules/no-unused-vars.js index adf465905c2f81..f04818f8e9d597 100644 --- a/tools/node_modules/eslint/lib/rules/no-unused-vars.js +++ b/tools/node_modules/eslint/lib/rules/no-unused-vars.js @@ -449,18 +449,24 @@ module.exports = { return ref.isRead() && ( // self update. e.g. `a += 1`, `a++` - (// in RHS of an assignment for itself. e.g. `a = a + 1` - (( + ( + ( parent.type === "AssignmentExpression" && - isUnusedExpression(parent) && - parent.left === id + parent.left === id && + isUnusedExpression(parent) ) || + ( + parent.type === "UpdateExpression" && + isUnusedExpression(parent) + ) + ) || + + // in RHS of an assignment for itself. e.g. `a = a + 1` ( - parent.type === "UpdateExpression" && - isUnusedExpression(parent) - ) || rhsNode && - isInside(id, rhsNode) && - !isInsideOfStorableFunction(id, rhsNode))) + rhsNode && + isInside(id, rhsNode) && + !isInsideOfStorableFunction(id, rhsNode) + ) ); } diff --git a/tools/node_modules/eslint/node_modules/@eslint/eslintrc/node_modules/globals/globals.json b/tools/node_modules/eslint/node_modules/@eslint/eslintrc/node_modules/globals/globals.json deleted file mode 100644 index b85dc3f80d5148..00000000000000 --- a/tools/node_modules/eslint/node_modules/@eslint/eslintrc/node_modules/globals/globals.json +++ /dev/null @@ -1,1586 +0,0 @@ -{ - "builtin": { - "Array": false, - "ArrayBuffer": false, - "Atomics": false, - "BigInt": false, - "BigInt64Array": false, - "BigUint64Array": false, - "Boolean": false, - "constructor": false, - "DataView": false, - "Date": false, - "decodeURI": false, - "decodeURIComponent": false, - "encodeURI": false, - "encodeURIComponent": false, - "Error": false, - "escape": false, - "eval": false, - "EvalError": false, - "Float32Array": false, - "Float64Array": false, - "Function": false, - "globalThis": false, - "hasOwnProperty": false, - "Infinity": false, - "Int16Array": false, - "Int32Array": false, - "Int8Array": false, - "isFinite": false, - "isNaN": false, - "isPrototypeOf": false, - "JSON": false, - "Map": false, - "Math": false, - "NaN": false, - "Number": false, - "Object": false, - "parseFloat": false, - "parseInt": false, - "Promise": false, - "propertyIsEnumerable": false, - "Proxy": false, - "RangeError": false, - "ReferenceError": false, - "Reflect": false, - "RegExp": false, - "Set": false, - "SharedArrayBuffer": false, - "String": false, - "Symbol": false, - "SyntaxError": false, - "toLocaleString": false, - "toString": false, - "TypeError": false, - "Uint16Array": false, - "Uint32Array": false, - "Uint8Array": false, - "Uint8ClampedArray": false, - "undefined": false, - "unescape": false, - "URIError": false, - "valueOf": false, - "WeakMap": false, - "WeakSet": false - }, - "es5": { - "Array": false, - "Boolean": false, - "constructor": false, - "Date": false, - "decodeURI": false, - "decodeURIComponent": false, - "encodeURI": false, - "encodeURIComponent": false, - "Error": false, - "escape": false, - "eval": false, - "EvalError": false, - "Function": false, - "hasOwnProperty": false, - "Infinity": false, - "isFinite": false, - "isNaN": false, - "isPrototypeOf": false, - "JSON": false, - "Math": false, - "NaN": false, - "Number": false, - "Object": false, - "parseFloat": false, - "parseInt": false, - "propertyIsEnumerable": false, - "RangeError": false, - "ReferenceError": false, - "RegExp": false, - "String": false, - "SyntaxError": false, - "toLocaleString": false, - "toString": false, - "TypeError": false, - "undefined": false, - "unescape": false, - "URIError": false, - "valueOf": false - }, - "es2015": { - "Array": false, - "ArrayBuffer": false, - "Boolean": false, - "constructor": false, - "DataView": false, - "Date": false, - "decodeURI": false, - "decodeURIComponent": false, - "encodeURI": false, - "encodeURIComponent": false, - "Error": false, - "escape": false, - "eval": false, - "EvalError": false, - "Float32Array": false, - "Float64Array": false, - "Function": false, - "hasOwnProperty": false, - "Infinity": false, - "Int16Array": false, - "Int32Array": false, - "Int8Array": false, - "isFinite": false, - "isNaN": false, - "isPrototypeOf": false, - "JSON": false, - "Map": false, - "Math": false, - "NaN": false, - "Number": false, - "Object": false, - "parseFloat": false, - "parseInt": false, - "Promise": false, - "propertyIsEnumerable": false, - "Proxy": false, - "RangeError": false, - "ReferenceError": false, - "Reflect": false, - "RegExp": false, - "Set": false, - "String": false, - "Symbol": false, - "SyntaxError": false, - "toLocaleString": false, - "toString": false, - "TypeError": false, - "Uint16Array": false, - "Uint32Array": false, - "Uint8Array": false, - "Uint8ClampedArray": false, - "undefined": false, - "unescape": false, - "URIError": false, - "valueOf": false, - "WeakMap": false, - "WeakSet": false - }, - "es2017": { - "Array": false, - "ArrayBuffer": false, - "Atomics": false, - "Boolean": false, - "constructor": false, - "DataView": false, - "Date": false, - "decodeURI": false, - "decodeURIComponent": false, - "encodeURI": false, - "encodeURIComponent": false, - "Error": false, - "escape": false, - "eval": false, - "EvalError": false, - "Float32Array": false, - "Float64Array": false, - "Function": false, - "hasOwnProperty": false, - "Infinity": false, - "Int16Array": false, - "Int32Array": false, - "Int8Array": false, - "isFinite": false, - "isNaN": false, - "isPrototypeOf": false, - "JSON": false, - "Map": false, - "Math": false, - "NaN": false, - "Number": false, - "Object": false, - "parseFloat": false, - "parseInt": false, - "Promise": false, - "propertyIsEnumerable": false, - "Proxy": false, - "RangeError": false, - "ReferenceError": false, - "Reflect": false, - "RegExp": false, - "Set": false, - "SharedArrayBuffer": false, - "String": false, - "Symbol": false, - "SyntaxError": false, - "toLocaleString": false, - "toString": false, - "TypeError": false, - "Uint16Array": false, - "Uint32Array": false, - "Uint8Array": false, - "Uint8ClampedArray": false, - "undefined": false, - "unescape": false, - "URIError": false, - "valueOf": false, - "WeakMap": false, - "WeakSet": false - }, - "browser": { - "AbortController": false, - "AbortSignal": false, - "addEventListener": false, - "alert": false, - "AnalyserNode": false, - "Animation": false, - "AnimationEffectReadOnly": false, - "AnimationEffectTiming": false, - "AnimationEffectTimingReadOnly": false, - "AnimationEvent": false, - "AnimationPlaybackEvent": false, - "AnimationTimeline": false, - "applicationCache": false, - "ApplicationCache": false, - "ApplicationCacheErrorEvent": false, - "atob": false, - "Attr": false, - "Audio": false, - "AudioBuffer": false, - "AudioBufferSourceNode": false, - "AudioContext": false, - "AudioDestinationNode": false, - "AudioListener": false, - "AudioNode": false, - "AudioParam": false, - "AudioProcessingEvent": false, - "AudioScheduledSourceNode": false, - "AudioWorkletGlobalScope ": false, - "AudioWorkletNode": false, - "AudioWorkletProcessor": false, - "BarProp": false, - "BaseAudioContext": false, - "BatteryManager": false, - "BeforeUnloadEvent": false, - "BiquadFilterNode": false, - "Blob": false, - "BlobEvent": false, - "blur": false, - "BroadcastChannel": false, - "btoa": false, - "BudgetService": false, - "ByteLengthQueuingStrategy": false, - "Cache": false, - "caches": false, - "CacheStorage": false, - "cancelAnimationFrame": false, - "cancelIdleCallback": false, - "CanvasCaptureMediaStreamTrack": false, - "CanvasGradient": false, - "CanvasPattern": false, - "CanvasRenderingContext2D": false, - "ChannelMergerNode": false, - "ChannelSplitterNode": false, - "CharacterData": false, - "clearInterval": false, - "clearTimeout": false, - "clientInformation": false, - "ClipboardEvent": false, - "close": false, - "closed": false, - "CloseEvent": false, - "Comment": false, - "CompositionEvent": false, - "confirm": false, - "console": false, - "ConstantSourceNode": false, - "ConvolverNode": false, - "CountQueuingStrategy": false, - "createImageBitmap": false, - "Credential": false, - "CredentialsContainer": false, - "crypto": false, - "Crypto": false, - "CryptoKey": false, - "CSS": false, - "CSSConditionRule": false, - "CSSFontFaceRule": false, - "CSSGroupingRule": false, - "CSSImportRule": false, - "CSSKeyframeRule": false, - "CSSKeyframesRule": false, - "CSSMediaRule": false, - "CSSNamespaceRule": false, - "CSSPageRule": false, - "CSSRule": false, - "CSSRuleList": false, - "CSSStyleDeclaration": false, - "CSSStyleRule": false, - "CSSStyleSheet": false, - "CSSSupportsRule": false, - "CustomElementRegistry": false, - "customElements": false, - "CustomEvent": false, - "DataTransfer": false, - "DataTransferItem": false, - "DataTransferItemList": false, - "defaultstatus": false, - "defaultStatus": false, - "DelayNode": false, - "DeviceMotionEvent": false, - "DeviceOrientationEvent": false, - "devicePixelRatio": false, - "dispatchEvent": false, - "document": false, - "Document": false, - "DocumentFragment": false, - "DocumentType": false, - "DOMError": false, - "DOMException": false, - "DOMImplementation": false, - "DOMMatrix": false, - "DOMMatrixReadOnly": false, - "DOMParser": false, - "DOMPoint": false, - "DOMPointReadOnly": false, - "DOMQuad": false, - "DOMRect": false, - "DOMRectReadOnly": false, - "DOMStringList": false, - "DOMStringMap": false, - "DOMTokenList": false, - "DragEvent": false, - "DynamicsCompressorNode": false, - "Element": false, - "ErrorEvent": false, - "event": false, - "Event": false, - "EventSource": false, - "EventTarget": false, - "external": false, - "fetch": false, - "File": false, - "FileList": false, - "FileReader": false, - "find": false, - "focus": false, - "FocusEvent": false, - "FontFace": false, - "FontFaceSetLoadEvent": false, - "FormData": false, - "frameElement": false, - "frames": false, - "GainNode": false, - "Gamepad": false, - "GamepadButton": false, - "GamepadEvent": false, - "getComputedStyle": false, - "getSelection": false, - "HashChangeEvent": false, - "Headers": false, - "history": false, - "History": false, - "HTMLAllCollection": false, - "HTMLAnchorElement": false, - "HTMLAreaElement": false, - "HTMLAudioElement": false, - "HTMLBaseElement": false, - "HTMLBodyElement": false, - "HTMLBRElement": false, - "HTMLButtonElement": false, - "HTMLCanvasElement": false, - "HTMLCollection": false, - "HTMLContentElement": false, - "HTMLDataElement": false, - "HTMLDataListElement": false, - "HTMLDetailsElement": false, - "HTMLDialogElement": false, - "HTMLDirectoryElement": false, - "HTMLDivElement": false, - "HTMLDListElement": false, - "HTMLDocument": false, - "HTMLElement": false, - "HTMLEmbedElement": false, - "HTMLFieldSetElement": false, - "HTMLFontElement": false, - "HTMLFormControlsCollection": false, - "HTMLFormElement": false, - "HTMLFrameElement": false, - "HTMLFrameSetElement": false, - "HTMLHeadElement": false, - "HTMLHeadingElement": false, - "HTMLHRElement": false, - "HTMLHtmlElement": false, - "HTMLIFrameElement": false, - "HTMLImageElement": false, - "HTMLInputElement": false, - "HTMLLabelElement": false, - "HTMLLegendElement": false, - "HTMLLIElement": false, - "HTMLLinkElement": false, - "HTMLMapElement": false, - "HTMLMarqueeElement": false, - "HTMLMediaElement": false, - "HTMLMenuElement": false, - "HTMLMetaElement": false, - "HTMLMeterElement": false, - "HTMLModElement": false, - "HTMLObjectElement": false, - "HTMLOListElement": false, - "HTMLOptGroupElement": false, - "HTMLOptionElement": false, - "HTMLOptionsCollection": false, - "HTMLOutputElement": false, - "HTMLParagraphElement": false, - "HTMLParamElement": false, - "HTMLPictureElement": false, - "HTMLPreElement": false, - "HTMLProgressElement": false, - "HTMLQuoteElement": false, - "HTMLScriptElement": false, - "HTMLSelectElement": false, - "HTMLShadowElement": false, - "HTMLSlotElement": false, - "HTMLSourceElement": false, - "HTMLSpanElement": false, - "HTMLStyleElement": false, - "HTMLTableCaptionElement": false, - "HTMLTableCellElement": false, - "HTMLTableColElement": false, - "HTMLTableElement": false, - "HTMLTableRowElement": false, - "HTMLTableSectionElement": false, - "HTMLTemplateElement": false, - "HTMLTextAreaElement": false, - "HTMLTimeElement": false, - "HTMLTitleElement": false, - "HTMLTrackElement": false, - "HTMLUListElement": false, - "HTMLUnknownElement": false, - "HTMLVideoElement": false, - "IDBCursor": false, - "IDBCursorWithValue": false, - "IDBDatabase": false, - "IDBFactory": false, - "IDBIndex": false, - "IDBKeyRange": false, - "IDBObjectStore": false, - "IDBOpenDBRequest": false, - "IDBRequest": false, - "IDBTransaction": false, - "IDBVersionChangeEvent": false, - "IdleDeadline": false, - "IIRFilterNode": false, - "Image": false, - "ImageBitmap": false, - "ImageBitmapRenderingContext": false, - "ImageCapture": false, - "ImageData": false, - "indexedDB": false, - "innerHeight": false, - "innerWidth": false, - "InputEvent": false, - "IntersectionObserver": false, - "IntersectionObserverEntry": false, - "Intl": false, - "isSecureContext": false, - "KeyboardEvent": false, - "KeyframeEffect": false, - "KeyframeEffectReadOnly": false, - "length": false, - "localStorage": false, - "location": true, - "Location": false, - "locationbar": false, - "matchMedia": false, - "MediaDeviceInfo": false, - "MediaDevices": false, - "MediaElementAudioSourceNode": false, - "MediaEncryptedEvent": false, - "MediaError": false, - "MediaKeyMessageEvent": false, - "MediaKeySession": false, - "MediaKeyStatusMap": false, - "MediaKeySystemAccess": false, - "MediaList": false, - "MediaQueryList": false, - "MediaQueryListEvent": false, - "MediaRecorder": false, - "MediaSettingsRange": false, - "MediaSource": false, - "MediaStream": false, - "MediaStreamAudioDestinationNode": false, - "MediaStreamAudioSourceNode": false, - "MediaStreamEvent": false, - "MediaStreamTrack": false, - "MediaStreamTrackEvent": false, - "menubar": false, - "MessageChannel": false, - "MessageEvent": false, - "MessagePort": false, - "MIDIAccess": false, - "MIDIConnectionEvent": false, - "MIDIInput": false, - "MIDIInputMap": false, - "MIDIMessageEvent": false, - "MIDIOutput": false, - "MIDIOutputMap": false, - "MIDIPort": false, - "MimeType": false, - "MimeTypeArray": false, - "MouseEvent": false, - "moveBy": false, - "moveTo": false, - "MutationEvent": false, - "MutationObserver": false, - "MutationRecord": false, - "name": false, - "NamedNodeMap": false, - "NavigationPreloadManager": false, - "navigator": false, - "Navigator": false, - "NetworkInformation": false, - "Node": false, - "NodeFilter": false, - "NodeIterator": false, - "NodeList": false, - "Notification": false, - "OfflineAudioCompletionEvent": false, - "OfflineAudioContext": false, - "offscreenBuffering": false, - "OffscreenCanvas": true, - "onabort": true, - "onafterprint": true, - "onanimationend": true, - "onanimationiteration": true, - "onanimationstart": true, - "onappinstalled": true, - "onauxclick": true, - "onbeforeinstallprompt": true, - "onbeforeprint": true, - "onbeforeunload": true, - "onblur": true, - "oncancel": true, - "oncanplay": true, - "oncanplaythrough": true, - "onchange": true, - "onclick": true, - "onclose": true, - "oncontextmenu": true, - "oncuechange": true, - "ondblclick": true, - "ondevicemotion": true, - "ondeviceorientation": true, - "ondeviceorientationabsolute": true, - "ondrag": true, - "ondragend": true, - "ondragenter": true, - "ondragleave": true, - "ondragover": true, - "ondragstart": true, - "ondrop": true, - "ondurationchange": true, - "onemptied": true, - "onended": true, - "onerror": true, - "onfocus": true, - "ongotpointercapture": true, - "onhashchange": true, - "oninput": true, - "oninvalid": true, - "onkeydown": true, - "onkeypress": true, - "onkeyup": true, - "onlanguagechange": true, - "onload": true, - "onloadeddata": true, - "onloadedmetadata": true, - "onloadstart": true, - "onlostpointercapture": true, - "onmessage": true, - "onmessageerror": true, - "onmousedown": true, - "onmouseenter": true, - "onmouseleave": true, - "onmousemove": true, - "onmouseout": true, - "onmouseover": true, - "onmouseup": true, - "onmousewheel": true, - "onoffline": true, - "ononline": true, - "onpagehide": true, - "onpageshow": true, - "onpause": true, - "onplay": true, - "onplaying": true, - "onpointercancel": true, - "onpointerdown": true, - "onpointerenter": true, - "onpointerleave": true, - "onpointermove": true, - "onpointerout": true, - "onpointerover": true, - "onpointerup": true, - "onpopstate": true, - "onprogress": true, - "onratechange": true, - "onrejectionhandled": true, - "onreset": true, - "onresize": true, - "onscroll": true, - "onsearch": true, - "onseeked": true, - "onseeking": true, - "onselect": true, - "onstalled": true, - "onstorage": true, - "onsubmit": true, - "onsuspend": true, - "ontimeupdate": true, - "ontoggle": true, - "ontransitionend": true, - "onunhandledrejection": true, - "onunload": true, - "onvolumechange": true, - "onwaiting": true, - "onwheel": true, - "open": false, - "openDatabase": false, - "opener": false, - "Option": false, - "origin": false, - "OscillatorNode": false, - "outerHeight": false, - "outerWidth": false, - "PageTransitionEvent": false, - "pageXOffset": false, - "pageYOffset": false, - "PannerNode": false, - "parent": false, - "Path2D": false, - "PaymentAddress": false, - "PaymentRequest": false, - "PaymentRequestUpdateEvent": false, - "PaymentResponse": false, - "performance": false, - "Performance": false, - "PerformanceEntry": false, - "PerformanceLongTaskTiming": false, - "PerformanceMark": false, - "PerformanceMeasure": false, - "PerformanceNavigation": false, - "PerformanceNavigationTiming": false, - "PerformanceObserver": false, - "PerformanceObserverEntryList": false, - "PerformancePaintTiming": false, - "PerformanceResourceTiming": false, - "PerformanceTiming": false, - "PeriodicWave": false, - "Permissions": false, - "PermissionStatus": false, - "personalbar": false, - "PhotoCapabilities": false, - "Plugin": false, - "PluginArray": false, - "PointerEvent": false, - "PopStateEvent": false, - "postMessage": false, - "Presentation": false, - "PresentationAvailability": false, - "PresentationConnection": false, - "PresentationConnectionAvailableEvent": false, - "PresentationConnectionCloseEvent": false, - "PresentationConnectionList": false, - "PresentationReceiver": false, - "PresentationRequest": false, - "print": false, - "ProcessingInstruction": false, - "ProgressEvent": false, - "PromiseRejectionEvent": false, - "prompt": false, - "PushManager": false, - "PushSubscription": false, - "PushSubscriptionOptions": false, - "queueMicrotask": false, - "RadioNodeList": false, - "Range": false, - "ReadableStream": false, - "registerProcessor": false, - "RemotePlayback": false, - "removeEventListener": false, - "Request": false, - "requestAnimationFrame": false, - "requestIdleCallback": false, - "resizeBy": false, - "ResizeObserver": false, - "ResizeObserverEntry": false, - "resizeTo": false, - "Response": false, - "RTCCertificate": false, - "RTCDataChannel": false, - "RTCDataChannelEvent": false, - "RTCDtlsTransport": false, - "RTCIceCandidate": false, - "RTCIceGatherer": false, - "RTCIceTransport": false, - "RTCPeerConnection": false, - "RTCPeerConnectionIceEvent": false, - "RTCRtpContributingSource": false, - "RTCRtpReceiver": false, - "RTCRtpSender": false, - "RTCSctpTransport": false, - "RTCSessionDescription": false, - "RTCStatsReport": false, - "RTCTrackEvent": false, - "screen": false, - "Screen": false, - "screenLeft": false, - "ScreenOrientation": false, - "screenTop": false, - "screenX": false, - "screenY": false, - "ScriptProcessorNode": false, - "scroll": false, - "scrollbars": false, - "scrollBy": false, - "scrollTo": false, - "scrollX": false, - "scrollY": false, - "SecurityPolicyViolationEvent": false, - "Selection": false, - "self": false, - "ServiceWorker": false, - "ServiceWorkerContainer": false, - "ServiceWorkerRegistration": false, - "sessionStorage": false, - "setInterval": false, - "setTimeout": false, - "ShadowRoot": false, - "SharedWorker": false, - "SourceBuffer": false, - "SourceBufferList": false, - "speechSynthesis": false, - "SpeechSynthesisEvent": false, - "SpeechSynthesisUtterance": false, - "StaticRange": false, - "status": false, - "statusbar": false, - "StereoPannerNode": false, - "stop": false, - "Storage": false, - "StorageEvent": false, - "StorageManager": false, - "styleMedia": false, - "StyleSheet": false, - "StyleSheetList": false, - "SubtleCrypto": false, - "SVGAElement": false, - "SVGAngle": false, - "SVGAnimatedAngle": false, - "SVGAnimatedBoolean": false, - "SVGAnimatedEnumeration": false, - "SVGAnimatedInteger": false, - "SVGAnimatedLength": false, - "SVGAnimatedLengthList": false, - "SVGAnimatedNumber": false, - "SVGAnimatedNumberList": false, - "SVGAnimatedPreserveAspectRatio": false, - "SVGAnimatedRect": false, - "SVGAnimatedString": false, - "SVGAnimatedTransformList": false, - "SVGAnimateElement": false, - "SVGAnimateMotionElement": false, - "SVGAnimateTransformElement": false, - "SVGAnimationElement": false, - "SVGCircleElement": false, - "SVGClipPathElement": false, - "SVGComponentTransferFunctionElement": false, - "SVGDefsElement": false, - "SVGDescElement": false, - "SVGDiscardElement": false, - "SVGElement": false, - "SVGEllipseElement": false, - "SVGFEBlendElement": false, - "SVGFEColorMatrixElement": false, - "SVGFEComponentTransferElement": false, - "SVGFECompositeElement": false, - "SVGFEConvolveMatrixElement": false, - "SVGFEDiffuseLightingElement": false, - "SVGFEDisplacementMapElement": false, - "SVGFEDistantLightElement": false, - "SVGFEDropShadowElement": false, - "SVGFEFloodElement": false, - "SVGFEFuncAElement": false, - "SVGFEFuncBElement": false, - "SVGFEFuncGElement": false, - "SVGFEFuncRElement": false, - "SVGFEGaussianBlurElement": false, - "SVGFEImageElement": false, - "SVGFEMergeElement": false, - "SVGFEMergeNodeElement": false, - "SVGFEMorphologyElement": false, - "SVGFEOffsetElement": false, - "SVGFEPointLightElement": false, - "SVGFESpecularLightingElement": false, - "SVGFESpotLightElement": false, - "SVGFETileElement": false, - "SVGFETurbulenceElement": false, - "SVGFilterElement": false, - "SVGForeignObjectElement": false, - "SVGGElement": false, - "SVGGeometryElement": false, - "SVGGradientElement": false, - "SVGGraphicsElement": false, - "SVGImageElement": false, - "SVGLength": false, - "SVGLengthList": false, - "SVGLinearGradientElement": false, - "SVGLineElement": false, - "SVGMarkerElement": false, - "SVGMaskElement": false, - "SVGMatrix": false, - "SVGMetadataElement": false, - "SVGMPathElement": false, - "SVGNumber": false, - "SVGNumberList": false, - "SVGPathElement": false, - "SVGPatternElement": false, - "SVGPoint": false, - "SVGPointList": false, - "SVGPolygonElement": false, - "SVGPolylineElement": false, - "SVGPreserveAspectRatio": false, - "SVGRadialGradientElement": false, - "SVGRect": false, - "SVGRectElement": false, - "SVGScriptElement": false, - "SVGSetElement": false, - "SVGStopElement": false, - "SVGStringList": false, - "SVGStyleElement": false, - "SVGSVGElement": false, - "SVGSwitchElement": false, - "SVGSymbolElement": false, - "SVGTextContentElement": false, - "SVGTextElement": false, - "SVGTextPathElement": false, - "SVGTextPositioningElement": false, - "SVGTitleElement": false, - "SVGTransform": false, - "SVGTransformList": false, - "SVGTSpanElement": false, - "SVGUnitTypes": false, - "SVGUseElement": false, - "SVGViewElement": false, - "TaskAttributionTiming": false, - "Text": false, - "TextDecoder": false, - "TextEncoder": false, - "TextEvent": false, - "TextMetrics": false, - "TextTrack": false, - "TextTrackCue": false, - "TextTrackCueList": false, - "TextTrackList": false, - "TimeRanges": false, - "toolbar": false, - "top": false, - "Touch": false, - "TouchEvent": false, - "TouchList": false, - "TrackEvent": false, - "TransitionEvent": false, - "TreeWalker": false, - "UIEvent": false, - "URL": false, - "URLSearchParams": false, - "ValidityState": false, - "visualViewport": false, - "VisualViewport": false, - "VTTCue": false, - "WaveShaperNode": false, - "WebAssembly": false, - "WebGL2RenderingContext": false, - "WebGLActiveInfo": false, - "WebGLBuffer": false, - "WebGLContextEvent": false, - "WebGLFramebuffer": false, - "WebGLProgram": false, - "WebGLQuery": false, - "WebGLRenderbuffer": false, - "WebGLRenderingContext": false, - "WebGLSampler": false, - "WebGLShader": false, - "WebGLShaderPrecisionFormat": false, - "WebGLSync": false, - "WebGLTexture": false, - "WebGLTransformFeedback": false, - "WebGLUniformLocation": false, - "WebGLVertexArrayObject": false, - "WebSocket": false, - "WheelEvent": false, - "window": false, - "Window": false, - "Worker": false, - "WritableStream": false, - "XMLDocument": false, - "XMLHttpRequest": false, - "XMLHttpRequestEventTarget": false, - "XMLHttpRequestUpload": false, - "XMLSerializer": false, - "XPathEvaluator": false, - "XPathExpression": false, - "XPathResult": false, - "XSLTProcessor": false - }, - "worker": { - "addEventListener": false, - "applicationCache": false, - "atob": false, - "Blob": false, - "BroadcastChannel": false, - "btoa": false, - "Cache": false, - "caches": false, - "clearInterval": false, - "clearTimeout": false, - "close": true, - "console": false, - "fetch": false, - "FileReaderSync": false, - "FormData": false, - "Headers": false, - "IDBCursor": false, - "IDBCursorWithValue": false, - "IDBDatabase": false, - "IDBFactory": false, - "IDBIndex": false, - "IDBKeyRange": false, - "IDBObjectStore": false, - "IDBOpenDBRequest": false, - "IDBRequest": false, - "IDBTransaction": false, - "IDBVersionChangeEvent": false, - "ImageData": false, - "importScripts": true, - "indexedDB": false, - "location": false, - "MessageChannel": false, - "MessagePort": false, - "name": false, - "navigator": false, - "Notification": false, - "onclose": true, - "onconnect": true, - "onerror": true, - "onlanguagechange": true, - "onmessage": true, - "onoffline": true, - "ononline": true, - "onrejectionhandled": true, - "onunhandledrejection": true, - "performance": false, - "Performance": false, - "PerformanceEntry": false, - "PerformanceMark": false, - "PerformanceMeasure": false, - "PerformanceNavigation": false, - "PerformanceResourceTiming": false, - "PerformanceTiming": false, - "postMessage": true, - "Promise": false, - "queueMicrotask": false, - "removeEventListener": false, - "Request": false, - "Response": false, - "self": true, - "ServiceWorkerRegistration": false, - "setInterval": false, - "setTimeout": false, - "TextDecoder": false, - "TextEncoder": false, - "URL": false, - "URLSearchParams": false, - "WebSocket": false, - "Worker": false, - "WorkerGlobalScope": false, - "XMLHttpRequest": false - }, - "node": { - "__dirname": false, - "__filename": false, - "Buffer": false, - "clearImmediate": false, - "clearInterval": false, - "clearTimeout": false, - "console": false, - "exports": true, - "global": false, - "Intl": false, - "module": false, - "process": false, - "queueMicrotask": false, - "require": false, - "setImmediate": false, - "setInterval": false, - "setTimeout": false, - "TextDecoder": false, - "TextEncoder": false, - "URL": false, - "URLSearchParams": false - }, - "nodeBuiltin": { - "Buffer": false, - "clearImmediate": false, - "clearInterval": false, - "clearTimeout": false, - "console": false, - "global": false, - "Intl": false, - "process": false, - "queueMicrotask": false, - "setImmediate": false, - "setInterval": false, - "setTimeout": false, - "TextDecoder": false, - "TextEncoder": false, - "URL": false, - "URLSearchParams": false - }, - "commonjs": { - "exports": true, - "global": false, - "module": false, - "require": false - }, - "amd": { - "define": false, - "require": false - }, - "mocha": { - "after": false, - "afterEach": false, - "before": false, - "beforeEach": false, - "context": false, - "describe": false, - "it": false, - "mocha": false, - "run": false, - "setup": false, - "specify": false, - "suite": false, - "suiteSetup": false, - "suiteTeardown": false, - "teardown": false, - "test": false, - "xcontext": false, - "xdescribe": false, - "xit": false, - "xspecify": false - }, - "jasmine": { - "afterAll": false, - "afterEach": false, - "beforeAll": false, - "beforeEach": false, - "describe": false, - "expect": false, - "expectAsync": false, - "fail": false, - "fdescribe": false, - "fit": false, - "it": false, - "jasmine": false, - "pending": false, - "runs": false, - "spyOn": false, - "spyOnAllFunctions": false, - "spyOnProperty": false, - "waits": false, - "waitsFor": false, - "xdescribe": false, - "xit": false - }, - "jest": { - "afterAll": false, - "afterEach": false, - "beforeAll": false, - "beforeEach": false, - "describe": false, - "expect": false, - "fdescribe": false, - "fit": false, - "it": false, - "jest": false, - "pit": false, - "require": false, - "test": false, - "xdescribe": false, - "xit": false, - "xtest": false - }, - "qunit": { - "asyncTest": false, - "deepEqual": false, - "equal": false, - "expect": false, - "module": false, - "notDeepEqual": false, - "notEqual": false, - "notOk": false, - "notPropEqual": false, - "notStrictEqual": false, - "ok": false, - "propEqual": false, - "QUnit": false, - "raises": false, - "start": false, - "stop": false, - "strictEqual": false, - "test": false, - "throws": false - }, - "phantomjs": { - "console": true, - "exports": true, - "phantom": true, - "require": true, - "WebPage": true - }, - "couch": { - "emit": false, - "exports": false, - "getRow": false, - "log": false, - "module": false, - "provides": false, - "require": false, - "respond": false, - "send": false, - "start": false, - "sum": false - }, - "rhino": { - "defineClass": false, - "deserialize": false, - "gc": false, - "help": false, - "importClass": false, - "importPackage": false, - "java": false, - "load": false, - "loadClass": false, - "Packages": false, - "print": false, - "quit": false, - "readFile": false, - "readUrl": false, - "runCommand": false, - "seal": false, - "serialize": false, - "spawn": false, - "sync": false, - "toint32": false, - "version": false - }, - "nashorn": { - "__DIR__": false, - "__FILE__": false, - "__LINE__": false, - "com": false, - "edu": false, - "exit": false, - "java": false, - "Java": false, - "javafx": false, - "JavaImporter": false, - "javax": false, - "JSAdapter": false, - "load": false, - "loadWithNewGlobal": false, - "org": false, - "Packages": false, - "print": false, - "quit": false - }, - "wsh": { - "ActiveXObject": true, - "CollectGarbage": true, - "Debug": true, - "Enumerator": true, - "GetObject": true, - "RuntimeObject": true, - "ScriptEngine": true, - "ScriptEngineBuildVersion": true, - "ScriptEngineMajorVersion": true, - "ScriptEngineMinorVersion": true, - "VBArray": true, - "WScript": true, - "WSH": true, - "XDomainRequest": true - }, - "jquery": { - "$": false, - "jQuery": false - }, - "yui": { - "YAHOO": false, - "YAHOO_config": false, - "YUI": false, - "YUI_config": false - }, - "shelljs": { - "cat": false, - "cd": false, - "chmod": false, - "config": false, - "cp": false, - "dirs": false, - "echo": false, - "env": false, - "error": false, - "exec": false, - "exit": false, - "find": false, - "grep": false, - "ln": false, - "ls": false, - "mkdir": false, - "mv": false, - "popd": false, - "pushd": false, - "pwd": false, - "rm": false, - "sed": false, - "set": false, - "target": false, - "tempdir": false, - "test": false, - "touch": false, - "which": false - }, - "prototypejs": { - "$": false, - "$$": false, - "$A": false, - "$break": false, - "$continue": false, - "$F": false, - "$H": false, - "$R": false, - "$w": false, - "Abstract": false, - "Ajax": false, - "Autocompleter": false, - "Builder": false, - "Class": false, - "Control": false, - "Draggable": false, - "Draggables": false, - "Droppables": false, - "Effect": false, - "Element": false, - "Enumerable": false, - "Event": false, - "Field": false, - "Form": false, - "Hash": false, - "Insertion": false, - "ObjectRange": false, - "PeriodicalExecuter": false, - "Position": false, - "Prototype": false, - "Scriptaculous": false, - "Selector": false, - "Sortable": false, - "SortableObserver": false, - "Sound": false, - "Template": false, - "Toggle": false, - "Try": false - }, - "meteor": { - "_": false, - "$": false, - "Accounts": false, - "AccountsClient": false, - "AccountsCommon": false, - "AccountsServer": false, - "App": false, - "Assets": false, - "Blaze": false, - "check": false, - "Cordova": false, - "DDP": false, - "DDPRateLimiter": false, - "DDPServer": false, - "Deps": false, - "EJSON": false, - "Email": false, - "HTTP": false, - "Log": false, - "Match": false, - "Meteor": false, - "Mongo": false, - "MongoInternals": false, - "Npm": false, - "Package": false, - "Plugin": false, - "process": false, - "Random": false, - "ReactiveDict": false, - "ReactiveVar": false, - "Router": false, - "ServiceConfiguration": false, - "Session": false, - "share": false, - "Spacebars": false, - "Template": false, - "Tinytest": false, - "Tracker": false, - "UI": false, - "Utils": false, - "WebApp": false, - "WebAppInternals": false - }, - "mongo": { - "_isWindows": false, - "_rand": false, - "BulkWriteResult": false, - "cat": false, - "cd": false, - "connect": false, - "db": false, - "getHostName": false, - "getMemInfo": false, - "hostname": false, - "ISODate": false, - "listFiles": false, - "load": false, - "ls": false, - "md5sumFile": false, - "mkdir": false, - "Mongo": false, - "NumberInt": false, - "NumberLong": false, - "ObjectId": false, - "PlanCache": false, - "print": false, - "printjson": false, - "pwd": false, - "quit": false, - "removeFile": false, - "rs": false, - "sh": false, - "UUID": false, - "version": false, - "WriteResult": false - }, - "applescript": { - "$": false, - "Application": false, - "Automation": false, - "console": false, - "delay": false, - "Library": false, - "ObjC": false, - "ObjectSpecifier": false, - "Path": false, - "Progress": false, - "Ref": false - }, - "serviceworker": { - "addEventListener": false, - "applicationCache": false, - "atob": false, - "Blob": false, - "BroadcastChannel": false, - "btoa": false, - "Cache": false, - "caches": false, - "CacheStorage": false, - "clearInterval": false, - "clearTimeout": false, - "Client": false, - "clients": false, - "Clients": false, - "close": true, - "console": false, - "ExtendableEvent": false, - "ExtendableMessageEvent": false, - "fetch": false, - "FetchEvent": false, - "FileReaderSync": false, - "FormData": false, - "Headers": false, - "IDBCursor": false, - "IDBCursorWithValue": false, - "IDBDatabase": false, - "IDBFactory": false, - "IDBIndex": false, - "IDBKeyRange": false, - "IDBObjectStore": false, - "IDBOpenDBRequest": false, - "IDBRequest": false, - "IDBTransaction": false, - "IDBVersionChangeEvent": false, - "ImageData": false, - "importScripts": false, - "indexedDB": false, - "location": false, - "MessageChannel": false, - "MessagePort": false, - "name": false, - "navigator": false, - "Notification": false, - "onclose": true, - "onconnect": true, - "onerror": true, - "onfetch": true, - "oninstall": true, - "onlanguagechange": true, - "onmessage": true, - "onmessageerror": true, - "onnotificationclick": true, - "onnotificationclose": true, - "onoffline": true, - "ononline": true, - "onpush": true, - "onpushsubscriptionchange": true, - "onrejectionhandled": true, - "onsync": true, - "onunhandledrejection": true, - "performance": false, - "Performance": false, - "PerformanceEntry": false, - "PerformanceMark": false, - "PerformanceMeasure": false, - "PerformanceNavigation": false, - "PerformanceResourceTiming": false, - "PerformanceTiming": false, - "postMessage": true, - "Promise": false, - "queueMicrotask": false, - "registration": false, - "removeEventListener": false, - "Request": false, - "Response": false, - "self": false, - "ServiceWorker": false, - "ServiceWorkerContainer": false, - "ServiceWorkerGlobalScope": false, - "ServiceWorkerMessageEvent": false, - "ServiceWorkerRegistration": false, - "setInterval": false, - "setTimeout": false, - "skipWaiting": false, - "TextDecoder": false, - "TextEncoder": false, - "URL": false, - "URLSearchParams": false, - "WebSocket": false, - "WindowClient": false, - "Worker": false, - "WorkerGlobalScope": false, - "XMLHttpRequest": false - }, - "atomtest": { - "advanceClock": false, - "fakeClearInterval": false, - "fakeClearTimeout": false, - "fakeSetInterval": false, - "fakeSetTimeout": false, - "resetTimeouts": false, - "waitsForPromise": false - }, - "embertest": { - "andThen": false, - "click": false, - "currentPath": false, - "currentRouteName": false, - "currentURL": false, - "fillIn": false, - "find": false, - "findAll": false, - "findWithAssert": false, - "keyEvent": false, - "pauseTest": false, - "resumeTest": false, - "triggerEvent": false, - "visit": false, - "wait": false - }, - "protractor": { - "$": false, - "$$": false, - "browser": false, - "by": false, - "By": false, - "DartObject": false, - "element": false, - "protractor": false - }, - "shared-node-browser": { - "clearInterval": false, - "clearTimeout": false, - "console": false, - "setInterval": false, - "setTimeout": false, - "URL": false, - "URLSearchParams": false - }, - "webextensions": { - "browser": false, - "chrome": false, - "opr": false - }, - "greasemonkey": { - "cloneInto": false, - "createObjectIn": false, - "exportFunction": false, - "GM": false, - "GM_addStyle": false, - "GM_deleteValue": false, - "GM_getResourceText": false, - "GM_getResourceURL": false, - "GM_getValue": false, - "GM_info": false, - "GM_listValues": false, - "GM_log": false, - "GM_openInTab": false, - "GM_registerMenuCommand": false, - "GM_setClipboard": false, - "GM_setValue": false, - "GM_xmlhttpRequest": false, - "unsafeWindow": false - }, - "devtools": { - "$": false, - "$_": false, - "$$": false, - "$0": false, - "$1": false, - "$2": false, - "$3": false, - "$4": false, - "$x": false, - "chrome": false, - "clear": false, - "copy": false, - "debug": false, - "dir": false, - "dirxml": false, - "getEventListeners": false, - "inspect": false, - "keys": false, - "monitor": false, - "monitorEvents": false, - "profile": false, - "profileEnd": false, - "queryObjects": false, - "table": false, - "undebug": false, - "unmonitor": false, - "unmonitorEvents": false, - "values": false - } -} diff --git a/tools/node_modules/eslint/node_modules/@eslint/eslintrc/node_modules/globals/index.js b/tools/node_modules/eslint/node_modules/@eslint/eslintrc/node_modules/globals/index.js deleted file mode 100644 index a951582e4176e8..00000000000000 --- a/tools/node_modules/eslint/node_modules/@eslint/eslintrc/node_modules/globals/index.js +++ /dev/null @@ -1,2 +0,0 @@ -'use strict'; -module.exports = require('./globals.json'); diff --git a/tools/node_modules/eslint/node_modules/@eslint/eslintrc/node_modules/globals/license b/tools/node_modules/eslint/node_modules/@eslint/eslintrc/node_modules/globals/license deleted file mode 100644 index fa7ceba3eb4a96..00000000000000 --- a/tools/node_modules/eslint/node_modules/@eslint/eslintrc/node_modules/globals/license +++ /dev/null @@ -1,9 +0,0 @@ -MIT License - -Copyright (c) Sindre Sorhus (https://sindresorhus.com) - -Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: - -The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. diff --git a/tools/node_modules/eslint/node_modules/@eslint/eslintrc/node_modules/globals/package.json b/tools/node_modules/eslint/node_modules/@eslint/eslintrc/node_modules/globals/package.json deleted file mode 100644 index 1569748ef90c16..00000000000000 --- a/tools/node_modules/eslint/node_modules/@eslint/eslintrc/node_modules/globals/package.json +++ /dev/null @@ -1,52 +0,0 @@ -{ - "name": "globals", - "version": "12.4.0", - "description": "Global identifiers from different JavaScript environments", - "license": "MIT", - "repository": "sindresorhus/globals", - "funding": "https://github.com/sponsors/sindresorhus", - "author": { - "name": "Sindre Sorhus", - "email": "sindresorhus@gmail.com", - "url": "https://sindresorhus.com" - }, - "engines": { - "node": ">=8" - }, - "scripts": { - "test": "xo && ava" - }, - "files": [ - "index.js", - "index.d.ts", - "globals.json" - ], - "keywords": [ - "globals", - "global", - "identifiers", - "variables", - "vars", - "jshint", - "eslint", - "environments" - ], - "dependencies": { - "type-fest": "^0.8.1" - }, - "devDependencies": { - "ava": "^2.2.0", - "tsd": "^0.9.0", - "xo": "^0.25.3" - }, - "xo": { - "ignores": [ - "get-browser-globals.js" - ] - }, - "tsd": { - "compilerOptions": { - "resolveJsonModule": true - } - } -} diff --git a/tools/node_modules/eslint/node_modules/@eslint/eslintrc/node_modules/globals/readme.md b/tools/node_modules/eslint/node_modules/@eslint/eslintrc/node_modules/globals/readme.md deleted file mode 100644 index fdcfa087ab1107..00000000000000 --- a/tools/node_modules/eslint/node_modules/@eslint/eslintrc/node_modules/globals/readme.md +++ /dev/null @@ -1,56 +0,0 @@ -# globals [![Build Status](https://travis-ci.org/sindresorhus/globals.svg?branch=master)](https://travis-ci.org/sindresorhus/globals) - -> Global identifiers from different JavaScript environments - -Extracted from [JSHint](https://github.com/jshint/jshint/blob/3a8efa979dbb157bfb5c10b5826603a55a33b9ad/src/vars.js) and [ESLint](https://github.com/eslint/eslint/blob/b648406218f8a2d7302b98f5565e23199f44eb31/conf/environments.json) and merged. - -It's just a [JSON file](globals.json), so use it in whatever environment you like. - -**This module [no longer accepts](https://github.com/sindresorhus/globals/issues/82) new environments. If you need it for ESLint, just [create a plugin](http://eslint.org/docs/developer-guide/working-with-plugins#environments-in-plugins).** - -## Install - -``` -$ npm install globals -``` - -## Usage - -```js -const globals = require('globals'); - -console.log(globals.browser); -/* -{ - addEventListener: false, - applicationCache: false, - ArrayBuffer: false, - atob: false, - … -} -*/ -``` - -Each global is given a value of `true` or `false`. A value of `true` indicates that the variable may be overwritten. A value of `false` indicates that the variable should be considered read-only. This information is used by static analysis tools to flag incorrect behavior. We assume all variables should be `false` unless we hear otherwise. - -For Node.js this package provides two sets of globals: - -- `globals.nodeBuiltin`: Globals available to all code running in Node.js. - These will usually be available as properties on the `global` object and include `process`, `Buffer`, but not CommonJS arguments like `require`. - See: https://nodejs.org/api/globals.html -- `globals.node`: A combination of the globals from `nodeBuiltin` plus all CommonJS arguments ("CommonJS module scope"). - See: https://nodejs.org/api/modules.html#modules_the_module_scope - -When analyzing code that is known to run outside of a CommonJS wrapper, for example, JavaScript modules, `nodeBuiltin` can find accidental CommonJS references. - ---- - -
    - - Get professional support for this package with a Tidelift subscription - -
    - - Tidelift helps make open source sustainable for maintainers while giving companies
    assurances about security, maintenance, and licensing for their dependencies. -
    -
    diff --git a/tools/node_modules/eslint/node_modules/@eslint/eslintrc/node_modules/type-fest/license b/tools/node_modules/eslint/node_modules/@eslint/eslintrc/node_modules/type-fest/license deleted file mode 100644 index e7af2f77107d73..00000000000000 --- a/tools/node_modules/eslint/node_modules/@eslint/eslintrc/node_modules/type-fest/license +++ /dev/null @@ -1,9 +0,0 @@ -MIT License - -Copyright (c) Sindre Sorhus (sindresorhus.com) - -Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: - -The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. diff --git a/tools/node_modules/eslint/node_modules/@eslint/eslintrc/node_modules/type-fest/package.json b/tools/node_modules/eslint/node_modules/@eslint/eslintrc/node_modules/type-fest/package.json deleted file mode 100644 index ea6621129dc660..00000000000000 --- a/tools/node_modules/eslint/node_modules/@eslint/eslintrc/node_modules/type-fest/package.json +++ /dev/null @@ -1,51 +0,0 @@ -{ - "name": "type-fest", - "version": "0.8.1", - "description": "A collection of essential TypeScript types", - "license": "(MIT OR CC0-1.0)", - "repository": "sindresorhus/type-fest", - "author": { - "name": "Sindre Sorhus", - "email": "sindresorhus@gmail.com", - "url": "sindresorhus.com" - }, - "engines": { - "node": ">=8" - }, - "scripts": { - "test": "xo && tsd" - }, - "files": [ - "index.d.ts", - "source" - ], - "keywords": [ - "typescript", - "ts", - "types", - "utility", - "util", - "utilities", - "omit", - "merge", - "json" - ], - "devDependencies": { - "@sindresorhus/tsconfig": "^0.4.0", - "@typescript-eslint/eslint-plugin": "^2.2.0", - "@typescript-eslint/parser": "^2.2.0", - "eslint-config-xo-typescript": "^0.18.0", - "tsd": "^0.7.3", - "xo": "^0.24.0" - }, - "xo": { - "extends": "xo-typescript", - "extensions": [ - "ts" - ], - "rules": { - "import/no-unresolved": "off", - "@typescript-eslint/indent": "off" - } - } -} diff --git a/tools/node_modules/eslint/node_modules/@eslint/eslintrc/node_modules/type-fest/readme.md b/tools/node_modules/eslint/node_modules/@eslint/eslintrc/node_modules/type-fest/readme.md deleted file mode 100644 index 1824bdabedecaa..00000000000000 --- a/tools/node_modules/eslint/node_modules/@eslint/eslintrc/node_modules/type-fest/readme.md +++ /dev/null @@ -1,635 +0,0 @@ -
    -
    -
    - type-fest -
    -
    - A collection of essential TypeScript types -
    -
    -
    -
    -
    - -[![Build Status](https://travis-ci.com/sindresorhus/type-fest.svg?branch=master)](https://travis-ci.com/sindresorhus/type-fest) -[![](https://img.shields.io/badge/unicorn-approved-ff69b4.svg)](https://www.youtube.com/watch?v=9auOCbH5Ns4) - - -Many of the types here should have been built-in. You can help by suggesting some of them to the [TypeScript project](https://github.com/Microsoft/TypeScript/blob/master/CONTRIBUTING.md). - -Either add this package as a dependency or copy-paste the needed types. No credit required. 👌 - -PR welcome for additional commonly needed types and docs improvements. Read the [contributing guidelines](.github/contributing.md) first. - - -## Install - -``` -$ npm install type-fest -``` - -*Requires TypeScript >=3.2* - - -## Usage - -```ts -import {Except} from 'type-fest'; - -type Foo = { - unicorn: string; - rainbow: boolean; -}; - -type FooWithoutRainbow = Except; -//=> {unicorn: string} -``` - - -## API - -Click the type names for complete docs. - -### Basic - -- [`Primitive`](source/basic.d.ts) - Matches any [primitive value](https://developer.mozilla.org/en-US/docs/Glossary/Primitive). -- [`Class`](source/basic.d.ts) - Matches a [`class` constructor](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Classes). -- [`TypedArray`](source/basic.d.ts) - Matches any [typed array](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/TypedArray), like `Uint8Array` or `Float64Array`. -- [`JsonObject`](source/basic.d.ts) - Matches a JSON object. -- [`JsonArray`](source/basic.d.ts) - Matches a JSON array. -- [`JsonValue`](source/basic.d.ts) - Matches any valid JSON value. -- [`ObservableLike`](source/basic.d.ts) - Matches a value that is like an [Observable](https://github.com/tc39/proposal-observable). - -### Utilities - -- [`Except`](source/except.d.ts) - Create a type from an object type without certain keys. This is a stricter version of [`Omit`](https://www.typescriptlang.org/docs/handbook/release-notes/typescript-3-5.html#the-omit-helper-type). -- [`Mutable`](source/mutable.d.ts) - Convert an object with `readonly` keys into a mutable object. The inverse of `Readonly`. -- [`Merge`](source/merge.d.ts) - Merge two types into a new type. Keys of the second type overrides keys of the first type. -- [`MergeExclusive`](source/merge-exclusive.d.ts) - Create a type that has mutually exclusive keys. -- [`RequireAtLeastOne`](source/require-at-least-one.d.ts) - Create a type that requires at least one of the given keys. -- [`RequireExactlyOne`](source/require-one.d.ts) - Create a type that requires exactly a single key of the given keys and disallows more. -- [`PartialDeep`](source/partial-deep.d.ts) - Create a deeply optional version of another type. Use [`Partial`](https://github.com/Microsoft/TypeScript/blob/2961bc3fc0ea1117d4e53bc8e97fa76119bc33e3/src/lib/es5.d.ts#L1401-L1406) if you only need one level deep. -- [`ReadonlyDeep`](source/readonly-deep.d.ts) - Create a deeply immutable version of an `object`/`Map`/`Set`/`Array` type. Use [`Readonly`](https://github.com/Microsoft/TypeScript/blob/2961bc3fc0ea1117d4e53bc8e97fa76119bc33e3/src/lib/es5.d.ts#L1415-L1420) if you only need one level deep. -- [`LiteralUnion`](source/literal-union.d.ts) - Create a union type by combining primitive types and literal types without sacrificing auto-completion in IDEs for the literal type part of the union. Workaround for [Microsoft/TypeScript#29729](https://github.com/Microsoft/TypeScript/issues/29729). -- [`Promisable`](source/promisable.d.ts) - Create a type that represents either the value or the value wrapped in `PromiseLike`. -- [`Opaque`](source/opaque.d.ts) - Create an [opaque type](https://codemix.com/opaque-types-in-javascript/). -- [`SetOptional`](source/set-optional.d.ts) - Create a type that makes the given keys optional. -- [`SetRequired`](source/set-required.d.ts) - Create a type that makes the given keys required. - -### Miscellaneous - -- [`PackageJson`](source/package-json.d.ts) - Type for [npm's `package.json` file](https://docs.npmjs.com/creating-a-package-json-file). - - -## Declined types - -*If we decline a type addition, we will make sure to document the better solution here.* - -- [`Diff` and `Spread`](https://github.com/sindresorhus/type-fest/pull/7) - The PR author didn't provide any real-world use-cases and the PR went stale. If you think this type is useful, provide some real-world use-cases and we might reconsider. -- [`Dictionary`](https://github.com/sindresorhus/type-fest/issues/33) - You only save a few characters (`Dictionary` vs `Record`) from [`Record`](https://github.com/Microsoft/TypeScript/blob/2961bc3fc0ea1117d4e53bc8e97fa76119bc33e3/src/lib/es5.d.ts#L1429-L1434), which is more flexible and well-known. Also, you shouldn't use an object as a dictionary. We have `Map` in JavaScript now. - - -## Tips - -### Built-in types - -There are many advanced types most users don't know about. - -- [`Partial`](https://github.com/Microsoft/TypeScript/blob/2961bc3fc0ea1117d4e53bc8e97fa76119bc33e3/src/lib/es5.d.ts#L1401-L1406) - Make all properties in `T` optional. -
    - - Example - - - [Playground](https://typescript-play.js.org/?target=6#code/KYOwrgtgBAMg9gcxsAbsANlA3gKClAeQDMiAaPKAEWACMwFz8BRAJxbhcagDEBDAF17ocAXxw4AliH7AWRXgGNgUAHJwAJsADCcEEQkJsFXgAcTK3hGAAuKAGd+LKQgDcFEx363wEGrLf46IjIaOi28EioGG5iOArovHZ2qhrAAIJmAEJgEuiaLEb4Jk4oAsoKuvoIYCwCErq2apo6egZQALyF+FCm5pY2UABETelmg1xFnrYAzAAM8xNQQZGh4cFR6AB0xEQUIm4UFa0IABRHVbYACrws-BJCADwjLVUAfACUXfhEHFBnug4oABrYAATygcCIhBoACtgAp+JsQaC7P9ju9Prhut0joCwCZ1GUAGpCMDKTrnAwAbWRPWSyMhKWalQMAF0Dtj8BIoSd8YSZCT0GSOu1OmAQJp9CBgOpPkc7uBgBzOfwABYSOybSnVWp3XQ0sF04FgxnPFkIVkdKB84mkpUUfCxbEsYD8GogKBqjUBKBiWIAen9UGut3u6CeqReBlePXQQQA7skwMl+HAoMU4CgJJoISB0ODeOmbvwIVC1cAcIGmdpzVApDI5IpgJscNL49WMiZsrl8id3lrzScsD0zBYrLZBgAVOCUOCdwa+95uIA) - - ```ts - interface NodeConfig { - appName: string; - port: number; - } - - class NodeAppBuilder { - private configuration: NodeConfig = { - appName: 'NodeApp', - port: 3000 - }; - - config(config: Partial) { - type NodeConfigKey = keyof NodeConfig; - - for (const key of Object.keys(config) as NodeConfigKey[]) { - const updateValue = config[key]; - - if (updateValue === undefined) { - continue; - } - - this.configuration[key] = updateValue; - } - - return this; - } - } - - // `Partial`` allows us to provide only a part of the - // NodeConfig interface. - new NodeAppBuilder().config({appName: 'ToDoApp'}); - ``` -
    - -- [`Required`](https://github.com/Microsoft/TypeScript/blob/2961bc3fc0ea1117d4e53bc8e97fa76119bc33e3/src/lib/es5.d.ts#L1408-L1413) - Make all properties in `T` required. -
    - - Example - - - [Playground](https://typescript-play.js.org/?target=6#code/AQ4SwOwFwUwJwGYEMDGNgGED21VQGJZwC2wA3gFCjXAzFJgA2A-AFzADOUckA5gNxUaIYjA4ckvGG07c+g6gF8KQkAgCuEFFDA5O6gEbEwUbLm2ESwABQIixACJIoSdgCUYAR3Vg4MACYAPGYuFvYAfACU5Ko0APRxwADKMBD+wFAAFuh2Vv7OSBlYGdmc8ABu8LHKsRyGxqY4oQT21pTCIHQMjOwA5DAAHgACxAAOjDAAdChYxL0ANLHUouKSMH0AEmAAhJhY6ozpAJ77GTCMjMCiV0ToSAb7UJPPC9WRgrEJwAAqR6MwSRQPFGUFocDgRHYxnEfGAowh-zgUCOwF6KwkUl6tXqJhCeEsxDaS1AXSYfUGI3GUxmc0WSneQA) - - ```ts - interface ContactForm { - email?: string; - message?: string; - } - - function submitContactForm(formData: Required) { - // Send the form data to the server. - } - - submitContactForm({ - email: 'ex@mple.com', - message: 'Hi! Could you tell me more about…', - }); - - // TypeScript error: missing property 'message' - submitContactForm({ - email: 'ex@mple.com', - }); - ``` -
    - -- [`Readonly`](https://github.com/Microsoft/TypeScript/blob/2961bc3fc0ea1117d4e53bc8e97fa76119bc33e3/src/lib/es5.d.ts#L1415-L1420) - Make all properties in `T` readonly. -
    - - Example - - - [Playground](https://typescript-play.js.org/?target=6#code/AQ4UwOwVwW2AZA9gc3mAbmANsA3gKFCOAHkAzMgGkOJABEwAjKZa2kAUQCcvEu32AMQCGAF2FYBIAL4BufDRABLCKLBcywgMZgEKZOoDCiCGSXI8i4hGEwwALmABnUVxXJ57YFgzZHSVF8sT1BpBSItLGEnJz1kAy5LLy0TM2RHACUwYQATEywATwAeAITjU3MAPnkrCJMXLigtUT4AClxgGztKbyDgaX99I1TzAEokr1BRAAslJwA6FIqLAF48TtswHp9MHDla9hJGACswZvmyLjAwAC8wVpm5xZHkUZDaMKIwqyWXYCW0oN4sNlsA1h0ug5gAByACyBQAggAHJHQ7ZBIFoXbzBjMCz7OoQP5YIaJNYQMAAdziCVaALGNSIAHomcAACoFJFgADKWjcSNEwG4vC4ji0wggEEQguiTnMEGALWAV1yAFp8gVgEjeFyuKICvMrCTgVxnst5jtsGC4ljsPNhXxGaAWcAAOq6YRXYDCRg+RWIcA5JSC+kWdCepQ+v3RYCU3RInzRMCGwlpC19NYBW1Ye08R1AA) - - ```ts - enum LogLevel { - Off, - Debug, - Error, - Fatal - }; - - interface LoggerConfig { - name: string; - level: LogLevel; - } - - class Logger { - config: Readonly; - - constructor({name, level}: LoggerConfig) { - this.config = {name, level}; - Object.freeze(this.config); - } - } - - const config: LoggerConfig = { - name: 'MyApp', - level: LogLevel.Debug - }; - - const logger = new Logger(config); - - // TypeScript Error: cannot assign to read-only property. - logger.config.level = LogLevel.Error; - - // We are able to edit config variable as we please. - config.level = LogLevel.Error; - ``` -
    - -- [`Pick`](https://github.com/Microsoft/TypeScript/blob/2961bc3fc0ea1117d4e53bc8e97fa76119bc33e3/src/lib/es5.d.ts#L1422-L1427) - From `T`, pick a set of properties whose keys are in the union `K`. -
    - - Example - - - [Playground](https://typescript-play.js.org/?target=6#code/AQ4SwOwFwUwJwGYEMDGNgEE5TCgNugN4BQoZwOUBAXMAM5RyQDmA3KeSFABYCuAtgCMISMHloMmENh04oA9tBjQJjFuzIBfYrOAB6PcADCcGElh1gEGAHcKATwAO6ebyjB5CTNlwFwSxFR0BX5HeToYABNgBDh5fm8cfBg6AHIKG3ldA2BHOOcfFNpUygJ0pAhokr4hETFUgDpswywkggAFUwA3MFtgAF5gQgowKhhVKTYKGuFRcXo1aVZgbTIoJ3RW3xhOmB6+wfbcAGsAHi3kgBpgEtGy4AAfG54BWfqAPnZm4AAlZUj4MAkMA8GAGB4vEgfMlLLw6CwPBA8PYRmMgZVgAC6CgmI4cIommQELwICh8RBgKZKvALh1ur0bHQABR5PYMui0Wk7em2ADaAF0AJS0AASABUALIAGQAogR+Mp3CROCAFBBwVC2ikBpj5CgBIqGjizLA5TAFdAmalImAuqlBRoVQh5HBgEy1eDWfs7J5cjzGYKhroVfpDEhHM4MV6GRR5NN0JrtnRg6BVirTFBeHAKYmYY6QNpdB73LmCJZBlSAXAubtvczeSmQMNSuMbmKNgBlHFgPEUNwusBIPAAQlS1xetTmxT0SDoESgdD0C4aACtHMwxytLrohawgA) - - ```ts - interface Article { - title: string; - thumbnail: string; - content: string; - } - - // Creates new type out of the `Article` interface composed - // from the Articles' two properties: `title` and `thumbnail`. - // `ArticlePreview = {title: string; thumbnail: string}` - type ArticlePreview = Pick; - - // Render a list of articles using only title and description. - function renderArticlePreviews(previews: ArticlePreview[]): HTMLElement { - const articles = document.createElement('div'); - - for (const preview of previews) { - // Append preview to the articles. - } - - return articles; - } - - const articles = renderArticlePreviews([ - { - title: 'TypeScript tutorial!', - thumbnail: '/assets/ts.jpg' - } - ]); - ``` -
    - -- [`Record`](https://github.com/Microsoft/TypeScript/blob/2961bc3fc0ea1117d4e53bc8e97fa76119bc33e3/src/lib/es5.d.ts#L1429-L1434) - Construct a type with a set of properties `K` of type `T`. -
    - - Example - - - [Playground](https://typescript-play.js.org/?target=6#code/AQ4ejYAUHsGcCWAXBMB2dgwGbAKYC2ADgDYwCeeemCaWArgE7ADGMxAhmuQHQBQoYEnJE8wALKEARnkaxEKdMAC8wAOS0kstGuAAfdQBM8ANzxlRjXQbVaWACwC0JPB0NqA3HwGgIwAJJoWozYHCxixnAsjAhStADmwESMMJYo1Fi4HMCIaPEu+MRklHj8gpqyoeHAAKJFFFTAAN4+giDYCIxwSAByHAR4AFw5SDF5Xm2gJBzdfQPD3WPxE5PAlBxdAPLYNQAelgh4aOHDaPQEMowrIAC+3oJ+AMKMrlrAXFhSAFZ4LEhC9g4-0BmA4JBISXgiCkBQABpILrJ5MhUGhYcATGD6Bk4Hh-jNgABrPDkOBlXyQAAq9ngYmJpOAAHcEOCRjAXqwYODfoo6DhakUSph+Uh7GI4P0xER4Cj0OSQGwMP8tP1hgAlX7swwAHgRl2RvIANALSA08ABtAC6AD4VM1Wm0Kow0MMrYaHYJjGYLLJXZb3at1HYnC43Go-QHQDcvA6-JsmEJXARgCDgMYWAhjIYhDAU+YiMAAFIwex0ZmilMITCGF79TLAGRsAgJYAAZRwSEZGzEABFTOZUrJ5Yn+jwnWgeER6HB7AAKJrADpdXqS4ZqYultTG6azVfqHswPBbtauLY7fayQ7HIbAAAMwBuAEoYw9IBq2Ixs9h2eFMOQYPQObALQKJgggABeYhghCIpikkKRpOQRIknAsZUiIeCttECBEP8NSMCkjDDAARMGziuIYxHwYOjDCMBmDNnAuTxA6irdCOBB1Lh5Dqpqn66tISIykawBnOCtqqC0gbjqc9DgpGkxegOliyfJDrRkAA) - - ```ts - // Positions of employees in our company. - type MemberPosition = 'intern' | 'developer' | 'tech-lead'; - - // Interface describing properties of a single employee. - interface Employee { - firstName: string; - lastName: string; - yearsOfExperience: number; - } - - // Create an object that has all possible `MemberPosition` values set as keys. - // Those keys will store a collection of Employees of the same position. - const team: Record = { - intern: [], - developer: [], - 'tech-lead': [], - }; - - // Our team has decided to help John with his dream of becoming Software Developer. - team.intern.push({ - firstName: 'John', - lastName: 'Doe', - yearsOfExperience: 0 - }); - - // `Record` forces you to initialize all of the property keys. - // TypeScript Error: "tech-lead" property is missing - const teamEmpty: Record = { - intern: null, - developer: null, - }; - ``` -
    - -- [`Exclude`](https://github.com/Microsoft/TypeScript/blob/2961bc3fc0ea1117d4e53bc8e97fa76119bc33e3/src/lib/es5.d.ts#L1436-L1439) - Exclude from `T` those types that are assignable to `U`. -
    - - Example - - - [Playground](https://typescript-play.js.org/?target=6#code/JYOwLgpgTgZghgYwgAgMrQG7QMIHsQzADmyA3gFDLIAOuUYAXMiAK4A2byAPsgM5hRQJHqwC2AI2gBucgF9y5MAE9qKAEoQAjiwj8AEnBAATNtGQBeZAAooWphu26wAGmS3e93bRC8IASgsAPmRDJRlyAHoI5ABRAA8ENhYjFFYOZGVVZBgoXFFkAAM0zh5+QRBhZhYJaAKAOkjogEkQZAQ4X2QAdwALCFbaemRgXmQtFjhOMFwq9K6ULuB0lk6U+HYwZAxJnQaYFhAEMGB8ZCIIMAAFOjAANR2IK0HGWISklIAedCgsKDwCYgAbQA5M9gQBdVzFQJ+JhiSRQMiUYYwayZCC4VHPCzmSzAspCYEBWxgFhQAZwKC+FpgJ43VwARgADH4ZFQSWSBjcZPJyPtDsdTvxKWBvr8rD1DCZoJ5HPopaYoK4EPhCEQmGKcKriLCtrhgEYkVQVT5Nr4fmZLLZtMBbFZgT0wGBqES6ghbHBIJqoBKFdBWQpjfh+DQbhY2tqiHVsbjLMVkAB+ZAAZiZaeQTHOVxu9ySjxNaujNwDVHNvzqbBGkBAdPoAfkQA) - - ```ts - interface ServerConfig { - port: null | string | number; - } - - type RequestHandler = (request: Request, response: Response) => void; - - // Exclude `null` type from `null | string | number`. - // In case the port is equal to `null`, we will use default value. - function getPortValue(port: Exclude): number { - if (typeof port === 'string') { - return parseInt(port, 10); - } - - return port; - } - - function startServer(handler: RequestHandler, config: ServerConfig): void { - const server = require('http').createServer(handler); - - const port = config.port === null ? 3000 : getPortValue(config.port); - server.listen(port); - } - ``` -
    - -- [`Extract`](https://github.com/Microsoft/TypeScript/blob/2961bc3fc0ea1117d4e53bc8e97fa76119bc33e3/src/lib/es5.d.ts#L1441-L1444) - Extract from `T` those types that are assignable to `U`. -
    - - Example - - - [Playground](https://typescript-play.js.org/?target=6#code/CYUwxgNghgTiAEAzArgOzAFwJYHtXzSwEdkQBJYACgEoAueVZAWwCMQYBuAKDDwGcM8MgBF4AXngBlAJ6scESgHIRi6ty5ZUGdoihgEABXZ888AN5d48ANoiAuvUat23K6ihMQ9ATE0BzV3goPy8GZjZOLgBfLi4Aejj4AEEICBwAdz54MAALKFQQ+BxEeAAHY1NgKAwoIKy0grr4DByEUpgccpgMaXgAaxBerCzi+B9-ZulygDouFHRsU1z8kKMYE1RhaqgAHkt4AHkWACt4EAAPbVRgLLWNgBp9gGlBs8uQa6yAUUuYPQwdgNpKM7nh7mMML4CgA+R5WABqUAgpDeVxuhxO1he0jsXGh8EoOBO9COx3BQPo2PBADckaR6IjkSA6PBqTgsMBzPsicdrEC7OJWXSQNwYvFEgAVTS9JLXODpeDpKBZFg4GCoWa8VACIJykAKiQWKy2YQOAioYikCg0OEMDyhRSy4DyxS24KhAAMjyi6gS8AAwjh5OD0iBFHAkJoEOksC1mnkMJq8gUQKDNttKPlnfrwYp3J5XfBHXqoKpfYkAOI4ansTxaeDADmoRSCCBYAbxhC6TDx6rwYHIRX5bScjA4bLJwoDmDwDkfbA9JMrVMVdM1TN69LgkTgwgkchUahqIA) - - ```ts - declare function uniqueId(): number; - - const ID = Symbol('ID'); - - interface Person { - [ID]: number; - name: string; - age: number; - } - - // Allows changing the person data as long as the property key is of string type. - function changePersonData< - Obj extends Person, - Key extends Extract, - Value extends Obj[Key] - > (obj: Obj, key: Key, value: Value): void { - obj[key] = value; - } - - // Tiny Andrew was born. - const andrew = { - [ID]: uniqueId(), - name: 'Andrew', - age: 0, - }; - - // Cool, we're fine with that. - changePersonData(andrew, 'name', 'Pony'); - - // Goverment didn't like the fact that you wanted to change your identity. - changePersonData(andrew, ID, uniqueId()); - ``` -
    - -- [`NonNullable`](https://github.com/Microsoft/TypeScript/blob/2961bc3fc0ea1117d4e53bc8e97fa76119bc33e3/src/lib/es5.d.ts#L1446-L1449) - Exclude `null` and `undefined` from `T`. -
    - - Example - - Works with strictNullChecks set to true. (Read more here) - - [Playground](https://typescript-play.js.org/?target=6#code/C4TwDgpgBACg9gJ2AOQK4FsBGEFQLxQDOwCAlgHYDmUAPlORtrnQwDasDcAUFwPQBU-WAEMkUOADMowqAGNWwwoSgATCBIqlgpOOSjAAFsOBRSy1IQgr9cKJlSlW1mZYQA3HFH68u8xcoBlHA8EACEHJ08Aby4oKDBUTFZSWXjEFEYcAEIALihkXTR2YSSIAB54JDQsHAA+blj4xOTUsHSACkMzPKD3HHDHNQQAGjSkPMqMmoQASh7g-oihqBi4uNIpdraxPAI2VhmVxrX9AzMAOm2ppnwoAA4ABifuE4BfKAhWSyOTuK7CS7pao3AhXF5rV48E4ICDAVAIPT-cGQyG+XTEIgLMJLTx7CAAdygvRCA0iCHaMwarhJOIQjUBSHaACJHk8mYdeLwxtdcVAAOSsh58+lXdr7Dlcq7A3n3J4PEUdADMcspUE53OluAIUGVTx46oAKuAIAFZGQwCYAKIIBCILjUxaDHAMnla+iodjcIA) - - ```ts - type PortNumber = string | number | null; - - /** Part of a class definition that is used to build a server */ - class ServerBuilder { - portNumber!: NonNullable; - - port(this: ServerBuilder, port: PortNumber): ServerBuilder { - if (port == null) { - this.portNumber = 8000; - } else { - this.portNumber = port; - } - - return this; - } - } - - const serverBuilder = new ServerBuilder(); - - serverBuilder - .port('8000') // portNumber = '8000' - .port(null) // portNumber = 8000 - .port(3000); // portNumber = 3000 - - // TypeScript error - serverBuilder.portNumber = null; - ``` -
    - -- [`Parameters`](https://github.com/Microsoft/TypeScript/blob/2961bc3fc0ea1117d4e53bc8e97fa76119bc33e3/src/lib/es5.d.ts#L1451-L1454) - Obtain the parameters of a function type in a tuple. -
    - - Example - - - [Playground](https://typescript-play.js.org/?target=6#code/GYVwdgxgLglg9mABAZwBYmMANgUwBQxgAOIUAXIgIZgCeA2gLoCUFAbnDACaIDeAUIkQB6IYgCypSlBxUATrMo1ECsJzgBbLEoipqAc0J7EMKMgDkiHLnU4wp46pwAPHMgB0fAL58+oSLARECEosLAA5ABUYG2QAHgAxJGdpVWREPDdMylk9ZApqemZEAF4APipacrw-CApEgBogkKwAYThwckQwEHUAIxxZJl4BYVEImiIZKF0oZRwiWVdbeygJmThgOYgcGFYcbhqApCJsyhtpWXcR1cnEePBoeDAABVPzgbTixFeFd8uEsClADcIxGiygIFkSEOT3SmTc2VydQeRx+ZxwF2QQ34gkEwDgsnSuFmMBKiAADEDjIhYk1Qm0OlSYABqZnYka4xA1DJZHJYkGc7yCbyeRA+CAIZCzNAYbA4CIAdxg2zJwVCkWirjwMswuEaACYmCCgA) - - ```ts - function shuffle(input: any[]): void { - // Mutate array randomly changing its' elements indexes. - } - - function callNTimes any> (func: Fn, callCount: number) { - // Type that represents the type of the received function parameters. - type FunctionParameters = Parameters; - - return function (...args: FunctionParameters) { - for (let i = 0; i < callCount; i++) { - func(...args); - } - } - } - - const shuffleTwice = callNTimes(shuffle, 2); - ``` -
    - -- [`ConstructorParameters`](https://github.com/Microsoft/TypeScript/blob/2961bc3fc0ea1117d4e53bc8e97fa76119bc33e3/src/lib/es5.d.ts#L1456-L1459) - Obtain the parameters of a constructor function type in a tuple. -
    - - Example - - - [Playground](https://typescript-play.js.org/?target=6#code/MYGwhgzhAECCBOAXAlqApgWQPYBM0mgG8AoaaFRENALmgkXmQDsBzAblOmCycTV4D8teo1YdO3JiICuwRFngAKClWENmLAJRFOZRAAtkEAHQq00ALzlklNBzIBfYk+KhIMAJJTEYJsDQAwmDA+mgAPAAq0GgAHnxMODCKTGgA7tCKxllg8CwQtL4AngDaALraFgB80EWa1SRkAA6MAG5gfNAB4FABPDJyCrQR9tDNyG0dwMGhtBhgjWEiGgA00F70vv4RhY3hEZXVVinpc42KmuJkkv3y8Bly8EPaDWTkhiZd7r3e8LK3llwGCMXGQWGhEOsfH5zJlsrl8p0+gw-goAAo5MAAW3BaHgEEilU0tEhmzQ212BJ0ry4SOg+kg+gBBiMximIGA0nAfAQLGk2N4EAAEgzYcYcnkLsRdDTvNEYkYUKwSdCme9WdM0MYwYhFPSIPpJdTkAAzDKxBUaZX+aAAQgsVmkCTQxuYaBw2ng4Ok8CYcotSu8pMur09iG9vuObxZnx6SN+AyUWTF8MN0CcZE4Ywm5jZHK5aB5fP4iCFIqT4oRRTKRLo6lYVNeAHpG50wOzOe1zHr9NLQ+HoABybsD4HOKXXRA1JCoKhBELmI5pNaB6Fz0KKBAodDYPAgSUTmqYsAALx4m5nC6nW9nGq14KtaEUA9gR9PvuNCjQ9BgACNvcwNBtAcLiAA) - - ```ts - class ArticleModel { - title: string; - content?: string; - - constructor(title: string) { - this.title = title; - } - } - - class InstanceCache any)> { - private ClassConstructor: T; - private cache: Map> = new Map(); - - constructor (ctr: T) { - this.ClassConstructor = ctr; - } - - getInstance (...args: ConstructorParameters): InstanceType { - const hash = this.calculateArgumentsHash(...args); - - const existingInstance = this.cache.get(hash); - if (existingInstance !== undefined) { - return existingInstance; - } - - return new this.ClassConstructor(...args); - } - - private calculateArgumentsHash(...args: any[]): string { - // Calculate hash. - return 'hash'; - } - } - - const articleCache = new InstanceCache(ArticleModel); - const amazonArticle = articleCache.getInstance('Amazon forests burining!'); - ``` -
    - -- [`ReturnType`](https://github.com/Microsoft/TypeScript/blob/2961bc3fc0ea1117d4e53bc8e97fa76119bc33e3/src/lib/es5.d.ts#L1461-L1464) – Obtain the return type of a function type. -
    - - Example - - - [Playground](https://typescript-play.js.org/?target=6#code/MYGwhgzhAECSAmICmBlJAnAbgS2E6A3gFDTTwD2AcuQC4AW2AdgOYAUAlAFzSbnbyEAvkWFFQkGJSQB3GMVI1sNZNwg10TZgG4S0YOUY0kh1es07d+xmvQBXYDXLpWi5UlMaWAGj0GjJ6BtNdkJdBQYIADpXZGgAXmgYpB1ScOwoq38aeN9DYxoU6GFRKzVoJjUwRjwAYXJbPPRuAFkwAAcAHgAxBodsAx9GWwBbACMMAD4cxhloVraOCyYjdAAzMDxoOut1e0d0UNIZ6WhWSPOwdGYIbiqATwBtAF0uaHudUQB6ACpv6ABpJBINqJdAbADW0Do5BOw3u5R2VTwMHIq2gAANtjZ0bkbHsnFCwJh8ONjHp0EgwEZ4JFoN9PkRVr1FAZoMwkDRYIjqkgOrosepoEgAB7+eAwAV2BxOLy6ACCVxgIrFEoMeOl6AACpcwMMORgIB1JRMiBNWKVdhruJKfOdIpdrtwFddXlzKjyACp3Nq842HaDIbL6BrZBIVGhIpB1EMYSLsmjmtWW-YhAA+qegAAYLKQLQj3ZsEsdccmnGcLor2Dn8xGedHGpEIBzEzspfsfMHDNAANTQACMVaIljV5GQkRA5DYmIpVKQAgAJARO9le33BDXIyi0YuLW2nJFGLqkOvxFB0YPdBSaLZ0IwNzyPkO8-xkGgsLh8Al427a3hWAhXwwHA8EHT5PmgAB1bAQBAANJ24adKWpft72RaBUTgRBUCAj89HAM8xCTaBjggABRQx0DuHJv25P9dCkWRZVIAAiBjoFImpmjlFBgA0NpsjadByDacgIDAEAIAAQmYpjoGYgAZSBsmGPw6DtZiiFA8CoJguDmAQmoZ2QvtUKQLdoAYmBTwgdEiCAA) - - ```ts - /** Provides every element of the iterable `iter` into the `callback` function and stores the results in an array. */ - function mapIter< - Elem, - Func extends (elem: Elem) => any, - Ret extends ReturnType - >(iter: Iterable, callback: Func): Ret[] { - const mapped: Ret[] = []; - - for (const elem of iter) { - mapped.push(callback(elem)); - } - - return mapped; - } - - const setObject: Set = new Set(); - const mapObject: Map = new Map(); - - mapIter(setObject, (value: string) => value.indexOf('Foo')); // number[] - - mapIter(mapObject, ([key, value]: [number, string]) => { - return key % 2 === 0 ? value : 'Odd'; - }); // string[] - ``` -
    - -- [`InstanceType`](https://github.com/Microsoft/TypeScript/blob/2961bc3fc0ea1117d4e53bc8e97fa76119bc33e3/src/lib/es5.d.ts#L1466-L1469) – Obtain the instance type of a constructor function type. -
    - - Example - - - [Playground](https://typescript-play.js.org/?target=6#code/MYGwhgzhAECSAmICmBlJAnAbgS2E6A3gFDTTwD2AcuQC4AW2AdgOYAUAlAFzSbnbyEAvkWFFQkGJSQB3GMVI1sNZNwg10TZgG4S0YOUY0kh1es07d+xmvQBXYDXLpWi5UlMaWAGj0GjJ6BtNdkJdBQYIADpXZGgAXmgYpB1ScOwoq38aeN9DYxoU6GFRKzVoJjUwRjwAYXJbPPRuAFkwAAcAHgAxBodsAx9GWwBbACMMAD4cxhloVraOCyYjdAAzMDxoOut1e0d0UNIZ6WhWSPOwdGYIbiqATwBtAF0uaHudUQB6ACpv6ABpJBINqJdAbADW0Do5BOw3u5R2VTwMHIq2gAANtjZ0bkbHsnFCwJh8ONjHp0EgwEZ4JFoN9PkRVr1FAZoMwkDRYIjqkgOrosepoEgAB7+eAwAV2BxOLy6ACCVxgIrFEoMeOl6AACpcwMMORgIB1JRMiBNWKVdhruJKfOdIpdrtwFddXlzKjyACp3Nq842HaDIbL6BrZBIVGhIpB1EMYSLsmjmtWW-YhAA+qegAAYLKQLQj3ZsEsdccmnGcLor2Dn8xGedHGpEIBzEzspfsfMHDNAANTQACMVaIljV5GQkRA5DYmIpVKQAgAJARO9le33BDXIyi0YuLW2nJFGLqkOvxFB0YPdBSaLZ0IwNzyPkO8-xkGgsLh8Al427a3hWAhXwwHA8EHT5PmgAB1bAQBAANJ24adKWpft72RaBUTgRBUCAj89HAM8xCTaBjggABRQx0DuHJv25P9dCkWRZVIAAiBjoFImpmjlFBgA0NpsjadByDacgIDAEAIAAQmYpjoGYgAZSBsmGPw6DtZiiFA8CoJguDmAQmoZ2QvtUKQLdoAYmBTwgdEiCAA) - - ```ts - class IdleService { - doNothing (): void {} - } - - class News { - title: string; - content: string; - - constructor(title: string, content: string) { - this.title = title; - this.content = content; - } - } - - const instanceCounter: Map = new Map(); - - interface Constructor { - new(...args: any[]): any; - } - - // Keep track how many instances of `Constr` constructor have been created. - function getInstance< - Constr extends Constructor, - Args extends ConstructorParameters - >(constructor: Constr, ...args: Args): InstanceType { - let count = instanceCounter.get(constructor) || 0; - - const instance = new constructor(...args); - - instanceCounter.set(constructor, count + 1); - - console.log(`Created ${count + 1} instances of ${Constr.name} class`); - - return instance; - } - - - const idleService = getInstance(IdleService); - // Will log: `Created 1 instances of IdleService class` - const newsEntry = getInstance(News, 'New ECMAScript proposals!', 'Last month...'); - // Will log: `Created 1 instances of News class` - ``` -
    - -- [`Omit`](https://github.com/microsoft/TypeScript/blob/71af02f7459dc812e85ac31365bfe23daf14b4e4/src/lib/es5.d.ts#L1446) – Constructs a type by picking all properties from T and then removing K. -
    - - Example - - - [Playground](https://typescript-play.js.org/?target=6#code/JYOwLgpgTgZghgYwgAgIImAWzgG2QbwChlks4BzCAVShwC5kBnMKUcgbmKYAcIFgIjBs1YgOXMpSFMWbANoBdTiW5woFddwAW0kfKWEAvoUIB6U8gDCUCHEiNkICAHdkYAJ69kz4GC3JcPG4oAHteKDABBxCYNAxsPFBIWEQUCAAPJG4wZABySUFcgJAAEzMLXNV1ck0dIuCw6EjBADpy5AB1FAQ4EGQAV0YUP2AHDy8wEOQbUugmBLwtEIA3OcmQnEjuZBgQqE7gAGtgZAhwKHdkHFGwNvGUdDIcAGUliIBJEF3kAF5kAHlML4ADyPBIAGjyBUYRQAPnkqho4NoYQA+TiEGD9EAISIhPozErQMG4AASK2gn2+AApek9pCSXm8wFSQooAJQMUkAFQAsgAZACiOAgmDOOSIJAQ+OYyGl4DgoDmf2QJRCCH6YvALQQNjsEGFovF1NyJWAy1y7OUyHMyE+yRAuFImG4Iq1YDswHxbRINjA-SgfXlHqVUE4xiAA) - - ```ts - interface Animal { - imageUrl: string; - species: string; - images: string[]; - paragraphs: string[]; - } - - // Creates new type with all properties of the `Animal` interface - // except 'images' and 'paragraphs' properties. We can use this - // type to render small hover tooltip for a wiki entry list. - type AnimalShortInfo = Omit; - - function renderAnimalHoverInfo (animals: AnimalShortInfo[]): HTMLElement { - const container = document.createElement('div'); - // Internal implementation. - return container; - } - ``` -
    - -You can find some examples in the [TypeScript docs](https://www.typescriptlang.org/docs/handbook/advanced-types.html#predefined-conditional-types). - - -## Maintainers - -- [Sindre Sorhus](https://github.com/sindresorhus) -- [Jarek Radosz](https://github.com/CvX) -- [Dimitri Benin](https://github.com/BendingBender) - - -## License - -(MIT OR CC0-1.0) - - ---- - -
    - - Get professional support for this package with a Tidelift subscription - -
    - - Tidelift helps make open source sustainable for maintainers while giving companies
    assurances about security, maintenance, and licensing for their dependencies. -
    -
    diff --git a/tools/node_modules/eslint/node_modules/@eslint/eslintrc/package.json b/tools/node_modules/eslint/node_modules/@eslint/eslintrc/package.json index a75ea6c9b63d71..e79857f5553e99 100644 --- a/tools/node_modules/eslint/node_modules/@eslint/eslintrc/package.json +++ b/tools/node_modules/eslint/node_modules/@eslint/eslintrc/package.json @@ -1,6 +1,6 @@ { "name": "@eslint/eslintrc", - "version": "0.4.1", + "version": "0.4.2", "description": "The legacy ESLintRC config file format for ESLint", "main": "lib/index.js", "files": [ @@ -50,7 +50,7 @@ "ajv": "^6.12.4", "debug": "^4.1.1", "espree": "^7.3.0", - "globals": "^12.1.0", + "globals": "^13.9.0", "ignore": "^4.0.6", "import-fresh": "^3.2.1", "js-yaml": "^3.13.1", diff --git a/tools/node_modules/eslint/node_modules/globals/globals.json b/tools/node_modules/eslint/node_modules/globals/globals.json index c132603f96a2e0..1119914e203e2c 100644 --- a/tools/node_modules/eslint/node_modules/globals/globals.json +++ b/tools/node_modules/eslint/node_modules/globals/globals.json @@ -478,6 +478,7 @@ "DOMPointReadOnly": false, "DOMQuad": false, "DOMRect": false, + "DOMRectList": false, "DOMRectReadOnly": false, "DOMStringList": false, "DOMStringMap": false, diff --git a/tools/node_modules/eslint/node_modules/globals/package.json b/tools/node_modules/eslint/node_modules/globals/package.json index d00a83296e08fc..66d027e5f30e8c 100644 --- a/tools/node_modules/eslint/node_modules/globals/package.json +++ b/tools/node_modules/eslint/node_modules/globals/package.json @@ -1,6 +1,6 @@ { "name": "globals", - "version": "13.8.0", + "version": "13.9.0", "description": "Global identifiers from different JavaScript environments", "license": "MIT", "repository": "sindresorhus/globals", diff --git a/tools/node_modules/eslint/node_modules/table/node_modules/ajv/README.md b/tools/node_modules/eslint/node_modules/table/node_modules/ajv/README.md index 269f2605db654a..f1ff6731d37e2d 100644 --- a/tools/node_modules/eslint/node_modules/table/node_modules/ajv/README.md +++ b/tools/node_modules/eslint/node_modules/table/node_modules/ajv/README.md @@ -6,7 +6,7 @@ The fastest JSON validator for Node.js and browser. -Supports JSON Schema draft-06/07/2019-09/2020-12 (draft-04 is supported in [version 6](https://github.com/ajv-validator/ajv/tree/v6)) and JSON Type Definition [RFC8927](https://datatracker.ietf.org/doc/rfc8927/). +Supports JSON Schema draft-04/06/07/2019-09/2020-12 ([draft-04 support](https://ajv.js.org/json-schema.html#draft-04) requires ajv-draft-04 package) and JSON Type Definition [RFC8927](https://datatracker.ietf.org/doc/rfc8927/). [![build](https://github.com/ajv-validator/ajv/workflows/build/badge.svg)](https://github.com/ajv-validator/ajv/actions?query=workflow%3Abuild) [![npm](https://img.shields.io/npm/v/ajv.svg)](https://www.npmjs.com/package/ajv) diff --git a/tools/node_modules/eslint/node_modules/table/node_modules/ajv/dist/compile/jtd/parse.js b/tools/node_modules/eslint/node_modules/table/node_modules/ajv/dist/compile/jtd/parse.js index 8fa6f31aa77566..1eeb1be39d9e62 100644 --- a/tools/node_modules/eslint/node_modules/table/node_modules/ajv/dist/compile/jtd/parse.js +++ b/tools/node_modules/eslint/node_modules/table/node_modules/ajv/dist/compile/jtd/parse.js @@ -244,9 +244,18 @@ function parseType(cxt) { parseNumber(cxt); break; default: { - const [min, max, maxDigits] = type_1.intRange[schema.type]; - parseNumber(cxt, maxDigits); - gen.if(codegen_1._ `${data} < ${min} || ${data} > ${max}`, () => parsingError(cxt, codegen_1.str `integer out of range`)); + const t = schema.type; + if (!self.opts.int32range && (t === "int32" || t === "uint32")) { + parseNumber(cxt, 16); // 2 ** 53 - max safe integer + if (t === "uint32") { + gen.if(codegen_1._ `${data} < 0`, () => parsingError(cxt, codegen_1.str `integer out of range`)); + } + } + else { + const [min, max, maxDigits] = type_1.intRange[t]; + parseNumber(cxt, maxDigits); + gen.if(codegen_1._ `${data} < ${min} || ${data} > ${max}`, () => parsingError(cxt, codegen_1.str `integer out of range`)); + } } } } diff --git a/tools/node_modules/eslint/node_modules/table/node_modules/ajv/dist/core.js b/tools/node_modules/eslint/node_modules/table/node_modules/ajv/dist/core.js index 8f4156e1307f1d..eb1af0979d3615 100644 --- a/tools/node_modules/eslint/node_modules/table/node_modules/ajv/dist/core.js +++ b/tools/node_modules/eslint/node_modules/table/node_modules/ajv/dist/core.js @@ -60,7 +60,7 @@ const deprecatedOptions = { const MAX_EXPRESSION = 200; // eslint-disable-next-line complexity function requiredOptions(o) { - var _a, _b, _c, _d, _e, _f, _g, _h, _j, _k, _l, _m, _o, _p, _q, _r, _s, _t, _u, _v, _w; + var _a, _b, _c, _d, _e, _f, _g, _h, _j, _k, _l, _m, _o, _p, _q, _r, _s, _t, _u, _v, _w, _x; const s = o.strict; const _optz = (_a = o.code) === null || _a === void 0 ? void 0 : _a.optimize; const optimize = _optz === true || _optz === undefined ? 1 : _optz || 0; @@ -81,6 +81,7 @@ function requiredOptions(o) { validateSchema: (_u = o.validateSchema) !== null && _u !== void 0 ? _u : true, validateFormats: (_v = o.validateFormats) !== null && _v !== void 0 ? _v : true, unicodeRegExp: (_w = o.unicodeRegExp) !== null && _w !== void 0 ? _w : true, + int32range: (_x = o.int32range) !== null && _x !== void 0 ? _x : true, }; } class Ajv { diff --git a/tools/node_modules/eslint/node_modules/table/node_modules/ajv/dist/vocabularies/applicator/patternProperties.js b/tools/node_modules/eslint/node_modules/table/node_modules/ajv/dist/vocabularies/applicator/patternProperties.js index ff68c82e1061ec..c54747b35bbedb 100644 --- a/tools/node_modules/eslint/node_modules/table/node_modules/ajv/dist/vocabularies/applicator/patternProperties.js +++ b/tools/node_modules/eslint/node_modules/table/node_modules/ajv/dist/vocabularies/applicator/patternProperties.js @@ -11,10 +11,13 @@ const def = { code(cxt) { const { gen, schema, data, parentSchema, it } = cxt; const { opts } = it; - const patterns = code_1.schemaProperties(it, schema); - // TODO mark properties matching patterns with always valid schemas as evaluated - if (patterns.length === 0) + const patterns = code_1.allSchemaProperties(schema); + const alwaysValidPatterns = patterns.filter((p) => util_1.alwaysValidSchema(it, schema[p])); + if (patterns.length === 0 || + (alwaysValidPatterns.length === patterns.length && + (!it.opts.unevaluated || it.props === true))) { return; + } const checkProperties = opts.strictSchema && !opts.allowMatchingProperties && parentSchema.properties; const valid = gen.name("valid"); if (it.props !== true && !(it.props instanceof codegen_1.Name)) { @@ -46,16 +49,19 @@ const def = { function validateProperties(pat) { gen.forIn("key", data, (key) => { gen.if(codegen_1._ `${code_1.usePattern(cxt, pat)}.test(${key})`, () => { - cxt.subschema({ - keyword: "patternProperties", - schemaProp: pat, - dataProp: key, - dataPropType: util_2.Type.Str, - }, valid); + const alwaysValid = alwaysValidPatterns.includes(pat); + if (!alwaysValid) { + cxt.subschema({ + keyword: "patternProperties", + schemaProp: pat, + dataProp: key, + dataPropType: util_2.Type.Str, + }, valid); + } if (it.opts.unevaluated && props !== true) { gen.assign(codegen_1._ `${props}[${key}]`, true); } - else if (!it.allErrors) { + else if (!alwaysValid && !it.allErrors) { // can short-circuit if `unevaluatedProperties` is not supported (opts.next === false) // or if all properties were evaluated (props === true) gen.if(codegen_1.not(valid), () => gen.break()); diff --git a/tools/node_modules/eslint/node_modules/table/node_modules/ajv/dist/vocabularies/jtd/type.js b/tools/node_modules/eslint/node_modules/table/node_modules/ajv/dist/vocabularies/jtd/type.js index 9bdfa012e908d2..428bddbc432f06 100644 --- a/tools/node_modules/eslint/node_modules/table/node_modules/ajv/dist/vocabularies/jtd/type.js +++ b/tools/node_modules/eslint/node_modules/table/node_modules/ajv/dist/vocabularies/jtd/type.js @@ -34,7 +34,7 @@ const def = { error, code(cxt) { metadata_1.checkMetadata(cxt); - const { data, schema, parentSchema } = cxt; + const { data, schema, parentSchema, it } = cxt; let cond; switch (schema) { case "boolean": @@ -50,8 +50,16 @@ const def = { cond = codegen_1._ `typeof ${data} == "number"`; break; default: { - const [min, max] = exports.intRange[schema]; - cond = codegen_1._ `typeof ${data} == "number" && isFinite(${data}) && ${data} >= ${min} && ${data} <= ${max} && !(${data} % 1)`; + const sch = schema; + cond = codegen_1._ `typeof ${data} == "number" && isFinite(${data}) && !(${data} % 1)`; + if (!it.opts.int32range && (sch === "int32" || sch === "uint32")) { + if (sch === "uint32") + cond = codegen_1._ `${cond} && ${data} >= 0`; + } + else { + const [min, max] = exports.intRange[sch]; + cond = codegen_1._ `${cond} && ${data} >= ${min} && ${data} <= ${max}`; + } } } cxt.pass(parentSchema.nullable ? codegen_1.or(codegen_1._ `${data} === null`, cond) : cond); diff --git a/tools/node_modules/eslint/node_modules/table/node_modules/ajv/package.json b/tools/node_modules/eslint/node_modules/table/node_modules/ajv/package.json index 0c913147f4db42..357ede01961155 100644 --- a/tools/node_modules/eslint/node_modules/table/node_modules/ajv/package.json +++ b/tools/node_modules/eslint/node_modules/table/node_modules/ajv/package.json @@ -1,6 +1,6 @@ { "name": "ajv", - "version": "8.5.0", + "version": "8.6.0", "description": "Another JSON Schema Validator", "main": "dist/ajv.js", "types": "dist/ajv.d.ts", @@ -64,7 +64,7 @@ }, "devDependencies": { "@ajv-validator/config": "^0.3.0", - "@rollup/plugin-commonjs": "^18.0.0", + "@rollup/plugin-commonjs": "^19.0.0", "@rollup/plugin-json": "^4.1.0", "@rollup/plugin-node-resolve": "^13.0.0", "@rollup/plugin-typescript": "^8.2.1", @@ -91,14 +91,14 @@ "karma": "^6.0.0", "karma-chrome-launcher": "^3.0.0", "karma-mocha": "^2.0.0", - "lint-staged": "^10.2.11", + "lint-staged": "^11.0.0", "mocha": "^8.0.1", "node-fetch": "^2.6.1", "nyc": "^15.0.0", - "prettier": "^2.0.5", + "prettier": "^2.3.1", "rollup": "^2.44.0", "rollup-plugin-terser": "^7.0.2", - "ts-node": "^9.0.0", + "ts-node": "^10.0.0", "tsify": "^5.0.2", "typescript": "^4.2.0", "vuepress": "^1.8.2" diff --git a/tools/node_modules/eslint/package.json b/tools/node_modules/eslint/package.json index 77016c21db43e7..601033eb44e5da 100644 --- a/tools/node_modules/eslint/package.json +++ b/tools/node_modules/eslint/package.json @@ -1,6 +1,6 @@ { "name": "eslint", - "version": "7.27.0", + "version": "7.28.0", "author": "Nicholas C. Zakas ", "description": "An AST-based pattern checker for JavaScript.", "bin": { @@ -44,7 +44,7 @@ "bugs": "https://github.com/eslint/eslint/issues/", "dependencies": { "@babel/code-frame": "7.12.11", - "@eslint/eslintrc": "^0.4.1", + "@eslint/eslintrc": "^0.4.2", "ajv": "^6.10.0", "chalk": "^4.0.0", "cross-spawn": "^7.0.2", @@ -61,7 +61,7 @@ "fast-deep-equal": "^3.1.3", "file-entry-cache": "^6.0.1", "functional-red-black-tree": "^1.0.1", - "glob-parent": "^5.0.0", + "glob-parent": "^5.1.2", "globals": "^13.6.0", "ignore": "^4.0.6", "import-fresh": "^3.0.0", @@ -95,7 +95,7 @@ "ejs": "^3.0.2", "eslint": "file:.", "eslint-config-eslint": "file:packages/eslint-config-eslint", - "eslint-plugin-eslint-plugin": "^2.2.1", + "eslint-plugin-eslint-plugin": "^3.0.3", "eslint-plugin-internal-rules": "file:tools/internal-rules", "eslint-plugin-jsdoc": "^25.4.3", "eslint-plugin-node": "^11.1.0", From 173292bcf848c9a403f4b95f50500d18ea230b7f Mon Sep 17 00:00:00 2001 From: Mary Marchini Date: Thu, 10 Jun 2021 11:58:06 -0700 Subject: [PATCH 040/118] build: fix commit-queue default branch `github.repository.default_branch` is not a valid context variable, and GitHub doesn't have a context or environment variable containing the default branch. It does have `github.ref` and `$GITHUB_REF`, which contains the default branch _reference_ (as in `refs/heads/`), so we can use that and remove the `refs/heads/` prefix. PR-URL: https://github.com/nodejs/node/pull/38998 Reviewed-By: Rich Trott Reviewed-By: Matteo Collina Reviewed-By: Robert Nagy --- .github/workflows/commit-queue.yml | 11 ++++++----- 1 file changed, 6 insertions(+), 5 deletions(-) diff --git a/.github/workflows/commit-queue.yml b/.github/workflows/commit-queue.yml index 5cfb92d88f95c6..25b7ea5a8cc4ae 100644 --- a/.github/workflows/commit-queue.yml +++ b/.github/workflows/commit-queue.yml @@ -45,6 +45,7 @@ jobs: run: | echo "REPOSITORY=$(echo ${{ github.repository }} | cut -d/ -f2)" >> $GITHUB_ENV echo "OWNER=${{ github.repository_owner }}" >> $GITHUB_ENV + echo "DEFAULT_BRANCH=${GITHUB_REF#refs/heads/}" >> $GITHUB_ENV - name: Get Pull Requests uses: octokit/graphql-action@v2.x @@ -63,19 +64,19 @@ jobs: owner: ${{ env.OWNER }} repo: ${{ env.REPOSITORY }} # Commit queue is only enabled for the default branch on the repository - base_ref: ${{ github.repository.default_branch }} + base_ref: ${{ env.DEFAULT_BRANCH }} env: GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} - name: Configure node-core-utils run: | - ncu-config set branch ${{ github.repository.default_branch }} + ncu-config set branch ${DEFAULT_BRANCH} ncu-config set upstream origin ncu-config set username "${{ secrets.GH_USER_NAME }}" ncu-config set token "${{ secrets.GH_USER_TOKEN }}" ncu-config set jenkins_token "${{ secrets.JENKINS_TOKEN }}" - ncu-config set repo "${{ env.REPOSITORY }}" - ncu-config set owner "${{ env.OWNER }}" + ncu-config set repo "${REPOSITORY}" + ncu-config set owner "${OWNER}" - name: Start the commit queue - run: ./tools/actions/commit-queue.sh ${{ env.OWNER }} ${{ env.REPOSITORY }} ${{ secrets.GITHUB_TOKEN }} $(echo '${{ steps.get_mergable_pull_requests.outputs.data }}' | jq '.repository.pullRequests.nodes | map(.number) | .[]') + run: ./tools/actions/commit-queue.sh ${OWNER} ${REPOSITORY} ${{ secrets.GITHUB_TOKEN }} $(echo '${{ steps.get_mergable_pull_requests.outputs.data }}' | jq '.repository.pullRequests.nodes | map(.number) | .[]') From 0bdeeda3b51a23cd27dcf21ddf916d7356496de4 Mon Sep 17 00:00:00 2001 From: Simone Busoli Date: Mon, 7 Jun 2021 16:01:49 +0200 Subject: [PATCH 041/118] doc: update write callback documentation - replace _*may or may not* be called_ with _will be called_ because the callback is always called - remove _To reliably detect write errors, add a listener for the `'error'` event_ because the `error` event will NOT be emitted if a write occurs after the stream has been closed PR-URL: https://github.com/nodejs/node/pull/38959 Fixes: https://github.com/nodejs/node/issues/38704 Reviewed-By: James M Snell Reviewed-By: Antoine du Hamel Reviewed-By: Benjamin Gruenbaum Reviewed-By: Robert Nagy Reviewed-By: Matteo Collina --- doc/api/stream.md | 5 ++--- 1 file changed, 2 insertions(+), 3 deletions(-) diff --git a/doc/api/stream.md b/doc/api/stream.md index f2ccc1e0ec2a50..57c72c45a176f6 100644 --- a/doc/api/stream.md +++ b/doc/api/stream.md @@ -627,9 +627,8 @@ changes: The `writable.write()` method writes some data to the stream, and calls the supplied `callback` once the data has been fully handled. If an error -occurs, the `callback` *may or may not* be called with the error as its -first argument. To reliably detect write errors, add a listener for the -`'error'` event. The `callback` is called asynchronously and before `'error'` is +occurs, the `callback` will be called with the error as its +first argument. The `callback` is called asynchronously and before `'error'` is emitted. The return value is `true` if the internal buffer is less than the From f903ad85f276bfd9b2a657fc5af2861493b3fed4 Mon Sep 17 00:00:00 2001 From: Darshan Sen Date: Fri, 4 Jun 2021 19:53:55 +0530 Subject: [PATCH 042/118] doc: add missing semis after classes Signed-off-by: Darshan Sen PR-URL: https://github.com/nodejs/node/pull/38931 Reviewed-By: James M Snell Reviewed-By: Rich Trott Reviewed-By: Zijian Liu Reviewed-By: Luigi Pinca --- doc/guides/cpp-style-guide.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/doc/guides/cpp-style-guide.md b/doc/guides/cpp-style-guide.md index 8215b43ec22b4d..10fd7f9a00a5c6 100644 --- a/doc/guides/cpp-style-guide.md +++ b/doc/guides/cpp-style-guide.md @@ -179,7 +179,7 @@ For plain C-like structs snake_case can be used. ```cpp struct foo_bar { int name; -} +}; ``` ### Space after `template` @@ -188,7 +188,7 @@ struct foo_bar { template class FancyContainer { ... -} +}; ``` ## Memory management From e82111f890ec6155d76be8343d663b6d69a0423f Mon Sep 17 00:00:00 2001 From: ycjcl868 <45808948@qq.com> Date: Tue, 1 Jun 2021 09:56:57 +0800 Subject: [PATCH 043/118] test: http outgoing _headers setter null Co-authored-by: Qingyu Deng PR-URL: https://github.com/nodejs/node/pull/38881 Reviewed-By: James M Snell Reviewed-By: Zijian Liu Reviewed-By: Darshan Sen Reviewed-By: Colin Ihrig --- test/parallel/test-http-outgoing-internal-headers.js | 11 +++++++++++ 1 file changed, 11 insertions(+) diff --git a/test/parallel/test-http-outgoing-internal-headers.js b/test/parallel/test-http-outgoing-internal-headers.js index 7bd97bcb530955..17de5e7d075ce5 100644 --- a/test/parallel/test-http-outgoing-internal-headers.js +++ b/test/parallel/test-http-outgoing-internal-headers.js @@ -31,3 +31,14 @@ common.expectWarning('DeprecationWarning', warn, 'DEP0066'); origin: ['Origin', 'localhost'] })); } + +{ + // Tests for _headers set method `null` + const outgoingMessage = new OutgoingMessage(); + outgoingMessage._headers = null; + + assert.strictEqual( + outgoingMessage[kOutHeaders], + null + ); +} From 5218fe86d12d1b22fc9de39394b02ac7b6aa71e1 Mon Sep 17 00:00:00 2001 From: Derevianchenko Maksym <32910350+maks-white@users.noreply.github.com> Date: Sat, 5 Jun 2021 18:44:28 +0300 Subject: [PATCH 044/118] doc: fixed typo in process.md MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Replaced params in writeFileSync function in proper way. PR-URL: https://github.com/nodejs/node/pull/38941 Reviewed-By: Michaël Zasso Reviewed-By: Luigi Pinca Reviewed-By: Colin Ihrig Reviewed-By: Darshan Sen Reviewed-By: Anna Henningsen Reviewed-By: James M Snell Reviewed-By: Harshitha K P Reviewed-By: Zijian Liu --- doc/api/process.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/doc/api/process.md b/doc/api/process.md index 9cbcd0d5ac69eb..07c212d273054c 100644 --- a/doc/api/process.md +++ b/doc/api/process.md @@ -2028,7 +2028,7 @@ console.log(data.header.nodejsVersion); // Similar to process.report.writeReport() const fs = require('fs'); -fs.writeFileSync(util.inspect(data), 'my-report.log', 'utf8'); +fs.writeFileSync('my-report.log', util.inspect(data), 'utf8'); ``` Additional documentation is available in the [report documentation][]. From 405b50cdbabb51997933a06dad150704ab009d86 Mon Sep 17 00:00:00 2001 From: RA80533 <32469082+RA80533@users.noreply.github.com> Date: Sat, 5 Jun 2021 04:14:29 -0400 Subject: [PATCH 045/118] doc: use `await` in filehandle.truncate() snippet The example snippet of filehandle.close() uses the `await` keyword based on convention. This change updates the example snippet of filehandle.truncate() to similarly use the keyword for the purposes of consistency. PR-URL: https://github.com/nodejs/node/pull/38939 Reviewed-By: Anna Henningsen Reviewed-By: Darshan Sen Reviewed-By: Luigi Pinca Reviewed-By: Colin Ihrig Reviewed-By: Zijian Liu --- doc/api/fs.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/doc/api/fs.md b/doc/api/fs.md index d8456dbdb3a1f7..832389ce05c6dd 100644 --- a/doc/api/fs.md +++ b/doc/api/fs.md @@ -402,7 +402,7 @@ try { filehandle = await open('temp.txt', 'r+'); await filehandle.truncate(4); } finally { - filehandle?.close(); + await filehandle?.close(); } ``` From 81bbeab3bd64aa89462acda662df907eab7a53ac Mon Sep 17 00:00:00 2001 From: Rongjian Zhang Date: Fri, 7 May 2021 21:49:07 +0800 Subject: [PATCH 046/118] test: improve coverage of lib/events.js PR-URL: https://github.com/nodejs/node/pull/38582 Reviewed-By: James M Snell Reviewed-By: Rich Trott Reviewed-By: Zijian Liu --- .../test-event-emitter-emit-context.js | 18 ++++++++++++++++++ ...tor.js => test-events-on-async-iterator.js} | 8 ++++++++ 2 files changed, 26 insertions(+) create mode 100644 test/parallel/test-event-emitter-emit-context.js rename test/parallel/{test-event-on-async-iterator.js => test-events-on-async-iterator.js} (97%) diff --git a/test/parallel/test-event-emitter-emit-context.js b/test/parallel/test-event-emitter-emit-context.js new file mode 100644 index 00000000000000..82e4b595185a59 --- /dev/null +++ b/test/parallel/test-event-emitter-emit-context.js @@ -0,0 +1,18 @@ +'use strict'; +const common = require('../common'); +const assert = require('assert'); +const EventEmitter = require('events'); + +// Test emit called by other context +const EE = new EventEmitter(); + +// Works as expected if the context has no `constructor.name` +{ + const ctx = Object.create(null); + assert.throws( + () => EE.emit.call(ctx, 'error', new Error('foo')), + common.expectsError({ name: 'Error', message: 'foo' }) + ); +} + +assert.strictEqual(EE.emit.call({}, 'foo'), false); diff --git a/test/parallel/test-event-on-async-iterator.js b/test/parallel/test-events-on-async-iterator.js similarity index 97% rename from test/parallel/test-event-on-async-iterator.js rename to test/parallel/test-events-on-async-iterator.js index 192326e12bcc39..dbd27a8a44693e 100644 --- a/test/parallel/test-event-on-async-iterator.js +++ b/test/parallel/test-events-on-async-iterator.js @@ -35,6 +35,13 @@ async function basic() { assert.strictEqual(ee.listenerCount('error'), 0); } +async function invalidArgType() { + assert.throws(() => on({}, 'foo'), common.expectsError({ + code: 'ERR_INVALID_ARG_TYPE', + name: 'TypeError', + })); +} + async function error() { const ee = new EventEmitter(); const _err = new Error('kaboom'); @@ -359,6 +366,7 @@ async function abortableOnAfterDone() { async function run() { const funcs = [ basic, + invalidArgType, error, errorDelayed, throwInLoop, From 7b219992e0cddbf9173277d261967f596a683f1e Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Tobias=20Nie=C3=9Fen?= Date: Wed, 2 Jun 2021 02:54:49 +0200 Subject: [PATCH 047/118] doc: fix markup for aesImportParams PR-URL: https://github.com/nodejs/node/pull/38898 Reviewed-By: Colin Ihrig Reviewed-By: Harshitha K P Reviewed-By: Richard Lau Reviewed-By: Antoine du Hamel Reviewed-By: Darshan Sen Reviewed-By: Luigi Pinca Reviewed-By: Zijian Liu --- doc/api/webcrypto.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/doc/api/webcrypto.md b/doc/api/webcrypto.md index 66d577192f5648..8032dad898658b 100644 --- a/doc/api/webcrypto.md +++ b/doc/api/webcrypto.md @@ -992,7 +992,7 @@ added: v15.0.0 added: v15.0.0 --> -#### 'aesImportParams.name` +#### `aesImportParams.name` From f817c2d3bb3c447e08cb5110c3651ee1d3c2a50e Mon Sep 17 00:00:00 2001 From: bl-ue Date: Thu, 10 Jun 2021 18:24:30 -0400 Subject: [PATCH 048/118] tools: fix typo in commit-queue.sh PR-URL: https://github.com/nodejs/node/pull/39000 Reviewed-By: Antoine du Hamel Reviewed-By: Zijian Liu Reviewed-By: James M Snell Reviewed-By: Colin Ihrig --- tools/actions/commit-queue.sh | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/tools/actions/commit-queue.sh b/tools/actions/commit-queue.sh index e0dc01dd526048..671ead5bdf24cf 100755 --- a/tools/actions/commit-queue.sh +++ b/tools/actions/commit-queue.sh @@ -77,7 +77,7 @@ for pr in "$@"; do rm output output.json # If `git node land --abort` fails, we're in unknown state. Better to stop # the script here, current PR was removed from the queue so it shouldn't - # interfer again in the future + # interfere again in the future. git node land --abort --yes else rm output From a19170eb9deb094e65099e94260850b15fadc6cb Mon Sep 17 00:00:00 2001 From: bl-ue Date: Tue, 1 Jun 2021 12:44:39 -0400 Subject: [PATCH 049/118] doc: clarify that only one Python version is required to build MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit PR-URL: https://github.com/nodejs/node/pull/38894 Reviewed-By: Richard Lau Reviewed-By: Antoine du Hamel Reviewed-By: Michaël Zasso Reviewed-By: Colin Ihrig Reviewed-By: Rich Trott Reviewed-By: Harshitha K P Reviewed-By: Darshan Sen Reviewed-By: Zijian Liu --- BUILDING.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/BUILDING.md b/BUILDING.md index 6ebe84f6e1aad5..d8041d684d988b 100644 --- a/BUILDING.md +++ b/BUILDING.md @@ -234,7 +234,7 @@ The Node.js project supports Python >= 3 for building and testing. * `gcc` and `g++` >= 8.3 or newer, or * GNU Make 3.81 or newer -* Python 3.6, 3.7, 3.8, and 3.9 (see note above) +* Python 3.6, 3.7, 3.8, or 3.9 (see note above) Installation via Linux package manager can be achieved with: @@ -249,7 +249,7 @@ FreeBSD and OpenBSD users may also need to install `libexecinfo`. #### macOS prerequisites * Xcode Command Line Tools >= 11 for macOS -* Python 3.6, 3.7, 3.8, and 3.9 (see note above) +* Python 3.6, 3.7, 3.8, or 3.9 (see note above) macOS users can install the `Xcode Command Line Tools` by running `xcode-select --install`. Alternatively, if you already have the full Xcode From 0c90fd845465d3b36d0ea983a2ad5786bd6bb0a0 Mon Sep 17 00:00:00 2001 From: Antoine du Hamel Date: Sun, 10 Jan 2021 10:04:05 +0100 Subject: [PATCH 050/118] tools: avoid crashing CQ when git push fails PR-URL: https://github.com/nodejs/node/pull/36861 Reviewed-By: Mary Marchini --- tools/actions/commit-queue.sh | 43 ++++++++++++++++++++--------------- 1 file changed, 25 insertions(+), 18 deletions(-) diff --git a/tools/actions/commit-queue.sh b/tools/actions/commit-queue.sh index 671ead5bdf24cf..22f306cc36b684 100755 --- a/tools/actions/commit-queue.sh +++ b/tools/actions/commit-queue.sh @@ -37,6 +37,18 @@ gitHubCurl() { --header 'content-type: application/json' "$@" } +commit_queue_failed() { + gitHubCurl "$(labelsUrl "${1}")" POST --data '{"labels": ["'"${COMMIT_QUEUE_FAILED_LABEL}"'"]}' + + # shellcheck disable=SC2154 + cqurl="${GITHUB_SERVER_URL}/${OWNER}/${REPOSITORY}/actions/runs/${GITHUB_RUN_ID}" + jq -n --arg content "
    Commit Queue failed
    $(cat output)
    $cqurl
    " '{body: $content}' > output.json + cat output.json + + gitHubCurl "$(commentsUrl "${1}")" POST --data @output.json + + rm output output.json +} # TODO(mmarchini): should this be set with whoever added the label for each PR? git config --local user.email "github-bot@iojs.org" @@ -64,30 +76,25 @@ for pr in "$@"; do # TODO(mmarchini): workaround for ncu not returning the expected status code, # if the "Landed in..." message was not on the output we assume land failed - if ! tail -n 10 output | grep '. Post "Landed in .*/pull/'"${pr}"; then - gitHubCurl "$(labelsUrl "$pr")" POST --data '{"labels": ["'"${COMMIT_QUEUE_FAILED_LABEL}"'"]}' - - # shellcheck disable=SC2154 - cqurl="${GITHUB_SERVER_URL}/${OWNER}/${REPOSITORY}/actions/runs/${GITHUB_RUN_ID}" - jq -n --arg content "
    Commit Queue failed
    $(cat output)
    $cqurl
    " '{body: $content}' > output.json - cat output.json - - gitHubCurl "$(commentsUrl "$pr")" POST --data @output.json - - rm output output.json + if ! grep -q '. Post "Landed in .*/pull/'"${pr}" output; then + commit_queue_failed "$pr" # If `git node land --abort` fails, we're in unknown state. Better to stop # the script here, current PR was removed from the queue so it shouldn't # interfere again in the future. git node land --abort --yes - else - rm output + continue + fi + + commits="$(git rev-parse $UPSTREAM/$DEFAULT_BRANCH)...$(git rev-parse HEAD)" - commits="$(git rev-parse $UPSTREAM/$DEFAULT_BRANCH)...$(git rev-parse HEAD)" + if ! git push $UPSTREAM $DEFAULT_BRANCH >> output 2>&1; then + commit_queue_failed "$pr" + continue + fi - git push $UPSTREAM $DEFAULT_BRANCH + rm output - gitHubCurl "$(commentsUrl "$pr")" POST --data '{"body": "Landed in '"$commits"'"}' + gitHubCurl "$(commentsUrl "$pr")" POST --data '{"body": "Landed in '"$commits"'"}' - gitHubCurl "$(issueUrl "$pr")" PATCH --data '{"state": "closed"}' - fi + gitHubCurl "$(issueUrl "$pr")" PATCH --data '{"state": "closed"}' done From 8c7b2bab5f6b22d69a6c14fdc16a331f4d4c0854 Mon Sep 17 00:00:00 2001 From: Antoine du Hamel Date: Mon, 31 May 2021 17:41:44 +0200 Subject: [PATCH 051/118] doc,fs: remove experimental status for WHATWG URL as path PR-URL: https://github.com/nodejs/node/pull/38870 Reviewed-By: Darshan Sen Reviewed-By: Zijian Liu --- doc/api/fs.md | 68 +++++++++++++++++++++++++-------------------------- 1 file changed, 34 insertions(+), 34 deletions(-) diff --git a/doc/api/fs.md b/doc/api/fs.md index 832389ce05c6dd..0a032426d5b4f0 100644 --- a/doc/api/fs.md +++ b/doc/api/fs.md @@ -1350,7 +1350,7 @@ changes: - version: v7.6.0 pr-url: https://github.com/nodejs/node/pull/10739 description: The `path` parameter can be a WHATWG `URL` object using `file:` - protocol. Support is currently still *experimental*. + protocol. - version: v6.3.0 pr-url: https://github.com/nodejs/node/pull/6534 description: The constants like `fs.R_OK`, etc which were present directly @@ -1618,7 +1618,7 @@ changes: - version: v7.6.0 pr-url: https://github.com/nodejs/node/pull/10739 description: The `path` parameter can be a WHATWG `URL` object using `file:` - protocol. Support is currently still *experimental*. + protocol. - version: v7.0.0 pr-url: https://github.com/nodejs/node/pull/7897 description: The `callback` parameter is no longer optional. Not passing @@ -1705,7 +1705,7 @@ changes: - version: v7.6.0 pr-url: https://github.com/nodejs/node/pull/10739 description: The `path` parameter can be a WHATWG `URL` object using `file:` - protocol. Support is currently still *experimental*. + protocol. - version: v7.0.0 pr-url: https://github.com/nodejs/node/pull/7897 description: The `callback` parameter is no longer optional. Not passing @@ -1830,7 +1830,7 @@ changes: - version: v7.6.0 pr-url: https://github.com/nodejs/node/pull/10739 description: The `path` parameter can be a WHATWG `URL` object using - `file:` protocol. Support is currently still *experimental*. + `file:` protocol. - version: v7.0.0 pr-url: https://github.com/nodejs/node/pull/7831 description: The passed `options` object will never be modified. @@ -1942,7 +1942,7 @@ changes: - version: v7.6.0 pr-url: https://github.com/nodejs/node/pull/10739 description: The `path` parameter can be a WHATWG `URL` object using - `file:` protocol. Support is currently still *experimental*. + `file:` protocol. - version: v7.0.0 pr-url: https://github.com/nodejs/node/pull/7831 description: The passed `options` object will never be modified. @@ -2004,7 +2004,7 @@ changes: - version: v7.6.0 pr-url: https://github.com/nodejs/node/pull/10739 description: The `path` parameter can be a WHATWG `URL` object using - `file:` protocol. Support is currently still *experimental*. + `file:` protocol. --> > Stability: 0 - Deprecated: Use [`fs.stat()`][] or [`fs.access()`][] instead. @@ -2475,7 +2475,7 @@ changes: - version: v7.6.0 pr-url: https://github.com/nodejs/node/pull/10739 description: The `path` parameter can be a WHATWG `URL` object using `file:` - protocol. Support is currently still *experimental*. + protocol. - version: v7.0.0 pr-url: https://github.com/nodejs/node/pull/7897 description: The `callback` parameter is no longer optional. Not passing @@ -2518,7 +2518,7 @@ changes: - version: v7.6.0 pr-url: https://github.com/nodejs/node/pull/10739 description: The `path` parameter can be a WHATWG `URL` object using `file:` - protocol. Support is currently still *experimental*. + protocol. - version: v7.0.0 pr-url: https://github.com/nodejs/node/pull/7897 description: The `callback` parameter is no longer optional. Not passing @@ -2661,7 +2661,7 @@ changes: - version: v7.6.0 pr-url: https://github.com/nodejs/node/pull/10739 description: The `path` parameter can be a WHATWG `URL` object using `file:` - protocol. Support is currently still *experimental*. + protocol. --> * `path` {string|Buffer|URL} @@ -2802,7 +2802,7 @@ changes: - version: v7.6.0 pr-url: https://github.com/nodejs/node/pull/10739 description: The `path` parameter can be a WHATWG `URL` object using `file:` - protocol. Support is currently still *experimental*. + protocol. - version: v7.0.0 pr-url: https://github.com/nodejs/node/pull/7897 description: The `callback` parameter is no longer optional. Not passing @@ -2853,7 +2853,7 @@ changes: - version: v7.6.0 pr-url: https://github.com/nodejs/node/pull/10739 description: The `path` parameter can be a WHATWG `URL` object using `file:` - protocol. Support is currently still *experimental*. + protocol. - version: v7.0.0 pr-url: https://github.com/nodejs/node/pull/7897 description: The `callback` parameter is no longer optional. Not passing @@ -2983,7 +2983,7 @@ changes: - version: v7.6.0 pr-url: https://github.com/nodejs/node/pull/10739 description: The `path` parameter can be a WHATWG `URL` object using `file:` - protocol. Support is currently still *experimental*. + protocol. - version: v7.0.0 pr-url: https://github.com/nodejs/node/pull/7897 description: The `callback` parameter is no longer optional. Not passing @@ -3049,7 +3049,7 @@ changes: - version: v7.6.0 pr-url: https://github.com/nodejs/node/pull/10739 description: The `path` parameter can be a WHATWG `URL` object using - `file:` protocol. Support is currently still *experimental*. + `file:` protocol. - version: v7.0.0 pr-url: https://github.com/nodejs/node/pull/7897 description: The `callback` parameter is no longer optional. Not passing @@ -3202,7 +3202,7 @@ changes: - version: v7.6.0 pr-url: https://github.com/nodejs/node/pull/10739 description: The `path` parameters can be a WHATWG `URL` object using - `file:` protocol. Support is currently still *experimental*. + `file:` protocol. - version: v7.0.0 pr-url: https://github.com/nodejs/node/pull/7897 description: The `callback` parameter is no longer optional. Not passing @@ -3275,7 +3275,7 @@ changes: - version: v7.6.0 pr-url: https://github.com/nodejs/node/pull/10739 description: The `path` parameter can be a WHATWG `URL` object using `file:` - protocol. Support is currently still *experimental*. + protocol. - version: v7.0.0 pr-url: https://github.com/nodejs/node/pull/7897 description: The `callback` parameter is no longer optional. Not passing @@ -3467,7 +3467,7 @@ changes: - version: v7.6.0 pr-url: https://github.com/nodejs/node/pull/10739 description: The `path` parameter can be a WHATWG `URL` object using `file:` - protocol. Support is currently still *experimental*. + protocol. - version: v7.0.0 pr-url: https://github.com/nodejs/node/pull/7897 description: The `callback` parameter is no longer optional. Not passing @@ -3530,7 +3530,7 @@ changes: - version: v7.6.0 pr-url: https://github.com/nodejs/node/pull/10739 description: The `path` parameter can be a WHATWG `URL` object using `file:` - protocol. Support is currently still *experimental*. + protocol. - version: v7.0.0 pr-url: https://github.com/nodejs/node/pull/7897 description: The `callback` parameter is no longer optional. Not passing @@ -3566,7 +3566,7 @@ changes: - version: v7.6.0 pr-url: https://github.com/nodejs/node/pull/10739 description: The `filename` parameter can be a WHATWG `URL` object using - `file:` protocol. Support is currently still *experimental*. + `file:` protocol. - version: v7.0.0 pr-url: https://github.com/nodejs/node/pull/7831 description: The passed `options` object will never be modified. @@ -3692,7 +3692,7 @@ changes: - version: v7.6.0 pr-url: https://github.com/nodejs/node/pull/10739 description: The `filename` parameter can be a WHATWG `URL` object using - `file:` protocol. Support is currently still *experimental*. + `file:` protocol. --> * `filename` {string|Buffer|URL} @@ -4060,7 +4060,7 @@ changes: - version: v7.6.0 pr-url: https://github.com/nodejs/node/pull/10739 description: The `path` parameter can be a WHATWG `URL` object using `file:` - protocol. Support is currently still *experimental*. + protocol. --> * `path` {string|Buffer|URL} @@ -4155,7 +4155,7 @@ changes: - version: v7.6.0 pr-url: https://github.com/nodejs/node/pull/10739 description: The `path` parameter can be a WHATWG `URL` object using `file:` - protocol. Support is currently still *experimental*. + protocol. --> * `path` {string|Buffer|URL} @@ -4173,7 +4173,7 @@ changes: - version: v7.6.0 pr-url: https://github.com/nodejs/node/pull/10739 description: The `path` parameter can be a WHATWG `URL` object using `file:` - protocol. Support is currently still *experimental*. + protocol. --> * `path` {string|Buffer|URL} @@ -4250,7 +4250,7 @@ changes: - version: v7.6.0 pr-url: https://github.com/nodejs/node/pull/10739 description: The `path` parameter can be a WHATWG `URL` object using - `file:` protocol. Support is currently still *experimental*. + `file:` protocol. --> * `path` {string|Buffer|URL} @@ -4447,7 +4447,7 @@ changes: - version: v7.6.0 pr-url: https://github.com/nodejs/node/pull/10739 description: The `path` parameter can be a WHATWG `URL` object using `file:` - protocol. Support is currently still *experimental*. + protocol. --> * `path` {string|Buffer|URL} @@ -4479,7 +4479,7 @@ changes: - version: v7.6.0 pr-url: https://github.com/nodejs/node/pull/10739 description: The `path` parameter can be a WHATWG `URL` object using `file:` - protocol. Support is currently still *experimental*. + protocol. --> * `path` {string|Buffer|URL} @@ -4552,7 +4552,7 @@ changes: - version: v7.6.0 pr-url: https://github.com/nodejs/node/pull/10739 description: The `path` parameter can be a WHATWG `URL` object using `file:` - protocol. Support is currently still *experimental*. + protocol. --> * `path` {string|Buffer|URL} @@ -4576,7 +4576,7 @@ changes: - version: v7.6.0 pr-url: https://github.com/nodejs/node/pull/10739 description: The `path` parameter can be a WHATWG `URL` object using `file:` - protocol. Support is currently still *experimental*. + protocol. --> * `path` {string|Buffer|URL} @@ -4604,7 +4604,7 @@ changes: - version: v7.6.0 pr-url: https://github.com/nodejs/node/pull/10739 description: The `path` parameter can be a WHATWG `URL` object using `file:` - protocol. Support is currently still *experimental*. + protocol. - version: v5.0.0 pr-url: https://github.com/nodejs/node/pull/3163 description: The `path` parameter can be a file descriptor now. @@ -4645,7 +4645,7 @@ changes: - version: v7.6.0 pr-url: https://github.com/nodejs/node/pull/10739 description: The `path` parameter can be a WHATWG `URL` object using `file:` - protocol. Support is currently still *experimental*. + protocol. --> * `path` {string|Buffer|URL} @@ -4742,7 +4742,7 @@ changes: - version: v7.6.0 pr-url: https://github.com/nodejs/node/pull/10739 description: The `path` parameter can be a WHATWG `URL` object using - `file:` protocol. Support is currently still *experimental*. + `file:` protocol. - version: v6.4.0 pr-url: https://github.com/nodejs/node/pull/7899 description: Calling `realpathSync` now works again for various edge cases @@ -4837,7 +4837,7 @@ changes: - version: v7.6.0 pr-url: https://github.com/nodejs/node/pull/10739 description: The `path` parameters can be a WHATWG `URL` object using - `file:` protocol. Support is currently still *experimental*. + `file:` protocol. --> * `path` {string|Buffer|URL} @@ -4900,7 +4900,7 @@ changes: - version: v7.6.0 pr-url: https://github.com/nodejs/node/pull/10739 description: The `path` parameter can be a WHATWG `URL` object using `file:` - protocol. Support is currently still *experimental*. + protocol. --> * `path` {string|Buffer|URL} @@ -4959,7 +4959,7 @@ changes: - version: v7.6.0 pr-url: https://github.com/nodejs/node/pull/10739 description: The `path` parameter can be a WHATWG `URL` object using `file:` - protocol. Support is currently still *experimental*. + protocol. --> * `path` {string|Buffer|URL} @@ -4977,7 +4977,7 @@ changes: - version: v7.6.0 pr-url: https://github.com/nodejs/node/pull/10739 description: The `path` parameter can be a WHATWG `URL` object using `file:` - protocol. Support is currently still *experimental*. + protocol. - version: v4.1.0 pr-url: https://github.com/nodejs/node/pull/2387 description: Numeric strings, `NaN` and `Infinity` are now allowed From f7724ab3428971a67e575af79d5afb02d1a9246d Mon Sep 17 00:00:00 2001 From: Gabriel Schulhof Date: Thu, 3 Jun 2021 23:05:07 -0700 Subject: [PATCH 052/118] node-api: avoid crashing on passed-in null string When `napi_create_string_*` receives a null pointer as its second argument, it must null-check it before passing it into V8, otherwise a crash will occur. Signed-off-by: Gabriel Schulhof PR-URL: https://github.com/nodejs/node/pull/38923 Reviewed-By: Franziska Hinkelmann Reviewed-By: James M Snell Reviewed-By: Anna Henningsen Reviewed-By: Chengzhong Wu Reviewed-By: Michael Dawson --- src/js_native_api_v8.cc | 6 ++ test/js-native-api/test_string/binding.gyp | 4 +- test/js-native-api/test_string/test_null.c | 71 ++++++++++++++++++++ test/js-native-api/test_string/test_null.h | 8 +++ test/js-native-api/test_string/test_null.js | 17 +++++ test/js-native-api/test_string/test_string.c | 3 + 6 files changed, 108 insertions(+), 1 deletion(-) create mode 100644 test/js-native-api/test_string/test_null.c create mode 100644 test/js-native-api/test_string/test_null.h create mode 100644 test/js-native-api/test_string/test_null.js diff --git a/src/js_native_api_v8.cc b/src/js_native_api_v8.cc index d972ee43c8861e..33587bc2a79b27 100644 --- a/src/js_native_api_v8.cc +++ b/src/js_native_api_v8.cc @@ -1485,6 +1485,8 @@ napi_status napi_create_string_latin1(napi_env env, size_t length, napi_value* result) { CHECK_ENV(env); + if (length > 0) + CHECK_ARG(env, str); CHECK_ARG(env, result); RETURN_STATUS_IF_FALSE(env, (length == NAPI_AUTO_LENGTH) || length <= INT_MAX, @@ -1507,6 +1509,8 @@ napi_status napi_create_string_utf8(napi_env env, size_t length, napi_value* result) { CHECK_ENV(env); + if (length > 0) + CHECK_ARG(env, str); CHECK_ARG(env, result); RETURN_STATUS_IF_FALSE(env, (length == NAPI_AUTO_LENGTH) || length <= INT_MAX, @@ -1528,6 +1532,8 @@ napi_status napi_create_string_utf16(napi_env env, size_t length, napi_value* result) { CHECK_ENV(env); + if (length > 0) + CHECK_ARG(env, str); CHECK_ARG(env, result); RETURN_STATUS_IF_FALSE(env, (length == NAPI_AUTO_LENGTH) || length <= INT_MAX, diff --git a/test/js-native-api/test_string/binding.gyp b/test/js-native-api/test_string/binding.gyp index 8b0f3e33543d39..c2f55857d41fe7 100644 --- a/test/js-native-api/test_string/binding.gyp +++ b/test/js-native-api/test_string/binding.gyp @@ -4,7 +4,9 @@ "target_name": "test_string", "sources": [ "../entry_point.c", - "test_string.c" + "test_string.c", + "test_null.c", + "../common.c", ] } ] diff --git a/test/js-native-api/test_string/test_null.c b/test/js-native-api/test_string/test_null.c new file mode 100644 index 00000000000000..72ca286c16787d --- /dev/null +++ b/test/js-native-api/test_string/test_null.c @@ -0,0 +1,71 @@ +#include + +#include "../common.h" +#include "test_null.h" + +#define DECLARE_TEST(charset, str_arg) \ + static napi_value \ + test_create_##charset(napi_env env, napi_callback_info info) { \ + napi_value return_value, result; \ + NODE_API_CALL(env, napi_create_object(env, &return_value)); \ + \ + add_returned_status(env, \ + "envIsNull", \ + return_value, \ + "Invalid argument", \ + napi_invalid_arg, \ + napi_create_string_##charset(NULL, \ + (str_arg), \ + NAPI_AUTO_LENGTH, \ + &result)); \ + \ + napi_create_string_##charset(env, NULL, NAPI_AUTO_LENGTH, &result); \ + add_last_status(env, "stringIsNullNonZeroLength", return_value); \ + \ + napi_create_string_##charset(env, NULL, 0, &result); \ + add_last_status(env, "stringIsNullZeroLength", return_value); \ + \ + napi_create_string_##charset(env, (str_arg), NAPI_AUTO_LENGTH, NULL); \ + add_last_status(env, "resultIsNull", return_value); \ + \ + return return_value; \ + } + +static const char16_t something[] = { + (char16_t)'s', + (char16_t)'o', + (char16_t)'m', + (char16_t)'e', + (char16_t)'t', + (char16_t)'h', + (char16_t)'i', + (char16_t)'n', + (char16_t)'g', + (char16_t)'\0' +}; + +DECLARE_TEST(utf8, "something") +DECLARE_TEST(latin1, "something") +DECLARE_TEST(utf16, something) + +void init_test_null(napi_env env, napi_value exports) { + napi_value test_null; + + const napi_property_descriptor test_null_props[] = { + DECLARE_NODE_API_PROPERTY("test_create_utf8", test_create_utf8), + DECLARE_NODE_API_PROPERTY("test_create_latin1", test_create_latin1), + DECLARE_NODE_API_PROPERTY("test_create_utf16", test_create_utf16), + }; + + NODE_API_CALL_RETURN_VOID(env, napi_create_object(env, &test_null)); + NODE_API_CALL_RETURN_VOID(env, napi_define_properties( + env, test_null, sizeof(test_null_props) / sizeof(*test_null_props), + test_null_props)); + + const napi_property_descriptor test_null_set = { + "testNull", NULL, NULL, NULL, NULL, test_null, napi_enumerable, NULL + }; + + NODE_API_CALL_RETURN_VOID(env, + napi_define_properties(env, exports, 1, &test_null_set)); +} diff --git a/test/js-native-api/test_string/test_null.h b/test/js-native-api/test_string/test_null.h new file mode 100644 index 00000000000000..fdeb17384b4f0b --- /dev/null +++ b/test/js-native-api/test_string/test_null.h @@ -0,0 +1,8 @@ +#ifndef TEST_JS_NATIVE_API_TEST_STRING_TEST_NULL_H_ +#define TEST_JS_NATIVE_API_TEST_STRING_TEST_NULL_H_ + +#include + +void init_test_null(napi_env env, napi_value exports); + +#endif // TEST_JS_NATIVE_API_TEST_STRING_TEST_NULL_H_ diff --git a/test/js-native-api/test_string/test_null.js b/test/js-native-api/test_string/test_null.js new file mode 100644 index 00000000000000..ad19b4a82b588b --- /dev/null +++ b/test/js-native-api/test_string/test_null.js @@ -0,0 +1,17 @@ +'use strict'; +const common = require('../../common'); +const assert = require('assert'); + +// Test passing NULL to object-related N-APIs. +const { testNull } = require(`./build/${common.buildType}/test_string`); + +const expectedResult = { + envIsNull: 'Invalid argument', + stringIsNullNonZeroLength: 'Invalid argument', + stringIsNullZeroLength: 'napi_ok', + resultIsNull: 'Invalid argument', +}; + +assert.deepStrictEqual(expectedResult, testNull.test_create_latin1()); +assert.deepStrictEqual(expectedResult, testNull.test_create_utf8()); +assert.deepStrictEqual(expectedResult, testNull.test_create_utf16()); diff --git a/test/js-native-api/test_string/test_string.c b/test/js-native-api/test_string/test_string.c index 1dc1bf75774472..c78d761fb2ee59 100644 --- a/test/js-native-api/test_string/test_string.c +++ b/test/js-native-api/test_string/test_string.c @@ -2,6 +2,7 @@ #include #include #include "../common.h" +#include "test_null.h" static napi_value TestLatin1(napi_env env, napi_callback_info info) { size_t argc = 1; @@ -283,6 +284,8 @@ napi_value Init(napi_env env, napi_value exports) { DECLARE_NODE_API_PROPERTY("TestMemoryCorruption", TestMemoryCorruption), }; + init_test_null(env, exports); + NODE_API_CALL(env, napi_define_properties( env, exports, sizeof(properties) / sizeof(*properties), properties)); From c0d236f5ea3afdf13255da6f31ed73fc4908295c Mon Sep 17 00:00:00 2001 From: Richard Lau Date: Wed, 9 Jun 2021 11:27:25 -0400 Subject: [PATCH 053/118] build: make build-addons errors fail the build The `build-addons` makefile target runs `tools/doc/addon-verify.js` and then uses `touch` to update a timestamp file. Unconditionally calling `touch` was losing the exit code from `tools/doc/addon-verify.js` so any errors produced by that script were not failing the build. PR-URL: https://github.com/nodejs/node/pull/38983 Reviewed-By: Antoine du Hamel Reviewed-By: Michael Dawson Reviewed-By: Colin Ihrig Reviewed-By: James M Snell --- Makefile | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Makefile b/Makefile index 688cb85e774b14..97c9562a559115 100644 --- a/Makefile +++ b/Makefile @@ -352,7 +352,7 @@ test/addons/.docbuildstamp: $(DOCBUILDSTAMP_PREREQS) tools/doc/node_modules else \ $(RM) -r test/addons/??_*/; \ [ -x $(NODE) ] && $(NODE) $< || node $< ; \ - touch $@; \ + [ $$? -eq 0 ] && touch $@; \ fi ADDONS_BINDING_GYPS := \ From 637c1fa83c7267f0d0c3b375c06a61c86c4ebf05 Mon Sep 17 00:00:00 2001 From: Antoine du Hamel Date: Sat, 29 May 2021 10:35:41 +0200 Subject: [PATCH 054/118] lib: refactor debuglog init PR-URL: https://github.com/nodejs/node/pull/38838 Reviewed-By: Darshan Sen Reviewed-By: Anto Aravinth --- lib/internal/util/debuglog.js | 22 +++++++++++----------- 1 file changed, 11 insertions(+), 11 deletions(-) diff --git a/lib/internal/util/debuglog.js b/lib/internal/util/debuglog.js index b1f82b957b162a..93c741e753525f 100644 --- a/lib/internal/util/debuglog.js +++ b/lib/internal/util/debuglog.js @@ -1,11 +1,10 @@ 'use strict'; const { - FunctionPrototypeBind, ObjectCreate, ObjectDefineProperty, RegExp, - RegExpPrototypeTest, + RegExpPrototypeExec, SafeArrayIterator, StringPrototypeToLowerCase, StringPrototypeToUpperCase, @@ -13,24 +12,25 @@ const { const { inspect, format, formatWithOptions } = require('internal/util/inspect'); -// `debugs` is deliberately initialized to undefined so any call to -// debuglog() before initializeDebugEnv() is called will throw. +// `debugImpls` and `testEnabled` are deliberately not initialized so any call +// to `debuglog()` before `initializeDebugEnv()` is called will throw. let debugImpls; - -let debugEnvRegex = /^$/; let testEnabled; + // `debugEnv` is initial value of process.env.NODE_DEBUG function initializeDebugEnv(debugEnv) { debugImpls = ObjectCreate(null); if (debugEnv) { + // This is run before any user code, it's OK not to use primordials. debugEnv = debugEnv.replace(/[|\\{}()[\]^$+?.]/g, '\\$&') - .replace(/\*/g, '.*') - .replace(/,/g, '$|^') - .toUpperCase(); - debugEnvRegex = new RegExp(`^${debugEnv}$`, 'i'); + .replaceAll('*', '.*') + .replaceAll(',', '$|^'); + const debugEnvRegex = new RegExp(`^${debugEnv}$`, 'i'); + testEnabled = (str) => RegExpPrototypeExec(debugEnvRegex, str) !== null; + } else { + testEnabled = () => false; } - testEnabled = FunctionPrototypeBind(RegExpPrototypeTest, null, debugEnvRegex); } // Emits warning when user sets From 51561f390a4fa01e156eb7746e9462dfdb90457b Mon Sep 17 00:00:00 2001 From: Antoine du Hamel Date: Sat, 12 Jun 2021 18:17:29 +0200 Subject: [PATCH 055/118] doc: add missing changelog links MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Refs: https://github.com/nodejs/node/pull/38507 Refs: https://github.com/nodejs/node/pull/38874 PR-URL: https://github.com/nodejs/node/pull/39016 Reviewed-By: Richard Lau Reviewed-By: Michaël Zasso Reviewed-By: Rich Trott Reviewed-By: Luigi Pinca Reviewed-By: Zijian Liu --- CHANGELOG.md | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 687d87ba10bb1f..b29eff0a250675 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -32,12 +32,14 @@ release. -16.2.0
    +16.3.0
    +16.2.0
    16.1.0
    16.0.0
    -14.16.1
    +14.17.0
    +14.16.1
    14.16.0
    14.15.5
    14.15.4
    From f652284b3b87b0b7c5a252fbff38e8362e00de5d Mon Sep 17 00:00:00 2001 From: Rich Trott Date: Thu, 10 Jun 2021 21:42:44 -0700 Subject: [PATCH 056/118] test: remove obsolete TLS test The test involving melissadata.net was to make sure Node.js still tolerated ValiCert 1024-bit certs. It has been several years since melissadata.net used ValiCert as a root certificate and for that matter, we removed ValiCert in a4dbf45b5958d7be95d5aec8de934526c36a7b12 so it would have broken then if it was still using it. The test is no longer valid or needed and hasn't been for several years. PR-URL: https://github.com/nodejs/node/pull/39001 Reviewed-By: Zijian Liu Reviewed-By: James M Snell Reviewed-By: Luigi Pinca Reviewed-By: Colin Ihrig --- test/internet/test-tls-connnect-melissadata.js | 13 ------------- 1 file changed, 13 deletions(-) delete mode 100644 test/internet/test-tls-connnect-melissadata.js diff --git a/test/internet/test-tls-connnect-melissadata.js b/test/internet/test-tls-connnect-melissadata.js deleted file mode 100644 index ab5aa3950938b3..00000000000000 --- a/test/internet/test-tls-connnect-melissadata.js +++ /dev/null @@ -1,13 +0,0 @@ -'use strict'; -// Test for authorized access to the server which has a cross root -// certification between Starfield Class 2 and ValiCert Class 2 - -const common = require('../common'); -if (!common.hasCrypto) - common.skip('missing crypto'); - -const tls = require('tls'); -const socket = tls.connect(443, 'address.melissadata.net', function() { - socket.resume(); - socket.destroy(); -}); From 92ed1c6cce8556ff49f77f4e189d23bc2c30b6d8 Mon Sep 17 00:00:00 2001 From: Antoine du Hamel Date: Wed, 9 Jun 2021 12:51:41 +0200 Subject: [PATCH 057/118] module: fix legacy `node` specifier resolution to resolve `"main"` field PR-URL: https://github.com/nodejs/node/pull/38979 Fixes: https://github.com/nodejs/node/issues/32103 Fixes: https://github.com/nodejs/node/issues/38739 Reviewed-By: Bradley Farias Reviewed-By: Guy Bedford --- lib/internal/modules/esm/resolve.js | 26 ++++++++++++++----- .../test-esm-specifiers-legacy-flag.mjs | 3 +++ .../dir-with-main/main.js | 1 + .../dir-with-main/package.json | 3 +++ 4 files changed, 27 insertions(+), 6 deletions(-) create mode 100644 test/fixtures/es-module-specifiers/dir-with-main/main.js create mode 100644 test/fixtures/es-module-specifiers/dir-with-main/package.json diff --git a/lib/internal/modules/esm/resolve.js b/lib/internal/modules/esm/resolve.js index 7b503376af0950..8b6f23bb485d8b 100644 --- a/lib/internal/modules/esm/resolve.js +++ b/lib/internal/modules/esm/resolve.js @@ -34,7 +34,7 @@ const { getOptionValue } = require('internal/options'); const policy = getOptionValue('--experimental-policy') ? require('internal/process/policy') : null; -const { sep, relative } = require('path'); +const { sep, relative, resolve } = require('path'); const preserveSymlinks = getOptionValue('--preserve-symlinks'); const preserveSymlinksMain = getOptionValue('--preserve-symlinks-main'); const typeFlag = getOptionValue('--input-type'); @@ -204,16 +204,18 @@ function getPackageScopeConfig(resolved) { return packageConfig; } -/* +/** * Legacy CommonJS main resolution: * 1. let M = pkg_url + (json main field) * 2. TRY(M, M.js, M.json, M.node) * 3. TRY(M/index.js, M/index.json, M/index.node) * 4. TRY(pkg_url/index.js, pkg_url/index.json, pkg_url/index.node) * 5. NOT_FOUND + * @param {string | URL} url + * @returns {boolean} */ function fileExists(url) { - return tryStatSync(fileURLToPath(url)).isFile(); + return statSync(url, { throwIfNoEntry: false })?.isFile() ?? false; } function legacyMainResolve(packageJSONUrl, packageConfig, base) { @@ -272,7 +274,19 @@ function resolveExtensions(search) { return undefined; } -function resolveIndex(search) { +function resolveDirectoryEntry(search) { + const dirPath = fileURLToPath(search); + const pkgJsonPath = resolve(dirPath, 'package.json'); + if (fileExists(pkgJsonPath)) { + const pkgJson = packageJsonReader.read(pkgJsonPath); + if (pkgJson.containsKeys) { + const { main } = JSONParse(pkgJson.string); + if (main != null) { + const mainUrl = pathToFileURL(resolve(dirPath, main)); + return resolveExtensionsWithTryExactName(mainUrl); + } + } + } return resolveExtensions(new URL('index', search)); } @@ -288,10 +302,10 @@ function finalizeResolution(resolved, base) { let file = resolveExtensionsWithTryExactName(resolved); if (file !== undefined) return file; if (!StringPrototypeEndsWith(path, '/')) { - file = resolveIndex(new URL(`${resolved}/`)); + file = resolveDirectoryEntry(new URL(`${resolved}/`)); if (file !== undefined) return file; } else { - return resolveIndex(resolved) || resolved; + return resolveDirectoryEntry(resolved) || resolved; } throw new ERR_MODULE_NOT_FOUND( resolved.pathname, fileURLToPath(base), 'module'); diff --git a/test/es-module/test-esm-specifiers-legacy-flag.mjs b/test/es-module/test-esm-specifiers-legacy-flag.mjs index fcf0c915b649f0..5351846c6a8a04 100644 --- a/test/es-module/test-esm-specifiers-legacy-flag.mjs +++ b/test/es-module/test-esm-specifiers-legacy-flag.mjs @@ -6,12 +6,15 @@ import assert from 'assert'; import commonjs from '../fixtures/es-module-specifiers/package-type-commonjs'; // esm index.js import module from '../fixtures/es-module-specifiers/package-type-module'; +// Directory entry with main.js +import main from '../fixtures/es-module-specifiers/dir-with-main'; // Notice the trailing slash import success, { explicit, implicit, implicitModule } from '../fixtures/es-module-specifiers/'; assert.strictEqual(commonjs, 'commonjs'); assert.strictEqual(module, 'module'); +assert.strictEqual(main, 'main'); assert.strictEqual(success, 'success'); assert.strictEqual(explicit, 'esm'); assert.strictEqual(implicit, 'cjs'); diff --git a/test/fixtures/es-module-specifiers/dir-with-main/main.js b/test/fixtures/es-module-specifiers/dir-with-main/main.js new file mode 100644 index 00000000000000..dfdd47b877319c --- /dev/null +++ b/test/fixtures/es-module-specifiers/dir-with-main/main.js @@ -0,0 +1 @@ +module.exports = 'main'; diff --git a/test/fixtures/es-module-specifiers/dir-with-main/package.json b/test/fixtures/es-module-specifiers/dir-with-main/package.json new file mode 100644 index 00000000000000..2a4fe3630817ab --- /dev/null +++ b/test/fixtures/es-module-specifiers/dir-with-main/package.json @@ -0,0 +1,3 @@ +{ + "main": "./main.js" +} From ed91379186cfe407a880124514a6f264583f3e33 Mon Sep 17 00:00:00 2001 From: Mao Wtm Date: Sat, 22 Jun 2019 11:12:48 +0800 Subject: [PATCH 058/118] doc: clearify that http does chunked encoding itself Co-authored-by: Antoine du Hamel PR-URL: https://github.com/nodejs/node/pull/28379 Reviewed-By: Matteo Collina Reviewed-By: Antoine du Hamel Reviewed-By: Anna Henningsen --- doc/api/http.md | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/doc/api/http.md b/doc/api/http.md index 0f6ab5343de10a..9c4807c53afcec 100644 --- a/doc/api/http.md +++ b/doc/api/http.md @@ -1027,11 +1027,11 @@ added: v0.1.29 * `callback` {Function} * Returns: {boolean} -Sends a chunk of the body. By calling this method -many times, a request body can be sent to a -server. In that case, it is suggested to use the -`['Transfer-Encoding', 'chunked']` header line when -creating the request. +Sends a chunk of the body. This method can be called multiple times. If no +`Content-Length` is set, data will automatically be encoded in HTTP Chunked +transfer encoding, so that server knows when the data ends. The +`Transfer-Encoding: chunked` header is added. Calling [`request.end()`][] +is necessary to finish sending the request. The `encoding` argument is optional and only applies when `chunk` is a string. Defaults to `'utf8'`. From e82ef4148e43beec1db89fc18fad55a8dae01b16 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Micha=C3=ABl=20Zasso?= Date: Thu, 10 Jun 2021 14:24:30 +0200 Subject: [PATCH 059/118] deps: update V8 to 9.1.269.36 PR-URL: https://github.com/nodejs/node/pull/38273 Backport-PR-URL: https://github.com/nodejs/node/pull/38991 Reviewed-By: Jiawen Geng Reviewed-By: Colin Ihrig Reviewed-By: Antoine du Hamel Reviewed-By: Michael Dawson Reviewed-By: Mary Marchini --- deps/v8/AUTHORS | 4 +- deps/v8/BUILD.gn | 2736 +++++++++-------- deps/v8/COMMON_OWNERS | 6 +- deps/v8/DEPS | 48 +- deps/v8/ENG_REVIEW_OWNERS | 1 - .../trace_event/common/trace_event_common.h | 6 +- deps/v8/gni/snapshot_toolchain.gni | 4 + deps/v8/gni/v8.cmx | 44 + deps/v8/include/OWNERS | 14 +- deps/v8/include/cppgc/allocation.h | 53 +- .../include/cppgc/cross-thread-persistent.h | 67 +- deps/v8/include/cppgc/explicit-management.h | 73 + deps/v8/include/cppgc/garbage-collected.h | 3 +- deps/v8/include/cppgc/heap-state.h | 11 + deps/v8/include/cppgc/internal/gc-info.h | 56 +- .../include/cppgc/internal/persistent-node.h | 40 + .../include/cppgc/internal/pointer-policies.h | 7 +- deps/v8/include/cppgc/testing.h | 49 + deps/v8/include/cppgc/visitor.h | 79 +- deps/v8/include/v8-cppgc.h | 15 + deps/v8/include/v8-fast-api-calls.h | 346 ++- deps/v8/include/v8-internal.h | 18 +- deps/v8/include/v8-platform.h | 19 +- deps/v8/include/v8-version.h | 6 +- deps/v8/include/v8.h | 334 +- deps/v8/infra/mb/mb_config.pyl | 1 + deps/v8/infra/testing/builders.pyl | 93 +- deps/v8/src/DEPS | 7 +- deps/v8/src/api/api-inl.h | 1 + deps/v8/src/api/api-natives.cc | 6 +- deps/v8/src/api/api.cc | 882 +++--- deps/v8/src/api/api.h | 2 +- deps/v8/src/asmjs/OWNERS | 1 - deps/v8/src/asmjs/asm-js.cc | 2 + deps/v8/src/ast/OWNERS | 3 - deps/v8/src/ast/ast.cc | 36 +- deps/v8/src/ast/ast.h | 111 +- deps/v8/src/ast/scopes.cc | 13 +- deps/v8/src/ast/scopes.h | 8 + deps/v8/src/base/cpu.cc | 62 +- deps/v8/src/base/cpu.h | 44 +- deps/v8/src/base/immediate-crash.h | 162 + deps/v8/src/base/logging.cc | 9 - deps/v8/src/base/logging.h | 95 +- deps/v8/src/base/macros.h | 15 +- deps/v8/src/base/overflowing-math.h | 7 - deps/v8/src/base/platform/OWNERS | 1 + deps/v8/src/base/platform/platform-fuchsia.cc | 2 +- deps/v8/src/base/platform/platform-posix.cc | 2 +- deps/v8/src/base/platform/platform-win32.cc | 2 +- deps/v8/src/base/template-utils.h | 8 +- deps/v8/src/base/vlq.h | 85 + deps/v8/src/baseline/OWNERS | 1 + .../baseline/arm/baseline-assembler-arm-inl.h | 483 +++ .../baseline/arm/baseline-compiler-arm-inl.h | 94 + .../arm64/baseline-assembler-arm64-inl.h | 52 +- .../arm64/baseline-compiler-arm64-inl.h | 7 +- deps/v8/src/baseline/baseline-assembler-inl.h | 9 +- deps/v8/src/baseline/baseline-assembler.h | 14 +- deps/v8/src/baseline/baseline-compiler.cc | 463 +-- deps/v8/src/baseline/baseline-compiler.h | 39 +- deps/v8/src/baseline/baseline.cc | 19 +- deps/v8/src/baseline/baseline.h | 4 +- .../src/baseline/bytecode-offset-iterator.cc | 65 + .../src/baseline/bytecode-offset-iterator.h | 98 + .../ia32/baseline-assembler-ia32-inl.h | 445 +++ .../ia32/baseline-compiler-ia32-inl.h | 93 + .../baseline/x64/baseline-assembler-x64-inl.h | 33 +- .../baseline/x64/baseline-compiler-x64-inl.h | 5 +- deps/v8/src/bigint/DEPS | 13 + deps/v8/src/bigint/OWNERS | 2 + deps/v8/src/bigint/bigint.h | 131 + deps/v8/src/bigint/vector-arithmetic.cc | 22 + deps/v8/src/builtins/accessors.cc | 9 +- deps/v8/src/builtins/arm/builtins-arm.cc | 463 ++- deps/v8/src/builtins/arm64/builtins-arm64.cc | 313 +- deps/v8/src/builtins/array-join.tq | 10 +- deps/v8/src/builtins/base.tq | 79 +- deps/v8/src/builtins/builtins-array-gen.cc | 3 - deps/v8/src/builtins/builtins-array.cc | 24 +- .../builtins/builtins-async-function-gen.cc | 4 +- deps/v8/src/builtins/builtins-async-gen.cc | 64 +- deps/v8/src/builtins/builtins-async-gen.h | 6 - .../builtins/builtins-async-generator-gen.cc | 4 +- deps/v8/src/builtins/builtins-callsite.cc | 2 + .../src/builtins/builtins-collections-gen.cc | 7 +- .../src/builtins/builtins-constructor-gen.cc | 24 +- deps/v8/src/builtins/builtins-definitions.h | 23 +- deps/v8/src/builtins/builtins-function.cc | 9 - .../v8/src/builtins/builtins-generator-gen.cc | 109 + deps/v8/src/builtins/builtins-internal-gen.cc | 108 +- deps/v8/src/builtins/builtins-intl.cc | 24 +- deps/v8/src/builtins/builtins-iterator-gen.cc | 10 +- deps/v8/src/builtins/builtins-iterator-gen.h | 2 - deps/v8/src/builtins/builtins-lazy-gen.cc | 14 +- .../builtins/builtins-microtask-queue-gen.cc | 62 +- deps/v8/src/builtins/builtins-object-gen.cc | 45 +- deps/v8/src/builtins/builtins-proxy-gen.cc | 4 +- deps/v8/src/builtins/builtins-proxy-gen.h | 1 - deps/v8/src/builtins/builtins-regexp-gen.cc | 31 +- deps/v8/src/builtins/builtins-string-gen.cc | 2 - .../src/builtins/builtins-typed-array-gen.cc | 72 +- deps/v8/src/builtins/builtins.cc | 10 +- deps/v8/src/builtins/builtins.h | 7 +- deps/v8/src/builtins/cast.tq | 6 - deps/v8/src/builtins/constructor.tq | 5 +- deps/v8/src/builtins/convert.tq | 24 +- deps/v8/src/builtins/ia32/builtins-ia32.cc | 452 ++- deps/v8/src/builtins/iterator.tq | 1 + deps/v8/src/builtins/mips/builtins-mips.cc | 34 +- .../v8/src/builtins/mips64/builtins-mips64.cc | 34 +- deps/v8/src/builtins/object.tq | 6 +- deps/v8/src/builtins/ppc/builtins-ppc.cc | 35 +- .../builtins/promise-abstract-operations.tq | 15 +- .../builtins/promise-all-element-closure.tq | 2 +- deps/v8/src/builtins/promise-all.tq | 3 +- deps/v8/src/builtins/promise-constructor.tq | 7 +- deps/v8/src/builtins/promise-jobs.tq | 3 +- deps/v8/src/builtins/promise-misc.tq | 121 +- deps/v8/src/builtins/promise-resolve.tq | 16 +- .../src/builtins/riscv64/builtins-riscv64.cc | 4 +- deps/v8/src/builtins/s390/builtins-s390.cc | 35 +- deps/v8/src/builtins/torque-internal.tq | 9 + deps/v8/src/builtins/wasm.tq | 47 +- deps/v8/src/builtins/x64/builtins-x64.cc | 688 +++-- deps/v8/src/codegen/OWNERS | 4 +- deps/v8/src/codegen/aligned-slot-allocator.cc | 125 + deps/v8/src/codegen/aligned-slot-allocator.h | 71 + deps/v8/src/codegen/arm/assembler-arm-inl.h | 2 - deps/v8/src/codegen/arm/assembler-arm.cc | 17 +- deps/v8/src/codegen/arm/assembler-arm.h | 15 + .../codegen/arm/interface-descriptors-arm.cc | 24 +- .../v8/src/codegen/arm/macro-assembler-arm.cc | 88 +- deps/v8/src/codegen/arm/macro-assembler-arm.h | 21 +- deps/v8/src/codegen/arm/register-arm.h | 7 +- .../src/codegen/arm64/assembler-arm64-inl.h | 2 - deps/v8/src/codegen/arm64/assembler-arm64.cc | 145 +- deps/v8/src/codegen/arm64/assembler-arm64.h | 16 +- deps/v8/src/codegen/arm64/constants-arm64.h | 25 - .../codegen/arm64/macro-assembler-arm64-inl.h | 5 +- .../codegen/arm64/macro-assembler-arm64.cc | 121 +- .../src/codegen/arm64/macro-assembler-arm64.h | 22 +- deps/v8/src/codegen/arm64/register-arm64.h | 31 +- deps/v8/src/codegen/assembler.cc | 6 + deps/v8/src/codegen/assembler.h | 5 + deps/v8/src/codegen/code-factory.cc | 7 + deps/v8/src/codegen/code-factory.h | 1 + deps/v8/src/codegen/code-reference.cc | 18 + deps/v8/src/codegen/code-stub-assembler.cc | 1841 ++++++++--- deps/v8/src/codegen/code-stub-assembler.h | 274 +- deps/v8/src/codegen/compilation-cache.cc | 16 +- deps/v8/src/codegen/compilation-cache.h | 9 +- deps/v8/src/codegen/compiler.cc | 122 +- deps/v8/src/codegen/cpu-features.h | 5 +- deps/v8/src/codegen/external-reference.cc | 162 +- deps/v8/src/codegen/external-reference.h | 103 +- deps/v8/src/codegen/handler-table.cc | 5 + deps/v8/src/codegen/handler-table.h | 2 + deps/v8/src/codegen/ia32/assembler-ia32-inl.h | 6 - deps/v8/src/codegen/ia32/assembler-ia32.cc | 32 +- deps/v8/src/codegen/ia32/assembler-ia32.h | 6 + .../ia32/interface-descriptors-ia32.cc | 16 +- .../src/codegen/ia32/macro-assembler-ia32.cc | 637 +--- .../src/codegen/ia32/macro-assembler-ia32.h | 238 +- deps/v8/src/codegen/ia32/register-ia32.h | 7 +- deps/v8/src/codegen/interface-descriptors.cc | 31 +- deps/v8/src/codegen/interface-descriptors.h | 47 +- deps/v8/src/codegen/machine-type.h | 24 +- deps/v8/src/codegen/mips/assembler-mips-inl.h | 2 - deps/v8/src/codegen/mips/assembler-mips.cc | 2 + .../src/codegen/mips/macro-assembler-mips.cc | 10 +- .../src/codegen/mips/macro-assembler-mips.h | 11 +- deps/v8/src/codegen/mips/register-mips.h | 7 +- .../src/codegen/mips64/assembler-mips64-inl.h | 2 - .../v8/src/codegen/mips64/assembler-mips64.cc | 2 + .../codegen/mips64/macro-assembler-mips64.cc | 10 +- .../codegen/mips64/macro-assembler-mips64.h | 12 +- deps/v8/src/codegen/mips64/register-mips64.h | 7 +- .../src/codegen/optimized-compilation-info.cc | 7 + .../src/codegen/optimized-compilation-info.h | 6 + deps/v8/src/codegen/ppc/assembler-ppc-inl.h | 2 - deps/v8/src/codegen/ppc/assembler-ppc.cc | 50 +- deps/v8/src/codegen/ppc/assembler-ppc.h | 15 +- deps/v8/src/codegen/ppc/constants-ppc.h | 201 +- .../v8/src/codegen/ppc/macro-assembler-ppc.cc | 10 +- deps/v8/src/codegen/ppc/macro-assembler-ppc.h | 10 +- deps/v8/src/codegen/ppc/register-ppc.h | 30 +- deps/v8/src/codegen/register-arch.h | 14 + deps/v8/src/codegen/register.cc | 16 - deps/v8/src/codegen/register.h | 3 - deps/v8/src/codegen/reloc-info.cc | 7 +- deps/v8/src/codegen/reloc-info.h | 4 + .../codegen/riscv64/assembler-riscv64-inl.h | 2 - .../src/codegen/riscv64/assembler-riscv64.cc | 2 + .../riscv64/interface-descriptors-riscv64.cc | 12 + .../riscv64/macro-assembler-riscv64.cc | 5 +- .../codegen/riscv64/macro-assembler-riscv64.h | 15 +- .../v8/src/codegen/riscv64/register-riscv64.h | 6 + deps/v8/src/codegen/s390/assembler-s390-inl.h | 4 - deps/v8/src/codegen/s390/assembler-s390.cc | 4 + .../src/codegen/s390/macro-assembler-s390.cc | 224 +- .../src/codegen/s390/macro-assembler-s390.h | 26 +- deps/v8/src/codegen/s390/register-s390.h | 7 +- deps/v8/src/codegen/safepoint-table.cc | 31 +- deps/v8/src/codegen/safepoint-table.h | 43 +- .../macro-assembler-shared-ia32-x64.cc | 403 +++ .../macro-assembler-shared-ia32-x64.h | 189 ++ deps/v8/src/codegen/signature.h | 54 + deps/v8/src/codegen/tnode.h | 31 +- deps/v8/src/codegen/x64/assembler-x64-inl.h | 8 +- deps/v8/src/codegen/x64/assembler-x64.cc | 60 +- deps/v8/src/codegen/x64/assembler-x64.h | 2 +- .../v8/src/codegen/x64/macro-assembler-x64.cc | 456 +-- deps/v8/src/codegen/x64/macro-assembler-x64.h | 187 +- deps/v8/src/codegen/x64/register-x64.h | 47 +- deps/v8/src/common/external-pointer-inl.h | 12 +- deps/v8/src/common/external-pointer.h | 4 +- deps/v8/src/common/globals.h | 37 +- deps/v8/src/common/message-template.h | 1 - deps/v8/src/common/ptr-compr-inl.h | 64 +- deps/v8/src/common/ptr-compr.h | 4 +- deps/v8/src/compiler-dispatcher/OWNERS | 1 - .../optimizing-compile-dispatcher.cc | 94 +- .../optimizing-compile-dispatcher.h | 14 +- deps/v8/src/compiler/OWNERS | 11 +- deps/v8/src/compiler/access-info.cc | 369 ++- deps/v8/src/compiler/access-info.h | 127 +- .../backend/arm/code-generator-arm.cc | 222 +- .../backend/arm/instruction-codes-arm.h | 13 +- .../backend/arm/instruction-scheduler-arm.cc | 13 +- .../backend/arm/instruction-selector-arm.cc | 40 +- .../backend/arm64/code-generator-arm64.cc | 198 +- .../backend/arm64/instruction-codes-arm64.h | 18 +- .../arm64/instruction-scheduler-arm64.cc | 18 +- .../arm64/instruction-selector-arm64.cc | 192 +- .../v8/src/compiler/backend/code-generator.cc | 74 +- deps/v8/src/compiler/backend/code-generator.h | 3 + .../backend/ia32/code-generator-ia32.cc | 440 +-- .../backend/ia32/instruction-codes-ia32.h | 21 +- .../ia32/instruction-scheduler-ia32.cc | 21 +- .../backend/ia32/instruction-selector-ia32.cc | 147 +- .../src/compiler/backend/instruction-codes.h | 7 +- .../compiler/backend/instruction-scheduler.cc | 4 + .../compiler/backend/instruction-selector.cc | 208 +- .../compiler/backend/instruction-selector.h | 66 +- deps/v8/src/compiler/backend/instruction.cc | 29 +- deps/v8/src/compiler/backend/instruction.h | 118 +- .../v8/src/compiler/backend/jump-threading.cc | 15 +- .../backend/mid-tier-register-allocator.cc | 521 ++-- .../backend/mid-tier-register-allocator.h | 1 - .../backend/mips/code-generator-mips.cc | 149 +- .../backend/mips/instruction-codes-mips.h | 12 +- .../mips/instruction-scheduler-mips.cc | 18 +- .../backend/mips/instruction-selector-mips.cc | 20 +- .../backend/mips64/code-generator-mips64.cc | 149 +- .../backend/mips64/instruction-codes-mips64.h | 12 +- .../mips64/instruction-scheduler-mips64.cc | 16 +- .../mips64/instruction-selector-mips64.cc | 23 +- .../backend/ppc/code-generator-ppc.cc | 399 ++- .../backend/ppc/instruction-codes-ppc.h | 41 +- .../backend/ppc/instruction-scheduler-ppc.cc | 37 +- .../backend/ppc/instruction-selector-ppc.cc | 134 +- .../backend/register-allocator-verifier.cc | 20 +- .../compiler/backend/register-allocator.cc | 63 +- .../src/compiler/backend/register-allocator.h | 5 + .../backend/riscv64/code-generator-riscv64.cc | 33 +- .../riscv64/instruction-codes-riscv64.h | 15 +- .../riscv64/instruction-scheduler-riscv64.cc | 15 +- .../riscv64/instruction-selector-riscv64.cc | 33 +- .../backend/s390/code-generator-s390.cc | 512 +-- .../backend/s390/instruction-codes-s390.h | 16 +- .../s390/instruction-scheduler-s390.cc | 18 +- .../backend/s390/instruction-selector-s390.cc | 34 +- .../backend/x64/code-generator-x64.cc | 481 ++- .../backend/x64/instruction-codes-x64.h | 18 +- .../backend/x64/instruction-scheduler-x64.cc | 18 +- .../backend/x64/instruction-selector-x64.cc | 226 +- deps/v8/src/compiler/branch-elimination.cc | 62 +- deps/v8/src/compiler/branch-elimination.h | 2 + deps/v8/src/compiler/bytecode-analysis.cc | 58 +- deps/v8/src/compiler/code-assembler.cc | 46 +- deps/v8/src/compiler/code-assembler.h | 215 +- .../src/compiler/common-operator-reducer.cc | 27 + .../v8/src/compiler/common-operator-reducer.h | 1 + deps/v8/src/compiler/common-operator.cc | 2 + deps/v8/src/compiler/common-operator.h | 2 + .../src/compiler/compilation-dependencies.cc | 138 +- .../src/compiler/compilation-dependencies.h | 14 + deps/v8/src/compiler/csa-load-elimination.cc | 119 +- deps/v8/src/compiler/csa-load-elimination.h | 3 + .../src/compiler/effect-control-linearizer.cc | 31 +- deps/v8/src/compiler/frame-states.cc | 20 +- deps/v8/src/compiler/frame-states.h | 11 + deps/v8/src/compiler/frame.cc | 31 +- deps/v8/src/compiler/frame.h | 99 +- deps/v8/src/compiler/graph-visualizer.cc | 11 +- deps/v8/src/compiler/heap-refs.h | 61 +- deps/v8/src/compiler/int64-lowering.cc | 235 +- deps/v8/src/compiler/int64-lowering.h | 11 +- deps/v8/src/compiler/js-call-reducer.cc | 25 +- deps/v8/src/compiler/js-generic-lowering.cc | 4 +- deps/v8/src/compiler/js-heap-broker.cc | 464 ++- deps/v8/src/compiler/js-heap-broker.h | 10 +- deps/v8/src/compiler/js-inlining-heuristic.cc | 21 +- deps/v8/src/compiler/js-inlining.cc | 24 +- deps/v8/src/compiler/js-inlining.h | 4 + .../js-native-context-specialization.cc | 76 +- .../js-native-context-specialization.h | 1 - deps/v8/src/compiler/js-operator.cc | 4 + deps/v8/src/compiler/js-operator.h | 13 +- deps/v8/src/compiler/linkage.cc | 87 +- deps/v8/src/compiler/linkage.h | 44 +- deps/v8/src/compiler/loop-analysis.cc | 80 +- deps/v8/src/compiler/loop-analysis.h | 40 +- deps/v8/src/compiler/loop-peeling.cc | 6 +- deps/v8/src/compiler/loop-peeling.h | 1 + deps/v8/src/compiler/loop-unrolling.cc | 220 ++ deps/v8/src/compiler/loop-unrolling.h | 44 + .../v8/src/compiler/machine-graph-verifier.cc | 24 + .../src/compiler/machine-operator-reducer.cc | 30 + deps/v8/src/compiler/machine-operator.cc | 74 +- deps/v8/src/compiler/machine-operator.h | 32 +- deps/v8/src/compiler/memory-lowering.cc | 18 +- deps/v8/src/compiler/memory-optimizer.cc | 5 + deps/v8/src/compiler/node-matchers.h | 4 + deps/v8/src/compiler/node-properties.cc | 30 + deps/v8/src/compiler/node-properties.h | 4 + deps/v8/src/compiler/node.cc | 7 +- deps/v8/src/compiler/node.h | 8 +- deps/v8/src/compiler/opcodes.h | 25 +- deps/v8/src/compiler/operator-properties.cc | 2 + deps/v8/src/compiler/pipeline.cc | 590 ++-- deps/v8/src/compiler/pipeline.h | 3 +- .../src/compiler/property-access-builder.cc | 43 +- .../v8/src/compiler/property-access-builder.h | 10 +- deps/v8/src/compiler/raw-machine-assembler.cc | 2 +- deps/v8/src/compiler/raw-machine-assembler.h | 23 + deps/v8/src/compiler/schedule.cc | 2 +- .../serializer-for-background-compilation.cc | 61 +- deps/v8/src/compiler/simd-scalar-lowering.cc | 67 +- deps/v8/src/compiler/simd-scalar-lowering.h | 4 + deps/v8/src/compiler/simplified-lowering.cc | 7 + deps/v8/src/compiler/typer.cc | 2 + deps/v8/src/compiler/types.cc | 4 + deps/v8/src/compiler/verifier.cc | 5 + deps/v8/src/compiler/wasm-compiler.cc | 1691 +++++----- deps/v8/src/compiler/wasm-compiler.h | 185 +- deps/v8/src/d8/OWNERS | 3 +- deps/v8/src/d8/d8-test.cc | 230 ++ deps/v8/src/d8/d8.cc | 253 +- deps/v8/src/d8/d8.h | 11 +- deps/v8/src/debug/OWNERS | 4 +- deps/v8/src/debug/debug-evaluate.cc | 47 +- deps/v8/src/debug/debug-frames.cc | 7 +- deps/v8/src/debug/debug-frames.h | 2 + deps/v8/src/debug/debug-interface.cc | 62 +- deps/v8/src/debug/debug-interface.h | 26 +- deps/v8/src/debug/debug-scopes.cc | 5 +- .../src/debug/debug-stack-trace-iterator.cc | 16 +- deps/v8/src/debug/debug-wasm-objects-inl.h | 1 + deps/v8/src/debug/debug-wasm-objects.cc | 343 ++- deps/v8/src/debug/debug-wasm-objects.h | 16 +- deps/v8/src/debug/debug.cc | 353 ++- deps/v8/src/debug/debug.h | 16 +- deps/v8/src/debug/liveedit.cc | 7 + .../wasm/gdb-server/wasm-module-debug.cc | 2 +- deps/v8/src/deoptimizer/OWNERS | 1 - .../deoptimizer/deoptimizer-cfi-builtins.cc | 4 + deps/v8/src/deoptimizer/deoptimizer.cc | 145 +- deps/v8/src/deoptimizer/deoptimizer.h | 10 +- deps/v8/src/deoptimizer/frame-description.h | 4 +- deps/v8/src/deoptimizer/translated-state.cc | 45 +- deps/v8/src/deoptimizer/translated-state.h | 21 +- deps/v8/src/deoptimizer/translation-array.cc | 44 +- deps/v8/src/deoptimizer/translation-array.h | 9 +- deps/v8/src/deoptimizer/translation-opcode.h | 4 +- deps/v8/src/diagnostics/arm64/disasm-arm64.cc | 15 +- deps/v8/src/diagnostics/disassembler.cc | 16 +- deps/v8/src/diagnostics/objects-debug.cc | 72 +- deps/v8/src/diagnostics/objects-printer.cc | 130 +- deps/v8/src/diagnostics/perf-jit.cc | 14 +- deps/v8/src/diagnostics/perf-jit.h | 4 + deps/v8/src/diagnostics/ppc/disasm-ppc.cc | 31 +- .../src/diagnostics/system-jit-metadata-win.h | 243 ++ deps/v8/src/diagnostics/system-jit-win.cc | 108 + deps/v8/src/diagnostics/system-jit-win.h | 20 + .../src/diagnostics/unwinding-info-win64.cc | 31 - deps/v8/src/execution/OWNERS | 4 +- .../src/execution/arm/frame-constants-arm.h | 20 +- deps/v8/src/execution/arm/simulator-arm.cc | 18 +- .../execution/arm64/frame-constants-arm64.h | 23 +- .../v8/src/execution/arm64/simulator-arm64.cc | 14 +- deps/v8/src/execution/execution.cc | 8 +- deps/v8/src/execution/execution.h | 2 + deps/v8/src/execution/frame-constants.h | 2 + deps/v8/src/execution/frames-inl.h | 15 +- deps/v8/src/execution/frames.cc | 323 +- deps/v8/src/execution/frames.h | 35 +- deps/v8/src/execution/futex-emulation.cc | 173 +- .../src/execution/ia32/frame-constants-ia32.h | 12 +- deps/v8/src/execution/isolate-inl.h | 1 + deps/v8/src/execution/isolate-utils-inl.h | 32 +- deps/v8/src/execution/isolate-utils.h | 11 +- deps/v8/src/execution/isolate.cc | 201 +- deps/v8/src/execution/isolate.h | 121 +- deps/v8/src/execution/local-isolate.cc | 6 +- deps/v8/src/execution/local-isolate.h | 11 +- deps/v8/src/execution/messages.cc | 4 - .../src/execution/ppc/frame-constants-ppc.h | 10 +- deps/v8/src/execution/ppc/simulator-ppc.cc | 1203 +++++++- deps/v8/src/execution/ppc/simulator-ppc.h | 107 +- .../src/execution/s390/frame-constants-s390.h | 10 +- deps/v8/src/execution/s390/simulator-s390.cc | 2 +- deps/v8/src/execution/s390/simulator-s390.h | 8 +- deps/v8/src/execution/stack-guard.cc | 35 +- deps/v8/src/execution/stack-guard.h | 5 + .../src/execution/x64/frame-constants-x64.h | 10 +- .../v8/src/extensions/statistics-extension.cc | 19 +- deps/v8/src/flags/flag-definitions.h | 178 +- deps/v8/src/flags/flags.cc | 3 + deps/v8/src/flags/flags.h | 1 - deps/v8/src/handles/global-handles.cc | 4 +- .../heap/base/asm/arm64/push_registers_asm.cc | 16 +- deps/v8/src/heap/basic-memory-chunk.cc | 9 +- deps/v8/src/heap/basic-memory-chunk.h | 15 +- deps/v8/src/heap/collection-barrier.cc | 76 +- deps/v8/src/heap/collection-barrier.h | 68 +- deps/v8/src/heap/concurrent-allocator.cc | 50 +- deps/v8/src/heap/concurrent-marking.cc | 21 +- deps/v8/src/heap/cppgc-js/cpp-heap.cc | 101 +- deps/v8/src/heap/cppgc-js/cpp-heap.h | 11 + deps/v8/src/heap/cppgc-js/cpp-snapshot.cc | 13 +- .../cppgc-js/unified-heap-marking-state.h | 12 +- deps/v8/src/heap/cppgc/compactor.cc | 12 +- deps/v8/src/heap/cppgc/compactor.h | 2 +- deps/v8/src/heap/cppgc/explicit-management.cc | 152 + deps/v8/src/heap/cppgc/free-list.cc | 2 +- deps/v8/src/heap/cppgc/free-list.h | 4 +- deps/v8/src/heap/cppgc/gc-info-table.cc | 11 +- deps/v8/src/heap/cppgc/gc-info-table.h | 2 +- deps/v8/src/heap/cppgc/gc-info.cc | 14 +- deps/v8/src/heap/cppgc/globals.h | 7 +- deps/v8/src/heap/cppgc/heap-base.cc | 16 +- deps/v8/src/heap/cppgc/heap-base.h | 33 +- deps/v8/src/heap/cppgc/heap-object-header.cc | 14 +- deps/v8/src/heap/cppgc/heap-object-header.h | 42 +- deps/v8/src/heap/cppgc/heap-page.h | 1 + deps/v8/src/heap/cppgc/heap-state.cc | 16 +- deps/v8/src/heap/cppgc/heap.cc | 23 +- deps/v8/src/heap/cppgc/heap.h | 3 + deps/v8/src/heap/cppgc/marker.cc | 7 +- deps/v8/src/heap/cppgc/marking-state.h | 4 +- deps/v8/src/heap/cppgc/marking-verifier.cc | 2 +- deps/v8/src/heap/cppgc/object-allocator.cc | 2 + deps/v8/src/heap/cppgc/object-allocator.h | 6 +- deps/v8/src/heap/cppgc/object-poisoner.h | 40 + deps/v8/src/heap/cppgc/object-size-trait.cc | 6 +- deps/v8/src/heap/cppgc/persistent-node.cc | 21 + deps/v8/src/heap/cppgc/pointer-policies.cc | 8 +- deps/v8/src/heap/cppgc/stats-collector.cc | 30 +- deps/v8/src/heap/cppgc/stats-collector.h | 9 + deps/v8/src/heap/cppgc/sweeper.cc | 60 +- deps/v8/src/heap/cppgc/sweeper.h | 7 +- deps/v8/src/heap/cppgc/testing.cc | 35 +- deps/v8/src/heap/cppgc/trace-trait.cc | 5 +- deps/v8/src/heap/embedder-tracing.cc | 13 +- deps/v8/src/heap/embedder-tracing.h | 2 + deps/v8/src/heap/factory-base.cc | 322 +- deps/v8/src/heap/factory-base.h | 4 + deps/v8/src/heap/factory-inl.h | 4 +- deps/v8/src/heap/factory.cc | 1577 +++++----- deps/v8/src/heap/factory.h | 48 +- deps/v8/src/heap/gc-idle-time-handler.cc | 18 - deps/v8/src/heap/gc-idle-time-handler.h | 12 - deps/v8/src/heap/gc-tracer.cc | 24 +- deps/v8/src/heap/gc-tracer.h | 9 - deps/v8/src/heap/heap-write-barrier.cc | 5 + deps/v8/src/heap/heap-write-barrier.h | 2 + deps/v8/src/heap/heap.cc | 191 +- deps/v8/src/heap/heap.h | 15 +- deps/v8/src/heap/item-parallel-job.cc | 116 - deps/v8/src/heap/item-parallel-job.h | 146 - deps/v8/src/heap/large-spaces.cc | 2 +- deps/v8/src/heap/local-heap-inl.h | 4 + deps/v8/src/heap/local-heap.cc | 138 +- deps/v8/src/heap/local-heap.h | 98 +- deps/v8/src/heap/mark-compact.cc | 105 +- deps/v8/src/heap/marking-barrier-inl.h | 1 + deps/v8/src/heap/marking-barrier.cc | 10 + deps/v8/src/heap/marking-barrier.h | 2 + deps/v8/src/heap/memory-allocator.cc | 6 +- deps/v8/src/heap/memory-chunk.cc | 7 +- deps/v8/src/heap/memory-measurement.cc | 5 +- deps/v8/src/heap/object-stats.cc | 4 +- deps/v8/src/heap/objects-visiting-inl.h | 3 + deps/v8/src/heap/objects-visiting.h | 84 +- deps/v8/src/heap/paged-spaces.cc | 24 +- deps/v8/src/heap/paged-spaces.h | 8 +- deps/v8/src/heap/read-only-heap-inl.h | 6 +- deps/v8/src/heap/read-only-heap.cc | 6 +- deps/v8/src/heap/read-only-heap.h | 4 +- deps/v8/src/heap/read-only-spaces.cc | 4 +- deps/v8/src/heap/read-only-spaces.h | 9 +- deps/v8/src/heap/safepoint.cc | 120 +- deps/v8/src/heap/safepoint.h | 25 +- deps/v8/src/heap/scavenger.cc | 2 +- deps/v8/src/heap/setup-heap-internal.cc | 16 +- deps/v8/src/heap/weak-object-worklists.cc | 24 +- deps/v8/src/ic/OWNERS | 3 +- deps/v8/src/ic/accessor-assembler.cc | 86 +- deps/v8/src/ic/accessor-assembler.h | 4 +- deps/v8/src/ic/call-optimization.cc | 14 +- deps/v8/src/ic/handler-configuration-inl.h | 4 - deps/v8/src/ic/handler-configuration.cc | 9 +- deps/v8/src/ic/ic.cc | 55 +- deps/v8/src/ic/keyed-store-generic.cc | 24 +- deps/v8/src/init/OWNERS | 3 - deps/v8/src/init/bootstrapper.cc | 169 +- deps/v8/src/init/heap-symbols.h | 2 + deps/v8/src/init/isolate-allocator.cc | 10 +- deps/v8/src/init/v8.cc | 28 +- deps/v8/src/inspector/OWNERS | 7 +- .../src/inspector/v8-debugger-agent-impl.cc | 44 +- deps/v8/src/inspector/v8-debugger-script.cc | 28 +- deps/v8/src/inspector/v8-debugger-script.h | 13 +- deps/v8/src/inspector/v8-debugger.cc | 4 + deps/v8/src/inspector/value-mirror.cc | 16 +- .../interpreter/bytecode-array-accessor.cc | 367 --- .../src/interpreter/bytecode-array-accessor.h | 187 -- .../src/interpreter/bytecode-array-builder.h | 19 +- .../interpreter/bytecode-array-iterator.cc | 355 ++- .../src/interpreter/bytecode-array-iterator.h | 167 +- .../bytecode-array-random-iterator.cc | 2 +- .../bytecode-array-random-iterator.h | 4 +- deps/v8/src/interpreter/bytecode-generator.cc | 64 +- deps/v8/src/interpreter/bytecode-generator.h | 4 +- deps/v8/src/interpreter/bytecode-register.h | 2 +- .../src/interpreter/interpreter-assembler.cc | 28 + .../src/interpreter/interpreter-assembler.h | 3 + .../src/interpreter/interpreter-generator.cc | 6 +- deps/v8/src/interpreter/interpreter.cc | 5 +- deps/v8/src/json/json-parser.cc | 26 +- deps/v8/src/json/json-parser.h | 7 +- deps/v8/src/json/json-stringifier.cc | 4 +- deps/v8/src/libplatform/tracing/OWNERS | 2 +- .../src/libplatform/tracing/recorder-win.cc | 23 +- deps/v8/src/libplatform/tracing/recorder.h | 13 +- deps/v8/src/libsampler/OWNERS | 3 +- deps/v8/src/logging/code-events.h | 46 +- deps/v8/src/logging/counters-definitions.h | 2 - deps/v8/src/logging/counters.h | 15 +- deps/v8/src/logging/log-utils.h | 3 +- deps/v8/src/logging/log.cc | 88 +- deps/v8/src/logging/log.h | 16 +- deps/v8/src/numbers/OWNERS | 1 - deps/v8/src/objects/backing-store.cc | 102 +- deps/v8/src/objects/backing-store.h | 23 +- deps/v8/src/objects/bigint.cc | 47 +- deps/v8/src/objects/code-inl.h | 202 +- deps/v8/src/objects/code.cc | 72 +- deps/v8/src/objects/code.h | 91 +- .../src/objects/compilation-cache-table-inl.h | 24 +- .../v8/src/objects/compilation-cache-table.cc | 53 +- deps/v8/src/objects/compilation-cache-table.h | 9 +- deps/v8/src/objects/compressed-slots-inl.h | 36 +- deps/v8/src/objects/compressed-slots.h | 16 +- deps/v8/src/objects/contexts-inl.h | 24 +- deps/v8/src/objects/contexts.cc | 48 - deps/v8/src/objects/contexts.h | 22 +- deps/v8/src/objects/contexts.tq | 5 - deps/v8/src/objects/descriptor-array-inl.h | 42 +- deps/v8/src/objects/descriptor-array.h | 11 +- deps/v8/src/objects/dictionary-inl.h | 45 +- deps/v8/src/objects/dictionary.h | 20 +- deps/v8/src/objects/elements.cc | 34 +- deps/v8/src/objects/embedder-data-slot-inl.h | 16 +- deps/v8/src/objects/embedder-data-slot.h | 5 +- deps/v8/src/objects/feedback-vector-inl.h | 5 +- deps/v8/src/objects/feedback-vector.h | 2 +- deps/v8/src/objects/field-index-inl.h | 8 +- deps/v8/src/objects/field-index.h | 2 +- deps/v8/src/objects/fixed-array-inl.h | 48 +- deps/v8/src/objects/fixed-array.h | 27 +- deps/v8/src/objects/foreign-inl.h | 2 +- deps/v8/src/objects/hash-table-inl.h | 20 +- deps/v8/src/objects/hash-table.h | 19 +- deps/v8/src/objects/heap-object.h | 8 +- deps/v8/src/objects/intl-objects.cc | 83 +- deps/v8/src/objects/intl-objects.h | 8 + deps/v8/src/objects/js-array-buffer-inl.h | 11 +- deps/v8/src/objects/js-array-buffer.h | 2 +- deps/v8/src/objects/js-array-inl.h | 6 +- deps/v8/src/objects/js-array.h | 14 +- deps/v8/src/objects/js-collator.cc | 19 +- deps/v8/src/objects/js-date-time-format.cc | 86 +- deps/v8/src/objects/js-date-time-format.h | 2 +- deps/v8/src/objects/js-display-names.cc | 19 +- deps/v8/src/objects/js-function-inl.h | 61 +- deps/v8/src/objects/js-function.cc | 32 +- deps/v8/src/objects/js-function.h | 10 +- deps/v8/src/objects/js-list-format.cc | 25 +- deps/v8/src/objects/js-number-format.cc | 20 +- deps/v8/src/objects/js-objects-inl.h | 161 +- deps/v8/src/objects/js-objects.cc | 263 +- deps/v8/src/objects/js-objects.h | 28 +- deps/v8/src/objects/js-objects.tq | 11 +- deps/v8/src/objects/js-plural-rules.cc | 26 +- deps/v8/src/objects/js-regexp.cc | 14 +- .../v8/src/objects/js-relative-time-format.cc | 30 +- deps/v8/src/objects/js-segmenter.cc | 19 +- deps/v8/src/objects/keys.cc | 43 +- deps/v8/src/objects/literal-objects-inl.h | 16 +- deps/v8/src/objects/literal-objects.cc | 49 +- deps/v8/src/objects/literal-objects.h | 4 +- deps/v8/src/objects/lookup-inl.h | 11 +- deps/v8/src/objects/lookup.cc | 191 +- deps/v8/src/objects/lookup.h | 16 +- deps/v8/src/objects/map-inl.h | 115 +- deps/v8/src/objects/map-updater.cc | 88 +- deps/v8/src/objects/map-updater.h | 40 +- deps/v8/src/objects/map.cc | 182 +- deps/v8/src/objects/map.h | 106 +- deps/v8/src/objects/maybe-object-inl.h | 5 +- deps/v8/src/objects/maybe-object.h | 2 +- deps/v8/src/objects/name-inl.h | 10 +- deps/v8/src/objects/object-list-macros.h | 22 +- deps/v8/src/objects/object-macros-undef.h | 18 +- deps/v8/src/objects/object-macros.h | 148 +- .../objects/objects-body-descriptors-inl.h | 182 +- deps/v8/src/objects/objects-definitions.h | 115 +- deps/v8/src/objects/objects-inl.h | 223 +- deps/v8/src/objects/objects.cc | 195 +- deps/v8/src/objects/objects.h | 11 +- deps/v8/src/objects/oddball-inl.h | 2 +- deps/v8/src/objects/ordered-hash-table.cc | 46 +- deps/v8/src/objects/ordered-hash-table.h | 6 - deps/v8/src/objects/property-array-inl.h | 8 +- deps/v8/src/objects/property-array.h | 2 +- deps/v8/src/objects/property-descriptor.cc | 2 +- deps/v8/src/objects/property-details.h | 11 + deps/v8/src/objects/property.cc | 4 +- deps/v8/src/objects/regexp-match-info.h | 6 +- deps/v8/src/objects/scope-info-inl.h | 44 +- deps/v8/src/objects/scope-info.cc | 146 +- deps/v8/src/objects/scope-info.h | 70 +- deps/v8/src/objects/scope-info.tq | 49 +- deps/v8/src/objects/script-inl.h | 45 +- deps/v8/src/objects/script.h | 24 +- .../v8/src/objects/shared-function-info-inl.h | 79 +- deps/v8/src/objects/shared-function-info.cc | 49 +- deps/v8/src/objects/shared-function-info.h | 31 +- deps/v8/src/objects/slots-inl.h | 13 +- deps/v8/src/objects/slots.h | 12 +- deps/v8/src/objects/stack-frame-info-inl.h | 6 +- deps/v8/src/objects/stack-frame-info.cc | 156 +- deps/v8/src/objects/stack-frame-info.h | 9 +- deps/v8/src/objects/string-inl.h | 243 +- deps/v8/src/objects/string-table.cc | 35 +- deps/v8/src/objects/string-table.h | 4 +- deps/v8/src/objects/string.cc | 21 +- deps/v8/src/objects/string.h | 112 +- .../v8/src/objects/swiss-hash-table-helpers.h | 44 +- .../src/objects/swiss-hash-table-helpers.tq | 174 ++ .../src/objects/swiss-name-dictionary-inl.h | 107 +- deps/v8/src/objects/swiss-name-dictionary.cc | 289 +- deps/v8/src/objects/swiss-name-dictionary.h | 66 +- deps/v8/src/objects/swiss-name-dictionary.tq | 306 +- deps/v8/src/objects/tagged-field-inl.h | 14 +- deps/v8/src/objects/tagged-field.h | 9 +- deps/v8/src/objects/templates-inl.h | 27 +- deps/v8/src/objects/templates.h | 14 + deps/v8/src/objects/templates.tq | 3 +- deps/v8/src/objects/transitions-inl.h | 2 +- deps/v8/src/objects/transitions.cc | 53 +- deps/v8/src/objects/transitions.h | 15 + deps/v8/src/objects/value-serializer.cc | 42 +- deps/v8/src/objects/value-serializer.h | 9 + deps/v8/src/objects/visitors.h | 2 +- deps/v8/src/parsing/OWNERS | 2 - deps/v8/src/parsing/parse-info.cc | 5 +- deps/v8/src/parsing/parse-info.h | 9 +- deps/v8/src/parsing/parser-base.h | 24 +- deps/v8/src/parsing/parser.cc | 44 +- deps/v8/src/parsing/parser.h | 4 +- deps/v8/src/parsing/preparser.h | 12 +- .../src/parsing/scanner-character-streams.cc | 101 + deps/v8/src/profiler/OWNERS | 5 +- deps/v8/src/profiler/cpu-profiler-inl.h | 11 +- deps/v8/src/profiler/cpu-profiler.cc | 19 +- deps/v8/src/profiler/cpu-profiler.h | 8 +- deps/v8/src/profiler/heap-profiler.cc | 1 + .../src/profiler/heap-snapshot-generator.cc | 33 +- deps/v8/src/profiler/profile-generator.cc | 49 +- deps/v8/src/profiler/profile-generator.h | 20 +- deps/v8/src/profiler/profiler-listener.cc | 54 +- deps/v8/src/profiler/profiler-listener.h | 15 +- deps/v8/src/profiler/weak-code-registry.cc | 62 + deps/v8/src/profiler/weak-code-registry.h | 46 + deps/v8/src/protobuf/OWNERS | 2 +- deps/v8/src/regexp/OWNERS | 2 +- .../arm64/regexp-macro-assembler-arm64.cc | 13 +- deps/v8/src/regexp/regexp-dotprinter.cc | 6 - .../regexp/regexp-macro-assembler-tracer.cc | 7 +- deps/v8/src/regexp/regexp-macro-assembler.h | 34 +- deps/v8/src/regexp/regexp-stack.cc | 5 +- deps/v8/src/regexp/regexp-stack.h | 3 + deps/v8/src/regexp/regexp-utils.cc | 4 +- deps/v8/src/regexp/regexp.cc | 3 + deps/v8/src/roots/OWNERS | 1 - deps/v8/src/roots/roots.h | 2 +- deps/v8/src/runtime/runtime-classes.cc | 17 +- deps/v8/src/runtime/runtime-compiler.cc | 4 +- deps/v8/src/runtime/runtime-debug.cc | 57 +- deps/v8/src/runtime/runtime-internal.cc | 24 +- deps/v8/src/runtime/runtime-literals.cc | 9 +- deps/v8/src/runtime/runtime-object.cc | 255 +- deps/v8/src/runtime/runtime-promise.cc | 8 +- deps/v8/src/runtime/runtime-regexp.cc | 102 +- deps/v8/src/runtime/runtime-test-wasm.cc | 488 +++ deps/v8/src/runtime/runtime-test.cc | 475 +-- deps/v8/src/runtime/runtime-trace.cc | 12 +- deps/v8/src/runtime/runtime-wasm.cc | 75 +- deps/v8/src/runtime/runtime.cc | 6 + deps/v8/src/runtime/runtime.h | 298 +- deps/v8/src/snapshot/code-serializer.cc | 24 +- deps/v8/src/snapshot/context-deserializer.cc | 1 + deps/v8/src/snapshot/context-serializer.cc | 3 + deps/v8/src/snapshot/deserializer.cc | 2 +- .../v8/src/snapshot/embedded/embedded-data.cc | 71 +- deps/v8/src/snapshot/embedded/embedded-data.h | 39 +- .../embedded/embedded-file-writer-interface.h | 56 + .../snapshot/embedded/embedded-file-writer.cc | 6 +- .../snapshot/embedded/embedded-file-writer.h | 32 +- deps/v8/src/snapshot/object-deserializer.cc | 1 + deps/v8/src/snapshot/serializer.cc | 7 +- deps/v8/src/snapshot/serializer.h | 15 +- deps/v8/src/snapshot/snapshot.cc | 5 + deps/v8/src/strings/OWNERS | 1 - deps/v8/src/strings/string-stream.cc | 2 +- deps/v8/src/third_party/siphash/OWNERS | 1 - deps/v8/src/third_party/utf8-decoder/OWNERS | 1 - deps/v8/src/torque/ast.h | 11 +- deps/v8/src/torque/cc-generator.cc | 55 +- .../torque/class-debug-reader-generator.cc | 25 +- deps/v8/src/torque/constants.h | 1 + deps/v8/src/torque/csa-generator.cc | 9 +- deps/v8/src/torque/declaration-visitor.cc | 2 +- deps/v8/src/torque/global-context.cc | 1 + deps/v8/src/torque/global-context.h | 3 + deps/v8/src/torque/implementation-visitor.cc | 162 +- deps/v8/src/torque/implementation-visitor.h | 19 +- deps/v8/src/torque/instructions.cc | 106 + deps/v8/src/torque/instructions.h | 141 + deps/v8/src/torque/torque-code-generator.cc | 9 +- deps/v8/src/torque/torque-code-generator.h | 6 + deps/v8/src/torque/torque-compiler.cc | 3 + deps/v8/src/torque/torque-compiler.h | 3 + deps/v8/src/torque/torque-parser.cc | 22 +- deps/v8/src/torque/torque.cc | 2 + deps/v8/src/torque/type-oracle.h | 8 + deps/v8/src/torque/type-visitor.cc | 5 +- deps/v8/src/torque/types.cc | 56 +- deps/v8/src/torque/types.h | 16 +- deps/v8/src/torque/utils.cc | 39 +- deps/v8/src/torque/utils.h | 2 + deps/v8/src/tracing/OWNERS | 3 +- deps/v8/src/tracing/trace-categories.h | 2 - deps/v8/src/trap-handler/OWNERS | 2 +- deps/v8/src/utils/utils.h | 7 + deps/v8/src/wasm/OWNERS | 3 - .../wasm/baseline/arm/liftoff-assembler-arm.h | 103 +- .../baseline/arm64/liftoff-assembler-arm64.h | 65 +- .../baseline/ia32/liftoff-assembler-ia32.h | 180 +- .../wasm/baseline/liftoff-assembler-defs.h | 10 +- .../v8/src/wasm/baseline/liftoff-assembler.cc | 135 +- deps/v8/src/wasm/baseline/liftoff-assembler.h | 119 +- deps/v8/src/wasm/baseline/liftoff-compiler.cc | 1681 ++++++---- .../baseline/mips/liftoff-assembler-mips.h | 54 +- .../mips64/liftoff-assembler-mips64.h | 42 +- .../wasm/baseline/ppc/liftoff-assembler-ppc.h | 30 +- .../riscv64/liftoff-assembler-riscv64.h | 326 +- .../baseline/s390/liftoff-assembler-s390.h | 1210 ++++++-- .../wasm/baseline/x64/liftoff-assembler-x64.h | 212 +- deps/v8/src/wasm/c-api.cc | 9 +- deps/v8/src/wasm/c-api.h | 4 + deps/v8/src/wasm/code-space-access.h | 4 + deps/v8/src/wasm/compilation-environment.h | 12 +- deps/v8/src/wasm/decoder.h | 4 + deps/v8/src/wasm/function-body-decoder-impl.h | 1301 +++++--- deps/v8/src/wasm/function-body-decoder.cc | 42 +- deps/v8/src/wasm/function-body-decoder.h | 4 + deps/v8/src/wasm/function-compiler.cc | 21 +- deps/v8/src/wasm/function-compiler.h | 4 + deps/v8/src/wasm/graph-builder-interface.cc | 455 +-- deps/v8/src/wasm/graph-builder-interface.h | 6 + deps/v8/src/wasm/jump-table-assembler.h | 4 + deps/v8/src/wasm/leb-helper.h | 4 + deps/v8/src/wasm/local-decl-encoder.h | 4 + deps/v8/src/wasm/memory-tracing.h | 4 + deps/v8/src/wasm/module-compiler.cc | 13 +- deps/v8/src/wasm/module-compiler.h | 4 + deps/v8/src/wasm/module-decoder.cc | 115 +- deps/v8/src/wasm/module-decoder.h | 85 +- deps/v8/src/wasm/module-instantiate.cc | 62 +- deps/v8/src/wasm/module-instantiate.h | 4 + deps/v8/src/wasm/object-access.h | 4 + deps/v8/src/wasm/signature-map.h | 4 + deps/v8/src/wasm/simd-shuffle.cc | 8 + deps/v8/src/wasm/simd-shuffle.h | 12 + deps/v8/src/wasm/streaming-decoder.h | 4 + deps/v8/src/wasm/struct-types.h | 5 + deps/v8/src/wasm/value-type.h | 41 +- deps/v8/src/wasm/wasm-arguments.h | 4 + deps/v8/src/wasm/wasm-code-manager.cc | 235 +- deps/v8/src/wasm/wasm-code-manager.h | 27 +- deps/v8/src/wasm/wasm-constants.h | 20 +- deps/v8/src/wasm/wasm-debug.cc | 202 +- deps/v8/src/wasm/wasm-debug.h | 21 +- deps/v8/src/wasm/wasm-engine.cc | 9 +- deps/v8/src/wasm/wasm-engine.h | 4 + deps/v8/src/wasm/wasm-external-refs.h | 4 + deps/v8/src/wasm/wasm-feature-flags.h | 47 +- deps/v8/src/wasm/wasm-features.cc | 10 +- deps/v8/src/wasm/wasm-features.h | 9 + deps/v8/src/wasm/wasm-import-wrapper-cache.h | 4 + deps/v8/src/wasm/wasm-js.cc | 98 +- deps/v8/src/wasm/wasm-js.h | 11 +- deps/v8/src/wasm/wasm-limits.h | 4 + deps/v8/src/wasm/wasm-linkage.h | 118 +- deps/v8/src/wasm/wasm-module-builder.cc | 28 +- deps/v8/src/wasm/wasm-module-builder.h | 7 + deps/v8/src/wasm/wasm-module-sourcemap.h | 4 + deps/v8/src/wasm/wasm-module.h | 9 +- deps/v8/src/wasm/wasm-objects-inl.h | 29 +- deps/v8/src/wasm/wasm-objects.cc | 145 +- deps/v8/src/wasm/wasm-objects.h | 8 + deps/v8/src/wasm/wasm-opcodes-inl.h | 32 +- deps/v8/src/wasm/wasm-opcodes.cc | 10 +- deps/v8/src/wasm/wasm-opcodes.h | 157 +- deps/v8/src/wasm/wasm-result.h | 4 + deps/v8/src/wasm/wasm-serialization.cc | 1 + deps/v8/src/wasm/wasm-serialization.h | 4 + deps/v8/src/wasm/wasm-subtyping.cc | 8 +- deps/v8/src/wasm/wasm-subtyping.h | 4 + deps/v8/src/wasm/wasm-tier.h | 4 + deps/v8/src/wasm/wasm-value.h | 75 +- deps/v8/src/web-snapshot/OWNERS | 4 + deps/v8/src/web-snapshot/web-snapshot.cc | 845 +++++ deps/v8/src/web-snapshot/web-snapshot.h | 181 ++ deps/v8/src/zone/OWNERS | 1 - deps/v8/test/BUILD.gn | 46 +- deps/v8/test/cctest/BUILD.gn | 112 +- deps/v8/test/cctest/OWNERS | 2 +- deps/v8/test/cctest/cctest.cc | 2 + deps/v8/test/cctest/cctest.h | 13 + deps/v8/test/cctest/cctest.status | 12 +- .../cctest/compiler/node-observer-tester.h | 1 - .../cctest/compiler/test-code-generator.cc | 27 +- .../test-concurrent-shared-function-info.cc | 5 +- .../cctest/compiler/test-jump-threading.cc | 182 +- deps/v8/test/cctest/compiler/test-linkage.cc | 6 +- .../test-run-calls-to-external-references.cc | 7 +- .../test/cctest/compiler/test-run-machops.cc | 111 + .../cctest/compiler/test-run-retpoline.cc | 33 +- .../cctest/compiler/test-run-tail-calls.cc | 31 +- .../cctest/compiler/test-sloppy-equality.cc | 1 + deps/v8/test/cctest/heap/test-alloc.cc | 2 +- deps/v8/test/cctest/heap/test-compaction.cc | 8 +- .../cctest/heap/test-concurrent-allocation.cc | 109 +- deps/v8/test/cctest/heap/test-heap.cc | 16 +- .../v8/test/cctest/heap/test-write-barrier.cc | 1 + .../AsyncGenerators.golden | 16 +- .../bytecode_expectations/AsyncModules.golden | 16 +- .../bytecode_expectations/ForAwaitOf.golden | 12 +- .../bytecode_expectations/ForOf.golden | 4 +- .../bytecode_expectations/ForOfLoop.golden | 10 +- .../bytecode_expectations/Generators.golden | 16 +- .../bytecode_expectations/Modules.golden | 22 +- .../bytecode_expectations/NewAndSpread.golden | 30 +- .../StandardForLoop.golden | 10 +- .../interpreter/test-bytecode-generator.cc | 1 - .../cctest/interpreter/test-interpreter.cc | 6 +- deps/v8/test/cctest/test-accessors.cc | 38 +- deps/v8/test/cctest/test-api-array-buffer.cc | 190 +- deps/v8/test/cctest/test-api-interceptors.cc | 129 +- deps/v8/test/cctest/test-api-stack-traces.cc | 282 +- deps/v8/test/cctest/test-api-typed-array.cc | 4 +- deps/v8/test/cctest/test-api.cc | 290 +- deps/v8/test/cctest/test-assembler-arm64.cc | 57 - deps/v8/test/cctest/test-code-pages.cc | 27 +- .../test/cctest/test-code-stub-assembler.cc | 184 +- deps/v8/test/cctest/test-compiler.cc | 7 +- deps/v8/test/cctest/test-cpu-profiler.cc | 76 +- deps/v8/test/cctest/test-debug-helper.cc | 25 +- deps/v8/test/cctest/test-debug.cc | 76 +- deps/v8/test/cctest/test-descriptor-array.cc | 14 +- deps/v8/test/cctest/test-disasm-arm64.cc | 18 - .../test/cctest/test-field-type-tracking.cc | 206 +- deps/v8/test/cctest/test-flags.cc | 2 + .../test/cctest/test-func-name-inference.cc | 3 +- deps/v8/test/cctest/test-hashcode.cc | 12 +- deps/v8/test/cctest/test-heap-profiler.cc | 8 +- deps/v8/test/cctest/test-icache.cc | 7 +- deps/v8/test/cctest/test-js-to-wasm.cc | 40 +- deps/v8/test/cctest/test-js-weak-refs.cc | 19 + deps/v8/test/cctest/test-log.cc | 140 +- .../test/cctest/test-macro-assembler-x64.cc | 10 +- deps/v8/test/cctest/test-object.cc | 95 +- deps/v8/test/cctest/test-parsing.cc | 13 +- .../test/cctest/test-poison-disasm-arm64.cc | 4 +- deps/v8/test/cctest/test-profile-generator.cc | 61 +- deps/v8/test/cctest/test-serialize.cc | 36 +- deps/v8/test/cctest/test-strings.cc | 78 + .../cctest/test-swiss-name-dictionary-csa.cc | 466 +++ .../test-swiss-name-dictionary-infra.cc | 139 + .../cctest/test-swiss-name-dictionary-infra.h | 321 ++ .../test-swiss-name-dictionary-shared-tests.h | 942 ++++++ .../test/cctest/test-swiss-name-dictionary.cc | 150 + deps/v8/test/cctest/test-typedarrays.cc | 24 - deps/v8/test/cctest/test-verifiers.cc | 4 +- deps/v8/test/cctest/test-web-snapshots.cc | 131 + .../cctest/{ => wasm}/test-backing-store.cc | 5 +- deps/v8/test/cctest/wasm/test-gc.cc | 167 +- deps/v8/test/cctest/wasm/test-grow-memory.cc | 2 +- .../cctest/wasm/test-liftoff-inspection.cc | 82 +- deps/v8/test/cctest/wasm/test-run-wasm-64.cc | 2 +- .../cctest/wasm/test-run-wasm-exceptions.cc | 177 +- .../cctest/wasm/test-run-wasm-interpreter.cc | 8 +- .../cctest/wasm/test-run-wasm-memory64.cc | 20 + .../test/cctest/wasm/test-run-wasm-module.cc | 12 +- .../cctest/wasm/test-run-wasm-relaxed-simd.cc | 239 ++ .../test-run-wasm-simd-scalar-lowering.cc | 6 +- .../v8/test/cctest/wasm/test-run-wasm-simd.cc | 1477 ++------- deps/v8/test/cctest/wasm/test-run-wasm.cc | 55 +- .../cctest/wasm/test-streaming-compilation.cc | 2 +- .../test/cctest/wasm/test-wasm-breakpoints.cc | 4 +- deps/v8/test/cctest/wasm/test-wasm-metrics.cc | 1 + .../cctest/wasm/test-wasm-serialization.cc | 4 +- deps/v8/test/cctest/wasm/test-wasm-stack.cc | 19 +- deps/v8/test/cctest/wasm/wasm-run-utils.cc | 19 +- deps/v8/test/cctest/wasm/wasm-run-utils.h | 20 +- deps/v8/test/cctest/wasm/wasm-simd-utils.cc | 752 +++++ deps/v8/test/cctest/wasm/wasm-simd-utils.h | 177 ++ deps/v8/test/common/wasm/test-signatures.h | 4 +- deps/v8/test/common/wasm/wasm-interpreter.cc | 194 +- deps/v8/test/common/wasm/wasm-macro-gen.h | 2 +- .../v8/test/common/wasm/wasm-module-runner.cc | 7 +- .../debug/debug-break-class-fields.js | 100 +- .../es6/debug-step-into-class-extends.js | 2 +- deps/v8/test/debugger/debugger.status | 6 + .../debugger/regress/regress-crbug-1199681.js | 52 + .../wasm/gdb-server/test_files/test_memory.js | 4 +- deps/v8/test/fuzzer/BUILD.gn | 17 +- deps/v8/test/fuzzer/fuzzer-support.cc | 2 + deps/v8/test/fuzzer/fuzzer.status | 6 +- deps/v8/test/fuzzer/inspector-fuzzer.cc | 4 - deps/v8/test/fuzzer/wasm-async.cc | 14 +- deps/v8/test/fuzzer/wasm-compile.cc | 167 +- deps/v8/test/fuzzer/wasm-fuzzer-common.cc | 25 +- deps/v8/test/fuzzer/wasm-fuzzer-common.h | 2 +- deps/v8/test/fuzzer/wasm.cc | 14 +- deps/v8/test/fuzzer/wasm/regress-1191853.wasm | Bin 0 -> 25 bytes deps/v8/test/inspector/BUILD.gn | 1 - .../break-locations-await-expected.txt | 4 +- .../break-locations-var-init-expected.txt | 2 +- ...possible-breakpoints-after-gc-expected.txt | 7 + .../get-possible-breakpoints-after-gc.js | 60 + ...t-possible-breakpoints-master-expected.txt | 6 +- .../debugger/regress-1190290-expected.txt | 10 + .../inspector/debugger/regress-1190290.js | 42 + .../debugger/regression-1185540-expected.txt | 2 + .../inspector/debugger/regression-1185540.js | 34 + ...et-breakpoint-before-enabling-expected.txt | 14 +- .../set-breakpoint-before-enabling.js | 9 +- ...s-on-first-breakable-location-expected.txt | 4 +- .../debugger/set-breakpoint-expected.txt | 8 +- ...eakpoint-in-class-initializer-expected.txt | 66 + .../set-breakpoint-in-class-initializer.js | 75 + ...et-breakpoint-inline-function-expected.txt | 11 + .../set-breakpoint-inline-function.js | 31 + .../test/inspector/debugger/set-breakpoint.js | 16 +- .../debugger/wasm-gc-breakpoints-expected.txt | 31 + .../inspector/debugger/wasm-gc-breakpoints.js | 214 ++ .../wasm-gc-in-debug-break-expected.txt | 10 + .../debugger/wasm-gc-in-debug-break.js | 50 + ...sm-get-breakable-locations-byte-offsets.js | 4 +- .../debugger/wasm-inspect-many-registers.js | 9 +- ...sm-instrumentation-breakpoint-expected.txt | 34 + .../wasm-instrumentation-breakpoint.js | 59 +- .../debugger/wasm-scope-info-expected.txt | 37 +- .../test/inspector/debugger/wasm-scripts.js | 2 +- ...oint-breaks-on-first-breakable-location.js | 4 +- .../debugger/wasm-set-breakpoint-expected.txt | 53 +- .../inspector/debugger/wasm-set-breakpoint.js | 4 +- .../v8/test/inspector/debugger/wasm-source.js | 2 +- .../inspector/debugger/wasm-stack-check.js | 13 +- deps/v8/test/inspector/debugger/wasm-stack.js | 2 +- .../wasm-step-from-non-breakable-position.js | 2 +- .../wasm-stepping-no-opcode-merging.js | 11 +- .../debugger/wasm-stepping-with-skiplist.js | 4 +- .../debugger/wasm-stepping-with-source-map.js | 13 +- .../test/inspector/debugger/wasm-stepping.js | 4 +- deps/v8/test/inspector/inspector-test.cc | 5 +- deps/v8/test/inspector/inspector.status | 4 + deps/v8/test/inspector/isolate-data.cc | 9 +- deps/v8/test/inspector/isolate-data.h | 3 +- .../regress-crbug-1183664-expected.txt | 19 + .../regress/regress-crbug-1183664.js | 39 + .../regress-crbug-1199919-expected.txt | 9 + .../regress/regress-crbug-1199919.js | 44 + .../runtime/get-properties-expected.txt | 3 + .../test/inspector/runtime/get-properties.js | 4 + deps/v8/test/inspector/task-runner.cc | 2 +- deps/v8/test/inspector/wasm-inspector-test.js | 8 +- .../intl/displaynames/getoptionsobject.js | 20 + deps/v8/test/intl/intl.status | 5 - .../test/intl/list-format/getoptionsobject.js | 20 + deps/v8/test/intl/regress-11595.js | 23 + .../test/intl/segmenter/getoptionsobject.js | 20 + deps/v8/test/js-perf-test/OWNERS | 2 +- deps/v8/test/message/fail/await-non-async.out | 4 +- .../message/fail/wasm-exception-rethrow.js | 2 +- .../fail/weak-refs-finalizationregistry1.js | 2 + .../fail/weak-refs-finalizationregistry1.out | 4 +- .../fail/weak-refs-finalizationregistry2.js | 2 + .../fail/weak-refs-finalizationregistry2.out | 4 +- .../test/message/fail/weak-refs-register1.js | 2 + .../test/message/fail/weak-refs-register1.out | 4 +- .../test/message/fail/weak-refs-register2.js | 2 + .../test/message/fail/weak-refs-register2.out | 4 +- .../test/message/fail/weak-refs-unregister.js | 2 + .../message/fail/weak-refs-unregister.out | 4 +- deps/v8/test/message/message.status | 9 +- .../weakref-finalizationregistry-error.js | 2 +- .../mjsunit/array-bounds-check-removal.js | 6 +- deps/v8/test/mjsunit/array-sort.js | 16 + deps/v8/test/mjsunit/array-store-and-grow.js | 12 +- deps/v8/test/mjsunit/baseline/cross-realm.js | 55 +- .../mjsunit/baseline/test-baseline-module.mjs | 2 +- .../v8/test/mjsunit/baseline/test-baseline.js | 32 +- .../baseline/verify-bytecode-offsets.js | 37 + .../concurrent-invalidate-transition-map.js | 9 +- .../test/mjsunit/compiler/fast-api-calls.js | 148 + .../compiler/load-elimination-const-field.js | 18 +- .../monomorphic-named-load-with-no-map.js | 2 +- .../compiler/promise-resolve-stable-maps.js | 14 + .../test/mjsunit/compiler/regress-1215514.js | 7 + .../mjsunit/compiler/serializer-accessors.js | 7 +- .../compiler/serializer-dead-after-jump.js | 7 +- .../compiler/serializer-dead-after-return.js | 7 +- .../serializer-transition-propagation.js | 7 +- deps/v8/test/mjsunit/const-dict-tracking.js | 472 ++- .../v8/test/mjsunit/const-field-tracking-2.js | 3 +- deps/v8/test/mjsunit/const-field-tracking.js | 3 +- deps/v8/test/mjsunit/constant-folding-2.js | 2 +- .../mjsunit/ensure-growing-store-learns.js | 6 +- ...collections-constructor-custom-iterator.js | 2 +- ...nstructor-with-modified-array-prototype.js | 2 +- ...ions-constructor-with-modified-protoype.js | 2 +- .../mjsunit/es6/super-ic-opt-no-turboprop.js | 7 +- deps/v8/test/mjsunit/es6/super-ic-opt.js | 22 +- deps/v8/test/mjsunit/field-type-tracking.js | 7 +- .../harmony/import-from-evaluation-errored.js | 4 +- .../mjsunit/harmony/modules-import-15.mjs | 19 - .../test/mjsunit/harmony/weakrefs/basics.js | 2 + .../weakrefs/cleanup-from-different-realm.js | 2 +- .../weakrefs/cleanup-is-not-a-microtask.js | 2 +- .../weakrefs/cleanup-on-detached-realm.js | 2 +- .../cleanup-proxy-from-different-realm.js | 2 +- .../test/mjsunit/harmony/weakrefs/cleanup.js | 2 +- .../harmony/weakrefs/cleanupsome-optional.js | 2 +- .../weakrefs/clearkeptobjects-on-quit.js | 2 + .../finalizationregistry-and-weakref.js | 2 +- ...nalizationregistry-independent-lifetime.js | 2 +- ...nalizationregistry-keeps-holdings-alive.js | 2 +- ...ry-scheduled-for-cleanup-multiple-times.js | 2 +- .../multiple-dirty-finalization-groups.js | 2 +- .../weakrefs/reentrant-gc-from-cleanup.js | 2 +- .../mjsunit/harmony/weakrefs/two-weakrefs.js | 2 +- .../harmony/weakrefs/undefined-holdings.js | 2 +- .../weakrefs/unregister-after-cleanup.js | 2 +- .../weakrefs/unregister-before-cleanup.js | 2 +- .../weakrefs/unregister-called-twice.js | 2 +- .../weakrefs/unregister-inside-cleanup.js | 2 +- .../weakrefs/unregister-inside-cleanup2.js | 2 +- .../weakrefs/unregister-inside-cleanup3.js | 2 +- .../harmony/weakrefs/unregister-many.js | 2 +- ...register-when-cleanup-already-scheduled.js | 2 +- .../harmony/weakrefs/weak-cell-basics.js | 2 +- .../weakrefs/weakref-creation-keeps-alive.js | 2 +- .../weakrefs/weakref-deref-keeps-alive.js | 2 +- deps/v8/test/mjsunit/mjsunit.js | 10 +- deps/v8/test/mjsunit/mjsunit.status | 73 +- deps/v8/test/mjsunit/promise-hooks.js | 275 -- .../mjsunit/proto-accessor-not-accessible.js | 43 + .../regress/{ => asm}/regress-673297.js | 0 .../regress/{ => asm}/regress-743622.js | 0 .../test/mjsunit/regress/regress-1067270.js | 2 +- .../test/mjsunit/regress/regress-1146880.js | 26 + deps/v8/test/mjsunit/regress/regress-11491.js | 19 + deps/v8/test/mjsunit/regress/regress-11519.js | 25 + .../test/mjsunit/regress/regress-1181240.js | 46 + .../test/mjsunit/regress/regress-1185072.js | 26 + .../test/mjsunit/regress/regress-1187170.js | 24 + .../test/mjsunit/regress/regress-1193903.js | 12 + .../v8/test/mjsunit/regress/regress-673241.js | 13 - deps/v8/test/mjsunit/regress/regress-7115.js | 10 +- .../v8/test/mjsunit/regress/regress-923723.js | 2 +- .../v8/test/mjsunit/regress/regress-992389.js | 2 +- .../regress/regress-chromium-1194026.js | 69 + .../regress/regress-crbug-1161847-2.js | 10 + .../regress/regress-crbug-1161847-3.js | 20 + .../mjsunit/regress/regress-crbug-1191886.js | 9 + .../mjsunit/regress/regress-crbug-1195331.js | 4 +- .../test/mjsunit/regress/regress-v8-9534.js | 2 +- ...dition-change-during-branch-elimination.js | 49 + .../mjsunit/regress/wasm/regress-1027410.js | 2 +- .../mjsunit/regress/wasm/regress-1034394.js | 2 +- .../mjsunit/regress/wasm/regress-1074586.js | 16 +- .../mjsunit/regress/wasm/regress-1075953.js | 2 +- .../mjsunit/regress/wasm/regress-10831.js | 2 +- .../mjsunit/regress/wasm/regress-10898.js | 2 +- .../mjsunit/regress/wasm/regress-1101304.js | 4 +- .../mjsunit/regress/wasm/regress-1145135.js | 4 +- .../mjsunit/regress/wasm/regress-1146861.js | 4 +- .../mjsunit/regress/wasm/regress-1153442.js | 4 +- .../mjsunit/regress/wasm/regress-1161654.js | 2 +- .../mjsunit/regress/wasm/regress-1179182.js | 2 +- .../mjsunit/regress/wasm/regress-1184964.js | 11 + .../mjsunit/regress/wasm/regress-1185464.js | 38 + .../mjsunit/regress/wasm/regress-1187831.js | 30 + .../mjsunit/regress/wasm/regress-1188825.js | 28 + .../mjsunit/regress/wasm/regress-1188975.js | 21 + .../mjsunit/regress/wasm/regress-1189454.js | 218 ++ .../mjsunit/regress/wasm/regress-1197393.js | 35 + .../mjsunit/regress/wasm/regress-1201340.js | 13 + .../test/mjsunit/regress/wasm/regress-5800.js | 4 +- .../test/mjsunit/regress/wasm/regress-7353.js | 2 +- .../test/mjsunit/regress/wasm/regress-7366.js | 2 +- .../mjsunit/regress/wasm/regress-782280.js | 2 +- .../mjsunit/regress/wasm/regress-791810.js | 4 +- .../mjsunit/regress/wasm/regress-793551.js | 2 +- .../mjsunit/regress/wasm/regress-842501.js | 2 +- .../test/mjsunit/regress/wasm/regress-8533.js | 2 +- .../mjsunit/regress/wasm/regress-854050.js | 4 +- .../mjsunit/regress/wasm/regress-905815.js | 2 +- .../mjsunit/regress/wasm/regress-913804.js | 4 +- .../mjsunit/regress/wasm/regress-917412.js | 2 +- .../mjsunit/regress/wasm/regress-917588b.js | 4 +- .../mjsunit/regress/wasm/regress-919533.js | 2 +- .../mjsunit/regress/wasm/regress-922933.js | 12 +- .../mjsunit/regress/wasm/regress-924843.js | 4 +- .../mjsunit/regress/wasm/regress-968078.js | 4 +- .../test/mjsunit/regress/wasm/regress-9759.js | 2 +- .../test/mjsunit/regress/wasm/regress-9832.js | 2 +- .../regress/wasm/regress-crbug-1168612.js | 32 + .../mjsunit/regress/wasm/regress1192313.js | 30 + .../mjsunit/shared-function-tier-up-turbo.js | 2 +- deps/v8/test/mjsunit/tools/foozzie.js | 9 + deps/v8/test/mjsunit/wasm/atomics-stress.js | 2 +- deps/v8/test/mjsunit/wasm/atomics.js | 4 +- deps/v8/test/mjsunit/wasm/atomics64-stress.js | 2 +- .../mjsunit/wasm/compare-exchange-stress.js | 10 +- .../mjsunit/wasm/compare-exchange64-stress.js | 10 +- ...compilation-hints-streaming-compilation.js | 4 +- .../wasm/compiled-module-serialization.js | 14 +- .../test/mjsunit/wasm/exceptions-rethrow.js | 14 +- .../v8/test/mjsunit/wasm/exceptions-shared.js | 8 +- deps/v8/test/mjsunit/wasm/exceptions-simd.js | 2 +- deps/v8/test/mjsunit/wasm/exceptions.js | 119 +- deps/v8/test/mjsunit/wasm/externref.js | 25 + deps/v8/test/mjsunit/wasm/globals.js | 2 +- .../mjsunit/wasm/grow-memory-in-branch.js | 16 +- .../test/mjsunit/wasm/grow-memory-in-call.js | 16 +- .../test/mjsunit/wasm/grow-memory-in-loop.js | 16 +- deps/v8/test/mjsunit/wasm/loop-rotation.js | 6 +- deps/v8/test/mjsunit/wasm/loop-unrolling.js | 49 +- deps/v8/test/mjsunit/wasm/memory64.js | 25 + deps/v8/test/mjsunit/wasm/module-memory.js | 6 +- .../test/mjsunit/wasm/multiple-code-spaces.js | 2 +- deps/v8/test/mjsunit/wasm/reference-tables.js | 157 +- deps/v8/test/mjsunit/wasm/simd-i64x2-mul.js | 39 + deps/v8/test/mjsunit/wasm/stack.js | 46 +- .../mjsunit/wasm/streaming-error-position.js | 2 +- deps/v8/test/mjsunit/wasm/table-access.js | 1 - deps/v8/test/mjsunit/wasm/trap-location.js | 4 +- .../mjsunit/wasm/unreachable-validation.js | 14 +- .../test/mjsunit/wasm/wasm-gc-js-roundtrip.js | 149 + .../test/mjsunit/wasm/wasm-module-builder.js | 433 ++- deps/v8/test/mkgrokdump/BUILD.gn | 1 - deps/v8/test/test262/test262.status | 17 +- deps/v8/test/test262/testcfg.py | 3 - deps/v8/test/unittests/BUILD.gn | 59 +- .../unittests/api/access-check-unittest.cc | 1 + .../test/unittests/base/logging-unittest.cc | 25 +- deps/v8/test/unittests/base/vlq-unittest.cc | 123 + .../aligned-slot-allocator-unittest.cc | 175 ++ .../codegen/code-stub-assembler-unittest.cc | 1 - .../instruction-selector-arm64-unittest.cc | 266 +- .../backend/instruction-selector-unittest.cc | 2 +- .../backend/instruction-selector-unittest.h | 6 +- .../backend/instruction-sequence-unittest.cc | 2 +- .../compiler/bytecode-analysis-unittest.cc | 4 +- .../compiler/csa-load-elimination-unittest.cc | 155 + .../test/unittests/compiler/frame-unittest.cc | 242 ++ .../instruction-selector-ia32-unittest.cc | 44 + .../compiler/int64-lowering-unittest.cc | 110 +- .../compiler/linkage-tail-call-unittest.cc | 16 +- .../compiler/machine-operator-unittest.cc | 2 + .../unittests/compiler/node-test-utils.cc | 105 +- .../test/unittests/compiler/node-test-utils.h | 11 + .../x64/instruction-selector-x64-unittest.cc | 288 ++ .../execution/microtask-queue-unittest.cc | 1 + .../heap/cppgc/compactor-unittest.cc | 12 - .../heap/cppgc/concurrent-marking-unittest.cc | 11 +- .../heap/cppgc/concurrent-sweeper-unittest.cc | 2 +- .../heap/cppgc/ephemeron-pair-unittest.cc | 73 +- .../cppgc/explicit-management-unittest.cc | 194 ++ .../heap/cppgc/free-list-unittest.cc | 2 +- .../unittests/heap/cppgc/gc-info-unittest.cc | 184 +- .../heap/cppgc/heap-object-header-unittest.cc | 8 + .../heap/cppgc/heap-page-unittest.cc | 8 +- .../unittests/heap/cppgc/marker-unittest.cc | 79 +- .../heap/cppgc/marking-verifier-unittest.cc | 60 +- .../heap/cppgc/persistent-family-unittest.cc | 16 +- .../heap/cppgc/stats-collector-unittest.cc | 8 + .../unittests/heap/cppgc/sweeper-unittest.cc | 4 +- .../unittests/heap/cppgc/testing-unittest.cc | 8 + deps/v8/test/unittests/heap/cppgc/tests.h | 2 +- .../heap/gc-idle-time-handler-unittest.cc | 76 - .../heap/item-parallel-job-unittest.cc | 306 -- .../unittests/heap/local-heap-unittest.cc | 7 +- .../heap/unified-heap-snapshot-unittest.cc | 9 +- .../unittests/heap/unified-heap-unittest.cc | 38 + .../bytecode-array-builder-unittest.cc | 6 +- .../bytecode-array-iterator-unittest.cc | 4 +- .../interpreter-assembler-unittest.cc | 138 +- .../interpreter-assembler-unittest.h | 3 +- .../unittests/numbers/conversions-unittest.cc | 5 +- .../test/unittests/objects/object-unittest.cc | 6 +- .../objects/value-serializer-unittest.cc | 33 +- ...test.cc => wasm-backing-store-unittest.cc} | 3 +- .../wasm/function-body-decoder-unittest.cc | 109 +- .../wasm/liftoff-register-unittests.cc | 41 + .../wasm/module-decoder-memory64-unittest.cc | 1 + .../unittests/wasm/module-decoder-unittest.cc | 77 +- .../unittests/wasm/wasm-compiler-unittest.cc | 44 +- deps/v8/test/wasm-api-tests/BUILD.gn | 6 +- .../test/wasm-api-tests/wasm-api-tests.status | 6 +- deps/v8/test/wasm-js/testcfg.py | 11 - deps/v8/test/wasm-js/tests.tar.gz.sha1 | 2 +- deps/v8/test/wasm-js/wasm-js.status | 15 +- deps/v8/test/wasm-spec-tests/testcfg.py | 12 +- .../v8/test/wasm-spec-tests/tests.tar.gz.sha1 | 2 +- .../wasm-spec-tests/wasm-spec-tests.status | 16 +- deps/v8/third_party/v8/builtins/array-sort.tq | 4 +- deps/v8/third_party/zlib/google/zip_reader.cc | 2 +- deps/v8/tools/arguments.mjs | 6 +- deps/v8/tools/bash-completion.sh | 113 +- deps/v8/tools/callstats.html | 1126 ++++--- .../tools/clusterfuzz/js_fuzzer/exceptions.js | 1 + .../mutators/function_call_mutator.js | 26 +- .../resources/differential_fuzz_v8.js | 2 + .../test/test_mutate_function_calls.js | 16 +- .../mutate_function_call_baseline_expected.js | 16 + .../clusterfuzz/v8_foozzie_harness_adjust.js | 4 + deps/v8/tools/clusterfuzz/v8_fuzz_flags.json | 3 +- deps/v8/tools/debug_helper/BUILD.gn | 1 + .../debug_helper/debug-helper-internal.cc | 2 +- .../debug_helper/get-object-properties.cc | 104 +- deps/v8/tools/dev/gm.py | 100 +- deps/v8/tools/dumpcpp.mjs | 4 +- deps/v8/tools/find-builtin | 24 + deps/v8/tools/gcmole/gcmole.py | 3 +- deps/v8/tools/ic-processor-driver.mjs | 8 +- deps/v8/tools/index.html | 13 +- deps/v8/tools/ninja/ninja_output.py | 44 - deps/v8/tools/profview/profile-utils.js | 6 +- deps/v8/tools/profview/profview.js | 4 + deps/v8/tools/release/auto_roll.py | 3 +- deps/v8/tools/release/git_recipes.py | 7 +- deps/v8/tools/release/test_scripts.py | 4 +- deps/v8/tools/system-analyzer/index.css | 2 +- deps/v8/tools/testrunner/base_runner.py | 9 - .../v8/tools/testrunner/local/junit_output.py | 49 - deps/v8/tools/testrunner/local/variants.py | 47 +- deps/v8/tools/testrunner/testproc/progress.py | 40 - deps/v8/tools/tickprocessor.mjs | 2 +- deps/v8/tools/v8heapconst.py | 418 +-- deps/v8/tools/v8windbg/BUILD.gn | 2 + deps/v8/tools/v8windbg/README.md | 4 + deps/v8/tools/v8windbg/src/cur-isolate.h | 2 +- deps/v8/tools/v8windbg/src/js-stack.cc | 229 ++ deps/v8/tools/v8windbg/src/js-stack.h | 98 + .../tools/v8windbg/src/v8windbg-extension.cc | 4 + deps/v8/tools/v8windbg/test/v8windbg-test.cc | 26 +- deps/v8/tools/vim/ninja-build.vim | 14 +- deps/v8/tools/vim/ninja_output.py | 72 + deps/v8/tools/wasm/update-wasm-spec-tests.sh | 2 +- deps/v8/tools/whitespace.txt | 4 +- 1300 files changed, 52023 insertions(+), 25950 deletions(-) create mode 100644 deps/v8/gni/v8.cmx create mode 100644 deps/v8/include/cppgc/explicit-management.h create mode 100644 deps/v8/src/base/immediate-crash.h create mode 100644 deps/v8/src/base/vlq.h create mode 100644 deps/v8/src/baseline/arm/baseline-assembler-arm-inl.h create mode 100644 deps/v8/src/baseline/arm/baseline-compiler-arm-inl.h create mode 100644 deps/v8/src/baseline/bytecode-offset-iterator.cc create mode 100644 deps/v8/src/baseline/bytecode-offset-iterator.h create mode 100644 deps/v8/src/baseline/ia32/baseline-assembler-ia32-inl.h create mode 100644 deps/v8/src/baseline/ia32/baseline-compiler-ia32-inl.h create mode 100644 deps/v8/src/bigint/DEPS create mode 100644 deps/v8/src/bigint/OWNERS create mode 100644 deps/v8/src/bigint/bigint.h create mode 100644 deps/v8/src/bigint/vector-arithmetic.cc create mode 100644 deps/v8/src/codegen/aligned-slot-allocator.cc create mode 100644 deps/v8/src/codegen/aligned-slot-allocator.h delete mode 100644 deps/v8/src/codegen/register.cc create mode 100644 deps/v8/src/codegen/shared-ia32-x64/macro-assembler-shared-ia32-x64.cc create mode 100644 deps/v8/src/codegen/shared-ia32-x64/macro-assembler-shared-ia32-x64.h create mode 100644 deps/v8/src/compiler/loop-unrolling.cc create mode 100644 deps/v8/src/compiler/loop-unrolling.h create mode 100644 deps/v8/src/d8/d8-test.cc create mode 100644 deps/v8/src/diagnostics/system-jit-metadata-win.h create mode 100644 deps/v8/src/diagnostics/system-jit-win.cc create mode 100644 deps/v8/src/diagnostics/system-jit-win.h create mode 100644 deps/v8/src/heap/cppgc/explicit-management.cc create mode 100644 deps/v8/src/heap/cppgc/object-poisoner.h delete mode 100644 deps/v8/src/heap/item-parallel-job.cc delete mode 100644 deps/v8/src/heap/item-parallel-job.h delete mode 100644 deps/v8/src/interpreter/bytecode-array-accessor.cc delete mode 100644 deps/v8/src/interpreter/bytecode-array-accessor.h create mode 100644 deps/v8/src/objects/swiss-hash-table-helpers.tq create mode 100644 deps/v8/src/profiler/weak-code-registry.cc create mode 100644 deps/v8/src/profiler/weak-code-registry.h create mode 100644 deps/v8/src/runtime/runtime-test-wasm.cc create mode 100644 deps/v8/src/snapshot/embedded/embedded-file-writer-interface.h create mode 100644 deps/v8/src/web-snapshot/OWNERS create mode 100644 deps/v8/src/web-snapshot/web-snapshot.cc create mode 100644 deps/v8/src/web-snapshot/web-snapshot.h create mode 100644 deps/v8/test/cctest/test-swiss-name-dictionary-csa.cc create mode 100644 deps/v8/test/cctest/test-swiss-name-dictionary-infra.cc create mode 100644 deps/v8/test/cctest/test-swiss-name-dictionary-infra.h create mode 100644 deps/v8/test/cctest/test-swiss-name-dictionary-shared-tests.h create mode 100644 deps/v8/test/cctest/test-web-snapshots.cc rename deps/v8/test/cctest/{ => wasm}/test-backing-store.cc (96%) create mode 100644 deps/v8/test/cctest/wasm/test-run-wasm-relaxed-simd.cc create mode 100644 deps/v8/test/cctest/wasm/wasm-simd-utils.cc create mode 100644 deps/v8/test/cctest/wasm/wasm-simd-utils.h create mode 100644 deps/v8/test/debugger/regress/regress-crbug-1199681.js create mode 100644 deps/v8/test/fuzzer/wasm/regress-1191853.wasm create mode 100644 deps/v8/test/inspector/debugger/get-possible-breakpoints-after-gc-expected.txt create mode 100644 deps/v8/test/inspector/debugger/get-possible-breakpoints-after-gc.js create mode 100644 deps/v8/test/inspector/debugger/regress-1190290-expected.txt create mode 100644 deps/v8/test/inspector/debugger/regress-1190290.js create mode 100644 deps/v8/test/inspector/debugger/regression-1185540-expected.txt create mode 100644 deps/v8/test/inspector/debugger/regression-1185540.js create mode 100644 deps/v8/test/inspector/debugger/set-breakpoint-in-class-initializer-expected.txt create mode 100644 deps/v8/test/inspector/debugger/set-breakpoint-in-class-initializer.js create mode 100644 deps/v8/test/inspector/debugger/set-breakpoint-inline-function-expected.txt create mode 100644 deps/v8/test/inspector/debugger/set-breakpoint-inline-function.js create mode 100644 deps/v8/test/inspector/debugger/wasm-gc-breakpoints-expected.txt create mode 100644 deps/v8/test/inspector/debugger/wasm-gc-breakpoints.js create mode 100644 deps/v8/test/inspector/debugger/wasm-gc-in-debug-break-expected.txt create mode 100644 deps/v8/test/inspector/debugger/wasm-gc-in-debug-break.js create mode 100644 deps/v8/test/inspector/regress/regress-crbug-1183664-expected.txt create mode 100644 deps/v8/test/inspector/regress/regress-crbug-1183664.js create mode 100644 deps/v8/test/inspector/regress/regress-crbug-1199919-expected.txt create mode 100644 deps/v8/test/inspector/regress/regress-crbug-1199919.js create mode 100644 deps/v8/test/intl/displaynames/getoptionsobject.js create mode 100644 deps/v8/test/intl/list-format/getoptionsobject.js create mode 100644 deps/v8/test/intl/regress-11595.js create mode 100644 deps/v8/test/intl/segmenter/getoptionsobject.js create mode 100644 deps/v8/test/mjsunit/baseline/verify-bytecode-offsets.js create mode 100644 deps/v8/test/mjsunit/compiler/fast-api-calls.js create mode 100644 deps/v8/test/mjsunit/compiler/regress-1215514.js delete mode 100644 deps/v8/test/mjsunit/promise-hooks.js create mode 100644 deps/v8/test/mjsunit/proto-accessor-not-accessible.js rename deps/v8/test/mjsunit/regress/{ => asm}/regress-673297.js (100%) rename deps/v8/test/mjsunit/regress/{ => asm}/regress-743622.js (100%) create mode 100644 deps/v8/test/mjsunit/regress/regress-1146880.js create mode 100644 deps/v8/test/mjsunit/regress/regress-11491.js create mode 100644 deps/v8/test/mjsunit/regress/regress-11519.js create mode 100644 deps/v8/test/mjsunit/regress/regress-1181240.js create mode 100644 deps/v8/test/mjsunit/regress/regress-1185072.js create mode 100644 deps/v8/test/mjsunit/regress/regress-1187170.js create mode 100644 deps/v8/test/mjsunit/regress/regress-1193903.js delete mode 100644 deps/v8/test/mjsunit/regress/regress-673241.js create mode 100644 deps/v8/test/mjsunit/regress/regress-chromium-1194026.js create mode 100644 deps/v8/test/mjsunit/regress/regress-crbug-1161847-3.js create mode 100644 deps/v8/test/mjsunit/regress/regress-crbug-1191886.js create mode 100644 deps/v8/test/mjsunit/regress/wasm/condition-change-during-branch-elimination.js create mode 100644 deps/v8/test/mjsunit/regress/wasm/regress-1184964.js create mode 100644 deps/v8/test/mjsunit/regress/wasm/regress-1185464.js create mode 100644 deps/v8/test/mjsunit/regress/wasm/regress-1187831.js create mode 100644 deps/v8/test/mjsunit/regress/wasm/regress-1188825.js create mode 100644 deps/v8/test/mjsunit/regress/wasm/regress-1188975.js create mode 100644 deps/v8/test/mjsunit/regress/wasm/regress-1189454.js create mode 100644 deps/v8/test/mjsunit/regress/wasm/regress-1197393.js create mode 100644 deps/v8/test/mjsunit/regress/wasm/regress-1201340.js create mode 100644 deps/v8/test/mjsunit/regress/wasm/regress-crbug-1168612.js create mode 100644 deps/v8/test/mjsunit/regress/wasm/regress1192313.js create mode 100644 deps/v8/test/mjsunit/wasm/simd-i64x2-mul.js create mode 100644 deps/v8/test/mjsunit/wasm/wasm-gc-js-roundtrip.js create mode 100644 deps/v8/test/unittests/base/vlq-unittest.cc create mode 100644 deps/v8/test/unittests/codegen/aligned-slot-allocator-unittest.cc create mode 100644 deps/v8/test/unittests/compiler/csa-load-elimination-unittest.cc create mode 100644 deps/v8/test/unittests/compiler/frame-unittest.cc create mode 100644 deps/v8/test/unittests/heap/cppgc/explicit-management-unittest.cc delete mode 100644 deps/v8/test/unittests/heap/item-parallel-job-unittest.cc rename deps/v8/test/unittests/objects/{backing-store-unittest.cc => wasm-backing-store-unittest.cc} (99%) create mode 100644 deps/v8/test/unittests/wasm/liftoff-register-unittests.cc create mode 100644 deps/v8/tools/clusterfuzz/js_fuzzer/test_data/mutate_function_call_baseline_expected.js create mode 100755 deps/v8/tools/find-builtin delete mode 100644 deps/v8/tools/ninja/ninja_output.py delete mode 100644 deps/v8/tools/testrunner/local/junit_output.py create mode 100644 deps/v8/tools/v8windbg/src/js-stack.cc create mode 100644 deps/v8/tools/v8windbg/src/js-stack.h create mode 100644 deps/v8/tools/vim/ninja_output.py diff --git a/deps/v8/AUTHORS b/deps/v8/AUTHORS index a27cf5ef0a1074..07644af9d18c8a 100644 --- a/deps/v8/AUTHORS +++ b/deps/v8/AUTHORS @@ -90,6 +90,7 @@ David Manouchehri Deepak Mohan Deon Dior Derek Tu +Dominic Chen Dominic Farolini Douglas Crosher Dusan Milosavljevic @@ -168,6 +169,7 @@ Milton Chiang Mu Tao Myeong-bo Shim Nicolas Antonius Ernst Leopold Maria Kaiser +Niek van der Maas Niklas Hambüchen Noj Vek Oleksandr Chekhovskyi @@ -209,7 +211,6 @@ Seo Sanghyeon Shawn Anastasio Shawn Presser Stefan Penner -Stephen Belanger Sylvestre Ledru Taketoshi Aono Tao Liqiang @@ -237,6 +238,7 @@ Yi Wang Yong Wang Youfeng Hao Yu Yin +Yusif Khudhur Zac Hansen Zeynep Cankara Zhao Jiazhong diff --git a/deps/v8/BUILD.gn b/deps/v8/BUILD.gn index a9ab6783fa6b04..d2bfb6129dcf2b 100644 --- a/deps/v8/BUILD.gn +++ b/deps/v8/BUILD.gn @@ -41,7 +41,7 @@ declare_args() { v8_enable_future = false # Sets -DSYSTEM_INSTRUMENTATION. Enables OS-dependent event tracing - v8_enable_system_instrumentation = false + v8_enable_system_instrumentation = true # Sets the GUID for the ETW provider v8_etw_guid = "" @@ -108,6 +108,7 @@ declare_args() { # Enable pointer compression (sets -dV8_COMPRESS_POINTERS). v8_enable_pointer_compression = "" + v8_enable_pointer_compression_shared_cage = "" v8_enable_31bit_smis_on_64bit_arch = false # Sets -dOBJECT_PRINT. @@ -168,6 +169,10 @@ declare_args() { # Enables various testing features. v8_enable_test_features = "" + # Enable short builtins call instruction sequences by un-embedding builtins. + # Sets -dV8_SHORT_BUILTIN_CALLS + v8_enable_short_builtin_calls = "" + # With post mortem support enabled, metadata is embedded into libv8 that # describes various parameters of the VM for use by debuggers. See # tools/gen-postmortem-metadata.py for details. @@ -251,6 +256,9 @@ declare_args() { # file generation v8_verify_torque_generation_invariance = false + # Generate comments describing the Torque intermediate representation. + v8_annotate_torque_ir = false + # Disable all snapshot compression. v8_enable_snapshot_compression = true @@ -279,9 +287,9 @@ declare_args() { # Requires use_rtti = true v8_enable_precise_zone_stats = false - # Experimental feature for always keeping prototypes in dict/"slow" mode - # Sets -DV8_DICT_MODE_PROTOTYPES - v8_dict_mode_prototypes = false + # Experimental feature that uses SwissNameDictionary instead of NameDictionary + # as the backing store for all dictionary mode objects. + v8_enable_swiss_name_dictionary = false # If enabled then macro definitions that are used in externally visible # header files are placed in a separate header file v8-gn.h. @@ -324,6 +332,9 @@ if (v8_enable_pointer_compression == "") { v8_enable_pointer_compression = v8_current_cpu == "arm64" || v8_current_cpu == "x64" } +if (v8_enable_pointer_compression_shared_cage == "") { + v8_enable_pointer_compression_shared_cage = false +} if (v8_enable_fast_torque == "") { v8_enable_fast_torque = v8_enable_fast_mksnapshot } @@ -333,6 +344,10 @@ if (v8_enable_zone_compression == "") { if (v8_enable_heap_sandbox == "") { v8_enable_heap_sandbox = false } +if (v8_enable_short_builtin_calls == "") { + v8_enable_short_builtin_calls = + v8_current_cpu == "x64" || (!is_android && v8_current_cpu == "arm64") +} if (v8_enable_single_generation == "") { v8_enable_single_generation = v8_disable_write_barriers } @@ -362,6 +377,13 @@ if (v8_multi_arch_build && rebase_path(get_label_info(":d8", "root_out_dir"), root_build_dir) == "clang_x64_pointer_compression") { v8_enable_pointer_compression = !v8_enable_pointer_compression + v8_enable_pointer_compression_shared_cage = v8_enable_pointer_compression +} +if (v8_enable_short_builtin_calls && + (!v8_enable_pointer_compression || v8_control_flow_integrity)) { + # Disable short calls when pointer compression is not enabled. + # Or when CFI is enabled (until the CFI-related issues are fixed). + v8_enable_short_builtin_calls = false } if (v8_enable_shared_ro_heap == "") { v8_enable_shared_ro_heap = !v8_enable_pointer_compression @@ -382,12 +404,20 @@ if (v8_enable_shared_ro_heap && v8_enable_pointer_compression) { "Sharing read-only heap with pointer compression is only supported on Linux or Android") } +assert( + !v8_enable_pointer_compression_shared_cage || !v8_enable_shared_ro_heap, + "Sharing read-only heap is not yet supported when sharing a pointer compression cage") + assert(!v8_use_multi_snapshots || !v8_control_flow_integrity, "Control-flow integrity does not support multisnapshots") assert(!v8_enable_heap_sandbox || v8_enable_pointer_compression, "V8 Heap Sandbox requires pointer compression") +assert( + !v8_enable_pointer_compression_shared_cage || v8_enable_pointer_compression, + "Can't share a pointer compression cage if pointers aren't compressed") + assert(!v8_enable_unconditional_write_barriers || !v8_disable_write_barriers, "Write barriers can't be both enabled and disabled") @@ -489,11 +519,6 @@ config("cppgc_base_config") { } } -# This config should be applied to code using the libsampler. -config("libsampler_config") { - include_dirs = [ "include" ] -} - # This config is only applied to v8_headers and is the basis for external_config # but without setting the USING_V8_SHARED define, which means v8_headers can be # used inside v8 itself. @@ -532,6 +557,8 @@ config("external_startup_data") { external_v8_defines = [ "V8_ENABLE_CHECKS", "V8_COMPRESS_POINTERS", + "V8_COMPRESS_POINTERS_IN_SHARED_CAGE", + "V8_COMPRESS_POINTERS_IN_ISOLATE_CAGE", "V8_31BIT_SMIS_ON_64BIT_ARCH", "V8_COMPRESS_ZONES", "V8_HEAP_SANDBOX", @@ -549,6 +576,11 @@ if (v8_enable_v8_checks) { if (v8_enable_pointer_compression) { enabled_external_v8_defines += [ "V8_COMPRESS_POINTERS" ] } +if (v8_enable_pointer_compression_shared_cage) { + enabled_external_v8_defines += [ "V8_COMPRESS_POINTERS_IN_SHARED_CAGE" ] +} else if (v8_enable_pointer_compression) { + enabled_external_v8_defines += [ "V8_COMPRESS_POINTERS_IN_ISOLATE_CAGE" ] +} if (v8_enable_pointer_compression || v8_enable_31bit_smis_on_64bit_arch) { enabled_external_v8_defines += [ "V8_31BIT_SMIS_ON_64BIT_ARCH" ] } @@ -757,8 +789,11 @@ config("features") { if (v8_fuzzilli) { defines += [ "V8_FUZZILLI" ] } - if (v8_dict_mode_prototypes) { - defines += [ "V8_DICT_MODE_PROTOTYPES" ] + if (v8_enable_short_builtin_calls) { + defines += [ "V8_SHORT_BUILTIN_CALLS" ] + } + if (v8_enable_swiss_name_dictionary) { + defines += [ "V8_ENABLE_SWISS_NAME_DICTIONARY" ] } if (v8_enable_system_instrumentation) { defines += [ "V8_ENABLE_SYSTEM_INSTRUMENTATION" ] @@ -1363,9 +1398,7 @@ torque_files = [ "src/builtins/typed-array-subarray.tq", "src/builtins/typed-array-values.tq", "src/builtins/typed-array.tq", - "src/builtins/wasm.tq", "src/builtins/weak-ref.tq", - "src/debug/debug-wasm-objects.tq", "src/ic/handler-configuration.tq", "src/objects/allocation-site.tq", "src/objects/api-callbacks.tq", @@ -1418,12 +1451,12 @@ torque_files = [ "src/objects/stack-frame-info.tq", "src/objects/string.tq", "src/objects/struct.tq", + "src/objects/swiss-hash-table-helpers.tq", "src/objects/swiss-name-dictionary.tq", "src/objects/synthetic-module.tq", "src/objects/template-objects.tq", "src/objects/templates.tq", "src/objects/torque-defined-classes.tq", - "src/wasm/wasm-objects.tq", "test/torque/test-torque.tq", "third_party/v8/builtins/array-sort.tq", ] @@ -1446,6 +1479,14 @@ if (v8_enable_i18n_support) { ] } +if (v8_enable_webassembly) { + torque_files += [ + "src/builtins/wasm.tq", + "src/debug/debug-wasm-objects.tq", + "src/wasm/wasm-objects.tq", + ] +} + # Template for running torque # When building with v8_verify_torque_generation_invariance=true we need # to be able to run torque for both 32 and 64 bits in the same build @@ -1524,6 +1565,9 @@ template("run_torque") { "-v8-root", rebase_path(".", root_build_dir), ] + if (v8_annotate_torque_ir) { + args += [ "-annotate-ir" ] + } if (defined(invoker.args)) { args += invoker.args } @@ -1568,23 +1612,34 @@ group("v8_maybe_icu") { } } +v8_header_set("torque_runtime_support") { + visibility = [ ":*" ] + + sources = [ "src/torque/runtime-support.h" ] + + configs = [ ":internal_config" ] +} + v8_source_set("torque_generated_initializers") { visibility = [ ":*" ] # Only targets in this file can depend on this. deps = [ ":generate_bytecode_builtins_list", ":run_torque", + ":v8_base_without_compiler", ":v8_tracing", ] - public_deps = [ ":v8_maybe_icu" ] + public_deps = [ + ":torque_runtime_support", + ":v8_maybe_icu", + ] sources = [ "$target_gen_dir/torque-generated/csa-types.h", "$target_gen_dir/torque-generated/enum-verifiers.cc", "$target_gen_dir/torque-generated/exported-macros-assembler.cc", "$target_gen_dir/torque-generated/exported-macros-assembler.h", - "src/torque/runtime-support.h", ] foreach(file, torque_files) { filetq = string_replace(file, ".tq", "-tq") @@ -1603,6 +1658,8 @@ v8_source_set("torque_generated_definitions") { deps = [ ":generate_bytecode_builtins_list", ":run_torque", + ":v8_internal_headers", + ":v8_libbase", ":v8_tracing", ] @@ -1914,6 +1971,8 @@ v8_source_set("v8_initializers") { "test/cctest:*", ] + allow_circular_includes_from = [ ":torque_generated_initializers" ] + deps = [ ":torque_generated_initializers", ":v8_base_without_compiler", @@ -1968,8 +2027,6 @@ v8_source_set("v8_initializers") { "src/builtins/builtins-typed-array-gen.cc", "src/builtins/builtins-typed-array-gen.h", "src/builtins/builtins-utils-gen.h", - "src/builtins/builtins-wasm-gen.cc", - "src/builtins/builtins-wasm-gen.h", "src/builtins/growable-fixed-array-gen.cc", "src/builtins/growable-fixed-array-gen.h", "src/builtins/profile-data-reader.cc", @@ -1995,6 +2052,13 @@ v8_source_set("v8_initializers") { "src/interpreter/interpreter-intrinsics-generator.h", ] + if (v8_enable_webassembly) { + sources += [ + "src/builtins/builtins-wasm-gen.cc", + "src/builtins/builtins-wasm-gen.h", + ] + } + if (v8_current_cpu == "x86") { sources += [ ### gcmole(arch:ia32) ### @@ -2126,7 +2190,10 @@ v8_header_set("v8_headers") { public_deps = [ ":v8_config_headers" ] - deps = [ ":v8_version" ] + deps = [ + ":cppgc_headers", + ":v8_version", + ] } if (v8_generate_external_defines_header) { @@ -2155,12 +2222,6 @@ if (v8_generate_external_defines_header) { } } -v8_header_set("v8_wrappers") { - configs = [ ":internal_config" ] - - sources = [ "src/base/platform/wrappers.h" ] -} - # This is split out to share basic headers with Torque and everything else:( v8_header_set("v8_shared_internal_headers") { visibility = [ @@ -2171,7 +2232,11 @@ v8_header_set("v8_shared_internal_headers") { ] configs = [ ":internal_config" ] - sources = [ "src/common/globals.h" ] + sources = [ + "src/common/globals.h", + "src/wasm/wasm-constants.h", + "src/wasm/wasm-limits.h", + ] deps = [ ":v8_headers", @@ -2179,333 +2244,26 @@ v8_header_set("v8_shared_internal_headers") { ] } -v8_compiler_sources = [ - ### gcmole(all) ### - "src/builtins/profile-data-reader.h", - "src/compiler/access-builder.cc", - "src/compiler/access-builder.h", - "src/compiler/access-info.cc", - "src/compiler/access-info.h", - "src/compiler/add-type-assertions-reducer.cc", - "src/compiler/add-type-assertions-reducer.h", - "src/compiler/all-nodes.cc", - "src/compiler/all-nodes.h", - "src/compiler/allocation-builder-inl.h", - "src/compiler/allocation-builder.h", - "src/compiler/backend/code-generator-impl.h", - "src/compiler/backend/code-generator.cc", - "src/compiler/backend/code-generator.h", - "src/compiler/backend/frame-elider.cc", - "src/compiler/backend/frame-elider.h", - "src/compiler/backend/gap-resolver.cc", - "src/compiler/backend/gap-resolver.h", - "src/compiler/backend/instruction-codes.h", - "src/compiler/backend/instruction-scheduler.cc", - "src/compiler/backend/instruction-scheduler.h", - "src/compiler/backend/instruction-selector-impl.h", - "src/compiler/backend/instruction-selector.cc", - "src/compiler/backend/instruction-selector.h", - "src/compiler/backend/instruction.cc", - "src/compiler/backend/instruction.h", - "src/compiler/backend/jump-threading.cc", - "src/compiler/backend/jump-threading.h", - "src/compiler/backend/mid-tier-register-allocator.cc", - "src/compiler/backend/mid-tier-register-allocator.h", - "src/compiler/backend/move-optimizer.cc", - "src/compiler/backend/move-optimizer.h", - "src/compiler/backend/register-allocation.h", - "src/compiler/backend/register-allocator-verifier.cc", - "src/compiler/backend/register-allocator-verifier.h", - "src/compiler/backend/register-allocator.cc", - "src/compiler/backend/register-allocator.h", - "src/compiler/backend/spill-placer.cc", - "src/compiler/backend/spill-placer.h", - "src/compiler/backend/unwinding-info-writer.h", - "src/compiler/basic-block-instrumentor.cc", - "src/compiler/basic-block-instrumentor.h", - "src/compiler/branch-elimination.cc", - "src/compiler/branch-elimination.h", - "src/compiler/bytecode-analysis.cc", - "src/compiler/bytecode-analysis.h", - "src/compiler/bytecode-graph-builder.cc", - "src/compiler/bytecode-graph-builder.h", - "src/compiler/bytecode-liveness-map.cc", - "src/compiler/bytecode-liveness-map.h", - "src/compiler/c-linkage.cc", - "src/compiler/checkpoint-elimination.cc", - "src/compiler/checkpoint-elimination.h", - "src/compiler/code-assembler.cc", - "src/compiler/code-assembler.h", - "src/compiler/common-node-cache.cc", - "src/compiler/common-node-cache.h", - "src/compiler/common-operator-reducer.cc", - "src/compiler/common-operator-reducer.h", - "src/compiler/common-operator.cc", - "src/compiler/common-operator.h", - "src/compiler/compilation-dependencies.cc", - "src/compiler/compilation-dependencies.h", - "src/compiler/compiler-source-position-table.cc", - "src/compiler/compiler-source-position-table.h", - "src/compiler/constant-folding-reducer.cc", - "src/compiler/constant-folding-reducer.h", - "src/compiler/control-equivalence.cc", - "src/compiler/control-equivalence.h", - "src/compiler/control-flow-optimizer.cc", - "src/compiler/control-flow-optimizer.h", - "src/compiler/csa-load-elimination.cc", - "src/compiler/csa-load-elimination.h", - "src/compiler/dead-code-elimination.cc", - "src/compiler/dead-code-elimination.h", - "src/compiler/decompression-optimizer.cc", - "src/compiler/decompression-optimizer.h", - "src/compiler/diamond.h", - "src/compiler/effect-control-linearizer.cc", - "src/compiler/effect-control-linearizer.h", - "src/compiler/escape-analysis-reducer.cc", - "src/compiler/escape-analysis-reducer.h", - "src/compiler/escape-analysis.cc", - "src/compiler/escape-analysis.h", - "src/compiler/feedback-source.cc", - "src/compiler/feedback-source.h", - "src/compiler/frame-states.cc", - "src/compiler/frame-states.h", - "src/compiler/frame.cc", - "src/compiler/frame.h", - "src/compiler/functional-list.h", - "src/compiler/globals.h", - "src/compiler/graph-assembler.cc", - "src/compiler/graph-assembler.h", - "src/compiler/graph-reducer.cc", - "src/compiler/graph-reducer.h", - "src/compiler/graph-trimmer.cc", - "src/compiler/graph-trimmer.h", - "src/compiler/graph-visualizer.cc", - "src/compiler/graph-visualizer.h", - "src/compiler/graph-zone-traits.h", - "src/compiler/graph.cc", - "src/compiler/graph.h", - "src/compiler/int64-lowering.cc", - "src/compiler/int64-lowering.h", - "src/compiler/js-call-reducer.cc", - "src/compiler/js-call-reducer.h", - "src/compiler/js-context-specialization.cc", - "src/compiler/js-context-specialization.h", - "src/compiler/js-create-lowering.cc", - "src/compiler/js-create-lowering.h", - "src/compiler/js-generic-lowering.cc", - "src/compiler/js-generic-lowering.h", - "src/compiler/js-graph.cc", - "src/compiler/js-graph.h", - "src/compiler/js-heap-broker.cc", - "src/compiler/js-heap-broker.h", - "src/compiler/js-heap-copy-reducer.cc", - "src/compiler/js-heap-copy-reducer.h", - "src/compiler/js-inlining-heuristic.cc", - "src/compiler/js-inlining-heuristic.h", - "src/compiler/js-inlining.cc", - "src/compiler/js-inlining.h", - "src/compiler/js-intrinsic-lowering.cc", - "src/compiler/js-intrinsic-lowering.h", - "src/compiler/js-native-context-specialization.cc", - "src/compiler/js-native-context-specialization.h", - "src/compiler/js-operator.cc", - "src/compiler/js-operator.h", - "src/compiler/js-type-hint-lowering.cc", - "src/compiler/js-type-hint-lowering.h", - "src/compiler/js-typed-lowering.cc", - "src/compiler/js-typed-lowering.h", - "src/compiler/linkage.cc", - "src/compiler/linkage.h", - "src/compiler/load-elimination.cc", - "src/compiler/load-elimination.h", - "src/compiler/loop-analysis.cc", - "src/compiler/loop-analysis.h", - "src/compiler/loop-peeling.cc", - "src/compiler/loop-peeling.h", - "src/compiler/loop-variable-optimizer.cc", - "src/compiler/loop-variable-optimizer.h", - "src/compiler/machine-graph-verifier.cc", - "src/compiler/machine-graph-verifier.h", - "src/compiler/machine-graph.cc", - "src/compiler/machine-graph.h", - "src/compiler/machine-operator-reducer.cc", - "src/compiler/machine-operator-reducer.h", - "src/compiler/machine-operator.cc", - "src/compiler/machine-operator.h", - "src/compiler/map-inference.cc", - "src/compiler/map-inference.h", - "src/compiler/memory-lowering.cc", - "src/compiler/memory-lowering.h", - "src/compiler/memory-optimizer.cc", - "src/compiler/memory-optimizer.h", - "src/compiler/node-aux-data.h", - "src/compiler/node-cache.h", - "src/compiler/node-marker.cc", - "src/compiler/node-marker.h", - "src/compiler/node-matchers.cc", - "src/compiler/node-matchers.h", - "src/compiler/node-observer.cc", - "src/compiler/node-observer.h", - "src/compiler/node-origin-table.cc", - "src/compiler/node-origin-table.h", - "src/compiler/node-properties.cc", - "src/compiler/node-properties.h", - "src/compiler/node.cc", - "src/compiler/node.h", - "src/compiler/opcodes.cc", - "src/compiler/opcodes.h", - "src/compiler/operation-typer.cc", - "src/compiler/operation-typer.h", - "src/compiler/operator-properties.cc", - "src/compiler/operator-properties.h", - "src/compiler/operator.cc", - "src/compiler/operator.h", - "src/compiler/osr.cc", - "src/compiler/osr.h", - "src/compiler/per-isolate-compiler-cache.h", - "src/compiler/persistent-map.h", - "src/compiler/pipeline-statistics.cc", - "src/compiler/pipeline-statistics.h", - "src/compiler/pipeline.cc", - "src/compiler/pipeline.h", - "src/compiler/property-access-builder.cc", - "src/compiler/property-access-builder.h", - "src/compiler/raw-machine-assembler.cc", - "src/compiler/raw-machine-assembler.h", - "src/compiler/redundancy-elimination.cc", - "src/compiler/redundancy-elimination.h", - "src/compiler/refs-map.cc", - "src/compiler/refs-map.h", - "src/compiler/representation-change.cc", - "src/compiler/representation-change.h", - "src/compiler/schedule.cc", - "src/compiler/schedule.h", - "src/compiler/scheduled-machine-lowering.cc", - "src/compiler/scheduled-machine-lowering.h", - "src/compiler/scheduler.cc", - "src/compiler/scheduler.h", - "src/compiler/select-lowering.cc", - "src/compiler/select-lowering.h", - "src/compiler/serializer-for-background-compilation.cc", - "src/compiler/serializer-for-background-compilation.h", - "src/compiler/serializer-hints.h", - "src/compiler/simd-scalar-lowering.cc", - "src/compiler/simd-scalar-lowering.h", - "src/compiler/simplified-lowering.cc", - "src/compiler/simplified-lowering.h", - "src/compiler/simplified-operator-reducer.cc", - "src/compiler/simplified-operator-reducer.h", - "src/compiler/simplified-operator.cc", - "src/compiler/simplified-operator.h", - "src/compiler/state-values-utils.cc", - "src/compiler/state-values-utils.h", - "src/compiler/store-store-elimination.cc", - "src/compiler/store-store-elimination.h", - "src/compiler/type-cache.cc", - "src/compiler/type-cache.h", - "src/compiler/type-narrowing-reducer.cc", - "src/compiler/type-narrowing-reducer.h", - "src/compiler/typed-optimization.cc", - "src/compiler/typed-optimization.h", - "src/compiler/typer.cc", - "src/compiler/typer.h", - "src/compiler/types.cc", - "src/compiler/types.h", - "src/compiler/value-numbering-reducer.cc", - "src/compiler/value-numbering-reducer.h", - "src/compiler/verifier.cc", - "src/compiler/verifier.h", - "src/compiler/wasm-compiler.cc", - "src/compiler/wasm-compiler.h", - "src/compiler/write-barrier-kind.h", - "src/compiler/zone-stats.cc", - "src/compiler/zone-stats.h", -] - -# The src/compiler files with optimizations. -v8_source_set("v8_compiler_opt") { - visibility = [ ":*" ] # Only targets in this file can depend on this. - - sources = v8_compiler_sources +v8_header_set("v8_flags") { + visibility = [ ":*" ] - public_deps = [ - ":generate_bytecode_builtins_list", - ":run_torque", - ":v8_maybe_icu", - ":v8_tracing", - ] + configs = [ ":internal_config" ] - deps = [ - ":v8_base_without_compiler", - ":v8_libbase", - ":v8_shared_internal_headers", + sources = [ + "src/flags/flag-definitions.h", + "src/flags/flags.h", ] - if (is_debug && !v8_optimized_debug && v8_enable_fast_mksnapshot) { - # The :no_optimize config is added to v8_add_configs in v8.gni. - remove_configs = [ "//build/config/compiler:no_optimize" ] - configs = [ ":always_optimize" ] - } else { - # Without this else branch, gn fails to generate build files for non-debug - # builds (because we try to remove a config that is not present). - # So we include it, even if this config is not used outside of debug builds. - configs = [ ":internal_config" ] - } + deps = [ ":v8_shared_internal_headers" ] } -# The src/compiler files with default optimization behavior. -v8_source_set("v8_compiler") { - visibility = [ ":*" ] # Only targets in this file can depend on this. - - sources = v8_compiler_sources - - public_deps = [ - ":generate_bytecode_builtins_list", - ":run_torque", - ":v8_maybe_icu", - ":v8_tracing", - ] - - deps = [ - ":v8_base_without_compiler", - ":v8_libbase", - ":v8_shared_internal_headers", - ] - +v8_header_set("v8_internal_headers") { configs = [ ":internal_config" ] -} - -group("v8_compiler_for_mksnapshot") { - if (is_debug && !v8_optimized_debug && v8_enable_fast_mksnapshot) { - deps = [ ":v8_compiler_opt" ] - } else { - deps = [ ":v8_compiler" ] - } -} - -# Any target using trace events must directly or indirectly depend on -# v8_tracing. -group("v8_tracing") { - if (v8_use_perfetto) { - if (build_with_chromium) { - public_deps = [ "//third_party/perfetto:libperfetto" ] - } else { - public_deps = [ ":v8_libperfetto" ] - } - } -} - -v8_source_set("v8_base_without_compiler") { - visibility = [ ":*" ] # Only targets in this file can depend on this. - - # Split static libraries on windows into two. - split_count = 2 sources = [ - "//base/trace_event/common/trace_event_common.h", - ### gcmole(all) ### "$target_gen_dir/builtins-generated/bytecodes-builtins-list.h", + "//base/trace_event/common/trace_event_common.h", "include/cppgc/common.h", "include/v8-inspector-protocol.h", "include/v8-inspector.h", @@ -2513,147 +2271,77 @@ v8_source_set("v8_base_without_compiler") { "include/v8-unwinder-state.h", "include/v8-wasm-trap-handler-posix.h", "src/api/api-arguments-inl.h", - "src/api/api-arguments.cc", "src/api/api-arguments.h", "src/api/api-inl.h", "src/api/api-macros.h", - "src/api/api-natives.cc", "src/api/api-natives.h", - "src/api/api.cc", "src/api/api.h", - "src/ast/ast-function-literal-id-reindexer.cc", "src/ast/ast-function-literal-id-reindexer.h", "src/ast/ast-source-ranges.h", "src/ast/ast-traversal-visitor.h", - "src/ast/ast-value-factory.cc", "src/ast/ast-value-factory.h", - "src/ast/ast.cc", "src/ast/ast.h", - "src/ast/modules.cc", "src/ast/modules.h", - "src/ast/prettyprinter.cc", "src/ast/prettyprinter.h", - "src/ast/scopes.cc", "src/ast/scopes.h", - "src/ast/source-range-ast-visitor.cc", "src/ast/source-range-ast-visitor.h", - "src/ast/variables.cc", "src/ast/variables.h", "src/baseline/baseline-assembler-inl.h", "src/baseline/baseline-assembler.h", - "src/baseline/baseline-compiler.cc", "src/baseline/baseline-compiler.h", - "src/baseline/baseline.cc", "src/baseline/baseline.h", - "src/builtins/accessors.cc", + "src/baseline/bytecode-offset-iterator.h", "src/builtins/accessors.h", - "src/builtins/builtins-api.cc", - "src/builtins/builtins-array.cc", - "src/builtins/builtins-arraybuffer.cc", - "src/builtins/builtins-async-module.cc", - "src/builtins/builtins-bigint.cc", - "src/builtins/builtins-callsite.cc", - "src/builtins/builtins-collections.cc", - "src/builtins/builtins-console.cc", "src/builtins/builtins-constructor.h", - "src/builtins/builtins-dataview.cc", - "src/builtins/builtins-date.cc", "src/builtins/builtins-definitions.h", "src/builtins/builtins-descriptors.h", - "src/builtins/builtins-error.cc", - "src/builtins/builtins-function.cc", - "src/builtins/builtins-global.cc", - "src/builtins/builtins-internal.cc", - "src/builtins/builtins-intl.cc", - "src/builtins/builtins-json.cc", - "src/builtins/builtins-number.cc", - "src/builtins/builtins-object.cc", "src/builtins/builtins-promise.h", - "src/builtins/builtins-reflect.cc", - "src/builtins/builtins-regexp.cc", - "src/builtins/builtins-sharedarraybuffer.cc", - "src/builtins/builtins-string.cc", - "src/builtins/builtins-symbol.cc", - "src/builtins/builtins-trace.cc", - "src/builtins/builtins-typed-array.cc", "src/builtins/builtins-utils-inl.h", "src/builtins/builtins-utils.h", - "src/builtins/builtins-weak-refs.cc", - "src/builtins/builtins.cc", "src/builtins/builtins.h", - "src/builtins/constants-table-builder.cc", "src/builtins/constants-table-builder.h", "src/builtins/profile-data-reader.h", + "src/codegen/aligned-slot-allocator.h", "src/codegen/assembler-arch.h", "src/codegen/assembler-inl.h", - "src/codegen/assembler.cc", "src/codegen/assembler.h", - "src/codegen/bailout-reason.cc", "src/codegen/bailout-reason.h", "src/codegen/callable.h", - "src/codegen/code-comments.cc", "src/codegen/code-comments.h", - "src/codegen/code-desc.cc", "src/codegen/code-desc.h", - "src/codegen/code-factory.cc", "src/codegen/code-factory.h", - "src/codegen/code-reference.cc", "src/codegen/code-reference.h", - "src/codegen/compilation-cache.cc", "src/codegen/compilation-cache.h", - "src/codegen/compiler.cc", "src/codegen/compiler.h", - "src/codegen/constant-pool.cc", "src/codegen/constant-pool.h", "src/codegen/constants-arch.h", "src/codegen/cpu-features.h", - "src/codegen/external-reference-encoder.cc", "src/codegen/external-reference-encoder.h", - "src/codegen/external-reference-table.cc", "src/codegen/external-reference-table.h", - "src/codegen/external-reference.cc", "src/codegen/external-reference.h", - "src/codegen/flush-instruction-cache.cc", "src/codegen/flush-instruction-cache.h", - "src/codegen/handler-table.cc", "src/codegen/handler-table.h", - "src/codegen/interface-descriptors.cc", "src/codegen/interface-descriptors.h", "src/codegen/label.h", - "src/codegen/machine-type.cc", "src/codegen/machine-type.h", "src/codegen/macro-assembler-inl.h", "src/codegen/macro-assembler.h", - "src/codegen/optimized-compilation-info.cc", "src/codegen/optimized-compilation-info.h", - "src/codegen/pending-optimization-table.cc", "src/codegen/pending-optimization-table.h", "src/codegen/register-arch.h", - "src/codegen/register-configuration.cc", "src/codegen/register-configuration.h", - "src/codegen/register.cc", "src/codegen/register.h", "src/codegen/reglist.h", - "src/codegen/reloc-info.cc", "src/codegen/reloc-info.h", - "src/codegen/safepoint-table.cc", "src/codegen/safepoint-table.h", "src/codegen/signature.h", - "src/codegen/source-position-table.cc", "src/codegen/source-position-table.h", - "src/codegen/source-position.cc", "src/codegen/source-position.h", - "src/codegen/string-constants.cc", "src/codegen/string-constants.h", - "src/codegen/tick-counter.cc", "src/codegen/tick-counter.h", - "src/codegen/tnode.cc", "src/codegen/tnode.h", - "src/codegen/turbo-assembler.cc", "src/codegen/turbo-assembler.h", - "src/codegen/unoptimized-compilation-info.cc", "src/codegen/unoptimized-compilation-info.h", - "src/common/assert-scope.cc", "src/common/assert-scope.h", "src/common/checks.h", "src/common/external-pointer-inl.h", @@ -2661,401 +2349,356 @@ v8_source_set("v8_base_without_compiler") { "src/common/message-template.h", "src/common/ptr-compr-inl.h", "src/common/ptr-compr.h", - "src/compiler-dispatcher/compiler-dispatcher.cc", "src/compiler-dispatcher/compiler-dispatcher.h", - "src/compiler-dispatcher/optimizing-compile-dispatcher.cc", "src/compiler-dispatcher/optimizing-compile-dispatcher.h", - "src/date/date.cc", + "src/compiler/all-nodes.h", + "src/compiler/allocation-builder-inl.h", + "src/compiler/allocation-builder.h", + "src/compiler/backend/code-generator-impl.h", + "src/compiler/backend/code-generator.h", + "src/compiler/backend/frame-elider.h", + "src/compiler/backend/gap-resolver.h", + "src/compiler/backend/instruction-codes.h", + "src/compiler/backend/instruction-scheduler.h", + "src/compiler/backend/instruction-selector-impl.h", + "src/compiler/backend/instruction-selector.h", + "src/compiler/backend/instruction.h", + "src/compiler/backend/jump-threading.h", + "src/compiler/backend/mid-tier-register-allocator.h", + "src/compiler/backend/move-optimizer.h", + "src/compiler/backend/register-allocation.h", + "src/compiler/backend/register-allocator-verifier.h", + "src/compiler/backend/register-allocator.h", + "src/compiler/backend/spill-placer.h", + "src/compiler/backend/unwinding-info-writer.h", + "src/compiler/basic-block-instrumentor.h", + "src/compiler/branch-elimination.h", + "src/compiler/bytecode-analysis.h", + "src/compiler/bytecode-graph-builder.h", + "src/compiler/bytecode-liveness-map.h", + "src/compiler/checkpoint-elimination.h", + "src/compiler/code-assembler.h", + "src/compiler/common-node-cache.h", + "src/compiler/common-operator-reducer.h", + "src/compiler/common-operator.h", + "src/compiler/compilation-dependencies.h", + "src/compiler/compiler-source-position-table.h", + "src/compiler/constant-folding-reducer.h", + "src/compiler/control-equivalence.h", + "src/compiler/control-flow-optimizer.h", + "src/compiler/csa-load-elimination.h", + "src/compiler/dead-code-elimination.h", + "src/compiler/decompression-optimizer.h", + "src/compiler/diamond.h", + "src/compiler/effect-control-linearizer.h", + "src/compiler/escape-analysis-reducer.h", + "src/compiler/escape-analysis.h", + "src/compiler/feedback-source.h", + "src/compiler/frame-states.h", + "src/compiler/frame.h", + "src/compiler/functional-list.h", + "src/compiler/globals.h", + "src/compiler/graph-assembler.h", + "src/compiler/graph-reducer.h", + "src/compiler/graph-trimmer.h", + "src/compiler/graph-visualizer.h", + "src/compiler/graph-zone-traits.h", + "src/compiler/graph.h", + "src/compiler/js-call-reducer.h", + "src/compiler/js-context-specialization.h", + "src/compiler/js-create-lowering.h", + "src/compiler/js-generic-lowering.h", + "src/compiler/js-graph.h", + "src/compiler/js-heap-broker.h", + "src/compiler/js-heap-copy-reducer.h", + "src/compiler/js-inlining-heuristic.h", + "src/compiler/js-inlining.h", + "src/compiler/js-intrinsic-lowering.h", + "src/compiler/js-native-context-specialization.h", + "src/compiler/js-operator.h", + "src/compiler/js-type-hint-lowering.h", + "src/compiler/js-typed-lowering.h", + "src/compiler/linkage.h", + "src/compiler/load-elimination.h", + "src/compiler/loop-analysis.h", + "src/compiler/loop-peeling.h", + "src/compiler/loop-unrolling.h", + "src/compiler/loop-variable-optimizer.h", + "src/compiler/machine-graph-verifier.h", + "src/compiler/machine-graph.h", + "src/compiler/machine-operator-reducer.h", + "src/compiler/machine-operator.h", + "src/compiler/map-inference.h", + "src/compiler/memory-lowering.h", + "src/compiler/memory-optimizer.h", + "src/compiler/node-aux-data.h", + "src/compiler/node-cache.h", + "src/compiler/node-marker.h", + "src/compiler/node-matchers.h", + "src/compiler/node-observer.h", + "src/compiler/node-origin-table.h", + "src/compiler/node-properties.h", + "src/compiler/node.h", + "src/compiler/opcodes.h", + "src/compiler/operation-typer.h", + "src/compiler/operator-properties.h", + "src/compiler/operator.h", + "src/compiler/osr.h", + "src/compiler/per-isolate-compiler-cache.h", + "src/compiler/persistent-map.h", + "src/compiler/pipeline-statistics.h", + "src/compiler/pipeline.h", + "src/compiler/property-access-builder.h", + "src/compiler/raw-machine-assembler.h", + "src/compiler/redundancy-elimination.h", + "src/compiler/refs-map.h", + "src/compiler/representation-change.h", + "src/compiler/schedule.h", + "src/compiler/scheduled-machine-lowering.h", + "src/compiler/scheduler.h", + "src/compiler/select-lowering.h", + "src/compiler/serializer-for-background-compilation.h", + "src/compiler/serializer-hints.h", + "src/compiler/simd-scalar-lowering.h", + "src/compiler/simplified-lowering.h", + "src/compiler/simplified-operator-reducer.h", + "src/compiler/simplified-operator.h", + "src/compiler/state-values-utils.h", + "src/compiler/store-store-elimination.h", + "src/compiler/type-cache.h", + "src/compiler/type-narrowing-reducer.h", + "src/compiler/typed-optimization.h", + "src/compiler/typer.h", + "src/compiler/types.h", + "src/compiler/value-numbering-reducer.h", + "src/compiler/verifier.h", + "src/compiler/write-barrier-kind.h", + "src/compiler/zone-stats.h", "src/date/date.h", "src/date/dateparser-inl.h", - "src/date/dateparser.cc", "src/date/dateparser.h", - "src/debug/debug-coverage.cc", "src/debug/debug-coverage.h", - "src/debug/debug-evaluate.cc", "src/debug/debug-evaluate.h", - "src/debug/debug-frames.cc", "src/debug/debug-frames.h", - "src/debug/debug-interface.cc", "src/debug/debug-interface.h", - "src/debug/debug-property-iterator.cc", "src/debug/debug-property-iterator.h", - "src/debug/debug-scope-iterator.cc", "src/debug/debug-scope-iterator.h", - "src/debug/debug-scopes.cc", "src/debug/debug-scopes.h", - "src/debug/debug-stack-trace-iterator.cc", "src/debug/debug-stack-trace-iterator.h", - "src/debug/debug-type-profile.cc", "src/debug/debug-type-profile.h", - "src/debug/debug-wasm-objects-inl.h", - "src/debug/debug-wasm-objects.cc", - "src/debug/debug-wasm-objects.h", - "src/debug/debug.cc", "src/debug/debug.h", "src/debug/interface-types.h", - "src/debug/liveedit.cc", "src/debug/liveedit.h", - "src/deoptimizer/deoptimize-reason.cc", "src/deoptimizer/deoptimize-reason.h", - "src/deoptimizer/deoptimized-frame-info.cc", "src/deoptimizer/deoptimized-frame-info.h", - "src/deoptimizer/deoptimizer.cc", "src/deoptimizer/deoptimizer.h", "src/deoptimizer/frame-description.h", - "src/deoptimizer/materialized-object-store.cc", "src/deoptimizer/materialized-object-store.h", - "src/deoptimizer/translated-state.cc", "src/deoptimizer/translated-state.h", - "src/deoptimizer/translation-array.cc", "src/deoptimizer/translation-array.h", "src/deoptimizer/translation-opcode.h", - "src/diagnostics/basic-block-profiler.cc", "src/diagnostics/basic-block-profiler.h", "src/diagnostics/code-tracer.h", - "src/diagnostics/compilation-statistics.cc", "src/diagnostics/compilation-statistics.h", "src/diagnostics/disasm.h", - "src/diagnostics/disassembler.cc", "src/diagnostics/disassembler.h", - "src/diagnostics/eh-frame.cc", "src/diagnostics/eh-frame.h", - "src/diagnostics/gdb-jit.cc", "src/diagnostics/gdb-jit.h", - "src/diagnostics/objects-debug.cc", - "src/diagnostics/objects-printer.cc", - "src/diagnostics/perf-jit.cc", "src/diagnostics/perf-jit.h", - "src/diagnostics/unwinder.cc", "src/diagnostics/unwinder.h", "src/execution/arguments-inl.h", - "src/execution/arguments.cc", "src/execution/arguments.h", - "src/execution/execution.cc", "src/execution/execution.h", - "src/execution/external-pointer-table.cc", "src/execution/external-pointer-table.h", "src/execution/frame-constants.h", "src/execution/frames-inl.h", - "src/execution/frames.cc", "src/execution/frames.h", - "src/execution/futex-emulation.cc", "src/execution/futex-emulation.h", - "src/execution/interrupts-scope.cc", "src/execution/interrupts-scope.h", "src/execution/isolate-data.h", "src/execution/isolate-inl.h", "src/execution/isolate-utils.h", - "src/execution/isolate.cc", "src/execution/isolate.h", "src/execution/local-isolate-inl.h", - "src/execution/local-isolate.cc", "src/execution/local-isolate.h", - "src/execution/messages.cc", "src/execution/messages.h", - "src/execution/microtask-queue.cc", "src/execution/microtask-queue.h", "src/execution/pointer-authentication.h", "src/execution/protectors-inl.h", - "src/execution/protectors.cc", "src/execution/protectors.h", - "src/execution/runtime-profiler.cc", "src/execution/runtime-profiler.h", "src/execution/shared-mutex-guard-if-off-thread.h", - "src/execution/simulator-base.cc", "src/execution/simulator-base.h", "src/execution/simulator.h", - "src/execution/stack-guard.cc", "src/execution/stack-guard.h", - "src/execution/thread-id.cc", "src/execution/thread-id.h", - "src/execution/thread-local-top.cc", "src/execution/thread-local-top.h", - "src/execution/v8threads.cc", "src/execution/v8threads.h", "src/execution/vm-state-inl.h", "src/execution/vm-state.h", - "src/extensions/cputracemark-extension.cc", "src/extensions/cputracemark-extension.h", - "src/extensions/externalize-string-extension.cc", "src/extensions/externalize-string-extension.h", - "src/extensions/gc-extension.cc", "src/extensions/gc-extension.h", - "src/extensions/ignition-statistics-extension.cc", "src/extensions/ignition-statistics-extension.h", - "src/extensions/statistics-extension.cc", "src/extensions/statistics-extension.h", - "src/extensions/trigger-failure-extension.cc", "src/extensions/trigger-failure-extension.h", - "src/flags/flag-definitions.h", - "src/flags/flags.cc", - "src/flags/flags.h", - "src/handles/global-handles.cc", "src/handles/global-handles.h", "src/handles/handles-inl.h", - "src/handles/handles.cc", "src/handles/handles.h", "src/handles/local-handles-inl.h", - "src/handles/local-handles.cc", "src/handles/local-handles.h", "src/handles/maybe-handles-inl.h", "src/handles/maybe-handles.h", - "src/handles/persistent-handles.cc", "src/handles/persistent-handles.h", - "src/heap/allocation-observer.cc", "src/heap/allocation-observer.h", "src/heap/allocation-stats.h", - "src/heap/array-buffer-sweeper.cc", "src/heap/array-buffer-sweeper.h", "src/heap/barrier.h", - "src/heap/base-space.cc", "src/heap/base-space.h", - "src/heap/basic-memory-chunk.cc", "src/heap/basic-memory-chunk.h", - "src/heap/code-object-registry.cc", "src/heap/code-object-registry.h", - "src/heap/code-stats.cc", "src/heap/code-stats.h", - "src/heap/collection-barrier.cc", "src/heap/collection-barrier.h", - "src/heap/combined-heap.cc", "src/heap/combined-heap.h", "src/heap/concurrent-allocator-inl.h", - "src/heap/concurrent-allocator.cc", "src/heap/concurrent-allocator.h", - "src/heap/concurrent-marking.cc", "src/heap/concurrent-marking.h", - "src/heap/cppgc-js/cpp-heap.cc", "src/heap/cppgc-js/cpp-heap.h", - "src/heap/cppgc-js/cpp-snapshot.cc", "src/heap/cppgc-js/cpp-snapshot.h", "src/heap/cppgc-js/unified-heap-marking-state.h", - "src/heap/cppgc-js/unified-heap-marking-verifier.cc", "src/heap/cppgc-js/unified-heap-marking-verifier.h", - "src/heap/cppgc-js/unified-heap-marking-visitor.cc", "src/heap/cppgc-js/unified-heap-marking-visitor.h", - "src/heap/embedder-tracing.cc", "src/heap/embedder-tracing.h", - "src/heap/factory-base.cc", "src/heap/factory-base.h", "src/heap/factory-inl.h", - "src/heap/factory.cc", "src/heap/factory.h", - "src/heap/finalization-registry-cleanup-task.cc", "src/heap/finalization-registry-cleanup-task.h", "src/heap/free-list-inl.h", - "src/heap/free-list.cc", "src/heap/free-list.h", - "src/heap/gc-idle-time-handler.cc", "src/heap/gc-idle-time-handler.h", - "src/heap/gc-tracer.cc", "src/heap/gc-tracer.h", - "src/heap/heap-controller.cc", "src/heap/heap-controller.h", "src/heap/heap-inl.h", "src/heap/heap-write-barrier-inl.h", - "src/heap/heap-write-barrier.cc", "src/heap/heap-write-barrier.h", - "src/heap/heap.cc", "src/heap/heap.h", "src/heap/incremental-marking-inl.h", - "src/heap/incremental-marking-job.cc", "src/heap/incremental-marking-job.h", - "src/heap/incremental-marking.cc", "src/heap/incremental-marking.h", - "src/heap/index-generator.cc", "src/heap/index-generator.h", "src/heap/invalidated-slots-inl.h", - "src/heap/invalidated-slots.cc", "src/heap/invalidated-slots.h", - "src/heap/item-parallel-job.cc", - "src/heap/item-parallel-job.h", - "src/heap/large-spaces.cc", "src/heap/large-spaces.h", "src/heap/list.h", "src/heap/local-allocator-inl.h", "src/heap/local-allocator.h", - "src/heap/local-factory.cc", "src/heap/local-factory.h", "src/heap/local-heap-inl.h", - "src/heap/local-heap.cc", "src/heap/local-heap.h", "src/heap/mark-compact-inl.h", - "src/heap/mark-compact.cc", "src/heap/mark-compact.h", - "src/heap/marking-barrier.cc", "src/heap/marking-barrier.h", "src/heap/marking-visitor-inl.h", "src/heap/marking-visitor.h", "src/heap/marking-worklist-inl.h", - "src/heap/marking-worklist.cc", "src/heap/marking-worklist.h", - "src/heap/marking.cc", "src/heap/marking.h", - "src/heap/memory-allocator.cc", "src/heap/memory-allocator.h", "src/heap/memory-chunk-inl.h", - "src/heap/memory-chunk-layout.cc", "src/heap/memory-chunk-layout.h", - "src/heap/memory-chunk.cc", "src/heap/memory-chunk.h", "src/heap/memory-measurement-inl.h", - "src/heap/memory-measurement.cc", "src/heap/memory-measurement.h", - "src/heap/memory-reducer.cc", "src/heap/memory-reducer.h", "src/heap/new-spaces-inl.h", - "src/heap/new-spaces.cc", "src/heap/new-spaces.h", - "src/heap/object-stats.cc", "src/heap/object-stats.h", "src/heap/objects-visiting-inl.h", - "src/heap/objects-visiting.cc", "src/heap/objects-visiting.h", "src/heap/paged-spaces-inl.h", - "src/heap/paged-spaces.cc", "src/heap/paged-spaces.h", "src/heap/parallel-work-item.h", "src/heap/parked-scope.h", "src/heap/read-only-heap-inl.h", - "src/heap/read-only-heap.cc", "src/heap/read-only-heap.h", - "src/heap/read-only-spaces.cc", "src/heap/read-only-spaces.h", "src/heap/remembered-set-inl.h", "src/heap/remembered-set.h", - "src/heap/safepoint.cc", "src/heap/safepoint.h", - "src/heap/scavenge-job.cc", "src/heap/scavenge-job.h", "src/heap/scavenger-inl.h", - "src/heap/scavenger.cc", "src/heap/scavenger.h", - "src/heap/slot-set.cc", "src/heap/slot-set.h", "src/heap/spaces-inl.h", - "src/heap/spaces.cc", "src/heap/spaces.h", - "src/heap/stress-marking-observer.cc", "src/heap/stress-marking-observer.h", - "src/heap/stress-scavenge-observer.cc", "src/heap/stress-scavenge-observer.h", - "src/heap/sweeper.cc", "src/heap/sweeper.h", - "src/heap/weak-object-worklists.cc", "src/heap/weak-object-worklists.h", "src/heap/worklist.h", - "src/ic/call-optimization.cc", "src/ic/call-optimization.h", "src/ic/handler-configuration-inl.h", - "src/ic/handler-configuration.cc", "src/ic/handler-configuration.h", "src/ic/ic-inl.h", - "src/ic/ic-stats.cc", "src/ic/ic-stats.h", - "src/ic/ic.cc", "src/ic/ic.h", - "src/ic/stub-cache.cc", "src/ic/stub-cache.h", - "src/init/bootstrapper.cc", "src/init/bootstrapper.h", "src/init/heap-symbols.h", - "src/init/icu_util.cc", "src/init/icu_util.h", - "src/init/isolate-allocator.cc", "src/init/isolate-allocator.h", "src/init/setup-isolate.h", - "src/init/startup-data-util.cc", "src/init/startup-data-util.h", - "src/init/v8.cc", "src/init/v8.h", "src/interpreter/block-coverage-builder.h", - "src/interpreter/bytecode-array-accessor.cc", - "src/interpreter/bytecode-array-accessor.h", - "src/interpreter/bytecode-array-builder.cc", "src/interpreter/bytecode-array-builder.h", - "src/interpreter/bytecode-array-iterator.cc", "src/interpreter/bytecode-array-iterator.h", - "src/interpreter/bytecode-array-random-iterator.cc", "src/interpreter/bytecode-array-random-iterator.h", - "src/interpreter/bytecode-array-writer.cc", "src/interpreter/bytecode-array-writer.h", - "src/interpreter/bytecode-decoder.cc", "src/interpreter/bytecode-decoder.h", - "src/interpreter/bytecode-flags.cc", "src/interpreter/bytecode-flags.h", - "src/interpreter/bytecode-generator.cc", "src/interpreter/bytecode-generator.h", "src/interpreter/bytecode-jump-table.h", - "src/interpreter/bytecode-label.cc", "src/interpreter/bytecode-label.h", - "src/interpreter/bytecode-node.cc", "src/interpreter/bytecode-node.h", - "src/interpreter/bytecode-operands.cc", "src/interpreter/bytecode-operands.h", "src/interpreter/bytecode-register-allocator.h", - "src/interpreter/bytecode-register-optimizer.cc", "src/interpreter/bytecode-register-optimizer.h", - "src/interpreter/bytecode-register.cc", "src/interpreter/bytecode-register.h", - "src/interpreter/bytecode-source-info.cc", "src/interpreter/bytecode-source-info.h", "src/interpreter/bytecode-traits.h", - "src/interpreter/bytecodes.cc", "src/interpreter/bytecodes.h", - "src/interpreter/constant-array-builder.cc", "src/interpreter/constant-array-builder.h", - "src/interpreter/control-flow-builders.cc", "src/interpreter/control-flow-builders.h", - "src/interpreter/handler-table-builder.cc", "src/interpreter/handler-table-builder.h", "src/interpreter/interpreter-generator.h", - "src/interpreter/interpreter-intrinsics.cc", "src/interpreter/interpreter-intrinsics.h", - "src/interpreter/interpreter.cc", "src/interpreter/interpreter.h", - "src/json/json-parser.cc", "src/json/json-parser.h", - "src/json/json-stringifier.cc", "src/json/json-stringifier.h", + "src/libsampler/sampler.h", "src/logging/code-events.h", "src/logging/counters-definitions.h", "src/logging/counters-inl.h", - "src/logging/counters.cc", "src/logging/counters.h", - "src/logging/local-logger.cc", "src/logging/local-logger.h", "src/logging/log-inl.h", - "src/logging/log-utils.cc", "src/logging/log-utils.h", - "src/logging/log.cc", "src/logging/log.h", - "src/logging/metrics.cc", "src/logging/metrics.h", - "src/logging/tracing-flags.cc", "src/logging/tracing-flags.h", - "src/numbers/bignum-dtoa.cc", "src/numbers/bignum-dtoa.h", - "src/numbers/bignum.cc", "src/numbers/bignum.h", - "src/numbers/cached-powers.cc", "src/numbers/cached-powers.h", "src/numbers/conversions-inl.h", - "src/numbers/conversions.cc", "src/numbers/conversions.h", - "src/numbers/diy-fp.cc", "src/numbers/diy-fp.h", "src/numbers/double.h", - "src/numbers/dtoa.cc", "src/numbers/dtoa.h", - "src/numbers/fast-dtoa.cc", "src/numbers/fast-dtoa.h", - "src/numbers/fixed-dtoa.cc", "src/numbers/fixed-dtoa.h", "src/numbers/hash-seed-inl.h", - "src/numbers/math-random.cc", "src/numbers/math-random.h", - "src/numbers/strtod.cc", "src/numbers/strtod.h", "src/objects/all-objects-inl.h", "src/objects/allocation-site-inl.h", @@ -3066,53 +2709,41 @@ v8_source_set("v8_base_without_compiler") { "src/objects/api-callbacks.h", "src/objects/arguments-inl.h", "src/objects/arguments.h", - "src/objects/backing-store.cc", "src/objects/backing-store.h", "src/objects/bigint-inl.h", - "src/objects/bigint.cc", "src/objects/bigint.h", "src/objects/cell-inl.h", "src/objects/cell.h", "src/objects/code-inl.h", - "src/objects/code-kind.cc", "src/objects/code-kind.h", - "src/objects/code.cc", "src/objects/code.h", "src/objects/compilation-cache-table-inl.h", - "src/objects/compilation-cache-table.cc", "src/objects/compilation-cache-table.h", "src/objects/compressed-slots-inl.h", "src/objects/compressed-slots.h", "src/objects/contexts-inl.h", - "src/objects/contexts.cc", "src/objects/contexts.h", "src/objects/data-handler-inl.h", "src/objects/data-handler.h", "src/objects/debug-objects-inl.h", - "src/objects/debug-objects.cc", "src/objects/debug-objects.h", "src/objects/descriptor-array-inl.h", "src/objects/descriptor-array.h", "src/objects/dictionary-inl.h", "src/objects/dictionary.h", "src/objects/elements-inl.h", - "src/objects/elements-kind.cc", "src/objects/elements-kind.h", - "src/objects/elements.cc", "src/objects/elements.h", "src/objects/embedder-data-array-inl.h", - "src/objects/embedder-data-array.cc", "src/objects/embedder-data-array.h", "src/objects/embedder-data-slot-inl.h", "src/objects/embedder-data-slot.h", "src/objects/feedback-cell-inl.h", "src/objects/feedback-cell.h", "src/objects/feedback-vector-inl.h", - "src/objects/feedback-vector.cc", "src/objects/feedback-vector.h", "src/objects/field-index-inl.h", "src/objects/field-index.h", - "src/objects/field-type.cc", "src/objects/field-type.h", "src/objects/fixed-array-inl.h", "src/objects/fixed-array.h", @@ -3130,48 +2761,19 @@ v8_source_set("v8_base_without_compiler") { "src/objects/instance-type-inl.h", "src/objects/instance-type.h", "src/objects/internal-index.h", - "src/objects/intl-objects.cc", - "src/objects/intl-objects.h", "src/objects/js-array-buffer-inl.h", - "src/objects/js-array-buffer.cc", "src/objects/js-array-buffer.h", "src/objects/js-array-inl.h", "src/objects/js-array.h", - "src/objects/js-break-iterator-inl.h", - "src/objects/js-break-iterator.cc", - "src/objects/js-break-iterator.h", - "src/objects/js-collator-inl.h", - "src/objects/js-collator.cc", - "src/objects/js-collator.h", "src/objects/js-collection-inl.h", "src/objects/js-collection-iterator.h", "src/objects/js-collection.h", - "src/objects/js-date-time-format-inl.h", - "src/objects/js-date-time-format.cc", - "src/objects/js-date-time-format.h", - "src/objects/js-display-names-inl.h", - "src/objects/js-display-names.cc", - "src/objects/js-display-names.h", "src/objects/js-function-inl.h", - "src/objects/js-function.cc", "src/objects/js-function.h", "src/objects/js-generator-inl.h", "src/objects/js-generator.h", - "src/objects/js-list-format-inl.h", - "src/objects/js-list-format.cc", - "src/objects/js-list-format.h", - "src/objects/js-locale-inl.h", - "src/objects/js-locale.cc", - "src/objects/js-locale.h", - "src/objects/js-number-format-inl.h", - "src/objects/js-number-format.cc", - "src/objects/js-number-format.h", "src/objects/js-objects-inl.h", - "src/objects/js-objects.cc", "src/objects/js-objects.h", - "src/objects/js-plural-rules-inl.h", - "src/objects/js-plural-rules.cc", - "src/objects/js-plural-rules.h", "src/objects/js-promise-inl.h", "src/objects/js-promise.h", "src/objects/js-proxy-inl.h", @@ -3179,46 +2781,25 @@ v8_source_set("v8_base_without_compiler") { "src/objects/js-regexp-inl.h", "src/objects/js-regexp-string-iterator-inl.h", "src/objects/js-regexp-string-iterator.h", - "src/objects/js-regexp.cc", "src/objects/js-regexp.h", - "src/objects/js-relative-time-format-inl.h", - "src/objects/js-relative-time-format.cc", - "src/objects/js-relative-time-format.h", - "src/objects/js-segment-iterator-inl.h", - "src/objects/js-segment-iterator.cc", - "src/objects/js-segment-iterator.h", - "src/objects/js-segmenter-inl.h", - "src/objects/js-segmenter.cc", - "src/objects/js-segmenter.h", - "src/objects/js-segments-inl.h", - "src/objects/js-segments.cc", - "src/objects/js-segments.h", "src/objects/js-weak-refs-inl.h", "src/objects/js-weak-refs.h", - "src/objects/keys.cc", "src/objects/keys.h", "src/objects/literal-objects-inl.h", - "src/objects/literal-objects.cc", "src/objects/literal-objects.h", "src/objects/lookup-cache-inl.h", - "src/objects/lookup-cache.cc", "src/objects/lookup-cache.h", "src/objects/lookup-inl.h", - "src/objects/lookup.cc", "src/objects/lookup.h", - "src/objects/managed.cc", "src/objects/managed.h", "src/objects/map-inl.h", - "src/objects/map-updater.cc", "src/objects/map-updater.h", - "src/objects/map.cc", "src/objects/map.h", "src/objects/maybe-object-inl.h", "src/objects/maybe-object.h", "src/objects/microtask-inl.h", "src/objects/microtask.h", "src/objects/module-inl.h", - "src/objects/module.cc", "src/objects/module.h", "src/objects/name-inl.h", "src/objects/name.h", @@ -3228,15 +2809,12 @@ v8_source_set("v8_base_without_compiler") { "src/objects/objects-body-descriptors-inl.h", "src/objects/objects-body-descriptors.h", "src/objects/objects-inl.h", - "src/objects/objects.cc", "src/objects/objects.h", "src/objects/oddball-inl.h", "src/objects/oddball.h", "src/objects/ordered-hash-table-inl.h", - "src/objects/ordered-hash-table.cc", "src/objects/ordered-hash-table.h", "src/objects/osr-optimized-code-cache-inl.h", - "src/objects/osr-optimized-code-cache.cc", "src/objects/osr-optimized-code-cache.h", "src/objects/primitive-heap-object-inl.h", "src/objects/primitive-heap-object.h", @@ -3248,434 +2826,1184 @@ v8_source_set("v8_base_without_compiler") { "src/objects/property-cell.h", "src/objects/property-descriptor-object-inl.h", "src/objects/property-descriptor-object.h", - "src/objects/property-descriptor.cc", "src/objects/property-descriptor.h", "src/objects/property-details.h", - "src/objects/property.cc", "src/objects/property.h", "src/objects/prototype-info-inl.h", "src/objects/prototype-info.h", "src/objects/prototype.h", "src/objects/regexp-match-info.h", "src/objects/scope-info-inl.h", - "src/objects/scope-info.cc", "src/objects/scope-info.h", "src/objects/script-inl.h", "src/objects/script.h", "src/objects/shared-function-info-inl.h", - "src/objects/shared-function-info.cc", "src/objects/shared-function-info.h", "src/objects/slots-atomic-inl.h", "src/objects/slots-inl.h", "src/objects/slots.h", - "src/objects/source-text-module.cc", "src/objects/source-text-module.h", "src/objects/stack-frame-info-inl.h", - "src/objects/stack-frame-info.cc", "src/objects/stack-frame-info.h", - "src/objects/string-comparator.cc", "src/objects/string-comparator.h", "src/objects/string-inl.h", "src/objects/string-set-inl.h", "src/objects/string-set.h", "src/objects/string-table-inl.h", - "src/objects/string-table.cc", "src/objects/string-table.h", - "src/objects/string.cc", "src/objects/string.h", "src/objects/struct-inl.h", "src/objects/struct.h", "src/objects/swiss-hash-table-helpers.h", "src/objects/swiss-name-dictionary-inl.h", - "src/objects/swiss-name-dictionary.cc", "src/objects/swiss-name-dictionary.h", "src/objects/synthetic-module-inl.h", - "src/objects/synthetic-module.cc", "src/objects/synthetic-module.h", "src/objects/tagged-field-inl.h", "src/objects/tagged-field.h", "src/objects/tagged-impl-inl.h", - "src/objects/tagged-impl.cc", "src/objects/tagged-impl.h", "src/objects/tagged-index.h", "src/objects/tagged-value-inl.h", "src/objects/tagged-value.h", "src/objects/template-objects-inl.h", - "src/objects/template-objects.cc", "src/objects/template-objects.h", "src/objects/templates-inl.h", "src/objects/templates.h", "src/objects/torque-defined-classes-inl.h", "src/objects/torque-defined-classes.h", "src/objects/transitions-inl.h", - "src/objects/transitions.cc", "src/objects/transitions.h", - "src/objects/type-hints.cc", "src/objects/type-hints.h", - "src/objects/value-serializer.cc", "src/objects/value-serializer.h", - "src/objects/visitors.cc", "src/objects/visitors.h", "src/parsing/expression-scope.h", - "src/parsing/func-name-inferrer.cc", "src/parsing/func-name-inferrer.h", - "src/parsing/import-assertions.cc", "src/parsing/import-assertions.h", - "src/parsing/literal-buffer.cc", "src/parsing/literal-buffer.h", - "src/parsing/parse-info.cc", "src/parsing/parse-info.h", "src/parsing/parser-base.h", - "src/parsing/parser.cc", "src/parsing/parser.h", - "src/parsing/parsing.cc", "src/parsing/parsing.h", - "src/parsing/pending-compilation-error-handler.cc", "src/parsing/pending-compilation-error-handler.h", "src/parsing/preparse-data-impl.h", - "src/parsing/preparse-data.cc", "src/parsing/preparse-data.h", "src/parsing/preparser-logger.h", - "src/parsing/preparser.cc", "src/parsing/preparser.h", - "src/parsing/rewriter.cc", "src/parsing/rewriter.h", - "src/parsing/scanner-character-streams.cc", "src/parsing/scanner-character-streams.h", - "src/parsing/scanner.cc", "src/parsing/scanner.h", - "src/parsing/token.cc", "src/parsing/token.h", - "src/profiler/allocation-tracker.cc", "src/profiler/allocation-tracker.h", "src/profiler/circular-queue-inl.h", "src/profiler/circular-queue.h", "src/profiler/cpu-profiler-inl.h", - "src/profiler/cpu-profiler.cc", "src/profiler/cpu-profiler.h", - "src/profiler/heap-profiler.cc", "src/profiler/heap-profiler.h", "src/profiler/heap-snapshot-generator-inl.h", - "src/profiler/heap-snapshot-generator.cc", "src/profiler/heap-snapshot-generator.h", "src/profiler/profile-generator-inl.h", - "src/profiler/profile-generator.cc", "src/profiler/profile-generator.h", - "src/profiler/profiler-listener.cc", "src/profiler/profiler-listener.h", - "src/profiler/profiler-stats.cc", "src/profiler/profiler-stats.h", - "src/profiler/sampling-heap-profiler.cc", "src/profiler/sampling-heap-profiler.h", - "src/profiler/strings-storage.cc", "src/profiler/strings-storage.h", - "src/profiler/symbolizer.cc", "src/profiler/symbolizer.h", - "src/profiler/tick-sample.cc", "src/profiler/tick-sample.h", - "src/profiler/tracing-cpu-profiler.cc", "src/profiler/tracing-cpu-profiler.h", - "src/regexp/experimental/experimental-bytecode.cc", + "src/profiler/weak-code-registry.h", "src/regexp/experimental/experimental-bytecode.h", - "src/regexp/experimental/experimental-compiler.cc", "src/regexp/experimental/experimental-compiler.h", - "src/regexp/experimental/experimental-interpreter.cc", "src/regexp/experimental/experimental-interpreter.h", - "src/regexp/experimental/experimental.cc", "src/regexp/experimental/experimental.h", - "src/regexp/property-sequences.cc", "src/regexp/property-sequences.h", - "src/regexp/regexp-ast.cc", "src/regexp/regexp-ast.h", "src/regexp/regexp-bytecode-generator-inl.h", - "src/regexp/regexp-bytecode-generator.cc", "src/regexp/regexp-bytecode-generator.h", - "src/regexp/regexp-bytecode-peephole.cc", "src/regexp/regexp-bytecode-peephole.h", - "src/regexp/regexp-bytecodes.cc", "src/regexp/regexp-bytecodes.h", - "src/regexp/regexp-compiler-tonode.cc", - "src/regexp/regexp-compiler.cc", "src/regexp/regexp-compiler.h", - "src/regexp/regexp-dotprinter.cc", "src/regexp/regexp-dotprinter.h", - "src/regexp/regexp-error.cc", "src/regexp/regexp-error.h", - "src/regexp/regexp-interpreter.cc", "src/regexp/regexp-interpreter.h", "src/regexp/regexp-macro-assembler-arch.h", - "src/regexp/regexp-macro-assembler-tracer.cc", "src/regexp/regexp-macro-assembler-tracer.h", - "src/regexp/regexp-macro-assembler.cc", "src/regexp/regexp-macro-assembler.h", "src/regexp/regexp-nodes.h", - "src/regexp/regexp-parser.cc", "src/regexp/regexp-parser.h", - "src/regexp/regexp-stack.cc", "src/regexp/regexp-stack.h", - "src/regexp/regexp-utils.cc", "src/regexp/regexp-utils.h", - "src/regexp/regexp.cc", "src/regexp/regexp.h", "src/regexp/special-case.h", "src/roots/roots-inl.h", - "src/roots/roots.cc", "src/roots/roots.h", - "src/runtime/runtime-array.cc", - "src/runtime/runtime-atomics.cc", - "src/runtime/runtime-bigint.cc", - "src/runtime/runtime-classes.cc", - "src/runtime/runtime-collections.cc", - "src/runtime/runtime-compiler.cc", - "src/runtime/runtime-date.cc", - "src/runtime/runtime-debug.cc", - "src/runtime/runtime-forin.cc", - "src/runtime/runtime-function.cc", - "src/runtime/runtime-futex.cc", - "src/runtime/runtime-generator.cc", - "src/runtime/runtime-internal.cc", - "src/runtime/runtime-intl.cc", - "src/runtime/runtime-literals.cc", - "src/runtime/runtime-module.cc", - "src/runtime/runtime-numbers.cc", - "src/runtime/runtime-object.cc", - "src/runtime/runtime-operators.cc", - "src/runtime/runtime-promise.cc", - "src/runtime/runtime-proxy.cc", - "src/runtime/runtime-regexp.cc", - "src/runtime/runtime-scopes.cc", - "src/runtime/runtime-strings.cc", - "src/runtime/runtime-symbol.cc", - "src/runtime/runtime-test.cc", - "src/runtime/runtime-trace.cc", - "src/runtime/runtime-typedarray.cc", "src/runtime/runtime-utils.h", - "src/runtime/runtime-wasm.cc", - "src/runtime/runtime-weak-refs.cc", - "src/runtime/runtime.cc", "src/runtime/runtime.h", "src/sanitizer/asan.h", - "src/sanitizer/lsan-page-allocator.cc", "src/sanitizer/lsan-page-allocator.h", "src/sanitizer/msan.h", "src/sanitizer/tsan.h", + "src/snapshot/code-serializer.h", + "src/snapshot/context-deserializer.h", + "src/snapshot/context-serializer.h", + "src/snapshot/deserializer.h", + "src/snapshot/embedded/embedded-data.h", + "src/snapshot/embedded/embedded-file-writer-interface.h", + "src/snapshot/object-deserializer.h", + "src/snapshot/read-only-deserializer.h", + "src/snapshot/read-only-serializer.h", + "src/snapshot/references.h", + "src/snapshot/roots-serializer.h", + "src/snapshot/serializer-deserializer.h", + "src/snapshot/serializer.h", + "src/snapshot/snapshot-compression.h", + "src/snapshot/snapshot-data.h", + "src/snapshot/snapshot-source-sink.h", + "src/snapshot/snapshot-utils.h", + "src/snapshot/snapshot.h", + "src/snapshot/startup-deserializer.h", + "src/snapshot/startup-serializer.h", + "src/strings/char-predicates-inl.h", + "src/strings/char-predicates.h", + "src/strings/string-builder-inl.h", + "src/strings/string-case.h", + "src/strings/string-hasher-inl.h", + "src/strings/string-hasher.h", + "src/strings/string-search.h", + "src/strings/string-stream.h", + "src/strings/unicode-decoder.h", + "src/strings/unicode-inl.h", + "src/strings/unicode.h", + "src/strings/uri.h", + "src/tasks/cancelable-task.h", + "src/tasks/operations-barrier.h", + "src/tasks/task-utils.h", + "src/third_party/siphash/halfsiphash.h", + "src/third_party/utf8-decoder/utf8-decoder.h", + "src/tracing/trace-event.h", + "src/tracing/traced-value.h", + "src/tracing/tracing-category-observer.h", + "src/trap-handler/trap-handler-internal.h", + "src/trap-handler/trap-handler.h", + "src/utils/address-map.h", + "src/utils/allocation.h", + "src/utils/bit-vector.h", + "src/utils/boxed-float.h", + "src/utils/detachable-vector.h", + "src/utils/identity-map.h", + "src/utils/locked-queue-inl.h", + "src/utils/locked-queue.h", + "src/utils/memcopy.h", + "src/utils/ostreams.h", + "src/utils/pointer-with-payload.h", + "src/utils/scoped-list.h", + "src/utils/utils-inl.h", + "src/utils/utils.h", + "src/utils/vector.h", + "src/utils/version.h", + "src/zone/accounting-allocator.h", + "src/zone/compressed-zone-ptr.h", + "src/zone/type-stats.h", + "src/zone/zone-allocator.h", + "src/zone/zone-chunk-list.h", + "src/zone/zone-compression.h", + "src/zone/zone-containers.h", + "src/zone/zone-handle-set.h", + "src/zone/zone-hashmap.h", + "src/zone/zone-list-inl.h", + "src/zone/zone-list.h", + "src/zone/zone-segment.h", + "src/zone/zone-type-traits.h", + "src/zone/zone-utils.h", + "src/zone/zone.h", + ] + + if (v8_use_perfetto) { + sources -= [ "//base/trace_event/common/trace_event_common.h" ] + } + + if (v8_enable_webassembly) { + sources += [ + "src/asmjs/asm-js.h", + "src/asmjs/asm-parser.h", + "src/asmjs/asm-scanner.h", + "src/asmjs/asm-types.h", + "src/compiler/int64-lowering.h", + "src/compiler/wasm-compiler.h", + "src/debug/debug-wasm-objects-inl.h", + "src/debug/debug-wasm-objects.h", + "src/wasm/baseline/liftoff-assembler-defs.h", + "src/wasm/baseline/liftoff-assembler.h", + "src/wasm/baseline/liftoff-compiler.h", + "src/wasm/baseline/liftoff-register.h", + "src/wasm/code-space-access.h", + "src/wasm/compilation-environment.h", + "src/wasm/decoder.h", + "src/wasm/function-body-decoder-impl.h", + "src/wasm/function-body-decoder.h", + "src/wasm/function-compiler.h", + "src/wasm/graph-builder-interface.h", + "src/wasm/jump-table-assembler.h", + "src/wasm/leb-helper.h", + "src/wasm/local-decl-encoder.h", + "src/wasm/memory-tracing.h", + "src/wasm/module-compiler.h", + "src/wasm/module-decoder.h", + "src/wasm/module-instantiate.h", + "src/wasm/object-access.h", + "src/wasm/signature-map.h", + "src/wasm/simd-shuffle.h", + "src/wasm/streaming-decoder.h", + "src/wasm/struct-types.h", + "src/wasm/value-type.h", + "src/wasm/wasm-arguments.h", + "src/wasm/wasm-code-manager.h", + "src/wasm/wasm-engine.h", + "src/wasm/wasm-external-refs.h", + "src/wasm/wasm-feature-flags.h", + "src/wasm/wasm-features.h", + "src/wasm/wasm-import-wrapper-cache.h", + "src/wasm/wasm-js.h", + "src/wasm/wasm-linkage.h", + "src/wasm/wasm-module-builder.h", + "src/wasm/wasm-module-sourcemap.h", + "src/wasm/wasm-module.h", + "src/wasm/wasm-objects-inl.h", + "src/wasm/wasm-objects.h", + "src/wasm/wasm-opcodes.h", + "src/wasm/wasm-result.h", + "src/wasm/wasm-serialization.h", + "src/wasm/wasm-subtyping.h", + "src/wasm/wasm-tier.h", + "src/wasm/wasm-value.h", + ] + } + + if (v8_enable_i18n_support) { + sources += [ + "src/objects/intl-objects.h", + "src/objects/js-break-iterator-inl.h", + "src/objects/js-break-iterator.h", + "src/objects/js-collator-inl.h", + "src/objects/js-collator.h", + "src/objects/js-date-time-format-inl.h", + "src/objects/js-date-time-format.h", + "src/objects/js-display-names-inl.h", + "src/objects/js-display-names.h", + "src/objects/js-list-format-inl.h", + "src/objects/js-list-format.h", + "src/objects/js-locale-inl.h", + "src/objects/js-locale.h", + "src/objects/js-number-format-inl.h", + "src/objects/js-number-format.h", + "src/objects/js-plural-rules-inl.h", + "src/objects/js-plural-rules.h", + "src/objects/js-relative-time-format-inl.h", + "src/objects/js-relative-time-format.h", + "src/objects/js-segment-iterator-inl.h", + "src/objects/js-segment-iterator.h", + "src/objects/js-segmenter-inl.h", + "src/objects/js-segmenter.h", + "src/objects/js-segments-inl.h", + "src/objects/js-segments.h", + ] + } + + if (!v8_control_flow_integrity) { + sources += [ "src/execution/pointer-authentication-dummy.h" ] + } + + if (v8_enable_conservative_stack_scanning) { + sources += [ + "src/heap/conservative-stack-visitor.h", + "src/heap/object-start-bitmap.h", + ] + } + + if (v8_enable_wasm_gdb_remote_debugging) { + sources += [ + "src/debug/wasm/gdb-server/gdb-remote-util.h", + "src/debug/wasm/gdb-server/gdb-server-thread.h", + "src/debug/wasm/gdb-server/gdb-server.h", + "src/debug/wasm/gdb-server/packet.h", + "src/debug/wasm/gdb-server/session.h", + "src/debug/wasm/gdb-server/target.h", + "src/debug/wasm/gdb-server/transport.h", + "src/debug/wasm/gdb-server/wasm-module-debug.h", + ] + } + + if (v8_current_cpu == "x86") { + sources += [ ### gcmole(arch:ia32) ### + "src/baseline/ia32/baseline-assembler-ia32-inl.h", + "src/baseline/ia32/baseline-compiler-ia32-inl.h", + "src/codegen/ia32/assembler-ia32-inl.h", + "src/codegen/ia32/assembler-ia32.h", + "src/codegen/ia32/constants-ia32.h", + "src/codegen/ia32/macro-assembler-ia32.h", + "src/codegen/ia32/register-ia32.h", + "src/codegen/ia32/sse-instr.h", + "src/codegen/shared-ia32-x64/macro-assembler-shared-ia32-x64.h", + "src/compiler/backend/ia32/instruction-codes-ia32.h", + "src/execution/ia32/frame-constants-ia32.h", + "src/regexp/ia32/regexp-macro-assembler-ia32.h", + "src/wasm/baseline/ia32/liftoff-assembler-ia32.h", + ] + } else if (v8_current_cpu == "x64") { + sources += [ ### gcmole(arch:x64) ### + "src/baseline/x64/baseline-assembler-x64-inl.h", + "src/baseline/x64/baseline-compiler-x64-inl.h", + "src/codegen/shared-ia32-x64/macro-assembler-shared-ia32-x64.h", + "src/codegen/x64/assembler-x64-inl.h", + "src/codegen/x64/assembler-x64.h", + "src/codegen/x64/constants-x64.h", + "src/codegen/x64/fma-instr.h", + "src/codegen/x64/macro-assembler-x64.h", + "src/codegen/x64/register-x64.h", + "src/codegen/x64/sse-instr.h", + "src/compiler/backend/x64/instruction-codes-x64.h", + "src/compiler/backend/x64/unwinding-info-writer-x64.h", + "src/execution/x64/frame-constants-x64.h", + "src/regexp/x64/regexp-macro-assembler-x64.h", + "src/third_party/valgrind/valgrind.h", + "src/wasm/baseline/x64/liftoff-assembler-x64.h", + ] + + # iOS Xcode simulator builds run on an x64 target. iOS and macOS are both + # based on Darwin and thus POSIX-compliant to a similar degree. + if (is_linux || is_chromeos || is_mac || is_ios || target_os == "freebsd") { + sources += [ "src/trap-handler/handler-inside-posix.h" ] + } + if (is_win) { + sources += [ + "src/diagnostics/unwinding-info-win64.h", + "src/trap-handler/handler-inside-win.h", + ] + } + } else if (v8_current_cpu == "arm") { + sources += [ ### gcmole(arch:arm) ### + "src/baseline/arm/baseline-assembler-arm-inl.h", + "src/baseline/arm/baseline-compiler-arm-inl.h", + "src/codegen/arm/assembler-arm-inl.h", + "src/codegen/arm/assembler-arm.h", + "src/codegen/arm/constants-arm.h", + "src/codegen/arm/macro-assembler-arm.h", + "src/codegen/arm/register-arm.h", + "src/compiler/backend/arm/instruction-codes-arm.h", + "src/compiler/backend/arm/unwinding-info-writer-arm.h", + "src/execution/arm/frame-constants-arm.h", + "src/execution/arm/simulator-arm.h", + "src/regexp/arm/regexp-macro-assembler-arm.h", + "src/wasm/baseline/arm/liftoff-assembler-arm.h", + ] + } else if (v8_current_cpu == "arm64") { + sources += [ ### gcmole(arch:arm64) ### + "src/baseline/arm64/baseline-assembler-arm64-inl.h", + "src/baseline/arm64/baseline-compiler-arm64-inl.h", + "src/codegen/arm64/assembler-arm64-inl.h", + "src/codegen/arm64/assembler-arm64.h", + "src/codegen/arm64/constants-arm64.h", + "src/codegen/arm64/decoder-arm64-inl.h", + "src/codegen/arm64/decoder-arm64.h", + "src/codegen/arm64/instructions-arm64.h", + "src/codegen/arm64/macro-assembler-arm64-inl.h", + "src/codegen/arm64/macro-assembler-arm64.h", + "src/codegen/arm64/register-arm64.h", + "src/codegen/arm64/utils-arm64.h", + "src/compiler/backend/arm64/instruction-codes-arm64.h", + "src/compiler/backend/arm64/unwinding-info-writer-arm64.h", + "src/diagnostics/arm64/disasm-arm64.h", + "src/execution/arm64/frame-constants-arm64.h", + "src/execution/arm64/simulator-arm64.h", + "src/regexp/arm64/regexp-macro-assembler-arm64.h", + "src/wasm/baseline/arm64/liftoff-assembler-arm64.h", + ] + if (v8_control_flow_integrity) { + sources += [ "src/execution/arm64/pointer-authentication-arm64.h" ] + } + if (current_cpu == "arm64" && is_mac) { + sources += [ "src/trap-handler/handler-inside-posix.h" ] + } + if (is_win) { + sources += [ "src/diagnostics/unwinding-info-win64.h" ] + } + } else if (v8_current_cpu == "mips" || v8_current_cpu == "mipsel") { + sources += [ ### gcmole(arch:mipsel) ### + "src/baseline/mips/baseline-assembler-mips-inl.h", + "src/baseline/mips/baseline-compiler-mips-inl.h", + "src/codegen/mips/assembler-mips-inl.h", + "src/codegen/mips/assembler-mips.h", + "src/codegen/mips/constants-mips.h", + "src/codegen/mips/macro-assembler-mips.h", + "src/codegen/mips/register-mips.h", + "src/compiler/backend/mips/instruction-codes-mips.h", + "src/execution/mips/frame-constants-mips.h", + "src/execution/mips/simulator-mips.h", + "src/regexp/mips/regexp-macro-assembler-mips.h", + "src/wasm/baseline/mips/liftoff-assembler-mips.h", + ] + } else if (v8_current_cpu == "mips64" || v8_current_cpu == "mips64el") { + sources += [ ### gcmole(arch:mips64el) ### + "src/baseline/mips64/baseline-assembler-mips64-inl.h", + "src/baseline/mips64/baseline-compiler-mips64-inl.h", + "src/codegen/mips64/assembler-mips64-inl.h", + "src/codegen/mips64/assembler-mips64.h", + "src/codegen/mips64/constants-mips64.h", + "src/codegen/mips64/macro-assembler-mips64.h", + "src/codegen/mips64/register-mips64.h", + "src/compiler/backend/mips64/instruction-codes-mips64.h", + "src/execution/mips64/frame-constants-mips64.h", + "src/execution/mips64/simulator-mips64.h", + "src/regexp/mips64/regexp-macro-assembler-mips64.h", + "src/wasm/baseline/mips64/liftoff-assembler-mips64.h", + ] + } else if (v8_current_cpu == "ppc") { + sources += [ ### gcmole(arch:ppc) ### + "src/baseline/ppc/baseline-assembler-ppc-inl.h", + "src/baseline/ppc/baseline-compiler-ppc-inl.h", + "src/codegen/ppc/assembler-ppc-inl.h", + "src/codegen/ppc/assembler-ppc.h", + "src/codegen/ppc/constants-ppc.h", + "src/codegen/ppc/macro-assembler-ppc.h", + "src/codegen/ppc/register-ppc.h", + "src/compiler/backend/ppc/instruction-codes-ppc.h", + "src/compiler/backend/ppc/unwinding-info-writer-ppc.h", + "src/execution/ppc/frame-constants-ppc.h", + "src/execution/ppc/simulator-ppc.h", + "src/regexp/ppc/regexp-macro-assembler-ppc.h", + "src/wasm/baseline/ppc/liftoff-assembler-ppc.h", + ] + } else if (v8_current_cpu == "ppc64") { + sources += [ ### gcmole(arch:ppc64) ### + "src/baseline/ppc/baseline-assembler-ppc-inl.h", + "src/baseline/ppc/baseline-compiler-ppc-inl.h", + "src/codegen/ppc/assembler-ppc-inl.h", + "src/codegen/ppc/assembler-ppc.h", + "src/codegen/ppc/constants-ppc.h", + "src/codegen/ppc/macro-assembler-ppc.h", + "src/codegen/ppc/register-ppc.h", + "src/compiler/backend/ppc/instruction-codes-ppc.h", + "src/compiler/backend/ppc/unwinding-info-writer-ppc.h", + "src/execution/ppc/frame-constants-ppc.h", + "src/execution/ppc/simulator-ppc.h", + "src/regexp/ppc/regexp-macro-assembler-ppc.h", + "src/wasm/baseline/ppc/liftoff-assembler-ppc.h", + ] + } else if (v8_current_cpu == "s390" || v8_current_cpu == "s390x") { + sources += [ ### gcmole(arch:s390) ### + "src/baseline/s390/baseline-assembler-s390-inl.h", + "src/baseline/s390/baseline-compiler-s390-inl.h", + "src/codegen/s390/assembler-s390-inl.h", + "src/codegen/s390/assembler-s390.h", + "src/codegen/s390/constants-s390.h", + "src/codegen/s390/macro-assembler-s390.h", + "src/codegen/s390/register-s390.h", + "src/compiler/backend/s390/instruction-codes-s390.h", + "src/compiler/backend/s390/unwinding-info-writer-s390.h", + "src/execution/s390/frame-constants-s390.h", + "src/execution/s390/simulator-s390.h", + "src/regexp/s390/regexp-macro-assembler-s390.h", + "src/wasm/baseline/s390/liftoff-assembler-s390.h", + ] + } else if (v8_current_cpu == "riscv64") { + sources += [ ### gcmole(arch:riscv64) ### + "src/codegen/riscv64/assembler-riscv64-inl.h", + "src/codegen/riscv64/assembler-riscv64.h", + "src/codegen/riscv64/constants-riscv64.h", + "src/codegen/riscv64/macro-assembler-riscv64.h", + "src/codegen/riscv64/register-riscv64.h", + "src/compiler/backend/riscv64/instruction-codes-riscv64.h", + "src/execution/riscv64/frame-constants-riscv64.h", + "src/execution/riscv64/simulator-riscv64.h", + "src/regexp/riscv64/regexp-macro-assembler-riscv64.h", + "src/wasm/baseline/riscv64/liftoff-assembler-riscv64.h", + ] + } + + public_deps = [ + ":torque_runtime_support", + ":v8_flags", + ":v8_headers", + ":v8_maybe_icu", + ":v8_shared_internal_headers", + ] + + deps = [ + ":cppgc_headers", + ":generate_bytecode_builtins_list", + ":run_torque", + ":v8_libbase", + ] +} + +v8_compiler_sources = [ + ### gcmole(all) ### + "src/compiler/access-builder.cc", + "src/compiler/access-info.cc", + "src/compiler/add-type-assertions-reducer.cc", + "src/compiler/all-nodes.cc", + "src/compiler/backend/code-generator.cc", + "src/compiler/backend/frame-elider.cc", + "src/compiler/backend/gap-resolver.cc", + "src/compiler/backend/instruction-scheduler.cc", + "src/compiler/backend/instruction-selector.cc", + "src/compiler/backend/instruction.cc", + "src/compiler/backend/jump-threading.cc", + "src/compiler/backend/mid-tier-register-allocator.cc", + "src/compiler/backend/move-optimizer.cc", + "src/compiler/backend/register-allocator-verifier.cc", + "src/compiler/backend/register-allocator.cc", + "src/compiler/backend/spill-placer.cc", + "src/compiler/basic-block-instrumentor.cc", + "src/compiler/branch-elimination.cc", + "src/compiler/bytecode-analysis.cc", + "src/compiler/bytecode-graph-builder.cc", + "src/compiler/bytecode-liveness-map.cc", + "src/compiler/c-linkage.cc", + "src/compiler/checkpoint-elimination.cc", + "src/compiler/code-assembler.cc", + "src/compiler/common-node-cache.cc", + "src/compiler/common-operator-reducer.cc", + "src/compiler/common-operator.cc", + "src/compiler/compilation-dependencies.cc", + "src/compiler/compiler-source-position-table.cc", + "src/compiler/constant-folding-reducer.cc", + "src/compiler/control-equivalence.cc", + "src/compiler/control-flow-optimizer.cc", + "src/compiler/csa-load-elimination.cc", + "src/compiler/dead-code-elimination.cc", + "src/compiler/decompression-optimizer.cc", + "src/compiler/effect-control-linearizer.cc", + "src/compiler/escape-analysis-reducer.cc", + "src/compiler/escape-analysis.cc", + "src/compiler/feedback-source.cc", + "src/compiler/frame-states.cc", + "src/compiler/frame.cc", + "src/compiler/graph-assembler.cc", + "src/compiler/graph-reducer.cc", + "src/compiler/graph-trimmer.cc", + "src/compiler/graph-visualizer.cc", + "src/compiler/graph.cc", + "src/compiler/js-call-reducer.cc", + "src/compiler/js-context-specialization.cc", + "src/compiler/js-create-lowering.cc", + "src/compiler/js-generic-lowering.cc", + "src/compiler/js-graph.cc", + "src/compiler/js-heap-broker.cc", + "src/compiler/js-heap-copy-reducer.cc", + "src/compiler/js-inlining-heuristic.cc", + "src/compiler/js-inlining.cc", + "src/compiler/js-intrinsic-lowering.cc", + "src/compiler/js-native-context-specialization.cc", + "src/compiler/js-operator.cc", + "src/compiler/js-type-hint-lowering.cc", + "src/compiler/js-typed-lowering.cc", + "src/compiler/linkage.cc", + "src/compiler/load-elimination.cc", + "src/compiler/loop-analysis.cc", + "src/compiler/loop-peeling.cc", + "src/compiler/loop-unrolling.cc", + "src/compiler/loop-variable-optimizer.cc", + "src/compiler/machine-graph-verifier.cc", + "src/compiler/machine-graph.cc", + "src/compiler/machine-operator-reducer.cc", + "src/compiler/machine-operator.cc", + "src/compiler/map-inference.cc", + "src/compiler/memory-lowering.cc", + "src/compiler/memory-optimizer.cc", + "src/compiler/node-marker.cc", + "src/compiler/node-matchers.cc", + "src/compiler/node-observer.cc", + "src/compiler/node-origin-table.cc", + "src/compiler/node-properties.cc", + "src/compiler/node.cc", + "src/compiler/opcodes.cc", + "src/compiler/operation-typer.cc", + "src/compiler/operator-properties.cc", + "src/compiler/operator.cc", + "src/compiler/osr.cc", + "src/compiler/pipeline-statistics.cc", + "src/compiler/pipeline.cc", + "src/compiler/property-access-builder.cc", + "src/compiler/raw-machine-assembler.cc", + "src/compiler/redundancy-elimination.cc", + "src/compiler/refs-map.cc", + "src/compiler/representation-change.cc", + "src/compiler/schedule.cc", + "src/compiler/scheduled-machine-lowering.cc", + "src/compiler/scheduler.cc", + "src/compiler/select-lowering.cc", + "src/compiler/serializer-for-background-compilation.cc", + "src/compiler/simplified-lowering.cc", + "src/compiler/simplified-operator-reducer.cc", + "src/compiler/simplified-operator.cc", + "src/compiler/state-values-utils.cc", + "src/compiler/store-store-elimination.cc", + "src/compiler/type-cache.cc", + "src/compiler/type-narrowing-reducer.cc", + "src/compiler/typed-optimization.cc", + "src/compiler/typer.cc", + "src/compiler/types.cc", + "src/compiler/value-numbering-reducer.cc", + "src/compiler/verifier.cc", + "src/compiler/zone-stats.cc", +] + +if (v8_enable_webassembly) { + v8_compiler_sources += [ + "src/compiler/int64-lowering.cc", + "src/compiler/simd-scalar-lowering.cc", + "src/compiler/wasm-compiler.cc", + ] +} + +# The src/compiler files with optimizations. +v8_source_set("v8_compiler_opt") { + visibility = [ ":*" ] # Only targets in this file can depend on this. + + sources = v8_compiler_sources + + public_deps = [ + ":generate_bytecode_builtins_list", + ":run_torque", + ":v8_maybe_icu", + ":v8_tracing", + ] + + deps = [ + ":v8_base_without_compiler", + ":v8_internal_headers", + ":v8_libbase", + ":v8_shared_internal_headers", + ] + + if (is_debug && !v8_optimized_debug && v8_enable_fast_mksnapshot) { + # The :no_optimize config is added to v8_add_configs in v8.gni. + remove_configs = [ "//build/config/compiler:no_optimize" ] + configs = [ ":always_optimize" ] + } else { + # Without this else branch, gn fails to generate build files for non-debug + # builds (because we try to remove a config that is not present). + # So we include it, even if this config is not used outside of debug builds. + configs = [ ":internal_config" ] + } +} + +# The src/compiler files with default optimization behavior. +v8_source_set("v8_compiler") { + visibility = [ ":*" ] # Only targets in this file can depend on this. + + sources = v8_compiler_sources + + public_deps = [ + ":generate_bytecode_builtins_list", + ":run_torque", + ":v8_internal_headers", + ":v8_maybe_icu", + ":v8_tracing", + ] + + deps = [ + ":v8_base_without_compiler", + ":v8_libbase", + ":v8_shared_internal_headers", + ] + + configs = [ ":internal_config" ] +} + +group("v8_compiler_for_mksnapshot") { + if (is_debug && !v8_optimized_debug && v8_enable_fast_mksnapshot) { + deps = [ ":v8_compiler_opt" ] + } else { + deps = [ ":v8_compiler" ] + } +} + +# Any target using trace events must directly or indirectly depend on +# v8_tracing. +group("v8_tracing") { + if (v8_use_perfetto) { + if (build_with_chromium) { + public_deps = [ "//third_party/perfetto:libperfetto" ] + } else { + public_deps = [ ":v8_libperfetto" ] + } + } +} + +v8_source_set("v8_base_without_compiler") { + visibility = [ ":*" ] # Only targets in this file can depend on this. + + # Split static libraries on windows into two. + split_count = 2 + + sources = [ + ### gcmole(all) ### + "src/api/api-arguments.cc", + "src/api/api-natives.cc", + "src/api/api.cc", + "src/ast/ast-function-literal-id-reindexer.cc", + "src/ast/ast-value-factory.cc", + "src/ast/ast.cc", + "src/ast/modules.cc", + "src/ast/prettyprinter.cc", + "src/ast/scopes.cc", + "src/ast/source-range-ast-visitor.cc", + "src/ast/variables.cc", + "src/baseline/baseline-compiler.cc", + "src/baseline/baseline.cc", + "src/baseline/bytecode-offset-iterator.cc", + "src/builtins/accessors.cc", + "src/builtins/builtins-api.cc", + "src/builtins/builtins-array.cc", + "src/builtins/builtins-arraybuffer.cc", + "src/builtins/builtins-async-module.cc", + "src/builtins/builtins-bigint.cc", + "src/builtins/builtins-callsite.cc", + "src/builtins/builtins-collections.cc", + "src/builtins/builtins-console.cc", + "src/builtins/builtins-dataview.cc", + "src/builtins/builtins-date.cc", + "src/builtins/builtins-error.cc", + "src/builtins/builtins-function.cc", + "src/builtins/builtins-global.cc", + "src/builtins/builtins-internal.cc", + "src/builtins/builtins-intl.cc", + "src/builtins/builtins-json.cc", + "src/builtins/builtins-number.cc", + "src/builtins/builtins-object.cc", + "src/builtins/builtins-reflect.cc", + "src/builtins/builtins-regexp.cc", + "src/builtins/builtins-sharedarraybuffer.cc", + "src/builtins/builtins-string.cc", + "src/builtins/builtins-symbol.cc", + "src/builtins/builtins-trace.cc", + "src/builtins/builtins-typed-array.cc", + "src/builtins/builtins-weak-refs.cc", + "src/builtins/builtins.cc", + "src/builtins/constants-table-builder.cc", + "src/codegen/aligned-slot-allocator.cc", + "src/codegen/assembler.cc", + "src/codegen/bailout-reason.cc", + "src/codegen/code-comments.cc", + "src/codegen/code-desc.cc", + "src/codegen/code-factory.cc", + "src/codegen/code-reference.cc", + "src/codegen/compilation-cache.cc", + "src/codegen/compiler.cc", + "src/codegen/constant-pool.cc", + "src/codegen/external-reference-encoder.cc", + "src/codegen/external-reference-table.cc", + "src/codegen/external-reference.cc", + "src/codegen/flush-instruction-cache.cc", + "src/codegen/handler-table.cc", + "src/codegen/interface-descriptors.cc", + "src/codegen/machine-type.cc", + "src/codegen/optimized-compilation-info.cc", + "src/codegen/pending-optimization-table.cc", + "src/codegen/register-configuration.cc", + "src/codegen/reloc-info.cc", + "src/codegen/safepoint-table.cc", + "src/codegen/source-position-table.cc", + "src/codegen/source-position.cc", + "src/codegen/string-constants.cc", + "src/codegen/tick-counter.cc", + "src/codegen/tnode.cc", + "src/codegen/turbo-assembler.cc", + "src/codegen/unoptimized-compilation-info.cc", + "src/common/assert-scope.cc", + "src/compiler-dispatcher/compiler-dispatcher.cc", + "src/compiler-dispatcher/optimizing-compile-dispatcher.cc", + "src/date/date.cc", + "src/date/dateparser.cc", + "src/debug/debug-coverage.cc", + "src/debug/debug-evaluate.cc", + "src/debug/debug-frames.cc", + "src/debug/debug-interface.cc", + "src/debug/debug-property-iterator.cc", + "src/debug/debug-scope-iterator.cc", + "src/debug/debug-scopes.cc", + "src/debug/debug-stack-trace-iterator.cc", + "src/debug/debug-type-profile.cc", + "src/debug/debug.cc", + "src/debug/liveedit.cc", + "src/deoptimizer/deoptimize-reason.cc", + "src/deoptimizer/deoptimized-frame-info.cc", + "src/deoptimizer/deoptimizer.cc", + "src/deoptimizer/materialized-object-store.cc", + "src/deoptimizer/translated-state.cc", + "src/deoptimizer/translation-array.cc", + "src/diagnostics/basic-block-profiler.cc", + "src/diagnostics/compilation-statistics.cc", + "src/diagnostics/disassembler.cc", + "src/diagnostics/eh-frame.cc", + "src/diagnostics/gdb-jit.cc", + "src/diagnostics/objects-debug.cc", + "src/diagnostics/objects-printer.cc", + "src/diagnostics/perf-jit.cc", + "src/diagnostics/unwinder.cc", + "src/execution/arguments.cc", + "src/execution/execution.cc", + "src/execution/external-pointer-table.cc", + "src/execution/frames.cc", + "src/execution/futex-emulation.cc", + "src/execution/interrupts-scope.cc", + "src/execution/isolate.cc", + "src/execution/local-isolate.cc", + "src/execution/messages.cc", + "src/execution/microtask-queue.cc", + "src/execution/protectors.cc", + "src/execution/runtime-profiler.cc", + "src/execution/simulator-base.cc", + "src/execution/stack-guard.cc", + "src/execution/thread-id.cc", + "src/execution/thread-local-top.cc", + "src/execution/v8threads.cc", + "src/extensions/cputracemark-extension.cc", + "src/extensions/externalize-string-extension.cc", + "src/extensions/gc-extension.cc", + "src/extensions/ignition-statistics-extension.cc", + "src/extensions/statistics-extension.cc", + "src/extensions/trigger-failure-extension.cc", + "src/flags/flags.cc", + "src/handles/global-handles.cc", + "src/handles/handles.cc", + "src/handles/local-handles.cc", + "src/handles/persistent-handles.cc", + "src/heap/allocation-observer.cc", + "src/heap/array-buffer-sweeper.cc", + "src/heap/base-space.cc", + "src/heap/basic-memory-chunk.cc", + "src/heap/code-object-registry.cc", + "src/heap/code-stats.cc", + "src/heap/collection-barrier.cc", + "src/heap/combined-heap.cc", + "src/heap/concurrent-allocator.cc", + "src/heap/concurrent-marking.cc", + "src/heap/cppgc-js/cpp-heap.cc", + "src/heap/cppgc-js/cpp-snapshot.cc", + "src/heap/cppgc-js/unified-heap-marking-verifier.cc", + "src/heap/cppgc-js/unified-heap-marking-visitor.cc", + "src/heap/embedder-tracing.cc", + "src/heap/factory-base.cc", + "src/heap/factory.cc", + "src/heap/finalization-registry-cleanup-task.cc", + "src/heap/free-list.cc", + "src/heap/gc-idle-time-handler.cc", + "src/heap/gc-tracer.cc", + "src/heap/heap-controller.cc", + "src/heap/heap-write-barrier.cc", + "src/heap/heap.cc", + "src/heap/incremental-marking-job.cc", + "src/heap/incremental-marking.cc", + "src/heap/index-generator.cc", + "src/heap/invalidated-slots.cc", + "src/heap/large-spaces.cc", + "src/heap/local-factory.cc", + "src/heap/local-heap.cc", + "src/heap/mark-compact.cc", + "src/heap/marking-barrier.cc", + "src/heap/marking-worklist.cc", + "src/heap/marking.cc", + "src/heap/memory-allocator.cc", + "src/heap/memory-chunk-layout.cc", + "src/heap/memory-chunk.cc", + "src/heap/memory-measurement.cc", + "src/heap/memory-reducer.cc", + "src/heap/new-spaces.cc", + "src/heap/object-stats.cc", + "src/heap/objects-visiting.cc", + "src/heap/paged-spaces.cc", + "src/heap/read-only-heap.cc", + "src/heap/read-only-spaces.cc", + "src/heap/safepoint.cc", + "src/heap/scavenge-job.cc", + "src/heap/scavenger.cc", + "src/heap/slot-set.cc", + "src/heap/spaces.cc", + "src/heap/stress-marking-observer.cc", + "src/heap/stress-scavenge-observer.cc", + "src/heap/sweeper.cc", + "src/heap/weak-object-worklists.cc", + "src/ic/call-optimization.cc", + "src/ic/handler-configuration.cc", + "src/ic/ic-stats.cc", + "src/ic/ic.cc", + "src/ic/stub-cache.cc", + "src/init/bootstrapper.cc", + "src/init/icu_util.cc", + "src/init/isolate-allocator.cc", + "src/init/startup-data-util.cc", + "src/init/v8.cc", + "src/interpreter/bytecode-array-builder.cc", + "src/interpreter/bytecode-array-iterator.cc", + "src/interpreter/bytecode-array-random-iterator.cc", + "src/interpreter/bytecode-array-writer.cc", + "src/interpreter/bytecode-decoder.cc", + "src/interpreter/bytecode-flags.cc", + "src/interpreter/bytecode-generator.cc", + "src/interpreter/bytecode-label.cc", + "src/interpreter/bytecode-node.cc", + "src/interpreter/bytecode-operands.cc", + "src/interpreter/bytecode-register-optimizer.cc", + "src/interpreter/bytecode-register.cc", + "src/interpreter/bytecode-source-info.cc", + "src/interpreter/bytecodes.cc", + "src/interpreter/constant-array-builder.cc", + "src/interpreter/control-flow-builders.cc", + "src/interpreter/handler-table-builder.cc", + "src/interpreter/interpreter-intrinsics.cc", + "src/interpreter/interpreter.cc", + "src/json/json-parser.cc", + "src/json/json-stringifier.cc", + "src/libsampler/sampler.cc", + "src/logging/counters.cc", + "src/logging/local-logger.cc", + "src/logging/log-utils.cc", + "src/logging/log.cc", + "src/logging/metrics.cc", + "src/logging/tracing-flags.cc", + "src/numbers/bignum-dtoa.cc", + "src/numbers/bignum.cc", + "src/numbers/cached-powers.cc", + "src/numbers/conversions.cc", + "src/numbers/diy-fp.cc", + "src/numbers/dtoa.cc", + "src/numbers/fast-dtoa.cc", + "src/numbers/fixed-dtoa.cc", + "src/numbers/math-random.cc", + "src/numbers/strtod.cc", + "src/objects/backing-store.cc", + "src/objects/bigint.cc", + "src/objects/code-kind.cc", + "src/objects/code.cc", + "src/objects/compilation-cache-table.cc", + "src/objects/contexts.cc", + "src/objects/debug-objects.cc", + "src/objects/elements-kind.cc", + "src/objects/elements.cc", + "src/objects/embedder-data-array.cc", + "src/objects/feedback-vector.cc", + "src/objects/field-type.cc", + "src/objects/intl-objects.cc", + "src/objects/js-array-buffer.cc", + "src/objects/js-break-iterator.cc", + "src/objects/js-collator.cc", + "src/objects/js-date-time-format.cc", + "src/objects/js-display-names.cc", + "src/objects/js-function.cc", + "src/objects/js-list-format.cc", + "src/objects/js-locale.cc", + "src/objects/js-number-format.cc", + "src/objects/js-objects.cc", + "src/objects/js-plural-rules.cc", + "src/objects/js-regexp.cc", + "src/objects/js-relative-time-format.cc", + "src/objects/js-segment-iterator.cc", + "src/objects/js-segmenter.cc", + "src/objects/js-segments.cc", + "src/objects/keys.cc", + "src/objects/literal-objects.cc", + "src/objects/lookup-cache.cc", + "src/objects/lookup.cc", + "src/objects/managed.cc", + "src/objects/map-updater.cc", + "src/objects/map.cc", + "src/objects/module.cc", + "src/objects/objects.cc", + "src/objects/ordered-hash-table.cc", + "src/objects/osr-optimized-code-cache.cc", + "src/objects/property-descriptor.cc", + "src/objects/property.cc", + "src/objects/scope-info.cc", + "src/objects/shared-function-info.cc", + "src/objects/source-text-module.cc", + "src/objects/stack-frame-info.cc", + "src/objects/string-comparator.cc", + "src/objects/string-table.cc", + "src/objects/string.cc", + "src/objects/swiss-name-dictionary.cc", + "src/objects/synthetic-module.cc", + "src/objects/tagged-impl.cc", + "src/objects/template-objects.cc", + "src/objects/transitions.cc", + "src/objects/type-hints.cc", + "src/objects/value-serializer.cc", + "src/objects/visitors.cc", + "src/parsing/func-name-inferrer.cc", + "src/parsing/import-assertions.cc", + "src/parsing/literal-buffer.cc", + "src/parsing/parse-info.cc", + "src/parsing/parser.cc", + "src/parsing/parsing.cc", + "src/parsing/pending-compilation-error-handler.cc", + "src/parsing/preparse-data.cc", + "src/parsing/preparser.cc", + "src/parsing/rewriter.cc", + "src/parsing/scanner-character-streams.cc", + "src/parsing/scanner.cc", + "src/parsing/token.cc", + "src/profiler/allocation-tracker.cc", + "src/profiler/cpu-profiler.cc", + "src/profiler/heap-profiler.cc", + "src/profiler/heap-snapshot-generator.cc", + "src/profiler/profile-generator.cc", + "src/profiler/profiler-listener.cc", + "src/profiler/profiler-stats.cc", + "src/profiler/sampling-heap-profiler.cc", + "src/profiler/strings-storage.cc", + "src/profiler/symbolizer.cc", + "src/profiler/tick-sample.cc", + "src/profiler/tracing-cpu-profiler.cc", + "src/profiler/weak-code-registry.cc", + "src/regexp/experimental/experimental-bytecode.cc", + "src/regexp/experimental/experimental-compiler.cc", + "src/regexp/experimental/experimental-interpreter.cc", + "src/regexp/experimental/experimental.cc", + "src/regexp/property-sequences.cc", + "src/regexp/regexp-ast.cc", + "src/regexp/regexp-bytecode-generator.cc", + "src/regexp/regexp-bytecode-peephole.cc", + "src/regexp/regexp-bytecodes.cc", + "src/regexp/regexp-compiler-tonode.cc", + "src/regexp/regexp-compiler.cc", + "src/regexp/regexp-dotprinter.cc", + "src/regexp/regexp-error.cc", + "src/regexp/regexp-interpreter.cc", + "src/regexp/regexp-macro-assembler-tracer.cc", + "src/regexp/regexp-macro-assembler.cc", + "src/regexp/regexp-parser.cc", + "src/regexp/regexp-stack.cc", + "src/regexp/regexp-utils.cc", + "src/regexp/regexp.cc", + "src/roots/roots.cc", + "src/runtime/runtime-array.cc", + "src/runtime/runtime-atomics.cc", + "src/runtime/runtime-bigint.cc", + "src/runtime/runtime-classes.cc", + "src/runtime/runtime-collections.cc", + "src/runtime/runtime-compiler.cc", + "src/runtime/runtime-date.cc", + "src/runtime/runtime-debug.cc", + "src/runtime/runtime-forin.cc", + "src/runtime/runtime-function.cc", + "src/runtime/runtime-futex.cc", + "src/runtime/runtime-generator.cc", + "src/runtime/runtime-internal.cc", + "src/runtime/runtime-intl.cc", + "src/runtime/runtime-literals.cc", + "src/runtime/runtime-module.cc", + "src/runtime/runtime-numbers.cc", + "src/runtime/runtime-object.cc", + "src/runtime/runtime-operators.cc", + "src/runtime/runtime-promise.cc", + "src/runtime/runtime-proxy.cc", + "src/runtime/runtime-regexp.cc", + "src/runtime/runtime-scopes.cc", + "src/runtime/runtime-strings.cc", + "src/runtime/runtime-symbol.cc", + "src/runtime/runtime-test.cc", + "src/runtime/runtime-trace.cc", + "src/runtime/runtime-typedarray.cc", + "src/runtime/runtime-weak-refs.cc", + "src/runtime/runtime.cc", + "src/sanitizer/lsan-page-allocator.cc", "src/snapshot/code-serializer.cc", - "src/snapshot/code-serializer.h", "src/snapshot/context-deserializer.cc", - "src/snapshot/context-deserializer.h", "src/snapshot/context-serializer.cc", - "src/snapshot/context-serializer.h", "src/snapshot/deserializer.cc", - "src/snapshot/deserializer.h", "src/snapshot/embedded/embedded-data.cc", - "src/snapshot/embedded/embedded-data.h", "src/snapshot/object-deserializer.cc", - "src/snapshot/object-deserializer.h", "src/snapshot/read-only-deserializer.cc", - "src/snapshot/read-only-deserializer.h", "src/snapshot/read-only-serializer.cc", - "src/snapshot/read-only-serializer.h", - "src/snapshot/references.h", "src/snapshot/roots-serializer.cc", - "src/snapshot/roots-serializer.h", "src/snapshot/serializer-deserializer.cc", - "src/snapshot/serializer-deserializer.h", "src/snapshot/serializer.cc", - "src/snapshot/serializer.h", "src/snapshot/snapshot-compression.cc", - "src/snapshot/snapshot-compression.h", "src/snapshot/snapshot-data.cc", - "src/snapshot/snapshot-data.h", "src/snapshot/snapshot-source-sink.cc", - "src/snapshot/snapshot-source-sink.h", "src/snapshot/snapshot-utils.cc", - "src/snapshot/snapshot-utils.h", "src/snapshot/snapshot.cc", - "src/snapshot/snapshot.h", "src/snapshot/startup-deserializer.cc", - "src/snapshot/startup-deserializer.h", "src/snapshot/startup-serializer.cc", - "src/snapshot/startup-serializer.h", - "src/strings/char-predicates-inl.h", "src/strings/char-predicates.cc", - "src/strings/char-predicates.h", - "src/strings/string-builder-inl.h", "src/strings/string-builder.cc", "src/strings/string-case.cc", - "src/strings/string-case.h", - "src/strings/string-hasher-inl.h", - "src/strings/string-hasher.h", - "src/strings/string-search.h", "src/strings/string-stream.cc", - "src/strings/string-stream.h", "src/strings/unicode-decoder.cc", - "src/strings/unicode-decoder.h", - "src/strings/unicode-inl.h", "src/strings/unicode.cc", - "src/strings/unicode.h", "src/strings/uri.cc", - "src/strings/uri.h", "src/tasks/cancelable-task.cc", - "src/tasks/cancelable-task.h", "src/tasks/operations-barrier.cc", - "src/tasks/operations-barrier.h", "src/tasks/task-utils.cc", - "src/tasks/task-utils.h", "src/third_party/siphash/halfsiphash.cc", - "src/third_party/siphash/halfsiphash.h", - "src/third_party/utf8-decoder/utf8-decoder.h", "src/tracing/trace-event.cc", - "src/tracing/trace-event.h", "src/tracing/traced-value.cc", - "src/tracing/traced-value.h", "src/tracing/tracing-category-observer.cc", - "src/tracing/tracing-category-observer.h", "src/trap-handler/handler-inside.cc", "src/trap-handler/handler-outside.cc", "src/trap-handler/handler-shared.cc", - "src/trap-handler/trap-handler-internal.h", - "src/trap-handler/trap-handler.h", "src/utils/address-map.cc", - "src/utils/address-map.h", "src/utils/allocation.cc", - "src/utils/allocation.h", "src/utils/bit-vector.cc", - "src/utils/bit-vector.h", - "src/utils/boxed-float.h", "src/utils/detachable-vector.cc", - "src/utils/detachable-vector.h", "src/utils/identity-map.cc", - "src/utils/identity-map.h", - "src/utils/locked-queue-inl.h", - "src/utils/locked-queue.h", "src/utils/memcopy.cc", - "src/utils/memcopy.h", "src/utils/ostreams.cc", - "src/utils/ostreams.h", - "src/utils/pointer-with-payload.h", - "src/utils/scoped-list.h", - "src/utils/utils-inl.h", "src/utils/utils.cc", - "src/utils/utils.h", - "src/utils/vector.h", "src/utils/version.cc", - "src/utils/version.h", - "src/wasm/baseline/liftoff-assembler-defs.h", - "src/wasm/baseline/liftoff-assembler.cc", - "src/wasm/baseline/liftoff-assembler.h", - "src/wasm/baseline/liftoff-compiler.cc", - "src/wasm/baseline/liftoff-compiler.h", - "src/wasm/baseline/liftoff-register.h", - "src/wasm/code-space-access.h", - "src/wasm/compilation-environment.h", - "src/wasm/decoder.h", - "src/wasm/function-body-decoder-impl.h", - "src/wasm/function-body-decoder.cc", - "src/wasm/function-body-decoder.h", - "src/wasm/function-compiler.cc", - "src/wasm/function-compiler.h", - "src/wasm/graph-builder-interface.cc", - "src/wasm/graph-builder-interface.h", - "src/wasm/jump-table-assembler.cc", - "src/wasm/jump-table-assembler.h", - "src/wasm/leb-helper.h", - "src/wasm/local-decl-encoder.cc", - "src/wasm/local-decl-encoder.h", - "src/wasm/memory-tracing.cc", - "src/wasm/memory-tracing.h", - "src/wasm/module-compiler.cc", - "src/wasm/module-compiler.h", - "src/wasm/module-decoder.cc", - "src/wasm/module-decoder.h", - "src/wasm/module-instantiate.cc", - "src/wasm/module-instantiate.h", - "src/wasm/object-access.h", - "src/wasm/signature-map.cc", - "src/wasm/signature-map.h", - "src/wasm/simd-shuffle.cc", - "src/wasm/simd-shuffle.h", - "src/wasm/streaming-decoder.cc", - "src/wasm/streaming-decoder.h", - "src/wasm/struct-types.h", - "src/wasm/sync-streaming-decoder.cc", - "src/wasm/value-type.cc", - "src/wasm/value-type.h", - "src/wasm/wasm-arguments.h", - "src/wasm/wasm-code-manager.cc", - "src/wasm/wasm-code-manager.h", - "src/wasm/wasm-constants.h", - "src/wasm/wasm-debug.cc", - "src/wasm/wasm-engine.cc", - "src/wasm/wasm-engine.h", - "src/wasm/wasm-external-refs.cc", - "src/wasm/wasm-external-refs.h", - "src/wasm/wasm-feature-flags.h", - "src/wasm/wasm-features.cc", - "src/wasm/wasm-features.h", - "src/wasm/wasm-import-wrapper-cache.cc", - "src/wasm/wasm-import-wrapper-cache.h", - "src/wasm/wasm-js.cc", - "src/wasm/wasm-js.h", - "src/wasm/wasm-limits.h", - "src/wasm/wasm-linkage.h", - "src/wasm/wasm-module-builder.cc", - "src/wasm/wasm-module-builder.h", - "src/wasm/wasm-module-sourcemap.cc", - "src/wasm/wasm-module-sourcemap.h", - "src/wasm/wasm-module.cc", - "src/wasm/wasm-module.h", - "src/wasm/wasm-objects-inl.h", - "src/wasm/wasm-objects.cc", - "src/wasm/wasm-objects.h", - "src/wasm/wasm-opcodes.cc", - "src/wasm/wasm-opcodes.h", - "src/wasm/wasm-result.cc", - "src/wasm/wasm-result.h", - "src/wasm/wasm-serialization.cc", - "src/wasm/wasm-serialization.h", - "src/wasm/wasm-subtyping.cc", - "src/wasm/wasm-subtyping.h", - "src/wasm/wasm-tier.h", - "src/wasm/wasm-value.h", + "src/web-snapshot/web-snapshot.cc", + "src/web-snapshot/web-snapshot.h", "src/zone/accounting-allocator.cc", - "src/zone/accounting-allocator.h", - "src/zone/compressed-zone-ptr.h", "src/zone/type-stats.cc", - "src/zone/type-stats.h", - "src/zone/zone-allocator.h", - "src/zone/zone-chunk-list.h", - "src/zone/zone-compression.h", - "src/zone/zone-containers.h", - "src/zone/zone-handle-set.h", - "src/zone/zone-hashmap.h", - "src/zone/zone-list-inl.h", - "src/zone/zone-list.h", "src/zone/zone-segment.cc", - "src/zone/zone-segment.h", - "src/zone/zone-type-traits.h", - "src/zone/zone-utils.h", "src/zone/zone.cc", - "src/zone/zone.h", ] if (v8_enable_webassembly) { sources += [ "src/asmjs/asm-js.cc", - "src/asmjs/asm-js.h", - "src/asmjs/asm-names.h", "src/asmjs/asm-parser.cc", - "src/asmjs/asm-parser.h", "src/asmjs/asm-scanner.cc", - "src/asmjs/asm-scanner.h", "src/asmjs/asm-types.cc", - "src/asmjs/asm-types.h", + "src/debug/debug-wasm-objects.cc", + "src/runtime/runtime-test-wasm.cc", + "src/runtime/runtime-wasm.cc", + "src/wasm/baseline/liftoff-assembler.cc", + "src/wasm/baseline/liftoff-compiler.cc", + "src/wasm/function-body-decoder.cc", + "src/wasm/function-compiler.cc", + "src/wasm/graph-builder-interface.cc", + "src/wasm/jump-table-assembler.cc", + "src/wasm/local-decl-encoder.cc", + "src/wasm/memory-tracing.cc", + "src/wasm/module-compiler.cc", + "src/wasm/module-decoder.cc", + "src/wasm/module-instantiate.cc", + "src/wasm/signature-map.cc", + "src/wasm/simd-shuffle.cc", + "src/wasm/streaming-decoder.cc", + "src/wasm/sync-streaming-decoder.cc", + "src/wasm/value-type.cc", + "src/wasm/wasm-code-manager.cc", + "src/wasm/wasm-debug.cc", + "src/wasm/wasm-engine.cc", + "src/wasm/wasm-external-refs.cc", + "src/wasm/wasm-features.cc", + "src/wasm/wasm-import-wrapper-cache.cc", + "src/wasm/wasm-js.cc", + "src/wasm/wasm-module-builder.cc", + "src/wasm/wasm-module-sourcemap.cc", + "src/wasm/wasm-module.cc", + "src/wasm/wasm-objects.cc", + "src/wasm/wasm-opcodes.cc", + "src/wasm/wasm-result.cc", + "src/wasm/wasm-serialization.cc", + "src/wasm/wasm-subtyping.cc", ] } - if (!v8_control_flow_integrity) { - sources += [ "src/execution/pointer-authentication-dummy.h" ] - } - if (v8_enable_third_party_heap) { sources += v8_third_party_heap_files } else { @@ -3683,31 +4011,19 @@ v8_source_set("v8_base_without_compiler") { } if (v8_enable_conservative_stack_scanning) { - sources += [ - "src/heap/conservative-stack-visitor.cc", - "src/heap/conservative-stack-visitor.h", - "src/heap/object-start-bitmap.h", - ] + sources += [ "src/heap/conservative-stack-visitor.cc" ] } if (v8_enable_wasm_gdb_remote_debugging) { sources += [ "src/debug/wasm/gdb-server/gdb-remote-util.cc", - "src/debug/wasm/gdb-server/gdb-remote-util.h", "src/debug/wasm/gdb-server/gdb-server-thread.cc", - "src/debug/wasm/gdb-server/gdb-server-thread.h", "src/debug/wasm/gdb-server/gdb-server.cc", - "src/debug/wasm/gdb-server/gdb-server.h", "src/debug/wasm/gdb-server/packet.cc", - "src/debug/wasm/gdb-server/packet.h", "src/debug/wasm/gdb-server/session.cc", - "src/debug/wasm/gdb-server/session.h", "src/debug/wasm/gdb-server/target.cc", - "src/debug/wasm/gdb-server/target.h", "src/debug/wasm/gdb-server/transport.cc", - "src/debug/wasm/gdb-server/transport.h", "src/debug/wasm/gdb-server/wasm-module-debug.cc", - "src/debug/wasm/gdb-server/wasm-module-debug.h", ] } @@ -3720,20 +4036,12 @@ v8_source_set("v8_base_without_compiler") { if (v8_current_cpu == "x86") { sources += [ ### gcmole(arch:ia32) ### - "src/baseline/ia32/baseline-assembler-ia32-inl.h", - "src/baseline/ia32/baseline-compiler-ia32-inl.h", - "src/codegen/ia32/assembler-ia32-inl.h", "src/codegen/ia32/assembler-ia32.cc", - "src/codegen/ia32/assembler-ia32.h", - "src/codegen/ia32/constants-ia32.h", "src/codegen/ia32/cpu-ia32.cc", "src/codegen/ia32/interface-descriptors-ia32.cc", "src/codegen/ia32/macro-assembler-ia32.cc", - "src/codegen/ia32/macro-assembler-ia32.h", - "src/codegen/ia32/register-ia32.h", - "src/codegen/ia32/sse-instr.h", + "src/codegen/shared-ia32-x64/macro-assembler-shared-ia32-x64.cc", "src/compiler/backend/ia32/code-generator-ia32.cc", - "src/compiler/backend/ia32/instruction-codes-ia32.h", "src/compiler/backend/ia32/instruction-scheduler-ia32.cc", "src/compiler/backend/ia32/instruction-selector-ia32.cc", "src/debug/ia32/debug-ia32.cc", @@ -3741,43 +4049,26 @@ v8_source_set("v8_base_without_compiler") { "src/diagnostics/ia32/disasm-ia32.cc", "src/diagnostics/ia32/unwinder-ia32.cc", "src/execution/ia32/frame-constants-ia32.cc", - "src/execution/ia32/frame-constants-ia32.h", "src/regexp/ia32/regexp-macro-assembler-ia32.cc", - "src/regexp/ia32/regexp-macro-assembler-ia32.h", - "src/wasm/baseline/ia32/liftoff-assembler-ia32.h", ] } else if (v8_current_cpu == "x64") { sources += [ ### gcmole(arch:x64) ### - "src/baseline/x64/baseline-assembler-x64-inl.h", - "src/baseline/x64/baseline-compiler-x64-inl.h", - "src/codegen/x64/assembler-x64-inl.h", + "src/codegen/shared-ia32-x64/macro-assembler-shared-ia32-x64.cc", "src/codegen/x64/assembler-x64.cc", - "src/codegen/x64/assembler-x64.h", - "src/codegen/x64/constants-x64.h", "src/codegen/x64/cpu-x64.cc", - "src/codegen/x64/fma-instr.h", "src/codegen/x64/interface-descriptors-x64.cc", "src/codegen/x64/macro-assembler-x64.cc", - "src/codegen/x64/macro-assembler-x64.h", - "src/codegen/x64/register-x64.h", - "src/codegen/x64/sse-instr.h", "src/compiler/backend/x64/code-generator-x64.cc", - "src/compiler/backend/x64/instruction-codes-x64.h", "src/compiler/backend/x64/instruction-scheduler-x64.cc", "src/compiler/backend/x64/instruction-selector-x64.cc", "src/compiler/backend/x64/unwinding-info-writer-x64.cc", - "src/compiler/backend/x64/unwinding-info-writer-x64.h", "src/debug/x64/debug-x64.cc", "src/deoptimizer/x64/deoptimizer-x64.cc", "src/diagnostics/x64/disasm-x64.cc", "src/diagnostics/x64/eh-frame-x64.cc", "src/diagnostics/x64/unwinder-x64.cc", "src/execution/x64/frame-constants-x64.cc", - "src/execution/x64/frame-constants-x64.h", "src/regexp/x64/regexp-macro-assembler-x64.cc", - "src/regexp/x64/regexp-macro-assembler-x64.h", - "src/third_party/valgrind/valgrind.h", - "src/wasm/baseline/x64/liftoff-assembler-x64.h", ] # iOS Xcode simulator builds run on an x64 target. iOS and macOS are both @@ -3785,129 +4076,79 @@ v8_source_set("v8_base_without_compiler") { if (is_linux || is_chromeos || is_mac || is_ios || target_os == "freebsd") { sources += [ "src/trap-handler/handler-inside-posix.cc", - "src/trap-handler/handler-inside-posix.h", "src/trap-handler/handler-outside-posix.cc", ] } if (is_win) { sources += [ "src/diagnostics/unwinding-info-win64.cc", - "src/diagnostics/unwinding-info-win64.h", "src/trap-handler/handler-inside-win.cc", - "src/trap-handler/handler-inside-win.h", "src/trap-handler/handler-outside-win.cc", ] } } else if (v8_current_cpu == "arm") { sources += [ ### gcmole(arch:arm) ### - "src/baseline/arm/baseline-assembler-arm-inl.h", - "src/baseline/arm/baseline-compiler-arm-inl.h", - "src/codegen/arm/assembler-arm-inl.h", "src/codegen/arm/assembler-arm.cc", - "src/codegen/arm/assembler-arm.h", "src/codegen/arm/constants-arm.cc", - "src/codegen/arm/constants-arm.h", "src/codegen/arm/cpu-arm.cc", "src/codegen/arm/interface-descriptors-arm.cc", "src/codegen/arm/macro-assembler-arm.cc", - "src/codegen/arm/macro-assembler-arm.h", - "src/codegen/arm/register-arm.h", "src/compiler/backend/arm/code-generator-arm.cc", - "src/compiler/backend/arm/instruction-codes-arm.h", "src/compiler/backend/arm/instruction-scheduler-arm.cc", "src/compiler/backend/arm/instruction-selector-arm.cc", "src/compiler/backend/arm/unwinding-info-writer-arm.cc", - "src/compiler/backend/arm/unwinding-info-writer-arm.h", "src/debug/arm/debug-arm.cc", "src/deoptimizer/arm/deoptimizer-arm.cc", "src/diagnostics/arm/disasm-arm.cc", "src/diagnostics/arm/eh-frame-arm.cc", "src/diagnostics/arm/unwinder-arm.cc", "src/execution/arm/frame-constants-arm.cc", - "src/execution/arm/frame-constants-arm.h", "src/execution/arm/simulator-arm.cc", - "src/execution/arm/simulator-arm.h", "src/regexp/arm/regexp-macro-assembler-arm.cc", - "src/regexp/arm/regexp-macro-assembler-arm.h", - "src/wasm/baseline/arm/liftoff-assembler-arm.h", ] } else if (v8_current_cpu == "arm64") { sources += [ ### gcmole(arch:arm64) ### - "src/baseline/arm64/baseline-assembler-arm64-inl.h", - "src/baseline/arm64/baseline-compiler-arm64-inl.h", - "src/codegen/arm64/assembler-arm64-inl.h", "src/codegen/arm64/assembler-arm64.cc", - "src/codegen/arm64/assembler-arm64.h", - "src/codegen/arm64/constants-arm64.h", "src/codegen/arm64/cpu-arm64.cc", - "src/codegen/arm64/decoder-arm64-inl.h", "src/codegen/arm64/decoder-arm64.cc", - "src/codegen/arm64/decoder-arm64.h", "src/codegen/arm64/instructions-arm64-constants.cc", "src/codegen/arm64/instructions-arm64.cc", - "src/codegen/arm64/instructions-arm64.h", "src/codegen/arm64/interface-descriptors-arm64.cc", - "src/codegen/arm64/macro-assembler-arm64-inl.h", "src/codegen/arm64/macro-assembler-arm64.cc", - "src/codegen/arm64/macro-assembler-arm64.h", "src/codegen/arm64/register-arm64.cc", - "src/codegen/arm64/register-arm64.h", "src/codegen/arm64/utils-arm64.cc", - "src/codegen/arm64/utils-arm64.h", "src/compiler/backend/arm64/code-generator-arm64.cc", - "src/compiler/backend/arm64/instruction-codes-arm64.h", "src/compiler/backend/arm64/instruction-scheduler-arm64.cc", "src/compiler/backend/arm64/instruction-selector-arm64.cc", "src/compiler/backend/arm64/unwinding-info-writer-arm64.cc", - "src/compiler/backend/arm64/unwinding-info-writer-arm64.h", "src/debug/arm64/debug-arm64.cc", "src/deoptimizer/arm64/deoptimizer-arm64.cc", "src/diagnostics/arm64/disasm-arm64.cc", - "src/diagnostics/arm64/disasm-arm64.h", "src/diagnostics/arm64/eh-frame-arm64.cc", "src/diagnostics/arm64/unwinder-arm64.cc", "src/execution/arm64/frame-constants-arm64.cc", - "src/execution/arm64/frame-constants-arm64.h", "src/execution/arm64/pointer-auth-arm64.cc", "src/execution/arm64/simulator-arm64.cc", - "src/execution/arm64/simulator-arm64.h", "src/execution/arm64/simulator-logic-arm64.cc", "src/regexp/arm64/regexp-macro-assembler-arm64.cc", - "src/regexp/arm64/regexp-macro-assembler-arm64.h", - "src/wasm/baseline/arm64/liftoff-assembler-arm64.h", ] - if (v8_control_flow_integrity) { - sources += [ "src/execution/arm64/pointer-authentication-arm64.h" ] - } if (current_cpu == "arm64" && is_mac) { sources += [ "src/trap-handler/handler-inside-posix.cc", - "src/trap-handler/handler-inside-posix.h", "src/trap-handler/handler-outside-posix.cc", ] } if (is_win) { - sources += [ - "src/diagnostics/unwinding-info-win64.cc", - "src/diagnostics/unwinding-info-win64.h", - ] + sources += [ "src/diagnostics/unwinding-info-win64.cc" ] } } else if (v8_current_cpu == "mips" || v8_current_cpu == "mipsel") { sources += [ ### gcmole(arch:mipsel) ### - "src/baseline/mips/baseline-assembler-mips-inl.h", - "src/baseline/mips/baseline-compiler-mips-inl.h", - "src/codegen/mips/assembler-mips-inl.h", "src/codegen/mips/assembler-mips.cc", - "src/codegen/mips/assembler-mips.h", "src/codegen/mips/constants-mips.cc", - "src/codegen/mips/constants-mips.h", "src/codegen/mips/cpu-mips.cc", "src/codegen/mips/interface-descriptors-mips.cc", "src/codegen/mips/macro-assembler-mips.cc", - "src/codegen/mips/macro-assembler-mips.h", - "src/codegen/mips/register-mips.h", "src/compiler/backend/mips/code-generator-mips.cc", - "src/compiler/backend/mips/instruction-codes-mips.h", "src/compiler/backend/mips/instruction-scheduler-mips.cc", "src/compiler/backend/mips/instruction-selector-mips.cc", "src/debug/mips/debug-mips.cc", @@ -3915,29 +4156,17 @@ v8_source_set("v8_base_without_compiler") { "src/diagnostics/mips/disasm-mips.cc", "src/diagnostics/mips/unwinder-mips.cc", "src/execution/mips/frame-constants-mips.cc", - "src/execution/mips/frame-constants-mips.h", "src/execution/mips/simulator-mips.cc", - "src/execution/mips/simulator-mips.h", "src/regexp/mips/regexp-macro-assembler-mips.cc", - "src/regexp/mips/regexp-macro-assembler-mips.h", - "src/wasm/baseline/mips/liftoff-assembler-mips.h", ] } else if (v8_current_cpu == "mips64" || v8_current_cpu == "mips64el") { sources += [ ### gcmole(arch:mips64el) ### - "src/baseline/mips64/baseline-assembler-mips64-inl.h", - "src/baseline/mips64/baseline-compiler-mips64-inl.h", - "src/codegen/mips64/assembler-mips64-inl.h", "src/codegen/mips64/assembler-mips64.cc", - "src/codegen/mips64/assembler-mips64.h", "src/codegen/mips64/constants-mips64.cc", - "src/codegen/mips64/constants-mips64.h", "src/codegen/mips64/cpu-mips64.cc", "src/codegen/mips64/interface-descriptors-mips64.cc", "src/codegen/mips64/macro-assembler-mips64.cc", - "src/codegen/mips64/macro-assembler-mips64.h", - "src/codegen/mips64/register-mips64.h", "src/compiler/backend/mips64/code-generator-mips64.cc", - "src/compiler/backend/mips64/instruction-codes-mips64.h", "src/compiler/backend/mips64/instruction-scheduler-mips64.cc", "src/compiler/backend/mips64/instruction-selector-mips64.cc", "src/debug/mips64/debug-mips64.cc", @@ -3945,126 +4174,77 @@ v8_source_set("v8_base_without_compiler") { "src/diagnostics/mips64/disasm-mips64.cc", "src/diagnostics/mips64/unwinder-mips64.cc", "src/execution/mips64/frame-constants-mips64.cc", - "src/execution/mips64/frame-constants-mips64.h", "src/execution/mips64/simulator-mips64.cc", - "src/execution/mips64/simulator-mips64.h", "src/regexp/mips64/regexp-macro-assembler-mips64.cc", - "src/regexp/mips64/regexp-macro-assembler-mips64.h", - "src/wasm/baseline/mips64/liftoff-assembler-mips64.h", ] } else if (v8_current_cpu == "ppc") { sources += [ ### gcmole(arch:ppc) ### - "src/baseline/ppc/baseline-assembler-ppc-inl.h", - "src/baseline/ppc/baseline-compiler-ppc-inl.h", - "src/codegen/ppc/assembler-ppc-inl.h", "src/codegen/ppc/assembler-ppc.cc", - "src/codegen/ppc/assembler-ppc.h", "src/codegen/ppc/constants-ppc.cc", - "src/codegen/ppc/constants-ppc.h", "src/codegen/ppc/cpu-ppc.cc", "src/codegen/ppc/interface-descriptors-ppc.cc", "src/codegen/ppc/macro-assembler-ppc.cc", - "src/codegen/ppc/macro-assembler-ppc.h", - "src/codegen/ppc/register-ppc.h", "src/compiler/backend/ppc/code-generator-ppc.cc", - "src/compiler/backend/ppc/instruction-codes-ppc.h", "src/compiler/backend/ppc/instruction-scheduler-ppc.cc", "src/compiler/backend/ppc/instruction-selector-ppc.cc", "src/compiler/backend/ppc/unwinding-info-writer-ppc.cc", - "src/compiler/backend/ppc/unwinding-info-writer-ppc.h", "src/debug/ppc/debug-ppc.cc", "src/deoptimizer/ppc/deoptimizer-ppc.cc", "src/diagnostics/ppc/disasm-ppc.cc", "src/diagnostics/ppc/eh-frame-ppc.cc", "src/diagnostics/ppc/unwinder-ppc.cc", "src/execution/ppc/frame-constants-ppc.cc", - "src/execution/ppc/frame-constants-ppc.h", "src/execution/ppc/simulator-ppc.cc", - "src/execution/ppc/simulator-ppc.h", "src/regexp/ppc/regexp-macro-assembler-ppc.cc", - "src/regexp/ppc/regexp-macro-assembler-ppc.h", - "src/wasm/baseline/ppc/liftoff-assembler-ppc.h", ] } else if (v8_current_cpu == "ppc64") { sources += [ ### gcmole(arch:ppc64) ### - "src/baseline/ppc/baseline-assembler-ppc-inl.h", - "src/baseline/ppc/baseline-compiler-ppc-inl.h", - "src/codegen/ppc/assembler-ppc-inl.h", "src/codegen/ppc/assembler-ppc.cc", - "src/codegen/ppc/assembler-ppc.h", "src/codegen/ppc/constants-ppc.cc", - "src/codegen/ppc/constants-ppc.h", "src/codegen/ppc/cpu-ppc.cc", "src/codegen/ppc/interface-descriptors-ppc.cc", "src/codegen/ppc/macro-assembler-ppc.cc", - "src/codegen/ppc/macro-assembler-ppc.h", - "src/codegen/ppc/register-ppc.h", "src/compiler/backend/ppc/code-generator-ppc.cc", - "src/compiler/backend/ppc/instruction-codes-ppc.h", "src/compiler/backend/ppc/instruction-scheduler-ppc.cc", "src/compiler/backend/ppc/instruction-selector-ppc.cc", "src/compiler/backend/ppc/unwinding-info-writer-ppc.cc", - "src/compiler/backend/ppc/unwinding-info-writer-ppc.h", "src/debug/ppc/debug-ppc.cc", "src/deoptimizer/ppc/deoptimizer-ppc.cc", "src/diagnostics/ppc/disasm-ppc.cc", "src/diagnostics/ppc/eh-frame-ppc.cc", "src/diagnostics/ppc/unwinder-ppc.cc", "src/execution/ppc/frame-constants-ppc.cc", - "src/execution/ppc/frame-constants-ppc.h", "src/execution/ppc/simulator-ppc.cc", - "src/execution/ppc/simulator-ppc.h", "src/regexp/ppc/regexp-macro-assembler-ppc.cc", - "src/regexp/ppc/regexp-macro-assembler-ppc.h", - "src/wasm/baseline/ppc/liftoff-assembler-ppc.h", ] } else if (v8_current_cpu == "s390" || v8_current_cpu == "s390x") { sources += [ ### gcmole(arch:s390) ### - "src/baseline/s390/baseline-assembler-s390-inl.h", - "src/baseline/s390/baseline-compiler-s390-inl.h", - "src/codegen/s390/assembler-s390-inl.h", "src/codegen/s390/assembler-s390.cc", - "src/codegen/s390/assembler-s390.h", "src/codegen/s390/constants-s390.cc", - "src/codegen/s390/constants-s390.h", "src/codegen/s390/cpu-s390.cc", "src/codegen/s390/interface-descriptors-s390.cc", "src/codegen/s390/macro-assembler-s390.cc", - "src/codegen/s390/macro-assembler-s390.h", - "src/codegen/s390/register-s390.h", "src/compiler/backend/s390/code-generator-s390.cc", - "src/compiler/backend/s390/instruction-codes-s390.h", "src/compiler/backend/s390/instruction-scheduler-s390.cc", "src/compiler/backend/s390/instruction-selector-s390.cc", "src/compiler/backend/s390/unwinding-info-writer-s390.cc", - "src/compiler/backend/s390/unwinding-info-writer-s390.h", "src/debug/s390/debug-s390.cc", "src/deoptimizer/s390/deoptimizer-s390.cc", "src/diagnostics/s390/disasm-s390.cc", "src/diagnostics/s390/eh-frame-s390.cc", "src/diagnostics/s390/unwinder-s390.cc", "src/execution/s390/frame-constants-s390.cc", - "src/execution/s390/frame-constants-s390.h", "src/execution/s390/simulator-s390.cc", - "src/execution/s390/simulator-s390.h", "src/regexp/s390/regexp-macro-assembler-s390.cc", - "src/regexp/s390/regexp-macro-assembler-s390.h", - "src/wasm/baseline/s390/liftoff-assembler-s390.h", ] } else if (v8_current_cpu == "riscv64") { sources += [ ### gcmole(arch:riscv64) ### - "src/codegen/riscv64/assembler-riscv64-inl.h", "src/codegen/riscv64/assembler-riscv64.cc", - "src/codegen/riscv64/assembler-riscv64.h", "src/codegen/riscv64/constants-riscv64.cc", - "src/codegen/riscv64/constants-riscv64.h", "src/codegen/riscv64/cpu-riscv64.cc", "src/codegen/riscv64/interface-descriptors-riscv64.cc", "src/codegen/riscv64/macro-assembler-riscv64.cc", - "src/codegen/riscv64/macro-assembler-riscv64.h", - "src/codegen/riscv64/register-riscv64.h", "src/compiler/backend/riscv64/code-generator-riscv64.cc", - "src/compiler/backend/riscv64/instruction-codes-riscv64.h", "src/compiler/backend/riscv64/instruction-scheduler-riscv64.cc", "src/compiler/backend/riscv64/instruction-selector-riscv64.cc", "src/debug/riscv64/debug-riscv64.cc", @@ -4072,15 +4252,22 @@ v8_source_set("v8_base_without_compiler") { "src/diagnostics/riscv64/disasm-riscv64.cc", "src/diagnostics/riscv64/unwinder-riscv64.cc", "src/execution/riscv64/frame-constants-riscv64.cc", - "src/execution/riscv64/frame-constants-riscv64.h", "src/execution/riscv64/simulator-riscv64.cc", - "src/execution/riscv64/simulator-riscv64.h", "src/regexp/riscv64/regexp-macro-assembler-riscv64.cc", - "src/regexp/riscv64/regexp-macro-assembler-riscv64.h", - "src/wasm/baseline/riscv64/liftoff-assembler-riscv64.h", ] } + # Architecture independent but platform-specific sources + if (is_win) { + if (v8_enable_system_instrumentation) { + sources += [ + "src/diagnostics/system-jit-metadata-win.h", + "src/diagnostics/system-jit-win.cc", + "src/diagnostics/system-jit-win.h", + ] + } + } + configs = [ ":internal_config", ":cppgc_base_config", @@ -4088,14 +4275,13 @@ v8_source_set("v8_base_without_compiler") { deps = [ ":torque_generated_definitions", + ":v8_bigint", ":v8_cppgc_shared", ":v8_headers", ":v8_libbase", - ":v8_libsampler", ":v8_shared_internal_headers", ":v8_tracing", ":v8_version", - ":v8_wrappers", "src/inspector:inspector", ] @@ -4104,6 +4290,7 @@ v8_source_set("v8_base_without_compiler") { ":generate_bytecode_builtins_list", ":run_torque", ":v8_headers", + ":v8_internal_headers", ":v8_maybe_icu", ] @@ -4117,43 +4304,18 @@ v8_source_set("v8_base_without_compiler") { sources -= [ "src/builtins/builtins-intl.cc", "src/objects/intl-objects.cc", - "src/objects/intl-objects.h", - "src/objects/js-break-iterator-inl.h", "src/objects/js-break-iterator.cc", - "src/objects/js-break-iterator.h", - "src/objects/js-collator-inl.h", "src/objects/js-collator.cc", - "src/objects/js-collator.h", - "src/objects/js-date-time-format-inl.h", "src/objects/js-date-time-format.cc", - "src/objects/js-date-time-format.h", - "src/objects/js-display-names-inl.h", "src/objects/js-display-names.cc", - "src/objects/js-display-names.h", - "src/objects/js-list-format-inl.h", "src/objects/js-list-format.cc", - "src/objects/js-list-format.h", - "src/objects/js-locale-inl.h", "src/objects/js-locale.cc", - "src/objects/js-locale.h", - "src/objects/js-number-format-inl.h", "src/objects/js-number-format.cc", - "src/objects/js-number-format.h", - "src/objects/js-plural-rules-inl.h", "src/objects/js-plural-rules.cc", - "src/objects/js-plural-rules.h", - "src/objects/js-relative-time-format-inl.h", "src/objects/js-relative-time-format.cc", - "src/objects/js-relative-time-format.h", - "src/objects/js-segment-iterator-inl.h", "src/objects/js-segment-iterator.cc", - "src/objects/js-segment-iterator.h", - "src/objects/js-segmenter-inl.h", "src/objects/js-segmenter.cc", - "src/objects/js-segmenter.h", - "src/objects/js-segments-inl.h", "src/objects/js-segments.cc", - "src/objects/js-segments.h", "src/runtime/runtime-intl.cc", "src/strings/char-predicates.cc", ] @@ -4194,7 +4356,6 @@ v8_source_set("v8_base_without_compiler") { } if (v8_use_perfetto) { - sources -= [ "//base/trace_event/common/trace_event_common.h" ] sources += [ "src/tracing/trace-categories.cc", "src/tracing/trace-categories.h", @@ -4261,13 +4422,13 @@ v8_source_set("torque_base") { "src/torque/utils.h", ] - deps = [ ":v8_shared_internal_headers" ] - - public_deps = [ - ":v8_libbase", - ":v8_wrappers", + deps = [ + ":v8_flags", + ":v8_shared_internal_headers", ] + public_deps = [ ":v8_libbase" ] + # The use of exceptions for Torque in violation of the Chromium style-guide # is justified by the fact that it is only used from the non-essential # language server and can be removed anytime if it causes problems. @@ -4366,6 +4527,7 @@ v8_component("v8_libbase") { "src/base/hashmap.h", "src/base/ieee754.cc", "src/base/ieee754.h", + "src/base/immediate-crash.h", "src/base/iterator.h", "src/base/lazy-instance.h", "src/base/logging.cc", @@ -4389,6 +4551,7 @@ v8_component("v8_libbase") { "src/base/platform/semaphore.h", "src/base/platform/time.cc", "src/base/platform/time.h", + "src/base/platform/wrappers.h", "src/base/region-allocator.cc", "src/base/region-allocator.h", "src/base/ring-buffer.h", @@ -4405,15 +4568,14 @@ v8_component("v8_libbase") { "src/base/utils/random-number-generator.h", "src/base/vlq-base64.cc", "src/base/vlq-base64.h", + "src/base/vlq.h", ] configs = [ ":internal_config_base" ] public_configs = [ ":libbase_config" ] - deps = [ ":v8_headers" ] - - public_deps = [ ":v8_wrappers" ] + deps = [ ":v8_config_headers" ] data = [] @@ -4582,16 +4744,16 @@ v8_component("v8_libplatform") { public_deps = [] deps = [ - ":v8_headers", + ":v8_config_headers", ":v8_libbase", ":v8_tracing", - ":v8_wrappers", ] if (v8_use_perfetto) { sources -= [ "//base/trace_event/common/trace_event_common.h", "src/libplatform/tracing/recorder-default.cc", + "src/libplatform/tracing/recorder.h", "src/libplatform/tracing/trace-buffer.cc", "src/libplatform/tracing/trace-buffer.h", "src/libplatform/tracing/trace-object.cc", @@ -4612,19 +4774,6 @@ v8_component("v8_libplatform") { } } -v8_source_set("v8_libsampler") { - sources = [ - "src/libsampler/sampler.cc", - "src/libsampler/sampler.h", - ] - - configs = [ ":internal_config" ] - - public_configs = [ ":libsampler_config" ] - - deps = [ ":v8_libbase" ] -} - v8_source_set("fuzzer_support") { visibility = [ ":*" ] # Only targets in this file can depend on this. @@ -4643,6 +4792,15 @@ v8_source_set("fuzzer_support") { ] } +v8_source_set("v8_bigint") { + sources = [ + "src/bigint/bigint.h", + "src/bigint/vector-arithmetic.cc", + ] + + configs = [ ":internal_config" ] +} + v8_source_set("v8_cppgc_shared") { sources = [ "src/heap/base/stack.cc", @@ -4696,27 +4854,13 @@ v8_header_set("cppgc_headers") { ":cppgc_header_features", ] - sources = [ - "include/cppgc/garbage-collected.h", - "include/cppgc/member.h", - "include/cppgc/persistent.h", - "include/cppgc/type-traits.h", - "include/cppgc/visitor.h", - ] - - deps = [ ":cppgc_base" ] - public_deps = [ ":v8_headers" ] -} - -v8_source_set("cppgc_base") { - visibility = [ ":*" ] - sources = [ "include/cppgc/allocation.h", "include/cppgc/common.h", "include/cppgc/custom-space.h", "include/cppgc/default-platform.h", "include/cppgc/ephemeron-pair.h", + "include/cppgc/explicit-management.h", "include/cppgc/garbage-collected.h", "include/cppgc/heap-consistency.h", "include/cppgc/heap-state.h", @@ -4746,6 +4890,21 @@ v8_source_set("cppgc_base") { "include/cppgc/trace-trait.h", "include/cppgc/type-traits.h", "include/cppgc/visitor.h", + ] + + if (cppgc_enable_caged_heap) { + sources += [ "include/cppgc/internal/caged-heap-local-data.h" ] + } + + deps = [ ":v8_libplatform" ] + + public_deps = [ ":v8_config_headers" ] +} + +v8_source_set("cppgc_base") { + visibility = [ ":*" ] + + sources = [ "src/heap/cppgc/allocation.cc", "src/heap/cppgc/compaction-worklists.cc", "src/heap/cppgc/compaction-worklists.h", @@ -4754,6 +4913,7 @@ v8_source_set("cppgc_base") { "src/heap/cppgc/concurrent-marker.cc", "src/heap/cppgc/concurrent-marker.h", "src/heap/cppgc/default-platform.cc", + "src/heap/cppgc/explicit-management.cc", "src/heap/cppgc/free-list.cc", "src/heap/cppgc/free-list.h", "src/heap/cppgc/garbage-collector.h", @@ -4798,6 +4958,7 @@ v8_source_set("cppgc_base") { "src/heap/cppgc/name-trait.cc", "src/heap/cppgc/object-allocator.cc", "src/heap/cppgc/object-allocator.h", + "src/heap/cppgc/object-poisoner.h", "src/heap/cppgc/object-size-trait.cc", "src/heap/cppgc/object-start-bitmap.h", "src/heap/cppgc/page-memory.cc", @@ -4828,15 +4989,8 @@ v8_source_set("cppgc_base") { "src/heap/cppgc/write-barrier.h", ] - if (cppgc_is_standalone) { - sources += [ "//base/trace_event/common/trace_event_common.h" ] - } else { - deps = [ ":v8_tracing" ] - } - if (cppgc_enable_caged_heap) { sources += [ - "include/cppgc/internal/caged-heap-local-data.h", "src/heap/cppgc/caged-heap-local-data.cc", "src/heap/cppgc/caged-heap.cc", "src/heap/cppgc/caged-heap.h", @@ -4849,11 +5003,17 @@ v8_source_set("cppgc_base") { ] public_deps = [ - ":v8_config_headers", + ":cppgc_headers", ":v8_cppgc_shared", ":v8_libbase", ":v8_libplatform", ] + + if (cppgc_is_standalone && !v8_use_perfetto) { + sources += [ "//base/trace_event/common/trace_event_common.h" ] + } else { + public_deps += [ ":v8_tracing" ] + } } v8_source_set("cppgc_base_for_testing") { @@ -4887,7 +5047,6 @@ if (v8_monolithic) { ":v8", ":v8_libbase", ":v8_libplatform", - ":v8_libsampler", "//build/win:default_exe_manifest", ] @@ -4895,28 +5054,29 @@ if (v8_monolithic) { } } -v8_static_library("wee8") { - deps = [ - ":v8_base", - ":v8_libbase", - ":v8_libplatform", - ":v8_libsampler", - ":v8_shared_internal_headers", - ":v8_snapshot", - "//build/win:default_exe_manifest", - ] +if (v8_enable_webassembly) { + v8_static_library("wee8") { + deps = [ + ":v8_base", + ":v8_libbase", + ":v8_libplatform", + ":v8_shared_internal_headers", + ":v8_snapshot", + "//build/win:default_exe_manifest", + ] - # TODO: v8dll-main.cc equivalent for shared library builds + # TODO: v8dll-main.cc equivalent for shared library builds - configs = [ ":internal_config" ] + configs = [ ":internal_config" ] - sources = [ - ### gcmole(all) ### - "src/wasm/c-api.cc", - "src/wasm/c-api.h", - "third_party/wasm-api/wasm.h", - "third_party/wasm-api/wasm.hh", - ] + sources = [ + ### gcmole(all) ### + "src/wasm/c-api.cc", + "src/wasm/c-api.h", + "third_party/wasm-api/wasm.h", + "third_party/wasm-api/wasm.hh", + ] + } } ############################################################################### @@ -4985,7 +5145,6 @@ if (current_toolchain == v8_snapshot_toolchain) { ":v8_maybe_icu", ":v8_shared_internal_headers", ":v8_tracing", - ":v8_wrappers", "//build/win:default_exe_manifest", ] } @@ -5169,7 +5328,7 @@ if (is_fuchsia && !build_with_chromium) { cr_fuchsia_package("d8_fuchsia_pkg") { testonly = true binary = ":d8" - manifest = "//build/config/fuchsia/tests-with-exec.cmx" + manifest = "gni/v8.cmx" package_name_override = "d8" } @@ -5185,15 +5344,20 @@ group("v8_fuzzers") { data_deps = [ ":v8_simple_inspector_fuzzer", ":v8_simple_json_fuzzer", - ":v8_simple_multi_return_fuzzer", ":v8_simple_parser_fuzzer", ":v8_simple_regexp_builtins_fuzzer", ":v8_simple_regexp_fuzzer", - ":v8_simple_wasm_async_fuzzer", - ":v8_simple_wasm_code_fuzzer", - ":v8_simple_wasm_compile_fuzzer", - ":v8_simple_wasm_fuzzer", ] + + if (v8_enable_webassembly) { + data_deps += [ + ":v8_simple_multi_return_fuzzer", + ":v8_simple_wasm_async_fuzzer", + ":v8_simple_wasm_code_fuzzer", + ":v8_simple_wasm_compile_fuzzer", + ":v8_simple_wasm_fuzzer", + ] + } } if (is_component_build) { @@ -5329,6 +5493,7 @@ v8_executable("d8") { "src/d8/d8-js.cc", "src/d8/d8-platforms.cc", "src/d8/d8-platforms.h", + "src/d8/d8-test.cc", "src/d8/d8.cc", "src/d8/d8.h", ] @@ -5353,7 +5518,6 @@ v8_executable("d8") { ":v8_libbase", ":v8_libplatform", ":v8_tracing", - ":v8_wrappers", "//build/win:default_exe_manifest", ] @@ -5483,30 +5647,10 @@ v8_source_set("json_fuzzer") { v8_fuzzer("json_fuzzer") { } -v8_source_set("multi_return_fuzzer") { - sources = [ "test/fuzzer/multi-return.cc" ] - - deps = [ - ":fuzzer_support", - ":v8_wrappers", - ] - - configs = [ - ":external_config", - ":internal_config_base", - ] -} - -v8_fuzzer("multi_return_fuzzer") { -} - v8_source_set("parser_fuzzer") { sources = [ "test/fuzzer/parser.cc" ] - deps = [ - ":fuzzer_support", - ":v8_wrappers", - ] + deps = [ ":fuzzer_support" ] configs = [ ":external_config", @@ -5523,10 +5667,7 @@ v8_source_set("regexp_builtins_fuzzer") { "test/fuzzer/regexp_builtins/mjsunit.js.h", ] - deps = [ - ":fuzzer_support", - ":v8_wrappers", - ] + deps = [ ":fuzzer_support" ] configs = [ ":external_config", @@ -5540,10 +5681,7 @@ v8_fuzzer("regexp_builtins_fuzzer") { v8_source_set("regexp_fuzzer") { sources = [ "test/fuzzer/regexp.cc" ] - deps = [ - ":fuzzer_support", - ":v8_wrappers", - ] + deps = [ ":fuzzer_support" ] configs = [ ":external_config", @@ -5554,131 +5692,148 @@ v8_source_set("regexp_fuzzer") { v8_fuzzer("regexp_fuzzer") { } -v8_source_set("wasm_test_common") { - sources = [ - "test/common/wasm/wasm-interpreter.cc", - "test/common/wasm/wasm-interpreter.h", - "test/common/wasm/wasm-module-runner.cc", - "test/common/wasm/wasm-module-runner.h", - ] +if (v8_enable_webassembly) { + v8_source_set("multi_return_fuzzer") { + sources = [ "test/fuzzer/multi-return.cc" ] - deps = [ - ":generate_bytecode_builtins_list", - ":run_torque", - ":v8_libbase", - ":v8_shared_internal_headers", - ":v8_tracing", - ] + deps = [ ":fuzzer_support" ] - public_deps = [ ":v8_maybe_icu" ] + configs = [ + ":external_config", + ":internal_config_base", + ] + } - configs = [ - ":external_config", - ":internal_config_base", - ] -} + v8_fuzzer("multi_return_fuzzer") { + } -v8_source_set("wasm_fuzzer") { - sources = [ "test/fuzzer/wasm.cc" ] + v8_source_set("wasm_test_common") { + sources = [ + "test/common/flag-utils.h", + "test/common/wasm/flag-utils.h", + "test/common/wasm/wasm-interpreter.cc", + "test/common/wasm/wasm-interpreter.h", + "test/common/wasm/wasm-module-runner.cc", + "test/common/wasm/wasm-module-runner.h", + ] - deps = [ - ":fuzzer_support", - ":lib_wasm_fuzzer_common", - ":v8_wrappers", - ":wasm_test_common", - ] + deps = [ + ":generate_bytecode_builtins_list", + ":run_torque", + ":v8_internal_headers", + ":v8_libbase", + ":v8_shared_internal_headers", + ":v8_tracing", + ] - configs = [ - ":external_config", - ":internal_config_base", - ] -} + public_deps = [ ":v8_maybe_icu" ] -v8_fuzzer("wasm_fuzzer") { -} + configs = [ + ":external_config", + ":internal_config_base", + ] + } -v8_source_set("wasm_async_fuzzer") { - sources = [ "test/fuzzer/wasm-async.cc" ] + v8_source_set("wasm_fuzzer") { + sources = [ "test/fuzzer/wasm.cc" ] - deps = [ - ":fuzzer_support", - ":lib_wasm_fuzzer_common", - ":v8_wrappers", - ":wasm_test_common", - ] + deps = [ + ":fuzzer_support", + ":lib_wasm_fuzzer_common", + ":wasm_test_common", + ] - configs = [ - ":external_config", - ":internal_config_base", - ] -} + configs = [ + ":external_config", + ":internal_config_base", + ] + } -v8_fuzzer("wasm_async_fuzzer") { -} + v8_fuzzer("wasm_fuzzer") { + } -v8_source_set("wasm_code_fuzzer") { - sources = [ - "test/common/wasm/test-signatures.h", - "test/fuzzer/wasm-code.cc", - ] + v8_source_set("wasm_async_fuzzer") { + sources = [ "test/fuzzer/wasm-async.cc" ] - deps = [ - ":fuzzer_support", - ":lib_wasm_fuzzer_common", - ":v8_wrappers", - ":wasm_test_common", - ] + deps = [ + ":fuzzer_support", + ":lib_wasm_fuzzer_common", + ":wasm_test_common", + ] - configs = [ - ":external_config", - ":internal_config_base", - ] -} + configs = [ + ":external_config", + ":internal_config_base", + ] + } -v8_fuzzer("wasm_code_fuzzer") { -} + v8_fuzzer("wasm_async_fuzzer") { + } -v8_source_set("lib_wasm_fuzzer_common") { - sources = [ - "test/fuzzer/wasm-fuzzer-common.cc", - "test/fuzzer/wasm-fuzzer-common.h", - ] + v8_source_set("wasm_code_fuzzer") { + sources = [ + "test/common/wasm/test-signatures.h", + "test/fuzzer/wasm-code.cc", + ] - deps = [ - ":generate_bytecode_builtins_list", - ":run_torque", - ":v8_tracing", - ":wasm_test_common", - ] + deps = [ + ":fuzzer_support", + ":lib_wasm_fuzzer_common", + ":wasm_test_common", + ] - public_deps = [ ":v8_maybe_icu" ] + configs = [ + ":external_config", + ":internal_config_base", + ] + } - configs = [ - ":external_config", - ":internal_config_base", - ] -} + v8_fuzzer("wasm_code_fuzzer") { + } -v8_source_set("wasm_compile_fuzzer") { - sources = [ - "test/common/wasm/test-signatures.h", - "test/fuzzer/wasm-compile.cc", - ] + v8_source_set("lib_wasm_fuzzer_common") { + sources = [ + "test/fuzzer/wasm-fuzzer-common.cc", + "test/fuzzer/wasm-fuzzer-common.h", + ] - deps = [ - ":fuzzer_support", - ":lib_wasm_fuzzer_common", - ":v8_wrappers", - ":wasm_test_common", - ] + deps = [ + ":fuzzer_support", + ":generate_bytecode_builtins_list", + ":run_torque", + ":v8_internal_headers", + ":v8_tracing", + ":wasm_test_common", + ] - configs = [ - ":external_config", - ":internal_config_base", - ] -} + public_deps = [ ":v8_maybe_icu" ] + + configs = [ + ":external_config", + ":internal_config_base", + ] + } + + v8_source_set("wasm_compile_fuzzer") { + sources = [ + "test/common/wasm/test-signatures.h", + "test/fuzzer/wasm-compile.cc", + ] + + deps = [ + ":fuzzer_support", + ":lib_wasm_fuzzer_common", + ":wasm_test_common", + ] + + configs = [ + ":external_config", + ":internal_config_base", + ] + } -v8_fuzzer("wasm_compile_fuzzer") { + v8_fuzzer("wasm_compile_fuzzer") { + } } v8_source_set("inspector_fuzzer") { @@ -5686,7 +5841,6 @@ v8_source_set("inspector_fuzzer") { deps = [ ":fuzzer_support", - ":v8_wrappers", "test/inspector:inspector_test", ] diff --git a/deps/v8/COMMON_OWNERS b/deps/v8/COMMON_OWNERS index a6aff24098864d..8072df037bf0c5 100644 --- a/deps/v8/COMMON_OWNERS +++ b/deps/v8/COMMON_OWNERS @@ -1,7 +1,6 @@ adamk@chromium.org ahaas@chromium.org bbudge@chromium.org -binji@chromium.org bikineev@chromium.org bmeurer@chromium.org cbruni@chromium.org @@ -15,11 +14,11 @@ gsathya@chromium.org hablich@chromium.org hpayer@chromium.org ishell@chromium.org -jarin@chromium.org jgruber@chromium.org jkummerow@chromium.org leszeks@chromium.org machenbach@chromium.org +manoskouk@chromium.org mathias@chromium.org marja@chromium.org mlippautz@chromium.org @@ -27,8 +26,9 @@ mslekova@chromium.org mvstanton@chromium.org mythria@chromium.org neis@chromium.org +nicohartmann@chromium.org omerkatz@chromium.org -petermarshall@chromium.org +pthier@chromium.org rmcilroy@chromium.org sigurds@chromium.org solanes@chromium.org diff --git a/deps/v8/DEPS b/deps/v8/DEPS index 48ddbad6af96f1..b27a4e8e8fada7 100644 --- a/deps/v8/DEPS +++ b/deps/v8/DEPS @@ -47,10 +47,10 @@ vars = { 'checkout_google_benchmark' : False, # GN CIPD package version. - 'gn_version': 'git_revision:dfcbc6fed0a8352696f92d67ccad54048ad182b3', + 'gn_version': 'git_revision:dba01723a441c358d843a575cb7720d54ddcdf92', # luci-go CIPD package version. - 'luci_go': 'git_revision:fd10124659e991321df2f8a5d3749687b54ceb0a', + 'luci_go': 'git_revision:d6d24b11ecded4d89f3dfd1b2e5a0072a3d4ab15', # Three lines of non-changing comments so that # the commit queue can handle CLs rolling android_sdk_build-tools_version @@ -88,15 +88,15 @@ vars = { deps = { 'build': - Var('chromium_url') + '/chromium/src/build.git' + '@' + '446bf3e5a00bfe4fd99d91cb76ec3b3a7b34d226', + Var('chromium_url') + '/chromium/src/build.git' + '@' + '77edba11e25386aa719d4f08c3ce2d8c4f868c15', 'third_party/depot_tools': - Var('chromium_url') + '/chromium/tools/depot_tools.git' + '@' + '5fe664f150beaf71104ce7787560fabdb55ebf5b', + Var('chromium_url') + '/chromium/tools/depot_tools.git' + '@' + '98a52e2e312dd10d7fcf281e322039a6b706b86b', 'third_party/icu': - Var('chromium_url') + '/chromium/deps/icu.git' + '@' + 'e05b663d1c50b4e9ecc3ff9325f5158f1d071471', + Var('chromium_url') + '/chromium/deps/icu.git' + '@' + '81d656878ec611cb0b42d52c82e9dae93920d9ba', 'third_party/instrumented_libraries': - Var('chromium_url') + '/chromium/src/third_party/instrumented_libraries.git' + '@' + '0964a78c832d1d0f2669b020b073c38f67509cf2', + Var('chromium_url') + '/chromium/src/third_party/instrumented_libraries.git' + '@' + '084aee04777db574038af9e9d33ca5caed577462', 'buildtools': - Var('chromium_url') + '/chromium/src/buildtools.git' + '@' + '4c78ef9c38b683c5c5cbac70445378c2362cebfc', + Var('chromium_url') + '/chromium/src/buildtools.git' + '@' + '5dbd89c9d9c0b0ff47cefdc2bc421b8c9a1c5a21', 'buildtools/clang_format/script': Var('chromium_url') + '/external/github.com/llvm/llvm-project/clang/tools/clang-format.git' + '@' + '99803d74e35962f63a775f29477882afd4d57d94', 'buildtools/linux64': { @@ -122,9 +122,9 @@ deps = { 'buildtools/third_party/libc++/trunk': Var('chromium_url') + '/external/github.com/llvm/llvm-project/libcxx.git' + '@' + '8fa87946779682841e21e2da977eccfb6cb3bded', 'buildtools/third_party/libc++abi/trunk': - Var('chromium_url') + '/external/github.com/llvm/llvm-project/libcxxabi.git' + '@' + '196ba1aaa8ac285d94f4ea8d9836390a45360533', + Var('chromium_url') + '/external/github.com/llvm/llvm-project/libcxxabi.git' + '@' + 'd0f33885a2ffa7d5af74af6065b60eb48e3c70f5', 'buildtools/third_party/libunwind/trunk': - Var('chromium_url') + '/external/github.com/llvm/llvm-project/libunwind.git' + '@' + 'a2cc4f8c554dedcb0c64cac5511b19c43f1f3d32', + Var('chromium_url') + '/external/github.com/llvm/llvm-project/libunwind.git' + '@' + '08f35c8514a74817103121def05351186830d4b7', 'buildtools/win': { 'packages': [ { @@ -136,7 +136,7 @@ deps = { 'condition': 'host_os == "win"', }, 'base/trace_event/common': - Var('chromium_url') + '/chromium/src/base/trace_event/common.git' + '@' + '7af6071eddf11ad91fbd5df54138f9d3c6d980d5', + Var('chromium_url') + '/chromium/src/base/trace_event/common.git' + '@' + 'cab90cbdaaf4444d67aef6ce3cef09fc5fdeb560', 'third_party/android_ndk': { 'url': Var('chromium_url') + '/android_ndk.git' + '@' + '401019bf85744311b26c88ced255cd53401af8b7', 'condition': 'checkout_android', @@ -184,7 +184,7 @@ deps = { 'dep_type': 'cipd', }, 'third_party/catapult': { - 'url': Var('chromium_url') + '/catapult.git' + '@' + '81c9d30d7f1b3c1ab0f1856761f738cc81741322', + 'url': Var('chromium_url') + '/catapult.git' + '@' + '41a5e5e465ad93d6e08224613d3544334a6278bc', 'condition': 'checkout_android', }, 'third_party/colorama/src': { @@ -196,7 +196,7 @@ deps = { 'condition': 'checkout_fuchsia', }, 'third_party/googletest/src': - Var('chromium_url') + '/external/github.com/google/googletest.git' + '@' + '1e315c5b1a62707fac9b8f1d4e03180ee7507f98', + Var('chromium_url') + '/external/github.com/google/googletest.git' + '@' + '07f4869221012b16b7f9ee685d94856e1fc9f361', 'third_party/google_benchmark/src': { 'url': Var('chromium_url') + '/external/github.com/google/benchmark.git' + '@' + '7f27afe83b82f3a98baf58ef595814b9d42a5b2b', 'condition': 'checkout_google_benchmark', @@ -212,7 +212,7 @@ deps = { 'test/mozilla/data': Var('chromium_url') + '/v8/deps/third_party/mozilla-tests.git' + '@' + 'f6c578a10ea707b1a8ab0b88943fe5115ce2b9be', 'test/test262/data': - Var('chromium_url') + '/external/github.com/tc39/test262.git' + '@' + 'f6034ebe9fb92d4d3dea644b9225bdc18b44a7ab', + Var('chromium_url') + '/external/github.com/tc39/test262.git' + '@' + '31126581e7290f9233c29cefd93f66c6ac78f1c9', 'test/test262/harness': Var('chromium_url') + '/external/github.com/test262-utils/test262-harness-py.git' + '@' + '278bcfaed0dcaa13936831fb1769d15e7c1e3b2b', 'third_party/qemu-linux-x64': { @@ -239,7 +239,7 @@ deps = { 'packages': [ { 'package': 'fuchsia/third_party/aemu/linux-amd64', - 'version': 'qI8e328VwkWv64EapCvG3Xj9_hDpKQFuJWeVdUHz7W0C' + 'version': 'SeLS6a0f6IL-PCOUKbMTN5LYgjjJbDSnb3DGf5q9pwsC' }, ], 'condition': 'host_os == "linux" and checkout_fuchsia', @@ -256,7 +256,7 @@ deps = { 'dep_type': 'cipd', }, 'tools/clang': - Var('chromium_url') + '/chromium/src/tools/clang.git' + '@' + 'cfd0f628093b7382ac054fb33e23fa9d9a278bc3', + Var('chromium_url') + '/chromium/src/tools/clang.git' + '@' + 'a387faa2a6741f565e45d78804a49a0e55de5909', 'tools/luci-go': { 'packages': [ { @@ -290,7 +290,7 @@ deps = { 'third_party/protobuf': Var('chromium_url') + '/external/github.com/google/protobuf'+ '@' + '6a59a2ad1f61d9696092f79b6d74368b4d7970a3', 'third_party/zlib': - Var('chromium_url') + '/chromium/src/third_party/zlib.git'+ '@' + '348acca950b1d6de784a954f4fda0952046c652c', + Var('chromium_url') + '/chromium/src/third_party/zlib.git'+ '@' + '09490503d0f201b81e03f5ca0ab8ba8ee76d4a8e', 'third_party/jsoncpp/source': Var('chromium_url') + '/external/github.com/open-source-parsers/jsoncpp.git'+ '@' + '9059f5cad030ba11d37818847443a53918c327b1', 'third_party/ittapi': { @@ -300,7 +300,7 @@ deps = { 'condition': "checkout_ittapi or check_v8_header_includes", }, 'third_party/requests': { - 'url': Var('chromium_url') + '/external/github.com/kennethreitz/requests.git' + '@' + 'bfb93d4b7d269a8735f1b216093e7e9a9fdc4517', + 'url': Var('chromium_url') + '/external/github.com/kennethreitz/requests.git' + '@' + '2c2138e811487b13020eb331482fb991fd399d4e', 'condition': 'checkout_android', }, } @@ -475,12 +475,24 @@ hooks = [ '-s', 'third_party/instrumented_libraries/binaries/msan-no-origins-trusty.tgz.sha1', ], }, + { + # Case-insensitivity for the Win SDK. Must run before win_toolchain below. + 'name': 'ciopfs_linux', + 'pattern': '.', + 'condition': 'checkout_win and host_os == "linux"', + 'action': [ 'download_from_google_storage', + '--no_resume', + '--no_auth', + '--bucket', 'chromium-browser-clang/ciopfs', + '-s', 'build/ciopfs.sha1', + ] + }, { # Update the Windows toolchain if necessary. 'name': 'win_toolchain', 'pattern': '.', 'condition': 'checkout_win', - 'action': ['python', 'build/vs_toolchain.py', 'update'], + 'action': ['python', 'build/vs_toolchain.py', 'update', '--force'], }, { # Update the Mac toolchain if necessary. diff --git a/deps/v8/ENG_REVIEW_OWNERS b/deps/v8/ENG_REVIEW_OWNERS index 6b189307ad763d..173f6d6aeee69f 100644 --- a/deps/v8/ENG_REVIEW_OWNERS +++ b/deps/v8/ENG_REVIEW_OWNERS @@ -6,4 +6,3 @@ adamk@chromium.org danno@chromium.org hpayer@chromium.org rmcilroy@chromium.org -yangguo@chromium.org diff --git a/deps/v8/base/trace_event/common/trace_event_common.h b/deps/v8/base/trace_event/common/trace_event_common.h index 9b6783bb3535ce..dcbb09bb663b0c 100644 --- a/deps/v8/base/trace_event/common/trace_event_common.h +++ b/deps/v8/base/trace_event/common/trace_event_common.h @@ -264,8 +264,10 @@ bool BASE_EXPORT ConvertThreadId(const ::base::PlatformThreadId& thread, } // namespace legacy template <> -BASE_EXPORT TraceTimestamp -ConvertTimestampToTraceTimeNs(const ::base::TimeTicks& ticks); +struct BASE_EXPORT TraceTimestampTraits<::base::TimeTicks> { + static TraceTimestamp ConvertTimestampToTraceTimeNs( + const ::base::TimeTicks& ticks); +}; } // namespace perfetto diff --git a/deps/v8/gni/snapshot_toolchain.gni b/deps/v8/gni/snapshot_toolchain.gni index 53963a048bf012..e855b88e430c86 100644 --- a/deps/v8/gni/snapshot_toolchain.gni +++ b/deps/v8/gni/snapshot_toolchain.gni @@ -60,6 +60,10 @@ if (v8_snapshot_toolchain == "") { # binaries built for the same OS, so build the snapshot with the current # toolchain here, too. v8_snapshot_toolchain = current_toolchain + } else if (current_os == host_os && host_cpu == "arm64" && + current_cpu == "arm") { + # Trying to compile 32-bit arm on arm64. Good luck! + v8_snapshot_toolchain = current_toolchain } else if (host_cpu == "x64" && (v8_current_cpu == "mips" || v8_current_cpu == "mips64")) { # We don't support snapshot generation for big-endian targets, diff --git a/deps/v8/gni/v8.cmx b/deps/v8/gni/v8.cmx new file mode 100644 index 00000000000000..8cd8b75fdfe37b --- /dev/null +++ b/deps/v8/gni/v8.cmx @@ -0,0 +1,44 @@ +{ + "sandbox": { + "dev": [ + "null", + "zero" + ], + "features": [ + "deprecated-ambient-replace-as-executable", + "isolated-cache-storage", + "isolated-persistent-storage", + "isolated-temp", + "root-ssl-certificates", + "vulkan" + ], + "services": [ + "fuchsia.accessibility.semantics.SemanticsManager", + "fuchsia.camera3.DeviceWatcher", + "fuchsia.device.NameProvider", + "fuchsia.fonts.Provider", + "fuchsia.intl.PropertyProvider", + "fuchsia.logger.Log", + "fuchsia.logger.LogSink", + "fuchsia.media.Audio", + "fuchsia.media.SessionAudioConsumerFactory", + "fuchsia.media.drm.Widevine", + "fuchsia.mediacodec.CodecFactory", + "fuchsia.memorypressure.Provider", + "fuchsia.net.NameLookup", + "fuchsia.net.interfaces.State", + "fuchsia.posix.socket.Provider", + "fuchsia.process.Launcher", + "fuchsia.sys.Environment", + "fuchsia.sys.Launcher", + "fuchsia.sys.Loader", + "fuchsia.sysmem.Allocator", + "fuchsia.ui.input.ImeService", + "fuchsia.ui.input.ImeVisibilityService", + "fuchsia.ui.scenic.Scenic", + "fuchsia.ui.policy.Presenter", + "fuchsia.vulkan.loader.Loader", + "fuchsia.web.ContextProvider" + ] + } +} diff --git a/deps/v8/include/OWNERS b/deps/v8/include/OWNERS index cd5fd0535e44cc..7d538da1aa6642 100644 --- a/deps/v8/include/OWNERS +++ b/deps/v8/include/OWNERS @@ -1,6 +1,6 @@ adamk@chromium.org cbruni@chromium.org -danno@chromium.org +leszeks@chromium.org mlippautz@chromium.org ulan@chromium.org verwaest@chromium.org @@ -8,15 +8,9 @@ yangguo@chromium.org per-file *DEPS=file:../COMMON_OWNERS per-file v8-internal.h=file:../COMMON_OWNERS -per-file v8-inspector.h=dgozman@chromium.org -per-file v8-inspector.h=pfeldman@chromium.org -per-file v8-inspector.h=kozyatinskiy@chromium.org -per-file v8-inspector-protocol.h=dgozman@chromium.org -per-file v8-inspector-protocol.h=pfeldman@chromium.org -per-file v8-inspector-protocol.h=kozyatinskiy@chromium.org -per-file js_protocol.pdl=dgozman@chromium.org -per-file js_protocol.pdl=pfeldman@chromium.org -per-file js_protocol.pdl=bmeurer@chromium.org +per-file v8-inspector.h=file:../src/inspector/OWNERS +per-file v8-inspector-protocol.h=file:../src/inspector/OWNERS +per-file js_protocol.pdl=file:../src/inspector/OWNERS # For branch updates: per-file v8-version.h=file:../INFRA_OWNERS diff --git a/deps/v8/include/cppgc/allocation.h b/deps/v8/include/cppgc/allocation.h index b6f9d3902ba1c4..f4f0e72bd512ae 100644 --- a/deps/v8/include/cppgc/allocation.h +++ b/deps/v8/include/cppgc/allocation.h @@ -43,6 +43,28 @@ class V8_EXPORT MakeGarbageCollectedTraitInternal { std::memory_order_release); } + template + struct SpacePolicy { + static void* Allocate(AllocationHandle& handle, size_t size) { + // Custom space. + static_assert(std::is_base_of::value, + "Custom space must inherit from CustomSpaceBase."); + return MakeGarbageCollectedTraitInternal::Allocate( + handle, size, internal::GCInfoTrait::Index(), + CustomSpace::kSpaceIndex); + } + }; + + template + struct SpacePolicy { + static void* Allocate(AllocationHandle& handle, size_t size) { + // Default space. + return MakeGarbageCollectedTraitInternal::Allocate( + handle, size, internal::GCInfoTrait::Index()); + } + }; + + private: static void* Allocate(cppgc::AllocationHandle& handle, size_t size, GCInfoIndex index); static void* Allocate(cppgc::AllocationHandle& handle, size_t size, @@ -71,27 +93,6 @@ class MakeGarbageCollectedTraitBase internal::api_constants::kLargeObjectSizeThreshold, "GarbageCollectedMixin may not be a large object"); - template - struct SpacePolicy { - static void* Allocate(AllocationHandle& handle, size_t size) { - // Custom space. - static_assert(std::is_base_of::value, - "Custom space must inherit from CustomSpaceBase."); - return internal::MakeGarbageCollectedTraitInternal::Allocate( - handle, size, internal::GCInfoTrait::Index(), - CustomSpace::kSpaceIndex); - } - }; - - template - struct SpacePolicy { - static void* Allocate(AllocationHandle& handle, size_t size) { - // Default space. - return internal::MakeGarbageCollectedTraitInternal::Allocate( - handle, size, internal::GCInfoTrait::Index()); - } - }; - protected: /** * Allocates memory for an object of type T. @@ -101,9 +102,11 @@ class MakeGarbageCollectedTraitBase * \param size The size that should be reserved for the object. * \returns the memory to construct an object of type T on. */ - static void* Allocate(AllocationHandle& handle, size_t size) { - return SpacePolicy::Space>::Allocate(handle, - size); + V8_INLINE static void* Allocate(AllocationHandle& handle, size_t size) { + return SpacePolicy< + typename internal::GCInfoFolding< + T, typename T::ParentMostGarbageCollectedType>::ResultType, + typename SpaceTrait::Space>::Allocate(handle, size); } /** @@ -112,7 +115,7 @@ class MakeGarbageCollectedTraitBase * * \param payload The base pointer the object is allocated at. */ - static void MarkObjectAsFullyConstructed(const void* payload) { + V8_INLINE static void MarkObjectAsFullyConstructed(const void* payload) { internal::MakeGarbageCollectedTraitInternal::MarkObjectAsFullyConstructed( payload); } diff --git a/deps/v8/include/cppgc/cross-thread-persistent.h b/deps/v8/include/cppgc/cross-thread-persistent.h index 1f509d4b007e14..9cfcd23fdf8e3b 100644 --- a/deps/v8/include/cppgc/cross-thread-persistent.h +++ b/deps/v8/include/cppgc/cross-thread-persistent.h @@ -44,7 +44,26 @@ class BasicCrossThreadPersistent final : public PersistentBase, T* raw, const SourceLocation& loc = SourceLocation::Current()) : PersistentBase(raw), LocationPolicy(loc) { if (!IsValid(raw)) return; - PersistentRegion& region = this->GetPersistentRegion(raw); + PersistentRegionLock guard; + CrossThreadPersistentRegion& region = this->GetPersistentRegion(raw); + SetNode(region.AllocateNode(this, &Trace)); + this->CheckPointer(raw); + } + + class UnsafeCtorTag { + private: + UnsafeCtorTag() = default; + template + friend class BasicCrossThreadPersistent; + }; + + BasicCrossThreadPersistent( // NOLINT + UnsafeCtorTag, T* raw, + const SourceLocation& loc = SourceLocation::Current()) + : PersistentBase(raw), LocationPolicy(loc) { + if (!IsValid(raw)) return; + CrossThreadPersistentRegion& region = this->GetPersistentRegion(raw); SetNode(region.AllocateNode(this, &Trace)); this->CheckPointer(raw); } @@ -173,9 +192,17 @@ class BasicCrossThreadPersistent final : public PersistentBase, const void* old_value = GetValue(); if (IsValid(old_value)) { PersistentRegionLock guard; - PersistentRegion& region = this->GetPersistentRegion(old_value); - region.FreeNode(GetNode()); - SetNode(nullptr); + old_value = GetValue(); + // The fast path check (IsValid()) does not acquire the lock. Reload + // the value to ensure the reference has not been cleared. + if (IsValid(old_value)) { + CrossThreadPersistentRegion& region = + this->GetPersistentRegion(old_value); + region.FreeNode(GetNode()); + SetNode(nullptr); + } else { + CPPGC_DCHECK(!GetNode()); + } } SetValue(nullptr); } @@ -225,9 +252,12 @@ class BasicCrossThreadPersistent final : public PersistentBase, BasicCrossThreadPersistent To() const { + using OtherBasicCrossThreadPersistent = + BasicCrossThreadPersistent; PersistentRegionLock guard; - return BasicCrossThreadPersistent( + return OtherBasicCrossThreadPersistent( + typename OtherBasicCrossThreadPersistent::UnsafeCtorTag(), static_cast(Get())); } @@ -254,14 +284,22 @@ class BasicCrossThreadPersistent final : public PersistentBase, const void* old_value = GetValue(); if (IsValid(old_value)) { PersistentRegionLock guard; - PersistentRegion& region = this->GetPersistentRegion(old_value); - if (IsValid(ptr) && (®ion == &this->GetPersistentRegion(ptr))) { - SetValue(ptr); - this->CheckPointer(ptr); - return; + old_value = GetValue(); + // The fast path check (IsValid()) does not acquire the lock. Reload + // the value to ensure the reference has not been cleared. + if (IsValid(old_value)) { + CrossThreadPersistentRegion& region = + this->GetPersistentRegion(old_value); + if (IsValid(ptr) && (®ion == &this->GetPersistentRegion(ptr))) { + SetValue(ptr); + this->CheckPointer(ptr); + return; + } + region.FreeNode(GetNode()); + SetNode(nullptr); + } else { + CPPGC_DCHECK(!GetNode()); } - region.FreeNode(GetNode()); - SetNode(nullptr); } SetValue(ptr); if (!IsValid(ptr)) return; @@ -274,7 +312,8 @@ class BasicCrossThreadPersistent final : public PersistentBase, PersistentRegionLock::AssertLocked(); const void* old_value = GetValue(); if (IsValid(old_value)) { - PersistentRegion& region = this->GetPersistentRegion(old_value); + CrossThreadPersistentRegion& region = + this->GetPersistentRegion(old_value); if (IsValid(ptr) && (®ion == &this->GetPersistentRegion(ptr))) { SetValue(ptr); this->CheckPointer(ptr); diff --git a/deps/v8/include/cppgc/explicit-management.h b/deps/v8/include/cppgc/explicit-management.h new file mode 100644 index 00000000000000..8fb321c08ca5e4 --- /dev/null +++ b/deps/v8/include/cppgc/explicit-management.h @@ -0,0 +1,73 @@ +// Copyright 2021 the V8 project authors. All rights reserved. +// Use of this source code is governed by a BSD-style license that can be +// found in the LICENSE file. + +#ifndef INCLUDE_CPPGC_EXPLICIT_MANAGEMENT_H_ +#define INCLUDE_CPPGC_EXPLICIT_MANAGEMENT_H_ + +#include + +#include "cppgc/allocation.h" +#include "cppgc/internal/logging.h" +#include "cppgc/type-traits.h" + +namespace cppgc { +namespace internal { + +V8_EXPORT void FreeUnreferencedObject(void*); +V8_EXPORT bool Resize(void*, size_t); + +} // namespace internal + +namespace subtle { + +/** + * Informs the garbage collector that `object` can be immediately reclaimed. The + * destructor may not be invoked immediately but only on next garbage + * collection. + * + * It is up to the embedder to guarantee that no other object holds a reference + * to `object` after calling `FreeUnreferencedObject()`. In case such a + * reference exists, it's use results in a use-after-free. + * + * \param object Reference to an object that is of type `GarbageCollected` and + * should be immediately reclaimed. + */ +template +void FreeUnreferencedObject(T* object) { + static_assert(IsGarbageCollectedTypeV, + "Object must be of type GarbageCollected."); + if (!object) return; + internal::FreeUnreferencedObject(object); +} + +/** + * Tries to resize `object` of type `T` with additional bytes on top of + * sizeof(T). Resizing is only useful with trailing inlined storage, see e.g. + * `MakeGarbageCollected(AllocationHandle&, AdditionalBytes)`. + * + * `Resize()` performs growing or shrinking as needed and may skip the operation + * for internal reasons, see return value. + * + * It is up to the embedder to guarantee that in case of shrinking a larger + * object down, the reclaimed area is not used anymore. Any subsequent use + * results in a use-after-free. + * + * \param object Reference to an object that is of type `GarbageCollected` and + * should be resized. + * \param additional_bytes Bytes in addition to sizeof(T) that the object should + * provide. + * \returns true when the operation was successful and the result can be relied + * on, and false otherwise. + */ +template +bool Resize(T& object, AdditionalBytes additional_bytes) { + static_assert(IsGarbageCollectedTypeV, + "Object must be of type GarbageCollected."); + return internal::Resize(&object, sizeof(T) + additional_bytes.value); +} + +} // namespace subtle +} // namespace cppgc + +#endif // INCLUDE_CPPGC_EXPLICIT_MANAGEMENT_H_ diff --git a/deps/v8/include/cppgc/garbage-collected.h b/deps/v8/include/cppgc/garbage-collected.h index d28a39074aeec0..a3839e1baa59bf 100644 --- a/deps/v8/include/cppgc/garbage-collected.h +++ b/deps/v8/include/cppgc/garbage-collected.h @@ -73,10 +73,11 @@ class GarbageCollectedBase { * }; * \endcode */ -template +template class GarbageCollected : public internal::GarbageCollectedBase { public: using IsGarbageCollectedTypeMarker = void; + using ParentMostGarbageCollectedType = T; protected: GarbageCollected() = default; diff --git a/deps/v8/include/cppgc/heap-state.h b/deps/v8/include/cppgc/heap-state.h index 0157282a5603fc..3fd6b54a8a2123 100644 --- a/deps/v8/include/cppgc/heap-state.h +++ b/deps/v8/include/cppgc/heap-state.h @@ -49,6 +49,17 @@ class V8_EXPORT HeapState final { */ static bool IsInAtomicPause(const HeapHandle& heap_handle); + /** + * Returns whether the last garbage collection was finalized conservatively + * (i.e., with a non-empty stack). This API is experimental and is expected to + * be removed in future. + * + * \param heap_handle The corresponding heap. + * \returns true if the last garbage collection was finalized conservatively, + * and false otherwise. + */ + static bool PreviousGCWasConservative(const HeapHandle& heap_handle); + private: HeapState() = delete; }; diff --git a/deps/v8/include/cppgc/internal/gc-info.h b/deps/v8/include/cppgc/internal/gc-info.h index 9c26d6aa5b42bb..b9074b1ad5d1b9 100644 --- a/deps/v8/include/cppgc/internal/gc-info.h +++ b/deps/v8/include/cppgc/internal/gc-info.h @@ -5,7 +5,8 @@ #ifndef INCLUDE_CPPGC_INTERNAL_GC_INFO_H_ #define INCLUDE_CPPGC_INTERNAL_GC_INFO_H_ -#include +#include +#include #include "cppgc/internal/finalizer-trait.h" #include "cppgc/internal/name-trait.h" @@ -17,27 +18,54 @@ namespace internal { using GCInfoIndex = uint16_t; -class V8_EXPORT RegisteredGCInfoIndex final { - public: - RegisteredGCInfoIndex(FinalizationCallback finalization_callback, - TraceCallback trace_callback, - NameCallback name_callback, bool has_v_table); - GCInfoIndex GetIndex() const { return index_; } +// Acquires a new GC info object and returns the index. In addition, also +// updates `registered_index` atomically. +V8_EXPORT GCInfoIndex +EnsureGCInfoIndex(std::atomic& registered_index, + FinalizationCallback, TraceCallback, NameCallback, bool); - private: - const GCInfoIndex index_; +// Fold types based on finalizer behavior. Note that finalizer characteristics +// align with trace behavior, i.e., destructors are virtual when trace methods +// are and vice versa. +template +struct GCInfoFolding { + static constexpr bool kHasVirtualDestructorAtBase = + std::has_virtual_destructor::value; + static constexpr bool kBothTypesAreTriviallyDestructible = + std::is_trivially_destructible::value && + std::is_trivially_destructible::value; + static constexpr bool kHasCustomFinalizerDispatchAtBase = + internal::HasFinalizeGarbageCollectedObject< + ParentMostGarbageCollectedType>::value; +#ifdef CPPGC_SUPPORTS_OBJECT_NAMES + static constexpr bool kWantsDetailedObjectNames = true; +#else // !CPPGC_SUPPORTS_OBJECT_NAMES + static constexpr bool kWantsDetailedObjectNames = false; +#endif // !CPPGC_SUPPORTS_OBJECT_NAMES + + // Folding would regresses name resolution when deriving names from C++ + // class names as it would just folds a name to the base class name. + using ResultType = std::conditional_t<(kHasVirtualDestructorAtBase || + kBothTypesAreTriviallyDestructible || + kHasCustomFinalizerDispatchAtBase) && + !kWantsDetailedObjectNames, + ParentMostGarbageCollectedType, T>; }; // Trait determines how the garbage collector treats objects wrt. to traversing, // finalization, and naming. template -struct GCInfoTrait { +struct GCInfoTrait final { static GCInfoIndex Index() { static_assert(sizeof(T), "T must be fully defined"); - static const RegisteredGCInfoIndex registered_index( - FinalizerTrait::kCallback, TraceTrait::Trace, - NameTrait::GetName, std::is_polymorphic::value); - return registered_index.GetIndex(); + static std::atomic + registered_index; // Uses zero initialization. + const GCInfoIndex index = registered_index.load(std::memory_order_acquire); + return index ? index + : EnsureGCInfoIndex( + registered_index, FinalizerTrait::kCallback, + TraceTrait::Trace, NameTrait::GetName, + std::is_polymorphic::value); } }; diff --git a/deps/v8/include/cppgc/internal/persistent-node.h b/deps/v8/include/cppgc/internal/persistent-node.h index 6524f326a56695..5626b17820b190 100644 --- a/deps/v8/include/cppgc/internal/persistent-node.h +++ b/deps/v8/include/cppgc/internal/persistent-node.h @@ -19,6 +19,8 @@ class Visitor; namespace internal { +class CrossThreadPersistentRegion; + // PersistentNode represents a variant of two states: // 1) traceable node with a back pointer to the Persistent object; // 2) freelist entry. @@ -30,6 +32,7 @@ class PersistentNode final { PersistentNode& operator=(const PersistentNode&) = delete; void InitializeAsUsedNode(void* owner, TraceCallback trace) { + CPPGC_DCHECK(trace); owner_ = owner; trace_ = trace; } @@ -89,12 +92,15 @@ class V8_EXPORT PersistentRegion final { } PersistentNode* node = free_list_head_; free_list_head_ = free_list_head_->FreeListNext(); + CPPGC_DCHECK(!node->IsUsed()); node->InitializeAsUsedNode(owner, trace); nodes_in_use_++; return node; } void FreeNode(PersistentNode* node) { + CPPGC_DCHECK(node); + CPPGC_DCHECK(node->IsUsed()); node->InitializeAsFreeNode(free_list_head_); free_list_head_ = node; CPPGC_DCHECK(nodes_in_use_ > 0); @@ -113,6 +119,8 @@ class V8_EXPORT PersistentRegion final { std::vector> nodes_; PersistentNode* free_list_head_ = nullptr; size_t nodes_in_use_ = 0; + + friend class CrossThreadPersistentRegion; }; // CrossThreadPersistent uses PersistentRegion but protects it using this lock @@ -125,6 +133,38 @@ class V8_EXPORT PersistentRegionLock final { static void AssertLocked(); }; +// Variant of PersistentRegion that checks whether the PersistentRegionLock is +// locked. +class V8_EXPORT CrossThreadPersistentRegion final { + public: + CrossThreadPersistentRegion() = default; + // Clears Persistent fields to avoid stale pointers after heap teardown. + ~CrossThreadPersistentRegion(); + + CrossThreadPersistentRegion(const CrossThreadPersistentRegion&) = delete; + CrossThreadPersistentRegion& operator=(const CrossThreadPersistentRegion&) = + delete; + + V8_INLINE PersistentNode* AllocateNode(void* owner, TraceCallback trace) { + PersistentRegionLock::AssertLocked(); + return persistent_region_.AllocateNode(owner, trace); + } + + V8_INLINE void FreeNode(PersistentNode* node) { + PersistentRegionLock::AssertLocked(); + persistent_region_.FreeNode(node); + } + + void Trace(Visitor*); + + size_t NodesInUse() const; + + void ClearAllUsedNodes(); + + private: + PersistentRegion persistent_region_; +}; + } // namespace internal } // namespace cppgc diff --git a/deps/v8/include/cppgc/internal/pointer-policies.h b/deps/v8/include/cppgc/internal/pointer-policies.h index ea86a0a7057f45..ceb002f02d555f 100644 --- a/deps/v8/include/cppgc/internal/pointer-policies.h +++ b/deps/v8/include/cppgc/internal/pointer-policies.h @@ -16,6 +16,7 @@ namespace cppgc { namespace internal { class PersistentRegion; +class CrossThreadPersistentRegion; // Tags to distinguish between strong and weak member types. class StrongMemberTag; @@ -115,12 +116,14 @@ struct WeakPersistentPolicy { struct StrongCrossThreadPersistentPolicy { using IsStrongPersistent = std::true_type; - static V8_EXPORT PersistentRegion& GetPersistentRegion(const void* object); + static V8_EXPORT CrossThreadPersistentRegion& GetPersistentRegion( + const void* object); }; struct WeakCrossThreadPersistentPolicy { using IsStrongPersistent = std::false_type; - static V8_EXPORT PersistentRegion& GetPersistentRegion(const void* object); + static V8_EXPORT CrossThreadPersistentRegion& GetPersistentRegion( + const void* object); }; // Forward declarations setting up the default policies. diff --git a/deps/v8/include/cppgc/testing.h b/deps/v8/include/cppgc/testing.h index f93897a9aafc81..229ce140f94277 100644 --- a/deps/v8/include/cppgc/testing.h +++ b/deps/v8/include/cppgc/testing.h @@ -44,6 +44,55 @@ class V8_EXPORT V8_NODISCARD OverrideEmbedderStackStateScope final { HeapHandle& heap_handle_; }; +/** + * Testing interface for managed heaps that allows for controlling garbage + * collection timings. Embedders should use this class when testing the + * interaction of their code with incremental/concurrent garbage collection. + */ +class V8_EXPORT StandaloneTestingHeap final { + public: + explicit StandaloneTestingHeap(HeapHandle&); + + /** + * Start an incremental garbage collection. + */ + void StartGarbageCollection(); + + /** + * Perform an incremental step. This will also schedule concurrent steps if + * needed. + * + * \param stack_state The state of the stack during the step. + */ + bool PerformMarkingStep(EmbedderStackState stack_state); + + /** + * Finalize the current garbage collection cycle atomically. + * Assumes that garbage collection is in progress. + * + * \param stack_state The state of the stack for finalizing the garbage + * collection cycle. + */ + void FinalizeGarbageCollection(EmbedderStackState stack_state); + + /** + * Toggle main thread marking on/off. Allows to stress concurrent marking + * (e.g. to better detect data races). + * + * \param should_mark Denotes whether the main thread should contribute to + * marking. Defaults to true. + */ + void ToggleMainThreadMarking(bool should_mark); + + /** + * Force enable compaction for the next garbage collection cycle. + */ + void ForceCompactionForNextGarbageCollection(); + + private: + HeapHandle& heap_handle_; +}; + } // namespace testing } // namespace cppgc diff --git a/deps/v8/include/cppgc/visitor.h b/deps/v8/include/cppgc/visitor.h index 95fd5fc842c1b2..98de9957bd66ac 100644 --- a/deps/v8/include/cppgc/visitor.h +++ b/deps/v8/include/cppgc/visitor.h @@ -158,22 +158,67 @@ class V8_EXPORT Visitor { } /** - * Trace method for ephemerons. Used for tracing raw ephemeron in which the - * key and value are kept separately. + * Trace method for a single ephemeron. Used for tracing a raw ephemeron in + * which the `key` and `value` are kept separately. * - * \param key WeakMember reference weakly retaining a key object. - * \param value Member reference weakly retaining a value object. + * \param weak_member_key WeakMember reference weakly retaining a key object. + * \param member_value Member reference with ephemeron semantics. */ - template - void TraceEphemeron(const WeakMember& key, const V* value) { - const K* k = key.GetRawAtomic(); - if (!k) return; - TraceDescriptor value_desc = TraceTrait::GetTraceDescriptor(value); - // `value` must always be non-null. `value_desc.base_object_payload` may be - // null in the case that value is not a garbage-collected object but only - // traceable. + template + void TraceEphemeron(const WeakMember& weak_member_key, + const Member* member_value) { + const KeyType* key = weak_member_key.GetRawAtomic(); + if (!key) return; + + // `value` must always be non-null. + CPPGC_DCHECK(member_value); + const ValueType* value = member_value->GetRawAtomic(); + if (!value) return; + + // KeyType and ValueType may refer to GarbageCollectedMixin. + TraceDescriptor value_desc = + TraceTrait::GetTraceDescriptor(value); + CPPGC_DCHECK(value_desc.base_object_payload); + const void* key_base_object_payload = + TraceTrait::GetTraceDescriptor(key).base_object_payload; + CPPGC_DCHECK(key_base_object_payload); + + VisitEphemeron(key_base_object_payload, value, value_desc); + } + + /** + * Trace method for a single ephemeron. Used for tracing a raw ephemeron in + * which the `key` and `value` are kept separately. Note that this overload + * is for non-GarbageCollected `value`s that can be traced though. + * + * \param key `WeakMember` reference weakly retaining a key object. + * \param value Reference weakly retaining a value object. Note that + * `ValueType` here should not be `Member`. It is expected that + * `TraceTrait::GetTraceDescriptor(value)` returns a + * `TraceDescriptor` with a null base pointer but a valid trace method. + */ + template + void TraceEphemeron(const WeakMember& weak_member_key, + const ValueType* value) { + static_assert(!IsGarbageCollectedOrMixinTypeV, + "garbage-collected types must use WeakMember and Member"); + const KeyType* key = weak_member_key.GetRawAtomic(); + if (!key) return; + + // `value` must always be non-null. CPPGC_DCHECK(value); - VisitEphemeron(key, value, value_desc); + TraceDescriptor value_desc = + TraceTrait::GetTraceDescriptor(value); + // `value_desc.base_object_payload` must be null as this override is only + // taken for non-garbage-collected values. + CPPGC_DCHECK(!value_desc.base_object_payload); + + // KeyType might be a GarbageCollectedMixin. + const void* key_base_object_payload = + TraceTrait::GetTraceDescriptor(key).base_object_payload; + CPPGC_DCHECK(key_base_object_payload); + + VisitEphemeron(key_base_object_payload, value, value_desc); } /** @@ -327,14 +372,6 @@ class V8_EXPORT Visitor { friend class internal::VisitorBase; }; -template -struct TraceTrait> { - static TraceDescriptor GetTraceDescriptor(const void* self) { - return TraceTrait::GetTraceDescriptor( - static_cast*>(self)->GetRawAtomic()); - } -}; - } // namespace cppgc #endif // INCLUDE_CPPGC_VISITOR_H_ diff --git a/deps/v8/include/v8-cppgc.h b/deps/v8/include/v8-cppgc.h index 2c22193046e4a6..fba35f71c9ae07 100644 --- a/deps/v8/include/v8-cppgc.h +++ b/deps/v8/include/v8-cppgc.h @@ -9,6 +9,7 @@ #include #include +#include "cppgc/common.h" #include "cppgc/custom-space.h" #include "cppgc/heap-statistics.h" #include "cppgc/internal/write-barrier.h" @@ -118,6 +119,20 @@ class V8_EXPORT CppHeap { cppgc::HeapStatistics CollectStatistics( cppgc::HeapStatistics::DetailLevel detail_level); + /** + * Enables a detached mode that allows testing garbage collection using + * `cppgc::testing` APIs. Once used, the heap cannot be attached to an + * `Isolate` anymore. + */ + void EnableDetachedGarbageCollectionsForTesting(); + + /** + * Performs a stop-the-world garbage collection for testing purposes. + * + * \param stack_state The stack state to assume for the garbage collection. + */ + void CollectGarbageForTesting(cppgc::EmbedderStackState stack_state); + private: CppHeap() = default; diff --git a/deps/v8/include/v8-fast-api-calls.h b/deps/v8/include/v8-fast-api-calls.h index ca5fc764a3d525..f8b5acb093456e 100644 --- a/deps/v8/include/v8-fast-api-calls.h +++ b/deps/v8/include/v8-fast-api-calls.h @@ -187,6 +187,9 @@ #include #include +#include +#include + #include "v8config.h" // NOLINT(build/include_directory) namespace v8 { @@ -205,39 +208,106 @@ class CTypeInfo { kV8Value, }; - // kCallbackOptionsType and kInvalidType are not part of the Type enum - // because they are only used internally. Use values 255 and 254 that - // are larger than any valid Type enum. + // kCallbackOptionsType is not part of the Type enum + // because it is only used internally. Use value 255 that is larger + // than any valid Type enum. static constexpr Type kCallbackOptionsType = Type(255); - static constexpr Type kInvalidType = Type(254); - enum class ArgFlags : uint8_t { + enum class Flags : uint8_t { kNone = 0, }; - explicit constexpr CTypeInfo(Type type, ArgFlags flags = ArgFlags::kNone) + explicit constexpr CTypeInfo(Type type, Flags flags = Flags::kNone) : type_(type), flags_(flags) {} constexpr Type GetType() const { return type_; } - constexpr ArgFlags GetFlags() const { return flags_; } + constexpr Flags GetFlags() const { return flags_; } + + private: + Type type_; + Flags flags_; +}; + +class V8_EXPORT CFunctionInfo { + public: + // Construct a struct to hold a CFunction's type information. + // |return_info| describes the function's return type. + // |arg_info| is an array of |arg_count| CTypeInfos describing the + // arguments. Only the last argument may be of the special type + // CTypeInfo::kCallbackOptionsType. + CFunctionInfo(const CTypeInfo& return_info, unsigned int arg_count, + const CTypeInfo* arg_info); + + const CTypeInfo& ReturnInfo() const { return return_info_; } + + // The argument count, not including the v8::FastApiCallbackOptions + // if present. + unsigned int ArgumentCount() const { + return HasOptions() ? arg_count_ - 1 : arg_count_; + } + + // |index| must be less than ArgumentCount(). + // Note: if the last argument passed on construction of CFunctionInfo + // has type CTypeInfo::kCallbackOptionsType, it is not included in + // ArgumentCount(). + const CTypeInfo& ArgumentInfo(unsigned int index) const; - static const CTypeInfo& Invalid() { - static CTypeInfo invalid = CTypeInfo(kInvalidType); - return invalid; + bool HasOptions() const { + // The options arg is always the last one. + return arg_count_ > 0 && arg_info_[arg_count_ - 1].GetType() == + CTypeInfo::kCallbackOptionsType; } private: - Type type_; - ArgFlags flags_; + const CTypeInfo return_info_; + const unsigned int arg_count_; + const CTypeInfo* arg_info_; }; -class CFunctionInfo { +class V8_EXPORT CFunction { public: - virtual const CTypeInfo& ReturnInfo() const = 0; - virtual unsigned int ArgumentCount() const = 0; - virtual const CTypeInfo& ArgumentInfo(unsigned int index) const = 0; - virtual bool HasOptions() const = 0; + constexpr CFunction() : address_(nullptr), type_info_(nullptr) {} + + const CTypeInfo& ReturnInfo() const { return type_info_->ReturnInfo(); } + + const CTypeInfo& ArgumentInfo(unsigned int index) const { + return type_info_->ArgumentInfo(index); + } + + unsigned int ArgumentCount() const { return type_info_->ArgumentCount(); } + + const void* GetAddress() const { return address_; } + const CFunctionInfo* GetTypeInfo() const { return type_info_; } + + template + static CFunction Make(F* func) { + return ArgUnwrap::Make(func); + } + + template + V8_DEPRECATED("Use CFunctionBuilder instead.") + static CFunction MakeWithFallbackSupport(F* func) { + return ArgUnwrap::Make(func); + } + + CFunction(const void* address, const CFunctionInfo* type_info); + + private: + const void* address_; + const CFunctionInfo* type_info_; + + template + class ArgUnwrap { + static_assert(sizeof(F) != sizeof(F), + "CFunction must be created from a function pointer."); + }; + + template + class ArgUnwrap { + public: + static CFunction Make(R (*func)(Args...)); + }; }; struct ApiObject { @@ -272,37 +342,6 @@ struct FastApiCallbackOptions { namespace internal { -template -struct GetCType; - -#define SPECIALIZE_GET_C_TYPE_FOR(ctype, ctypeinfo) \ - template <> \ - struct GetCType { \ - static constexpr CTypeInfo Get() { \ - return CTypeInfo(CTypeInfo::Type::ctypeinfo); \ - } \ - }; - -#define SUPPORTED_C_TYPES(V) \ - V(void, kVoid) \ - V(bool, kBool) \ - V(int32_t, kInt32) \ - V(uint32_t, kUint32) \ - V(int64_t, kInt64) \ - V(uint64_t, kUint64) \ - V(float, kFloat32) \ - V(double, kFloat64) \ - V(ApiObject, kV8Value) - -SUPPORTED_C_TYPES(SPECIALIZE_GET_C_TYPE_FOR) - -template <> -struct GetCType { - static constexpr CTypeInfo Get() { - return CTypeInfo(CTypeInfo::kCallbackOptionsType); - } -}; - // Helper to count the number of occurances of `T` in `List` template struct count : std::integral_constant {}; @@ -312,108 +351,179 @@ struct count template struct count : count {}; -template +template class CFunctionInfoImpl : public CFunctionInfo { - public: static constexpr int kOptionsArgCount = - count(); + count(); static constexpr int kReceiverCount = 1; - CFunctionInfoImpl() - : return_info_(internal::GetCType::Get()), - arg_count_(sizeof...(Args) - kOptionsArgCount), - arg_info_{internal::GetCType::Get()...} { - static_assert(kOptionsArgCount == 0 || kOptionsArgCount == 1, - "Only one options parameter is supported."); - static_assert(sizeof...(Args) >= kOptionsArgCount + kReceiverCount, - "The receiver or the fallback argument is missing."); - constexpr CTypeInfo::Type type = internal::GetCType::Get().GetType(); - static_assert(type == CTypeInfo::Type::kVoid || - type == CTypeInfo::Type::kBool || - type == CTypeInfo::Type::kInt32 || - type == CTypeInfo::Type::kUint32 || - type == CTypeInfo::Type::kFloat32 || - type == CTypeInfo::Type::kFloat64, + + static_assert(kOptionsArgCount == 0 || kOptionsArgCount == 1, + "Only one options parameter is supported."); + + static_assert(sizeof...(ArgBuilders) >= kOptionsArgCount + kReceiverCount, + "The receiver or the options argument is missing."); + + public: + constexpr CFunctionInfoImpl() + : CFunctionInfo(RetBuilder::Build(), sizeof...(ArgBuilders), + arg_info_storage_), + arg_info_storage_{ArgBuilders::Build()...} { + constexpr CTypeInfo::Type kReturnType = RetBuilder::Build().GetType(); + static_assert(kReturnType == CTypeInfo::Type::kVoid || + kReturnType == CTypeInfo::Type::kBool || + kReturnType == CTypeInfo::Type::kInt32 || + kReturnType == CTypeInfo::Type::kUint32 || + kReturnType == CTypeInfo::Type::kFloat32 || + kReturnType == CTypeInfo::Type::kFloat64, "64-bit int and api object values are not currently " "supported return types."); } - const CTypeInfo& ReturnInfo() const override { return return_info_; } - unsigned int ArgumentCount() const override { return arg_count_; } - const CTypeInfo& ArgumentInfo(unsigned int index) const override { - if (index >= ArgumentCount()) { - return CTypeInfo::Invalid(); - } - return arg_info_[index]; - } - bool HasOptions() const override { return kOptionsArgCount == 1; } - private: - const CTypeInfo return_info_; - const unsigned int arg_count_; - const CTypeInfo arg_info_[sizeof...(Args)]; + const CTypeInfo arg_info_storage_[sizeof...(ArgBuilders)]; }; -} // namespace internal +template +struct TypeInfoHelper { + static_assert(sizeof(T) != sizeof(T), "This type is not supported"); +}; -class V8_EXPORT CFunction { - public: - constexpr CFunction() : address_(nullptr), type_info_(nullptr) {} +#define SPECIALIZE_GET_TYPE_INFO_HELPER_FOR(T, Enum) \ + template <> \ + struct TypeInfoHelper { \ + static constexpr CTypeInfo::Flags Flags() { \ + return CTypeInfo::Flags::kNone; \ + } \ + \ + static constexpr CTypeInfo::Type Type() { return CTypeInfo::Type::Enum; } \ + }; - const CTypeInfo& ReturnInfo() const { return type_info_->ReturnInfo(); } +#define BASIC_C_TYPES(V) \ + V(void, kVoid) \ + V(bool, kBool) \ + V(int32_t, kInt32) \ + V(uint32_t, kUint32) \ + V(int64_t, kInt64) \ + V(uint64_t, kUint64) \ + V(float, kFloat32) \ + V(double, kFloat64) \ + V(ApiObject, kV8Value) - const CTypeInfo& ArgumentInfo(unsigned int index) const { - return type_info_->ArgumentInfo(index); +BASIC_C_TYPES(SPECIALIZE_GET_TYPE_INFO_HELPER_FOR) + +#undef BASIC_C_TYPES + +template <> +struct TypeInfoHelper { + static constexpr CTypeInfo::Flags Flags() { return CTypeInfo::Flags::kNone; } + + static constexpr CTypeInfo::Type Type() { + return CTypeInfo::kCallbackOptionsType; } +}; - unsigned int ArgumentCount() const { return type_info_->ArgumentCount(); } +template +class CTypeInfoBuilder { + public: + using BaseType = T; + + static constexpr CTypeInfo Build() { + // Get the flags and merge in any additional flags. + uint8_t flags = uint8_t(TypeInfoHelper::Flags()); + int unused[] = {0, (flags |= uint8_t(Flags), 0)...}; + // With C++17, we could use a "..." fold expression over a parameter pack. + // Since we're still using C++14, we have to evaluate an OR expresion while + // constructing an unused list of 0's. This applies the binary operator + // for each value in Flags. + (void)unused; + + // Return the same type with the merged flags. + return CTypeInfo(TypeInfoHelper::Type(), CTypeInfo::Flags(flags)); + } +}; - const void* GetAddress() const { return address_; } - const CFunctionInfo* GetTypeInfo() const { return type_info_; } +template +class CFunctionBuilderWithFunction { + public: + explicit constexpr CFunctionBuilderWithFunction(const void* fn) : fn_(fn) {} - template - static CFunction Make(F* func) { - return ArgUnwrap::Make(func); + template + constexpr auto Ret() { + return CFunctionBuilderWithFunction< + CTypeInfoBuilder, + ArgBuilders...>(fn_); } - template - V8_DEPRECATED("Use CFunction::Make instead.") - static CFunction MakeWithFallbackSupport(F* func) { - return ArgUnwrap::Make(func); + template + constexpr auto Arg() { + // Return a copy of the builder with the Nth arg builder merged with + // template parameter pack Flags. + return ArgImpl( + std::make_index_sequence()); } - template - static CFunction Make(F* func, const CFunctionInfo* type_info) { - return CFunction(reinterpret_cast(func), type_info); + auto Build() { + static CFunctionInfoImpl instance; + return CFunction(fn_, &instance); } private: - const void* address_; - const CFunctionInfo* type_info_; + template + struct GetArgBuilder; + + // Returns the same ArgBuilder as the one at index N, including its flags. + // Flags in the template parameter pack are ignored. + template + struct GetArgBuilder { + using type = + typename std::tuple_element>::type; + }; - CFunction(const void* address, const CFunctionInfo* type_info); + // Returns an ArgBuilder with the same base type as the one at index N, + // but merges the flags with the flags in the template parameter pack. + template + struct GetArgBuilder { + using type = CTypeInfoBuilder< + typename std::tuple_element>::type::BaseType, + std::tuple_element>::type::Build() + .GetFlags(), + Flags...>; + }; - template - static CFunctionInfo* GetCFunctionInfo() { - static internal::CFunctionInfoImpl instance; - return &instance; + // Return a copy of the CFunctionBuilder, but merges the Flags on ArgBuilder + // index N with the new Flags passed in the template parameter pack. + template + constexpr auto ArgImpl(std::index_sequence) { + return CFunctionBuilderWithFunction< + RetBuilder, typename GetArgBuilder::type...>(fn_); } - template - class ArgUnwrap { - static_assert(sizeof(F) != sizeof(F), - "CFunction must be created from a function pointer."); - }; + const void* fn_; +}; + +class CFunctionBuilder { + public: + constexpr CFunctionBuilder() {} template - class ArgUnwrap { - public: - static CFunction Make(R (*func)(Args...)) { - return CFunction(reinterpret_cast(func), - GetCFunctionInfo()); - } - }; + constexpr auto Fn(R (*fn)(Args...)) { + return CFunctionBuilderWithFunction, + CTypeInfoBuilder...>( + reinterpret_cast(fn)); + } }; +} // namespace internal + +// static +template +CFunction CFunction::ArgUnwrap::Make(R (*func)(Args...)) { + return internal::CFunctionBuilder().Fn(func).Build(); +} + +using CFunctionBuilder = internal::CFunctionBuilder; + } // namespace v8 #endif // INCLUDE_V8_FAST_API_CALLS_H_ diff --git a/deps/v8/include/v8-internal.h b/deps/v8/include/v8-internal.h index 8abbcfb416b2a6..eb18f76504d6fa 100644 --- a/deps/v8/include/v8-internal.h +++ b/deps/v8/include/v8-internal.h @@ -358,8 +358,9 @@ class Internals { internal::Address heap_object_ptr, int offset) { #ifdef V8_COMPRESS_POINTERS uint32_t value = ReadRawField(heap_object_ptr, offset); - internal::Address root = GetRootFromOnHeapAddress(heap_object_ptr); - return root + static_cast(static_cast(value)); + internal::Address base = + GetPtrComprCageBaseFromOnHeapAddress(heap_object_ptr); + return base + static_cast(static_cast(value)); #else return ReadRawField(heap_object_ptr, offset); #endif @@ -411,18 +412,19 @@ class Internals { #ifdef V8_COMPRESS_POINTERS // See v8:7703 or src/ptr-compr.* for details about pointer compression. - static constexpr size_t kPtrComprHeapReservationSize = size_t{1} << 32; - static constexpr size_t kPtrComprIsolateRootAlignment = size_t{1} << 32; + static constexpr size_t kPtrComprCageReservationSize = size_t{1} << 32; + static constexpr size_t kPtrComprCageBaseAlignment = size_t{1} << 32; - V8_INLINE static internal::Address GetRootFromOnHeapAddress( + V8_INLINE static internal::Address GetPtrComprCageBaseFromOnHeapAddress( internal::Address addr) { - return addr & -static_cast(kPtrComprIsolateRootAlignment); + return addr & -static_cast(kPtrComprCageBaseAlignment); } V8_INLINE static internal::Address DecompressTaggedAnyField( internal::Address heap_object_ptr, uint32_t value) { - internal::Address root = GetRootFromOnHeapAddress(heap_object_ptr); - return root + static_cast(static_cast(value)); + internal::Address base = + GetPtrComprCageBaseFromOnHeapAddress(heap_object_ptr); + return base + static_cast(static_cast(value)); } #endif // V8_COMPRESS_POINTERS diff --git a/deps/v8/include/v8-platform.h b/deps/v8/include/v8-platform.h index e27d26cb692e46..fc9a357feb66cb 100644 --- a/deps/v8/include/v8-platform.h +++ b/deps/v8/include/v8-platform.h @@ -181,9 +181,8 @@ class JobDelegate { /** * Returns true if the current task is called from the thread currently * running JobHandle::Join(). - * TODO(etiennep): Make pure virtual once custom embedders implement it. */ - virtual bool IsJoiningThread() const { return false; } + virtual bool IsJoiningThread() const = 0; }; /** @@ -220,19 +219,14 @@ class JobHandle { * Forces all existing workers to yield ASAP but doesn’t wait for them. * Warning, this is dangerous if the Job's callback is bound to or has access * to state which may be deleted after this call. - * TODO(etiennep): Cleanup once implemented by all embedders. */ - virtual void CancelAndDetach() { Cancel(); } + virtual void CancelAndDetach() = 0; /** * Returns true if there's any work pending or any worker running. */ virtual bool IsActive() = 0; - // TODO(etiennep): Clean up once all overrides are removed. - V8_DEPRECATED("Use !IsActive() instead.") - virtual bool IsCompleted() { return !IsActive(); } - /** * Returns true if associated with a Job and other methods may be called. * Returns false after Join() or Cancel() was called. This may return true @@ -240,10 +234,6 @@ class JobHandle { */ virtual bool IsValid() = 0; - // TODO(etiennep): Clean up once all overrides are removed. - V8_DEPRECATED("Use IsValid() instead.") - virtual bool IsRunning() { return IsValid(); } - /** * Returns true if job priority can be changed. */ @@ -272,10 +262,6 @@ class JobTask { * it must not call back any JobHandle methods. */ virtual size_t GetMaxConcurrency(size_t worker_count) const = 0; - - // TODO(1114823): Clean up once all overrides are removed. - V8_DEPRECATED("Use the version that takes |worker_count|.") - virtual size_t GetMaxConcurrency() const { return 0; } }; /** @@ -408,7 +394,6 @@ class PageAllocator { kNoAccess, kRead, kReadWrite, - // TODO(hpayer): Remove this flag. Memory should never be rwx. kReadWriteExecute, kReadExecute, // Set this when reserving memory that will later require kReadWriteExecute diff --git a/deps/v8/include/v8-version.h b/deps/v8/include/v8-version.h index 0e562ccd6f47a9..747b33f6da13e6 100644 --- a/deps/v8/include/v8-version.h +++ b/deps/v8/include/v8-version.h @@ -9,9 +9,9 @@ // NOTE these macros are used by some of the tool scripts and the build // system so their names cannot be changed without changing the scripts. #define V8_MAJOR_VERSION 9 -#define V8_MINOR_VERSION 0 -#define V8_BUILD_NUMBER 257 -#define V8_PATCH_LEVEL 25 +#define V8_MINOR_VERSION 1 +#define V8_BUILD_NUMBER 269 +#define V8_PATCH_LEVEL 36 // Use 1 for candidates and 0 otherwise. // (Boolean macro values are not supported by all preprocessors.) diff --git a/deps/v8/include/v8.h b/deps/v8/include/v8.h index e4448db1910069..6b672ca750cec5 100644 --- a/deps/v8/include/v8.h +++ b/deps/v8/include/v8.h @@ -1427,9 +1427,7 @@ class ScriptOriginOptions { */ class ScriptOrigin { public: -#if defined(_MSC_VER) && _MSC_VER >= 1910 /* Disable on VS2015 */ V8_DEPRECATE_SOON("Use constructor with primitive C++ types") -#endif V8_INLINE explicit ScriptOrigin( Local resource_name, Local resource_line_offset, Local resource_column_offset, @@ -1440,9 +1438,7 @@ class ScriptOrigin { Local is_wasm = Local(), Local is_module = Local(), Local host_defined_options = Local()); -#if defined(_MSC_VER) && _MSC_VER >= 1910 /* Disable on VS2015 */ V8_DEPRECATE_SOON("Use constructor that takes an isolate") -#endif V8_INLINE explicit ScriptOrigin( Local resource_name, int resource_line_offset = 0, int resource_column_offset = 0, @@ -1495,7 +1491,7 @@ class V8_EXPORT UnboundScript { */ Local -``` - -This bundle can be used with different module systems; it creates global `Ajv` if no module system is found. - -The browser bundle is available on [cdnjs](https://cdnjs.com/libraries/ajv). - -Ajv is tested with these browsers: - -[![Sauce Test Status](https://saucelabs.com/browser-matrix/epoberezkin.svg)](https://saucelabs.com/u/epoberezkin) - -__Please note__: some frameworks, e.g. Dojo, may redefine global require in such way that is not compatible with CommonJS module format. In such case Ajv bundle has to be loaded before the framework and then you can use global Ajv (see issue [#234](https://github.com/ajv-validator/ajv/issues/234)). - - -### Ajv and Content Security Policies (CSP) - -If you're using Ajv to compile a schema (the typical use) in a browser document that is loaded with a Content Security Policy (CSP), that policy will require a `script-src` directive that includes the value `'unsafe-eval'`. -:warning: NOTE, however, that `unsafe-eval` is NOT recommended in a secure CSP[[1]](https://developer.chrome.com/extensions/contentSecurityPolicy#relaxing-eval), as it has the potential to open the document to cross-site scripting (XSS) attacks. - -In order to make use of Ajv without easing your CSP, you can [pre-compile a schema using the CLI](https://github.com/ajv-validator/ajv-cli#compile-schemas). This will transpile the schema JSON into a JavaScript file that exports a `validate` function that works simlarly to a schema compiled at runtime. - -Note that pre-compilation of schemas is performed using [ajv-pack](https://github.com/ajv-validator/ajv-pack) and there are [some limitations to the schema features it can compile](https://github.com/ajv-validator/ajv-pack#limitations). A successfully pre-compiled schema is equivalent to the same schema compiled at runtime. - - -## Command line interface - -CLI is available as a separate npm package [ajv-cli](https://github.com/ajv-validator/ajv-cli). It supports: - -- compiling JSON Schemas to test their validity -- BETA: generating standalone module exporting a validation function to be used without Ajv (using [ajv-pack](https://github.com/ajv-validator/ajv-pack)) -- migrate schemas to draft-07 (using [json-schema-migrate](https://github.com/epoberezkin/json-schema-migrate)) -- validating data file(s) against JSON Schema -- testing expected validity of data against JSON Schema -- referenced schemas -- custom meta-schemas -- files in JSON, JSON5, YAML, and JavaScript format -- all Ajv options -- reporting changes in data after validation in [JSON-patch](https://tools.ietf.org/html/rfc6902) format - - -## Validation keywords - -Ajv supports all validation keywords from draft-07 of JSON Schema standard: - -- [type](https://github.com/ajv-validator/ajv/blob/master/KEYWORDS.md#type) -- [for numbers](https://github.com/ajv-validator/ajv/blob/master/KEYWORDS.md#keywords-for-numbers) - maximum, minimum, exclusiveMaximum, exclusiveMinimum, multipleOf -- [for strings](https://github.com/ajv-validator/ajv/blob/master/KEYWORDS.md#keywords-for-strings) - maxLength, minLength, pattern, format -- [for arrays](https://github.com/ajv-validator/ajv/blob/master/KEYWORDS.md#keywords-for-arrays) - maxItems, minItems, uniqueItems, items, additionalItems, [contains](https://github.com/ajv-validator/ajv/blob/master/KEYWORDS.md#contains) -- [for objects](https://github.com/ajv-validator/ajv/blob/master/KEYWORDS.md#keywords-for-objects) - maxProperties, minProperties, required, properties, patternProperties, additionalProperties, dependencies, [propertyNames](https://github.com/ajv-validator/ajv/blob/master/KEYWORDS.md#propertynames) -- [for all types](https://github.com/ajv-validator/ajv/blob/master/KEYWORDS.md#keywords-for-all-types) - enum, [const](https://github.com/ajv-validator/ajv/blob/master/KEYWORDS.md#const) -- [compound keywords](https://github.com/ajv-validator/ajv/blob/master/KEYWORDS.md#compound-keywords) - not, oneOf, anyOf, allOf, [if/then/else](https://github.com/ajv-validator/ajv/blob/master/KEYWORDS.md#ifthenelse) - -With [ajv-keywords](https://github.com/ajv-validator/ajv-keywords) package Ajv also supports validation keywords from [JSON Schema extension proposals](https://github.com/json-schema/json-schema/wiki/v5-Proposals) for JSON Schema standard: - -- [patternRequired](https://github.com/ajv-validator/ajv/blob/master/KEYWORDS.md#patternrequired-proposed) - like `required` but with patterns that some property should match. -- [formatMaximum, formatMinimum, formatExclusiveMaximum, formatExclusiveMinimum](https://github.com/ajv-validator/ajv/blob/master/KEYWORDS.md#formatmaximum--formatminimum-and-exclusiveformatmaximum--exclusiveformatminimum-proposed) - setting limits for date, time, etc. - -See [JSON Schema validation keywords](https://github.com/ajv-validator/ajv/blob/master/KEYWORDS.md) for more details. - - -## Annotation keywords - -JSON Schema specification defines several annotation keywords that describe schema itself but do not perform any validation. - -- `title` and `description`: information about the data represented by that schema -- `$comment` (NEW in draft-07): information for developers. With option `$comment` Ajv logs or passes the comment string to the user-supplied function. See [Options](#options). -- `default`: a default value of the data instance, see [Assigning defaults](#assigning-defaults). -- `examples` (NEW in draft-06): an array of data instances. Ajv does not check the validity of these instances against the schema. -- `readOnly` and `writeOnly` (NEW in draft-07): marks data-instance as read-only or write-only in relation to the source of the data (database, api, etc.). -- `contentEncoding`: [RFC 2045](https://tools.ietf.org/html/rfc2045#section-6.1 ), e.g., "base64". -- `contentMediaType`: [RFC 2046](https://tools.ietf.org/html/rfc2046), e.g., "image/png". - -__Please note__: Ajv does not implement validation of the keywords `examples`, `contentEncoding` and `contentMediaType` but it reserves them. If you want to create a plugin that implements some of them, it should remove these keywords from the instance. - - -## Formats - -Ajv implements formats defined by JSON Schema specification and several other formats. It is recommended NOT to use "format" keyword implementations with untrusted data, as they use potentially unsafe regular expressions - see [ReDoS attack](#redos-attack). - -__Please note__: if you need to use "format" keyword to validate untrusted data, you MUST assess their suitability and safety for your validation scenarios. - -The following formats are implemented for string validation with "format" keyword: - -- _date_: full-date according to [RFC3339](http://tools.ietf.org/html/rfc3339#section-5.6). -- _time_: time with optional time-zone. -- _date-time_: date-time from the same source (time-zone is mandatory). `date`, `time` and `date-time` validate ranges in `full` mode and only regexp in `fast` mode (see [options](#options)). -- _uri_: full URI. -- _uri-reference_: URI reference, including full and relative URIs. -- _uri-template_: URI template according to [RFC6570](https://tools.ietf.org/html/rfc6570) -- _url_ (deprecated): [URL record](https://url.spec.whatwg.org/#concept-url). -- _email_: email address. -- _hostname_: host name according to [RFC1034](http://tools.ietf.org/html/rfc1034#section-3.5). -- _ipv4_: IP address v4. -- _ipv6_: IP address v6. -- _regex_: tests whether a string is a valid regular expression by passing it to RegExp constructor. -- _uuid_: Universally Unique IDentifier according to [RFC4122](http://tools.ietf.org/html/rfc4122). -- _json-pointer_: JSON-pointer according to [RFC6901](https://tools.ietf.org/html/rfc6901). -- _relative-json-pointer_: relative JSON-pointer according to [this draft](http://tools.ietf.org/html/draft-luff-relative-json-pointer-00). - -__Please note__: JSON Schema draft-07 also defines formats `iri`, `iri-reference`, `idn-hostname` and `idn-email` for URLs, hostnames and emails with international characters. Ajv does not implement these formats. If you create Ajv plugin that implements them please make a PR to mention this plugin here. - -There are two modes of format validation: `fast` and `full`. This mode affects formats `date`, `time`, `date-time`, `uri`, `uri-reference`, and `email`. See [Options](#options) for details. - -You can add additional formats and replace any of the formats above using [addFormat](#api-addformat) method. - -The option `unknownFormats` allows changing the default behaviour when an unknown format is encountered. In this case Ajv can either fail schema compilation (default) or ignore it (default in versions before 5.0.0). You also can allow specific format(s) that will be ignored. See [Options](#options) for details. - -You can find regular expressions used for format validation and the sources that were used in [formats.js](https://github.com/ajv-validator/ajv/blob/master/lib/compile/formats.js). - - -## Combining schemas with $ref - -You can structure your validation logic across multiple schema files and have schemas reference each other using `$ref` keyword. - -Example: - -```javascript -var schema = { - "$id": "http://example.com/schemas/schema.json", - "type": "object", - "properties": { - "foo": { "$ref": "defs.json#/definitions/int" }, - "bar": { "$ref": "defs.json#/definitions/str" } - } -}; - -var defsSchema = { - "$id": "http://example.com/schemas/defs.json", - "definitions": { - "int": { "type": "integer" }, - "str": { "type": "string" } - } -}; -``` - -Now to compile your schema you can either pass all schemas to Ajv instance: - -```javascript -var ajv = new Ajv({schemas: [schema, defsSchema]}); -var validate = ajv.getSchema('http://example.com/schemas/schema.json'); -``` - -or use `addSchema` method: - -```javascript -var ajv = new Ajv; -var validate = ajv.addSchema(defsSchema) - .compile(schema); -``` - -See [Options](#options) and [addSchema](#api) method. - -__Please note__: -- `$ref` is resolved as the uri-reference using schema $id as the base URI (see the example). -- References can be recursive (and mutually recursive) to implement the schemas for different data structures (such as linked lists, trees, graphs, etc.). -- You don't have to host your schema files at the URIs that you use as schema $id. These URIs are only used to identify the schemas, and according to JSON Schema specification validators should not expect to be able to download the schemas from these URIs. -- The actual location of the schema file in the file system is not used. -- You can pass the identifier of the schema as the second parameter of `addSchema` method or as a property name in `schemas` option. This identifier can be used instead of (or in addition to) schema $id. -- You cannot have the same $id (or the schema identifier) used for more than one schema - the exception will be thrown. -- You can implement dynamic resolution of the referenced schemas using `compileAsync` method. In this way you can store schemas in any system (files, web, database, etc.) and reference them without explicitly adding to Ajv instance. See [Asynchronous schema compilation](#asynchronous-schema-compilation). - - -## $data reference - -With `$data` option you can use values from the validated data as the values for the schema keywords. See [proposal](https://github.com/json-schema-org/json-schema-spec/issues/51) for more information about how it works. - -`$data` reference is supported in the keywords: const, enum, format, maximum/minimum, exclusiveMaximum / exclusiveMinimum, maxLength / minLength, maxItems / minItems, maxProperties / minProperties, formatMaximum / formatMinimum, formatExclusiveMaximum / formatExclusiveMinimum, multipleOf, pattern, required, uniqueItems. - -The value of "$data" should be a [JSON-pointer](https://tools.ietf.org/html/rfc6901) to the data (the root is always the top level data object, even if the $data reference is inside a referenced subschema) or a [relative JSON-pointer](http://tools.ietf.org/html/draft-luff-relative-json-pointer-00) (it is relative to the current point in data; if the $data reference is inside a referenced subschema it cannot point to the data outside of the root level for this subschema). - -Examples. - -This schema requires that the value in property `smaller` is less or equal than the value in the property larger: - -```javascript -var ajv = new Ajv({$data: true}); - -var schema = { - "properties": { - "smaller": { - "type": "number", - "maximum": { "$data": "1/larger" } - }, - "larger": { "type": "number" } - } -}; - -var validData = { - smaller: 5, - larger: 7 -}; - -ajv.validate(schema, validData); // true -``` - -This schema requires that the properties have the same format as their field names: - -```javascript -var schema = { - "additionalProperties": { - "type": "string", - "format": { "$data": "0#" } - } -}; - -var validData = { - 'date-time': '1963-06-19T08:30:06.283185Z', - email: 'joe.bloggs@example.com' -} -``` - -`$data` reference is resolved safely - it won't throw even if some property is undefined. If `$data` resolves to `undefined` the validation succeeds (with the exclusion of `const` keyword). If `$data` resolves to incorrect type (e.g. not "number" for maximum keyword) the validation fails. - - -## $merge and $patch keywords - -With the package [ajv-merge-patch](https://github.com/ajv-validator/ajv-merge-patch) you can use the keywords `$merge` and `$patch` that allow extending JSON Schemas with patches using formats [JSON Merge Patch (RFC 7396)](https://tools.ietf.org/html/rfc7396) and [JSON Patch (RFC 6902)](https://tools.ietf.org/html/rfc6902). - -To add keywords `$merge` and `$patch` to Ajv instance use this code: - -```javascript -require('ajv-merge-patch')(ajv); -``` - -Examples. - -Using `$merge`: - -```json -{ - "$merge": { - "source": { - "type": "object", - "properties": { "p": { "type": "string" } }, - "additionalProperties": false - }, - "with": { - "properties": { "q": { "type": "number" } } - } - } -} -``` - -Using `$patch`: - -```json -{ - "$patch": { - "source": { - "type": "object", - "properties": { "p": { "type": "string" } }, - "additionalProperties": false - }, - "with": [ - { "op": "add", "path": "/properties/q", "value": { "type": "number" } } - ] - } -} -``` - -The schemas above are equivalent to this schema: - -```json -{ - "type": "object", - "properties": { - "p": { "type": "string" }, - "q": { "type": "number" } - }, - "additionalProperties": false -} -``` - -The properties `source` and `with` in the keywords `$merge` and `$patch` can use absolute or relative `$ref` to point to other schemas previously added to the Ajv instance or to the fragments of the current schema. - -See the package [ajv-merge-patch](https://github.com/ajv-validator/ajv-merge-patch) for more information. - - -## Defining custom keywords - -The advantages of using custom keywords are: - -- allow creating validation scenarios that cannot be expressed using JSON Schema -- simplify your schemas -- help bringing a bigger part of the validation logic to your schemas -- make your schemas more expressive, less verbose and closer to your application domain -- implement custom data processors that modify your data (`modifying` option MUST be used in keyword definition) and/or create side effects while the data is being validated - -If a keyword is used only for side-effects and its validation result is pre-defined, use option `valid: true/false` in keyword definition to simplify both generated code (no error handling in case of `valid: true`) and your keyword functions (no need to return any validation result). - -The concerns you have to be aware of when extending JSON Schema standard with custom keywords are the portability and understanding of your schemas. You will have to support these custom keywords on other platforms and to properly document these keywords so that everybody can understand them in your schemas. - -You can define custom keywords with [addKeyword](#api-addkeyword) method. Keywords are defined on the `ajv` instance level - new instances will not have previously defined keywords. - -Ajv allows defining keywords with: -- validation function -- compilation function -- macro function -- inline compilation function that should return code (as string) that will be inlined in the currently compiled schema. - -Example. `range` and `exclusiveRange` keywords using compiled schema: - -```javascript -ajv.addKeyword('range', { - type: 'number', - compile: function (sch, parentSchema) { - var min = sch[0]; - var max = sch[1]; - - return parentSchema.exclusiveRange === true - ? function (data) { return data > min && data < max; } - : function (data) { return data >= min && data <= max; } - } -}); - -var schema = { "range": [2, 4], "exclusiveRange": true }; -var validate = ajv.compile(schema); -console.log(validate(2.01)); // true -console.log(validate(3.99)); // true -console.log(validate(2)); // false -console.log(validate(4)); // false -``` - -Several custom keywords (typeof, instanceof, range and propertyNames) are defined in [ajv-keywords](https://github.com/ajv-validator/ajv-keywords) package - they can be used for your schemas and as a starting point for your own custom keywords. - -See [Defining custom keywords](https://github.com/ajv-validator/ajv/blob/master/CUSTOM.md) for more details. - - -## Asynchronous schema compilation - -During asynchronous compilation remote references are loaded using supplied function. See `compileAsync` [method](#api-compileAsync) and `loadSchema` [option](#options). - -Example: - -```javascript -var ajv = new Ajv({ loadSchema: loadSchema }); - -ajv.compileAsync(schema).then(function (validate) { - var valid = validate(data); - // ... -}); - -function loadSchema(uri) { - return request.json(uri).then(function (res) { - if (res.statusCode >= 400) - throw new Error('Loading error: ' + res.statusCode); - return res.body; - }); -} -``` - -__Please note__: [Option](#options) `missingRefs` should NOT be set to `"ignore"` or `"fail"` for asynchronous compilation to work. - - -## Asynchronous validation - -Example in Node.js REPL: https://tonicdev.com/esp/ajv-asynchronous-validation - -You can define custom formats and keywords that perform validation asynchronously by accessing database or some other service. You should add `async: true` in the keyword or format definition (see [addFormat](#api-addformat), [addKeyword](#api-addkeyword) and [Defining custom keywords](#defining-custom-keywords)). - -If your schema uses asynchronous formats/keywords or refers to some schema that contains them it should have `"$async": true` keyword so that Ajv can compile it correctly. If asynchronous format/keyword or reference to asynchronous schema is used in the schema without `$async` keyword Ajv will throw an exception during schema compilation. - -__Please note__: all asynchronous subschemas that are referenced from the current or other schemas should have `"$async": true` keyword as well, otherwise the schema compilation will fail. - -Validation function for an asynchronous custom format/keyword should return a promise that resolves with `true` or `false` (or rejects with `new Ajv.ValidationError(errors)` if you want to return custom errors from the keyword function). - -Ajv compiles asynchronous schemas to [es7 async functions](http://tc39.github.io/ecmascript-asyncawait/) that can optionally be transpiled with [nodent](https://github.com/MatAtBread/nodent). Async functions are supported in Node.js 7+ and all modern browsers. You can also supply any other transpiler as a function via `processCode` option. See [Options](#options). - -The compiled validation function has `$async: true` property (if the schema is asynchronous), so you can differentiate these functions if you are using both synchronous and asynchronous schemas. - -Validation result will be a promise that resolves with validated data or rejects with an exception `Ajv.ValidationError` that contains the array of validation errors in `errors` property. - - -Example: - -```javascript -var ajv = new Ajv; -// require('ajv-async')(ajv); - -ajv.addKeyword('idExists', { - async: true, - type: 'number', - validate: checkIdExists -}); - - -function checkIdExists(schema, data) { - return knex(schema.table) - .select('id') - .where('id', data) - .then(function (rows) { - return !!rows.length; // true if record is found - }); -} - -var schema = { - "$async": true, - "properties": { - "userId": { - "type": "integer", - "idExists": { "table": "users" } - }, - "postId": { - "type": "integer", - "idExists": { "table": "posts" } - } - } -}; - -var validate = ajv.compile(schema); - -validate({ userId: 1, postId: 19 }) -.then(function (data) { - console.log('Data is valid', data); // { userId: 1, postId: 19 } -}) -.catch(function (err) { - if (!(err instanceof Ajv.ValidationError)) throw err; - // data is invalid - console.log('Validation errors:', err.errors); -}); -``` - -### Using transpilers with asynchronous validation functions. - -[ajv-async](https://github.com/ajv-validator/ajv-async) uses [nodent](https://github.com/MatAtBread/nodent) to transpile async functions. To use another transpiler you should separately install it (or load its bundle in the browser). - - -#### Using nodent - -```javascript -var ajv = new Ajv; -require('ajv-async')(ajv); -// in the browser if you want to load ajv-async bundle separately you can: -// window.ajvAsync(ajv); -var validate = ajv.compile(schema); // transpiled es7 async function -validate(data).then(successFunc).catch(errorFunc); -``` - - -#### Using other transpilers - -```javascript -var ajv = new Ajv({ processCode: transpileFunc }); -var validate = ajv.compile(schema); // transpiled es7 async function -validate(data).then(successFunc).catch(errorFunc); -``` - -See [Options](#options). - - -## Security considerations - -JSON Schema, if properly used, can replace data sanitisation. It doesn't replace other API security considerations. It also introduces additional security aspects to consider. - - -##### Security contact - -To report a security vulnerability, please use the -[Tidelift security contact](https://tidelift.com/security). -Tidelift will coordinate the fix and disclosure. Please do NOT report security vulnerabilities via GitHub issues. - - -##### Untrusted schemas - -Ajv treats JSON schemas as trusted as your application code. This security model is based on the most common use case, when the schemas are static and bundled together with the application. - -If your schemas are received from untrusted sources (or generated from untrusted data) there are several scenarios you need to prevent: -- compiling schemas can cause stack overflow (if they are too deep) -- compiling schemas can be slow (e.g. [#557](https://github.com/ajv-validator/ajv/issues/557)) -- validating certain data can be slow - -It is difficult to predict all the scenarios, but at the very least it may help to limit the size of untrusted schemas (e.g. limit JSON string length) and also the maximum schema object depth (that can be high for relatively small JSON strings). You also may want to mitigate slow regular expressions in `pattern` and `patternProperties` keywords. - -Regardless the measures you take, using untrusted schemas increases security risks. - - -##### Circular references in JavaScript objects - -Ajv does not support schemas and validated data that have circular references in objects. See [issue #802](https://github.com/ajv-validator/ajv/issues/802). - -An attempt to compile such schemas or validate such data would cause stack overflow (or will not complete in case of asynchronous validation). Depending on the parser you use, untrusted data can lead to circular references. - - -##### Security risks of trusted schemas - -Some keywords in JSON Schemas can lead to very slow validation for certain data. These keywords include (but may be not limited to): - -- `pattern` and `format` for large strings - in some cases using `maxLength` can help mitigate it, but certain regular expressions can lead to exponential validation time even with relatively short strings (see [ReDoS attack](#redos-attack)). -- `patternProperties` for large property names - use `propertyNames` to mitigate, but some regular expressions can have exponential evaluation time as well. -- `uniqueItems` for large non-scalar arrays - use `maxItems` to mitigate - -__Please note__: The suggestions above to prevent slow validation would only work if you do NOT use `allErrors: true` in production code (using it would continue validation after validation errors). - -You can validate your JSON schemas against [this meta-schema](https://github.com/ajv-validator/ajv/blob/master/lib/refs/json-schema-secure.json) to check that these recommendations are followed: - -```javascript -const isSchemaSecure = ajv.compile(require('ajv/lib/refs/json-schema-secure.json')); - -const schema1 = {format: 'email'}; -isSchemaSecure(schema1); // false - -const schema2 = {format: 'email', maxLength: MAX_LENGTH}; -isSchemaSecure(schema2); // true -``` - -__Please note__: following all these recommendation is not a guarantee that validation of untrusted data is safe - it can still lead to some undesirable results. - - -##### Content Security Policies (CSP) -See [Ajv and Content Security Policies (CSP)](#ajv-and-content-security-policies-csp) - - -## ReDoS attack - -Certain regular expressions can lead to the exponential evaluation time even with relatively short strings. - -Please assess the regular expressions you use in the schemas on their vulnerability to this attack - see [safe-regex](https://github.com/substack/safe-regex), for example. - -__Please note__: some formats that Ajv implements use [regular expressions](https://github.com/ajv-validator/ajv/blob/master/lib/compile/formats.js) that can be vulnerable to ReDoS attack, so if you use Ajv to validate data from untrusted sources __it is strongly recommended__ to consider the following: - -- making assessment of "format" implementations in Ajv. -- using `format: 'fast'` option that simplifies some of the regular expressions (although it does not guarantee that they are safe). -- replacing format implementations provided by Ajv with your own implementations of "format" keyword that either uses different regular expressions or another approach to format validation. Please see [addFormat](#api-addformat) method. -- disabling format validation by ignoring "format" keyword with option `format: false` - -Whatever mitigation you choose, please assume all formats provided by Ajv as potentially unsafe and make your own assessment of their suitability for your validation scenarios. - - -## Filtering data - -With [option `removeAdditional`](#options) (added by [andyscott](https://github.com/andyscott)) you can filter data during the validation. - -This option modifies original data. - -Example: - -```javascript -var ajv = new Ajv({ removeAdditional: true }); -var schema = { - "additionalProperties": false, - "properties": { - "foo": { "type": "number" }, - "bar": { - "additionalProperties": { "type": "number" }, - "properties": { - "baz": { "type": "string" } - } - } - } -} - -var data = { - "foo": 0, - "additional1": 1, // will be removed; `additionalProperties` == false - "bar": { - "baz": "abc", - "additional2": 2 // will NOT be removed; `additionalProperties` != false - }, -} - -var validate = ajv.compile(schema); - -console.log(validate(data)); // true -console.log(data); // { "foo": 0, "bar": { "baz": "abc", "additional2": 2 } -``` - -If `removeAdditional` option in the example above were `"all"` then both `additional1` and `additional2` properties would have been removed. - -If the option were `"failing"` then property `additional1` would have been removed regardless of its value and property `additional2` would have been removed only if its value were failing the schema in the inner `additionalProperties` (so in the example above it would have stayed because it passes the schema, but any non-number would have been removed). - -__Please note__: If you use `removeAdditional` option with `additionalProperties` keyword inside `anyOf`/`oneOf` keywords your validation can fail with this schema, for example: - -```json -{ - "type": "object", - "oneOf": [ - { - "properties": { - "foo": { "type": "string" } - }, - "required": [ "foo" ], - "additionalProperties": false - }, - { - "properties": { - "bar": { "type": "integer" } - }, - "required": [ "bar" ], - "additionalProperties": false - } - ] -} -``` - -The intention of the schema above is to allow objects with either the string property "foo" or the integer property "bar", but not with both and not with any other properties. - -With the option `removeAdditional: true` the validation will pass for the object `{ "foo": "abc"}` but will fail for the object `{"bar": 1}`. It happens because while the first subschema in `oneOf` is validated, the property `bar` is removed because it is an additional property according to the standard (because it is not included in `properties` keyword in the same schema). - -While this behaviour is unexpected (issues [#129](https://github.com/ajv-validator/ajv/issues/129), [#134](https://github.com/ajv-validator/ajv/issues/134)), it is correct. To have the expected behaviour (both objects are allowed and additional properties are removed) the schema has to be refactored in this way: - -```json -{ - "type": "object", - "properties": { - "foo": { "type": "string" }, - "bar": { "type": "integer" } - }, - "additionalProperties": false, - "oneOf": [ - { "required": [ "foo" ] }, - { "required": [ "bar" ] } - ] -} -``` - -The schema above is also more efficient - it will compile into a faster function. - - -## Assigning defaults - -With [option `useDefaults`](#options) Ajv will assign values from `default` keyword in the schemas of `properties` and `items` (when it is the array of schemas) to the missing properties and items. - -With the option value `"empty"` properties and items equal to `null` or `""` (empty string) will be considered missing and assigned defaults. - -This option modifies original data. - -__Please note__: the default value is inserted in the generated validation code as a literal, so the value inserted in the data will be the deep clone of the default in the schema. - - -Example 1 (`default` in `properties`): - -```javascript -var ajv = new Ajv({ useDefaults: true }); -var schema = { - "type": "object", - "properties": { - "foo": { "type": "number" }, - "bar": { "type": "string", "default": "baz" } - }, - "required": [ "foo", "bar" ] -}; - -var data = { "foo": 1 }; - -var validate = ajv.compile(schema); - -console.log(validate(data)); // true -console.log(data); // { "foo": 1, "bar": "baz" } -``` - -Example 2 (`default` in `items`): - -```javascript -var schema = { - "type": "array", - "items": [ - { "type": "number" }, - { "type": "string", "default": "foo" } - ] -} - -var data = [ 1 ]; - -var validate = ajv.compile(schema); - -console.log(validate(data)); // true -console.log(data); // [ 1, "foo" ] -``` - -`default` keywords in other cases are ignored: - -- not in `properties` or `items` subschemas -- in schemas inside `anyOf`, `oneOf` and `not` (see [#42](https://github.com/ajv-validator/ajv/issues/42)) -- in `if` subschema of `switch` keyword -- in schemas generated by custom macro keywords - -The [`strictDefaults` option](#options) customizes Ajv's behavior for the defaults that Ajv ignores (`true` raises an error, and `"log"` outputs a warning). - - -## Coercing data types - -When you are validating user inputs all your data properties are usually strings. The option `coerceTypes` allows you to have your data types coerced to the types specified in your schema `type` keywords, both to pass the validation and to use the correctly typed data afterwards. - -This option modifies original data. - -__Please note__: if you pass a scalar value to the validating function its type will be coerced and it will pass the validation, but the value of the variable you pass won't be updated because scalars are passed by value. - - -Example 1: - -```javascript -var ajv = new Ajv({ coerceTypes: true }); -var schema = { - "type": "object", - "properties": { - "foo": { "type": "number" }, - "bar": { "type": "boolean" } - }, - "required": [ "foo", "bar" ] -}; - -var data = { "foo": "1", "bar": "false" }; - -var validate = ajv.compile(schema); - -console.log(validate(data)); // true -console.log(data); // { "foo": 1, "bar": false } -``` - -Example 2 (array coercions): - -```javascript -var ajv = new Ajv({ coerceTypes: 'array' }); -var schema = { - "properties": { - "foo": { "type": "array", "items": { "type": "number" } }, - "bar": { "type": "boolean" } - } -}; - -var data = { "foo": "1", "bar": ["false"] }; - -var validate = ajv.compile(schema); - -console.log(validate(data)); // true -console.log(data); // { "foo": [1], "bar": false } -``` - -The coercion rules, as you can see from the example, are different from JavaScript both to validate user input as expected and to have the coercion reversible (to correctly validate cases where different types are defined in subschemas of "anyOf" and other compound keywords). - -See [Coercion rules](https://github.com/ajv-validator/ajv/blob/master/COERCION.md) for details. - - -## API - -##### new Ajv(Object options) -> Object - -Create Ajv instance. - - -##### .compile(Object schema) -> Function<Object data> - -Generate validating function and cache the compiled schema for future use. - -Validating function returns a boolean value. This function has properties `errors` and `schema`. Errors encountered during the last validation are assigned to `errors` property (it is assigned `null` if there was no errors). `schema` property contains the reference to the original schema. - -The schema passed to this method will be validated against meta-schema unless `validateSchema` option is false. If schema is invalid, an error will be thrown. See [options](#options). - - -##### .compileAsync(Object schema [, Boolean meta] [, Function callback]) -> Promise - -Asynchronous version of `compile` method that loads missing remote schemas using asynchronous function in `options.loadSchema`. This function returns a Promise that resolves to a validation function. An optional callback passed to `compileAsync` will be called with 2 parameters: error (or null) and validating function. The returned promise will reject (and the callback will be called with an error) when: - -- missing schema can't be loaded (`loadSchema` returns a Promise that rejects). -- a schema containing a missing reference is loaded, but the reference cannot be resolved. -- schema (or some loaded/referenced schema) is invalid. - -The function compiles schema and loads the first missing schema (or meta-schema) until all missing schemas are loaded. - -You can asynchronously compile meta-schema by passing `true` as the second parameter. - -See example in [Asynchronous compilation](#asynchronous-schema-compilation). - - -##### .validate(Object schema|String key|String ref, data) -> Boolean - -Validate data using passed schema (it will be compiled and cached). - -Instead of the schema you can use the key that was previously passed to `addSchema`, the schema id if it was present in the schema or any previously resolved reference. - -Validation errors will be available in the `errors` property of Ajv instance (`null` if there were no errors). - -__Please note__: every time this method is called the errors are overwritten so you need to copy them to another variable if you want to use them later. - -If the schema is asynchronous (has `$async` keyword on the top level) this method returns a Promise. See [Asynchronous validation](#asynchronous-validation). - - -##### .addSchema(Array<Object>|Object schema [, String key]) -> Ajv - -Add schema(s) to validator instance. This method does not compile schemas (but it still validates them). Because of that dependencies can be added in any order and circular dependencies are supported. It also prevents unnecessary compilation of schemas that are containers for other schemas but not used as a whole. - -Array of schemas can be passed (schemas should have ids), the second parameter will be ignored. - -Key can be passed that can be used to reference the schema and will be used as the schema id if there is no id inside the schema. If the key is not passed, the schema id will be used as the key. - - -Once the schema is added, it (and all the references inside it) can be referenced in other schemas and used to validate data. - -Although `addSchema` does not compile schemas, explicit compilation is not required - the schema will be compiled when it is used first time. - -By default the schema is validated against meta-schema before it is added, and if the schema does not pass validation the exception is thrown. This behaviour is controlled by `validateSchema` option. - -__Please note__: Ajv uses the [method chaining syntax](https://en.wikipedia.org/wiki/Method_chaining) for all methods with the prefix `add*` and `remove*`. -This allows you to do nice things like the following. - -```javascript -var validate = new Ajv().addSchema(schema).addFormat(name, regex).getSchema(uri); -``` - -##### .addMetaSchema(Array<Object>|Object schema [, String key]) -> Ajv - -Adds meta schema(s) that can be used to validate other schemas. That function should be used instead of `addSchema` because there may be instance options that would compile a meta schema incorrectly (at the moment it is `removeAdditional` option). - -There is no need to explicitly add draft-07 meta schema (http://json-schema.org/draft-07/schema) - it is added by default, unless option `meta` is set to `false`. You only need to use it if you have a changed meta-schema that you want to use to validate your schemas. See `validateSchema`. - - -##### .validateSchema(Object schema) -> Boolean - -Validates schema. This method should be used to validate schemas rather than `validate` due to the inconsistency of `uri` format in JSON Schema standard. - -By default this method is called automatically when the schema is added, so you rarely need to use it directly. - -If schema doesn't have `$schema` property, it is validated against draft 6 meta-schema (option `meta` should not be false). - -If schema has `$schema` property, then the schema with this id (that should be previously added) is used to validate passed schema. - -Errors will be available at `ajv.errors`. - - -##### .getSchema(String key) -> Function<Object data> - -Retrieve compiled schema previously added with `addSchema` by the key passed to `addSchema` or by its full reference (id). The returned validating function has `schema` property with the reference to the original schema. - - -##### .removeSchema([Object schema|String key|String ref|RegExp pattern]) -> Ajv - -Remove added/cached schema. Even if schema is referenced by other schemas it can be safely removed as dependent schemas have local references. - -Schema can be removed using: -- key passed to `addSchema` -- it's full reference (id) -- RegExp that should match schema id or key (meta-schemas won't be removed) -- actual schema object that will be stable-stringified to remove schema from cache - -If no parameter is passed all schemas but meta-schemas will be removed and the cache will be cleared. - - -##### .addFormat(String name, String|RegExp|Function|Object format) -> Ajv - -Add custom format to validate strings or numbers. It can also be used to replace pre-defined formats for Ajv instance. - -Strings are converted to RegExp. - -Function should return validation result as `true` or `false`. - -If object is passed it should have properties `validate`, `compare` and `async`: - -- _validate_: a string, RegExp or a function as described above. -- _compare_: an optional comparison function that accepts two strings and compares them according to the format meaning. This function is used with keywords `formatMaximum`/`formatMinimum` (defined in [ajv-keywords](https://github.com/ajv-validator/ajv-keywords) package). It should return `1` if the first value is bigger than the second value, `-1` if it is smaller and `0` if it is equal. -- _async_: an optional `true` value if `validate` is an asynchronous function; in this case it should return a promise that resolves with a value `true` or `false`. -- _type_: an optional type of data that the format applies to. It can be `"string"` (default) or `"number"` (see https://github.com/ajv-validator/ajv/issues/291#issuecomment-259923858). If the type of data is different, the validation will pass. - -Custom formats can be also added via `formats` option. - - -##### .addKeyword(String keyword, Object definition) -> Ajv - -Add custom validation keyword to Ajv instance. - -Keyword should be different from all standard JSON Schema keywords and different from previously defined keywords. There is no way to redefine keywords or to remove keyword definition from the instance. - -Keyword must start with a letter, `_` or `$`, and may continue with letters, numbers, `_`, `$`, or `-`. -It is recommended to use an application-specific prefix for keywords to avoid current and future name collisions. - -Example Keywords: -- `"xyz-example"`: valid, and uses prefix for the xyz project to avoid name collisions. -- `"example"`: valid, but not recommended as it could collide with future versions of JSON Schema etc. -- `"3-example"`: invalid as numbers are not allowed to be the first character in a keyword - -Keyword definition is an object with the following properties: - -- _type_: optional string or array of strings with data type(s) that the keyword applies to. If not present, the keyword will apply to all types. -- _validate_: validating function -- _compile_: compiling function -- _macro_: macro function -- _inline_: compiling function that returns code (as string) -- _schema_: an optional `false` value used with "validate" keyword to not pass schema -- _metaSchema_: an optional meta-schema for keyword schema -- _dependencies_: an optional list of properties that must be present in the parent schema - it will be checked during schema compilation -- _modifying_: `true` MUST be passed if keyword modifies data -- _statements_: `true` can be passed in case inline keyword generates statements (as opposed to expression) -- _valid_: pass `true`/`false` to pre-define validation result, the result returned from validation function will be ignored. This option cannot be used with macro keywords. -- _$data_: an optional `true` value to support [$data reference](#data-reference) as the value of custom keyword. The reference will be resolved at validation time. If the keyword has meta-schema it would be extended to allow $data and it will be used to validate the resolved value. Supporting $data reference requires that keyword has validating function (as the only option or in addition to compile, macro or inline function). -- _async_: an optional `true` value if the validation function is asynchronous (whether it is compiled or passed in _validate_ property); in this case it should return a promise that resolves with a value `true` or `false`. This option is ignored in case of "macro" and "inline" keywords. -- _errors_: an optional boolean or string `"full"` indicating whether keyword returns errors. If this property is not set Ajv will determine if the errors were set in case of failed validation. - -_compile_, _macro_ and _inline_ are mutually exclusive, only one should be used at a time. _validate_ can be used separately or in addition to them to support $data reference. - -__Please note__: If the keyword is validating data type that is different from the type(s) in its definition, the validation function will not be called (and expanded macro will not be used), so there is no need to check for data type inside validation function or inside schema returned by macro function (unless you want to enforce a specific type and for some reason do not want to use a separate `type` keyword for that). In the same way as standard keywords work, if the keyword does not apply to the data type being validated, the validation of this keyword will succeed. - -See [Defining custom keywords](#defining-custom-keywords) for more details. - - -##### .getKeyword(String keyword) -> Object|Boolean - -Returns custom keyword definition, `true` for pre-defined keywords and `false` if the keyword is unknown. - - -##### .removeKeyword(String keyword) -> Ajv - -Removes custom or pre-defined keyword so you can redefine them. - -While this method can be used to extend pre-defined keywords, it can also be used to completely change their meaning - it may lead to unexpected results. - -__Please note__: schemas compiled before the keyword is removed will continue to work without changes. To recompile schemas use `removeSchema` method and compile them again. - - -##### .errorsText([Array<Object> errors [, Object options]]) -> String - -Returns the text with all errors in a String. - -Options can have properties `separator` (string used to separate errors, ", " by default) and `dataVar` (the variable name that dataPaths are prefixed with, "data" by default). - - -## Options - -Defaults: - -```javascript -{ - // validation and reporting options: - $data: false, - allErrors: false, - verbose: false, - $comment: false, // NEW in Ajv version 6.0 - jsonPointers: false, - uniqueItems: true, - unicode: true, - nullable: false, - format: 'fast', - formats: {}, - unknownFormats: true, - schemas: {}, - logger: undefined, - // referenced schema options: - schemaId: '$id', - missingRefs: true, - extendRefs: 'ignore', // recommended 'fail' - loadSchema: undefined, // function(uri: string): Promise {} - // options to modify validated data: - removeAdditional: false, - useDefaults: false, - coerceTypes: false, - // strict mode options - strictDefaults: false, - strictKeywords: false, - strictNumbers: false, - // asynchronous validation options: - transpile: undefined, // requires ajv-async package - // advanced options: - meta: true, - validateSchema: true, - addUsedSchema: true, - inlineRefs: true, - passContext: false, - loopRequired: Infinity, - ownProperties: false, - multipleOfPrecision: false, - errorDataPath: 'object', // deprecated - messages: true, - sourceCode: false, - processCode: undefined, // function (str: string, schema: object): string {} - cache: new Cache, - serialize: undefined -} -``` - -##### Validation and reporting options - -- _$data_: support [$data references](#data-reference). Draft 6 meta-schema that is added by default will be extended to allow them. If you want to use another meta-schema you need to use $dataMetaSchema method to add support for $data reference. See [API](#api). -- _allErrors_: check all rules collecting all errors. Default is to return after the first error. -- _verbose_: include the reference to the part of the schema (`schema` and `parentSchema`) and validated data in errors (false by default). -- _$comment_ (NEW in Ajv version 6.0): log or pass the value of `$comment` keyword to a function. Option values: - - `false` (default): ignore $comment keyword. - - `true`: log the keyword value to console. - - function: pass the keyword value, its schema path and root schema to the specified function -- _jsonPointers_: set `dataPath` property of errors using [JSON Pointers](https://tools.ietf.org/html/rfc6901) instead of JavaScript property access notation. -- _uniqueItems_: validate `uniqueItems` keyword (true by default). -- _unicode_: calculate correct length of strings with unicode pairs (true by default). Pass `false` to use `.length` of strings that is faster, but gives "incorrect" lengths of strings with unicode pairs - each unicode pair is counted as two characters. -- _nullable_: support keyword "nullable" from [Open API 3 specification](https://swagger.io/docs/specification/data-models/data-types/). -- _format_: formats validation mode. Option values: - - `"fast"` (default) - simplified and fast validation (see [Formats](#formats) for details of which formats are available and affected by this option). - - `"full"` - more restrictive and slow validation. E.g., 25:00:00 and 2015/14/33 will be invalid time and date in 'full' mode but it will be valid in 'fast' mode. - - `false` - ignore all format keywords. -- _formats_: an object with custom formats. Keys and values will be passed to `addFormat` method. -- _keywords_: an object with custom keywords. Keys and values will be passed to `addKeyword` method. -- _unknownFormats_: handling of unknown formats. Option values: - - `true` (default) - if an unknown format is encountered the exception is thrown during schema compilation. If `format` keyword value is [$data reference](#data-reference) and it is unknown the validation will fail. - - `[String]` - an array of unknown format names that will be ignored. This option can be used to allow usage of third party schemas with format(s) for which you don't have definitions, but still fail if another unknown format is used. If `format` keyword value is [$data reference](#data-reference) and it is not in this array the validation will fail. - - `"ignore"` - to log warning during schema compilation and always pass validation (the default behaviour in versions before 5.0.0). This option is not recommended, as it allows to mistype format name and it won't be validated without any error message. This behaviour is required by JSON Schema specification. -- _schemas_: an array or object of schemas that will be added to the instance. In case you pass the array the schemas must have IDs in them. When the object is passed the method `addSchema(value, key)` will be called for each schema in this object. -- _logger_: sets the logging method. Default is the global `console` object that should have methods `log`, `warn` and `error`. See [Error logging](#error-logging). Option values: - - custom logger - it should have methods `log`, `warn` and `error`. If any of these methods is missing an exception will be thrown. - - `false` - logging is disabled. - - -##### Referenced schema options - -- _schemaId_: this option defines which keywords are used as schema URI. Option value: - - `"$id"` (default) - only use `$id` keyword as schema URI (as specified in JSON Schema draft-06/07), ignore `id` keyword (if it is present a warning will be logged). - - `"id"` - only use `id` keyword as schema URI (as specified in JSON Schema draft-04), ignore `$id` keyword (if it is present a warning will be logged). - - `"auto"` - use both `$id` and `id` keywords as schema URI. If both are present (in the same schema object) and different the exception will be thrown during schema compilation. -- _missingRefs_: handling of missing referenced schemas. Option values: - - `true` (default) - if the reference cannot be resolved during compilation the exception is thrown. The thrown error has properties `missingRef` (with hash fragment) and `missingSchema` (without it). Both properties are resolved relative to the current base id (usually schema id, unless it was substituted). - - `"ignore"` - to log error during compilation and always pass validation. - - `"fail"` - to log error and successfully compile schema but fail validation if this rule is checked. -- _extendRefs_: validation of other keywords when `$ref` is present in the schema. Option values: - - `"ignore"` (default) - when `$ref` is used other keywords are ignored (as per [JSON Reference](https://tools.ietf.org/html/draft-pbryan-zyp-json-ref-03#section-3) standard). A warning will be logged during the schema compilation. - - `"fail"` (recommended) - if other validation keywords are used together with `$ref` the exception will be thrown when the schema is compiled. This option is recommended to make sure schema has no keywords that are ignored, which can be confusing. - - `true` - validate all keywords in the schemas with `$ref` (the default behaviour in versions before 5.0.0). -- _loadSchema_: asynchronous function that will be used to load remote schemas when `compileAsync` [method](#api-compileAsync) is used and some reference is missing (option `missingRefs` should NOT be 'fail' or 'ignore'). This function should accept remote schema uri as a parameter and return a Promise that resolves to a schema. See example in [Asynchronous compilation](#asynchronous-schema-compilation). - - -##### Options to modify validated data - -- _removeAdditional_: remove additional properties - see example in [Filtering data](#filtering-data). This option is not used if schema is added with `addMetaSchema` method. Option values: - - `false` (default) - not to remove additional properties - - `"all"` - all additional properties are removed, regardless of `additionalProperties` keyword in schema (and no validation is made for them). - - `true` - only additional properties with `additionalProperties` keyword equal to `false` are removed. - - `"failing"` - additional properties that fail schema validation will be removed (where `additionalProperties` keyword is `false` or schema). -- _useDefaults_: replace missing or undefined properties and items with the values from corresponding `default` keywords. Default behaviour is to ignore `default` keywords. This option is not used if schema is added with `addMetaSchema` method. See examples in [Assigning defaults](#assigning-defaults). Option values: - - `false` (default) - do not use defaults - - `true` - insert defaults by value (object literal is used). - - `"empty"` - in addition to missing or undefined, use defaults for properties and items that are equal to `null` or `""` (an empty string). - - `"shared"` (deprecated) - insert defaults by reference. If the default is an object, it will be shared by all instances of validated data. If you modify the inserted default in the validated data, it will be modified in the schema as well. -- _coerceTypes_: change data type of data to match `type` keyword. See the example in [Coercing data types](#coercing-data-types) and [coercion rules](https://github.com/ajv-validator/ajv/blob/master/COERCION.md). Option values: - - `false` (default) - no type coercion. - - `true` - coerce scalar data types. - - `"array"` - in addition to coercions between scalar types, coerce scalar data to an array with one element and vice versa (as required by the schema). - - -##### Strict mode options - -- _strictDefaults_: report ignored `default` keywords in schemas. Option values: - - `false` (default) - ignored defaults are not reported - - `true` - if an ignored default is present, throw an error - - `"log"` - if an ignored default is present, log warning -- _strictKeywords_: report unknown keywords in schemas. Option values: - - `false` (default) - unknown keywords are not reported - - `true` - if an unknown keyword is present, throw an error - - `"log"` - if an unknown keyword is present, log warning -- _strictNumbers_: validate numbers strictly, failing validation for NaN and Infinity. Option values: - - `false` (default) - NaN or Infinity will pass validation for numeric types - - `true` - NaN or Infinity will not pass validation for numeric types - -##### Asynchronous validation options - -- _transpile_: Requires [ajv-async](https://github.com/ajv-validator/ajv-async) package. It determines whether Ajv transpiles compiled asynchronous validation function. Option values: - - `undefined` (default) - transpile with [nodent](https://github.com/MatAtBread/nodent) if async functions are not supported. - - `true` - always transpile with nodent. - - `false` - do not transpile; if async functions are not supported an exception will be thrown. - - -##### Advanced options - -- _meta_: add [meta-schema](http://json-schema.org/documentation.html) so it can be used by other schemas (true by default). If an object is passed, it will be used as the default meta-schema for schemas that have no `$schema` keyword. This default meta-schema MUST have `$schema` keyword. -- _validateSchema_: validate added/compiled schemas against meta-schema (true by default). `$schema` property in the schema can be http://json-schema.org/draft-07/schema or absent (draft-07 meta-schema will be used) or can be a reference to the schema previously added with `addMetaSchema` method. Option values: - - `true` (default) - if the validation fails, throw the exception. - - `"log"` - if the validation fails, log error. - - `false` - skip schema validation. -- _addUsedSchema_: by default methods `compile` and `validate` add schemas to the instance if they have `$id` (or `id`) property that doesn't start with "#". If `$id` is present and it is not unique the exception will be thrown. Set this option to `false` to skip adding schemas to the instance and the `$id` uniqueness check when these methods are used. This option does not affect `addSchema` method. -- _inlineRefs_: Affects compilation of referenced schemas. Option values: - - `true` (default) - the referenced schemas that don't have refs in them are inlined, regardless of their size - that substantially improves performance at the cost of the bigger size of compiled schema functions. - - `false` - to not inline referenced schemas (they will be compiled as separate functions). - - integer number - to limit the maximum number of keywords of the schema that will be inlined. -- _passContext_: pass validation context to custom keyword functions. If this option is `true` and you pass some context to the compiled validation function with `validate.call(context, data)`, the `context` will be available as `this` in your custom keywords. By default `this` is Ajv instance. -- _loopRequired_: by default `required` keyword is compiled into a single expression (or a sequence of statements in `allErrors` mode). In case of a very large number of properties in this keyword it may result in a very big validation function. Pass integer to set the number of properties above which `required` keyword will be validated in a loop - smaller validation function size but also worse performance. -- _ownProperties_: by default Ajv iterates over all enumerable object properties; when this option is `true` only own enumerable object properties (i.e. found directly on the object rather than on its prototype) are iterated. Contributed by @mbroadst. -- _multipleOfPrecision_: by default `multipleOf` keyword is validated by comparing the result of division with parseInt() of that result. It works for dividers that are bigger than 1. For small dividers such as 0.01 the result of the division is usually not integer (even when it should be integer, see issue [#84](https://github.com/ajv-validator/ajv/issues/84)). If you need to use fractional dividers set this option to some positive integer N to have `multipleOf` validated using this formula: `Math.abs(Math.round(division) - division) < 1e-N` (it is slower but allows for float arithmetics deviations). -- _errorDataPath_ (deprecated): set `dataPath` to point to 'object' (default) or to 'property' when validating keywords `required`, `additionalProperties` and `dependencies`. -- _messages_: Include human-readable messages in errors. `true` by default. `false` can be passed when custom messages are used (e.g. with [ajv-i18n](https://github.com/ajv-validator/ajv-i18n)). -- _sourceCode_: add `sourceCode` property to validating function (for debugging; this code can be different from the result of toString call). -- _processCode_: an optional function to process generated code before it is passed to Function constructor. It can be used to either beautify (the validating function is generated without line-breaks) or to transpile code. Starting from version 5.0.0 this option replaced options: - - `beautify` that formatted the generated function using [js-beautify](https://github.com/beautify-web/js-beautify). If you want to beautify the generated code pass a function calling `require('js-beautify').js_beautify` as `processCode: code => js_beautify(code)`. - - `transpile` that transpiled asynchronous validation function. You can still use `transpile` option with [ajv-async](https://github.com/ajv-validator/ajv-async) package. See [Asynchronous validation](#asynchronous-validation) for more information. -- _cache_: an optional instance of cache to store compiled schemas using stable-stringified schema as a key. For example, set-associative cache [sacjs](https://github.com/epoberezkin/sacjs) can be used. If not passed then a simple hash is used which is good enough for the common use case (a limited number of statically defined schemas). Cache should have methods `put(key, value)`, `get(key)`, `del(key)` and `clear()`. -- _serialize_: an optional function to serialize schema to cache key. Pass `false` to use schema itself as a key (e.g., if WeakMap used as a cache). By default [fast-json-stable-stringify](https://github.com/epoberezkin/fast-json-stable-stringify) is used. - - -## Validation errors - -In case of validation failure, Ajv assigns the array of errors to `errors` property of validation function (or to `errors` property of Ajv instance when `validate` or `validateSchema` methods were called). In case of [asynchronous validation](#asynchronous-validation), the returned promise is rejected with exception `Ajv.ValidationError` that has `errors` property. - - -### Error objects - -Each error is an object with the following properties: - -- _keyword_: validation keyword. -- _dataPath_: the path to the part of the data that was validated. By default `dataPath` uses JavaScript property access notation (e.g., `".prop[1].subProp"`). When the option `jsonPointers` is true (see [Options](#options)) `dataPath` will be set using JSON pointer standard (e.g., `"/prop/1/subProp"`). -- _schemaPath_: the path (JSON-pointer as a URI fragment) to the schema of the keyword that failed validation. -- _params_: the object with the additional information about error that can be used to create custom error messages (e.g., using [ajv-i18n](https://github.com/ajv-validator/ajv-i18n) package). See below for parameters set by all keywords. -- _message_: the standard error message (can be excluded with option `messages` set to false). -- _schema_: the schema of the keyword (added with `verbose` option). -- _parentSchema_: the schema containing the keyword (added with `verbose` option) -- _data_: the data validated by the keyword (added with `verbose` option). - -__Please note__: `propertyNames` keyword schema validation errors have an additional property `propertyName`, `dataPath` points to the object. After schema validation for each property name, if it is invalid an additional error is added with the property `keyword` equal to `"propertyNames"`. - - -### Error parameters - -Properties of `params` object in errors depend on the keyword that failed validation. - -- `maxItems`, `minItems`, `maxLength`, `minLength`, `maxProperties`, `minProperties` - property `limit` (number, the schema of the keyword). -- `additionalItems` - property `limit` (the maximum number of allowed items in case when `items` keyword is an array of schemas and `additionalItems` is false). -- `additionalProperties` - property `additionalProperty` (the property not used in `properties` and `patternProperties` keywords). -- `dependencies` - properties: - - `property` (dependent property), - - `missingProperty` (required missing dependency - only the first one is reported currently) - - `deps` (required dependencies, comma separated list as a string), - - `depsCount` (the number of required dependencies). -- `format` - property `format` (the schema of the keyword). -- `maximum`, `minimum` - properties: - - `limit` (number, the schema of the keyword), - - `exclusive` (boolean, the schema of `exclusiveMaximum` or `exclusiveMinimum`), - - `comparison` (string, comparison operation to compare the data to the limit, with the data on the left and the limit on the right; can be "<", "<=", ">", ">=") -- `multipleOf` - property `multipleOf` (the schema of the keyword) -- `pattern` - property `pattern` (the schema of the keyword) -- `required` - property `missingProperty` (required property that is missing). -- `propertyNames` - property `propertyName` (an invalid property name). -- `patternRequired` (in ajv-keywords) - property `missingPattern` (required pattern that did not match any property). -- `type` - property `type` (required type(s), a string, can be a comma-separated list) -- `uniqueItems` - properties `i` and `j` (indices of duplicate items). -- `const` - property `allowedValue` pointing to the value (the schema of the keyword). -- `enum` - property `allowedValues` pointing to the array of values (the schema of the keyword). -- `$ref` - property `ref` with the referenced schema URI. -- `oneOf` - property `passingSchemas` (array of indices of passing schemas, null if no schema passes). -- custom keywords (in case keyword definition doesn't create errors) - property `keyword` (the keyword name). - - -### Error logging - -Using the `logger` option when initiallizing Ajv will allow you to define custom logging. Here you can build upon the exisiting logging. The use of other logging packages is supported as long as the package or its associated wrapper exposes the required methods. If any of the required methods are missing an exception will be thrown. -- **Required Methods**: `log`, `warn`, `error` - -```javascript -var otherLogger = new OtherLogger(); -var ajv = new Ajv({ - logger: { - log: console.log.bind(console), - warn: function warn() { - otherLogger.logWarn.apply(otherLogger, arguments); - }, - error: function error() { - otherLogger.logError.apply(otherLogger, arguments); - console.error.apply(console, arguments); - } - } -}); -``` - - -## Plugins - -Ajv can be extended with plugins that add custom keywords, formats or functions to process generated code. When such plugin is published as npm package it is recommended that it follows these conventions: - -- it exports a function -- this function accepts ajv instance as the first parameter and returns the same instance to allow chaining -- this function can accept an optional configuration as the second parameter - -If you have published a useful plugin please submit a PR to add it to the next section. - - -## Related packages - -- [ajv-async](https://github.com/ajv-validator/ajv-async) - plugin to configure async validation mode -- [ajv-bsontype](https://github.com/BoLaMN/ajv-bsontype) - plugin to validate mongodb's bsonType formats -- [ajv-cli](https://github.com/jessedc/ajv-cli) - command line interface -- [ajv-errors](https://github.com/ajv-validator/ajv-errors) - plugin for custom error messages -- [ajv-i18n](https://github.com/ajv-validator/ajv-i18n) - internationalised error messages -- [ajv-istanbul](https://github.com/ajv-validator/ajv-istanbul) - plugin to instrument generated validation code to measure test coverage of your schemas -- [ajv-keywords](https://github.com/ajv-validator/ajv-keywords) - plugin with custom validation keywords (select, typeof, etc.) -- [ajv-merge-patch](https://github.com/ajv-validator/ajv-merge-patch) - plugin with keywords $merge and $patch -- [ajv-pack](https://github.com/ajv-validator/ajv-pack) - produces a compact module exporting validation functions -- [ajv-formats-draft2019](https://github.com/luzlab/ajv-formats-draft2019) - format validators for draft2019 that aren't already included in ajv (ie. `idn-hostname`, `idn-email`, `iri`, `iri-reference` and `duration`). - -## Some packages using Ajv - -- [webpack](https://github.com/webpack/webpack) - a module bundler. Its main purpose is to bundle JavaScript files for usage in a browser -- [jsonscript-js](https://github.com/JSONScript/jsonscript-js) - the interpreter for [JSONScript](http://www.jsonscript.org) - scripted processing of existing endpoints and services -- [osprey-method-handler](https://github.com/mulesoft-labs/osprey-method-handler) - Express middleware for validating requests and responses based on a RAML method object, used in [osprey](https://github.com/mulesoft/osprey) - validating API proxy generated from a RAML definition -- [har-validator](https://github.com/ahmadnassri/har-validator) - HTTP Archive (HAR) validator -- [jsoneditor](https://github.com/josdejong/jsoneditor) - a web-based tool to view, edit, format, and validate JSON http://jsoneditoronline.org -- [JSON Schema Lint](https://github.com/nickcmaynard/jsonschemalint) - a web tool to validate JSON/YAML document against a single JSON Schema http://jsonschemalint.com -- [objection](https://github.com/vincit/objection.js) - SQL-friendly ORM for Node.js -- [table](https://github.com/gajus/table) - formats data into a string table -- [ripple-lib](https://github.com/ripple/ripple-lib) - a JavaScript API for interacting with [Ripple](https://ripple.com) in Node.js and the browser -- [restbase](https://github.com/wikimedia/restbase) - distributed storage with REST API & dispatcher for backend services built to provide a low-latency & high-throughput API for Wikipedia / Wikimedia content -- [hippie-swagger](https://github.com/CacheControl/hippie-swagger) - [Hippie](https://github.com/vesln/hippie) wrapper that provides end to end API testing with swagger validation -- [react-form-controlled](https://github.com/seeden/react-form-controlled) - React controlled form components with validation -- [rabbitmq-schema](https://github.com/tjmehta/rabbitmq-schema) - a schema definition module for RabbitMQ graphs and messages -- [@query/schema](https://www.npmjs.com/package/@query/schema) - stream filtering with a URI-safe query syntax parsing to JSON Schema -- [chai-ajv-json-schema](https://github.com/peon374/chai-ajv-json-schema) - chai plugin to us JSON Schema with expect in mocha tests -- [grunt-jsonschema-ajv](https://github.com/SignpostMarv/grunt-jsonschema-ajv) - Grunt plugin for validating files against JSON Schema -- [extract-text-webpack-plugin](https://github.com/webpack-contrib/extract-text-webpack-plugin) - extract text from bundle into a file -- [electron-builder](https://github.com/electron-userland/electron-builder) - a solution to package and build a ready for distribution Electron app -- [addons-linter](https://github.com/mozilla/addons-linter) - Mozilla Add-ons Linter -- [gh-pages-generator](https://github.com/epoberezkin/gh-pages-generator) - multi-page site generator converting markdown files to GitHub pages -- [ESLint](https://github.com/eslint/eslint) - the pluggable linting utility for JavaScript and JSX - - -## Tests - -``` -npm install -git submodule update --init -npm test -``` - -## Contributing - -All validation functions are generated using doT templates in [dot](https://github.com/ajv-validator/ajv/tree/master/lib/dot) folder. Templates are precompiled so doT is not a run-time dependency. - -`npm run build` - compiles templates to [dotjs](https://github.com/ajv-validator/ajv/tree/master/lib/dotjs) folder. - -`npm run watch` - automatically compiles templates when files in dot folder change - -Please see [Contributing guidelines](https://github.com/ajv-validator/ajv/blob/master/CONTRIBUTING.md) - - -## Changes history - -See https://github.com/ajv-validator/ajv/releases - -__Please note__: [Changes in version 7.0.0-beta](https://github.com/ajv-validator/ajv/releases/tag/v7.0.0-beta.0) - -[Version 6.0.0](https://github.com/ajv-validator/ajv/releases/tag/v6.0.0). - -## Code of conduct - -Please review and follow the [Code of conduct](https://github.com/ajv-validator/ajv/blob/master/CODE_OF_CONDUCT.md). - -Please report any unacceptable behaviour to ajv.validator@gmail.com - it will be reviewed by the project team. - - -## Open-source software support - -Ajv is a part of [Tidelift subscription](https://tidelift.com/subscription/pkg/npm-ajv?utm_source=npm-ajv&utm_medium=referral&utm_campaign=readme) - it provides a centralised support to open-source software users, in addition to the support provided by software maintainers. - - -## License - -[MIT](https://github.com/ajv-validator/ajv/blob/master/LICENSE) diff --git a/deps/npm/node_modules/ajv/lib/dotjs/README.md b/deps/npm/node_modules/ajv/lib/dotjs/README.md deleted file mode 100644 index 4d994846c81f63..00000000000000 --- a/deps/npm/node_modules/ajv/lib/dotjs/README.md +++ /dev/null @@ -1,3 +0,0 @@ -These files are compiled dot templates from dot folder. - -Do NOT edit them directly, edit the templates and run `npm run build` from main ajv folder. diff --git a/deps/npm/node_modules/ajv/scripts/.eslintrc.yml b/deps/npm/node_modules/ajv/scripts/.eslintrc.yml deleted file mode 100644 index 493d7d312d4295..00000000000000 --- a/deps/npm/node_modules/ajv/scripts/.eslintrc.yml +++ /dev/null @@ -1,3 +0,0 @@ -rules: - no-console: 0 - no-empty: [2, allowEmptyCatch: true] diff --git a/deps/npm/node_modules/ansicolors/README.md b/deps/npm/node_modules/ansicolors/README.md deleted file mode 100644 index f3e9d070b25a99..00000000000000 --- a/deps/npm/node_modules/ansicolors/README.md +++ /dev/null @@ -1,62 +0,0 @@ -# ansicolors [![build status](https://secure.travis-ci.org/thlorenz/ansicolors.png)](http://next.travis-ci.org/thlorenz/ansicolors) - -Functions that surround a string with ansicolor codes so it prints in color. - -In case you need styles, like `bold`, have a look at [ansistyles](https://github.com/thlorenz/ansistyles). - -## Installation - - npm install ansicolors - -## Usage - -```js -var colors = require('ansicolors'); - -// foreground colors -var redHerring = colors.red('herring'); -var blueMoon = colors.blue('moon'); -var brighBlueMoon = colors.brightBlue('moon'); - -console.log(redHerring); // this will print 'herring' in red -console.log(blueMoon); // this 'moon' in blue -console.log(brightBlueMoon); // I think you got the idea - -// background colors -console.log(colors.bgYellow('printed on yellow background')); -console.log(colors.bgBrightBlue('printed on bright blue background')); - -// mixing background and foreground colors -// below two lines have same result (order in which bg and fg are combined doesn't matter) -console.log(colors.bgYellow(colors.blue('printed on yellow background in blue'))); -console.log(colors.blue(colors.bgYellow('printed on yellow background in blue'))); -``` - -## Advanced API - -**ansicolors** allows you to access opening and closing escape sequences separately. - -```js -var colors = require('ansicolors'); - -function inspect(obj, depth) { - return require('util').inspect(obj, false, depth || 5, true); -} - -console.log('open blue', inspect(colors.open.blue)); -console.log('close bgBlack', inspect(colors.close.bgBlack)); - -// => open blue '\u001b[34m' -// close bgBlack '\u001b[49m' -``` - -## Tests - -Look at the [tests](https://github.com/thlorenz/ansicolors/blob/master/test/ansicolors.js) to see more examples and/or run them via: - - npm explore ansicolors && npm test - -## Alternatives - -**ansicolors** tries to meet simple use cases with a very simple API. However, if you need a more powerful ansi formatting tool, -I'd suggest to look at the [features](https://github.com/TooTallNate/ansi.js#features) of the [ansi module](https://github.com/TooTallNate/ansi.js). diff --git a/deps/npm/node_modules/ansistyles/README.md b/deps/npm/node_modules/ansistyles/README.md deleted file mode 100644 index e39b8dfb6d827c..00000000000000 --- a/deps/npm/node_modules/ansistyles/README.md +++ /dev/null @@ -1,71 +0,0 @@ -# ansistyles [![build status](https://secure.travis-ci.org/thlorenz/ansistyles.png)](http://next.travis-ci.org/thlorenz/ansistyles) - -Functions that surround a string with ansistyle codes so it prints in style. - -In case you need colors, like `red`, have a look at [ansicolors](https://github.com/thlorenz/ansicolors). - -## Installation - - npm install ansistyles - -## Usage - -```js -var styles = require('ansistyles'); - -console.log(styles.bright('hello world')); // prints hello world in 'bright' white -console.log(styles.underline('hello world')); // prints hello world underlined -console.log(styles.inverse('hello world')); // prints hello world black on white -``` - -## Combining with ansicolors - -Get the ansicolors module: - - npm install ansicolors - -```js -var styles = require('ansistyles') - , colors = require('ansicolors'); - - console.log( - // prints hello world underlined in blue on a green background - colors.bgGreen(colors.blue(styles.underline('hello world'))) - ); -``` - -## Tests - -Look at the [tests](https://github.com/thlorenz/ansistyles/blob/master/test/ansistyles.js) to see more examples and/or run them via: - - npm explore ansistyles && npm test - -## More Styles - -As you can see from [here](https://github.com/thlorenz/ansistyles/blob/master/ansistyles.js#L4-L15), more styles are available, -but didn't have any effect on the terminals that I tested on Mac Lion and Ubuntu Linux. - -I included them for completeness, but didn't show them in the examples because they seem to have no effect. - -### reset - -A style reset function is also included, please note however that this is not nestable. - -Therefore the below only underlines `hell` only, but not `world`. - -```js -console.log(styles.underline('hell' + styles.reset('o') + ' world')); -``` - -It is essentially the same as: - -```js -console.log(styles.underline('hell') + styles.reset('') + 'o world'); -``` - - - -## Alternatives - -**ansistyles** tries to meet simple use cases with a very simple API. However, if you need a more powerful ansi formatting tool, -I'd suggest to look at the [features](https://github.com/TooTallNate/ansi.js#features) of the [ansi module](https://github.com/TooTallNate/ansi.js). diff --git a/deps/npm/node_modules/aproba/CHANGELOG.md b/deps/npm/node_modules/aproba/CHANGELOG.md deleted file mode 100644 index bab30ecb7e625d..00000000000000 --- a/deps/npm/node_modules/aproba/CHANGELOG.md +++ /dev/null @@ -1,4 +0,0 @@ -2.0.0 - * Drop support for 0.10 and 0.12. They haven't been in travis but still, - since we _know_ we'll break with them now it's only polite to do a - major bump. diff --git a/deps/npm/node_modules/aproba/README.md b/deps/npm/node_modules/aproba/README.md deleted file mode 100644 index 0bfc594c56a372..00000000000000 --- a/deps/npm/node_modules/aproba/README.md +++ /dev/null @@ -1,94 +0,0 @@ -aproba -====== - -A ridiculously light-weight function argument validator - -``` -var validate = require("aproba") - -function myfunc(a, b, c) { - // `a` must be a string, `b` a number, `c` a function - validate('SNF', arguments) // [a,b,c] is also valid -} - -myfunc('test', 23, function () {}) // ok -myfunc(123, 23, function () {}) // type error -myfunc('test', 23) // missing arg error -myfunc('test', 23, function () {}, true) // too many args error - -``` - -Valid types are: - -| type | description -| :--: | :---------- -| * | matches any type -| A | `Array.isArray` OR an `arguments` object -| S | typeof == string -| N | typeof == number -| F | typeof == function -| O | typeof == object and not type A and not type E -| B | typeof == boolean -| E | `instanceof Error` OR `null` **(special: see below)** -| Z | == `null` - -Validation failures throw one of three exception types, distinguished by a -`code` property of `EMISSINGARG`, `EINVALIDTYPE` or `ETOOMANYARGS`. - -If you pass in an invalid type then it will throw with a code of -`EUNKNOWNTYPE`. - -If an **error** argument is found and is not null then the remaining -arguments are optional. That is, if you say `ESO` then that's like using a -non-magical `E` in: `E|ESO|ZSO`. - -### But I have optional arguments?! - -You can provide more than one signature by separating them with pipes `|`. -If any signature matches the arguments then they'll be considered valid. - -So for example, say you wanted to write a signature for -`fs.createWriteStream`. The docs for it describe it thusly: - -``` -fs.createWriteStream(path[, options]) -``` - -This would be a signature of `SO|S`. That is, a string and and object, or -just a string. - -Now, if you read the full `fs` docs, you'll see that actually path can ALSO -be a buffer. And options can be a string, that is: -``` -path | -options | -``` - -To reproduce this you have to fully enumerate all of the possible -combinations and that implies a signature of `SO|SS|OO|OS|S|O`. The -awkwardness is a feature: It reminds you of the complexity you're adding to -your API when you do this sort of thing. - - -### Browser support - -This has no dependencies and should work in browsers, though you'll have -noisier stack traces. - -### Why this exists - -I wanted a very simple argument validator. It needed to do two things: - -1. Be more concise and easier to use than assertions - -2. Not encourage an infinite bikeshed of DSLs - -This is why types are specified by a single character and there's no such -thing as an optional argument. - -This is not intended to validate user data. This is specifically about -asserting the interface of your functions. - -If you need greater validation, I encourage you to write them by hand or -look elsewhere. - diff --git a/deps/npm/node_modules/archy/.travis.yml b/deps/npm/node_modules/archy/.travis.yml deleted file mode 100644 index 895dbd36234210..00000000000000 --- a/deps/npm/node_modules/archy/.travis.yml +++ /dev/null @@ -1,4 +0,0 @@ -language: node_js -node_js: - - 0.6 - - 0.8 diff --git a/deps/npm/node_modules/archy/README.markdown b/deps/npm/node_modules/archy/README.markdown deleted file mode 100644 index ef7a5cf34be1f3..00000000000000 --- a/deps/npm/node_modules/archy/README.markdown +++ /dev/null @@ -1,88 +0,0 @@ -# archy - -Render nested hierarchies `npm ls` style with unicode pipes. - -[![browser support](http://ci.testling.com/substack/node-archy.png)](http://ci.testling.com/substack/node-archy) - -[![build status](https://secure.travis-ci.org/substack/node-archy.png)](http://travis-ci.org/substack/node-archy) - -# example - -``` js -var archy = require('archy'); -var s = archy({ - label : 'beep', - nodes : [ - 'ity', - { - label : 'boop', - nodes : [ - { - label : 'o_O', - nodes : [ - { - label : 'oh', - nodes : [ 'hello', 'puny' ] - }, - 'human' - ] - }, - 'party\ntime!' - ] - } - ] -}); -console.log(s); -``` - -output - -``` -beep -├── ity -└─┬ boop - ├─┬ o_O - │ ├─┬ oh - │ │ ├── hello - │ │ └── puny - │ └── human - └── party - time! -``` - -# methods - -var archy = require('archy') - -## archy(obj, prefix='', opts={}) - -Return a string representation of `obj` with unicode pipe characters like how -`npm ls` looks. - -`obj` should be a tree of nested objects with `'label'` and `'nodes'` fields. -`'label'` is a string of text to display at a node level and `'nodes'` is an -array of the descendents of the current node. - -If a node is a string, that string will be used as the `'label'` and an empty -array of `'nodes'` will be used. - -`prefix` gets prepended to all the lines and is used by the algorithm to -recursively update. - -If `'label'` has newlines they will be indented at the present indentation level -with the current prefix. - -To disable unicode results in favor of all-ansi output set `opts.unicode` to -`false`. - -# install - -With [npm](http://npmjs.org) do: - -``` -npm install archy -``` - -# license - -MIT diff --git a/deps/npm/node_modules/are-we-there-yet/README.md b/deps/npm/node_modules/are-we-there-yet/README.md deleted file mode 100644 index 7e2b42d866bd54..00000000000000 --- a/deps/npm/node_modules/are-we-there-yet/README.md +++ /dev/null @@ -1,195 +0,0 @@ -are-we-there-yet ----------------- - -Track complex hiearchies of asynchronous task completion statuses. This is -intended to give you a way of recording and reporting the progress of the big -recursive fan-out and gather type workflows that are so common in async. - -What you do with this completion data is up to you, but the most common use case is to -feed it to one of the many progress bar modules. - -Most progress bar modules include a rudamentary version of this, but my -needs were more complex. - -Usage -===== - -```javascript -var TrackerGroup = require("are-we-there-yet").TrackerGroup - -var top = new TrackerGroup("program") - -var single = top.newItem("one thing", 100) -single.completeWork(20) - -console.log(top.completed()) // 0.2 - -fs.stat("file", function(er, stat) { - if (er) throw er - var stream = top.newStream("file", stat.size) - console.log(top.completed()) // now 0.1 as single is 50% of the job and is 20% complete - // and 50% * 20% == 10% - fs.createReadStream("file").pipe(stream).on("data", function (chunk) { - // do stuff with chunk - }) - top.on("change", function (name) { - // called each time a chunk is read from "file" - // top.completed() will start at 0.1 and fill up to 0.6 as the file is read - }) -}) -``` - -Shared Methods -============== - -* var completed = tracker.completed() - -Implemented in: `Tracker`, `TrackerGroup`, `TrackerStream` - -Returns the ratio of completed work to work to be done. Range of 0 to 1. - -* tracker.finish() - -Implemented in: `Tracker`, `TrackerGroup` - -Marks the tracker as completed. With a TrackerGroup this marks all of its -components as completed. - -Marks all of the components of this tracker as finished, which in turn means -that `tracker.completed()` for this will now be 1. - -This will result in one or more `change` events being emitted. - -Events -====== - -All tracker objects emit `change` events with the following arguments: - -``` -function (name, completed, tracker) -``` - -`name` is the name of the tracker that originally emitted the event, -or if it didn't have one, the first containing tracker group that had one. - -`completed` is the percent complete (as returned by `tracker.completed()` method). - -`tracker` is the tracker object that you are listening for events on. - -TrackerGroup -============ - -* var tracker = new TrackerGroup(**name**) - - * **name** *(optional)* - The name of this tracker group, used in change - notifications if the component updating didn't have a name. Defaults to undefined. - -Creates a new empty tracker aggregation group. These are trackers whose -completion status is determined by the completion status of other trackers. - -* tracker.addUnit(**otherTracker**, **weight**) - - * **otherTracker** - Any of the other are-we-there-yet tracker objects - * **weight** *(optional)* - The weight to give the tracker, defaults to 1. - -Adds the **otherTracker** to this aggregation group. The weight determines -how long you expect this tracker to take to complete in proportion to other -units. So for instance, if you add one tracker with a weight of 1 and -another with a weight of 2, you're saying the second will take twice as long -to complete as the first. As such, the first will account for 33% of the -completion of this tracker and the second will account for the other 67%. - -Returns **otherTracker**. - -* var subGroup = tracker.newGroup(**name**, **weight**) - -The above is exactly equivalent to: - -```javascript - var subGroup = tracker.addUnit(new TrackerGroup(name), weight) -``` - -* var subItem = tracker.newItem(**name**, **todo**, **weight**) - -The above is exactly equivalent to: - -```javascript - var subItem = tracker.addUnit(new Tracker(name, todo), weight) -``` - -* var subStream = tracker.newStream(**name**, **todo**, **weight**) - -The above is exactly equivalent to: - -```javascript - var subStream = tracker.addUnit(new TrackerStream(name, todo), weight) -``` - -* console.log( tracker.debug() ) - -Returns a tree showing the completion of this tracker group and all of its -children, including recursively entering all of the children. - -Tracker -======= - -* var tracker = new Tracker(**name**, **todo**) - - * **name** *(optional)* The name of this counter to report in change - events. Defaults to undefined. - * **todo** *(optional)* The amount of work todo (a number). Defaults to 0. - -Ordinarily these are constructed as a part of a tracker group (via -`newItem`). - -* var completed = tracker.completed() - -Returns the ratio of completed work to work to be done. Range of 0 to 1. If -total work to be done is 0 then it will return 0. - -* tracker.addWork(**todo**) - - * **todo** A number to add to the amount of work to be done. - -Increases the amount of work to be done, thus decreasing the completion -percentage. Triggers a `change` event. - -* tracker.completeWork(**completed**) - - * **completed** A number to add to the work complete - -Increase the amount of work complete, thus increasing the completion percentage. -Will never increase the work completed past the amount of work todo. That is, -percentages > 100% are not allowed. Triggers a `change` event. - -* tracker.finish() - -Marks this tracker as finished, tracker.completed() will now be 1. Triggers -a `change` event. - -TrackerStream -============= - -* var tracker = new TrackerStream(**name**, **size**, **options**) - - * **name** *(optional)* The name of this counter to report in change - events. Defaults to undefined. - * **size** *(optional)* The number of bytes being sent through this stream. - * **options** *(optional)* A hash of stream options - -The tracker stream object is a pass through stream that updates an internal -tracker object each time a block passes through. It's intended to track -downloads, file extraction and other related activities. You use it by piping -your data source into it and then using it as your data source. - -If your data has a length attribute then that's used as the amount of work -completed when the chunk is passed through. If it does not (eg, object -streams) then each chunk counts as completing 1 unit of work, so your size -should be the total number of objects being streamed. - -* tracker.addWork(**todo**) - - * **todo** Increase the expected overall size by **todo** bytes. - -Increases the amount of work to be done, thus decreasing the completion -percentage. Triggers a `change` event. diff --git a/deps/npm/node_modules/asap/README.md b/deps/npm/node_modules/asap/README.md deleted file mode 100644 index 452fd8c2037099..00000000000000 --- a/deps/npm/node_modules/asap/README.md +++ /dev/null @@ -1,237 +0,0 @@ -# ASAP - -[![Build Status](https://travis-ci.org/kriskowal/asap.png?branch=master)](https://travis-ci.org/kriskowal/asap) - -Promise and asynchronous observer libraries, as well as hand-rolled callback -programs and libraries, often need a mechanism to postpone the execution of a -callback until the next available event. -(See [Designing API’s for Asynchrony][Zalgo].) -The `asap` function executes a task **as soon as possible** but not before it -returns, waiting only for the completion of the current event and previously -scheduled tasks. - -```javascript -asap(function () { - // ... -}); -``` - -[Zalgo]: http://blog.izs.me/post/59142742143/designing-apis-for-asynchrony - -This CommonJS package provides an `asap` module that exports a function that -executes a task function *as soon as possible*. - -ASAP strives to schedule events to occur before yielding for IO, reflow, -or redrawing. -Each event receives an independent stack, with only platform code in parent -frames and the events run in the order they are scheduled. - -ASAP provides a fast event queue that will execute tasks until it is -empty before yielding to the JavaScript engine's underlying event-loop. -When a task gets added to a previously empty event queue, ASAP schedules a flush -event, preferring for that event to occur before the JavaScript engine has an -opportunity to perform IO tasks or rendering, thus making the first task and -subsequent tasks semantically indistinguishable. -ASAP uses a variety of techniques to preserve this invariant on different -versions of browsers and Node.js. - -By design, ASAP prevents input events from being handled until the task -queue is empty. -If the process is busy enough, this may cause incoming connection requests to be -dropped, and may cause existing connections to inform the sender to reduce the -transmission rate or stall. -ASAP allows this on the theory that, if there is enough work to do, there is no -sense in looking for trouble. -As a consequence, ASAP can interfere with smooth animation. -If your task should be tied to the rendering loop, consider using -`requestAnimationFrame` instead. -A long sequence of tasks can also effect the long running script dialog. -If this is a problem, you may be able to use ASAP’s cousin `setImmediate` to -break long processes into shorter intervals and periodically allow the browser -to breathe. -`setImmediate` will yield for IO, reflow, and repaint events. -It also returns a handler and can be canceled. -For a `setImmediate` shim, consider [YuzuJS setImmediate][setImmediate]. - -[setImmediate]: https://github.com/YuzuJS/setImmediate - -Take care. -ASAP can sustain infinite recursive calls without warning. -It will not halt from a stack overflow, and it will not consume unbounded -memory. -This is behaviorally equivalent to an infinite loop. -Just as with infinite loops, you can monitor a Node.js process for this behavior -with a heart-beat signal. -As with infinite loops, a very small amount of caution goes a long way to -avoiding problems. - -```javascript -function loop() { - asap(loop); -} -loop(); -``` - -In browsers, if a task throws an exception, it will not interrupt the flushing -of high-priority tasks. -The exception will be postponed to a later, low-priority event to avoid -slow-downs. -In Node.js, if a task throws an exception, ASAP will resume flushing only if—and -only after—the error is handled by `domain.on("error")` or -`process.on("uncaughtException")`. - -## Raw ASAP - -Checking for exceptions comes at a cost. -The package also provides an `asap/raw` module that exports the underlying -implementation which is faster but stalls if a task throws an exception. -This internal version of the ASAP function does not check for errors. -If a task does throw an error, it will stall the event queue unless you manually -call `rawAsap.requestFlush()` before throwing the error, or any time after. - -In Node.js, `asap/raw` also runs all tasks outside any domain. -If you need a task to be bound to your domain, you will have to do it manually. - -```js -if (process.domain) { - task = process.domain.bind(task); -} -rawAsap(task); -``` - -## Tasks - -A task may be any object that implements `call()`. -A function will suffice, but closures tend not to be reusable and can cause -garbage collector churn. -Both `asap` and `rawAsap` accept task objects to give you the option of -recycling task objects or using higher callable object abstractions. -See the `asap` source for an illustration. - - -## Compatibility - -ASAP is tested on Node.js v0.10 and in a broad spectrum of web browsers. -The following charts capture the browser test results for the most recent -release. -The first chart shows test results for ASAP running in the main window context. -The second chart shows test results for ASAP running in a web worker context. -Test results are inconclusive (grey) on browsers that do not support web -workers. -These data are captured automatically by [Continuous -Integration][]. - -[Continuous Integration]: https://github.com/kriskowal/asap/blob/master/CONTRIBUTING.md - -![Browser Compatibility](http://kriskowal-asap.s3-website-us-west-2.amazonaws.com/train/integration-2/saucelabs-results-matrix.svg) - -![Compatibility in Web Workers](http://kriskowal-asap.s3-website-us-west-2.amazonaws.com/train/integration-2/saucelabs-worker-results-matrix.svg) - -## Caveats - -When a task is added to an empty event queue, it is not always possible to -guarantee that the task queue will begin flushing immediately after the current -event. -However, once the task queue begins flushing, it will not yield until the queue -is empty, even if the queue grows while executing tasks. - -The following browsers allow the use of [DOM mutation observers][] to access -the HTML [microtask queue][], and thus begin flushing ASAP's task queue -immediately at the end of the current event loop turn, before any rendering or -IO: - -[microtask queue]: http://www.whatwg.org/specs/web-apps/current-work/multipage/webappapis.html#microtask-queue -[DOM mutation observers]: http://dom.spec.whatwg.org/#mutation-observers - -- Android 4–4.3 -- Chrome 26–34 -- Firefox 14–29 -- Internet Explorer 11 -- iPad Safari 6–7.1 -- iPhone Safari 7–7.1 -- Safari 6–7 - -In the absense of mutation observers, there are a few browsers, and situations -like web workers in some of the above browsers, where [message channels][] -would be a useful way to avoid falling back to timers. -Message channels give direct access to the HTML [task queue][], so the ASAP -task queue would flush after any already queued rendering and IO tasks, but -without having the minimum delay imposed by timers. -However, among these browsers, Internet Explorer 10 and Safari do not reliably -dispatch messages, so they are not worth the trouble to implement. - -[message channels]: http://www.whatwg.org/specs/web-apps/current-work/multipage/web-messaging.html#message-channels -[task queue]: http://www.whatwg.org/specs/web-apps/current-work/multipage/webappapis.html#concept-task - -- Internet Explorer 10 -- Safair 5.0-1 -- Opera 11-12 - -In the absense of mutation observers, these browsers and the following browsers -all fall back to using `setTimeout` and `setInterval` to ensure that a `flush` -occurs. -The implementation uses both and cancels whatever handler loses the race, since -`setTimeout` tends to occasionally skip tasks in unisolated circumstances. -Timers generally delay the flushing of ASAP's task queue for four milliseconds. - -- Firefox 3–13 -- Internet Explorer 6–10 -- iPad Safari 4.3 -- Lynx 2.8.7 - - -## Heritage - -ASAP has been factored out of the [Q][] asynchronous promise library. -It originally had a naïve implementation in terms of `setTimeout`, but -[Malte Ubl][NonBlocking] provided an insight that `postMessage` might be -useful for creating a high-priority, no-delay event dispatch hack. -Since then, Internet Explorer proposed and implemented `setImmediate`. -Robert Katić began contributing to Q by measuring the performance of -the internal implementation of `asap`, paying particular attention to -error recovery. -Domenic, Robert, and Kris Kowal collectively settled on the current strategy of -unrolling the high-priority event queue internally regardless of what strategy -we used to dispatch the potentially lower-priority flush event. -Domenic went on to make ASAP cooperate with Node.js domains. - -[Q]: https://github.com/kriskowal/q -[NonBlocking]: http://www.nonblocking.io/2011/06/windownexttick.html - -For further reading, Nicholas Zakas provided a thorough article on [The -Case for setImmediate][NCZ]. - -[NCZ]: http://www.nczonline.net/blog/2013/07/09/the-case-for-setimmediate/ - -Ember’s RSVP promise implementation later [adopted][RSVP ASAP] the name ASAP but -further developed the implentation. -Particularly, The `MessagePort` implementation was abandoned due to interaction -[problems with Mobile Internet Explorer][IE Problems] in favor of an -implementation backed on the newer and more reliable DOM `MutationObserver` -interface. -These changes were back-ported into this library. - -[IE Problems]: https://github.com/cujojs/when/issues/197 -[RSVP ASAP]: https://github.com/tildeio/rsvp.js/blob/cddf7232546a9cf858524b75cde6f9edf72620a7/lib/rsvp/asap.js - -In addition, ASAP factored into `asap` and `asap/raw`, such that `asap` remained -exception-safe, but `asap/raw` provided a tight kernel that could be used for -tasks that guaranteed that they would not throw exceptions. -This core is useful for promise implementations that capture thrown errors in -rejected promises and do not need a second safety net. -At the same time, the exception handling in `asap` was factored into separate -implementations for Node.js and browsers, using the the [Browserify][Browser -Config] `browser` property in `package.json` to instruct browser module loaders -and bundlers, including [Browserify][], [Mr][], and [Mop][], to use the -browser-only implementation. - -[Browser Config]: https://gist.github.com/defunctzombie/4339901 -[Browserify]: https://github.com/substack/node-browserify -[Mr]: https://github.com/montagejs/mr -[Mop]: https://github.com/montagejs/mop - -## License - -Copyright 2009-2014 by Contributors -MIT License (enclosed) - diff --git a/deps/npm/node_modules/asn1/README.md b/deps/npm/node_modules/asn1/README.md deleted file mode 100644 index 2208210a33bd82..00000000000000 --- a/deps/npm/node_modules/asn1/README.md +++ /dev/null @@ -1,50 +0,0 @@ -node-asn1 is a library for encoding and decoding ASN.1 datatypes in pure JS. -Currently BER encoding is supported; at some point I'll likely have to do DER. - -## Usage - -Mostly, if you're *actually* needing to read and write ASN.1, you probably don't -need this readme to explain what and why. If you have no idea what ASN.1 is, -see this: ftp://ftp.rsa.com/pub/pkcs/ascii/layman.asc - -The source is pretty much self-explanatory, and has read/write methods for the -common types out there. - -### Decoding - -The following reads an ASN.1 sequence with a boolean. - - var Ber = require('asn1').Ber; - - var reader = new Ber.Reader(Buffer.from([0x30, 0x03, 0x01, 0x01, 0xff])); - - reader.readSequence(); - console.log('Sequence len: ' + reader.length); - if (reader.peek() === Ber.Boolean) - console.log(reader.readBoolean()); - -### Encoding - -The following generates the same payload as above. - - var Ber = require('asn1').Ber; - - var writer = new Ber.Writer(); - - writer.startSequence(); - writer.writeBoolean(true); - writer.endSequence(); - - console.log(writer.buffer); - -## Installation - - npm install asn1 - -## License - -MIT. - -## Bugs - -See . diff --git a/deps/npm/node_modules/assert-plus/README.md b/deps/npm/node_modules/assert-plus/README.md deleted file mode 100644 index ec200d161efc93..00000000000000 --- a/deps/npm/node_modules/assert-plus/README.md +++ /dev/null @@ -1,162 +0,0 @@ -# assert-plus - -This library is a super small wrapper over node's assert module that has two -things: (1) the ability to disable assertions with the environment variable -NODE\_NDEBUG, and (2) some API wrappers for argument testing. Like -`assert.string(myArg, 'myArg')`. As a simple example, most of my code looks -like this: - -```javascript - var assert = require('assert-plus'); - - function fooAccount(options, callback) { - assert.object(options, 'options'); - assert.number(options.id, 'options.id'); - assert.bool(options.isManager, 'options.isManager'); - assert.string(options.name, 'options.name'); - assert.arrayOfString(options.email, 'options.email'); - assert.func(callback, 'callback'); - - // Do stuff - callback(null, {}); - } -``` - -# API - -All methods that *aren't* part of node's core assert API are simply assumed to -take an argument, and then a string 'name' that's not a message; `AssertionError` -will be thrown if the assertion fails with a message like: - - AssertionError: foo (string) is required - at test (/home/mark/work/foo/foo.js:3:9) - at Object. (/home/mark/work/foo/foo.js:15:1) - at Module._compile (module.js:446:26) - at Object..js (module.js:464:10) - at Module.load (module.js:353:31) - at Function._load (module.js:311:12) - at Array.0 (module.js:484:10) - at EventEmitter._tickCallback (node.js:190:38) - -from: - -```javascript - function test(foo) { - assert.string(foo, 'foo'); - } -``` - -There you go. You can check that arrays are of a homogeneous type with `Arrayof$Type`: - -```javascript - function test(foo) { - assert.arrayOfString(foo, 'foo'); - } -``` - -You can assert IFF an argument is not `undefined` (i.e., an optional arg): - -```javascript - assert.optionalString(foo, 'foo'); -``` - -Lastly, you can opt-out of assertion checking altogether by setting the -environment variable `NODE_NDEBUG=1`. This is pseudo-useful if you have -lots of assertions, and don't want to pay `typeof ()` taxes to v8 in -production. Be advised: The standard functions re-exported from `assert` are -also disabled in assert-plus if NDEBUG is specified. Using them directly from -the `assert` module avoids this behavior. - -The complete list of APIs is: - -* assert.array -* assert.bool -* assert.buffer -* assert.func -* assert.number -* assert.finite -* assert.object -* assert.string -* assert.stream -* assert.date -* assert.regexp -* assert.uuid -* assert.arrayOfArray -* assert.arrayOfBool -* assert.arrayOfBuffer -* assert.arrayOfFunc -* assert.arrayOfNumber -* assert.arrayOfFinite -* assert.arrayOfObject -* assert.arrayOfString -* assert.arrayOfStream -* assert.arrayOfDate -* assert.arrayOfRegexp -* assert.arrayOfUuid -* assert.optionalArray -* assert.optionalBool -* assert.optionalBuffer -* assert.optionalFunc -* assert.optionalNumber -* assert.optionalFinite -* assert.optionalObject -* assert.optionalString -* assert.optionalStream -* assert.optionalDate -* assert.optionalRegexp -* assert.optionalUuid -* assert.optionalArrayOfArray -* assert.optionalArrayOfBool -* assert.optionalArrayOfBuffer -* assert.optionalArrayOfFunc -* assert.optionalArrayOfNumber -* assert.optionalArrayOfFinite -* assert.optionalArrayOfObject -* assert.optionalArrayOfString -* assert.optionalArrayOfStream -* assert.optionalArrayOfDate -* assert.optionalArrayOfRegexp -* assert.optionalArrayOfUuid -* assert.AssertionError -* assert.fail -* assert.ok -* assert.equal -* assert.notEqual -* assert.deepEqual -* assert.notDeepEqual -* assert.strictEqual -* assert.notStrictEqual -* assert.throws -* assert.doesNotThrow -* assert.ifError - -# Installation - - npm install assert-plus - -## License - -The MIT License (MIT) -Copyright (c) 2012 Mark Cavage - -Permission is hereby granted, free of charge, to any person obtaining a copy of -this software and associated documentation files (the "Software"), to deal in -the Software without restriction, including without limitation the rights to -use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of -the Software, and to permit persons to whom the Software is furnished to do so, -subject to the following conditions: - -The above copyright notice and this permission notice shall be included in all -copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE -SOFTWARE. - -## Bugs - -See . diff --git a/deps/npm/node_modules/asynckit/README.md b/deps/npm/node_modules/asynckit/README.md deleted file mode 100644 index ddcc7e6b95ca9a..00000000000000 --- a/deps/npm/node_modules/asynckit/README.md +++ /dev/null @@ -1,233 +0,0 @@ -# asynckit [![NPM Module](https://img.shields.io/npm/v/asynckit.svg?style=flat)](https://www.npmjs.com/package/asynckit) - -Minimal async jobs utility library, with streams support. - -[![PhantomJS Build](https://img.shields.io/travis/alexindigo/asynckit/v0.4.0.svg?label=browser&style=flat)](https://travis-ci.org/alexindigo/asynckit) -[![Linux Build](https://img.shields.io/travis/alexindigo/asynckit/v0.4.0.svg?label=linux:0.12-6.x&style=flat)](https://travis-ci.org/alexindigo/asynckit) -[![Windows Build](https://img.shields.io/appveyor/ci/alexindigo/asynckit/v0.4.0.svg?label=windows:0.12-6.x&style=flat)](https://ci.appveyor.com/project/alexindigo/asynckit) - -[![Coverage Status](https://img.shields.io/coveralls/alexindigo/asynckit/v0.4.0.svg?label=code+coverage&style=flat)](https://coveralls.io/github/alexindigo/asynckit?branch=master) -[![Dependency Status](https://img.shields.io/david/alexindigo/asynckit/v0.4.0.svg?style=flat)](https://david-dm.org/alexindigo/asynckit) -[![bitHound Overall Score](https://www.bithound.io/github/alexindigo/asynckit/badges/score.svg)](https://www.bithound.io/github/alexindigo/asynckit) - - - -AsyncKit provides harness for `parallel` and `serial` iterators over list of items represented by arrays or objects. -Optionally it accepts abort function (should be synchronously return by iterator for each item), and terminates left over jobs upon an error event. For specific iteration order built-in (`ascending` and `descending`) and custom sort helpers also supported, via `asynckit.serialOrdered` method. - -It ensures async operations to keep behavior more stable and prevent `Maximum call stack size exceeded` errors, from sync iterators. - -| compression | size | -| :----------------- | -------: | -| asynckit.js | 12.34 kB | -| asynckit.min.js | 4.11 kB | -| asynckit.min.js.gz | 1.47 kB | - - -## Install - -```sh -$ npm install --save asynckit -``` - -## Examples - -### Parallel Jobs - -Runs iterator over provided array in parallel. Stores output in the `result` array, -on the matching positions. In unlikely event of an error from one of the jobs, -will terminate rest of the active jobs (if abort function is provided) -and return error along with salvaged data to the main callback function. - -#### Input Array - -```javascript -var parallel = require('asynckit').parallel - , assert = require('assert') - ; - -var source = [ 1, 1, 4, 16, 64, 32, 8, 2 ] - , expectedResult = [ 2, 2, 8, 32, 128, 64, 16, 4 ] - , expectedTarget = [ 1, 1, 2, 4, 8, 16, 32, 64 ] - , target = [] - ; - -parallel(source, asyncJob, function(err, result) -{ - assert.deepEqual(result, expectedResult); - assert.deepEqual(target, expectedTarget); -}); - -// async job accepts one element from the array -// and a callback function -function asyncJob(item, cb) -{ - // different delays (in ms) per item - var delay = item * 25; - - // pretend different jobs take different time to finish - // and not in consequential order - var timeoutId = setTimeout(function() { - target.push(item); - cb(null, item * 2); - }, delay); - - // allow to cancel "leftover" jobs upon error - // return function, invoking of which will abort this job - return clearTimeout.bind(null, timeoutId); -} -``` - -More examples could be found in [test/test-parallel-array.js](test/test-parallel-array.js). - -#### Input Object - -Also it supports named jobs, listed via object. - -```javascript -var parallel = require('asynckit/parallel') - , assert = require('assert') - ; - -var source = { first: 1, one: 1, four: 4, sixteen: 16, sixtyFour: 64, thirtyTwo: 32, eight: 8, two: 2 } - , expectedResult = { first: 2, one: 2, four: 8, sixteen: 32, sixtyFour: 128, thirtyTwo: 64, eight: 16, two: 4 } - , expectedTarget = [ 1, 1, 2, 4, 8, 16, 32, 64 ] - , expectedKeys = [ 'first', 'one', 'two', 'four', 'eight', 'sixteen', 'thirtyTwo', 'sixtyFour' ] - , target = [] - , keys = [] - ; - -parallel(source, asyncJob, function(err, result) -{ - assert.deepEqual(result, expectedResult); - assert.deepEqual(target, expectedTarget); - assert.deepEqual(keys, expectedKeys); -}); - -// supports full value, key, callback (shortcut) interface -function asyncJob(item, key, cb) -{ - // different delays (in ms) per item - var delay = item * 25; - - // pretend different jobs take different time to finish - // and not in consequential order - var timeoutId = setTimeout(function() { - keys.push(key); - target.push(item); - cb(null, item * 2); - }, delay); - - // allow to cancel "leftover" jobs upon error - // return function, invoking of which will abort this job - return clearTimeout.bind(null, timeoutId); -} -``` - -More examples could be found in [test/test-parallel-object.js](test/test-parallel-object.js). - -### Serial Jobs - -Runs iterator over provided array sequentially. Stores output in the `result` array, -on the matching positions. In unlikely event of an error from one of the jobs, -will not proceed to the rest of the items in the list -and return error along with salvaged data to the main callback function. - -#### Input Array - -```javascript -var serial = require('asynckit/serial') - , assert = require('assert') - ; - -var source = [ 1, 1, 4, 16, 64, 32, 8, 2 ] - , expectedResult = [ 2, 2, 8, 32, 128, 64, 16, 4 ] - , expectedTarget = [ 0, 1, 2, 3, 4, 5, 6, 7 ] - , target = [] - ; - -serial(source, asyncJob, function(err, result) -{ - assert.deepEqual(result, expectedResult); - assert.deepEqual(target, expectedTarget); -}); - -// extended interface (item, key, callback) -// also supported for arrays -function asyncJob(item, key, cb) -{ - target.push(key); - - // it will be automatically made async - // even it iterator "returns" in the same event loop - cb(null, item * 2); -} -``` - -More examples could be found in [test/test-serial-array.js](test/test-serial-array.js). - -#### Input Object - -Also it supports named jobs, listed via object. - -```javascript -var serial = require('asynckit').serial - , assert = require('assert') - ; - -var source = [ 1, 1, 4, 16, 64, 32, 8, 2 ] - , expectedResult = [ 2, 2, 8, 32, 128, 64, 16, 4 ] - , expectedTarget = [ 0, 1, 2, 3, 4, 5, 6, 7 ] - , target = [] - ; - -var source = { first: 1, one: 1, four: 4, sixteen: 16, sixtyFour: 64, thirtyTwo: 32, eight: 8, two: 2 } - , expectedResult = { first: 2, one: 2, four: 8, sixteen: 32, sixtyFour: 128, thirtyTwo: 64, eight: 16, two: 4 } - , expectedTarget = [ 1, 1, 4, 16, 64, 32, 8, 2 ] - , target = [] - ; - - -serial(source, asyncJob, function(err, result) -{ - assert.deepEqual(result, expectedResult); - assert.deepEqual(target, expectedTarget); -}); - -// shortcut interface (item, callback) -// works for object as well as for the arrays -function asyncJob(item, cb) -{ - target.push(item); - - // it will be automatically made async - // even it iterator "returns" in the same event loop - cb(null, item * 2); -} -``` - -More examples could be found in [test/test-serial-object.js](test/test-serial-object.js). - -_Note: Since _object_ is an _unordered_ collection of properties, -it may produce unexpected results with sequential iterations. -Whenever order of the jobs' execution is important please use `serialOrdered` method._ - -### Ordered Serial Iterations - -TBD - -For example [compare-property](compare-property) package. - -### Streaming interface - -TBD - -## Want to Know More? - -More examples can be found in [test folder](test/). - -Or open an [issue](https://github.com/alexindigo/asynckit/issues) with questions and/or suggestions. - -## License - -AsyncKit is licensed under the MIT license. diff --git a/deps/npm/node_modules/aws-sign2/README.md b/deps/npm/node_modules/aws-sign2/README.md deleted file mode 100644 index 763564e0aa5b8c..00000000000000 --- a/deps/npm/node_modules/aws-sign2/README.md +++ /dev/null @@ -1,4 +0,0 @@ -aws-sign -======== - -AWS signing. Originally pulled from LearnBoost/knox, maintained as vendor in request, now a standalone module. diff --git a/deps/npm/node_modules/aws4/.github/FUNDING.yml b/deps/npm/node_modules/aws4/.github/FUNDING.yml deleted file mode 100644 index b7fdd9747f71de..00000000000000 --- a/deps/npm/node_modules/aws4/.github/FUNDING.yml +++ /dev/null @@ -1,3 +0,0 @@ -# These are supported funding model platforms - -github: mhart diff --git a/deps/npm/node_modules/aws4/.travis.yml b/deps/npm/node_modules/aws4/.travis.yml deleted file mode 100644 index 178bf31ed7186f..00000000000000 --- a/deps/npm/node_modules/aws4/.travis.yml +++ /dev/null @@ -1,9 +0,0 @@ -language: node_js -node_js: - - "0.10" - - "0.12" - - "4" - - "6" - - "8" - - "10" - - "12" diff --git a/deps/npm/node_modules/aws4/README.md b/deps/npm/node_modules/aws4/README.md deleted file mode 100644 index 7202e452f8c432..00000000000000 --- a/deps/npm/node_modules/aws4/README.md +++ /dev/null @@ -1,183 +0,0 @@ -aws4 ----- - -[![Build Status](https://api.travis-ci.org/mhart/aws4.png?branch=master)](https://travis-ci.org/github/mhart/aws4) - -A small utility to sign vanilla Node.js http(s) request options using Amazon's -[AWS Signature Version 4](https://docs.aws.amazon.com/general/latest/gr/signature-version-4.html). - -If you want to sign and send AWS requests in a modern browser, or an environment like [Cloudflare Workers](https://developers.cloudflare.com/workers/), then check out [aws4fetch](https://github.com/mhart/aws4fetch) – otherwise you can also bundle this library for use [in older browsers](./browser). - -The only AWS service that *doesn't* support v4 as of 2020-05-22 is -[SimpleDB](https://docs.aws.amazon.com/AmazonSimpleDB/latest/DeveloperGuide/SDB_API.html) -(it only supports [AWS Signature Version 2](https://github.com/mhart/aws2)). - -It also provides defaults for a number of core AWS headers and -request parameters, making it very easy to query AWS services, or -build out a fully-featured AWS library. - -Example -------- - -```javascript -var https = require('https') -var aws4 = require('aws4') - -// to illustrate usage, we'll create a utility function to request and pipe to stdout -function request(opts) { https.request(opts, function(res) { res.pipe(process.stdout) }).end(opts.body || '') } - -// aws4 will sign an options object as you'd pass to http.request, with an AWS service and region -var opts = { host: 'my-bucket.s3.us-west-1.amazonaws.com', path: '/my-object', service: 's3', region: 'us-west-1' } - -// aws4.sign() will sign and modify these options, ready to pass to http.request -aws4.sign(opts, { accessKeyId: '', secretAccessKey: '' }) - -// or it can get credentials from process.env.AWS_ACCESS_KEY_ID, etc -aws4.sign(opts) - -// for most AWS services, aws4 can figure out the service and region if you pass a host -opts = { host: 'my-bucket.s3.us-west-1.amazonaws.com', path: '/my-object' } - -// usually it will add/modify request headers, but you can also sign the query: -opts = { host: 'my-bucket.s3.amazonaws.com', path: '/?X-Amz-Expires=12345', signQuery: true } - -// and for services with simple hosts, aws4 can infer the host from service and region: -opts = { service: 'sqs', region: 'us-east-1', path: '/?Action=ListQueues' } - -// and if you're using us-east-1, it's the default: -opts = { service: 'sqs', path: '/?Action=ListQueues' } - -aws4.sign(opts) -console.log(opts) -/* -{ - host: 'sqs.us-east-1.amazonaws.com', - path: '/?Action=ListQueues', - headers: { - Host: 'sqs.us-east-1.amazonaws.com', - 'X-Amz-Date': '20121226T061030Z', - Authorization: 'AWS4-HMAC-SHA256 Credential=ABCDEF/20121226/us-east-1/sqs/aws4_request, ...' - } -} -*/ - -// we can now use this to query AWS -request(opts) -/* - - -... -*/ - -// aws4 can infer the HTTP method if a body is passed in -// method will be POST and Content-Type: 'application/x-www-form-urlencoded; charset=utf-8' -request(aws4.sign({ service: 'iam', body: 'Action=ListGroups&Version=2010-05-08' })) -/* - -... -*/ - -// you can specify any custom option or header as per usual -request(aws4.sign({ - service: 'dynamodb', - region: 'ap-southeast-2', - method: 'POST', - path: '/', - headers: { - 'Content-Type': 'application/x-amz-json-1.0', - 'X-Amz-Target': 'DynamoDB_20120810.ListTables' - }, - body: '{}' -})) -/* -{"TableNames":[]} -... -*/ - -// The raw RequestSigner can be used to generate CodeCommit Git passwords -var signer = new aws4.RequestSigner({ - service: 'codecommit', - host: 'git-codecommit.us-east-1.amazonaws.com', - method: 'GIT', - path: '/v1/repos/MyAwesomeRepo', -}) -var password = signer.getDateTime() + 'Z' + signer.signature() - -// see example.js for examples with other services -``` - -API ---- - -### aws4.sign(requestOptions, [credentials]) - -Calculates and populates any necessary AWS headers and/or request -options on `requestOptions`. Returns `requestOptions` as a convenience for chaining. - -`requestOptions` is an object holding the same options that the Node.js -[http.request](https://nodejs.org/docs/latest/api/http.html#http_http_request_options_callback) -function takes. - -The following properties of `requestOptions` are used in the signing or -populated if they don't already exist: - -- `hostname` or `host` (will try to be determined from `service` and `region` if not given) -- `method` (will use `'GET'` if not given or `'POST'` if there is a `body`) -- `path` (will use `'/'` if not given) -- `body` (will use `''` if not given) -- `service` (will try to be calculated from `hostname` or `host` if not given) -- `region` (will try to be calculated from `hostname` or `host` or use `'us-east-1'` if not given) -- `signQuery` (to sign the query instead of adding an `Authorization` header, defaults to false) -- `headers['Host']` (will use `hostname` or `host` or be calculated if not given) -- `headers['Content-Type']` (will use `'application/x-www-form-urlencoded; charset=utf-8'` - if not given and there is a `body`) -- `headers['Date']` (used to calculate the signature date if given, otherwise `new Date` is used) - -Your AWS credentials (which can be found in your -[AWS console](https://portal.aws.amazon.com/gp/aws/securityCredentials)) -can be specified in one of two ways: - -- As the second argument, like this: - -```javascript -aws4.sign(requestOptions, { - secretAccessKey: "", - accessKeyId: "", - sessionToken: "" -}) -``` - -- From `process.env`, such as this: - -``` -export AWS_ACCESS_KEY_ID="" -export AWS_SECRET_ACCESS_KEY="" -export AWS_SESSION_TOKEN="" -``` - -(will also use `AWS_ACCESS_KEY` and `AWS_SECRET_KEY` if available) - -The `sessionToken` property and `AWS_SESSION_TOKEN` environment variable are optional for signing -with [IAM STS temporary credentials](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_credentials_temp_use-resources.html). - -Installation ------------- - -With [npm](https://www.npmjs.com/) do: - -``` -npm install aws4 -``` - -Can also be used [in the browser](./browser). - -Thanks ------- - -Thanks to [@jed](https://github.com/jed) for his -[dynamo-client](https://github.com/jed/dynamo-client) lib where I first -committed and subsequently extracted this code. - -Also thanks to the -[official Node.js AWS SDK](https://github.com/aws/aws-sdk-js) for giving -me a start on implementing the v4 signature. diff --git a/deps/npm/node_modules/balanced-match/.github/FUNDING.yml b/deps/npm/node_modules/balanced-match/.github/FUNDING.yml deleted file mode 100644 index cea8b16e9edc40..00000000000000 --- a/deps/npm/node_modules/balanced-match/.github/FUNDING.yml +++ /dev/null @@ -1,2 +0,0 @@ -tidelift: "npm/balanced-match" -patreon: juliangruber diff --git a/deps/npm/node_modules/balanced-match/README.md b/deps/npm/node_modules/balanced-match/README.md deleted file mode 100644 index d2a48b6b49f2cf..00000000000000 --- a/deps/npm/node_modules/balanced-match/README.md +++ /dev/null @@ -1,97 +0,0 @@ -# balanced-match - -Match balanced string pairs, like `{` and `}` or `` and ``. Supports regular expressions as well! - -[![build status](https://secure.travis-ci.org/juliangruber/balanced-match.svg)](http://travis-ci.org/juliangruber/balanced-match) -[![downloads](https://img.shields.io/npm/dm/balanced-match.svg)](https://www.npmjs.org/package/balanced-match) - -[![testling badge](https://ci.testling.com/juliangruber/balanced-match.png)](https://ci.testling.com/juliangruber/balanced-match) - -## Example - -Get the first matching pair of braces: - -```js -var balanced = require('balanced-match'); - -console.log(balanced('{', '}', 'pre{in{nested}}post')); -console.log(balanced('{', '}', 'pre{first}between{second}post')); -console.log(balanced(/\s+\{\s+/, /\s+\}\s+/, 'pre { in{nest} } post')); -``` - -The matches are: - -```bash -$ node example.js -{ start: 3, end: 14, pre: 'pre', body: 'in{nested}', post: 'post' } -{ start: 3, - end: 9, - pre: 'pre', - body: 'first', - post: 'between{second}post' } -{ start: 3, end: 17, pre: 'pre', body: 'in{nest}', post: 'post' } -``` - -## API - -### var m = balanced(a, b, str) - -For the first non-nested matching pair of `a` and `b` in `str`, return an -object with those keys: - -* **start** the index of the first match of `a` -* **end** the index of the matching `b` -* **pre** the preamble, `a` and `b` not included -* **body** the match, `a` and `b` not included -* **post** the postscript, `a` and `b` not included - -If there's no match, `undefined` will be returned. - -If the `str` contains more `a` than `b` / there are unmatched pairs, the first match that was closed will be used. For example, `{{a}` will match `['{', 'a', '']` and `{a}}` will match `['', 'a', '}']`. - -### var r = balanced.range(a, b, str) - -For the first non-nested matching pair of `a` and `b` in `str`, return an -array with indexes: `[ , ]`. - -If there's no match, `undefined` will be returned. - -If the `str` contains more `a` than `b` / there are unmatched pairs, the first match that was closed will be used. For example, `{{a}` will match `[ 1, 3 ]` and `{a}}` will match `[0, 2]`. - -## Installation - -With [npm](https://npmjs.org) do: - -```bash -npm install balanced-match -``` - -## Security contact information - -To report a security vulnerability, please use the -[Tidelift security contact](https://tidelift.com/security). -Tidelift will coordinate the fix and disclosure. - -## License - -(MIT) - -Copyright (c) 2013 Julian Gruber <julian@juliangruber.com> - -Permission is hereby granted, free of charge, to any person obtaining a copy of -this software and associated documentation files (the "Software"), to deal in -the Software without restriction, including without limitation the rights to -use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies -of the Software, and to permit persons to whom the Software is furnished to do -so, subject to the following conditions: - -The above copyright notice and this permission notice shall be included in all -copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE -SOFTWARE. diff --git a/deps/npm/node_modules/bcrypt-pbkdf/README.md b/deps/npm/node_modules/bcrypt-pbkdf/README.md deleted file mode 100644 index 7551f335cc0bc4..00000000000000 --- a/deps/npm/node_modules/bcrypt-pbkdf/README.md +++ /dev/null @@ -1,45 +0,0 @@ -Port of the OpenBSD `bcrypt_pbkdf` function to pure Javascript. `npm`-ified -version of [Devi Mandiri's port](https://github.com/devi/tmp/blob/master/js/bcrypt_pbkdf.js), -with some minor performance improvements. The code is copied verbatim (and -un-styled) from Devi's work. - -This product includes software developed by Niels Provos. - -## API - -### `bcrypt_pbkdf.pbkdf(pass, passlen, salt, saltlen, key, keylen, rounds)` - -Derive a cryptographic key of arbitrary length from a given password and salt, -using the OpenBSD `bcrypt_pbkdf` function. This is a combination of Blowfish and -SHA-512. - -See [this article](http://www.tedunangst.com/flak/post/bcrypt-pbkdf) for -further information. - -Parameters: - - * `pass`, a Uint8Array of length `passlen` - * `passlen`, an integer Number - * `salt`, a Uint8Array of length `saltlen` - * `saltlen`, an integer Number - * `key`, a Uint8Array of length `keylen`, will be filled with output - * `keylen`, an integer Number - * `rounds`, an integer Number, number of rounds of the PBKDF to run - -### `bcrypt_pbkdf.hash(sha2pass, sha2salt, out)` - -Calculate a Blowfish hash, given SHA2-512 output of a password and salt. Used as -part of the inner round function in the PBKDF. - -Parameters: - - * `sha2pass`, a Uint8Array of length 64 - * `sha2salt`, a Uint8Array of length 64 - * `out`, a Uint8Array of length 32, will be filled with output - -## License - -This source form is a 1:1 port from the OpenBSD `blowfish.c` and `bcrypt_pbkdf.c`. -As a result, it retains the original copyright and license. The two files are -under slightly different (but compatible) licenses, and are here combined in -one file. For each of the full license texts see `LICENSE`. diff --git a/deps/npm/node_modules/bin-links/CHANGELOG.md b/deps/npm/node_modules/bin-links/CHANGELOG.md deleted file mode 100644 index 0531b01ca47f5e..00000000000000 --- a/deps/npm/node_modules/bin-links/CHANGELOG.md +++ /dev/null @@ -1,89 +0,0 @@ -# Change Log - -## 2.0.0 - -* Rewrite to promisify and remove dependence on gentle-fs - - -## [1.1.7](https://github.com/npm/bin-links/compare/v1.1.6...v1.1.7) (2019-12-26) - - -### Bug Fixes - -* resolve folder that is passed in ([0bbd303](https://github.com/npm/bin-links/commit/0bbd303)) - - - - -## [1.1.6](https://github.com/npm/bin-links/compare/v1.1.5...v1.1.6) (2019-12-11) - - -### Bug Fixes - -* prevent improper clobbering of man/bin links ([642cd18](https://github.com/npm/bin-links/commit/642cd18)), closes [#11](https://github.com/npm/bin-links/issues/11) [#12](https://github.com/npm/bin-links/issues/12) - - - - -## [1.1.5](https://github.com/npm/bin-links/compare/v1.1.4...v1.1.5) (2019-12-10) - - -### Bug Fixes - -* don't filter out ./ man references ([b3cfd2e](https://github.com/npm/bin-links/commit/b3cfd2e)) - - - - -## [1.1.4](https://github.com/npm/bin-links/compare/v1.1.3...v1.1.4) (2019-12-09) - - -### Bug Fixes - -* sanitize and validate bin and man link targets ([25a34f9](https://github.com/npm/bin-links/commit/25a34f9)) - - - - -## [1.1.3](https://github.com/npm/bin-links/compare/v1.1.2...v1.1.3) (2019-08-14) - - - - -## [1.1.2](https://github.com/npm/bin-links/compare/v1.1.1...v1.1.2) (2018-03-22) - - -### Bug Fixes - -* **linkMans:** return the promise! ([5eccc7f](https://github.com/npm/bin-links/commit/5eccc7f)) - - - - -## [1.1.1](https://github.com/npm/bin-links/compare/v1.1.0...v1.1.1) (2018-03-07) - - -### Bug Fixes - -* **shebangs:** only convert CR when doing CRLF -> LF ([#2](https://github.com/npm/bin-links/issues/2)) ([43bf857](https://github.com/npm/bin-links/commit/43bf857)) - - - - -# [1.1.0](https://github.com/npm/bin-links/compare/v1.0.0...v1.1.0) (2017-11-20) - - -### Features - -* **dos2unix:** Log the fact line endings are being changed upon install. ([e9f8a6f](https://github.com/npm/bin-links/commit/e9f8a6f)) - - - - -# 1.0.0 (2017-10-07) - - -### Features - -* **import:** initial extraction from npm ([6ed0bfb](https://github.com/npm/bin-links/commit/6ed0bfb)) -* **initial commit:** README ([3fc9cf0](https://github.com/npm/bin-links/commit/3fc9cf0)) diff --git a/deps/npm/node_modules/bin-links/README.md b/deps/npm/node_modules/bin-links/README.md deleted file mode 100644 index fb9d902109eb64..00000000000000 --- a/deps/npm/node_modules/bin-links/README.md +++ /dev/null @@ -1,90 +0,0 @@ -# bin-links [![npm version](https://img.shields.io/npm/v/bin-links.svg)](https://npm.im/bin-links) [![license](https://img.shields.io/npm/l/bin-links.svg)](https://npm.im/bin-links) [![Travis](https://img.shields.io/travis/npm/bin-links.svg)](https://travis-ci.org/npm/bin-links) [![AppVeyor](https://ci.appveyor.com/api/projects/status/github/npm/bin-links?svg=true)](https://ci.appveyor.com/project/npm/bin-links) [![Coverage Status](https://coveralls.io/repos/github/npm/bin-links/badge.svg?branch=latest)](https://coveralls.io/github/npm/bin-links?branch=latest) - -[`bin-links`](https://github.com/npm/bin-links) is a standalone library that links -binaries and man pages for Javascript packages - -## Install - -`$ npm install bin-links` - -## Table of Contents - -* [Example](#example) -* [Features](#features) -* [Contributing](#contributing) -* [API](#api) - * [`binLinks`](#binLinks) - * [`binLinks.getPaths()`](#getPaths) - * [`binLinks.checkBins()`](#checkBins) - -### Example - -```javascript -const binLinks = require('bin-links') -const readPackageJson = require('read-package-json-fast') -binLinks({ - path: '/path/to/node_modules/some-package', - pkg: readPackageJson('/path/to/node_modules/some-package/package.json'), - - // true if it's a global install, false for local. default: false - global: true, - - // true if it's the top level package being installed, false otherwise - top: true, - - // true if you'd like to recklessly overwrite files. - force: true, -}) -``` - -### Features - -* Links bin files listed under the `bin` property of pkg to the - `node_modules/.bin` directory of the installing environment. (Or - `${prefix}/bin` for top level global packages on unix, and `${prefix}` - for top level global packages on Windows.) -* Links man files listed under the `man` property of pkg to the share/man - directory. (This is only done for top-level global packages on Unix - systems.) - -### Contributing - -The npm team enthusiastically welcomes contributions and project participation! -There's a bunch of things you can do if you want to contribute! The [Contributor -Guide](CONTRIBUTING.md) has all the information you need for everything from -reporting bugs to contributing entire new features. Please don't hesitate to -jump in if you'd like to, or even ask us questions if something isn't clear. - -### API - -#### `> binLinks({path, pkg, force, global, top})` - -Returns a Promise that resolves when the requisite things have been linked. - -#### `> binLinks.getPaths({path, pkg, global, top })` - -Returns an array of all the paths of links and shims that _might_ be -created (assuming that they exist!) for the package at the specified path. - -Does not touch the filesystem. - -#### `> binLinks.checkBins({path, pkg, global, top, force })` - -Checks if there are any conflicting bins which will prevent the linking of -bins for the given package. Returns a Promise that resolves with no value -if the way is clear, and rejects if there's something in the way. - -Always returns successfully if `global` or `top` are false, or if `force` -is true, or if the `pkg` object does not contain any bins to link. - -Note that changes to the file system _may_ still cause the `binLinks` -method to fail even if this method succeeds. Does not check for -conflicting `man` links. - -Reads from the filesystem but does not make any changes. - -##### Example - -```javascript -binLinks({path, pkg, force, global, top}).then(() => console.log('bins linked!')) -``` diff --git a/deps/npm/node_modules/brace-expansion/README.md b/deps/npm/node_modules/brace-expansion/README.md deleted file mode 100644 index 6b4e0e16409152..00000000000000 --- a/deps/npm/node_modules/brace-expansion/README.md +++ /dev/null @@ -1,129 +0,0 @@ -# brace-expansion - -[Brace expansion](https://www.gnu.org/software/bash/manual/html_node/Brace-Expansion.html), -as known from sh/bash, in JavaScript. - -[![build status](https://secure.travis-ci.org/juliangruber/brace-expansion.svg)](http://travis-ci.org/juliangruber/brace-expansion) -[![downloads](https://img.shields.io/npm/dm/brace-expansion.svg)](https://www.npmjs.org/package/brace-expansion) -[![Greenkeeper badge](https://badges.greenkeeper.io/juliangruber/brace-expansion.svg)](https://greenkeeper.io/) - -[![testling badge](https://ci.testling.com/juliangruber/brace-expansion.png)](https://ci.testling.com/juliangruber/brace-expansion) - -## Example - -```js -var expand = require('brace-expansion'); - -expand('file-{a,b,c}.jpg') -// => ['file-a.jpg', 'file-b.jpg', 'file-c.jpg'] - -expand('-v{,,}') -// => ['-v', '-v', '-v'] - -expand('file{0..2}.jpg') -// => ['file0.jpg', 'file1.jpg', 'file2.jpg'] - -expand('file-{a..c}.jpg') -// => ['file-a.jpg', 'file-b.jpg', 'file-c.jpg'] - -expand('file{2..0}.jpg') -// => ['file2.jpg', 'file1.jpg', 'file0.jpg'] - -expand('file{0..4..2}.jpg') -// => ['file0.jpg', 'file2.jpg', 'file4.jpg'] - -expand('file-{a..e..2}.jpg') -// => ['file-a.jpg', 'file-c.jpg', 'file-e.jpg'] - -expand('file{00..10..5}.jpg') -// => ['file00.jpg', 'file05.jpg', 'file10.jpg'] - -expand('{{A..C},{a..c}}') -// => ['A', 'B', 'C', 'a', 'b', 'c'] - -expand('ppp{,config,oe{,conf}}') -// => ['ppp', 'pppconfig', 'pppoe', 'pppoeconf'] -``` - -## API - -```js -var expand = require('brace-expansion'); -``` - -### var expanded = expand(str) - -Return an array of all possible and valid expansions of `str`. If none are -found, `[str]` is returned. - -Valid expansions are: - -```js -/^(.*,)+(.+)?$/ -// {a,b,...} -``` - -A comma separated list of options, like `{a,b}` or `{a,{b,c}}` or `{,a,}`. - -```js -/^-?\d+\.\.-?\d+(\.\.-?\d+)?$/ -// {x..y[..incr]} -``` - -A numeric sequence from `x` to `y` inclusive, with optional increment. -If `x` or `y` start with a leading `0`, all the numbers will be padded -to have equal length. Negative numbers and backwards iteration work too. - -```js -/^-?\d+\.\.-?\d+(\.\.-?\d+)?$/ -// {x..y[..incr]} -``` - -An alphabetic sequence from `x` to `y` inclusive, with optional increment. -`x` and `y` must be exactly one character, and if given, `incr` must be a -number. - -For compatibility reasons, the string `${` is not eligible for brace expansion. - -## Installation - -With [npm](https://npmjs.org) do: - -```bash -npm install brace-expansion -``` - -## Contributors - -- [Julian Gruber](https://github.com/juliangruber) -- [Isaac Z. Schlueter](https://github.com/isaacs) - -## Sponsors - -This module is proudly supported by my [Sponsors](https://github.com/juliangruber/sponsors)! - -Do you want to support modules like this to improve their quality, stability and weigh in on new features? Then please consider donating to my [Patreon](https://www.patreon.com/juliangruber). Not sure how much of my modules you're using? Try [feross/thanks](https://github.com/feross/thanks)! - -## License - -(MIT) - -Copyright (c) 2013 Julian Gruber <julian@juliangruber.com> - -Permission is hereby granted, free of charge, to any person obtaining a copy of -this software and associated documentation files (the "Software"), to deal in -the Software without restriction, including without limitation the rights to -use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies -of the Software, and to permit persons to whom the Software is furnished to do -so, subject to the following conditions: - -The above copyright notice and this permission notice shall be included in all -copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE -SOFTWARE. diff --git a/deps/npm/node_modules/builtins/.travis.yml b/deps/npm/node_modules/builtins/.travis.yml deleted file mode 100644 index cc4dba29d959a2..00000000000000 --- a/deps/npm/node_modules/builtins/.travis.yml +++ /dev/null @@ -1,4 +0,0 @@ -language: node_js -node_js: - - "0.8" - - "0.10" diff --git a/deps/npm/node_modules/byte-size/README.hbs b/deps/npm/node_modules/byte-size/README.hbs deleted file mode 100644 index 8d0b32f3e5fdcc..00000000000000 --- a/deps/npm/node_modules/byte-size/README.hbs +++ /dev/null @@ -1,164 +0,0 @@ -[![view on npm](https://badgen.net/npm/v/byte-size)](https://www.npmjs.org/package/byte-size) -[![npm module downloads](https://badgen.net/npm/dt/byte-size)](https://www.npmjs.org/package/byte-size) -[![Gihub repo dependents](https://badgen.net/github/dependents-repo/75lb/byte-size)](https://github.com/75lb/byte-size/network/dependents?dependent_type=REPOSITORY) -[![Gihub package dependents](https://badgen.net/github/dependents-pkg/75lb/byte-size)](https://github.com/75lb/byte-size/network/dependents?dependent_type=PACKAGE) -[![Build Status](https://travis-ci.org/75lb/byte-size.svg?branch=master)](https://travis-ci.org/75lb/byte-size) -[![Coverage Status](https://coveralls.io/repos/github/75lb/byte-size/badge.svg)](https://coveralls.io/github/75lb/byte-size) -[![js-standard-style](https://img.shields.io/badge/code%20style-standard-brightgreen.svg)](https://github.com/feross/standard) - -***Upgraders, please check the [release notes](https://github.com/75lb/byte-size/releases).*** - -# byte-size - -An isomorphic, load-anywhere function to convert a bytes value (e.g. `3456`) to a human-readable string (`'3.5 kB'`). Choose between [metric or IEC units](https://en.wikipedia.org/wiki/Gigabyte) (summarised below) or specify your own custom units. - -Value | Metric | Metric (octet) | ------ | ------------- | -------------- | -1000 | kB kilobyte | ko kilooctet | -1000^2 | MB megabyte | Mo megaoctet | -1000^3 | GB gigabyte | Go gigaoctet | -1000^4 | TB terabyte | To teraoctet | -1000^5 | PB petabyte | Po petaoctet | -1000^6 | EB exabyte | Eo exaoctet | -1000^7 | ZB zettabyte | Zo zettaoctet | -1000^8 | YB yottabyte | Yo yottaoctet | - -Value | IEC | IEC (octet) | ------- | ------------ | ------------- | -1024 | KiB kibibyte | Kio kibioctet | -1024^2 | MiB mebibyte | Mio mebioctet | -1024^3 | GiB gibibyte | Gio gibioctet | -1024^4 | TiB tebibyte | Tio tebioctet | -1024^5 | PiB pebibyte | Pio pebioctet | -1024^6 | EiB exbibyte | Eio exbioctet | -1024^7 | ZiB zebibyte | Zio zebioctet | -1024^8 | YiB yobibyte | Yio yobioctet | - -## Synopsis - -By default, `byteSize` converts the input number to a human readable string with metric units and a precision of 1. - -```js -> const byteSize = require('byte-size') - -> byteSize(1580) -{ value: '1.6', unit: 'kB', long: 'kilobytes' } -``` - -The object returned by `byteSize` defines a `toString` method therefore can be used directly in string context. - -```js -> `Filesize: ${byteSize(12400)}` -'Filesize: 12.4 kB' -``` - -Override the default `toString` behaviour by setting [`options.toStringFn`](#bytesizebytes-options--object-). - -```js -> function toStringFn () { - return `**${this.value}${this.unit}**` -} - -> `Filesize: ${byteSize(12400, { toStringFn })}` -'Filesize: **12.4kB**' -``` - -Beside the default of `metric`, there are three other built-in units available: `metric_octet`, `iec` and `iec_octet`. - -```js -> byteSize(1580, { units: 'iec' }) -{ value: '1.5', unit: 'KiB', long: 'kibibytes' } - -> byteSize(1580, { units: 'iec_octet' }) -{ value: '1.5', unit: 'Kio', long: 'kibioctets' } - -> byteSize(1580, { units: 'metric_octet' }) -{ value: '1.6', unit: 'ko', long: 'kilooctets' } -``` - -You can adjust the `precision`. - -```js -> byteSize(1580, { units: 'iec', precision: 3 }) -{ value: '1.543', unit: 'KiB', long: 'kibibytes' } - -> byteSize(1580, { units: 'iec', precision: 0 }) -{ value: '2', unit: 'KiB', long: 'kibibytes' } -``` - -Define custom units by passing an object containing one or more additional conversion tables to `options.customUnits`. In `options.units`, specify the name of a property from the `customUnits` object. - -```js -> const customUnits = { - simple: [ - { from: 0 , to: 1e3 , unit: '' }, - { from: 1e3 , to: 1e6 , unit: 'K', long: 'thousand' }, - { from: 1e6 , to: 1e9 , unit: 'Mn', long: 'million' }, - { from: 1e9 , to: 1e12, unit: 'Bn', long: 'billion' } - ] -} - -> const { value, unit } = byteSize(10000, { customUnits, units: 'simple' }) - -> `${value}${unit}` -'10.0K' -``` - -Override the built-in defaults for the duration of the process by passing an options object to `byteSize.defaultOptions()`. This results in cleaner code in cases where `byteSize` is used often with the same options. - -```js -> byteSize.defaultOptions({ - units: 'simple', - precision: 2, - customUnits: { - simple: [ - { from: 0, to: 1e3, unit: '' }, - { from: 1e3, to: 1e6, unit: 'k' }, - { from: 1e6, to: 1e9, unit: 'm' }, - { from: 1e9, to: 1e12, unit: 'bn' }, - ] - }, - toStringFn: function () { - return this.value + this.unit - } -}) - -> [2400, 16400, 3991200].map(byteSize).join(', ') -'2.40k, 16.40k, 3.99m' -``` - -{{>main}} - -## Load anywhere - -This library is compatible with Node.js, the Web and any style of module loader. It can be loaded anywhere, natively without transpilation. - -Node.js: - -```js -const byteSize = require('byte-size') -``` - -Within Node.js with ECMAScript Module support enabled: - -```js -import byteSize from 'byte-size' -``` - -Within a modern browser ECMAScript Module: - -```js -import byteSize from './node_modules/byte-size/index.mjs' -``` - -Old browser (adds `window.byteSize`): - -```html - -``` - -* * * - -© 2014-21 Lloyd Brookes \<75pound@gmail.com\>. - -Isomorphic test suite by [test-runner](https://github.com/test-runner-js/test-runner) and [web-runner](https://github.com/test-runner-js/web-runner). Documented by [jsdoc-to-markdown](https://github.com/jsdoc2md/jsdoc-to-markdown). diff --git a/deps/npm/node_modules/byte-size/README.md b/deps/npm/node_modules/byte-size/README.md deleted file mode 100644 index 955f707b770076..00000000000000 --- a/deps/npm/node_modules/byte-size/README.md +++ /dev/null @@ -1,198 +0,0 @@ -[![view on npm](https://badgen.net/npm/v/byte-size)](https://www.npmjs.org/package/byte-size) -[![npm module downloads](https://badgen.net/npm/dt/byte-size)](https://www.npmjs.org/package/byte-size) -[![Gihub repo dependents](https://badgen.net/github/dependents-repo/75lb/byte-size)](https://github.com/75lb/byte-size/network/dependents?dependent_type=REPOSITORY) -[![Gihub package dependents](https://badgen.net/github/dependents-pkg/75lb/byte-size)](https://github.com/75lb/byte-size/network/dependents?dependent_type=PACKAGE) -[![Build Status](https://travis-ci.org/75lb/byte-size.svg?branch=master)](https://travis-ci.org/75lb/byte-size) -[![Coverage Status](https://coveralls.io/repos/github/75lb/byte-size/badge.svg)](https://coveralls.io/github/75lb/byte-size) -[![js-standard-style](https://img.shields.io/badge/code%20style-standard-brightgreen.svg)](https://github.com/feross/standard) - -***Upgraders, please check the [release notes](https://github.com/75lb/byte-size/releases).*** - -# byte-size - -An isomorphic, load-anywhere function to convert a bytes value (e.g. `3456`) to a human-readable string (`'3.5 kB'`). Choose between [metric or IEC units](https://en.wikipedia.org/wiki/Gigabyte) (summarised below) or specify your own custom units. - -Value | Metric | Metric (octet) | ------ | ------------- | -------------- | -1000 | kB kilobyte | ko kilooctet | -1000^2 | MB megabyte | Mo megaoctet | -1000^3 | GB gigabyte | Go gigaoctet | -1000^4 | TB terabyte | To teraoctet | -1000^5 | PB petabyte | Po petaoctet | -1000^6 | EB exabyte | Eo exaoctet | -1000^7 | ZB zettabyte | Zo zettaoctet | -1000^8 | YB yottabyte | Yo yottaoctet | - -Value | IEC | IEC (octet) | ------- | ------------ | ------------- | -1024 | KiB kibibyte | Kio kibioctet | -1024^2 | MiB mebibyte | Mio mebioctet | -1024^3 | GiB gibibyte | Gio gibioctet | -1024^4 | TiB tebibyte | Tio tebioctet | -1024^5 | PiB pebibyte | Pio pebioctet | -1024^6 | EiB exbibyte | Eio exbioctet | -1024^7 | ZiB zebibyte | Zio zebioctet | -1024^8 | YiB yobibyte | Yio yobioctet | - -## Synopsis - -By default, `byteSize` converts the input number to a human readable string with metric units and a precision of 1. - -```js -> const byteSize = require('byte-size') - -> byteSize(1580) -{ value: '1.6', unit: 'kB', long: 'kilobytes' } -``` - -The object returned by `byteSize` defines a `toString` method therefore can be used directly in string context. - -```js -> `Filesize: ${byteSize(12400)}` -'Filesize: 12.4 kB' -``` - -Override the default `toString` behaviour by setting [`options.toStringFn`](#bytesizebytes-options--object-). - -```js -> function toStringFn () { - return `**${this.value}${this.unit}**` -} - -> `Filesize: ${byteSize(12400, { toStringFn })}` -'Filesize: **12.4kB**' -``` - -Beside the default of `metric`, there are three other built-in units available: `metric_octet`, `iec` and `iec_octet`. - -```js -> byteSize(1580, { units: 'iec' }) -{ value: '1.5', unit: 'KiB', long: 'kibibytes' } - -> byteSize(1580, { units: 'iec_octet' }) -{ value: '1.5', unit: 'Kio', long: 'kibioctets' } - -> byteSize(1580, { units: 'metric_octet' }) -{ value: '1.6', unit: 'ko', long: 'kilooctets' } -``` - -You can adjust the `precision`. - -```js -> byteSize(1580, { units: 'iec', precision: 3 }) -{ value: '1.543', unit: 'KiB', long: 'kibibytes' } - -> byteSize(1580, { units: 'iec', precision: 0 }) -{ value: '2', unit: 'KiB', long: 'kibibytes' } -``` - -Define custom units by passing an object containing one or more additional conversion tables to `options.customUnits`. In `options.units`, specify the name of a property from the `customUnits` object. - -```js -> const customUnits = { - simple: [ - { from: 0 , to: 1e3 , unit: '' }, - { from: 1e3 , to: 1e6 , unit: 'K', long: 'thousand' }, - { from: 1e6 , to: 1e9 , unit: 'Mn', long: 'million' }, - { from: 1e9 , to: 1e12, unit: 'Bn', long: 'billion' } - ] -} - -> const { value, unit } = byteSize(10000, { customUnits, units: 'simple' }) - -> `${value}${unit}` -'10.0K' -``` - -Override the built-in defaults for the duration of the process by passing an options object to `byteSize.defaultOptions()`. This results in cleaner code in cases where `byteSize` is used often with the same options. - -```js -> byteSize.defaultOptions({ - units: 'simple', - precision: 2, - customUnits: { - simple: [ - { from: 0, to: 1e3, unit: '' }, - { from: 1e3, to: 1e6, unit: 'k' }, - { from: 1e6, to: 1e9, unit: 'm' }, - { from: 1e9, to: 1e12, unit: 'bn' }, - ] - }, - toStringFn: function () { - return this.value + this.unit - } -}) - -> [2400, 16400, 3991200].map(byteSize).join(', ') -'2.40k, 16.40k, 3.99m' -``` - - - -## byte-size - -* [byte-size](#module_byte-size) - * [byteSize(bytes, [options])](#exp_module_byte-size--byteSize) ⇒ object ⏏ - * [.defaultOptions(options)](#module_byte-size--byteSize.defaultOptions) - - - -### byteSize(bytes, [options]) ⇒ object ⏏ -Returns an object with the spec `{ value: string, unit: string, long: string }`. The returned object defines a `toString` method meaning it can be used in any string context. - -**Kind**: Exported function - -| Param | Type | Description | -| --- | --- | --- | -| bytes | number | The bytes value to convert. | -| [options] | object | Optional config. | -| [options.precision] | number | Number of decimal places. Defaults to `1`. | -| [options.units] | string | Specify `'metric'`, `'iec'`, `'metric_octet'`, `'iec_octet'` or the name of a property from the custom units table in `options.customUnits`. Defaults to `metric`. | -| [options.customUnits] | object | An object containing one or more custom unit lookup tables. | -| [options.toStringFn] | function | A `toString` function to override the default. | - - - -#### byteSize.defaultOptions(options) -Set the default `byteSize` options for the duration of the process. - -**Kind**: static method of [byteSize](#exp_module_byte-size--byteSize) - -| Param | Type | Description | -| --- | --- | --- | -| options | object | A `byteSize` options object. | - - -## Load anywhere - -This library is compatible with Node.js, the Web and any style of module loader. It can be loaded anywhere, natively without transpilation. - -Node.js: - -```js -const byteSize = require('byte-size') -``` - -Within Node.js with ECMAScript Module support enabled: - -```js -import byteSize from 'byte-size' -``` - -Within a modern browser ECMAScript Module: - -```js -import byteSize from './node_modules/byte-size/index.mjs' -``` - -Old browser (adds `window.byteSize`): - -```html - -``` - -* * * - -© 2014-21 Lloyd Brookes \<75pound@gmail.com\>. - -Isomorphic test suite by [test-runner](https://github.com/test-runner-js/test-runner) and [web-runner](https://github.com/test-runner-js/web-runner). Documented by [jsdoc-to-markdown](https://github.com/jsdoc2md/jsdoc-to-markdown). diff --git a/deps/npm/node_modules/cacache/README.md b/deps/npm/node_modules/cacache/README.md deleted file mode 100644 index 6dc11babfa62ab..00000000000000 --- a/deps/npm/node_modules/cacache/README.md +++ /dev/null @@ -1,703 +0,0 @@ -# cacache [![npm version](https://img.shields.io/npm/v/cacache.svg)](https://npm.im/cacache) [![license](https://img.shields.io/npm/l/cacache.svg)](https://npm.im/cacache) [![Travis](https://img.shields.io/travis/npm/cacache.svg)](https://travis-ci.org/npm/cacache) [![AppVeyor](https://ci.appveyor.com/api/projects/status/github/npm/cacache?svg=true)](https://ci.appveyor.com/project/npm/cacache) [![Coverage Status](https://coveralls.io/repos/github/npm/cacache/badge.svg?branch=latest)](https://coveralls.io/github/npm/cacache?branch=latest) - -[`cacache`](https://github.com/npm/cacache) is a Node.js library for managing -local key and content address caches. It's really fast, really good at -concurrency, and it will never give you corrupted data, even if cache files -get corrupted or manipulated. - -On systems that support user and group settings on files, cacache will -match the `uid` and `gid` values to the folder where the cache lives, even -when running as `root`. - -It was written to be used as [npm](https://npm.im)'s local cache, but can -just as easily be used on its own. - -## Install - -`$ npm install --save cacache` - -## Table of Contents - -* [Example](#example) -* [Features](#features) -* [Contributing](#contributing) -* [API](#api) - * [Using localized APIs](#localized-api) - * Reading - * [`ls`](#ls) - * [`ls.stream`](#ls-stream) - * [`get`](#get-data) - * [`get.stream`](#get-stream) - * [`get.info`](#get-info) - * [`get.hasContent`](#get-hasContent) - * Writing - * [`put`](#put-data) - * [`put.stream`](#put-stream) - * [`rm.all`](#rm-all) - * [`rm.entry`](#rm-entry) - * [`rm.content`](#rm-content) - * [`index.compact`](#index-compact) - * [`index.insert`](#index-insert) - * Utilities - * [`clearMemoized`](#clear-memoized) - * [`tmp.mkdir`](#tmp-mkdir) - * [`tmp.withTmp`](#with-tmp) - * Integrity - * [Subresource Integrity](#integrity) - * [`verify`](#verify) - * [`verify.lastRun`](#verify-last-run) - -### Example - -```javascript -const cacache = require('cacache') -const fs = require('fs') - -const tarball = '/path/to/mytar.tgz' -const cachePath = '/tmp/my-toy-cache' -const key = 'my-unique-key-1234' - -// Cache it! Use `cachePath` as the root of the content cache -cacache.put(cachePath, key, '10293801983029384').then(integrity => { - console.log(`Saved content to ${cachePath}.`) -}) - -const destination = '/tmp/mytar.tgz' - -// Copy the contents out of the cache and into their destination! -// But this time, use stream instead! -cacache.get.stream( - cachePath, key -).pipe( - fs.createWriteStream(destination) -).on('finish', () => { - console.log('done extracting!') -}) - -// The same thing, but skip the key index. -cacache.get.byDigest(cachePath, integrityHash).then(data => { - fs.writeFile(destination, data, err => { - console.log('tarball data fetched based on its sha512sum and written out!') - }) -}) -``` - -### Features - -* Extraction by key or by content address (shasum, etc) -* [Subresource Integrity](#integrity) web standard support -* Multi-hash support - safely host sha1, sha512, etc, in a single cache -* Automatic content deduplication -* Fault tolerance (immune to corruption, partial writes, process races, etc) -* Consistency guarantees on read and write (full data verification) -* Lockless, high-concurrency cache access -* Streaming support -* Promise support -* Fast -- sub-millisecond reads and writes including verification -* Arbitrary metadata storage -* Garbage collection and additional offline verification -* Thorough test coverage -* There's probably a bloom filter in there somewhere. Those are cool, right? 🤔 - -### Contributing - -The cacache team enthusiastically welcomes contributions and project participation! There's a bunch of things you can do if you want to contribute! The [Contributor Guide](CONTRIBUTING.md) has all the information you need for everything from reporting bugs to contributing entire new features. Please don't hesitate to jump in if you'd like to, or even ask us questions if something isn't clear. - -All participants and maintainers in this project are expected to follow [Code of Conduct](CODE_OF_CONDUCT.md), and just generally be excellent to each other. - -Please refer to the [Changelog](CHANGELOG.md) for project history details, too. - -Happy hacking! - -### API - -#### `> cacache.ls(cache) -> Promise` - -Lists info for all entries currently in the cache as a single large object. Each -entry in the object will be keyed by the unique index key, with corresponding -[`get.info`](#get-info) objects as the values. - -##### Example - -```javascript -cacache.ls(cachePath).then(console.log) -// Output -{ - 'my-thing': { - key: 'my-thing', - integrity: 'sha512-BaSe64/EnCoDED+HAsh==' - path: '.testcache/content/deadbeef', // joined with `cachePath` - time: 12345698490, - size: 4023948, - metadata: { - name: 'blah', - version: '1.2.3', - description: 'this was once a package but now it is my-thing' - } - }, - 'other-thing': { - key: 'other-thing', - integrity: 'sha1-ANothER+hasH=', - path: '.testcache/content/bada55', - time: 11992309289, - size: 111112 - } -} -``` - -#### `> cacache.ls.stream(cache) -> Readable` - -Lists info for all entries currently in the cache as a single large object. - -This works just like [`ls`](#ls), except [`get.info`](#get-info) entries are -returned as `'data'` events on the returned stream. - -##### Example - -```javascript -cacache.ls.stream(cachePath).on('data', console.log) -// Output -{ - key: 'my-thing', - integrity: 'sha512-BaSe64HaSh', - path: '.testcache/content/deadbeef', // joined with `cachePath` - time: 12345698490, - size: 13423, - metadata: { - name: 'blah', - version: '1.2.3', - description: 'this was once a package but now it is my-thing' - } -} - -{ - key: 'other-thing', - integrity: 'whirlpool-WoWSoMuchSupport', - path: '.testcache/content/bada55', - time: 11992309289, - size: 498023984029 -} - -{ - ... -} -``` - -#### `> cacache.get(cache, key, [opts]) -> Promise({data, metadata, integrity})` - -Returns an object with the cached data, digest, and metadata identified by -`key`. The `data` property of this object will be a `Buffer` instance that -presumably holds some data that means something to you. I'm sure you know what -to do with it! cacache just won't care. - -`integrity` is a [Subresource -Integrity](#integrity) -string. That is, a string that can be used to verify `data`, which looks like -`-`. - -If there is no content identified by `key`, or if the locally-stored data does -not pass the validity checksum, the promise will be rejected. - -A sub-function, `get.byDigest` may be used for identical behavior, except lookup -will happen by integrity hash, bypassing the index entirely. This version of the -function *only* returns `data` itself, without any wrapper. - -See: [options](#get-options) - -##### Note - -This function loads the entire cache entry into memory before returning it. If -you're dealing with Very Large data, consider using [`get.stream`](#get-stream) -instead. - -##### Example - -```javascript -// Look up by key -cache.get(cachePath, 'my-thing').then(console.log) -// Output: -{ - metadata: { - thingName: 'my' - }, - integrity: 'sha512-BaSe64HaSh', - data: Buffer#, - size: 9320 -} - -// Look up by digest -cache.get.byDigest(cachePath, 'sha512-BaSe64HaSh').then(console.log) -// Output: -Buffer# -``` - -#### `> cacache.get.stream(cache, key, [opts]) -> Readable` - -Returns a [Readable Stream](https://nodejs.org/api/stream.html#stream_readable_streams) of the cached data identified by `key`. - -If there is no content identified by `key`, or if the locally-stored data does -not pass the validity checksum, an error will be emitted. - -`metadata` and `integrity` events will be emitted before the stream closes, if -you need to collect that extra data about the cached entry. - -A sub-function, `get.stream.byDigest` may be used for identical behavior, -except lookup will happen by integrity hash, bypassing the index entirely. This -version does not emit the `metadata` and `integrity` events at all. - -See: [options](#get-options) - -##### Example - -```javascript -// Look up by key -cache.get.stream( - cachePath, 'my-thing' -).on('metadata', metadata => { - console.log('metadata:', metadata) -}).on('integrity', integrity => { - console.log('integrity:', integrity) -}).pipe( - fs.createWriteStream('./x.tgz') -) -// Outputs: -metadata: { ... } -integrity: 'sha512-SoMeDIGest+64==' - -// Look up by digest -cache.get.stream.byDigest( - cachePath, 'sha512-SoMeDIGest+64==' -).pipe( - fs.createWriteStream('./x.tgz') -) -``` - -#### `> cacache.get.info(cache, key) -> Promise` - -Looks up `key` in the cache index, returning information about the entry if -one exists. - -##### Fields - -* `key` - Key the entry was looked up under. Matches the `key` argument. -* `integrity` - [Subresource Integrity hash](#integrity) for the content this entry refers to. -* `path` - Filesystem path where content is stored, joined with `cache` argument. -* `time` - Timestamp the entry was first added on. -* `metadata` - User-assigned metadata associated with the entry/content. - -##### Example - -```javascript -cacache.get.info(cachePath, 'my-thing').then(console.log) - -// Output -{ - key: 'my-thing', - integrity: 'sha256-MUSTVERIFY+ALL/THINGS==' - path: '.testcache/content/deadbeef', - time: 12345698490, - size: 849234, - metadata: { - name: 'blah', - version: '1.2.3', - description: 'this was once a package but now it is my-thing' - } -} -``` - -#### `> cacache.get.hasContent(cache, integrity) -> Promise` - -Looks up a [Subresource Integrity hash](#integrity) in the cache. If content -exists for this `integrity`, it will return an object, with the specific single integrity hash -that was found in `sri` key, and the size of the found content as `size`. If no content exists for this integrity, it will return `false`. - -##### Example - -```javascript -cacache.get.hasContent(cachePath, 'sha256-MUSTVERIFY+ALL/THINGS==').then(console.log) - -// Output -{ - sri: { - source: 'sha256-MUSTVERIFY+ALL/THINGS==', - algorithm: 'sha256', - digest: 'MUSTVERIFY+ALL/THINGS==', - options: [] - }, - size: 9001 -} - -cacache.get.hasContent(cachePath, 'sha521-NOT+IN/CACHE==').then(console.log) - -// Output -false -``` - -##### Options - -##### `opts.integrity` -If present, the pre-calculated digest for the inserted content. If this option -is provided and does not match the post-insertion digest, insertion will fail -with an `EINTEGRITY` error. - -##### `opts.memoize` - -Default: null - -If explicitly truthy, cacache will read from memory and memoize data on bulk read. If `false`, cacache will read from disk data. Reader functions by default read from in-memory cache. - -##### `opts.size` -If provided, the data stream will be verified to check that enough data was -passed through. If there's more or less data than expected, insertion will fail -with an `EBADSIZE` error. - - -#### `> cacache.put(cache, key, data, [opts]) -> Promise` - -Inserts data passed to it into the cache. The returned Promise resolves with a -digest (generated according to [`opts.algorithms`](#optsalgorithms)) after the -cache entry has been successfully written. - -See: [options](#put-options) - -##### Example - -```javascript -fetch( - 'https://registry.npmjs.org/cacache/-/cacache-1.0.0.tgz' -).then(data => { - return cacache.put(cachePath, 'registry.npmjs.org|cacache@1.0.0', data) -}).then(integrity => { - console.log('integrity hash is', integrity) -}) -``` - -#### `> cacache.put.stream(cache, key, [opts]) -> Writable` - -Returns a [Writable -Stream](https://nodejs.org/api/stream.html#stream_writable_streams) that inserts -data written to it into the cache. Emits an `integrity` event with the digest of -written contents when it succeeds. - -See: [options](#put-options) - -##### Example - -```javascript -request.get( - 'https://registry.npmjs.org/cacache/-/cacache-1.0.0.tgz' -).pipe( - cacache.put.stream( - cachePath, 'registry.npmjs.org|cacache@1.0.0' - ).on('integrity', d => console.log(`integrity digest is ${d}`)) -) -``` - -##### Options - -##### `opts.metadata` - -Arbitrary metadata to be attached to the inserted key. - -##### `opts.size` - -If provided, the data stream will be verified to check that enough data was -passed through. If there's more or less data than expected, insertion will fail -with an `EBADSIZE` error. - -##### `opts.integrity` - -If present, the pre-calculated digest for the inserted content. If this option -is provided and does not match the post-insertion digest, insertion will fail -with an `EINTEGRITY` error. - -`algorithms` has no effect if this option is present. - -##### `opts.algorithms` - -Default: ['sha512'] - -Hashing algorithms to use when calculating the [subresource integrity -digest](#integrity) -for inserted data. Can use any algorithm listed in `crypto.getHashes()` or -`'omakase'`/`'お任せします'` to pick a random hash algorithm on each insertion. You -may also use any anagram of `'modnar'` to use this feature. - -Currently only supports one algorithm at a time (i.e., an array length of -exactly `1`). Has no effect if `opts.integrity` is present. - -##### `opts.memoize` - -Default: null - -If provided, cacache will memoize the given cache insertion in memory, bypassing -any filesystem checks for that key or digest in future cache fetches. Nothing -will be written to the in-memory cache unless this option is explicitly truthy. - -If `opts.memoize` is an object or a `Map`-like (that is, an object with `get` -and `set` methods), it will be written to instead of the global memoization -cache. - -Reading from disk data can be forced by explicitly passing `memoize: false` to -the reader functions, but their default will be to read from memory. - -##### `opts.tmpPrefix` -Default: null - -Prefix to append on the temporary directory name inside the cache's tmp dir. - -#### `> cacache.rm.all(cache) -> Promise` - -Clears the entire cache. Mainly by blowing away the cache directory itself. - -##### Example - -```javascript -cacache.rm.all(cachePath).then(() => { - console.log('THE APOCALYPSE IS UPON US 😱') -}) -``` - -#### `> cacache.rm.entry(cache, key, [opts]) -> Promise` - -Alias: `cacache.rm` - -Removes the index entry for `key`. Content will still be accessible if -requested directly by content address ([`get.stream.byDigest`](#get-stream)). - -By default, this appends a new entry to the index with an integrity of `null`. -If `opts.removeFully` is set to `true` then the index file itself will be -physically deleted rather than appending a `null`. - -To remove the content itself (which might still be used by other entries), use -[`rm.content`](#rm-content). Or, to safely vacuum any unused content, use -[`verify`](#verify). - -##### Example - -```javascript -cacache.rm.entry(cachePath, 'my-thing').then(() => { - console.log('I did not like it anyway') -}) -``` - -#### `> cacache.rm.content(cache, integrity) -> Promise` - -Removes the content identified by `integrity`. Any index entries referring to it -will not be usable again until the content is re-added to the cache with an -identical digest. - -##### Example - -```javascript -cacache.rm.content(cachePath, 'sha512-SoMeDIGest/IN+BaSE64==').then(() => { - console.log('data for my-thing is gone!') -}) -``` - -#### `> cacache.index.compact(cache, key, matchFn, [opts]) -> Promise` - -Uses `matchFn`, which must be a synchronous function that accepts two entries -and returns a boolean indicating whether or not the two entries match, to -deduplicate all entries in the cache for the given `key`. - -If `opts.validateEntry` is provided, it will be called as a function with the -only parameter being a single index entry. The function must return a Boolean, -if it returns `true` the entry is considered valid and will be kept in the index, -if it returns `false` the entry will be removed from the index. - -If `opts.validateEntry` is not provided, however, every entry in the index will -be deduplicated and kept until the first `null` integrity is reached, removing -all entries that were written before the `null`. - -The deduplicated list of entries is both written to the index, replacing the -existing content, and returned in the Promise. - -#### `> cacache.index.insert(cache, key, integrity, opts) -> Promise` - -Writes an index entry to the cache for the given `key` without writing content. - -It is assumed if you are using this method, you have already stored the content -some other way and you only wish to add a new index to that content. The `metadata` -and `size` properties are read from `opts` and used as part of the index entry. - -Returns a Promise resolving to the newly added entry. - -#### `> cacache.clearMemoized()` - -Completely resets the in-memory entry cache. - -#### `> tmp.mkdir(cache, opts) -> Promise` - -Returns a unique temporary directory inside the cache's `tmp` dir. This -directory will use the same safe user assignment that all the other stuff use. - -Once the directory is made, it's the user's responsibility that all files -within are given the appropriate `gid`/`uid` ownership settings to match -the rest of the cache. If not, you can ask cacache to do it for you by -calling [`tmp.fix()`](#tmp-fix), which will fix all tmp directory -permissions. - -If you want automatic cleanup of this directory, use -[`tmp.withTmp()`](#with-tpm) - -See: [options](#tmp-options) - -##### Example - -```javascript -cacache.tmp.mkdir(cache).then(dir => { - fs.writeFile(path.join(dir, 'blablabla'), Buffer#<1234>, ...) -}) -``` - -#### `> tmp.fix(cache) -> Promise` - -Sets the `uid` and `gid` properties on all files and folders within the tmp -folder to match the rest of the cache. - -Use this after manually writing files into [`tmp.mkdir`](#tmp-mkdir) or -[`tmp.withTmp`](#with-tmp). - -##### Example - -```javascript -cacache.tmp.mkdir(cache).then(dir => { - writeFile(path.join(dir, 'file'), someData).then(() => { - // make sure we didn't just put a root-owned file in the cache - cacache.tmp.fix().then(() => { - // all uids and gids match now - }) - }) -}) -``` - -#### `> tmp.withTmp(cache, opts, cb) -> Promise` - -Creates a temporary directory with [`tmp.mkdir()`](#tmp-mkdir) and calls `cb` -with it. The created temporary directory will be removed when the return value -of `cb()` resolves, the tmp directory will be automatically deleted once that -promise completes. - -The same caveats apply when it comes to managing permissions for the tmp dir's -contents. - -See: [options](#tmp-options) - -##### Example - -```javascript -cacache.tmp.withTmp(cache, dir => { - return fs.writeFileAsync(path.join(dir, 'blablabla'), Buffer#<1234>, ...) -}).then(() => { - // `dir` no longer exists -}) -``` - -##### Options - -##### `opts.tmpPrefix` -Default: null - -Prefix to append on the temporary directory name inside the cache's tmp dir. - -#### Subresource Integrity Digests - -For content verification and addressing, cacache uses strings following the -[Subresource -Integrity spec](https://developer.mozilla.org/en-US/docs/Web/Security/Subresource_Integrity). -That is, any time cacache expects an `integrity` argument or option, it -should be in the format `-`. - -One deviation from the current spec is that cacache will support any hash -algorithms supported by the underlying Node.js process. You can use -`crypto.getHashes()` to see which ones you can use. - -##### Generating Digests Yourself - -If you have an existing content shasum, they are generally formatted as a -hexadecimal string (that is, a sha1 would look like: -`5f5513f8822fdbe5145af33b64d8d970dcf95c6e`). In order to be compatible with -cacache, you'll need to convert this to an equivalent subresource integrity -string. For this example, the corresponding hash would be: -`sha1-X1UT+IIv2+UUWvM7ZNjZcNz5XG4=`. - -If you want to generate an integrity string yourself for existing data, you can -use something like this: - -```javascript -const crypto = require('crypto') -const hashAlgorithm = 'sha512' -const data = 'foobarbaz' - -const integrity = ( - hashAlgorithm + - '-' + - crypto.createHash(hashAlgorithm).update(data).digest('base64') -) -``` - -You can also use [`ssri`](https://npm.im/ssri) to have a richer set of functionality -around SRI strings, including generation, parsing, and translating from existing -hex-formatted strings. - -#### `> cacache.verify(cache, opts) -> Promise` - -Checks out and fixes up your cache: - -* Cleans up corrupted or invalid index entries. -* Custom entry filtering options. -* Garbage collects any content entries not referenced by the index. -* Checks integrity for all content entries and removes invalid content. -* Fixes cache ownership. -* Removes the `tmp` directory in the cache and all its contents. - -When it's done, it'll return an object with various stats about the verification -process, including amount of storage reclaimed, number of valid entries, number -of entries removed, etc. - -##### Options - -##### `opts.concurrency` - -Default: 20 - -Number of concurrently read files in the filesystem while doing clean up. - -##### `opts.filter` -Receives a formatted entry. Return false to remove it. -Note: might be called more than once on the same entry. - -##### `opts.log` -Custom logger function: -``` - log: { silly () {} } - log.silly('verify', 'verifying cache at', cache) -``` - -##### Example - -```sh -echo somegarbage >> $CACHEPATH/content/deadbeef -``` - -```javascript -cacache.verify(cachePath).then(stats => { - // deadbeef collected, because of invalid checksum. - console.log('cache is much nicer now! stats:', stats) -}) -``` - -#### `> cacache.verify.lastRun(cache) -> Promise` - -Returns a `Date` representing the last time `cacache.verify` was run on `cache`. - -##### Example - -```javascript -cacache.verify(cachePath).then(() => { - cacache.verify.lastRun(cachePath).then(lastTime => { - console.log('cacache.verify was last called on' + lastTime) - }) -}) -``` diff --git a/deps/npm/node_modules/caseless/README.md b/deps/npm/node_modules/caseless/README.md deleted file mode 100644 index e5077a21659b25..00000000000000 --- a/deps/npm/node_modules/caseless/README.md +++ /dev/null @@ -1,45 +0,0 @@ -## Caseless -- wrap an object to set and get property with caseless semantics but also preserve caseing. - -This library is incredibly useful when working with HTTP headers. It allows you to get/set/check for headers in a caseless manner while also preserving the caseing of headers the first time they are set. - -## Usage - -```javascript -var headers = {} - , c = caseless(headers) - ; -c.set('a-Header', 'asdf') -c.get('a-header') === 'asdf' -``` - -## has(key) - -Has takes a name and if it finds a matching header will return that header name with the preserved caseing it was set with. - -```javascript -c.has('a-header') === 'a-Header' -``` - -## set(key, value[, clobber=true]) - -Set is fairly straight forward except that if the header exists and clobber is disabled it will add `','+value` to the existing header. - -```javascript -c.set('a-Header', 'fdas') -c.set('a-HEADER', 'more', false) -c.get('a-header') === 'fdsa,more' -``` - -## swap(key) - -Swaps the casing of a header with the new one that is passed in. - -```javascript -var headers = {} - , c = caseless(headers) - ; -c.set('a-Header', 'fdas') -c.swap('a-HEADER') -c.has('a-header') === 'a-HEADER' -headers === {'a-HEADER': 'fdas'} -``` diff --git a/deps/npm/node_modules/chownr/README.md b/deps/npm/node_modules/chownr/README.md deleted file mode 100644 index 70e9a54a32b8e0..00000000000000 --- a/deps/npm/node_modules/chownr/README.md +++ /dev/null @@ -1,3 +0,0 @@ -Like `chown -R`. - -Takes the same arguments as `fs.chown()` diff --git a/deps/npm/node_modules/cidr-regex/README.md b/deps/npm/node_modules/cidr-regex/README.md deleted file mode 100644 index b2d110242b25db..00000000000000 --- a/deps/npm/node_modules/cidr-regex/README.md +++ /dev/null @@ -1,61 +0,0 @@ -# cidr-regex -[![](https://img.shields.io/npm/v/cidr-regex.svg?style=flat)](https://www.npmjs.org/package/cidr-regex) [![](https://img.shields.io/npm/dm/cidr-regex.svg)](https://www.npmjs.org/package/cidr-regex) - -> Regular expression for matching IP addresses in CIDR notation - -## Usage - -```sh -$ npm i cidr-regex -``` - -```js -const cidrRegex = require("cidr-regex"); - -// Contains a CIDR IP address? -cidrRegex().test("foo 192.168.0.1/24"); -//=> true - -// Is a CIDR IP address? -cidrRegex({exact: true}).test("foo 192.168.0.1/24"); -//=> false - -cidrRegex.v6({exact: true}).test("1:2:3:4:5:6:7:8/64"); -//=> true - -// Extract CIDRs from string -"foo 192.168.0.1/24 bar 1:2:3:4:5:6:7:8/64 baz".match(cidrRegex()); -//=> ["192.168.0.1/24", "1:2:3:4:5:6:7:8/64"] -``` - -## API -### cidrRegex([options]) - -Returns a regex for matching both IPv4 and IPv6 CIDR IP addresses. - -### cidrRegex.v4([options]) - -Returns a regex for matching IPv4 CIDR IP addresses. - -### cidrRegex.v6([options]) - -Returns a regex for matching IPv6 CIDR IP addresses. - -#### options.exact - -Type: `boolean`
    -Default: `false` *(Matches any CIDR IP address in a string)* - -Only match an exact string. Useful with `RegExp#test()` to check if a string is a CIDR IP address. - -## Related - -- [is-cidr](https://github.com/silverwind/is-cidr) - Check if a string is an IP address in CIDR notation -- [is-ip](https://github.com/sindresorhus/is-ip) - Check if a string is an IP address -- [ip-regex](https://github.com/sindresorhus/ip-regex) - Regular expression for matching IP addresses - -## License - -© [silverwind](https://github.com/silverwind), distributed under BSD licence - -Based on previous work by [Felipe Apostol](https://github.com/flipjs) diff --git a/deps/npm/node_modules/cli-columns/README.md b/deps/npm/node_modules/cli-columns/README.md deleted file mode 100644 index abcabefbd69f9d..00000000000000 --- a/deps/npm/node_modules/cli-columns/README.md +++ /dev/null @@ -1,69 +0,0 @@ -# `cli-columns` - -[![NPM version][npm-img]][npm-url] [![Downloads][downloads-img]][npm-url] [![Build Status][travis-img]][travis-url] [![Coverage Status][coveralls-img]][coveralls-url] [![Chat][gitter-img]][gitter-url] [![Tip][amazon-img]][amazon-url] - -Columnated lists for the CLI. Unicode and ANSI safe. - -## Install - - $ npm install --save cli-columns - -## Usage - -```js -const chalk = require('chalk'); -const columns = require('.'); - -const values = [ - 'blue' + chalk.bgBlue('berry'), - '笔菠萝' + chalk.yellow('苹果笔'), - chalk.red('apple'), 'pomegranate', - 'durian', chalk.green('star fruit'), - 'パイナップル', 'apricot', 'banana', - 'pineapple', chalk.bgRed.yellow('orange') -]; - -console.log(columns(values)); -``` - -screenshot - -## API - -### columns(values [, options]): String - -- `values` `{Array}` Array of strings to display. -- `options` `{Object}` - - `character` `{String}` (default: `' '`) Padding character. - - `newline` `{String}` (default: `'\n'`) Newline character. - - `padding` `{Number}` (default: `2`) Space between columns. - - `sort` `{Boolean}` (default: `true`) Whether to sort results. - - `width` `{Number}` (default: `process.stdout.columns`) Max width of list. - -Sorts and formats a list of values into columns suitable to display in a given width. - -## Contribute - -Standards for this project, including tests, code coverage, and semantics are enforced with a build tool. Pull requests must include passing tests with 100% code coverage and no linting errors. - -### Test - - $ npm test - ----- - -© Shannon Moeller (shannonmoeller.com) - -Licensed under [MIT](http://shannonmoeller.com/mit.txt) - -[amazon-img]: https://img.shields.io/badge/amazon-tip_jar-yellow.svg?style=flat-square -[amazon-url]: https://www.amazon.com/gp/registry/wishlist/1VQM9ID04YPC5?sort=universal-price -[coveralls-img]: http://img.shields.io/coveralls/shannonmoeller/cli-columns/master.svg?style=flat-square -[coveralls-url]: https://coveralls.io/r/shannonmoeller/cli-columns -[downloads-img]: http://img.shields.io/npm/dm/cli-columns.svg?style=flat-square -[gitter-img]: http://img.shields.io/badge/gitter-join_chat-1dce73.svg?style=flat-square -[gitter-url]: https://gitter.im/shannonmoeller/shannonmoeller -[npm-img]: http://img.shields.io/npm/v/cli-columns.svg?style=flat-square -[npm-url]: https://npmjs.org/package/cli-columns -[travis-img]: http://img.shields.io/travis/shannonmoeller/cli-columns.svg?style=flat-square -[travis-url]: https://travis-ci.org/shannonmoeller/cli-columns diff --git a/deps/npm/node_modules/cli-table3/CHANGELOG.md b/deps/npm/node_modules/cli-table3/CHANGELOG.md deleted file mode 100644 index 1ad2e7581458de..00000000000000 --- a/deps/npm/node_modules/cli-table3/CHANGELOG.md +++ /dev/null @@ -1,81 +0,0 @@ -# Changelog - -## v0.6.0 (2020-03-30) - -#### :boom: Breaking Change -* [#156](https://github.com/cli-table/cli-table3/pull/156) Drop support for Node 6 and 8 ([@Turbo87](https://github.com/Turbo87)) - -#### :bug: Bug Fix -* [#92](https://github.com/cli-table/cli-table3/pull/92) Emoji Length Calculation Fix ([@acupoftee](https://github.com/acupoftee)) -* [#53](https://github.com/cli-table/cli-table3/pull/53) "Table" union type definition fix ([@macieklad](https://github.com/macieklad)) - -#### :memo: Documentation -* [#135](https://github.com/cli-table/cli-table3/pull/135) docs: use https ([@DanielRuf](https://github.com/DanielRuf)) - -#### :house: Internal -* [#132](https://github.com/cli-table/cli-table3/pull/132) Update lockfile ([@DanielRuf](https://github.com/DanielRuf)) -* [#134](https://github.com/cli-table/cli-table3/pull/134) Fix ESLint errors ([@DanielRuf](https://github.com/DanielRuf)) -* [#103](https://github.com/cli-table/cli-table3/pull/103) Fix Jest configuration ([@boneskull](https://github.com/boneskull)) - -#### Committers: 5 -- Christopher Hiller ([@boneskull](https://github.com/boneskull)) -- Daniel Ruf ([@DanielRuf](https://github.com/DanielRuf)) -- Maciej Ładoś ([@macieklad](https://github.com/macieklad)) -- Tee ([@acupoftee](https://github.com/acupoftee)) -- Tobias Bieniek ([@Turbo87](https://github.com/Turbo87)) - - -## v0.5.1 (2018-07-19) - -#### :rocket: Enhancement -* [#21](https://github.com/cli-table/cli-table3/pull/21) Import type definition from `@types/cli-table2` ([@Turbo87](https://github.com/Turbo87)) - -#### Committers: 1 -- Tobias Bieniek ([Turbo87](https://github.com/Turbo87)) - - -## v0.5.0 (2018-06-11) - -#### :boom: Breaking Change -* [#2](https://github.com/cli-table/cli-table3/pull/2) Update Node version requirements. ([@Turbo87](https://github.com/Turbo87)) - -#### :memo: Documentation -* [#11](https://github.com/cli-table/cli-table3/pull/11) Update Documentation. ([@Turbo87](https://github.com/Turbo87)) - -#### :house: Internal -* [#16](https://github.com/cli-table/cli-table3/pull/16) Replace `kind-of` dependency with `typeof` and `Array.isArray()`. ([@Turbo87](https://github.com/Turbo87)) -* [#15](https://github.com/cli-table/cli-table3/pull/15) Remove Gulp. ([@Turbo87](https://github.com/Turbo87)) -* [#13](https://github.com/cli-table/cli-table3/pull/13) Use ES6 class syntax and `let/const`. ([@Turbo87](https://github.com/Turbo87)) -* [#12](https://github.com/cli-table/cli-table3/pull/12) Add ESLint and Prettier. ([@Turbo87](https://github.com/Turbo87)) -* [#10](https://github.com/cli-table/cli-table3/pull/10) chore: use yarn cache. ([@DanielRuf](https://github.com/DanielRuf)) -* [#9](https://github.com/cli-table/cli-table3/pull/9) Use Jest for testing. ([@Turbo87](https://github.com/Turbo87)) -* [#3](https://github.com/cli-table/cli-table3/pull/3) Add `yarn.lock` file. ([@Turbo87](https://github.com/Turbo87)) -* [#1](https://github.com/cli-table/cli-table3/pull/1) Skip broken test. ([@Turbo87](https://github.com/Turbo87)) - -#### Committers: 2 -- Daniel Ruf ([DanielRuf](https://github.com/DanielRuf)) -- Tobias Bieniek ([Turbo87](https://github.com/Turbo87)) - - -## v0.4.0 (2018-06-10) - -First official release as `cli-table3`. Changes compares to `cli-table2` v0.2.0: - -#### :rocket: Enhancement -* [#27](https://github.com/jamestalmage/cli-table2/pull/27) Remove "lodash" dependency. ([@Turbo87](https://github.com/Turbo87)) - -#### :bug: Bug Fix -* [#29](https://github.com/jamestalmage/cli-table2/pull/29) Fix wordWrap with colSpan. ([@mmurphy](https://github.com/mmurphy)) -* [#24](https://github.com/jamestalmage/cli-table2/pull/24) Fixing the runtime error when content is truncated. ([@sthadeshwar](https://github.com/sthadeshwar)) - -#### :memo: Documentation -* [#41](https://github.com/jamestalmage/cli-table2/pull/41) Create LICENSE. ([@GantMan](https://github.com/GantMan)) - -#### :house: Internal -* [#26](https://github.com/jamestalmage/cli-table2/pull/26) package.json: Whitelist JS files ([@Turbo87](https://github.com/Turbo87)) - -#### Committers: 4 -- Gant Laborde ([GantMan](https://github.com/GantMan)) -- Martin Murphy ([mmurphy](https://github.com/mmurphy)) -- Satyajit Thadeshwar ([sthadeshwar](https://github.com/sthadeshwar)) -- Tobias Bieniek ([Turbo87](https://github.com/Turbo87)) diff --git a/deps/npm/node_modules/cli-table3/README.md b/deps/npm/node_modules/cli-table3/README.md deleted file mode 100644 index 03f805437cc4ed..00000000000000 --- a/deps/npm/node_modules/cli-table3/README.md +++ /dev/null @@ -1,218 +0,0 @@ -cli-table3 -=============================================================================== - -[![npm version](https://img.shields.io/npm/v/cli-table3.svg)](https://www.npmjs.com/package/cli-table3) -[![Build Status](https://travis-ci.com/cli-table/cli-table3.svg?branch=master)](https://travis-ci.com/cli-table/cli-table3) - -This utility allows you to render unicode-aided tables on the command line from -your node.js scripts. - -`cli-table3` is based on (and api compatible with) the original [cli-table](https://github.com/Automattic/cli-table), -and [cli-table2](https://github.com/jamestalmage/cli-table2), which are both -unmaintained. `cli-table3` includes all the additional features from -`cli-table2`. - -![Screenshot](https://i.imgur.com/sYq4T.png) - -## Features not in the original cli-table - -- Ability to make cells span columns and/or rows. -- Ability to set custom styles per cell (border characters/colors, padding, etc). -- Vertical alignment (top, bottom, center). -- Automatic word wrapping. -- More robust truncation of cell text that contains ansi color characters. -- Better handling of text color that spans multiple lines. -- API compatible with the original cli-table. -- Exhaustive test suite including the entire original cli-table test suite. -- Lots of examples auto-generated from the tests ([basic](https://github.com/cli-table/cli-table3/blob/master/basic-usage.md), [advanced](https://github.com/cli-table/cli-table3/blob/master/advanced-usage.md)). - -## Features - -- Customizable characters that constitute the table. -- Color/background styling in the header through - [colors.js](https://github.com/marak/colors.js) -- Column width customization -- Text truncation based on predefined widths -- Text alignment (left, right, center) -- Padding (left, right) -- Easy-to-use API - -## Installation - -```bash -npm install cli-table3 -``` - -## How to use - -A portion of the unit test suite is used to generate examples: -- [basic-usage](https://github.com/cli-table/cli-table3/blob/master/basic-usage.md) - covers basic uses. -- [advanced](https://github.com/cli-table/cli-table3/blob/master/advanced-usage.md) - covers using the new column and row span features. - -This package is api compatible with the original [cli-table](https://github.com/Automattic/cli-table). -So all the original documentation still applies (copied below). - -### Horizontal Tables -```javascript -var Table = require('cli-table3'); - -// instantiate -var table = new Table({ - head: ['TH 1 label', 'TH 2 label'] - , colWidths: [100, 200] -}); - -// table is an Array, so you can `push`, `unshift`, `splice` and friends -table.push( - ['First value', 'Second value'] - , ['First value', 'Second value'] -); - -console.log(table.toString()); -``` - -### Vertical Tables -```javascript -var Table = require('cli-table3'); -var table = new Table(); - -table.push( - { 'Some key': 'Some value' } - , { 'Another key': 'Another value' } -); - -console.log(table.toString()); -``` -### Cross Tables -Cross tables are very similar to vertical tables, with two key differences: - -1. They require a `head` setting when instantiated that has an empty string as the first header -2. The individual rows take the general form of { "Header": ["Row", "Values"] } - -```javascript -var Table = require('cli-table3'); -var table = new Table({ head: ["", "Top Header 1", "Top Header 2"] }); - -table.push( - { 'Left Header 1': ['Value Row 1 Col 1', 'Value Row 1 Col 2'] } - , { 'Left Header 2': ['Value Row 2 Col 1', 'Value Row 2 Col 2'] } -); - -console.log(table.toString()); -``` - -### Custom styles -The ```chars``` property controls how the table is drawn: -```javascript -var table = new Table({ - chars: { 'top': '═' , 'top-mid': '╤' , 'top-left': '╔' , 'top-right': '╗' - , 'bottom': '═' , 'bottom-mid': '╧' , 'bottom-left': '╚' , 'bottom-right': '╝' - , 'left': '║' , 'left-mid': '╟' , 'mid': '─' , 'mid-mid': '┼' - , 'right': '║' , 'right-mid': '╢' , 'middle': '│' } -}); - -table.push( - ['foo', 'bar', 'baz'] - , ['frob', 'bar', 'quuz'] -); - -console.log(table.toString()); -// Outputs: -// -//╔══════╤═════╤══════╗ -//║ foo │ bar │ baz ║ -//╟──────┼─────┼──────╢ -//║ frob │ bar │ quuz ║ -//╚══════╧═════╧══════╝ -``` - -Empty decoration lines will be skipped, to avoid vertical separator rows just -set the 'mid', 'left-mid', 'mid-mid', 'right-mid' to the empty string: -```javascript -var table = new Table({ chars: {'mid': '', 'left-mid': '', 'mid-mid': '', 'right-mid': ''} }); -table.push( - ['foo', 'bar', 'baz'] - , ['frobnicate', 'bar', 'quuz'] -); - -console.log(table.toString()); -// Outputs: (note the lack of the horizontal line between rows) -//┌────────────┬─────┬──────┐ -//│ foo │ bar │ baz │ -//│ frobnicate │ bar │ quuz │ -//└────────────┴─────┴──────┘ -``` - -By setting all chars to empty with the exception of 'middle' being set to a -single space and by setting padding to zero, it's possible to get the most -compact layout with no decorations: -```javascript -var table = new Table({ - chars: { 'top': '' , 'top-mid': '' , 'top-left': '' , 'top-right': '' - , 'bottom': '' , 'bottom-mid': '' , 'bottom-left': '' , 'bottom-right': '' - , 'left': '' , 'left-mid': '' , 'mid': '' , 'mid-mid': '' - , 'right': '' , 'right-mid': '' , 'middle': ' ' }, - style: { 'padding-left': 0, 'padding-right': 0 } -}); - -table.push( - ['foo', 'bar', 'baz'] - , ['frobnicate', 'bar', 'quuz'] -); - -console.log(table.toString()); -// Outputs: -//foo bar baz -//frobnicate bar quuz -``` - -## Build Targets - -Clone the repository and run `yarn install` to install all its submodules, then run one of the following commands: - -###### Run the tests with coverage reports. -```bash -$ yarn test:coverage -``` - -###### Run the tests every time a file changes. -```bash -$ yarn test:watch -``` - -###### Update the documentation. -```bash -$ yarn docs -``` - -## Credits - -- James Talmage - author <james.talmage@jrtechnical.com> ([jamestalmage](https://github.com/jamestalmage)) -- Guillermo Rauch - author of the original cli-table <guillermo@learnboost.com> ([Guille](https://github.com/guille)) - -## License - -(The MIT License) - -Copyright (c) 2014 James Talmage <james.talmage@jrtechnical.com> - -Original cli-table code/documentation: Copyright (c) 2010 LearnBoost <dev@learnboost.com> - -Permission is hereby granted, free of charge, to any person obtaining -a copy of this software and associated documentation files (the -'Software'), to deal in the Software without restriction, including -without limitation the rights to use, copy, modify, merge, publish, -distribute, sublicense, and/or sell copies of the Software, and to -permit persons to whom the Software is furnished to do so, subject to -the following conditions: - -The above copyright notice and this permission notice shall be -included in all copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED 'AS IS', WITHOUT WARRANTY OF ANY KIND, -EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF -MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. -IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY -CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, -TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE -SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. diff --git a/deps/npm/node_modules/clone/.npmignore b/deps/npm/node_modules/clone/.npmignore deleted file mode 100644 index c797cbf3963370..00000000000000 --- a/deps/npm/node_modules/clone/.npmignore +++ /dev/null @@ -1,4 +0,0 @@ -/node_modules/ -/test.js -/*.html -/.travis.yml diff --git a/deps/npm/node_modules/clone/README.md b/deps/npm/node_modules/clone/README.md deleted file mode 100644 index 0b6cecae29b52d..00000000000000 --- a/deps/npm/node_modules/clone/README.md +++ /dev/null @@ -1,126 +0,0 @@ -# clone - -[![build status](https://secure.travis-ci.org/pvorb/node-clone.png)](http://travis-ci.org/pvorb/node-clone) - -[![info badge](https://nodei.co/npm/clone.png?downloads=true&downloadRank=true&stars=true)](http://npm-stat.com/charts.html?package=clone) - -offers foolproof _deep cloning_ of objects, arrays, numbers, strings etc. in JavaScript. - - -## Installation - - npm install clone - -(It also works with browserify, ender or standalone.) - - -## Example - -~~~ javascript -var clone = require('clone'); - -var a, b; - -a = { foo: { bar: 'baz' } }; // initial value of a - -b = clone(a); // clone a -> b -a.foo.bar = 'foo'; // change a - -console.log(a); // show a -console.log(b); // show b -~~~ - -This will print: - -~~~ javascript -{ foo: { bar: 'foo' } } -{ foo: { bar: 'baz' } } -~~~ - -**clone** masters cloning simple objects (even with custom prototype), arrays, -Date objects, and RegExp objects. Everything is cloned recursively, so that you -can clone dates in arrays in objects, for example. - - -## API - -`clone(val, circular, depth)` - - * `val` -- the value that you want to clone, any type allowed - * `circular` -- boolean - - Call `clone` with `circular` set to `false` if you are certain that `obj` - contains no circular references. This will give better performance if needed. - There is no error if `undefined` or `null` is passed as `obj`. - * `depth` -- depth to which the object is to be cloned (optional, - defaults to infinity) - -`clone.clonePrototype(obj)` - - * `obj` -- the object that you want to clone - -Does a prototype clone as -[described by Oran Looney](http://oranlooney.com/functional-javascript/). - - -## Circular References - -~~~ javascript -var a, b; - -a = { hello: 'world' }; - -a.myself = a; -b = clone(a); - -console.log(b); -~~~ - -This will print: - -~~~ javascript -{ hello: "world", myself: [Circular] } -~~~ - -So, `b.myself` points to `b`, not `a`. Neat! - - -## Test - - npm test - - -## Caveat - -Some special objects like a socket or `process.stdout`/`stderr` are known to not -be cloneable. If you find other objects that cannot be cloned, please [open an -issue](https://github.com/pvorb/node-clone/issues/new). - - -## Bugs and Issues - -If you encounter any bugs or issues, feel free to [open an issue at -github](https://github.com/pvorb/node-clone/issues) or send me an email to -. I also always like to hear from you, if you’re using my code. - -## License - -Copyright © 2011-2015 [Paul Vorbach](http://paul.vorba.ch/) and -[contributors](https://github.com/pvorb/node-clone/graphs/contributors). - -Permission is hereby granted, free of charge, to any person obtaining a copy of -this software and associated documentation files (the “Software”), to deal in -the Software without restriction, including without limitation the rights to -use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of -the Software, and to permit persons to whom the Software is furnished to do so, -subject to the following conditions: - -The above copyright notice and this permission notice shall be included in all -copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED “AS IS”, WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS -FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR -COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER -IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, OUT OF OR IN CONNECTION WITH THE -SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. diff --git a/deps/npm/node_modules/cmd-shim/README.md b/deps/npm/node_modules/cmd-shim/README.md deleted file mode 100644 index 60e6625f375459..00000000000000 --- a/deps/npm/node_modules/cmd-shim/README.md +++ /dev/null @@ -1,34 +0,0 @@ -# cmd-shim - -The cmd-shim used in npm to create executable scripts on Windows, -since symlinks are not suitable for this purpose there. - -On Unix systems, you should use a symbolic link instead. - -[![Build Status](https://img.shields.io/travis/npm/cmd-shim/master.svg)](https://travis-ci.org/npm/cmd-shim) -[![Dependency Status](https://img.shields.io/david/npm/cmd-shim.svg)](https://david-dm.org/npm/cmd-shim) -[![npm version](https://img.shields.io/npm/v/cmd-shim.svg)](https://www.npmjs.com/package/cmd-shim) - -## Installation - -``` -npm install cmd-shim -``` - -## API - -### cmdShim(from, to) -> Promise - -Create a cmd shim at `to` for the command line program at `from`. -e.g. - -```javascript -var cmdShim = require('cmd-shim'); -cmdShim(__dirname + '/cli.js', '/usr/bin/command-name').then(() => { - // shims are created! -}) -``` - -### cmdShim.ifExists(from, to) -> Promise - -The same as above, but will just continue if the file does not exist. diff --git a/deps/npm/node_modules/color-convert/CHANGELOG.md b/deps/npm/node_modules/color-convert/CHANGELOG.md deleted file mode 100644 index 0a7bce4fd570ab..00000000000000 --- a/deps/npm/node_modules/color-convert/CHANGELOG.md +++ /dev/null @@ -1,54 +0,0 @@ -# 1.0.0 - 2016-01-07 - -- Removed: unused speed test -- Added: Automatic routing between previously unsupported conversions -([#27](https://github.com/Qix-/color-convert/pull/27)) -- Removed: `xxx2xxx()` and `xxx2xxxRaw()` functions -([#27](https://github.com/Qix-/color-convert/pull/27)) -- Removed: `convert()` class -([#27](https://github.com/Qix-/color-convert/pull/27)) -- Changed: all functions to lookup dictionary -([#27](https://github.com/Qix-/color-convert/pull/27)) -- Changed: `ansi` to `ansi256` -([#27](https://github.com/Qix-/color-convert/pull/27)) -- Fixed: argument grouping for functions requiring only one argument -([#27](https://github.com/Qix-/color-convert/pull/27)) - -# 0.6.0 - 2015-07-23 - -- Added: methods to handle -[ANSI](https://en.wikipedia.org/wiki/ANSI_escape_code#Colors) 16/256 colors: - - rgb2ansi16 - - rgb2ansi - - hsl2ansi16 - - hsl2ansi - - hsv2ansi16 - - hsv2ansi - - hwb2ansi16 - - hwb2ansi - - cmyk2ansi16 - - cmyk2ansi - - keyword2ansi16 - - keyword2ansi - - ansi162rgb - - ansi162hsl - - ansi162hsv - - ansi162hwb - - ansi162cmyk - - ansi162keyword - - ansi2rgb - - ansi2hsl - - ansi2hsv - - ansi2hwb - - ansi2cmyk - - ansi2keyword -([#18](https://github.com/harthur/color-convert/pull/18)) - -# 0.5.3 - 2015-06-02 - -- Fixed: hsl2hsv does not return `NaN` anymore when using `[0,0,0]` -([#15](https://github.com/harthur/color-convert/issues/15)) - ---- - -Check out commit logs for older releases diff --git a/deps/npm/node_modules/color-convert/README.md b/deps/npm/node_modules/color-convert/README.md deleted file mode 100644 index d4b08fc369948d..00000000000000 --- a/deps/npm/node_modules/color-convert/README.md +++ /dev/null @@ -1,68 +0,0 @@ -# color-convert - -[![Build Status](https://travis-ci.org/Qix-/color-convert.svg?branch=master)](https://travis-ci.org/Qix-/color-convert) - -Color-convert is a color conversion library for JavaScript and node. -It converts all ways between `rgb`, `hsl`, `hsv`, `hwb`, `cmyk`, `ansi`, `ansi16`, `hex` strings, and CSS `keyword`s (will round to closest): - -```js -var convert = require('color-convert'); - -convert.rgb.hsl(140, 200, 100); // [96, 48, 59] -convert.keyword.rgb('blue'); // [0, 0, 255] - -var rgbChannels = convert.rgb.channels; // 3 -var cmykChannels = convert.cmyk.channels; // 4 -var ansiChannels = convert.ansi16.channels; // 1 -``` - -# Install - -```console -$ npm install color-convert -``` - -# API - -Simply get the property of the _from_ and _to_ conversion that you're looking for. - -All functions have a rounded and unrounded variant. By default, return values are rounded. To get the unrounded (raw) results, simply tack on `.raw` to the function. - -All 'from' functions have a hidden property called `.channels` that indicates the number of channels the function expects (not including alpha). - -```js -var convert = require('color-convert'); - -// Hex to LAB -convert.hex.lab('DEADBF'); // [ 76, 21, -2 ] -convert.hex.lab.raw('DEADBF'); // [ 75.56213190997677, 20.653827952644754, -2.290532499330533 ] - -// RGB to CMYK -convert.rgb.cmyk(167, 255, 4); // [ 35, 0, 98, 0 ] -convert.rgb.cmyk.raw(167, 255, 4); // [ 34.509803921568626, 0, 98.43137254901961, 0 ] -``` - -### Arrays -All functions that accept multiple arguments also support passing an array. - -Note that this does **not** apply to functions that convert from a color that only requires one value (e.g. `keyword`, `ansi256`, `hex`, etc.) - -```js -var convert = require('color-convert'); - -convert.rgb.hex(123, 45, 67); // '7B2D43' -convert.rgb.hex([123, 45, 67]); // '7B2D43' -``` - -## Routing - -Conversions that don't have an _explicitly_ defined conversion (in [conversions.js](conversions.js)), but can be converted by means of sub-conversions (e.g. XYZ -> **RGB** -> CMYK), are automatically routed together. This allows just about any color model supported by `color-convert` to be converted to any other model, so long as a sub-conversion path exists. This is also true for conversions requiring more than one step in between (e.g. LCH -> **LAB** -> **XYZ** -> **RGB** -> Hex). - -Keep in mind that extensive conversions _may_ result in a loss of precision, and exist only to be complete. For a list of "direct" (single-step) conversions, see [conversions.js](conversions.js). - -# Contribute - -If there is a new model you would like to support, or want to add a direct conversion between two existing models, please send us a pull request. - -# License -Copyright © 2011-2016, Heather Arthur and Josh Junon. Licensed under the [MIT License](LICENSE). diff --git a/deps/npm/node_modules/color-name/README.md b/deps/npm/node_modules/color-name/README.md deleted file mode 100644 index 932b979176f33b..00000000000000 --- a/deps/npm/node_modules/color-name/README.md +++ /dev/null @@ -1,11 +0,0 @@ -A JSON with color names and its values. Based on http://dev.w3.org/csswg/css-color/#named-colors. - -[![NPM](https://nodei.co/npm/color-name.png?mini=true)](https://nodei.co/npm/color-name/) - - -```js -var colors = require('color-name'); -colors.red //[255,0,0] -``` - - diff --git a/deps/npm/node_modules/colors/README.md b/deps/npm/node_modules/colors/README.md deleted file mode 100644 index fabe558902e9eb..00000000000000 --- a/deps/npm/node_modules/colors/README.md +++ /dev/null @@ -1,221 +0,0 @@ -# colors.js -[![Build Status](https://travis-ci.org/Marak/colors.js.svg?branch=master)](https://travis-ci.org/Marak/colors.js) -[![version](https://img.shields.io/npm/v/colors.svg)](https://www.npmjs.org/package/colors) -[![dependencies](https://david-dm.org/Marak/colors.js.svg)](https://david-dm.org/Marak/colors.js) -[![devDependencies](https://david-dm.org/Marak/colors.js/dev-status.svg)](https://david-dm.org/Marak/colors.js#info=devDependencies) - -Please check out the [roadmap](ROADMAP.md) for upcoming features and releases. Please open Issues to provide feedback, and check the `develop` branch for the latest bleeding-edge updates. - -## get color and style in your node.js console - -![Demo](https://raw.githubusercontent.com/Marak/colors.js/master/screenshots/colors.png) - -## Installation - - npm install colors - -## colors and styles! - -### text colors - - - black - - red - - green - - yellow - - blue - - magenta - - cyan - - white - - gray - - grey - -### bright text colors - - - brightRed - - brightGreen - - brightYellow - - brightBlue - - brightMagenta - - brightCyan - - brightWhite - -### background colors - - - bgBlack - - bgRed - - bgGreen - - bgYellow - - bgBlue - - bgMagenta - - bgCyan - - bgWhite - - bgGray - - bgGrey - -### bright background colors - - - bgBrightRed - - bgBrightGreen - - bgBrightYellow - - bgBrightBlue - - bgBrightMagenta - - bgBrightCyan - - bgBrightWhite - -### styles - - - reset - - bold - - dim - - italic - - underline - - inverse - - hidden - - strikethrough - -### extras - - - rainbow - - zebra - - america - - trap - - random - - -## Usage - -By popular demand, `colors` now ships with two types of usages! - -The super nifty way - -```js -var colors = require('colors'); - -console.log('hello'.green); // outputs green text -console.log('i like cake and pies'.underline.red) // outputs red underlined text -console.log('inverse the color'.inverse); // inverses the color -console.log('OMG Rainbows!'.rainbow); // rainbow -console.log('Run the trap'.trap); // Drops the bass - -``` - -or a slightly less nifty way which doesn't extend `String.prototype` - -```js -var colors = require('colors/safe'); - -console.log(colors.green('hello')); // outputs green text -console.log(colors.red.underline('i like cake and pies')) // outputs red underlined text -console.log(colors.inverse('inverse the color')); // inverses the color -console.log(colors.rainbow('OMG Rainbows!')); // rainbow -console.log(colors.trap('Run the trap')); // Drops the bass - -``` - -I prefer the first way. Some people seem to be afraid of extending `String.prototype` and prefer the second way. - -If you are writing good code you will never have an issue with the first approach. If you really don't want to touch `String.prototype`, the second usage will not touch `String` native object. - -## Enabling/Disabling Colors - -The package will auto-detect whether your terminal can use colors and enable/disable accordingly. When colors are disabled, the color functions do nothing. You can override this with a command-line flag: - -```bash -node myapp.js --no-color -node myapp.js --color=false - -node myapp.js --color -node myapp.js --color=true -node myapp.js --color=always - -FORCE_COLOR=1 node myapp.js -``` - -Or in code: - -```javascript -var colors = require('colors'); -colors.enable(); -colors.disable(); -``` - -## Console.log [string substitution](http://nodejs.org/docs/latest/api/console.html#console_console_log_data) - -```js -var name = 'Marak'; -console.log(colors.green('Hello %s'), name); -// outputs -> 'Hello Marak' -``` - -## Custom themes - -### Using standard API - -```js - -var colors = require('colors'); - -colors.setTheme({ - silly: 'rainbow', - input: 'grey', - verbose: 'cyan', - prompt: 'grey', - info: 'green', - data: 'grey', - help: 'cyan', - warn: 'yellow', - debug: 'blue', - error: 'red' -}); - -// outputs red text -console.log("this is an error".error); - -// outputs yellow text -console.log("this is a warning".warn); -``` - -### Using string safe API - -```js -var colors = require('colors/safe'); - -// set single property -var error = colors.red; -error('this is red'); - -// set theme -colors.setTheme({ - silly: 'rainbow', - input: 'grey', - verbose: 'cyan', - prompt: 'grey', - info: 'green', - data: 'grey', - help: 'cyan', - warn: 'yellow', - debug: 'blue', - error: 'red' -}); - -// outputs red text -console.log(colors.error("this is an error")); - -// outputs yellow text -console.log(colors.warn("this is a warning")); - -``` - -### Combining Colors - -```javascript -var colors = require('colors'); - -colors.setTheme({ - custom: ['red', 'underline'] -}); - -console.log('test'.custom); -``` - -*Protip: There is a secret undocumented style in `colors`. If you find the style you can summon him.* diff --git a/deps/npm/node_modules/common-ancestor-path/README.md b/deps/npm/node_modules/common-ancestor-path/README.md deleted file mode 100644 index 2e876437359d66..00000000000000 --- a/deps/npm/node_modules/common-ancestor-path/README.md +++ /dev/null @@ -1,28 +0,0 @@ -# common-ancestor-path - -Find the common ancestor of 2 or more paths on Windows or Unix - -## USAGE - -Give it two or more path strings, and it'll do the thing. - -```js -const ancestor = require('common-ancestor-path') - -// output /a/b -console.log(ancestor('/a/b/c/d', '/a/b/x/y/z', '/a/b/c/i/j/k')) - -// normalizes separators, but NOT cases, since it matters sometimes -console.log(ancestor('C:\\a\\b\\c', 'C:\\a\\b\\x')) - -// no common ancestor on different windows drive letters -// so, this returns null -console.log(ancestor('c:\\a\\b\\c', 'd:\\d\\e\\f')) -``` - -## API - -`commonAncestorPath(...paths)` - -Returns the nearest (deepest) common ancestor path, or `null` if on -different roots on Windows. diff --git a/deps/npm/node_modules/concat-map/.travis.yml b/deps/npm/node_modules/concat-map/.travis.yml deleted file mode 100644 index f1d0f13c8a54d0..00000000000000 --- a/deps/npm/node_modules/concat-map/.travis.yml +++ /dev/null @@ -1,4 +0,0 @@ -language: node_js -node_js: - - 0.4 - - 0.6 diff --git a/deps/npm/node_modules/concat-map/README.markdown b/deps/npm/node_modules/concat-map/README.markdown deleted file mode 100644 index 408f70a1be473c..00000000000000 --- a/deps/npm/node_modules/concat-map/README.markdown +++ /dev/null @@ -1,62 +0,0 @@ -concat-map -========== - -Concatenative mapdashery. - -[![browser support](http://ci.testling.com/substack/node-concat-map.png)](http://ci.testling.com/substack/node-concat-map) - -[![build status](https://secure.travis-ci.org/substack/node-concat-map.png)](http://travis-ci.org/substack/node-concat-map) - -example -======= - -``` js -var concatMap = require('concat-map'); -var xs = [ 1, 2, 3, 4, 5, 6 ]; -var ys = concatMap(xs, function (x) { - return x % 2 ? [ x - 0.1, x, x + 0.1 ] : []; -}); -console.dir(ys); -``` - -*** - -``` -[ 0.9, 1, 1.1, 2.9, 3, 3.1, 4.9, 5, 5.1 ] -``` - -methods -======= - -``` js -var concatMap = require('concat-map') -``` - -concatMap(xs, fn) ------------------ - -Return an array of concatenated elements by calling `fn(x, i)` for each element -`x` and each index `i` in the array `xs`. - -When `fn(x, i)` returns an array, its result will be concatenated with the -result array. If `fn(x, i)` returns anything else, that value will be pushed -onto the end of the result array. - -install -======= - -With [npm](http://npmjs.org) do: - -``` -npm install concat-map -``` - -license -======= - -MIT - -notes -===== - -This module was written while sitting high above the ground in a tree. diff --git a/deps/npm/node_modules/console-control-strings/README.md b/deps/npm/node_modules/console-control-strings/README.md deleted file mode 100644 index f58cc8d8925060..00000000000000 --- a/deps/npm/node_modules/console-control-strings/README.md +++ /dev/null @@ -1,145 +0,0 @@ -# Console Control Strings - -A library of cross-platform tested terminal/console command strings for -doing things like color and cursor positioning. This is a subset of both -ansi and vt100. All control codes included work on both Windows & Unix-like -OSes, except where noted. - -## Usage - -```js -var consoleControl = require('console-control-strings') - -console.log(consoleControl.color('blue','bgRed', 'bold') + 'hi there' + consoleControl.color('reset')) -process.stdout.write(consoleControl.goto(75, 10)) -``` - -## Why Another? - -There are tons of libraries similar to this one. I wanted one that was: - -1. Very clear about compatibility goals. -2. Could emit, for instance, a start color code without an end one. -3. Returned strings w/o writing to streams. -4. Was not weighed down with other unrelated baggage. - -## Functions - -### var code = consoleControl.up(_num = 1_) - -Returns the escape sequence to move _num_ lines up. - -### var code = consoleControl.down(_num = 1_) - -Returns the escape sequence to move _num_ lines down. - -### var code = consoleControl.forward(_num = 1_) - -Returns the escape sequence to move _num_ lines righ. - -### var code = consoleControl.back(_num = 1_) - -Returns the escape sequence to move _num_ lines left. - -### var code = consoleControl.nextLine(_num = 1_) - -Returns the escape sequence to move _num_ lines down and to the beginning of -the line. - -### var code = consoleControl.previousLine(_num = 1_) - -Returns the escape sequence to move _num_ lines up and to the beginning of -the line. - -### var code = consoleControl.eraseData() - -Returns the escape sequence to erase everything from the current cursor -position to the bottom right of the screen. This is line based, so it -erases the remainder of the current line and all following lines. - -### var code = consoleControl.eraseLine() - -Returns the escape sequence to erase to the end of the current line. - -### var code = consoleControl.goto(_x_, _y_) - -Returns the escape sequence to move the cursor to the designated position. -Note that the origin is _1, 1_ not _0, 0_. - -### var code = consoleControl.gotoSOL() - -Returns the escape sequence to move the cursor to the beginning of the -current line. (That is, it returns a carriage return, `\r`.) - -### var code = consoleControl.beep() - -Returns the escape sequence to cause the termianl to beep. (That is, it -returns unicode character `\x0007`, a Control-G.) - -### var code = consoleControl.hideCursor() - -Returns the escape sequence to hide the cursor. - -### var code = consoleControl.showCursor() - -Returns the escape sequence to show the cursor. - -### var code = consoleControl.color(_colors = []_) - -### var code = consoleControl.color(_color1_, _color2_, _…_, _colorn_) - -Returns the escape sequence to set the current terminal display attributes -(mostly colors). Arguments can either be a list of attributes or an array -of attributes. The difference between passing in an array or list of colors -and calling `.color` separately for each one, is that in the former case a -single escape sequence will be produced where as in the latter each change -will have its own distinct escape sequence. Each attribute can be one of: - -* Reset: - * **reset** – Reset all attributes to the terminal default. -* Styles: - * **bold** – Display text as bold. In some terminals this means using a - bold font, in others this means changing the color. In some it means - both. - * **italic** – Display text as italic. This is not available in most Windows terminals. - * **underline** – Underline text. This is not available in most Windows Terminals. - * **inverse** – Invert the foreground and background colors. - * **stopBold** – Do not display text as bold. - * **stopItalic** – Do not display text as italic. - * **stopUnderline** – Do not underline text. - * **stopInverse** – Do not invert foreground and background. -* Colors: - * **white** - * **black** - * **blue** - * **cyan** - * **green** - * **magenta** - * **red** - * **yellow** - * **grey** / **brightBlack** - * **brightRed** - * **brightGreen** - * **brightYellow** - * **brightBlue** - * **brightMagenta** - * **brightCyan** - * **brightWhite** -* Background Colors: - * **bgWhite** - * **bgBlack** - * **bgBlue** - * **bgCyan** - * **bgGreen** - * **bgMagenta** - * **bgRed** - * **bgYellow** - * **bgGrey** / **bgBrightBlack** - * **bgBrightRed** - * **bgBrightGreen** - * **bgBrightYellow** - * **bgBrightBlue** - * **bgBrightMagenta** - * **bgBrightCyan** - * **bgBrightWhite** - diff --git a/deps/npm/node_modules/core-util-is/README.md b/deps/npm/node_modules/core-util-is/README.md deleted file mode 100644 index 5a76b4149c5eb5..00000000000000 --- a/deps/npm/node_modules/core-util-is/README.md +++ /dev/null @@ -1,3 +0,0 @@ -# core-util-is - -The `util.is*` functions introduced in Node v0.12. diff --git a/deps/npm/node_modules/dashdash/README.md b/deps/npm/node_modules/dashdash/README.md deleted file mode 100644 index e47b106e637d21..00000000000000 --- a/deps/npm/node_modules/dashdash/README.md +++ /dev/null @@ -1,574 +0,0 @@ -A light, featureful and explicit option parsing library for node.js. - -[Why another one? See below](#why). tl;dr: The others I've tried are one of -too loosey goosey (not explicit), too big/too many deps, or ill specified. -YMMV. - -Follow @trentmick -for updates to node-dashdash. - -# Install - - npm install dashdash - - -# Usage - -```javascript -var dashdash = require('dashdash'); - -// Specify the options. Minimally `name` (or `names`) and `type` -// must be given for each. -var options = [ - { - // `names` or a single `name`. First element is the `opts.KEY`. - names: ['help', 'h'], - // See "Option specs" below for types. - type: 'bool', - help: 'Print this help and exit.' - } -]; - -// Shortcut form. As called it infers `process.argv`. See below for -// the longer form to use methods like `.help()` on the Parser object. -var opts = dashdash.parse({options: options}); - -console.log("opts:", opts); -console.log("args:", opts._args); -``` - - -# Longer Example - -A more realistic [starter script "foo.js"](./examples/foo.js) is as follows. -This also shows using `parser.help()` for formatted option help. - -```javascript -var dashdash = require('./lib/dashdash'); - -var options = [ - { - name: 'version', - type: 'bool', - help: 'Print tool version and exit.' - }, - { - names: ['help', 'h'], - type: 'bool', - help: 'Print this help and exit.' - }, - { - names: ['verbose', 'v'], - type: 'arrayOfBool', - help: 'Verbose output. Use multiple times for more verbose.' - }, - { - names: ['file', 'f'], - type: 'string', - help: 'File to process', - helpArg: 'FILE' - } -]; - -var parser = dashdash.createParser({options: options}); -try { - var opts = parser.parse(process.argv); -} catch (e) { - console.error('foo: error: %s', e.message); - process.exit(1); -} - -console.log("# opts:", opts); -console.log("# args:", opts._args); - -// Use `parser.help()` for formatted options help. -if (opts.help) { - var help = parser.help({includeEnv: true}).trimRight(); - console.log('usage: node foo.js [OPTIONS]\n' - + 'options:\n' - + help); - process.exit(0); -} - -// ... -``` - - -Some example output from this script (foo.js): - -``` -$ node foo.js -h -# opts: { help: true, - _order: [ { name: 'help', value: true, from: 'argv' } ], - _args: [] } -# args: [] -usage: node foo.js [OPTIONS] -options: - --version Print tool version and exit. - -h, --help Print this help and exit. - -v, --verbose Verbose output. Use multiple times for more verbose. - -f FILE, --file=FILE File to process - -$ node foo.js -v -# opts: { verbose: [ true ], - _order: [ { name: 'verbose', value: true, from: 'argv' } ], - _args: [] } -# args: [] - -$ node foo.js --version arg1 -# opts: { version: true, - _order: [ { name: 'version', value: true, from: 'argv' } ], - _args: [ 'arg1' ] } -# args: [ 'arg1' ] - -$ node foo.js -f bar.txt -# opts: { file: 'bar.txt', - _order: [ { name: 'file', value: 'bar.txt', from: 'argv' } ], - _args: [] } -# args: [] - -$ node foo.js -vvv --file=blah -# opts: { verbose: [ true, true, true ], - file: 'blah', - _order: - [ { name: 'verbose', value: true, from: 'argv' }, - { name: 'verbose', value: true, from: 'argv' }, - { name: 'verbose', value: true, from: 'argv' }, - { name: 'file', value: 'blah', from: 'argv' } ], - _args: [] } -# args: [] -``` - - -See the ["examples"](examples/) dir for a number of starter examples using -some of dashdash's features. - - -# Environment variable integration - -If you want to allow environment variables to specify options to your tool, -dashdash makes this easy. We can change the 'verbose' option in the example -above to include an 'env' field: - -```javascript - { - names: ['verbose', 'v'], - type: 'arrayOfBool', - env: 'FOO_VERBOSE', // <--- add this line - help: 'Verbose output. Use multiple times for more verbose.' - }, -``` - -then the **"FOO_VERBOSE" environment variable** can be used to set this -option: - -```shell -$ FOO_VERBOSE=1 node foo.js -# opts: { verbose: [ true ], - _order: [ { name: 'verbose', value: true, from: 'env' } ], - _args: [] } -# args: [] -``` - -Boolean options will interpret the empty string as unset, '0' as false -and anything else as true. - -```shell -$ FOO_VERBOSE= node examples/foo.js # not set -# opts: { _order: [], _args: [] } -# args: [] - -$ FOO_VERBOSE=0 node examples/foo.js # '0' is false -# opts: { verbose: [ false ], - _order: [ { key: 'verbose', value: false, from: 'env' } ], - _args: [] } -# args: [] - -$ FOO_VERBOSE=1 node examples/foo.js # true -# opts: { verbose: [ true ], - _order: [ { key: 'verbose', value: true, from: 'env' } ], - _args: [] } -# args: [] - -$ FOO_VERBOSE=boogabooga node examples/foo.js # true -# opts: { verbose: [ true ], - _order: [ { key: 'verbose', value: true, from: 'env' } ], - _args: [] } -# args: [] -``` - -Non-booleans can be used as well. Strings: - -```shell -$ FOO_FILE=data.txt node examples/foo.js -# opts: { file: 'data.txt', - _order: [ { key: 'file', value: 'data.txt', from: 'env' } ], - _args: [] } -# args: [] -``` - -Numbers: - -```shell -$ FOO_TIMEOUT=5000 node examples/foo.js -# opts: { timeout: 5000, - _order: [ { key: 'timeout', value: 5000, from: 'env' } ], - _args: [] } -# args: [] - -$ FOO_TIMEOUT=blarg node examples/foo.js -foo: error: arg for "FOO_TIMEOUT" is not a positive integer: "blarg" -``` - -With the `includeEnv: true` config to `parser.help()` the environment -variable can also be included in **help output**: - - usage: node foo.js [OPTIONS] - options: - --version Print tool version and exit. - -h, --help Print this help and exit. - -v, --verbose Verbose output. Use multiple times for more verbose. - Environment: FOO_VERBOSE=1 - -f FILE, --file=FILE File to process - - -# Bash completion - -Dashdash provides a simple way to create a Bash completion file that you -can place in your "bash_completion.d" directory -- sometimes that is -"/usr/local/etc/bash_completion.d/"). Features: - -- Support for short and long opts -- Support for knowing which options take arguments -- Support for subcommands (e.g. 'git log ' to show just options for the - log subcommand). See - [node-cmdln](https://github.com/trentm/node-cmdln#bash-completion) for - how to integrate that. -- Does the right thing with "--" to stop options. -- Custom optarg and arg types for custom completions. - -Dashdash will return bash completion file content given a parser instance: - - var parser = dashdash.createParser({options: options}); - console.log( parser.bashCompletion({name: 'mycli'}) ); - -or directly from a `options` array of options specs: - - var code = dashdash.bashCompletionFromOptions({ - name: 'mycli', - options: OPTIONS - }); - -Write that content to "/usr/local/etc/bash_completion.d/mycli" and you will -have Bash completions for `mycli`. Alternatively you can write it to -any file (e.g. "~/.bashrc") and source it. - -You could add a `--completion` hidden option to your tool that emits the -completion content and document for your users to call that to install -Bash completions. - -See [examples/ddcompletion.js](examples/ddcompletion.js) for a complete -example, including how one can define bash functions for completion of custom -option types. Also see [node-cmdln](https://github.com/trentm/node-cmdln) for -how it uses this for Bash completion for full multi-subcommand tools. - -- TODO: document specExtra -- TODO: document includeHidden -- TODO: document custom types, `function complete\_FOO` guide, completionType -- TODO: document argtypes - - -# Parser config - -Parser construction (i.e. `dashdash.createParser(CONFIG)`) takes the -following fields: - -- `options` (Array of option specs). Required. See the - [Option specs](#option-specs) section below. - -- `interspersed` (Boolean). Optional. Default is true. If true this allows - interspersed arguments and options. I.e.: - - node ./tool.js -v arg1 arg2 -h # '-h' is after interspersed args - - Set it to false to have '-h' **not** get parsed as an option in the above - example. - -- `allowUnknown` (Boolean). Optional. Default is false. If false, this causes - unknown arguments to throw an error. I.e.: - - node ./tool.js -v arg1 --afe8asefksjefhas - - Set it to true to treat the unknown option as a positional - argument. - - **Caveat**: When a shortopt group, such as `-xaz` contains a mix of - known and unknown options, the *entire* group is passed through - unmolested as a positional argument. - - Consider if you have a known short option `-a`, and parse the - following command line: - - node ./tool.js -xaz - - where `-x` and `-z` are unknown. There are multiple ways to - interpret this: - - 1. `-x` takes a value: `{x: 'az'}` - 2. `-x` and `-z` are both booleans: `{x:true,a:true,z:true}` - - Since dashdash does not know what `-x` and `-z` are, it can't know - if you'd prefer to receive `{a:true,_args:['-x','-z']}` or - `{x:'az'}`, or `{_args:['-xaz']}`. Leaving the positional arg unprocessed - is the easiest mistake for the user to recover from. - - -# Option specs - -Example using all fields (required fields are noted): - -```javascript -{ - names: ['file', 'f'], // Required (one of `names` or `name`). - type: 'string', // Required. - completionType: 'filename', - env: 'MYTOOL_FILE', - help: 'Config file to load before running "mytool"', - helpArg: 'PATH', - helpWrap: false, - default: path.resolve(process.env.HOME, '.mytoolrc') -} -``` - -Each option spec in the `options` array must/can have the following fields: - -- `name` (String) or `names` (Array). Required. These give the option name - and aliases. The first name (if more than one given) is the key for the - parsed `opts` object. - -- `type` (String). Required. One of: - - - bool - - string - - number - - integer - - positiveInteger - - date (epoch seconds, e.g. 1396031701, or ISO 8601 format - `YYYY-MM-DD[THH:MM:SS[.sss][Z]]`, e.g. "2014-03-28T18:35:01.489Z") - - arrayOfBool - - arrayOfString - - arrayOfNumber - - arrayOfInteger - - arrayOfPositiveInteger - - arrayOfDate - - FWIW, these names attempt to match with asserts on - [assert-plus](https://github.com/mcavage/node-assert-plus). - You can add your own custom option types with `dashdash.addOptionType`. - See below. - -- `completionType` (String). Optional. This is used for [Bash - completion](#bash-completion) for an option argument. If not specified, - then the value of `type` is used. Any string may be specified, but only the - following values have meaning: - - - `none`: Provide no completions. - - `file`: Bash's default completion (i.e. `complete -o default`), which - includes filenames. - - *Any string FOO for which a `function complete_FOO` Bash function is - defined.* This is for custom completions for a given tool. Typically - these custom functions are provided in the `specExtra` argument to - `dashdash.bashCompletionFromOptions()`. See - ["examples/ddcompletion.js"](examples/ddcompletion.js) for an example. - -- `env` (String or Array of String). Optional. An environment variable name - (or names) that can be used as a fallback for this option. For example, - given a "foo.js" like this: - - var options = [{names: ['dry-run', 'n'], env: 'FOO_DRY_RUN'}]; - var opts = dashdash.parse({options: options}); - - Both `node foo.js --dry-run` and `FOO_DRY_RUN=1 node foo.js` would result - in `opts.dry_run = true`. - - An environment variable is only used as a fallback, i.e. it is ignored if - the associated option is given in `argv`. - -- `help` (String). Optional. Used for `parser.help()` output. - -- `helpArg` (String). Optional. Used in help output as the placeholder for - the option argument, e.g. the "PATH" in: - - ... - -f PATH, --file=PATH File to process - ... - -- `helpWrap` (Boolean). Optional, default true. Set this to `false` to have - that option's `help` *not* be text wrapped in `.help()` output. - -- `default`. Optional. A default value used for this option, if the - option isn't specified in argv. - -- `hidden` (Boolean). Optional, default false. If true, help output will not - include this option. See also the `includeHidden` option to - `bashCompletionFromOptions()` for [Bash completion](#bash-completion). - - -# Option group headings - -You can add headings between option specs in the `options` array. To do so, -simply add an object with only a `group` property -- the string to print as -the heading for the subsequent options in the array. For example: - -```javascript -var options = [ - { - group: 'Armament Options' - }, - { - names: [ 'weapon', 'w' ], - type: 'string' - }, - { - group: 'General Options' - }, - { - names: [ 'help', 'h' ], - type: 'bool' - } -]; -... -``` - -Note: You can use an empty string, `{group: ''}`, to get a blank line in help -output between groups of options. - - -# Help config - -The `parser.help(...)` function is configurable as follows: - - Options: - Armament Options: - ^^ -w WEAPON, --weapon=WEAPON Weapon with which to crush. One of: | - / sword, spear, maul | - / General Options: | - / -h, --help Print this help and exit. | - / ^^^^ ^ | - \ `-- indent `-- helpCol maxCol ---' - `-- headingIndent - -- `indent` (Number or String). Default 4. Set to a number (for that many - spaces) or a string for the literal indent. -- `headingIndent` (Number or String). Default half length of `indent`. Set to - a number (for that many spaces) or a string for the literal indent. This - indent applies to group heading lines, between normal option lines. -- `nameSort` (String). Default is 'length'. By default the names are - sorted to put the short opts first (i.e. '-h, --help' preferred - to '--help, -h'). Set to 'none' to not do this sorting. -- `maxCol` (Number). Default 80. Note that reflow is just done on whitespace - so a long token in the option help can overflow maxCol. -- `helpCol` (Number). If not set a reasonable value will be determined - between `minHelpCol` and `maxHelpCol`. -- `minHelpCol` (Number). Default 20. -- `maxHelpCol` (Number). Default 40. -- `helpWrap` (Boolean). Default true. Set to `false` to have option `help` - strings *not* be textwrapped to the helpCol..maxCol range. -- `includeEnv` (Boolean). Default false. If the option has associated - environment variables (via the `env` option spec attribute), then - append mentioned of those envvars to the help string. -- `includeDefault` (Boolean). Default false. If the option has a default value - (via the `default` option spec attribute, or a default on the option's type), - then a "Default: VALUE" string will be appended to the help string. - - -# Custom option types - -Dashdash includes a good starter set of option types that it will parse for -you. However, you can add your own via: - - var dashdash = require('dashdash'); - dashdash.addOptionType({ - name: '...', - takesArg: true, - helpArg: '...', - parseArg: function (option, optstr, arg) { - ... - }, - array: false, // optional - arrayFlatten: false, // optional - default: ..., // optional - completionType: ... // optional - }); - -For example, a simple option type that accepts 'yes', 'y', 'no' or 'n' as -a boolean argument would look like: - - var dashdash = require('dashdash'); - - function parseYesNo(option, optstr, arg) { - var argLower = arg.toLowerCase() - if (~['yes', 'y'].indexOf(argLower)) { - return true; - } else if (~['no', 'n'].indexOf(argLower)) { - return false; - } else { - throw new Error(format( - 'arg for "%s" is not "yes" or "no": "%s"', - optstr, arg)); - } - } - - dashdash.addOptionType({ - name: 'yesno' - takesArg: true, - helpArg: '', - parseArg: parseYesNo - }); - - var options = { - {names: ['answer', 'a'], type: 'yesno'} - }; - var opts = dashdash.parse({options: options}); - -See "examples/custom-option-\*.js" for other examples. -See the `addOptionType` block comment in "lib/dashdash.js" for more details. -Please let me know [with an -issue](https://github.com/trentm/node-dashdash/issues/new) if you write a -generally useful one. - - - -# Why - -Why another node.js option parsing lib? - -- `nopt` really is just for "tools like npm". Implicit opts (e.g. '--no-foo' - works for every '--foo'). Can't disable abbreviated opts. Can't do multiple - usages of same opt, e.g. '-vvv' (I think). Can't do grouped short opts. - -- `optimist` has surprise interpretation of options (at least to me). - Implicit opts mean ambiguities and poor error handling for fat-fingering. - `process.exit` calls makes it hard to use as a libary. - -- `optparse` Incomplete docs. Is this an attempted clone of Python's `optparse`. - Not clear. Some divergence. `parser.on("name", ...)` API is weird. - -- `argparse` Dep on underscore. No thanks just for option processing. - `find lib | wc -l` -> `26`. Overkill. - Argparse is a bit different anyway. Not sure I want that. - -- `posix-getopt` No type validation. Though that isn't a killer. AFAIK can't - have a long opt without a short alias. I.e. no `getopt_long` semantics. - Also, no whizbang features like generated help output. - -- ["commander.js"](https://github.com/visionmedia/commander.js): I wrote - [a critique](http://trentm.com/2014/01/a-critique-of-commander-for-nodejs.html) - a while back. It seems fine, but last I checked had - [an outstanding bug](https://github.com/visionmedia/commander.js/pull/121) - that would prevent me from using it. - - -# License - -MIT. See LICENSE.txt. diff --git a/deps/npm/node_modules/debug/README.md b/deps/npm/node_modules/debug/README.md deleted file mode 100644 index 88dae35d9fc958..00000000000000 --- a/deps/npm/node_modules/debug/README.md +++ /dev/null @@ -1,455 +0,0 @@ -# debug -[![Build Status](https://travis-ci.org/visionmedia/debug.svg?branch=master)](https://travis-ci.org/visionmedia/debug) [![Coverage Status](https://coveralls.io/repos/github/visionmedia/debug/badge.svg?branch=master)](https://coveralls.io/github/visionmedia/debug?branch=master) [![Slack](https://visionmedia-community-slackin.now.sh/badge.svg)](https://visionmedia-community-slackin.now.sh/) [![OpenCollective](https://opencollective.com/debug/backers/badge.svg)](#backers) -[![OpenCollective](https://opencollective.com/debug/sponsors/badge.svg)](#sponsors) - - - -A tiny JavaScript debugging utility modelled after Node.js core's debugging -technique. Works in Node.js and web browsers. - -## Installation - -```bash -$ npm install debug -``` - -## Usage - -`debug` exposes a function; simply pass this function the name of your module, and it will return a decorated version of `console.error` for you to pass debug statements to. This will allow you to toggle the debug output for different parts of your module as well as the module as a whole. - -Example [_app.js_](./examples/node/app.js): - -```js -var debug = require('debug')('http') - , http = require('http') - , name = 'My App'; - -// fake app - -debug('booting %o', name); - -http.createServer(function(req, res){ - debug(req.method + ' ' + req.url); - res.end('hello\n'); -}).listen(3000, function(){ - debug('listening'); -}); - -// fake worker of some kind - -require('./worker'); -``` - -Example [_worker.js_](./examples/node/worker.js): - -```js -var a = require('debug')('worker:a') - , b = require('debug')('worker:b'); - -function work() { - a('doing lots of uninteresting work'); - setTimeout(work, Math.random() * 1000); -} - -work(); - -function workb() { - b('doing some work'); - setTimeout(workb, Math.random() * 2000); -} - -workb(); -``` - -The `DEBUG` environment variable is then used to enable these based on space or -comma-delimited names. - -Here are some examples: - -screen shot 2017-08-08 at 12 53 04 pm -screen shot 2017-08-08 at 12 53 38 pm -screen shot 2017-08-08 at 12 53 25 pm - -#### Windows command prompt notes - -##### CMD - -On Windows the environment variable is set using the `set` command. - -```cmd -set DEBUG=*,-not_this -``` - -Example: - -```cmd -set DEBUG=* & node app.js -``` - -##### PowerShell (VS Code default) - -PowerShell uses different syntax to set environment variables. - -```cmd -$env:DEBUG = "*,-not_this" -``` - -Example: - -```cmd -$env:DEBUG='app';node app.js -``` - -Then, run the program to be debugged as usual. - -npm script example: -```js - "windowsDebug": "@powershell -Command $env:DEBUG='*';node app.js", -``` - -## Namespace Colors - -Every debug instance has a color generated for it based on its namespace name. -This helps when visually parsing the debug output to identify which debug instance -a debug line belongs to. - -#### Node.js - -In Node.js, colors are enabled when stderr is a TTY. You also _should_ install -the [`supports-color`](https://npmjs.org/supports-color) module alongside debug, -otherwise debug will only use a small handful of basic colors. - - - -#### Web Browser - -Colors are also enabled on "Web Inspectors" that understand the `%c` formatting -option. These are WebKit web inspectors, Firefox ([since version -31](https://hacks.mozilla.org/2014/05/editable-box-model-multiple-selection-sublime-text-keys-much-more-firefox-developer-tools-episode-31/)) -and the Firebug plugin for Firefox (any version). - - - - -## Millisecond diff - -When actively developing an application it can be useful to see when the time spent between one `debug()` call and the next. Suppose for example you invoke `debug()` before requesting a resource, and after as well, the "+NNNms" will show you how much time was spent between calls. - - - -When stdout is not a TTY, `Date#toISOString()` is used, making it more useful for logging the debug information as shown below: - - - - -## Conventions - -If you're using this in one or more of your libraries, you _should_ use the name of your library so that developers may toggle debugging as desired without guessing names. If you have more than one debuggers you _should_ prefix them with your library name and use ":" to separate features. For example "bodyParser" from Connect would then be "connect:bodyParser". If you append a "*" to the end of your name, it will always be enabled regardless of the setting of the DEBUG environment variable. You can then use it for normal output as well as debug output. - -## Wildcards - -The `*` character may be used as a wildcard. Suppose for example your library has -debuggers named "connect:bodyParser", "connect:compress", "connect:session", -instead of listing all three with -`DEBUG=connect:bodyParser,connect:compress,connect:session`, you may simply do -`DEBUG=connect:*`, or to run everything using this module simply use `DEBUG=*`. - -You can also exclude specific debuggers by prefixing them with a "-" character. -For example, `DEBUG=*,-connect:*` would include all debuggers except those -starting with "connect:". - -## Environment Variables - -When running through Node.js, you can set a few environment variables that will -change the behavior of the debug logging: - -| Name | Purpose | -|-----------|-------------------------------------------------| -| `DEBUG` | Enables/disables specific debugging namespaces. | -| `DEBUG_HIDE_DATE` | Hide date from debug output (non-TTY). | -| `DEBUG_COLORS`| Whether or not to use colors in the debug output. | -| `DEBUG_DEPTH` | Object inspection depth. | -| `DEBUG_SHOW_HIDDEN` | Shows hidden properties on inspected objects. | - - -__Note:__ The environment variables beginning with `DEBUG_` end up being -converted into an Options object that gets used with `%o`/`%O` formatters. -See the Node.js documentation for -[`util.inspect()`](https://nodejs.org/api/util.html#util_util_inspect_object_options) -for the complete list. - -## Formatters - -Debug uses [printf-style](https://wikipedia.org/wiki/Printf_format_string) formatting. -Below are the officially supported formatters: - -| Formatter | Representation | -|-----------|----------------| -| `%O` | Pretty-print an Object on multiple lines. | -| `%o` | Pretty-print an Object all on a single line. | -| `%s` | String. | -| `%d` | Number (both integer and float). | -| `%j` | JSON. Replaced with the string '[Circular]' if the argument contains circular references. | -| `%%` | Single percent sign ('%'). This does not consume an argument. | - - -### Custom formatters - -You can add custom formatters by extending the `debug.formatters` object. -For example, if you wanted to add support for rendering a Buffer as hex with -`%h`, you could do something like: - -```js -const createDebug = require('debug') -createDebug.formatters.h = (v) => { - return v.toString('hex') -} - -// …elsewhere -const debug = createDebug('foo') -debug('this is hex: %h', new Buffer('hello world')) -// foo this is hex: 68656c6c6f20776f726c6421 +0ms -``` - - -## Browser Support - -You can build a browser-ready script using [browserify](https://github.com/substack/node-browserify), -or just use the [browserify-as-a-service](https://wzrd.in/) [build](https://wzrd.in/standalone/debug@latest), -if you don't want to build it yourself. - -Debug's enable state is currently persisted by `localStorage`. -Consider the situation shown below where you have `worker:a` and `worker:b`, -and wish to debug both. You can enable this using `localStorage.debug`: - -```js -localStorage.debug = 'worker:*' -``` - -And then refresh the page. - -```js -a = debug('worker:a'); -b = debug('worker:b'); - -setInterval(function(){ - a('doing some work'); -}, 1000); - -setInterval(function(){ - b('doing some work'); -}, 1200); -``` - - -## Output streams - - By default `debug` will log to stderr, however this can be configured per-namespace by overriding the `log` method: - -Example [_stdout.js_](./examples/node/stdout.js): - -```js -var debug = require('debug'); -var error = debug('app:error'); - -// by default stderr is used -error('goes to stderr!'); - -var log = debug('app:log'); -// set this namespace to log via console.log -log.log = console.log.bind(console); // don't forget to bind to console! -log('goes to stdout'); -error('still goes to stderr!'); - -// set all output to go via console.info -// overrides all per-namespace log settings -debug.log = console.info.bind(console); -error('now goes to stdout via console.info'); -log('still goes to stdout, but via console.info now'); -``` - -## Extend -You can simply extend debugger -```js -const log = require('debug')('auth'); - -//creates new debug instance with extended namespace -const logSign = log.extend('sign'); -const logLogin = log.extend('login'); - -log('hello'); // auth hello -logSign('hello'); //auth:sign hello -logLogin('hello'); //auth:login hello -``` - -## Set dynamically - -You can also enable debug dynamically by calling the `enable()` method : - -```js -let debug = require('debug'); - -console.log(1, debug.enabled('test')); - -debug.enable('test'); -console.log(2, debug.enabled('test')); - -debug.disable(); -console.log(3, debug.enabled('test')); - -``` - -print : -``` -1 false -2 true -3 false -``` - -Usage : -`enable(namespaces)` -`namespaces` can include modes separated by a colon and wildcards. - -Note that calling `enable()` completely overrides previously set DEBUG variable : - -``` -$ DEBUG=foo node -e 'var dbg = require("debug"); dbg.enable("bar"); console.log(dbg.enabled("foo"))' -=> false -``` - -`disable()` - -Will disable all namespaces. The functions returns the namespaces currently -enabled (and skipped). This can be useful if you want to disable debugging -temporarily without knowing what was enabled to begin with. - -For example: - -```js -let debug = require('debug'); -debug.enable('foo:*,-foo:bar'); -let namespaces = debug.disable(); -debug.enable(namespaces); -``` - -Note: There is no guarantee that the string will be identical to the initial -enable string, but semantically they will be identical. - -## Checking whether a debug target is enabled - -After you've created a debug instance, you can determine whether or not it is -enabled by checking the `enabled` property: - -```javascript -const debug = require('debug')('http'); - -if (debug.enabled) { - // do stuff... -} -``` - -You can also manually toggle this property to force the debug instance to be -enabled or disabled. - - -## Authors - - - TJ Holowaychuk - - Nathan Rajlich - - Andrew Rhyne - -## Backers - -Support us with a monthly donation and help us continue our activities. [[Become a backer](https://opencollective.com/debug#backer)] - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -## Sponsors - -Become a sponsor and get your logo on our README on Github with a link to your site. [[Become a sponsor](https://opencollective.com/debug#sponsor)] - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -## License - -(The MIT License) - -Copyright (c) 2014-2017 TJ Holowaychuk <tj@vision-media.ca> - -Permission is hereby granted, free of charge, to any person obtaining -a copy of this software and associated documentation files (the -'Software'), to deal in the Software without restriction, including -without limitation the rights to use, copy, modify, merge, publish, -distribute, sublicense, and/or sell copies of the Software, and to -permit persons to whom the Software is furnished to do so, subject to -the following conditions: - -The above copyright notice and this permission notice shall be -included in all copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED 'AS IS', WITHOUT WARRANTY OF ANY KIND, -EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF -MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. -IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY -CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, -TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE -SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. diff --git a/deps/npm/node_modules/debuglog/README.md b/deps/npm/node_modules/debuglog/README.md deleted file mode 100644 index dc6fccecc32f0e..00000000000000 --- a/deps/npm/node_modules/debuglog/README.md +++ /dev/null @@ -1,40 +0,0 @@ -# debuglog - backport of util.debuglog() from node v0.11 - -To facilitate using the `util.debuglog()` function that will be available when -node v0.12 is released now, this is a copy extracted from the source. - -## require('debuglog') - -Return `util.debuglog`, if it exists, otherwise it will return an internal copy -of the implementation from node v0.11. - -## debuglog(section) - -* `section` {String} The section of the program to be debugged -* Returns: {Function} The logging function - -This is used to create a function which conditionally writes to stderr -based on the existence of a `NODE_DEBUG` environment variable. If the -`section` name appears in that environment variable, then the returned -function will be similar to `console.error()`. If not, then the -returned function is a no-op. - -For example: - -```javascript -var debuglog = util.debuglog('foo'); - -var bar = 123; -debuglog('hello from foo [%d]', bar); -``` - -If this program is run with `NODE_DEBUG=foo` in the environment, then -it will output something like: - - FOO 3245: hello from foo [123] - -where `3245` is the process id. If it is not run with that -environment variable set, then it will not print anything. - -You may separate multiple `NODE_DEBUG` environment variables with a -comma. For example, `NODE_DEBUG=fs,net,tls`. diff --git a/deps/npm/node_modules/defaults/.npmignore b/deps/npm/node_modules/defaults/.npmignore deleted file mode 100644 index 3c3629e647f5dd..00000000000000 --- a/deps/npm/node_modules/defaults/.npmignore +++ /dev/null @@ -1 +0,0 @@ -node_modules diff --git a/deps/npm/node_modules/defaults/README.md b/deps/npm/node_modules/defaults/README.md deleted file mode 100644 index 1a4a2ea9c919e7..00000000000000 --- a/deps/npm/node_modules/defaults/README.md +++ /dev/null @@ -1,43 +0,0 @@ -# defaults - -A simple one level options merge utility - -## install - -`npm install defaults` - -## use - -```javascript - -var defaults = require('defaults'); - -var handle = function(options, fn) { - options = defaults(options, { - timeout: 100 - }); - - setTimeout(function() { - fn(options); - }, options.timeout); -} - -handle({ timeout: 1000 }, function() { - // we're here 1000 ms later -}); - -handle({ timeout: 10000 }, function() { - // we're here 10s later -}); - -``` - -## summary - -this module exports a function that takes 2 arguments: `options` and `defaults`. When called, it overrides all of `undefined` properties in `options` with the clones of properties defined in `defaults` - -Sidecases: if called with a falsy `options` value, options will be initialized to a new object before being merged onto. - -## license - -[MIT](LICENSE) diff --git a/deps/npm/node_modules/delayed-stream/.npmignore b/deps/npm/node_modules/delayed-stream/.npmignore deleted file mode 100644 index 9daeafb9864cf4..00000000000000 --- a/deps/npm/node_modules/delayed-stream/.npmignore +++ /dev/null @@ -1 +0,0 @@ -test diff --git a/deps/npm/node_modules/delegates/.npmignore b/deps/npm/node_modules/delegates/.npmignore deleted file mode 100644 index c2658d7d1b3184..00000000000000 --- a/deps/npm/node_modules/delegates/.npmignore +++ /dev/null @@ -1 +0,0 @@ -node_modules/ diff --git a/deps/npm/node_modules/dezalgo/.travis.yml b/deps/npm/node_modules/dezalgo/.travis.yml deleted file mode 100644 index e1bcee1acd90c1..00000000000000 --- a/deps/npm/node_modules/dezalgo/.travis.yml +++ /dev/null @@ -1,7 +0,0 @@ -language: node_js -before_script: npm install -g npm@latest -node_js: - - '0.8' - - '0.10' - - '0.12' - - 'iojs' diff --git a/deps/npm/node_modules/dezalgo/README.md b/deps/npm/node_modules/dezalgo/README.md deleted file mode 100644 index bdfc8ba80d075b..00000000000000 --- a/deps/npm/node_modules/dezalgo/README.md +++ /dev/null @@ -1,29 +0,0 @@ -# dezalgo - -Contain async insanity so that the dark pony lord doesn't eat souls - -See [this blog -post](http://blog.izs.me/post/59142742143/designing-apis-for-asynchrony). - -## USAGE - -Pass a callback to `dezalgo` and it will ensure that it is *always* -called in a future tick, and never in this tick. - -```javascript -var dz = require('dezalgo') - -var cache = {} -function maybeSync(arg, cb) { - cb = dz(cb) - - // this will actually defer to nextTick - if (cache[arg]) cb(null, cache[arg]) - - fs.readFile(arg, function (er, data) { - // since this is *already* defered, it will call immediately - if (er) cb(er) - cb(null, cache[arg] = data) - }) -} -``` diff --git a/deps/npm/node_modules/diff/README.md b/deps/npm/node_modules/diff/README.md deleted file mode 100644 index be7b4ec8a5b241..00000000000000 --- a/deps/npm/node_modules/diff/README.md +++ /dev/null @@ -1,208 +0,0 @@ -# jsdiff - -[![Build Status](https://secure.travis-ci.org/kpdecker/jsdiff.svg)](http://travis-ci.org/kpdecker/jsdiff) -[![Sauce Test Status](https://saucelabs.com/buildstatus/jsdiff)](https://saucelabs.com/u/jsdiff) - -A javascript text differencing implementation. - -Based on the algorithm proposed in -["An O(ND) Difference Algorithm and its Variations" (Myers, 1986)](http://citeseerx.ist.psu.edu/viewdoc/summary?doi=10.1.1.4.6927). - -## Installation -```bash -npm install diff --save -``` - -## API - -* `Diff.diffChars(oldStr, newStr[, options])` - diffs two blocks of text, comparing character by character. - - Returns a list of change objects (See below). - - Options - * `ignoreCase`: `true` to ignore casing difference. Defaults to `false`. - -* `Diff.diffWords(oldStr, newStr[, options])` - diffs two blocks of text, comparing word by word, ignoring whitespace. - - Returns a list of change objects (See below). - - Options - * `ignoreCase`: Same as in `diffChars`. - -* `Diff.diffWordsWithSpace(oldStr, newStr[, options])` - diffs two blocks of text, comparing word by word, treating whitespace as significant. - - Returns a list of change objects (See below). - -* `Diff.diffLines(oldStr, newStr[, options])` - diffs two blocks of text, comparing line by line. - - Options - * `ignoreWhitespace`: `true` to ignore leading and trailing whitespace. This is the same as `diffTrimmedLines` - * `newlineIsToken`: `true` to treat newline characters as separate tokens. This allows for changes to the newline structure to occur independently of the line content and to be treated as such. In general this is the more human friendly form of `diffLines` and `diffLines` is better suited for patches and other computer friendly output. - - Returns a list of change objects (See below). - -* `Diff.diffTrimmedLines(oldStr, newStr[, options])` - diffs two blocks of text, comparing line by line, ignoring leading and trailing whitespace. - - Returns a list of change objects (See below). - -* `Diff.diffSentences(oldStr, newStr[, options])` - diffs two blocks of text, comparing sentence by sentence. - - Returns a list of change objects (See below). - -* `Diff.diffCss(oldStr, newStr[, options])` - diffs two blocks of text, comparing CSS tokens. - - Returns a list of change objects (See below). - -* `Diff.diffJson(oldObj, newObj[, options])` - diffs two JSON objects, comparing the fields defined on each. The order of fields, etc does not matter in this comparison. - - Returns a list of change objects (See below). - -* `Diff.diffArrays(oldArr, newArr[, options])` - diffs two arrays, comparing each item for strict equality (===). - - Options - * `comparator`: `function(left, right)` for custom equality checks - - Returns a list of change objects (See below). - -* `Diff.createTwoFilesPatch(oldFileName, newFileName, oldStr, newStr, oldHeader, newHeader)` - creates a unified diff patch. - - Parameters: - * `oldFileName` : String to be output in the filename section of the patch for the removals - * `newFileName` : String to be output in the filename section of the patch for the additions - * `oldStr` : Original string value - * `newStr` : New string value - * `oldHeader` : Additional information to include in the old file header - * `newHeader` : Additional information to include in the new file header - * `options` : An object with options. Currently, only `context` is supported and describes how many lines of context should be included. - -* `Diff.createPatch(fileName, oldStr, newStr, oldHeader, newHeader)` - creates a unified diff patch. - - Just like Diff.createTwoFilesPatch, but with oldFileName being equal to newFileName. - - -* `Diff.structuredPatch(oldFileName, newFileName, oldStr, newStr, oldHeader, newHeader, options)` - returns an object with an array of hunk objects. - - This method is similar to createTwoFilesPatch, but returns a data structure - suitable for further processing. Parameters are the same as createTwoFilesPatch. The data structure returned may look like this: - - ```js - { - oldFileName: 'oldfile', newFileName: 'newfile', - oldHeader: 'header1', newHeader: 'header2', - hunks: [{ - oldStart: 1, oldLines: 3, newStart: 1, newLines: 3, - lines: [' line2', ' line3', '-line4', '+line5', '\\ No newline at end of file'], - }] - } - ``` - -* `Diff.applyPatch(source, patch[, options])` - applies a unified diff patch. - - Return a string containing new version of provided data. `patch` may be a string diff or the output from the `parsePatch` or `structuredPatch` methods. - - The optional `options` object may have the following keys: - - - `fuzzFactor`: Number of lines that are allowed to differ before rejecting a patch. Defaults to 0. - - `compareLine(lineNumber, line, operation, patchContent)`: Callback used to compare to given lines to determine if they should be considered equal when patching. Defaults to strict equality but may be overridden to provide fuzzier comparison. Should return false if the lines should be rejected. - -* `Diff.applyPatches(patch, options)` - applies one or more patches. - - This method will iterate over the contents of the patch and apply to data provided through callbacks. The general flow for each patch index is: - - - `options.loadFile(index, callback)` is called. The caller should then load the contents of the file and then pass that to the `callback(err, data)` callback. Passing an `err` will terminate further patch execution. - - `options.patched(index, content, callback)` is called once the patch has been applied. `content` will be the return value from `applyPatch`. When it's ready, the caller should call `callback(err)` callback. Passing an `err` will terminate further patch execution. - - Once all patches have been applied or an error occurs, the `options.complete(err)` callback is made. - -* `Diff.parsePatch(diffStr)` - Parses a patch into structured data - - Return a JSON object representation of the a patch, suitable for use with the `applyPatch` method. This parses to the same structure returned by `Diff.structuredPatch`. - -* `convertChangesToXML(changes)` - converts a list of changes to a serialized XML format - - -All methods above which accept the optional `callback` method will run in sync mode when that parameter is omitted and in async mode when supplied. This allows for larger diffs without blocking the event loop. This may be passed either directly as the final parameter or as the `callback` field in the `options` object. - -### Change Objects -Many of the methods above return change objects. These objects consist of the following fields: - -* `value`: Text content -* `added`: True if the value was inserted into the new string -* `removed`: True if the value was removed from the old string - -Note that some cases may omit a particular flag field. Comparison on the flag fields should always be done in a truthy or falsy manner. - -## Examples - -Basic example in Node - -```js -require('colors'); -const Diff = require('diff'); - -const one = 'beep boop'; -const other = 'beep boob blah'; - -const diff = Diff.diffChars(one, other); - -diff.forEach((part) => { - // green for additions, red for deletions - // grey for common parts - const color = part.added ? 'green' : - part.removed ? 'red' : 'grey'; - process.stderr.write(part.value[color]); -}); - -console.log(); -``` -Running the above program should yield - -Node Example - -Basic example in a web page - -```html -
    
    -
    -
    -```
    -
    -Open the above .html file in a browser and you should see
    -
    -Node Example
    -
    -**[Full online demo](http://kpdecker.github.com/jsdiff)**
    -
    -## Compatibility
    -
    -[![Sauce Test Status](https://saucelabs.com/browser-matrix/jsdiff.svg)](https://saucelabs.com/u/jsdiff)
    -
    -jsdiff supports all ES3 environments with some known issues on IE8 and below. Under these browsers some diff algorithms such as word diff and others may fail due to lack of support for capturing groups in the `split` operation.
    -
    -## License
    -
    -See [LICENSE](https://github.com/kpdecker/jsdiff/blob/master/LICENSE).
    diff --git a/deps/npm/node_modules/ecc-jsbn/README.md b/deps/npm/node_modules/ecc-jsbn/README.md
    deleted file mode 100755
    index b5d0b9de965cdf..00000000000000
    --- a/deps/npm/node_modules/ecc-jsbn/README.md
    +++ /dev/null
    @@ -1,8 +0,0 @@
    -ecc-jsbn
    -========
    -
    -ECC package based on [jsbn](https://github.com/andyperlitch/jsbn) from [Tom Wu](http://www-cs-students.stanford.edu/~tjw/).
    -
    -This is a subset of the same interface as the [node compiled module](https://github.com/quartzjer/ecc), but works in the browser too.
    -
    -Also uses point compression now from [https://github.com/kaielvin](https://github.com/kaielvin/jsbn-ec-point-compression).
    diff --git a/deps/npm/node_modules/emoji-regex/README.md b/deps/npm/node_modules/emoji-regex/README.md
    deleted file mode 100644
    index f10e1733350471..00000000000000
    --- a/deps/npm/node_modules/emoji-regex/README.md
    +++ /dev/null
    @@ -1,73 +0,0 @@
    -# emoji-regex [![Build status](https://travis-ci.org/mathiasbynens/emoji-regex.svg?branch=master)](https://travis-ci.org/mathiasbynens/emoji-regex)
    -
    -_emoji-regex_ offers a regular expression to match all emoji symbols (including textual representations of emoji) as per the Unicode Standard.
    -
    -This repository contains a script that generates this regular expression based on [the data from Unicode v12](https://github.com/mathiasbynens/unicode-12.0.0). Because of this, the regular expression can easily be updated whenever new emoji are added to the Unicode standard.
    -
    -## Installation
    -
    -Via [npm](https://www.npmjs.com/):
    -
    -```bash
    -npm install emoji-regex
    -```
    -
    -In [Node.js](https://nodejs.org/):
    -
    -```js
    -const emojiRegex = require('emoji-regex');
    -// Note: because the regular expression has the global flag set, this module
    -// exports a function that returns the regex rather than exporting the regular
    -// expression itself, to make it impossible to (accidentally) mutate the
    -// original regular expression.
    -
    -const text = `
    -\u{231A}: ⌚ default emoji presentation character (Emoji_Presentation)
    -\u{2194}\u{FE0F}: ↔️ default text presentation character rendered as emoji
    -\u{1F469}: 👩 emoji modifier base (Emoji_Modifier_Base)
    -\u{1F469}\u{1F3FF}: 👩🏿 emoji modifier base followed by a modifier
    -`;
    -
    -const regex = emojiRegex();
    -let match;
    -while (match = regex.exec(text)) {
    -  const emoji = match[0];
    -  console.log(`Matched sequence ${ emoji } — code points: ${ [...emoji].length }`);
    -}
    -```
    -
    -Console output:
    -
    -```
    -Matched sequence ⌚ — code points: 1
    -Matched sequence ⌚ — code points: 1
    -Matched sequence ↔️ — code points: 2
    -Matched sequence ↔️ — code points: 2
    -Matched sequence 👩 — code points: 1
    -Matched sequence 👩 — code points: 1
    -Matched sequence 👩🏿 — code points: 2
    -Matched sequence 👩🏿 — code points: 2
    -```
    -
    -To match emoji in their textual representation as well (i.e. emoji that are not `Emoji_Presentation` symbols and that aren’t forced to render as emoji by a variation selector), `require` the other regex:
    -
    -```js
    -const emojiRegex = require('emoji-regex/text.js');
    -```
    -
    -Additionally, in environments which support ES2015 Unicode escapes, you may `require` ES2015-style versions of the regexes:
    -
    -```js
    -const emojiRegex = require('emoji-regex/es2015/index.js');
    -const emojiRegexText = require('emoji-regex/es2015/text.js');
    -```
    -
    -## Author
    -
    -| [![twitter/mathias](https://gravatar.com/avatar/24e08a9ea84deb17ae121074d0f17125?s=70)](https://twitter.com/mathias "Follow @mathias on Twitter") |
    -|---|
    -| [Mathias Bynens](https://mathiasbynens.be/) |
    -
    -## License
    -
    -_emoji-regex_ is available under the [MIT](https://mths.be/mit) license.
    diff --git a/deps/npm/node_modules/encoding/.prettierrc.js b/deps/npm/node_modules/encoding/.prettierrc.js
    deleted file mode 100644
    index 3f83654ec845ac..00000000000000
    --- a/deps/npm/node_modules/encoding/.prettierrc.js
    +++ /dev/null
    @@ -1,8 +0,0 @@
    -module.exports = {
    -    printWidth: 160,
    -    tabWidth: 4,
    -    singleQuote: true,
    -    endOfLine: 'lf',
    -    trailingComma: 'none',
    -    arrowParens: 'avoid'
    -};
    diff --git a/deps/npm/node_modules/encoding/.travis.yml b/deps/npm/node_modules/encoding/.travis.yml
    deleted file mode 100644
    index abc4f48cdd9406..00000000000000
    --- a/deps/npm/node_modules/encoding/.travis.yml
    +++ /dev/null
    @@ -1,25 +0,0 @@
    -language: node_js
    -sudo: false
    -node_js:
    -  - "0.10"
    -  - 0.12
    -  - iojs
    -  - 4
    -  - 5
    -env:
    -  - CXX=g++-4.8
    -addons:
    -  apt:
    -    sources:
    -      - ubuntu-toolchain-r-test
    -    packages:
    -      - g++-4.8
    -notifications:
    -  email:
    -    - andris@kreata.ee
    -  webhooks:
    -    urls:
    -      - https://webhooks.gitter.im/e/0ed18fd9b3e529b3c2cc
    -    on_success: change  # options: [always|never|change] default: always
    -    on_failure: always  # options: [always|never|change] default: always
    -    on_start: false     # default: false
    diff --git a/deps/npm/node_modules/encoding/README.md b/deps/npm/node_modules/encoding/README.md
    deleted file mode 100644
    index 618891888169e6..00000000000000
    --- a/deps/npm/node_modules/encoding/README.md
    +++ /dev/null
    @@ -1,41 +0,0 @@
    -# Encoding
    -
    -**encoding** is a simple wrapper around [iconv-lite](https://github.com/ashtuchkin/iconv-lite/) to convert strings from one encoding to another.
    -
    -[![Build Status](https://secure.travis-ci.org/andris9/encoding.svg)](http://travis-ci.org/andris9/Nodemailer)
    -[![npm version](https://badge.fury.io/js/encoding.svg)](http://badge.fury.io/js/encoding)
    -
    -Initially _encoding_ was a wrapper around _node-iconv_ (main) and _iconv-lite_ (fallback) and was used as the encoding layer for Nodemailer/mailparser. Somehow it also ended up as a dependency for a bunch of other project, none of these actually using _node-iconv_. The loading mechanics caused issues for front-end projects and Nodemailer/malparser had moved on, so _node-iconv_ was removed.
    -
    -## Install
    -
    -Install through npm
    -
    -    npm install encoding
    -
    -## Usage
    -
    -Require the module
    -
    -    var encoding = require("encoding");
    -
    -Convert with encoding.convert()
    -
    -    var resultBuffer = encoding.convert(text, toCharset, fromCharset);
    -
    -Where
    -
    --   **text** is either a Buffer or a String to be converted
    --   **toCharset** is the characterset to convert the string
    --   **fromCharset** (_optional_, defaults to UTF-8) is the source charset
    -
    -Output of the conversion is always a Buffer object.
    -
    -Example
    -
    -    var result = encoding.convert("ÕÄÖÜ", "Latin_1");
    -    console.log(result); //
    -
    -## License
    -
    -**MIT**
    diff --git a/deps/npm/node_modules/err-code/.editorconfig b/deps/npm/node_modules/err-code/.editorconfig
    deleted file mode 100644
    index 829280bee1ac31..00000000000000
    --- a/deps/npm/node_modules/err-code/.editorconfig
    +++ /dev/null
    @@ -1,12 +0,0 @@
    -root = true
    -
    -[*]
    -indent_style = space
    -indent_size = 4
    -end_of_line = lf
    -charset = utf-8
    -trim_trailing_whitespace = true
    -insert_final_newline = true
    -
    -[package.json]
    -indent_size = 2
    diff --git a/deps/npm/node_modules/err-code/.eslintrc.json b/deps/npm/node_modules/err-code/.eslintrc.json
    deleted file mode 100644
    index 4829595a424ed5..00000000000000
    --- a/deps/npm/node_modules/err-code/.eslintrc.json
    +++ /dev/null
    @@ -1,7 +0,0 @@
    -{
    -    "root": true,
    -    "extends": [
    -        "@satazor/eslint-config/es6",
    -        "@satazor/eslint-config/addons/node"
    -    ]
    -}
    \ No newline at end of file
    diff --git a/deps/npm/node_modules/err-code/.travis.yml b/deps/npm/node_modules/err-code/.travis.yml
    deleted file mode 100644
    index b29cf66a2b3b3b..00000000000000
    --- a/deps/npm/node_modules/err-code/.travis.yml
    +++ /dev/null
    @@ -1,4 +0,0 @@
    -language: node_js
    -node_js:
    -  - "4"
    -  - "6"
    diff --git a/deps/npm/node_modules/err-code/README.md b/deps/npm/node_modules/err-code/README.md
    deleted file mode 100644
    index 5afdab00c93482..00000000000000
    --- a/deps/npm/node_modules/err-code/README.md
    +++ /dev/null
    @@ -1,70 +0,0 @@
    -# err-code
    -
    -[![NPM version][npm-image]][npm-url] [![Downloads][downloads-image]][npm-url] [![Build Status][travis-image]][travis-url] [![Dependency status][david-dm-image]][david-dm-url] [![Dev Dependency status][david-dm-dev-image]][david-dm-dev-url] [![Greenkeeper badge][greenkeeper-image]][greenkeeper-url]
    -
    -[npm-url]:https://npmjs.org/package/err-code
    -[downloads-image]:http://img.shields.io/npm/dm/err-code.svg
    -[npm-image]:http://img.shields.io/npm/v/err-code.svg
    -[travis-url]:https://travis-ci.org/IndigoUnited/js-err-code
    -[travis-image]:http://img.shields.io/travis/IndigoUnited/js-err-code/master.svg
    -[david-dm-url]:https://david-dm.org/IndigoUnited/js-err-code
    -[david-dm-image]:https://img.shields.io/david/IndigoUnited/js-err-code.svg
    -[david-dm-dev-url]:https://david-dm.org/IndigoUnited/js-err-code?type=dev
    -[david-dm-dev-image]:https://img.shields.io/david/dev/IndigoUnited/js-err-code.svg
    -[greenkeeper-image]:https://badges.greenkeeper.io/IndigoUnited/js-err-code.svg
    -[greenkeeper-url]:https://greenkeeper.io/
    -
    -Create new error instances with a code and additional properties.
    -
    -
    -## Installation
    -
    -```console
    -$ npm install err-code
    -// or
    -$ bower install err-code
    -```
    -
    -The browser file is named index.umd.js which supports CommonJS, AMD and globals (errCode).
    -
    -
    -## Why
    -
    -I find myself doing this repeatedly:
    -
    -```js
    -var err = new Error('My message');
    -err.code = 'SOMECODE';
    -err.detail = 'Additional information about the error';
    -throw err;
    -```
    -
    -
    -## Usage
    -
    -Simple usage.
    -
    -```js
    -var errcode = require('err-code');
    -
    -// fill error with message + code
    -throw errcode(new Error('My message'), 'ESOMECODE');
    -// fill error with message + code + props
    -throw errcode(new Error('My message'), 'ESOMECODE', { detail: 'Additional information about the error' });
    -// fill error with message + props
    -throw errcode(new Error('My message'), { detail: 'Additional information about the error' });
    -```
    -
    -## Pre-existing fields
    -
    -If the passed `Error` already has a `.code` field, or fields specified in the third argument to `errcode` they will be overwritten, unless the fields are read only or otherwise throw during assignment in which case a new object will be created that shares a prototype chain with the original `Error`. The `.stack` and `.message` properties will be carried over from the original error and `.code` or any passed properties will be set on it.
    -
    -
    -## Tests
    -
    -`$ npm test`
    -
    -
    -## License
    -
    -Released under the [MIT License](http://www.opensource.org/licenses/mit-license.php).
    diff --git a/deps/npm/node_modules/err-code/test/.eslintrc.json b/deps/npm/node_modules/err-code/test/.eslintrc.json
    deleted file mode 100644
    index f9fbb2d6ce6ab8..00000000000000
    --- a/deps/npm/node_modules/err-code/test/.eslintrc.json
    +++ /dev/null
    @@ -1,5 +0,0 @@
    -{
    -    "env": {
    -        "mocha": true
    -    }
    -}
    \ No newline at end of file
    diff --git a/deps/npm/node_modules/extend/.editorconfig b/deps/npm/node_modules/extend/.editorconfig
    deleted file mode 100644
    index bc228f8269443b..00000000000000
    --- a/deps/npm/node_modules/extend/.editorconfig
    +++ /dev/null
    @@ -1,20 +0,0 @@
    -root = true
    -
    -[*]
    -indent_style = tab
    -indent_size = 4
    -end_of_line = lf
    -charset = utf-8
    -trim_trailing_whitespace = true
    -insert_final_newline = true
    -max_line_length = 150
    -
    -[CHANGELOG.md]
    -indent_style = space
    -indent_size = 2
    -
    -[*.json]
    -max_line_length = off
    -
    -[Makefile]
    -max_line_length = off
    diff --git a/deps/npm/node_modules/extend/.jscs.json b/deps/npm/node_modules/extend/.jscs.json
    deleted file mode 100644
    index 3cce01d7832943..00000000000000
    --- a/deps/npm/node_modules/extend/.jscs.json
    +++ /dev/null
    @@ -1,175 +0,0 @@
    -{
    -	"es3": true,
    -
    -	"additionalRules": [],
    -
    -	"requireSemicolons": true,
    -
    -	"disallowMultipleSpaces": true,
    -
    -	"disallowIdentifierNames": [],
    -
    -	"requireCurlyBraces": {
    -		"allExcept": [],
    -		"keywords": ["if", "else", "for", "while", "do", "try", "catch"]
    -	},
    -
    -	"requireSpaceAfterKeywords": ["if", "else", "for", "while", "do", "switch", "return", "try", "catch", "function"],
    -
    -	"disallowSpaceAfterKeywords": [],
    -
    -	"disallowSpaceBeforeComma": true,
    -	"disallowSpaceAfterComma": false,
    -	"disallowSpaceBeforeSemicolon": true,
    -
    -	"disallowNodeTypes": [
    -		"DebuggerStatement",
    -		"LabeledStatement",
    -		"SwitchCase",
    -		"SwitchStatement",
    -		"WithStatement"
    -	],
    -
    -	"requireObjectKeysOnNewLine": { "allExcept": ["sameLine"] },
    -
    -	"requireSpacesInAnonymousFunctionExpression": { "beforeOpeningRoundBrace": true, "beforeOpeningCurlyBrace": true },
    -	"requireSpacesInNamedFunctionExpression": { "beforeOpeningCurlyBrace": true },
    -	"disallowSpacesInNamedFunctionExpression": { "beforeOpeningRoundBrace": true },
    -	"requireSpacesInFunctionDeclaration": { "beforeOpeningCurlyBrace": true },
    -	"disallowSpacesInFunctionDeclaration": { "beforeOpeningRoundBrace": true },
    -
    -	"requireSpaceBetweenArguments": true,
    -
    -	"disallowSpacesInsideParentheses": true,
    -
    -	"disallowSpacesInsideArrayBrackets": true,
    -
    -	"disallowQuotedKeysInObjects": { "allExcept": ["reserved"] },
    -
    -	"disallowSpaceAfterObjectKeys": true,
    -
    -	"requireCommaBeforeLineBreak": true,
    -
    -	"disallowSpaceAfterPrefixUnaryOperators": ["++", "--", "+", "-", "~", "!"],
    -	"requireSpaceAfterPrefixUnaryOperators": [],
    -
    -	"disallowSpaceBeforePostfixUnaryOperators": ["++", "--"],
    -	"requireSpaceBeforePostfixUnaryOperators": [],
    -
    -	"disallowSpaceBeforeBinaryOperators": [],
    -	"requireSpaceBeforeBinaryOperators": ["+", "-", "/", "*", "=", "==", "===", "!=", "!=="],
    -
    -	"requireSpaceAfterBinaryOperators": ["+", "-", "/", "*", "=", "==", "===", "!=", "!=="],
    -	"disallowSpaceAfterBinaryOperators": [],
    -
    -	"disallowImplicitTypeConversion": ["binary", "string"],
    -
    -	"disallowKeywords": ["with", "eval"],
    -
    -	"requireKeywordsOnNewLine": [],
    -	"disallowKeywordsOnNewLine": ["else"],
    -
    -	"requireLineFeedAtFileEnd": true,
    -
    -	"disallowTrailingWhitespace": true,
    -
    -	"disallowTrailingComma": true,
    -
    -	"excludeFiles": ["node_modules/**", "vendor/**"],
    -
    -	"disallowMultipleLineStrings": true,
    -
    -	"requireDotNotation": { "allExcept": ["keywords"] },
    -
    -	"requireParenthesesAroundIIFE": true,
    -
    -	"validateLineBreaks": "LF",
    -
    -	"validateQuoteMarks": {
    -		"escape": true,
    -		"mark": "'"
    -	},
    -
    -	"disallowOperatorBeforeLineBreak": [],
    -
    -	"requireSpaceBeforeKeywords": [
    -		"do",
    -		"for",
    -		"if",
    -		"else",
    -		"switch",
    -		"case",
    -		"try",
    -		"catch",
    -		"finally",
    -		"while",
    -		"with",
    -		"return"
    -	],
    -
    -	"validateAlignedFunctionParameters": {
    -		"lineBreakAfterOpeningBraces": true,
    -		"lineBreakBeforeClosingBraces": true
    -	},
    -
    -	"requirePaddingNewLinesBeforeExport": true,
    -
    -	"validateNewlineAfterArrayElements": {
    -		"maximum": 6
    -	},
    -
    -	"requirePaddingNewLinesAfterUseStrict": true,
    -
    -	"disallowArrowFunctions": true,
    -
    -	"disallowMultiLineTernary": true,
    -
    -	"validateOrderInObjectKeys": false,
    -
    -	"disallowIdenticalDestructuringNames": true,
    -
    -	"disallowNestedTernaries": { "maxLevel": 1 },
    -
    -	"requireSpaceAfterComma": { "allExcept": ["trailing"] },
    -	"requireAlignedMultilineParams": false,
    -
    -	"requireSpacesInGenerator": {
    -		"afterStar": true
    -	},
    -
    -	"disallowSpacesInGenerator": {
    -		"beforeStar": true
    -	},
    -
    -	"disallowVar": false,
    -
    -	"requireArrayDestructuring": false,
    -
    -	"requireEnhancedObjectLiterals": false,
    -
    -	"requireObjectDestructuring": false,
    -
    -	"requireEarlyReturn": false,
    -
    -	"requireCapitalizedConstructorsNew": {
    -		"allExcept": ["Function", "String", "Object", "Symbol", "Number", "Date", "RegExp", "Error", "Boolean", "Array"]
    -	},
    -
    -	"requireImportAlphabetized": false,
    -
    -	"requireSpaceBeforeObjectValues": true,
    -	"requireSpaceBeforeDestructuredValues": true,
    -
    -	"disallowSpacesInsideTemplateStringPlaceholders": true,
    -
    -	"disallowArrayDestructuringReturn": false,
    -
    -	"requireNewlineBeforeSingleStatementsInIf": false,
    -
    -	"disallowUnusedVariables": true,
    -
    -	"requireSpacesInsideImportedObjectBraces": true,
    -
    -	"requireUseStrict": true
    -}
    -
    diff --git a/deps/npm/node_modules/extend/.travis.yml b/deps/npm/node_modules/extend/.travis.yml
    deleted file mode 100644
    index 5ccdfc4948155f..00000000000000
    --- a/deps/npm/node_modules/extend/.travis.yml
    +++ /dev/null
    @@ -1,230 +0,0 @@
    -language: node_js
    -os:
    - - linux
    -node_js:
    -  - "10.7"
    -  - "9.11"
    -  - "8.11"
    -  - "7.10"
    -  - "6.14"
    -  - "5.12"
    -  - "4.9"
    -  - "iojs-v3.3"
    -  - "iojs-v2.5"
    -  - "iojs-v1.8"
    -  - "0.12"
    -  - "0.10"
    -  - "0.8"
    -before_install:
    -  - 'case "${TRAVIS_NODE_VERSION}" in 0.*) export NPM_CONFIG_STRICT_SSL=false ;; esac'
    -  - 'nvm install-latest-npm'
    -install:
    -  - 'if [ "${TRAVIS_NODE_VERSION}" = "0.6" ] || [ "${TRAVIS_NODE_VERSION}" = "0.9" ]; then nvm install --latest-npm 0.8 && npm install && nvm use "${TRAVIS_NODE_VERSION}"; else npm install; fi;'
    -script:
    -  - 'if [ -n "${PRETEST-}" ]; then npm run pretest ; fi'
    -  - 'if [ -n "${POSTTEST-}" ]; then npm run posttest ; fi'
    -  - 'if [ -n "${COVERAGE-}" ]; then npm run coverage ; fi'
    -  - 'if [ -n "${TEST-}" ]; then npm run tests-only ; fi'
    -sudo: false
    -env:
    -  - TEST=true
    -matrix:
    -  fast_finish: true
    -  include:
    -    - node_js: "lts/*"
    -      env: PRETEST=true
    -    - node_js: "lts/*"
    -      env: POSTTEST=true
    -    - node_js: "4"
    -      env: COVERAGE=true
    -    - node_js: "10.6"
    -      env: TEST=true ALLOW_FAILURE=true
    -    - node_js: "10.5"
    -      env: TEST=true ALLOW_FAILURE=true
    -    - node_js: "10.4"
    -      env: TEST=true ALLOW_FAILURE=true
    -    - node_js: "10.3"
    -      env: TEST=true ALLOW_FAILURE=true
    -    - node_js: "10.2"
    -      env: TEST=true ALLOW_FAILURE=true
    -    - node_js: "10.1"
    -      env: TEST=true ALLOW_FAILURE=true
    -    - node_js: "10.0"
    -      env: TEST=true ALLOW_FAILURE=true
    -    - node_js: "9.10"
    -      env: TEST=true ALLOW_FAILURE=true
    -    - node_js: "9.9"
    -      env: TEST=true ALLOW_FAILURE=true
    -    - node_js: "9.8"
    -      env: TEST=true ALLOW_FAILURE=true
    -    - node_js: "9.7"
    -      env: TEST=true ALLOW_FAILURE=true
    -    - node_js: "9.6"
    -      env: TEST=true ALLOW_FAILURE=true
    -    - node_js: "9.5"
    -      env: TEST=true ALLOW_FAILURE=true
    -    - node_js: "9.4"
    -      env: TEST=true ALLOW_FAILURE=true
    -    - node_js: "9.3"
    -      env: TEST=true ALLOW_FAILURE=true
    -    - node_js: "9.2"
    -      env: TEST=true ALLOW_FAILURE=true
    -    - node_js: "9.1"
    -      env: TEST=true ALLOW_FAILURE=true
    -    - node_js: "9.0"
    -      env: TEST=true ALLOW_FAILURE=true
    -    - node_js: "8.10"
    -      env: TEST=true ALLOW_FAILURE=true
    -    - node_js: "8.9"
    -      env: TEST=true ALLOW_FAILURE=true
    -    - node_js: "8.8"
    -      env: TEST=true ALLOW_FAILURE=true
    -    - node_js: "8.7"
    -      env: TEST=true ALLOW_FAILURE=true
    -    - node_js: "8.6"
    -      env: TEST=true ALLOW_FAILURE=true
    -    - node_js: "8.5"
    -      env: TEST=true ALLOW_FAILURE=true
    -    - node_js: "8.4"
    -      env: TEST=true ALLOW_FAILURE=true
    -    - node_js: "8.3"
    -      env: TEST=true ALLOW_FAILURE=true
    -    - node_js: "8.2"
    -      env: TEST=true ALLOW_FAILURE=true
    -    - node_js: "8.1"
    -      env: TEST=true ALLOW_FAILURE=true
    -    - node_js: "8.0"
    -      env: TEST=true ALLOW_FAILURE=true
    -    - node_js: "7.9"
    -      env: TEST=true ALLOW_FAILURE=true
    -    - node_js: "7.8"
    -      env: TEST=true ALLOW_FAILURE=true
    -    - node_js: "7.7"
    -      env: TEST=true ALLOW_FAILURE=true
    -    - node_js: "7.6"
    -      env: TEST=true ALLOW_FAILURE=true
    -    - node_js: "7.5"
    -      env: TEST=true ALLOW_FAILURE=true
    -    - node_js: "7.4"
    -      env: TEST=true ALLOW_FAILURE=true
    -    - node_js: "7.3"
    -      env: TEST=true ALLOW_FAILURE=true
    -    - node_js: "7.2"
    -      env: TEST=true ALLOW_FAILURE=true
    -    - node_js: "7.1"
    -      env: TEST=true ALLOW_FAILURE=true
    -    - node_js: "7.0"
    -      env: TEST=true ALLOW_FAILURE=true
    -    - node_js: "6.13"
    -      env: TEST=true ALLOW_FAILURE=true
    -    - node_js: "6.12"
    -      env: TEST=true ALLOW_FAILURE=true
    -    - node_js: "6.11"
    -      env: TEST=true ALLOW_FAILURE=true
    -    - node_js: "6.10"
    -      env: TEST=true ALLOW_FAILURE=true
    -    - node_js: "6.9"
    -      env: TEST=true ALLOW_FAILURE=true
    -    - node_js: "6.8"
    -      env: TEST=true ALLOW_FAILURE=true
    -    - node_js: "6.7"
    -      env: TEST=true ALLOW_FAILURE=true
    -    - node_js: "6.6"
    -      env: TEST=true ALLOW_FAILURE=true
    -    - node_js: "6.5"
    -      env: TEST=true ALLOW_FAILURE=true
    -    - node_js: "6.4"
    -      env: TEST=true ALLOW_FAILURE=true
    -    - node_js: "6.3"
    -      env: TEST=true ALLOW_FAILURE=true
    -    - node_js: "6.2"
    -      env: TEST=true ALLOW_FAILURE=true
    -    - node_js: "6.1"
    -      env: TEST=true ALLOW_FAILURE=true
    -    - node_js: "6.0"
    -      env: TEST=true ALLOW_FAILURE=true
    -    - node_js: "5.11"
    -      env: TEST=true ALLOW_FAILURE=true
    -    - node_js: "5.10"
    -      env: TEST=true ALLOW_FAILURE=true
    -    - node_js: "5.9"
    -      env: TEST=true ALLOW_FAILURE=true
    -    - node_js: "5.8"
    -      env: TEST=true ALLOW_FAILURE=true
    -    - node_js: "5.7"
    -      env: TEST=true ALLOW_FAILURE=true
    -    - node_js: "5.6"
    -      env: TEST=true ALLOW_FAILURE=true
    -    - node_js: "5.5"
    -      env: TEST=true ALLOW_FAILURE=true
    -    - node_js: "5.4"
    -      env: TEST=true ALLOW_FAILURE=true
    -    - node_js: "5.3"
    -      env: TEST=true ALLOW_FAILURE=true
    -    - node_js: "5.2"
    -      env: TEST=true ALLOW_FAILURE=true
    -    - node_js: "5.1"
    -      env: TEST=true ALLOW_FAILURE=true
    -    - node_js: "5.0"
    -      env: TEST=true ALLOW_FAILURE=true
    -    - node_js: "4.8"
    -      env: TEST=true ALLOW_FAILURE=true
    -    - node_js: "4.7"
    -      env: TEST=true ALLOW_FAILURE=true
    -    - node_js: "4.6"
    -      env: TEST=true ALLOW_FAILURE=true
    -    - node_js: "4.5"
    -      env: TEST=true ALLOW_FAILURE=true
    -    - node_js: "4.4"
    -      env: TEST=true ALLOW_FAILURE=true
    -    - node_js: "4.3"
    -      env: TEST=true ALLOW_FAILURE=true
    -    - node_js: "4.2"
    -      env: TEST=true ALLOW_FAILURE=true
    -    - node_js: "4.1"
    -      env: TEST=true ALLOW_FAILURE=true
    -    - node_js: "4.0"
    -      env: TEST=true ALLOW_FAILURE=true
    -    - node_js: "iojs-v3.2"
    -      env: TEST=true ALLOW_FAILURE=true
    -    - node_js: "iojs-v3.1"
    -      env: TEST=true ALLOW_FAILURE=true
    -    - node_js: "iojs-v3.0"
    -      env: TEST=true ALLOW_FAILURE=true
    -    - node_js: "iojs-v2.4"
    -      env: TEST=true ALLOW_FAILURE=true
    -    - node_js: "iojs-v2.3"
    -      env: TEST=true ALLOW_FAILURE=true
    -    - node_js: "iojs-v2.2"
    -      env: TEST=true ALLOW_FAILURE=true
    -    - node_js: "iojs-v2.1"
    -      env: TEST=true ALLOW_FAILURE=true
    -    - node_js: "iojs-v2.0"
    -      env: TEST=true ALLOW_FAILURE=true
    -    - node_js: "iojs-v1.7"
    -      env: TEST=true ALLOW_FAILURE=true
    -    - node_js: "iojs-v1.6"
    -      env: TEST=true ALLOW_FAILURE=true
    -    - node_js: "iojs-v1.5"
    -      env: TEST=true ALLOW_FAILURE=true
    -    - node_js: "iojs-v1.4"
    -      env: TEST=true ALLOW_FAILURE=true
    -    - node_js: "iojs-v1.3"
    -      env: TEST=true ALLOW_FAILURE=true
    -    - node_js: "iojs-v1.2"
    -      env: TEST=true ALLOW_FAILURE=true
    -    - node_js: "iojs-v1.1"
    -      env: TEST=true ALLOW_FAILURE=true
    -    - node_js: "iojs-v1.0"
    -      env: TEST=true ALLOW_FAILURE=true
    -    - node_js: "0.11"
    -      env: TEST=true ALLOW_FAILURE=true
    -    - node_js: "0.9"
    -      env: TEST=true ALLOW_FAILURE=true
    -    - node_js: "0.6"
    -      env: TEST=true ALLOW_FAILURE=true
    -    - node_js: "0.4"
    -      env: TEST=true ALLOW_FAILURE=true
    -  allow_failures:
    -    - os: osx
    -    - env: TEST=true ALLOW_FAILURE=true
    diff --git a/deps/npm/node_modules/extend/CHANGELOG.md b/deps/npm/node_modules/extend/CHANGELOG.md
    deleted file mode 100644
    index 2cf7de6fb3ae5d..00000000000000
    --- a/deps/npm/node_modules/extend/CHANGELOG.md
    +++ /dev/null
    @@ -1,83 +0,0 @@
    -3.0.2 / 2018-07-19
    -==================
    -  * [Fix] Prevent merging `__proto__` property (#48)
    -  * [Dev Deps] update `eslint`, `@ljharb/eslint-config`, `tape`
    -  * [Tests] up to `node` `v10.7`, `v9.11`, `v8.11`, `v7.10`, `v6.14`, `v4.9`; use `nvm install-latest-npm`
    -
    -3.0.1 / 2017-04-27
    -==================
    -  * [Fix] deep extending should work with a non-object (#46)
    -  * [Dev Deps] update `tape`, `eslint`, `@ljharb/eslint-config`
    -  * [Tests] up to `node` `v7.9`, `v6.10`, `v4.8`; improve matrix
    -  * [Docs] Switch from vb.teelaun.ch to versionbadg.es for the npm version badge SVG.
    -  * [Docs] Add example to readme (#34)
    -
    -3.0.0 / 2015-07-01
    -==================
    -  * [Possible breaking change] Use global "strict" directive (#32)
    -  * [Tests] `int` is an ES3 reserved word
    -  * [Tests] Test up to `io.js` `v2.3`
    -  * [Tests] Add `npm run eslint`
    -  * [Dev Deps] Update `covert`, `jscs`
    -
    -2.0.1 / 2015-04-25
    -==================
    -  * Use an inline `isArray` check, for ES3 browsers. (#27)
    -  * Some old browsers fail when an identifier is `toString`
    -  * Test latest `node` and `io.js` versions on `travis-ci`; speed up builds
    -  * Add license info to package.json (#25)
    -  * Update `tape`, `jscs`
    -  * Adding a CHANGELOG
    -
    -2.0.0 / 2014-10-01
    -==================
    -  * Increase code coverage to 100%; run code coverage as part of tests
    -  * Add `npm run lint`; Run linter as part of tests
    -  * Remove nodeType and setInterval checks in isPlainObject
    -  * Updating `tape`, `jscs`, `covert`
    -  * General style and README cleanup
    -
    -1.3.0 / 2014-06-20
    -==================
    -  * Add component.json for browser support (#18)
    -  * Use SVG for badges in README (#16)
    -  * Updating `tape`, `covert`
    -  * Updating travis-ci to work with multiple node versions
    -  * Fix `deep === false` bug (returning target as {}) (#14)
    -  * Fixing constructor checks in isPlainObject
    -  * Adding additional test coverage
    -  * Adding `npm run coverage`
    -  * Add LICENSE (#13)
    -  * Adding a warning about `false`, per #11
    -  * General style and whitespace cleanup
    -
    -1.2.1 / 2013-09-14
    -==================
    -  * Fixing hasOwnProperty bugs that would only have shown up in specific browsers. Fixes #8
    -  * Updating `tape`
    -
    -1.2.0 / 2013-09-02
    -==================
    -  * Updating the README: add badges
    -  * Adding a missing variable reference.
    -  * Using `tape` instead of `buster` for tests; add more tests (#7)
    -  * Adding node 0.10 to Travis CI (#6)
    -  * Enabling "npm test" and cleaning up package.json (#5)
    -  * Add Travis CI.
    -
    -1.1.3 / 2012-12-06
    -==================
    -  * Added unit tests.
    -  * Ensure extend function is named. (Looks nicer in a stack trace.)
    -  * README cleanup.
    -
    -1.1.1 / 2012-11-07
    -==================
    -  * README cleanup.
    -  * Added installation instructions.
    -  * Added a missing semicolon
    -
    -1.0.0 / 2012-04-08
    -==================
    -  * Initial commit
    -
    diff --git a/deps/npm/node_modules/extend/README.md b/deps/npm/node_modules/extend/README.md
    deleted file mode 100644
    index 5b8249aa95e5d3..00000000000000
    --- a/deps/npm/node_modules/extend/README.md
    +++ /dev/null
    @@ -1,81 +0,0 @@
    -[![Build Status][travis-svg]][travis-url]
    -[![dependency status][deps-svg]][deps-url]
    -[![dev dependency status][dev-deps-svg]][dev-deps-url]
    -
    -# extend() for Node.js [![Version Badge][npm-version-png]][npm-url]
    -
    -`node-extend` is a port of the classic extend() method from jQuery. It behaves as you expect. It is simple, tried and true.
    -
    -Notes:
    -
    -* Since Node.js >= 4,
    -  [`Object.assign`](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Object/assign)
    -  now offers the same functionality natively (but without the "deep copy" option).
    -  See [ECMAScript 2015 (ES6) in Node.js](https://nodejs.org/en/docs/es6).
    -* Some native implementations of `Object.assign` in both Node.js and many
    -  browsers (since NPM modules are for the browser too) may not be fully
    -  spec-compliant.
    -  Check [`object.assign`](https://www.npmjs.com/package/object.assign) module for
    -  a compliant candidate.
    -
    -## Installation
    -
    -This package is available on [npm][npm-url] as: `extend`
    -
    -``` sh
    -npm install extend
    -```
    -
    -## Usage
    -
    -**Syntax:** extend **(** [`deep`], `target`, `object1`, [`objectN`] **)**
    -
    -*Extend one object with one or more others, returning the modified object.*
    -
    -**Example:**
    -
    -``` js
    -var extend = require('extend');
    -extend(targetObject, object1, object2);
    -```
    -
    -Keep in mind that the target object will be modified, and will be returned from extend().
    -
    -If a boolean true is specified as the first argument, extend performs a deep copy, recursively copying any objects it finds. Otherwise, the copy will share structure with the original object(s).
    -Undefined properties are not copied. However, properties inherited from the object's prototype will be copied over.
    -Warning: passing `false` as the first argument is not supported.
    -
    -### Arguments
    -
    -* `deep` *Boolean* (optional)
    -If set, the merge becomes recursive (i.e. deep copy).
    -* `target`	*Object*
    -The object to extend.
    -* `object1`	*Object*
    -The object that will be merged into the first.
    -* `objectN` *Object* (Optional)
    -More objects to merge into the first.
    -
    -## License
    -
    -`node-extend` is licensed under the [MIT License][mit-license-url].
    -
    -## Acknowledgements
    -
    -All credit to the jQuery authors for perfecting this amazing utility.
    -
    -Ported to Node.js by [Stefan Thomas][github-justmoon] with contributions by [Jonathan Buchanan][github-insin] and [Jordan Harband][github-ljharb].
    -
    -[travis-svg]: https://travis-ci.org/justmoon/node-extend.svg
    -[travis-url]: https://travis-ci.org/justmoon/node-extend
    -[npm-url]: https://npmjs.org/package/extend
    -[mit-license-url]: http://opensource.org/licenses/MIT
    -[github-justmoon]: https://github.com/justmoon
    -[github-insin]: https://github.com/insin
    -[github-ljharb]: https://github.com/ljharb
    -[npm-version-png]: http://versionbadg.es/justmoon/node-extend.svg
    -[deps-svg]: https://david-dm.org/justmoon/node-extend.svg
    -[deps-url]: https://david-dm.org/justmoon/node-extend
    -[dev-deps-svg]: https://david-dm.org/justmoon/node-extend/dev-status.svg
    -[dev-deps-url]: https://david-dm.org/justmoon/node-extend#info=devDependencies
    -
    diff --git a/deps/npm/node_modules/extsprintf/.npmignore b/deps/npm/node_modules/extsprintf/.npmignore
    deleted file mode 100644
    index 6ed1ae975080f1..00000000000000
    --- a/deps/npm/node_modules/extsprintf/.npmignore
    +++ /dev/null
    @@ -1,2 +0,0 @@
    -/deps
    -/examples
    diff --git a/deps/npm/node_modules/extsprintf/README.md b/deps/npm/node_modules/extsprintf/README.md
    deleted file mode 100644
    index b22998d63af16c..00000000000000
    --- a/deps/npm/node_modules/extsprintf/README.md
    +++ /dev/null
    @@ -1,46 +0,0 @@
    -# extsprintf: extended POSIX-style sprintf
    -
    -Stripped down version of s[n]printf(3c).  We make a best effort to throw an
    -exception when given a format string we don't understand, rather than ignoring
    -it, so that we won't break existing programs if/when we go implement the rest
    -of this.
    -
    -This implementation currently supports specifying
    -
    -* field alignment ('-' flag),
    -* zero-pad ('0' flag)
    -* always show numeric sign ('+' flag),
    -* field width
    -* conversions for strings, decimal integers, and floats (numbers).
    -* argument size specifiers.  These are all accepted but ignored, since
    -  Javascript has no notion of the physical size of an argument.
    -
    -Everything else is currently unsupported, most notably: precision, unsigned
    -numbers, non-decimal numbers, and characters.
    -
    -Besides the usual POSIX conversions, this implementation supports:
    -
    -* `%j`: pretty-print a JSON object (using node's "inspect")
    -* `%r`: pretty-print an Error object
    -
    -# Example
    -
    -First, install it:
    -
    -    # npm install extsprintf
    -
    -Now, use it:
    -
    -    var mod_extsprintf = require('extsprintf');
    -    console.log(mod_extsprintf.sprintf('hello %25s', 'world'));
    -
    -outputs:
    -
    -    hello                     world
    -
    -# Also supported
    -
    -**printf**: same args as sprintf, but prints the result to stdout
    -
    -**fprintf**: same args as sprintf, preceded by a Node stream.  Prints the result
    -to the given stream.
    diff --git a/deps/npm/node_modules/fast-deep-equal/README.md b/deps/npm/node_modules/fast-deep-equal/README.md
    deleted file mode 100644
    index d3f4ffcc316f96..00000000000000
    --- a/deps/npm/node_modules/fast-deep-equal/README.md
    +++ /dev/null
    @@ -1,96 +0,0 @@
    -# fast-deep-equal
    -The fastest deep equal with ES6 Map, Set and Typed arrays support.
    -
    -[![Build Status](https://travis-ci.org/epoberezkin/fast-deep-equal.svg?branch=master)](https://travis-ci.org/epoberezkin/fast-deep-equal)
    -[![npm](https://img.shields.io/npm/v/fast-deep-equal.svg)](https://www.npmjs.com/package/fast-deep-equal)
    -[![Coverage Status](https://coveralls.io/repos/github/epoberezkin/fast-deep-equal/badge.svg?branch=master)](https://coveralls.io/github/epoberezkin/fast-deep-equal?branch=master)
    -
    -
    -## Install
    -
    -```bash
    -npm install fast-deep-equal
    -```
    -
    -
    -## Features
    -
    -- ES5 compatible
    -- works in node.js (8+) and browsers (IE9+)
    -- checks equality of Date and RegExp objects by value.
    -
    -ES6 equal (`require('fast-deep-equal/es6')`) also supports:
    -- Maps
    -- Sets
    -- Typed arrays
    -
    -
    -## Usage
    -
    -```javascript
    -var equal = require('fast-deep-equal');
    -console.log(equal({foo: 'bar'}, {foo: 'bar'})); // true
    -```
    -
    -To support ES6 Maps, Sets and Typed arrays equality use:
    -
    -```javascript
    -var equal = require('fast-deep-equal/es6');
    -console.log(equal(Int16Array([1, 2]), Int16Array([1, 2]))); // true
    -```
    -
    -To use with React (avoiding the traversal of React elements' _owner
    -property that contains circular references and is not needed when
    -comparing the elements - borrowed from [react-fast-compare](https://github.com/FormidableLabs/react-fast-compare)):
    -
    -```javascript
    -var equal = require('fast-deep-equal/react');
    -var equal = require('fast-deep-equal/es6/react');
    -```
    -
    -
    -## Performance benchmark
    -
    -Node.js v12.6.0:
    -
    -```
    -fast-deep-equal x 261,950 ops/sec ±0.52% (89 runs sampled)
    -fast-deep-equal/es6 x 212,991 ops/sec ±0.34% (92 runs sampled)
    -fast-equals x 230,957 ops/sec ±0.83% (85 runs sampled)
    -nano-equal x 187,995 ops/sec ±0.53% (88 runs sampled)
    -shallow-equal-fuzzy x 138,302 ops/sec ±0.49% (90 runs sampled)
    -underscore.isEqual x 74,423 ops/sec ±0.38% (89 runs sampled)
    -lodash.isEqual x 36,637 ops/sec ±0.72% (90 runs sampled)
    -deep-equal x 2,310 ops/sec ±0.37% (90 runs sampled)
    -deep-eql x 35,312 ops/sec ±0.67% (91 runs sampled)
    -ramda.equals x 12,054 ops/sec ±0.40% (91 runs sampled)
    -util.isDeepStrictEqual x 46,440 ops/sec ±0.43% (90 runs sampled)
    -assert.deepStrictEqual x 456 ops/sec ±0.71% (88 runs sampled)
    -
    -The fastest is fast-deep-equal
    -```
    -
    -To run benchmark (requires node.js 6+):
    -
    -```bash
    -npm run benchmark
    -```
    -
    -__Please note__: this benchmark runs against the available test cases. To choose the most performant library for your application, it is recommended to benchmark against your data and to NOT expect this benchmark to reflect the performance difference in your application.
    -
    -
    -## Enterprise support
    -
    -fast-deep-equal package is a part of [Tidelift enterprise subscription](https://tidelift.com/subscription/pkg/npm-fast-deep-equal?utm_source=npm-fast-deep-equal&utm_medium=referral&utm_campaign=enterprise&utm_term=repo) - it provides a centralised commercial support to open-source software users, in addition to the support provided by software maintainers.
    -
    -
    -## Security contact
    -
    -To report a security vulnerability, please use the
    -[Tidelift security contact](https://tidelift.com/security).
    -Tidelift will coordinate the fix and disclosure. Please do NOT report security vulnerability via GitHub issues.
    -
    -
    -## License
    -
    -[MIT](https://github.com/epoberezkin/fast-deep-equal/blob/master/LICENSE)
    diff --git a/deps/npm/node_modules/fast-json-stable-stringify/.eslintrc.yml b/deps/npm/node_modules/fast-json-stable-stringify/.eslintrc.yml
    deleted file mode 100644
    index 1c77b0d4790359..00000000000000
    --- a/deps/npm/node_modules/fast-json-stable-stringify/.eslintrc.yml
    +++ /dev/null
    @@ -1,26 +0,0 @@
    -extends: eslint:recommended
    -env:
    -  node: true
    -  browser: true
    -rules:
    -  block-scoped-var: 2
    -  callback-return: 2
    -  dot-notation: 2
    -  indent: 2
    -  linebreak-style: [2, unix]
    -  new-cap: 2
    -  no-console: [2, allow: [warn, error]]
    -  no-else-return: 2
    -  no-eq-null: 2
    -  no-fallthrough: 2
    -  no-invalid-this: 2
    -  no-return-assign: 2
    -  no-shadow: 1
    -  no-trailing-spaces: 2
    -  no-use-before-define: [2, nofunc]
    -  quotes: [2, single, avoid-escape]
    -  semi: [2, always]
    -  strict: [2, global]
    -  valid-jsdoc: [2, requireReturn: false]
    -  no-control-regex: 0
    -  no-useless-escape: 2
    diff --git a/deps/npm/node_modules/fast-json-stable-stringify/.github/FUNDING.yml b/deps/npm/node_modules/fast-json-stable-stringify/.github/FUNDING.yml
    deleted file mode 100644
    index 61f9daa955b012..00000000000000
    --- a/deps/npm/node_modules/fast-json-stable-stringify/.github/FUNDING.yml
    +++ /dev/null
    @@ -1 +0,0 @@
    -tidelift: "npm/fast-json-stable-stringify"
    diff --git a/deps/npm/node_modules/fast-json-stable-stringify/.travis.yml b/deps/npm/node_modules/fast-json-stable-stringify/.travis.yml
    deleted file mode 100644
    index b61e8f0dc9dccd..00000000000000
    --- a/deps/npm/node_modules/fast-json-stable-stringify/.travis.yml
    +++ /dev/null
    @@ -1,8 +0,0 @@
    -language: node_js
    -node_js:
    -  - "8"
    -  - "10"
    -  - "12"
    -  - "13"
    -after_script:
    -  - coveralls < coverage/lcov.info
    diff --git a/deps/npm/node_modules/fast-json-stable-stringify/README.md b/deps/npm/node_modules/fast-json-stable-stringify/README.md
    deleted file mode 100644
    index 02cf49ff385b8b..00000000000000
    --- a/deps/npm/node_modules/fast-json-stable-stringify/README.md
    +++ /dev/null
    @@ -1,131 +0,0 @@
    -# fast-json-stable-stringify
    -
    -Deterministic `JSON.stringify()` - a faster version of [@substack](https://github.com/substack)'s json-stable-strigify without [jsonify](https://github.com/substack/jsonify).
    -
    -You can also pass in a custom comparison function.
    -
    -[![Build Status](https://travis-ci.org/epoberezkin/fast-json-stable-stringify.svg?branch=master)](https://travis-ci.org/epoberezkin/fast-json-stable-stringify)
    -[![Coverage Status](https://coveralls.io/repos/github/epoberezkin/fast-json-stable-stringify/badge.svg?branch=master)](https://coveralls.io/github/epoberezkin/fast-json-stable-stringify?branch=master)
    -
    -# example
    -
    -``` js
    -var stringify = require('fast-json-stable-stringify');
    -var obj = { c: 8, b: [{z:6,y:5,x:4},7], a: 3 };
    -console.log(stringify(obj));
    -```
    -
    -output:
    -
    -```
    -{"a":3,"b":[{"x":4,"y":5,"z":6},7],"c":8}
    -```
    -
    -
    -# methods
    -
    -``` js
    -var stringify = require('fast-json-stable-stringify')
    -```
    -
    -## var str = stringify(obj, opts)
    -
    -Return a deterministic stringified string `str` from the object `obj`.
    -
    -
    -## options
    -
    -### cmp
    -
    -If `opts` is given, you can supply an `opts.cmp` to have a custom comparison
    -function for object keys. Your function `opts.cmp` is called with these
    -parameters:
    -
    -``` js
    -opts.cmp({ key: akey, value: avalue }, { key: bkey, value: bvalue })
    -```
    -
    -For example, to sort on the object key names in reverse order you could write:
    -
    -``` js
    -var stringify = require('fast-json-stable-stringify');
    -
    -var obj = { c: 8, b: [{z:6,y:5,x:4},7], a: 3 };
    -var s = stringify(obj, function (a, b) {
    -    return a.key < b.key ? 1 : -1;
    -});
    -console.log(s);
    -```
    -
    -which results in the output string:
    -
    -```
    -{"c":8,"b":[{"z":6,"y":5,"x":4},7],"a":3}
    -```
    -
    -Or if you wanted to sort on the object values in reverse order, you could write:
    -
    -```
    -var stringify = require('fast-json-stable-stringify');
    -
    -var obj = { d: 6, c: 5, b: [{z:3,y:2,x:1},9], a: 10 };
    -var s = stringify(obj, function (a, b) {
    -    return a.value < b.value ? 1 : -1;
    -});
    -console.log(s);
    -```
    -
    -which outputs:
    -
    -```
    -{"d":6,"c":5,"b":[{"z":3,"y":2,"x":1},9],"a":10}
    -```
    -
    -### cycles
    -
    -Pass `true` in `opts.cycles` to stringify circular property as `__cycle__` - the result will not be a valid JSON string in this case.
    -
    -TypeError will be thrown in case of circular object without this option.
    -
    -
    -# install
    -
    -With [npm](https://npmjs.org) do:
    -
    -```
    -npm install fast-json-stable-stringify
    -```
    -
    -
    -# benchmark
    -
    -To run benchmark (requires Node.js 6+):
    -```
    -node benchmark
    -```
    -
    -Results:
    -```
    -fast-json-stable-stringify x 17,189 ops/sec ±1.43% (83 runs sampled)
    -json-stable-stringify x 13,634 ops/sec ±1.39% (85 runs sampled)
    -fast-stable-stringify x 20,212 ops/sec ±1.20% (84 runs sampled)
    -faster-stable-stringify x 15,549 ops/sec ±1.12% (84 runs sampled)
    -The fastest is fast-stable-stringify
    -```
    -
    -
    -## Enterprise support
    -
    -fast-json-stable-stringify package is a part of [Tidelift enterprise subscription](https://tidelift.com/subscription/pkg/npm-fast-json-stable-stringify?utm_source=npm-fast-json-stable-stringify&utm_medium=referral&utm_campaign=enterprise&utm_term=repo) - it provides a centralised commercial support to open-source software users, in addition to the support provided by software maintainers.
    -
    -
    -## Security contact
    -
    -To report a security vulnerability, please use the
    -[Tidelift security contact](https://tidelift.com/security).
    -Tidelift will coordinate the fix and disclosure. Please do NOT report security vulnerability via GitHub issues.
    -
    -
    -# license
    -
    -[MIT](https://github.com/epoberezkin/fast-json-stable-stringify/blob/master/LICENSE)
    diff --git a/deps/npm/node_modules/forever-agent/README.md b/deps/npm/node_modules/forever-agent/README.md
    deleted file mode 100644
    index 9d5b66343c4e91..00000000000000
    --- a/deps/npm/node_modules/forever-agent/README.md
    +++ /dev/null
    @@ -1,4 +0,0 @@
    -forever-agent
    -=============
    -
    -HTTP Agent that keeps socket connections alive between keep-alive requests. Formerly part of mikeal/request, now a standalone module.
    diff --git a/deps/npm/node_modules/fs-minipass/README.md b/deps/npm/node_modules/fs-minipass/README.md
    deleted file mode 100644
    index 1e61241cf03a63..00000000000000
    --- a/deps/npm/node_modules/fs-minipass/README.md
    +++ /dev/null
    @@ -1,70 +0,0 @@
    -# fs-minipass
    -
    -Filesystem streams based on [minipass](http://npm.im/minipass).
    -
    -4 classes are exported:
    -
    -- ReadStream
    -- ReadStreamSync
    -- WriteStream
    -- WriteStreamSync
    -
    -When using `ReadStreamSync`, all of the data is made available
    -immediately upon consuming the stream.  Nothing is buffered in memory
    -when the stream is constructed.  If the stream is piped to a writer,
    -then it will synchronously `read()` and emit data into the writer as
    -fast as the writer can consume it.  (That is, it will respect
    -backpressure.)  If you call `stream.read()` then it will read the
    -entire file and return the contents.
    -
    -When using `WriteStreamSync`, every write is flushed to the file
    -synchronously.  If your writes all come in a single tick, then it'll
    -write it all out in a single tick.  It's as synchronous as you are.
    -
    -The async versions work much like their node builtin counterparts,
    -with the exception of introducing significantly less Stream machinery
    -overhead.
    -
    -## USAGE
    -
    -It's just streams, you pipe them or read() them or write() to them.
    -
    -```js
    -const fsm = require('fs-minipass')
    -const readStream = new fsm.ReadStream('file.txt')
    -const writeStream = new fsm.WriteStream('output.txt')
    -writeStream.write('some file header or whatever\n')
    -readStream.pipe(writeStream)
    -```
    -
    -## ReadStream(path, options)
    -
    -Path string is required, but somewhat irrelevant if an open file
    -descriptor is passed in as an option.
    -
    -Options:
    -
    -- `fd` Pass in a numeric file descriptor, if the file is already open.
    -- `readSize` The size of reads to do, defaults to 16MB
    -- `size` The size of the file, if known.  Prevents zero-byte read()
    -  call at the end.
    -- `autoClose` Set to `false` to prevent the file descriptor from being
    -  closed when the file is done being read.
    -
    -## WriteStream(path, options)
    -
    -Path string is required, but somewhat irrelevant if an open file
    -descriptor is passed in as an option.
    -
    -Options:
    -
    -- `fd` Pass in a numeric file descriptor, if the file is already open.
    -- `mode` The mode to create the file with. Defaults to `0o666`.
    -- `start` The position in the file to start reading.  If not
    -  specified, then the file will start writing at position zero, and be
    -  truncated by default.
    -- `autoClose` Set to `false` to prevent the file descriptor from being
    -  closed when the stream is ended.
    -- `flags` Flags to use when opening the file.  Irrelevant if `fd` is
    -  passed in, since file won't be opened in that case.  Defaults to
    -  `'a'` if a `pos` is specified, or `'w'` otherwise.
    diff --git a/deps/npm/node_modules/fs.realpath/README.md b/deps/npm/node_modules/fs.realpath/README.md
    deleted file mode 100644
    index a42ceac62663ac..00000000000000
    --- a/deps/npm/node_modules/fs.realpath/README.md
    +++ /dev/null
    @@ -1,33 +0,0 @@
    -# fs.realpath
    -
    -A backwards-compatible fs.realpath for Node v6 and above
    -
    -In Node v6, the JavaScript implementation of fs.realpath was replaced
    -with a faster (but less resilient) native implementation.  That raises
    -new and platform-specific errors and cannot handle long or excessively
    -symlink-looping paths.
    -
    -This module handles those cases by detecting the new errors and
    -falling back to the JavaScript implementation.  On versions of Node
    -prior to v6, it has no effect.
    -
    -## USAGE
    -
    -```js
    -var rp = require('fs.realpath')
    -
    -// async version
    -rp.realpath(someLongAndLoopingPath, function (er, real) {
    -  // the ELOOP was handled, but it was a bit slower
    -})
    -
    -// sync version
    -var real = rp.realpathSync(someLongAndLoopingPath)
    -
    -// monkeypatch at your own risk!
    -// This replaces the fs.realpath/fs.realpathSync builtins
    -rp.monkeypatch()
    -
    -// un-do the monkeypatching
    -rp.unmonkeypatch()
    -```
    diff --git a/deps/npm/node_modules/function-bind/.editorconfig b/deps/npm/node_modules/function-bind/.editorconfig
    deleted file mode 100644
    index ac29adef0361c6..00000000000000
    --- a/deps/npm/node_modules/function-bind/.editorconfig
    +++ /dev/null
    @@ -1,20 +0,0 @@
    -root = true
    -
    -[*]
    -indent_style = tab
    -indent_size = 4
    -end_of_line = lf
    -charset = utf-8
    -trim_trailing_whitespace = true
    -insert_final_newline = true
    -max_line_length = 120
    -
    -[CHANGELOG.md]
    -indent_style = space
    -indent_size = 2
    -
    -[*.json]
    -max_line_length = off
    -
    -[Makefile]
    -max_line_length = off
    diff --git a/deps/npm/node_modules/function-bind/.jscs.json b/deps/npm/node_modules/function-bind/.jscs.json
    deleted file mode 100644
    index 8c4479480be70d..00000000000000
    --- a/deps/npm/node_modules/function-bind/.jscs.json
    +++ /dev/null
    @@ -1,176 +0,0 @@
    -{
    -	"es3": true,
    -
    -	"additionalRules": [],
    -
    -	"requireSemicolons": true,
    -
    -	"disallowMultipleSpaces": true,
    -
    -	"disallowIdentifierNames": [],
    -
    -	"requireCurlyBraces": {
    -		"allExcept": [],
    -		"keywords": ["if", "else", "for", "while", "do", "try", "catch"]
    -	},
    -
    -	"requireSpaceAfterKeywords": ["if", "else", "for", "while", "do", "switch", "return", "try", "catch", "function"],
    -
    -	"disallowSpaceAfterKeywords": [],
    -
    -	"disallowSpaceBeforeComma": true,
    -	"disallowSpaceAfterComma": false,
    -	"disallowSpaceBeforeSemicolon": true,
    -
    -	"disallowNodeTypes": [
    -		"DebuggerStatement",
    -		"ForInStatement",
    -		"LabeledStatement",
    -		"SwitchCase",
    -		"SwitchStatement",
    -		"WithStatement"
    -	],
    -
    -	"requireObjectKeysOnNewLine": { "allExcept": ["sameLine"] },
    -
    -	"requireSpacesInAnonymousFunctionExpression": { "beforeOpeningRoundBrace": true, "beforeOpeningCurlyBrace": true },
    -	"requireSpacesInNamedFunctionExpression": { "beforeOpeningCurlyBrace": true },
    -	"disallowSpacesInNamedFunctionExpression": { "beforeOpeningRoundBrace": true },
    -	"requireSpacesInFunctionDeclaration": { "beforeOpeningCurlyBrace": true },
    -	"disallowSpacesInFunctionDeclaration": { "beforeOpeningRoundBrace": true },
    -
    -	"requireSpaceBetweenArguments": true,
    -
    -	"disallowSpacesInsideParentheses": true,
    -
    -	"disallowSpacesInsideArrayBrackets": true,
    -
    -	"disallowQuotedKeysInObjects": { "allExcept": ["reserved"] },
    -
    -	"disallowSpaceAfterObjectKeys": true,
    -
    -	"requireCommaBeforeLineBreak": true,
    -
    -	"disallowSpaceAfterPrefixUnaryOperators": ["++", "--", "+", "-", "~", "!"],
    -	"requireSpaceAfterPrefixUnaryOperators": [],
    -
    -	"disallowSpaceBeforePostfixUnaryOperators": ["++", "--"],
    -	"requireSpaceBeforePostfixUnaryOperators": [],
    -
    -	"disallowSpaceBeforeBinaryOperators": [],
    -	"requireSpaceBeforeBinaryOperators": ["+", "-", "/", "*", "=", "==", "===", "!=", "!=="],
    -
    -	"requireSpaceAfterBinaryOperators": ["+", "-", "/", "*", "=", "==", "===", "!=", "!=="],
    -	"disallowSpaceAfterBinaryOperators": [],
    -
    -	"disallowImplicitTypeConversion": ["binary", "string"],
    -
    -	"disallowKeywords": ["with", "eval"],
    -
    -	"requireKeywordsOnNewLine": [],
    -	"disallowKeywordsOnNewLine": ["else"],
    -
    -	"requireLineFeedAtFileEnd": true,
    -
    -	"disallowTrailingWhitespace": true,
    -
    -	"disallowTrailingComma": true,
    -
    -	"excludeFiles": ["node_modules/**", "vendor/**"],
    -
    -	"disallowMultipleLineStrings": true,
    -
    -	"requireDotNotation": { "allExcept": ["keywords"] },
    -
    -	"requireParenthesesAroundIIFE": true,
    -
    -	"validateLineBreaks": "LF",
    -
    -	"validateQuoteMarks": {
    -		"escape": true,
    -		"mark": "'"
    -	},
    -
    -	"disallowOperatorBeforeLineBreak": [],
    -
    -	"requireSpaceBeforeKeywords": [
    -		"do",
    -		"for",
    -		"if",
    -		"else",
    -		"switch",
    -		"case",
    -		"try",
    -		"catch",
    -		"finally",
    -		"while",
    -		"with",
    -		"return"
    -	],
    -
    -	"validateAlignedFunctionParameters": {
    -		"lineBreakAfterOpeningBraces": true,
    -		"lineBreakBeforeClosingBraces": true
    -	},
    -
    -	"requirePaddingNewLinesBeforeExport": true,
    -
    -	"validateNewlineAfterArrayElements": {
    -		"maximum": 8
    -	},
    -
    -	"requirePaddingNewLinesAfterUseStrict": true,
    -
    -	"disallowArrowFunctions": true,
    -
    -	"disallowMultiLineTernary": true,
    -
    -	"validateOrderInObjectKeys": "asc-insensitive",
    -
    -	"disallowIdenticalDestructuringNames": true,
    -
    -	"disallowNestedTernaries": { "maxLevel": 1 },
    -
    -	"requireSpaceAfterComma": { "allExcept": ["trailing"] },
    -	"requireAlignedMultilineParams": false,
    -
    -	"requireSpacesInGenerator": {
    -		"afterStar": true
    -	},
    -
    -	"disallowSpacesInGenerator": {
    -		"beforeStar": true
    -	},
    -
    -	"disallowVar": false,
    -
    -	"requireArrayDestructuring": false,
    -
    -	"requireEnhancedObjectLiterals": false,
    -
    -	"requireObjectDestructuring": false,
    -
    -	"requireEarlyReturn": false,
    -
    -	"requireCapitalizedConstructorsNew": {
    -		"allExcept": ["Function", "String", "Object", "Symbol", "Number", "Date", "RegExp", "Error", "Boolean", "Array"]
    -	},
    -
    -	"requireImportAlphabetized": false,
    -
    -    "requireSpaceBeforeObjectValues": true,
    -    "requireSpaceBeforeDestructuredValues": true,
    -
    -	"disallowSpacesInsideTemplateStringPlaceholders": true,
    -
    -    "disallowArrayDestructuringReturn": false,
    -
    -    "requireNewlineBeforeSingleStatementsInIf": false,
    -
    -	"disallowUnusedVariables": true,
    -
    -	"requireSpacesInsideImportedObjectBraces": true,
    -
    -	"requireUseStrict": true
    -}
    -
    diff --git a/deps/npm/node_modules/function-bind/.npmignore b/deps/npm/node_modules/function-bind/.npmignore
    deleted file mode 100644
    index dbb555fd1f9f59..00000000000000
    --- a/deps/npm/node_modules/function-bind/.npmignore
    +++ /dev/null
    @@ -1,22 +0,0 @@
    -# gitignore
    -.DS_Store
    -.monitor
    -.*.swp
    -.nodemonignore
    -releases
    -*.log
    -*.err
    -fleet.json
    -public/browserify
    -bin/*.json
    -.bin
    -build
    -compile
    -.lock-wscript
    -coverage
    -node_modules
    -
    -# Only apps should have lockfiles
    -npm-shrinkwrap.json
    -package-lock.json
    -yarn.lock
    diff --git a/deps/npm/node_modules/function-bind/.travis.yml b/deps/npm/node_modules/function-bind/.travis.yml
    deleted file mode 100644
    index 85f70d2464f393..00000000000000
    --- a/deps/npm/node_modules/function-bind/.travis.yml
    +++ /dev/null
    @@ -1,168 +0,0 @@
    -language: node_js
    -os:
    - - linux
    -node_js:
    -  - "8.4"
    -  - "7.10"
    -  - "6.11"
    -  - "5.12"
    -  - "4.8"
    -  - "iojs-v3.3"
    -  - "iojs-v2.5"
    -  - "iojs-v1.8"
    -  - "0.12"
    -  - "0.10"
    -  - "0.8"
    -before_install:
    -  - 'if [ "${TRAVIS_NODE_VERSION}" = "0.6" ]; then npm install -g npm@1.3 ; elif [ "${TRAVIS_NODE_VERSION}" != "0.9" ]; then case "$(npm --version)" in 1.*) npm install -g npm@1.4.28 ;; 2.*) npm install -g npm@2 ;; esac ; fi'
    -  - 'if [ "${TRAVIS_NODE_VERSION}" != "0.6" ] && [ "${TRAVIS_NODE_VERSION}" != "0.9" ]; then if [ "${TRAVIS_NODE_VERSION%${TRAVIS_NODE_VERSION#[0-9]}}" = "0" ] || [ "${TRAVIS_NODE_VERSION:0:4}" = "iojs" ]; then npm install -g npm@4.5 ; else npm install -g npm; fi; fi'
    -install:
    -  - 'if [ "${TRAVIS_NODE_VERSION}" = "0.6" ]; then nvm install 0.8 && npm install -g npm@1.3 && npm install -g npm@1.4.28 && npm install -g npm@2 && npm install && nvm use "${TRAVIS_NODE_VERSION}"; else npm install; fi;'
    -script:
    -  - 'if [ -n "${PRETEST-}" ]; then npm run pretest ; fi'
    -  - 'if [ -n "${POSTTEST-}" ]; then npm run posttest ; fi'
    -  - 'if [ -n "${COVERAGE-}" ]; then npm run coverage ; fi'
    -  - 'if [ -n "${TEST-}" ]; then npm run tests-only ; fi'
    -sudo: false
    -env:
    -  - TEST=true
    -matrix:
    -  fast_finish: true
    -  include:
    -    - node_js: "node"
    -      env: PRETEST=true
    -    - node_js: "4"
    -      env: COVERAGE=true
    -    - node_js: "8.3"
    -      env: TEST=true ALLOW_FAILURE=true
    -    - node_js: "8.2"
    -      env: TEST=true ALLOW_FAILURE=true
    -    - node_js: "8.1"
    -      env: TEST=true ALLOW_FAILURE=true
    -    - node_js: "8.0"
    -      env: TEST=true ALLOW_FAILURE=true
    -    - node_js: "7.9"
    -      env: TEST=true ALLOW_FAILURE=true
    -    - node_js: "7.8"
    -      env: TEST=true ALLOW_FAILURE=true
    -    - node_js: "7.7"
    -      env: TEST=true ALLOW_FAILURE=true
    -    - node_js: "7.6"
    -      env: TEST=true ALLOW_FAILURE=true
    -    - node_js: "7.5"
    -      env: TEST=true ALLOW_FAILURE=true
    -    - node_js: "7.4"
    -      env: TEST=true ALLOW_FAILURE=true
    -    - node_js: "7.3"
    -      env: TEST=true ALLOW_FAILURE=true
    -    - node_js: "7.2"
    -      env: TEST=true ALLOW_FAILURE=true
    -    - node_js: "7.1"
    -      env: TEST=true ALLOW_FAILURE=true
    -    - node_js: "7.0"
    -      env: TEST=true ALLOW_FAILURE=true
    -    - node_js: "6.10"
    -      env: TEST=true ALLOW_FAILURE=true
    -    - node_js: "6.9"
    -      env: TEST=true ALLOW_FAILURE=true
    -    - node_js: "6.8"
    -      env: TEST=true ALLOW_FAILURE=true
    -    - node_js: "6.7"
    -      env: TEST=true ALLOW_FAILURE=true
    -    - node_js: "6.6"
    -      env: TEST=true ALLOW_FAILURE=true
    -    - node_js: "6.5"
    -      env: TEST=true ALLOW_FAILURE=true
    -    - node_js: "6.4"
    -      env: TEST=true ALLOW_FAILURE=true
    -    - node_js: "6.3"
    -      env: TEST=true ALLOW_FAILURE=true
    -    - node_js: "6.2"
    -      env: TEST=true ALLOW_FAILURE=true
    -    - node_js: "6.1"
    -      env: TEST=true ALLOW_FAILURE=true
    -    - node_js: "6.0"
    -      env: TEST=true ALLOW_FAILURE=true
    -    - node_js: "5.11"
    -      env: TEST=true ALLOW_FAILURE=true
    -    - node_js: "5.10"
    -      env: TEST=true ALLOW_FAILURE=true
    -    - node_js: "5.9"
    -      env: TEST=true ALLOW_FAILURE=true
    -    - node_js: "5.8"
    -      env: TEST=true ALLOW_FAILURE=true
    -    - node_js: "5.7"
    -      env: TEST=true ALLOW_FAILURE=true
    -    - node_js: "5.6"
    -      env: TEST=true ALLOW_FAILURE=true
    -    - node_js: "5.5"
    -      env: TEST=true ALLOW_FAILURE=true
    -    - node_js: "5.4"
    -      env: TEST=true ALLOW_FAILURE=true
    -    - node_js: "5.3"
    -      env: TEST=true ALLOW_FAILURE=true
    -    - node_js: "5.2"
    -      env: TEST=true ALLOW_FAILURE=true
    -    - node_js: "5.1"
    -      env: TEST=true ALLOW_FAILURE=true
    -    - node_js: "5.0"
    -      env: TEST=true ALLOW_FAILURE=true
    -    - node_js: "4.7"
    -      env: TEST=true ALLOW_FAILURE=true
    -    - node_js: "4.6"
    -      env: TEST=true ALLOW_FAILURE=true
    -    - node_js: "4.5"
    -      env: TEST=true ALLOW_FAILURE=true
    -    - node_js: "4.4"
    -      env: TEST=true ALLOW_FAILURE=true
    -    - node_js: "4.3"
    -      env: TEST=true ALLOW_FAILURE=true
    -    - node_js: "4.2"
    -      env: TEST=true ALLOW_FAILURE=true
    -    - node_js: "4.1"
    -      env: TEST=true ALLOW_FAILURE=true
    -    - node_js: "4.0"
    -      env: TEST=true ALLOW_FAILURE=true
    -    - node_js: "iojs-v3.2"
    -      env: TEST=true ALLOW_FAILURE=true
    -    - node_js: "iojs-v3.1"
    -      env: TEST=true ALLOW_FAILURE=true
    -    - node_js: "iojs-v3.0"
    -      env: TEST=true ALLOW_FAILURE=true
    -    - node_js: "iojs-v2.4"
    -      env: TEST=true ALLOW_FAILURE=true
    -    - node_js: "iojs-v2.3"
    -      env: TEST=true ALLOW_FAILURE=true
    -    - node_js: "iojs-v2.2"
    -      env: TEST=true ALLOW_FAILURE=true
    -    - node_js: "iojs-v2.1"
    -      env: TEST=true ALLOW_FAILURE=true
    -    - node_js: "iojs-v2.0"
    -      env: TEST=true ALLOW_FAILURE=true
    -    - node_js: "iojs-v1.7"
    -      env: TEST=true ALLOW_FAILURE=true
    -    - node_js: "iojs-v1.6"
    -      env: TEST=true ALLOW_FAILURE=true
    -    - node_js: "iojs-v1.5"
    -      env: TEST=true ALLOW_FAILURE=true
    -    - node_js: "iojs-v1.4"
    -      env: TEST=true ALLOW_FAILURE=true
    -    - node_js: "iojs-v1.3"
    -      env: TEST=true ALLOW_FAILURE=true
    -    - node_js: "iojs-v1.2"
    -      env: TEST=true ALLOW_FAILURE=true
    -    - node_js: "iojs-v1.1"
    -      env: TEST=true ALLOW_FAILURE=true
    -    - node_js: "iojs-v1.0"
    -      env: TEST=true ALLOW_FAILURE=true
    -    - node_js: "0.11"
    -      env: TEST=true ALLOW_FAILURE=true
    -    - node_js: "0.9"
    -      env: TEST=true ALLOW_FAILURE=true
    -    - node_js: "0.6"
    -      env: TEST=true ALLOW_FAILURE=true
    -    - node_js: "0.4"
    -      env: TEST=true ALLOW_FAILURE=true
    -  allow_failures:
    -    - os: osx
    -    - env: TEST=true ALLOW_FAILURE=true
    diff --git a/deps/npm/node_modules/function-bind/README.md b/deps/npm/node_modules/function-bind/README.md
    deleted file mode 100644
    index 81862a02cb940c..00000000000000
    --- a/deps/npm/node_modules/function-bind/README.md
    +++ /dev/null
    @@ -1,48 +0,0 @@
    -# function-bind
    -
    -
    -
    -
    -
    -Implementation of function.prototype.bind
    -
    -## Example
    -
    -I mainly do this for unit tests I run on phantomjs.
    -PhantomJS does not have Function.prototype.bind :(
    -
    -```js
    -Function.prototype.bind = require("function-bind")
    -```
    -
    -## Installation
    -
    -`npm install function-bind`
    -
    -## Contributors
    -
    - - Raynos
    -
    -## MIT Licenced
    -
    -  [travis-svg]: https://travis-ci.org/Raynos/function-bind.svg
    -  [travis-url]: https://travis-ci.org/Raynos/function-bind
    -  [npm-badge-svg]: https://badge.fury.io/js/function-bind.svg
    -  [npm-url]: https://npmjs.org/package/function-bind
    -  [5]: https://coveralls.io/repos/Raynos/function-bind/badge.png
    -  [6]: https://coveralls.io/r/Raynos/function-bind
    -  [7]: https://gemnasium.com/Raynos/function-bind.png
    -  [8]: https://gemnasium.com/Raynos/function-bind
    -  [deps-svg]: https://david-dm.org/Raynos/function-bind.svg
    -  [deps-url]: https://david-dm.org/Raynos/function-bind
    -  [dev-deps-svg]: https://david-dm.org/Raynos/function-bind/dev-status.svg
    -  [dev-deps-url]: https://david-dm.org/Raynos/function-bind#info=devDependencies
    -  [11]: https://ci.testling.com/Raynos/function-bind.png
    -  [12]: https://ci.testling.com/Raynos/function-bind
    diff --git a/deps/npm/node_modules/gauge/CHANGELOG.md b/deps/npm/node_modules/gauge/CHANGELOG.md
    deleted file mode 100644
    index 407bc192e77f45..00000000000000
    --- a/deps/npm/node_modules/gauge/CHANGELOG.md
    +++ /dev/null
    @@ -1,160 +0,0 @@
    -### v2.7.4
    -
    -* Reset colors prior to ending a line, to eliminate flicker when a line
    -  is trucated between start and end color sequences.
    -
    -### v2.7.3
    -
    -* Only create our onExit handler when we're enabled and remove it when we're
    -  disabled.  This stops us from creating multiple onExit handlers when
    -  multiple gauge objects are being used.
    -* Fix bug where if a theme name were given instead of a theme object, it
    -  would crash.
    -* Remove supports-color because it's not actually used.  Uhm.  Yes, I just
    -  updated it.  >.>
    -
    -### v2.7.2
    -
    -* Use supports-color instead of has-color (as the module has been renamed)
    -
    -### v2.7.1
    -
    -* Bug fix: Calls to show/pulse while the progress bar is disabled should still
    -  update our internal representation of what would be shown should it be enabled.
    -
    -### v2.7.0
    -
    -* New feature: Add new `isEnabled` method to allow introspection of the gauge's
    -  "enabledness" as controlled by `.enable()` and `.disable()`.
    -
    -### v2.6.0
    -
    -* Bug fix: Don't run the code associated with `enable`/`disable` if the gauge
    -  is already enabled or disabled respectively.  This prevents leaking event
    -  listeners, amongst other weirdness.
    -* New feature: Template items can have default values that will be used if no
    -  value was otherwise passed in.
    -
    -### v2.5.3
    -
    -* Default to `enabled` only if we have a tty.  Users can always override
    -  this by passing in the `enabled` option explicitly or by calling calling
    -  `gauge.enable()`.
    -
    -### v2.5.2
    -
    -* Externalized `./console-strings.js` into `console-control-strings`.
    -
    -### v2.5.1
    -
    -* Update to `signal-exit@3.0.0`, which fixes a compatibility bug with the
    -  node profiler.
    -* [#39](https://github.com/iarna/gauge/pull/39) Fix tests on 0.10 and add
    -  a missing devDependency. ([@helloyou2012](https://github.com/helloyou2012))
    -
    -### v2.5.0
    -
    -* Add way to programmatically fetch a list of theme names in a themeset
    -  (`Themeset.getThemeNames`).
    -
    -### v2.4.0
    -
    -* Add support for setting themesets on existing gauge objects.
    -* Add post-IO callback to `gauge.hide()` as it is somtetimes necessary when
    -  your terminal is interleaving output from multiple filehandles (ie, stdout
    -  & stderr).
    -
    -### v2.3.1
    -
    -* Fix a refactor bug in setTheme where it wasn't accepting the various types
    -  of args it should.
    -
    -### v2.3.0
    -
    -#### FEATURES
    -
    -* Add setTemplate & setTheme back in.
    -* Add support for named themes, you can now ask for things like 'colorASCII'
    -  and 'brailleSpinner'.  Of course, you can still pass in theme objects.
    -  Additionally you can now pass in an object with `hasUnicode`, `hasColor` and
    -  `platform` keys in order to override our guesses as to those values when
    -  selecting a default theme from the themeset.
    -* Make the output stream optional (it defaults to `process.stderr` now).
    -* Add `setWriteTo(stream[, tty])` to change the output stream and,
    -  optionally, tty.
    -
    -#### BUG FIXES & REFACTORING
    -
    -* Abort the display phase early if we're supposed to be hidden and we are.
    -* Stop printing a bunch of spaces at the end of lines, since we're already
    -  using an erase-to-end-of-line code anyway.
    -* The unicode themes were missing the subsection separator.
    -
    -### v2.2.1
    -
    -* Fix image in readme
    -
    -### v2.2.0
    -
    -* All new themes API– reference themes by name and pass in custom themes and
    -  themesets (themesets get platform support autodetection done on them to
    -  select the best theme).  Theme mixins let you add features to all existing
    -  themes.
    -* Much, much improved test coverage.
    -
    -### v2.1.0
    -
    -* Got rid of ░ in the default platform, noUnicode, hasColor theme.  Thanks
    -  to @yongtw123 for pointing out this had snuck in.
    -* Fiddled with the demo output to make it easier to see the spinner spin. Also
    -  added prints before each platforms test output.
    -* I forgot to include `signal-exit` in our deps.  <.< Thank you @KenanY for
    -  finding this. Then I was lazy and made a new commit instead of using his
    -  PR. Again, thank you for your patience @KenenY.
    -* Drastically speed up travis testing.
    -* Add a small javascript demo (demo.js) for showing off the various themes
    -  (and testing them on diff platforms).
    -* Change: The subsection separator from ⁄ and / (different chars) to >.
    -* Fix crasher: A show or pulse without a label would cause the template renderer
    -  to complain about a missing value.
    -* New feature: Add the ability to disable the clean-up-on-exit behavior.
    -  Not something I expect to be widely desirable, but important if you have
    -  multiple distinct gauge instances in your app.
    -* Use our own color support detection.
    -  The `has-color` module proved too magic for my needs, making assumptions
    -  as to which stream we write to and reading command line arguments.
    -
    -### v2.0.0
    -
    -This is a major rewrite of the internals.  Externally there are fewer
    -changes:
    -
    -* On node>0.8 gauge object now prints updates at a fixed rate.  This means
    -  that when you call `show` it may wate up to `updateInterval` ms before it
    -  actually prints an update.  You override this behavior with the
    -  `fixedFramerate` option.
    -* The gauge object now keeps the cursor hidden as long as it's enabled and
    -  shown.
    -* The constructor's arguments have changed, now it takes a mandatory output
    -  stream and an optional options object.  The stream no longer needs to be
    -  an `ansi`ified stream, although it can be if you want (but we won't make
    -  use of its special features).
    -* Previously the gauge was disabled by default if `process.stdout` wasn't a
    -  tty.  Now it always defaults to enabled.  If you want the previous
    -  behavior set the `enabled` option to `process.stdout.isTTY`.
    -* The constructor's options have changed– see the docs for details.
    -* Themes are entirely different.  If you were using a custom theme, or
    -  referring to one directly (eg via `Gauge.unicode` or `Gauge.ascii`) then
    -  you'll need to change your code.  You can get the equivalent of the latter
    -  with:
    -  ```
    -  var themes = require('gauge/themes')
    -  var unicodeTheme = themes(true, true) // returns the color unicode theme for your platform
    -  ```
    -  The default themes no longer use any ambiguous width characters, so even
    -  if you choose to display those as wide your progress bar should still
    -  display correctly.
    -* Templates are entirely different and if you were using a custom one, you
    -  should consult the documentation to learn how to recreate it.  If you were
    -  using the default, be aware that it has changed and the result looks quite
    -  a bit different.
    diff --git a/deps/npm/node_modules/gauge/README.md b/deps/npm/node_modules/gauge/README.md
    deleted file mode 100644
    index bdd60e38c20929..00000000000000
    --- a/deps/npm/node_modules/gauge/README.md
    +++ /dev/null
    @@ -1,399 +0,0 @@
    -gauge
    -=====
    -
    -A nearly stateless terminal based horizontal gauge / progress bar.
    -
    -```javascript
    -var Gauge = require("gauge")
    -
    -var gauge = new Gauge()
    -
    -gauge.show("test", 0.20)
    -
    -gauge.pulse("this")
    -
    -gauge.hide()
    -```
    -
    -![](gauge-demo.gif)
    -
    -
    -### CHANGES FROM 1.x
    -
    -Gauge 2.x is breaking release, please see the [changelog] for details on
    -what's changed if you were previously a user of this module.
    -
    -[changelog]: CHANGELOG.md
    -
    -### THE GAUGE CLASS
    -
    -This is the typical interface to the module– it provides a pretty
    -fire-and-forget interface to displaying your status information.
    -
    -```
    -var Gauge = require("gauge")
    -
    -var gauge = new Gauge([stream], [options])
    -```
    -
    -* **stream** – *(optional, default STDERR)* A stream that progress bar
    -  updates are to be written to.  Gauge honors backpressure and will pause
    -  most writing if it is indicated.
    -* **options** – *(optional)* An option object.
    -
    -Constructs a new gauge. Gauges are drawn on a single line, and are not drawn
    -if **stream** isn't a tty and a tty isn't explicitly provided.
    -
    -If **stream** is a terminal or if you pass in **tty** to **options** then we
    -will detect terminal resizes and redraw to fit.  We do this by watching for
    -`resize` events on the tty.  (To work around a bug in verisons of Node prior
    -to 2.5.0, we watch for them on stdout if the tty is stderr.) Resizes to
    -larger window sizes will be clean, but shrinking the window will always
    -result in some cruft.
    -
    -**IMPORTANT:** If you prevously were passing in a non-tty stream but you still
    -want output (for example, a stream wrapped by the `ansi` module) then you
    -need to pass in the **tty** option below, as `gauge` needs access to
    -the underlying tty in order to do things like terminal resizes and terminal
    -width detection.
    -
    -The **options** object can have the following properties, all of which are
    -optional:
    -
    -* **updateInterval**: How often gauge updates should be drawn, in miliseconds.
    -* **fixedFramerate**: Defaults to false on node 0.8, true on everything
    -  else.  When this is true a timer is created to trigger once every
    -  `updateInterval` ms, when false, updates are printed as soon as they come
    -  in but updates more often than `updateInterval` are ignored.  The reason
    -  0.8 doesn't have this set to true is that it can't `unref` its timer and
    -  so it would stop your program from exiting– if you want to use this
    -  feature with 0.8 just make sure you call `gauge.disable()` before you
    -  expect your program to exit.
    -* **themes**: A themeset to use when selecting the theme to use. Defaults
    -  to `gauge/themes`, see the [themes] documentation for details.
    -* **theme**: Select a theme for use, it can be a:
    -  * Theme object, in which case the **themes** is not used.
    -  * The name of a theme, which will be looked up in the current *themes*
    -    object.
    -  * A configuration object with any of `hasUnicode`, `hasColor` or
    -    `platform` keys, which if wlll be used to override our guesses when making
    -    a default theme selection.
    -
    -  If no theme is selected then a default is picked using a combination of our
    -  best guesses at your OS, color support and unicode support.
    -* **template**: Describes what you want your gauge to look like.  The
    -  default is what npm uses.  Detailed [documentation] is later in this
    -  document.
    -* **hideCursor**: Defaults to true.  If true, then the cursor will be hidden
    -  while the gauge is displayed.
    -* **tty**: The tty that you're ultimately writing to.  Defaults to the same
    -  as **stream**.  This is used for detecting the width of the terminal and
    -  resizes. The width used is `tty.columns - 1`. If no tty is available then
    -  a width of `79` is assumed.
    -* **enabled**: Defaults to true if `tty` is a TTY, false otherwise.  If true
    -  the gauge starts enabled.  If disabled then all update commands are
    -  ignored and no gauge will be printed until you call `.enable()`.
    -* **Plumbing**: The class to use to actually generate the gauge for
    -  printing.  This defaults to `require('gauge/plumbing')` and ordinarly you
    -  shouldn't need to override this.
    -* **cleanupOnExit**: Defaults to true. Ordinarily we register an exit
    -  handler to make sure your cursor is turned back on and the progress bar
    -  erased when your process exits, even if you Ctrl-C out or otherwise exit
    -  unexpectedly. You can disable this and it won't register the exit handler.
    -
    -[has-unicode]: https://www.npmjs.com/package/has-unicode
    -[themes]: #themes
    -[documentation]: #templates
    -
    -#### `gauge.show(section | status, [completed])`
    -
    -The first argument is either the section, the name of the current thing
    -contributing to progress, or an object with keys like **section**,
    -**subsection** & **completed** (or any others you have types for in a custom
    -template).  If you don't want to update or set any of these you can pass
    -`null` and it will be ignored.
    -
    -The second argument is the percent completed as a value between 0 and 1.
    -Without it, completion is just not updated. You'll also note that completion
    -can be passed in as part of a status object as the first argument. If both
    -it and the completed argument are passed in, the completed argument wins.
    -
    -#### `gauge.hide([cb])`
    -
    -Removes the gauge from the terminal.  Optionally, callback `cb` after IO has
    -had an opportunity to happen (currently this just means after `setImmediate`
    -has called back.)
    -
    -It turns out this is important when you're pausing the progress bar on one
    -filehandle and printing to another– otherwise (with a big enough print) node
    -can end up printing the "end progress bar" bits to the progress bar filehandle
    -while other stuff is printing to another filehandle. These getting interleaved
    -can cause corruption in some terminals.
    -
    -#### `gauge.pulse([subsection])`
    -
    -* **subsection** – *(optional)* The specific thing that triggered this pulse
    -
    -Spins the spinner in the gauge to show output.  If **subsection** is
    -included then it will be combined with the last name passed to `gauge.show`.
    -
    -#### `gauge.disable()`
    -
    -Hides the gauge and ignores further calls to `show` or `pulse`.
    -
    -#### `gauge.enable()`
    -
    -Shows the gauge and resumes updating when `show` or `pulse` is called.
    -
    -#### `gauge.isEnabled()`
    -
    -Returns true if the gauge is enabled.
    -
    -#### `gauge.setThemeset(themes)`
    -
    -Change the themeset to select a theme from. The same as the `themes` option
    -used in the constructor. The theme will be reselected from this themeset.
    -
    -#### `gauge.setTheme(theme)`
    -
    -Change the active theme, will be displayed with the next show or pulse. This can be:
    -
    -* Theme object, in which case the **themes** is not used.
    -* The name of a theme, which will be looked up in the current *themes*
    -  object.
    -* A configuration object with any of `hasUnicode`, `hasColor` or
    -  `platform` keys, which if wlll be used to override our guesses when making
    -  a default theme selection.
    -
    -If no theme is selected then a default is picked using a combination of our
    -best guesses at your OS, color support and unicode support.
    -
    -#### `gauge.setTemplate(template)`
    -
    -Change the active template, will be displayed with the next show or pulse
    -
    -### Tracking Completion
    -
    -If you have more than one thing going on that you want to track completion
    -of, you may find the related [are-we-there-yet] helpful.  It's `change`
    -event can be wired up to the `show` method to get a more traditional
    -progress bar interface.
    -
    -[are-we-there-yet]: https://www.npmjs.com/package/are-we-there-yet
    -
    -### THEMES
    -
    -```
    -var themes = require('gauge/themes')
    -
    -// fetch the default color unicode theme for this platform
    -var ourTheme = themes({hasUnicode: true, hasColor: true})
    -
    -// fetch the default non-color unicode theme for osx
    -var ourTheme = themes({hasUnicode: true, hasColor: false, platform: 'darwin'})
    -
    -// create a new theme based on the color ascii theme for this platform
    -// that brackets the progress bar with arrows
    -var ourTheme = themes.newTheme(theme(hasUnicode: false, hasColor: true}), {
    -  preProgressbar: '→',
    -  postProgressbar: '←'
    -})
    -```
    -
    -The object returned by `gauge/themes` is an instance of the `ThemeSet` class.
    -
    -```
    -var ThemeSet = require('gauge/theme-set')
    -var themes = new ThemeSet()
    -// or
    -var themes = require('gauge/themes')
    -var mythemes = themes.newThemeset() // creates a new themeset based on the default themes
    -```
    -
    -#### themes(opts)
    -#### themes.getDefault(opts)
    -
    -Theme objects are a function that fetches the default theme based on
    -platform, unicode and color support.
    -
    -Options is an object with the following properties:
    -
    -* **hasUnicode** - If true, fetch a unicode theme, if no unicode theme is
    -  available then a non-unicode theme will be used.
    -* **hasColor** - If true, fetch a color theme, if no color theme is
    -  available a non-color theme will be used.
    -* **platform** (optional) - Defaults to `process.platform`.  If no
    -  platform match is available then `fallback` is used instead.
    -
    -If no compatible theme can be found then an error will be thrown with a
    -`code` of `EMISSINGTHEME`.
    -
    -#### themes.addTheme(themeName, themeObj)
    -#### themes.addTheme(themeName, [parentTheme], newTheme)
    -
    -Adds a named theme to the themeset.  You can pass in either a theme object,
    -as returned by `themes.newTheme` or the arguments you'd pass to
    -`themes.newTheme`.
    -
    -#### themes.getThemeNames()
    -
    -Return a list of all of the names of the themes in this themeset. Suitable
    -for use in `themes.getTheme(…)`.
    -
    -#### themes.getTheme(name)
    -
    -Returns the theme object from this theme set named `name`.
    -
    -If `name` does not exist in this themeset an error will be thrown with
    -a `code` of `EMISSINGTHEME`.
    -
    -#### themes.setDefault([opts], themeName)
    -
    -`opts` is an object with the following properties.
    -
    -* **platform** - Defaults to `'fallback'`.  If your theme is platform
    -  specific, specify that here with the platform from `process.platform`, eg,
    -  `win32`, `darwin`, etc.
    -* **hasUnicode** - Defaults to `false`. If your theme uses unicode you
    -  should set this to true.
    -* **hasColor** - Defaults to `false`.  If your theme uses color you should
    -  set this to true.
    -
    -`themeName` is the name of the theme (as given to `addTheme`) to use for
    -this set of `opts`.
    -
    -#### themes.newTheme([parentTheme,] newTheme)
    -
    -Create a new theme object based on `parentTheme`.  If no `parentTheme` is
    -provided then a minimal parentTheme that defines functions for rendering the
    -activity indicator (spinner) and progress bar will be defined. (This
    -fallback parent is defined in `gauge/base-theme`.)
    -
    -newTheme should be a bare object– we'll start by discussing the properties
    -defined by the default themes:
    -
    -* **preProgressbar** - displayed prior to the progress bar, if the progress
    -  bar is displayed.
    -* **postProgressbar** - displayed after the progress bar, if the progress bar
    -  is displayed.
    -* **progressBarTheme** - The subtheme passed through to the progress bar
    -  renderer, it's an object with `complete` and `remaining` properties
    -  that are the strings you want repeated for those sections of the progress
    -  bar.
    -* **activityIndicatorTheme** - The theme for the activity indicator (spinner),
    -  this can either be a string, in which each character is a different step, or
    -  an array of strings.
    -* **preSubsection** - Displayed as a separator between the `section` and
    -  `subsection` when the latter is printed.
    -
    -More generally, themes can have any value that would be a valid value when rendering
    -templates. The properties in the theme are used when their name matches a type in
    -the template. Their values can be:
    -
    -* **strings & numbers** - They'll be included as is
    -* **function (values, theme, width)** - Should return what you want in your output.
    -  *values* is an object with values provided via `gauge.show`,
    -  *theme* is the theme specific to this item (see below) or this theme object,
    -  and *width* is the number of characters wide your result should be.
    -
    -There are a couple of special prefixes:
    -
    -* **pre** - Is shown prior to the property, if its displayed.
    -* **post** - Is shown after the property, if its displayed.
    -
    -And one special suffix:
    -
    -* **Theme** - Its value is passed to a function-type item as the theme.
    -
    -#### themes.addToAllThemes(theme)
    -
    -This *mixes-in* `theme` into all themes currently defined. It also adds it
    -to the default parent theme for this themeset, so future themes added to
    -this themeset will get the values from `theme` by default.
    -
    -#### themes.newThemeset()
    -
    -Copy the current themeset into a new one.  This allows you to easily inherit
    -one themeset from another.
    -
    -### TEMPLATES
    -
    -A template is an array of objects and strings that, after being evaluated,
    -will be turned into the gauge line.  The default template is:
    -
    -```javascript
    -[
    -    {type: 'progressbar', length: 20},
    -    {type: 'activityIndicator', kerning: 1, length: 1},
    -    {type: 'section', kerning: 1, default: ''},
    -    {type: 'subsection', kerning: 1, default: ''}
    -]
    -```
    -
    -The various template elements can either be **plain strings**, in which case they will
    -be be included verbatum in the output, or objects with the following properties:
    -
    -* *type* can be any of the following plus any keys you pass into `gauge.show` plus
    -  any keys you have on a custom theme.
    -  * `section` – What big thing you're working on now.
    -  * `subsection` – What component of that thing is currently working.
    -  * `activityIndicator` – Shows a spinner using the `activityIndicatorTheme`
    -    from your active theme.
    -  * `progressbar` – A progress bar representing your current `completed`
    -    using the `progressbarTheme` from your active theme.
    -* *kerning* – Number of spaces that must be between this item and other
    -  items, if this item is displayed at all.
    -* *maxLength* – The maximum length for this element. If its value is longer it
    -  will be truncated.
    -* *minLength* – The minimum length for this element. If its value is shorter it
    -  will be padded according to the *align* value.
    -* *align* – (Default: left) Possible values "left", "right" and "center". Works
    -  as you'd expect from word processors.
    -* *length* – Provides a single value for both *minLength* and *maxLength*. If both
    -  *length* and *minLength or *maxLength* are specifed then the latter take precedence.
    -* *value* – A literal value to use for this template item.
    -* *default* – A default value to use for this template item if a value
    -  wasn't otherwise passed in.
    -
    -### PLUMBING
    -
    -This is the super simple, assume nothing, do no magic internals used by gauge to
    -implement its ordinary interface.
    -
    -```
    -var Plumbing = require('gauge/plumbing')
    -var gauge = new Plumbing(theme, template, width)
    -```
    -
    -* **theme**: The theme to use.
    -* **template**: The template to use.
    -* **width**: How wide your gauge should be
    -
    -#### `gauge.setTheme(theme)`
    -
    -Change the active theme.
    -
    -#### `gauge.setTemplate(template)`
    -
    -Change the active template.
    -
    -#### `gauge.setWidth(width)`
    -
    -Change the width to render at.
    -
    -#### `gauge.hide()`
    -
    -Return the string necessary to hide the progress bar
    -
    -#### `gauge.hideCursor()`
    -
    -Return a string to hide the cursor.
    -
    -#### `gauge.showCursor()`
    -
    -Return a string to show the cursor.
    -
    -#### `gauge.show(status)`
    -
    -Using `status` for values, render the provided template with the theme and return
    -a string that is suitable for printing to update the gauge.
    diff --git a/deps/npm/node_modules/gauge/node_modules/aproba/README.md b/deps/npm/node_modules/gauge/node_modules/aproba/README.md
    deleted file mode 100644
    index 0bfc594c56a372..00000000000000
    --- a/deps/npm/node_modules/gauge/node_modules/aproba/README.md
    +++ /dev/null
    @@ -1,94 +0,0 @@
    -aproba
    -======
    -
    -A ridiculously light-weight function argument validator
    -
    -```
    -var validate = require("aproba")
    -
    -function myfunc(a, b, c) {
    -  // `a` must be a string, `b` a number, `c` a function
    -  validate('SNF', arguments) // [a,b,c] is also valid
    -}
    -
    -myfunc('test', 23, function () {}) // ok
    -myfunc(123, 23, function () {}) // type error
    -myfunc('test', 23) // missing arg error
    -myfunc('test', 23, function () {}, true) // too many args error
    -
    -```
    -
    -Valid types are:
    -
    -| type | description
    -| :--: | :----------
    -| *    | matches any type
    -| A    | `Array.isArray` OR an `arguments` object
    -| S    | typeof == string
    -| N    | typeof == number
    -| F    | typeof == function
    -| O    | typeof == object and not type A and not type E
    -| B    | typeof == boolean
    -| E    | `instanceof Error` OR `null` **(special: see below)**
    -| Z    | == `null`
    -
    -Validation failures throw one of three exception types, distinguished by a
    -`code` property of `EMISSINGARG`, `EINVALIDTYPE` or `ETOOMANYARGS`.
    -
    -If you pass in an invalid type then it will throw with a code of
    -`EUNKNOWNTYPE`.
    -
    -If an **error** argument is found and is not null then the remaining
    -arguments are optional.  That is, if you say `ESO` then that's like using a
    -non-magical `E` in: `E|ESO|ZSO`.
    -
    -### But I have optional arguments?!
    -
    -You can provide more than one signature by separating them with pipes `|`.
    -If any signature matches the arguments then they'll be considered valid.
    -
    -So for example, say you wanted to write a signature for
    -`fs.createWriteStream`.  The docs for it describe it thusly:
    -
    -```
    -fs.createWriteStream(path[, options])
    -```
    -
    -This would be a signature of `SO|S`.  That is, a string and and object, or
    -just a string.
    -
    -Now, if you read the full `fs` docs, you'll see that actually path can ALSO
    -be a buffer.  And options can be a string, that is:
    -```
    -path  | 
    -options  | 
    -```
    -
    -To reproduce this you have to fully enumerate all of the possible
    -combinations and that implies a signature of `SO|SS|OO|OS|S|O`.  The
    -awkwardness is a feature: It reminds you of the complexity you're adding to
    -your API when you do this sort of thing.
    -
    -
    -### Browser support
    -
    -This has no dependencies and should work in browsers, though you'll have
    -noisier stack traces.
    -
    -### Why this exists
    -
    -I wanted a very simple argument validator. It needed to do two things:
    -
    -1. Be more concise and easier to use than assertions
    -
    -2. Not encourage an infinite bikeshed of DSLs
    -
    -This is why types are specified by a single character and there's no such
    -thing as an optional argument. 
    -
    -This is not intended to validate user data. This is specifically about
    -asserting the interface of your functions.
    -
    -If you need greater validation, I encourage you to write them by hand or
    -look elsewhere.
    -
    diff --git a/deps/npm/node_modules/getpass/.npmignore b/deps/npm/node_modules/getpass/.npmignore
    deleted file mode 100644
    index a4261fc06feaaf..00000000000000
    --- a/deps/npm/node_modules/getpass/.npmignore
    +++ /dev/null
    @@ -1,8 +0,0 @@
    -.gitmodules
    -deps
    -docs
    -Makefile
    -node_modules
    -test
    -tools
    -coverage
    diff --git a/deps/npm/node_modules/getpass/.travis.yml b/deps/npm/node_modules/getpass/.travis.yml
    deleted file mode 100644
    index d8b5833a71b22c..00000000000000
    --- a/deps/npm/node_modules/getpass/.travis.yml
    +++ /dev/null
    @@ -1,9 +0,0 @@
    -language: node_js
    -node_js:
    -  - "5.10"
    -  - "4.4"
    -  - "4.1"
    -  - "0.12"
    -  - "0.10"
    -before_install:
    -  - "make check"
    diff --git a/deps/npm/node_modules/getpass/README.md b/deps/npm/node_modules/getpass/README.md
    deleted file mode 100644
    index 6e4a50f63f7f00..00000000000000
    --- a/deps/npm/node_modules/getpass/README.md
    +++ /dev/null
    @@ -1,32 +0,0 @@
    -## getpass
    -
    -Get a password from the terminal. Sounds simple? Sounds like the `readline`
    -module should be able to do it? NOPE.
    -
    -## Install and use it
    -
    -```bash
    -npm install --save getpass
    -```
    -
    -```javascript
    -const mod_getpass = require('getpass');
    -```
    -
    -## API
    -
    -### `mod_getpass.getPass([options, ]callback)`
    -
    -Gets a password from the terminal. If available, this uses `/dev/tty` to avoid
    -interfering with any data being piped in or out of stdio.
    -
    -This function prints a prompt (by default `Password:`) and then accepts input
    -without echoing.
    -
    -Parameters:
    -
    - * `options`, an Object, with properties:
    -   * `prompt`, an optional String
    - * `callback`, a `Func(error, password)`, with arguments:
    -   * `error`, either `null` (no error) or an `Error` instance
    -   * `password`, a String
    diff --git a/deps/npm/node_modules/glob/README.md b/deps/npm/node_modules/glob/README.md
    deleted file mode 100644
    index 2dde30a597d77c..00000000000000
    --- a/deps/npm/node_modules/glob/README.md
    +++ /dev/null
    @@ -1,375 +0,0 @@
    -# Glob
    -
    -Match files using the patterns the shell uses, like stars and stuff.
    -
    -[![Build Status](https://travis-ci.org/isaacs/node-glob.svg?branch=master)](https://travis-ci.org/isaacs/node-glob/) [![Build Status](https://ci.appveyor.com/api/projects/status/kd7f3yftf7unxlsx?svg=true)](https://ci.appveyor.com/project/isaacs/node-glob) [![Coverage Status](https://coveralls.io/repos/isaacs/node-glob/badge.svg?branch=master&service=github)](https://coveralls.io/github/isaacs/node-glob?branch=master)
    -
    -This is a glob implementation in JavaScript.  It uses the `minimatch`
    -library to do its matching.
    -
    -![a fun cartoon logo made of glob characters](logo/glob.png)
    -
    -## Usage
    -
    -Install with npm
    -
    -```
    -npm i glob
    -```
    -
    -```javascript
    -var glob = require("glob")
    -
    -// options is optional
    -glob("**/*.js", options, function (er, files) {
    -  // files is an array of filenames.
    -  // If the `nonull` option is set, and nothing
    -  // was found, then files is ["**/*.js"]
    -  // er is an error object or null.
    -})
    -```
    -
    -## Glob Primer
    -
    -"Globs" are the patterns you type when you do stuff like `ls *.js` on
    -the command line, or put `build/*` in a `.gitignore` file.
    -
    -Before parsing the path part patterns, braced sections are expanded
    -into a set.  Braced sections start with `{` and end with `}`, with any
    -number of comma-delimited sections within.  Braced sections may contain
    -slash characters, so `a{/b/c,bcd}` would expand into `a/b/c` and `abcd`.
    -
    -The following characters have special magic meaning when used in a
    -path portion:
    -
    -* `*` Matches 0 or more characters in a single path portion
    -* `?` Matches 1 character
    -* `[...]` Matches a range of characters, similar to a RegExp range.
    -  If the first character of the range is `!` or `^` then it matches
    -  any character not in the range.
    -* `!(pattern|pattern|pattern)` Matches anything that does not match
    -  any of the patterns provided.
    -* `?(pattern|pattern|pattern)` Matches zero or one occurrence of the
    -  patterns provided.
    -* `+(pattern|pattern|pattern)` Matches one or more occurrences of the
    -  patterns provided.
    -* `*(a|b|c)` Matches zero or more occurrences of the patterns provided
    -* `@(pattern|pat*|pat?erN)` Matches exactly one of the patterns
    -  provided
    -* `**` If a "globstar" is alone in a path portion, then it matches
    -  zero or more directories and subdirectories searching for matches.
    -  It does not crawl symlinked directories.
    -
    -### Dots
    -
    -If a file or directory path portion has a `.` as the first character,
    -then it will not match any glob pattern unless that pattern's
    -corresponding path part also has a `.` as its first character.
    -
    -For example, the pattern `a/.*/c` would match the file at `a/.b/c`.
    -However the pattern `a/*/c` would not, because `*` does not start with
    -a dot character.
    -
    -You can make glob treat dots as normal characters by setting
    -`dot:true` in the options.
    -
    -### Basename Matching
    -
    -If you set `matchBase:true` in the options, and the pattern has no
    -slashes in it, then it will seek for any file anywhere in the tree
    -with a matching basename.  For example, `*.js` would match
    -`test/simple/basic.js`.
    -
    -### Empty Sets
    -
    -If no matching files are found, then an empty array is returned.  This
    -differs from the shell, where the pattern itself is returned.  For
    -example:
    -
    -    $ echo a*s*d*f
    -    a*s*d*f
    -
    -To get the bash-style behavior, set the `nonull:true` in the options.
    -
    -### See Also:
    -
    -* `man sh`
    -* `man bash` (Search for "Pattern Matching")
    -* `man 3 fnmatch`
    -* `man 5 gitignore`
    -* [minimatch documentation](https://github.com/isaacs/minimatch)
    -
    -## glob.hasMagic(pattern, [options])
    -
    -Returns `true` if there are any special characters in the pattern, and
    -`false` otherwise.
    -
    -Note that the options affect the results.  If `noext:true` is set in
    -the options object, then `+(a|b)` will not be considered a magic
    -pattern.  If the pattern has a brace expansion, like `a/{b/c,x/y}`
    -then that is considered magical, unless `nobrace:true` is set in the
    -options.
    -
    -## glob(pattern, [options], cb)
    -
    -* `pattern` `{String}` Pattern to be matched
    -* `options` `{Object}`
    -* `cb` `{Function}`
    -  * `err` `{Error | null}`
    -  * `matches` `{Array}` filenames found matching the pattern
    -
    -Perform an asynchronous glob search.
    -
    -## glob.sync(pattern, [options])
    -
    -* `pattern` `{String}` Pattern to be matched
    -* `options` `{Object}`
    -* return: `{Array}` filenames found matching the pattern
    -
    -Perform a synchronous glob search.
    -
    -## Class: glob.Glob
    -
    -Create a Glob object by instantiating the `glob.Glob` class.
    -
    -```javascript
    -var Glob = require("glob").Glob
    -var mg = new Glob(pattern, options, cb)
    -```
    -
    -It's an EventEmitter, and starts walking the filesystem to find matches
    -immediately.
    -
    -### new glob.Glob(pattern, [options], [cb])
    -
    -* `pattern` `{String}` pattern to search for
    -* `options` `{Object}`
    -* `cb` `{Function}` Called when an error occurs, or matches are found
    -  * `err` `{Error | null}`
    -  * `matches` `{Array}` filenames found matching the pattern
    -
    -Note that if the `sync` flag is set in the options, then matches will
    -be immediately available on the `g.found` member.
    -
    -### Properties
    -
    -* `minimatch` The minimatch object that the glob uses.
    -* `options` The options object passed in.
    -* `aborted` Boolean which is set to true when calling `abort()`.  There
    -  is no way at this time to continue a glob search after aborting, but
    -  you can re-use the statCache to avoid having to duplicate syscalls.
    -* `cache` Convenience object.  Each field has the following possible
    -  values:
    -  * `false` - Path does not exist
    -  * `true` - Path exists
    -  * `'FILE'` - Path exists, and is not a directory
    -  * `'DIR'` - Path exists, and is a directory
    -  * `[file, entries, ...]` - Path exists, is a directory, and the
    -    array value is the results of `fs.readdir`
    -* `statCache` Cache of `fs.stat` results, to prevent statting the same
    -  path multiple times.
    -* `symlinks` A record of which paths are symbolic links, which is
    -  relevant in resolving `**` patterns.
    -* `realpathCache` An optional object which is passed to `fs.realpath`
    -  to minimize unnecessary syscalls.  It is stored on the instantiated
    -  Glob object, and may be re-used.
    -
    -### Events
    -
    -* `end` When the matching is finished, this is emitted with all the
    -  matches found.  If the `nonull` option is set, and no match was found,
    -  then the `matches` list contains the original pattern.  The matches
    -  are sorted, unless the `nosort` flag is set.
    -* `match` Every time a match is found, this is emitted with the specific
    -  thing that matched. It is not deduplicated or resolved to a realpath.
    -* `error` Emitted when an unexpected error is encountered, or whenever
    -  any fs error occurs if `options.strict` is set.
    -* `abort` When `abort()` is called, this event is raised.
    -
    -### Methods
    -
    -* `pause` Temporarily stop the search
    -* `resume` Resume the search
    -* `abort` Stop the search forever
    -
    -### Options
    -
    -All the options that can be passed to Minimatch can also be passed to
    -Glob to change pattern matching behavior.  Also, some have been added,
    -or have glob-specific ramifications.
    -
    -All options are false by default, unless otherwise noted.
    -
    -All options are added to the Glob object, as well.
    -
    -If you are running many `glob` operations, you can pass a Glob object
    -as the `options` argument to a subsequent operation to shortcut some
    -`stat` and `readdir` calls.  At the very least, you may pass in shared
    -`symlinks`, `statCache`, `realpathCache`, and `cache` options, so that
    -parallel glob operations will be sped up by sharing information about
    -the filesystem.
    -
    -* `cwd` The current working directory in which to search.  Defaults
    -  to `process.cwd()`.
    -* `root` The place where patterns starting with `/` will be mounted
    -  onto.  Defaults to `path.resolve(options.cwd, "/")` (`/` on Unix
    -  systems, and `C:\` or some such on Windows.)
    -* `dot` Include `.dot` files in normal matches and `globstar` matches.
    -  Note that an explicit dot in a portion of the pattern will always
    -  match dot files.
    -* `nomount` By default, a pattern starting with a forward-slash will be
    -  "mounted" onto the root setting, so that a valid filesystem path is
    -  returned.  Set this flag to disable that behavior.
    -* `mark` Add a `/` character to directory matches.  Note that this
    -  requires additional stat calls.
    -* `nosort` Don't sort the results.
    -* `stat` Set to true to stat *all* results.  This reduces performance
    -  somewhat, and is completely unnecessary, unless `readdir` is presumed
    -  to be an untrustworthy indicator of file existence.
    -* `silent` When an unusual error is encountered when attempting to
    -  read a directory, a warning will be printed to stderr.  Set the
    -  `silent` option to true to suppress these warnings.
    -* `strict` When an unusual error is encountered when attempting to
    -  read a directory, the process will just continue on in search of
    -  other matches.  Set the `strict` option to raise an error in these
    -  cases.
    -* `cache` See `cache` property above.  Pass in a previously generated
    -  cache object to save some fs calls.
    -* `statCache` A cache of results of filesystem information, to prevent
    -  unnecessary stat calls.  While it should not normally be necessary
    -  to set this, you may pass the statCache from one glob() call to the
    -  options object of another, if you know that the filesystem will not
    -  change between calls.  (See "Race Conditions" below.)
    -* `symlinks` A cache of known symbolic links.  You may pass in a
    -  previously generated `symlinks` object to save `lstat` calls when
    -  resolving `**` matches.
    -* `sync` DEPRECATED: use `glob.sync(pattern, opts)` instead.
    -* `nounique` In some cases, brace-expanded patterns can result in the
    -  same file showing up multiple times in the result set.  By default,
    -  this implementation prevents duplicates in the result set.  Set this
    -  flag to disable that behavior.
    -* `nonull` Set to never return an empty set, instead returning a set
    -  containing the pattern itself.  This is the default in glob(3).
    -* `debug` Set to enable debug logging in minimatch and glob.
    -* `nobrace` Do not expand `{a,b}` and `{1..3}` brace sets.
    -* `noglobstar` Do not match `**` against multiple filenames.  (Ie,
    -  treat it as a normal `*` instead.)
    -* `noext` Do not match `+(a|b)` "extglob" patterns.
    -* `nocase` Perform a case-insensitive match.  Note: on
    -  case-insensitive filesystems, non-magic patterns will match by
    -  default, since `stat` and `readdir` will not raise errors.
    -* `matchBase` Perform a basename-only match if the pattern does not
    -  contain any slash characters.  That is, `*.js` would be treated as
    -  equivalent to `**/*.js`, matching all js files in all directories.
    -* `nodir` Do not match directories, only files.  (Note: to match
    -  *only* directories, simply put a `/` at the end of the pattern.)
    -* `ignore` Add a pattern or an array of glob patterns to exclude matches.
    -  Note: `ignore` patterns are *always* in `dot:true` mode, regardless
    -  of any other settings.
    -* `follow` Follow symlinked directories when expanding `**` patterns.
    -  Note that this can result in a lot of duplicate references in the
    -  presence of cyclic links.
    -* `realpath` Set to true to call `fs.realpath` on all of the results.
    -  In the case of a symlink that cannot be resolved, the full absolute
    -  path to the matched entry is returned (though it will usually be a
    -  broken symlink)
    -* `absolute` Set to true to always receive absolute paths for matched
    -  files.  Unlike `realpath`, this also affects the values returned in
    -  the `match` event.
    -
    -## Comparisons to other fnmatch/glob implementations
    -
    -While strict compliance with the existing standards is a worthwhile
    -goal, some discrepancies exist between node-glob and other
    -implementations, and are intentional.
    -
    -The double-star character `**` is supported by default, unless the
    -`noglobstar` flag is set.  This is supported in the manner of bsdglob
    -and bash 4.3, where `**` only has special significance if it is the only
    -thing in a path part.  That is, `a/**/b` will match `a/x/y/b`, but
    -`a/**b` will not.
    -
    -Note that symlinked directories are not crawled as part of a `**`,
    -though their contents may match against subsequent portions of the
    -pattern.  This prevents infinite loops and duplicates and the like.
    -
    -If an escaped pattern has no matches, and the `nonull` flag is set,
    -then glob returns the pattern as-provided, rather than
    -interpreting the character escapes.  For example,
    -`glob.match([], "\\*a\\?")` will return `"\\*a\\?"` rather than
    -`"*a?"`.  This is akin to setting the `nullglob` option in bash, except
    -that it does not resolve escaped pattern characters.
    -
    -If brace expansion is not disabled, then it is performed before any
    -other interpretation of the glob pattern.  Thus, a pattern like
    -`+(a|{b),c)}`, which would not be valid in bash or zsh, is expanded
    -**first** into the set of `+(a|b)` and `+(a|c)`, and those patterns are
    -checked for validity.  Since those two are valid, matching proceeds.
    -
    -### Comments and Negation
    -
    -Previously, this module let you mark a pattern as a "comment" if it
    -started with a `#` character, or a "negated" pattern if it started
    -with a `!` character.
    -
    -These options were deprecated in version 5, and removed in version 6.
    -
    -To specify things that should not match, use the `ignore` option.
    -
    -## Windows
    -
    -**Please only use forward-slashes in glob expressions.**
    -
    -Though windows uses either `/` or `\` as its path separator, only `/`
    -characters are used by this glob implementation.  You must use
    -forward-slashes **only** in glob expressions.  Back-slashes will always
    -be interpreted as escape characters, not path separators.
    -
    -Results from absolute patterns such as `/foo/*` are mounted onto the
    -root setting using `path.join`.  On windows, this will by default result
    -in `/foo/*` matching `C:\foo\bar.txt`.
    -
    -## Race Conditions
    -
    -Glob searching, by its very nature, is susceptible to race conditions,
    -since it relies on directory walking and such.
    -
    -As a result, it is possible that a file that exists when glob looks for
    -it may have been deleted or modified by the time it returns the result.
    -
    -As part of its internal implementation, this program caches all stat
    -and readdir calls that it makes, in order to cut down on system
    -overhead.  However, this also makes it even more susceptible to races,
    -especially if the cache or statCache objects are reused between glob
    -calls.
    -
    -Users are thus advised not to use a glob result as a guarantee of
    -filesystem state in the face of rapid changes.  For the vast majority
    -of operations, this is never a problem.
    -
    -## Glob Logo
    -Glob's logo was created by [Tanya Brassie](http://tanyabrassie.com/). Logo files can be found [here](https://github.com/isaacs/node-glob/tree/master/logo).
    -
    -The logo is licensed under a [Creative Commons Attribution-ShareAlike 4.0 International License](https://creativecommons.org/licenses/by-sa/4.0/).
    -
    -## Contributing
    -
    -Any change to behavior (including bugfixes) must come with a test.
    -
    -Patches that fail tests or reduce performance will be rejected.
    -
    -```
    -# to run tests
    -npm test
    -
    -# to re-generate test fixtures
    -npm run test-regen
    -
    -# to benchmark against bash/zsh
    -npm run bench
    -
    -# to profile javascript
    -npm run prof
    -```
    -
    -![](oh-my-glob.gif)
    diff --git a/deps/npm/node_modules/graceful-fs/README.md b/deps/npm/node_modules/graceful-fs/README.md
    deleted file mode 100644
    index 5273a50ad6a52c..00000000000000
    --- a/deps/npm/node_modules/graceful-fs/README.md
    +++ /dev/null
    @@ -1,133 +0,0 @@
    -# graceful-fs
    -
    -graceful-fs functions as a drop-in replacement for the fs module,
    -making various improvements.
    -
    -The improvements are meant to normalize behavior across different
    -platforms and environments, and to make filesystem access more
    -resilient to errors.
    -
    -## Improvements over [fs module](https://nodejs.org/api/fs.html)
    -
    -* Queues up `open` and `readdir` calls, and retries them once
    -  something closes if there is an EMFILE error from too many file
    -  descriptors.
    -* fixes `lchmod` for Node versions prior to 0.6.2.
    -* implements `fs.lutimes` if possible. Otherwise it becomes a noop.
    -* ignores `EINVAL` and `EPERM` errors in `chown`, `fchown` or
    -  `lchown` if the user isn't root.
    -* makes `lchmod` and `lchown` become noops, if not available.
    -* retries reading a file if `read` results in EAGAIN error.
    -
    -On Windows, it retries renaming a file for up to one second if `EACCESS`
    -or `EPERM` error occurs, likely because antivirus software has locked
    -the directory.
    -
    -## USAGE
    -
    -```javascript
    -// use just like fs
    -var fs = require('graceful-fs')
    -
    -// now go and do stuff with it...
    -fs.readFileSync('some-file-or-whatever')
    -```
    -
    -## Global Patching
    -
    -If you want to patch the global fs module (or any other fs-like
    -module) you can do this:
    -
    -```javascript
    -// Make sure to read the caveat below.
    -var realFs = require('fs')
    -var gracefulFs = require('graceful-fs')
    -gracefulFs.gracefulify(realFs)
    -```
    -
    -This should only ever be done at the top-level application layer, in
    -order to delay on EMFILE errors from any fs-using dependencies.  You
    -should **not** do this in a library, because it can cause unexpected
    -delays in other parts of the program.
    -
    -## Changes
    -
    -This module is fairly stable at this point, and used by a lot of
    -things.  That being said, because it implements a subtle behavior
    -change in a core part of the node API, even modest changes can be
    -extremely breaking, and the versioning is thus biased towards
    -bumping the major when in doubt.
    -
    -The main change between major versions has been switching between
    -providing a fully-patched `fs` module vs monkey-patching the node core
    -builtin, and the approach by which a non-monkey-patched `fs` was
    -created.
    -
    -The goal is to trade `EMFILE` errors for slower fs operations.  So, if
    -you try to open a zillion files, rather than crashing, `open`
    -operations will be queued up and wait for something else to `close`.
    -
    -There are advantages to each approach.  Monkey-patching the fs means
    -that no `EMFILE` errors can possibly occur anywhere in your
    -application, because everything is using the same core `fs` module,
    -which is patched.  However, it can also obviously cause undesirable
    -side-effects, especially if the module is loaded multiple times.
    -
    -Implementing a separate-but-identical patched `fs` module is more
    -surgical (and doesn't run the risk of patching multiple times), but
    -also imposes the challenge of keeping in sync with the core module.
    -
    -The current approach loads the `fs` module, and then creates a
    -lookalike object that has all the same methods, except a few that are
    -patched.  It is safe to use in all versions of Node from 0.8 through
    -7.0.
    -
    -### v4
    -
    -* Do not monkey-patch the fs module.  This module may now be used as a
    -  drop-in dep, and users can opt into monkey-patching the fs builtin
    -  if their app requires it.
    -
    -### v3
    -
    -* Monkey-patch fs, because the eval approach no longer works on recent
    -  node.
    -* fixed possible type-error throw if rename fails on windows
    -* verify that we *never* get EMFILE errors
    -* Ignore ENOSYS from chmod/chown
    -* clarify that graceful-fs must be used as a drop-in
    -
    -### v2.1.0
    -
    -* Use eval rather than monkey-patching fs.
    -* readdir: Always sort the results
    -* win32: requeue a file if error has an OK status
    -
    -### v2.0
    -
    -* A return to monkey patching
    -* wrap process.cwd
    -
    -### v1.1
    -
    -* wrap readFile
    -* Wrap fs.writeFile.
    -* readdir protection
    -* Don't clobber the fs builtin
    -* Handle fs.read EAGAIN errors by trying again
    -* Expose the curOpen counter
    -* No-op lchown/lchmod if not implemented
    -* fs.rename patch only for win32
    -* Patch fs.rename to handle AV software on Windows
    -* Close #4 Chown should not fail on einval or eperm if non-root
    -* Fix isaacs/fstream#1 Only wrap fs one time
    -* Fix #3 Start at 1024 max files, then back off on EMFILE
    -* lutimes that doens't blow up on Linux
    -* A full on-rewrite using a queue instead of just swallowing the EMFILE error
    -* Wrap Read/Write streams as well
    -
    -### 1.0
    -
    -* Update engines for node 0.6
    -* Be lstat-graceful on Windows
    -* first
    diff --git a/deps/npm/node_modules/har-schema/README.md b/deps/npm/node_modules/har-schema/README.md
    deleted file mode 100644
    index cd0a28e1a72236..00000000000000
    --- a/deps/npm/node_modules/har-schema/README.md
    +++ /dev/null
    @@ -1,49 +0,0 @@
    -# HAR Schema [![version][npm-version]][npm-url] [![License][npm-license]][license-url]
    -
    -> JSON Schema for HTTP Archive ([HAR][spec]).
    -
    -[![Build Status][travis-image]][travis-url]
    -[![Downloads][npm-downloads]][npm-url]
    -[![Code Climate][codeclimate-quality]][codeclimate-url]
    -[![Coverage Status][codeclimate-coverage]][codeclimate-url]
    -[![Dependency Status][dependencyci-image]][dependencyci-url]
    -[![Dependencies][david-image]][david-url]
    -
    -## Install
    -
    -```bash
    -npm install --only=production --save har-schema
    -```
    -
    -## Usage
    -
    -Compatible with any [JSON Schema validation tool][validator].
    -
    -----
    -> :copyright: [ahmadnassri.com](https://www.ahmadnassri.com/)  · 
    -> License: [ISC][license-url]  · 
    -> Github: [@ahmadnassri](https://github.com/ahmadnassri)  · 
    -> Twitter: [@ahmadnassri](https://twitter.com/ahmadnassri)
    -
    -[license-url]: http://choosealicense.com/licenses/isc/
    -
    -[travis-url]: https://travis-ci.org/ahmadnassri/har-schema
    -[travis-image]: https://img.shields.io/travis/ahmadnassri/har-schema.svg?style=flat-square
    -
    -[npm-url]: https://www.npmjs.com/package/har-schema
    -[npm-license]: https://img.shields.io/npm/l/har-schema.svg?style=flat-square
    -[npm-version]: https://img.shields.io/npm/v/har-schema.svg?style=flat-square
    -[npm-downloads]: https://img.shields.io/npm/dm/har-schema.svg?style=flat-square
    -
    -[codeclimate-url]: https://codeclimate.com/github/ahmadnassri/har-schema
    -[codeclimate-quality]: https://img.shields.io/codeclimate/github/ahmadnassri/har-schema.svg?style=flat-square
    -[codeclimate-coverage]: https://img.shields.io/codeclimate/coverage/github/ahmadnassri/har-schema.svg?style=flat-square
    -
    -[david-url]: https://david-dm.org/ahmadnassri/har-schema
    -[david-image]: https://img.shields.io/david/ahmadnassri/har-schema.svg?style=flat-square
    -
    -[dependencyci-url]: https://dependencyci.com/github/ahmadnassri/har-schema
    -[dependencyci-image]: https://dependencyci.com/github/ahmadnassri/har-schema/badge?style=flat-square
    -
    -[spec]: https://github.com/ahmadnassri/har-spec/blob/master/versions/1.2.md
    -[validator]: https://github.com/ahmadnassri/har-validator
    diff --git a/deps/npm/node_modules/har-validator/README.md b/deps/npm/node_modules/har-validator/README.md
    deleted file mode 100644
    index ea944cc5c7bd89..00000000000000
    --- a/deps/npm/node_modules/har-validator/README.md
    +++ /dev/null
    @@ -1,43 +0,0 @@
    -# HAR Validator
    -
    -[![license][license-img]][license-url]
    -[![version][npm-img]][npm-url]
    -[![super linter][super-linter-img]][super-linter-url]
    -[![test][test-img]][test-url]
    -[![release][release-img]][release-url]
    -
    -[license-url]: LICENSE
    -[license-img]: https://badgen.net/github/license/ahmadnassri/node-har-validator
    -
    -[npm-url]: https://www.npmjs.com/package/har-validator
    -[npm-img]: https://badgen.net/npm/v/har-validator
    -
    -[super-linter-url]: https://github.com/ahmadnassri/node-har-validator/actions?query=workflow%3Asuper-linter
    -[super-linter-img]: https://github.com/ahmadnassri/node-har-validator/workflows/super-linter/badge.svg
    -
    -[test-url]: https://github.com/ahmadnassri/node-har-validator/actions?query=workflow%3Atest
    -[test-img]: https://github.com/ahmadnassri/node-har-validator/workflows/test/badge.svg
    -
    -[release-url]: https://github.com/ahmadnassri/node-har-validator/actions?query=workflow%3Arelease
    -[release-img]: https://github.com/ahmadnassri/node-har-validator/workflows/release/badge.svg
    -
    -> Extremely fast HTTP Archive ([HAR](https://github.com/ahmadnassri/har-spec/blob/master/versions/1.2.md)) validator using JSON Schema.
    -
    -## Install
    -
    -```bash
    -npm install har-validator
    -```
    -
    -## CLI Usage
    -
    -Please refer to [`har-cli`](https://github.com/ahmadnassri/har-cli) for more info.
    -
    -## API
    -
    -**Note**: as of [`v2.0.0`](https://github.com/ahmadnassri/node-har-validator/releases/tag/v2.0.0) this module defaults to Promise based API.
    -_For backward compatibility with `v1.x` an [async/callback API](docs/async.md) is also provided_
    -
    -- [async API](docs/async.md)
    -- [callback API](docs/async.md)
    -- [Promise API](docs/promise.md) _(default)_
    diff --git a/deps/npm/node_modules/has-unicode/README.md b/deps/npm/node_modules/has-unicode/README.md
    deleted file mode 100644
    index 5a03e5991c539e..00000000000000
    --- a/deps/npm/node_modules/has-unicode/README.md
    +++ /dev/null
    @@ -1,43 +0,0 @@
    -has-unicode
    -===========
    -
    -Try to guess if your terminal supports unicode
    -
    -```javascript
    -var hasUnicode = require("has-unicode")
    -
    -if (hasUnicode()) {
    -  // the terminal probably has unicode support
    -}
    -```
    -```javascript
    -var hasUnicode = require("has-unicode").tryHarder
    -hasUnicode(function(unicodeSupported) {
    -  if (unicodeSupported) {
    -    // the terminal probably has unicode support
    -  }
    -})
    -```
    -
    -## Detecting Unicode
    -
    -What we actually detect is UTF-8 support, as that's what Node itself supports.
    -If you have a UTF-16 locale then you won't be detected as unicode capable.
    -
    -### Windows
    -
    -Since at least Windows 7, `cmd` and `powershell` have been unicode capable,
    -but unfortunately even then it's not guaranteed. In many localizations it
    -still uses legacy code pages and there's no facility short of running
    -programs or linking C++ that will let us detect this. As such, we
    -report any Windows installation as NOT unicode capable, and recommend
    -that you encourage your users to override this via config.
    -
    -### Unix Like Operating Systems
    -
    -We look at the environment variables `LC_ALL`, `LC_CTYPE`, and `LANG` in
    -that order.  For `LC_ALL` and `LANG`, it looks for `.UTF-8` in the value. 
    -For `LC_CTYPE` it looks to see if the value is `UTF-8`.  This is sufficient
    -for most POSIX systems.  While locale data can be put in `/etc/locale.conf`
    -as well, AFAIK it's always copied into the environment.
    -
    diff --git a/deps/npm/node_modules/has/README.md b/deps/npm/node_modules/has/README.md
    deleted file mode 100644
    index 635e3a4baab00b..00000000000000
    --- a/deps/npm/node_modules/has/README.md
    +++ /dev/null
    @@ -1,18 +0,0 @@
    -# has
    -
    -> Object.prototype.hasOwnProperty.call shortcut
    -
    -## Installation
    -
    -```sh
    -npm install --save has
    -```
    -
    -## Usage
    -
    -```js
    -var has = require('has');
    -
    -has({}, 'hasOwnProperty'); // false
    -has(Object.prototype, 'hasOwnProperty'); // true
    -```
    diff --git a/deps/npm/node_modules/hosted-git-info/CHANGELOG.md b/deps/npm/node_modules/hosted-git-info/CHANGELOG.md
    deleted file mode 100644
    index 3ffcacacc575c0..00000000000000
    --- a/deps/npm/node_modules/hosted-git-info/CHANGELOG.md
    +++ /dev/null
    @@ -1,185 +0,0 @@
    -# Change Log
    -
    -All notable changes to this project will be documented in this file. See [standard-version](https://github.com/conventional-changelog/standard-version) for commit guidelines.
    -
    -
    -## [3.0.8](https://github.com/npm/hosted-git-info/compare/v3.0.7...v3.0.8) (2021-01-28)
    -
    -
    -### Bug Fixes
    -
    -* simplify the regular expression for shortcut matching ([bede0dc](https://github.com/npm/hosted-git-info/commit/bede0dc)), closes [#76](https://github.com/npm/hosted-git-info/issues/76)
    -
    -
    -
    -
    -## [3.0.7](https://github.com/npm/hosted-git-info/compare/v3.0.6...v3.0.7) (2020-10-15)
    -
    -
    -### Bug Fixes
    -
    -* correctly filter out urls for tarballs in gitlab ([eb5bd5a](https://github.com/npm/hosted-git-info/commit/eb5bd5a)), closes [#69](https://github.com/npm/hosted-git-info/issues/69)
    -
    -
    -
    -
    -## [3.0.6](https://github.com/npm/hosted-git-info/compare/v3.0.5...v3.0.6) (2020-10-12)
    -
    -
    -### Bug Fixes
    -
    -* support to github gist legacy hash length ([c067102](https://github.com/npm/hosted-git-info/commit/c067102)), closes [#68](https://github.com/npm/hosted-git-info/issues/68)
    -
    -
    -
    -
    -## [3.0.5](https://github.com/npm/hosted-git-info/compare/v3.0.4...v3.0.5) (2020-07-11)
    -
    -
    -
    -
    -## [3.0.4](https://github.com/npm/hosted-git-info/compare/v3.0.3...v3.0.4) (2020-02-26)
    -
    -
    -### Bug Fixes
    -
    -* Do not pass scp-style URLs to the WhatWG url.URL ([0835306](https://github.com/npm/hosted-git-info/commit/0835306)), closes [#60](https://github.com/npm/hosted-git-info/issues/60) [#63](https://github.com/npm/hosted-git-info/issues/63)
    -
    -
    -
    -
    -## [3.0.3](https://github.com/npm/hosted-git-info/compare/v3.0.2...v3.0.3) (2020-02-25)
    -
    -
    -
    -
    -## [3.0.2](https://github.com/npm/hosted-git-info/compare/v3.0.1...v3.0.2) (2019-10-08)
    -
    -
    -### Bug Fixes
    -
    -* do not encodeURIComponent the domain ([3e5fbec](https://github.com/npm/hosted-git-info/commit/3e5fbec)), closes [#53](https://github.com/npm/hosted-git-info/issues/53)
    -
    -
    -
    -
    -## [3.0.1](https://github.com/npm/hosted-git-info/compare/v3.0.0...v3.0.1) (2019-10-07)
    -
    -
    -### Bug Fixes
    -
    -* update pathmatch for gitlab ([e3e3054](https://github.com/npm/hosted-git-info/commit/e3e3054)), closes [#52](https://github.com/npm/hosted-git-info/issues/52)
    -* updated pathmatch for gitlab ([fa87af7](https://github.com/npm/hosted-git-info/commit/fa87af7))
    -
    -
    -
    -
    -# [3.0.0](https://github.com/npm/hosted-git-info/compare/v2.8.3...v3.0.0) (2019-08-12)
    -
    -
    -### Bug Fixes
    -
    -* **cache:** Switch to lru-cache to save ourselves from unlimited memory consumption ([37c2891](https://github.com/npm/hosted-git-info/commit/37c2891)), closes [#38](https://github.com/npm/hosted-git-info/issues/38)
    -
    -
    -### BREAKING CHANGES
    -
    -* **cache:** Drop support for node 0.x
    -
    -
    -
    -
    -## [2.8.3](https://github.com/npm/hosted-git-info/compare/v2.8.2...v2.8.3) (2019-08-12)
    -
    -
    -
    -
    -## [2.8.2](https://github.com/npm/hosted-git-info/compare/v2.8.1...v2.8.2) (2019-08-05)
    -
    -
    -### Bug Fixes
    -
    -* http protocol use sshurl by default ([3b1d629](https://github.com/npm/hosted-git-info/commit/3b1d629)), closes [#48](https://github.com/npm/hosted-git-info/issues/48)
    -
    -
    -
    -
    -## [2.8.1](https://github.com/npm/hosted-git-info/compare/v2.8.0...v2.8.1) (2019-08-05)
    -
    -
    -### Bug Fixes
    -
    -* ignore noCommittish on tarball url generation ([5d4a8d7](https://github.com/npm/hosted-git-info/commit/5d4a8d7))
    -* use gist tarball url that works for anonymous gists ([1692435](https://github.com/npm/hosted-git-info/commit/1692435))
    -
    -
    -
    -
    -# [2.8.0](https://github.com/npm/hosted-git-info/compare/v2.7.1...v2.8.0) (2019-08-05)
    -
    -
    -### Bug Fixes
    -
    -* Allow slashes in gitlab project section ([bbcf7b2](https://github.com/npm/hosted-git-info/commit/bbcf7b2)), closes [#46](https://github.com/npm/hosted-git-info/issues/46) [#43](https://github.com/npm/hosted-git-info/issues/43)
    -* **git-host:** disallow URI-encoded slash (%2F) in `path` ([3776fa5](https://github.com/npm/hosted-git-info/commit/3776fa5)), closes [#44](https://github.com/npm/hosted-git-info/issues/44)
    -* **gitlab:** Do not URL encode slashes in project name for GitLab https URL ([cbf04f9](https://github.com/npm/hosted-git-info/commit/cbf04f9)), closes [#47](https://github.com/npm/hosted-git-info/issues/47)
    -* do not allow invalid gist urls ([d5cf830](https://github.com/npm/hosted-git-info/commit/d5cf830))
    -* **cache:** Switch to lru-cache to save ourselves from unlimited memory consumption ([e518222](https://github.com/npm/hosted-git-info/commit/e518222)), closes [#38](https://github.com/npm/hosted-git-info/issues/38)
    -
    -
    -### Features
    -
    -* give these objects a name ([60abaea](https://github.com/npm/hosted-git-info/commit/60abaea))
    -
    -
    -
    -
    -## [2.7.1](https://github.com/npm/hosted-git-info/compare/v2.7.0...v2.7.1) (2018-07-07)
    -
    -
    -### Bug Fixes
    -
    -* **index:** Guard against non-string types ([5bc580d](https://github.com/npm/hosted-git-info/commit/5bc580d))
    -* **parse:** Crash on strings that parse to having no host ([c931482](https://github.com/npm/hosted-git-info/commit/c931482)), closes [#35](https://github.com/npm/hosted-git-info/issues/35)
    -
    -
    -
    -
    -# [2.7.0](https://github.com/npm/hosted-git-info/compare/v2.6.1...v2.7.0) (2018-07-06)
    -
    -
    -### Bug Fixes
    -
    -* **github tarball:** update github tarballtemplate ([6efd582](https://github.com/npm/hosted-git-info/commit/6efd582)), closes [#34](https://github.com/npm/hosted-git-info/issues/34)
    -* **gitlab docs:** switched to lowercase anchors for readmes ([701bcd1](https://github.com/npm/hosted-git-info/commit/701bcd1))
    -
    -
    -### Features
    -
    -* **all:** Support www. prefixes on hostnames ([3349575](https://github.com/npm/hosted-git-info/commit/3349575)), closes [#32](https://github.com/npm/hosted-git-info/issues/32)
    -
    -
    -
    -
    -## [2.6.1](https://github.com/npm/hosted-git-info/compare/v2.6.0...v2.6.1) (2018-06-25)
    -
    -### Bug Fixes
    -
    -* **Revert:** "compat: remove Object.assign fallback ([#25](https://github.com/npm/hosted-git-info/issues/25))" ([cce5a62](https://github.com/npm/hosted-git-info/commit/cce5a62))
    -* **Revert:** "git-host: fix forgotten extend()" ([a815ec9](https://github.com/npm/hosted-git-info/commit/a815ec9))
    -
    -
    -
    -
    -# [2.6.0](https://github.com/npm/hosted-git-info/compare/v2.5.0...v2.6.0) (2018-03-07)
    -
    -
    -### Bug Fixes
    -
    -* **compat:** remove Object.assign fallback ([#25](https://github.com/npm/hosted-git-info/issues/25)) ([627ab55](https://github.com/npm/hosted-git-info/commit/627ab55))
    -* **git-host:** fix forgotten extend() ([eba1f7b](https://github.com/npm/hosted-git-info/commit/eba1f7b))
    -
    -
    -### Features
    -
    -* **browse:** fragment support for browse() ([#28](https://github.com/npm/hosted-git-info/issues/28)) ([cd5e5bb](https://github.com/npm/hosted-git-info/commit/cd5e5bb))
    diff --git a/deps/npm/node_modules/hosted-git-info/README.md b/deps/npm/node_modules/hosted-git-info/README.md
    deleted file mode 100644
    index 87404060296269..00000000000000
    --- a/deps/npm/node_modules/hosted-git-info/README.md
    +++ /dev/null
    @@ -1,133 +0,0 @@
    -# hosted-git-info
    -
    -This will let you identify and transform various git hosts URLs between
    -protocols.  It also can tell you what the URL is for the raw path for
    -particular file for direct access without git.
    -
    -## Example
    -
    -```javascript
    -var hostedGitInfo = require("hosted-git-info")
    -var info = hostedGitInfo.fromUrl("git@github.com:npm/hosted-git-info.git", opts)
    -/* info looks like:
    -{
    -  type: "github",
    -  domain: "github.com",
    -  user: "npm",
    -  project: "hosted-git-info"
    -}
    -*/
    -```
    -
    -If the URL can't be matched with a git host, `null` will be returned.  We
    -can match git, ssh and https urls.  Additionally, we can match ssh connect
    -strings (`git@github.com:npm/hosted-git-info`) and shortcuts (eg,
    -`github:npm/hosted-git-info`).  GitHub specifically, is detected in the case
    -of a third, unprefixed, form: `npm/hosted-git-info`.
    -
    -If it does match, the returned object has properties of:
    -
    -* info.type -- The short name of the service
    -* info.domain -- The domain for git protocol use
    -* info.user -- The name of the user/org on the git host
    -* info.project -- The name of the project on the git host
    -
    -## Version Contract
    -
    -The major version will be bumped any time…
    -
    -* The constructor stops accepting URLs that it previously accepted.
    -* A method is removed.
    -* A method can no longer accept the number and type of arguments it previously accepted.
    -* A method can return a different type than it currently returns.
    -
    -Implications:
    -
    -* I do not consider the specific format of the urls returned from, say
    -  `.https()` to be a part of the contract.  The contract is that it will
    -  return a string that can be used to fetch the repo via HTTPS.  But what
    -  that string looks like, specifically, can change.
    -* Dropping support for a hosted git provider would constitute a breaking
    -  change.
    -
    -## Usage
    -
    -### var info = hostedGitInfo.fromUrl(gitSpecifier[, options])
    -
    -* *gitSpecifer* is a URL of a git repository or a SCP-style specifier of one.
    -* *options* is an optional object. It can have the following properties:
    -  * *noCommittish* — If true then committishes won't be included in generated URLs.
    -  * *noGitPlus* — If true then `git+` won't be prefixed on URLs.
    -
    -## Methods
    -
    -All of the methods take the same options as the `fromUrl` factory.  Options
    -provided to a method override those provided to the constructor.
    -
    -* info.file(path, opts)
    -
    -Given the path of a file relative to the repository, returns a URL for
    -directly fetching it from the githost.  If no committish was set then
    -`master` will be used as the default.
    -
    -For example `hostedGitInfo.fromUrl("git@github.com:npm/hosted-git-info.git#v1.0.0").file("package.json")`
    -would return `https://raw.githubusercontent.com/npm/hosted-git-info/v1.0.0/package.json`
    -
    -* info.shortcut(opts)
    -
    -eg, `github:npm/hosted-git-info`
    -
    -* info.browse(path, fragment, opts)
    -
    -eg, `https://github.com/npm/hosted-git-info/tree/v1.2.0`,
    -`https://github.com/npm/hosted-git-info/tree/v1.2.0/package.json`,
    -`https://github.com/npm/hosted-git-info/tree/v1.2.0/REAMDE.md#supported-hosts`
    -
    -* info.bugs(opts)
    -
    -eg, `https://github.com/npm/hosted-git-info/issues`
    -
    -* info.docs(opts)
    -
    -eg, `https://github.com/npm/hosted-git-info/tree/v1.2.0#readme`
    -
    -* info.https(opts)
    -
    -eg, `git+https://github.com/npm/hosted-git-info.git`
    -
    -* info.sshurl(opts)
    -
    -eg, `git+ssh://git@github.com/npm/hosted-git-info.git`
    -
    -* info.ssh(opts)
    -
    -eg, `git@github.com:npm/hosted-git-info.git`
    -
    -* info.path(opts)
    -
    -eg, `npm/hosted-git-info`
    -
    -* info.tarball(opts)
    -
    -eg, `https://github.com/npm/hosted-git-info/archive/v1.2.0.tar.gz`
    -
    -* info.getDefaultRepresentation()
    -
    -Returns the default output type. The default output type is based on the
    -string you passed in to be parsed
    -
    -* info.toString(opts)
    -
    -Uses the getDefaultRepresentation to call one of the other methods to get a URL for
    -this resource. As such `hostedGitInfo.fromUrl(url).toString()` will give
    -you a normalized version of the URL that still uses the same protocol.
    -
    -Shortcuts will still be returned as shortcuts, but the special case github
    -form of `org/project` will be normalized to `github:org/project`.
    -
    -SSH connect strings will be normalized into `git+ssh` URLs.
    -
    -## Supported hosts
    -
    -Currently this supports GitHub, Bitbucket and GitLab. Pull requests for
    -additional hosts welcome.
    diff --git a/deps/npm/node_modules/http-cache-semantics/README.md b/deps/npm/node_modules/http-cache-semantics/README.md
    deleted file mode 100644
    index 685aa55dd3a4b1..00000000000000
    --- a/deps/npm/node_modules/http-cache-semantics/README.md
    +++ /dev/null
    @@ -1,203 +0,0 @@
    -# Can I cache this? [![Build Status](https://travis-ci.org/kornelski/http-cache-semantics.svg?branch=master)](https://travis-ci.org/kornelski/http-cache-semantics)
    -
    -`CachePolicy` tells when responses can be reused from a cache, taking into account [HTTP RFC 7234](http://httpwg.org/specs/rfc7234.html) rules for user agents and shared caches.
    -It also implements [RFC 5861](https://tools.ietf.org/html/rfc5861), implementing `stale-if-error` and `stale-while-revalidate`.
    -It's aware of many tricky details such as the `Vary` header, proxy revalidation, and authenticated responses.
    -
    -## Usage
    -
    -Cacheability of an HTTP response depends on how it was requested, so both `request` and `response` are required to create the policy.
    -
    -```js
    -const policy = new CachePolicy(request, response, options);
    -
    -if (!policy.storable()) {
    -    // throw the response away, it's not usable at all
    -    return;
    -}
    -
    -// Cache the data AND the policy object in your cache
    -// (this is pseudocode, roll your own cache (lru-cache package works))
    -letsPretendThisIsSomeCache.set(
    -    request.url,
    -    { policy, response },
    -    policy.timeToLive()
    -);
    -```
    -
    -```js
    -// And later, when you receive a new request:
    -const { policy, response } = letsPretendThisIsSomeCache.get(newRequest.url);
    -
    -// It's not enough that it exists in the cache, it has to match the new request, too:
    -if (policy && policy.satisfiesWithoutRevalidation(newRequest)) {
    -    // OK, the previous response can be used to respond to the `newRequest`.
    -    // Response headers have to be updated, e.g. to add Age and remove uncacheable headers.
    -    response.headers = policy.responseHeaders();
    -    return response;
    -}
    -```
    -
    -It may be surprising, but it's not enough for an HTTP response to be [fresh](#yo-fresh) to satisfy a request. It may need to match request headers specified in `Vary`. Even a matching fresh response may still not be usable if the new request restricted cacheability, etc.
    -
    -The key method is `satisfiesWithoutRevalidation(newRequest)`, which checks whether the `newRequest` is compatible with the original request and whether all caching conditions are met.
    -
    -### Constructor options
    -
    -Request and response must have a `headers` property with all header names in lower case. `url`, `status` and `method` are optional (defaults are any URL, status `200`, and `GET` method).
    -
    -```js
    -const request = {
    -    url: '/',
    -    method: 'GET',
    -    headers: {
    -        accept: '*/*',
    -    },
    -};
    -
    -const response = {
    -    status: 200,
    -    headers: {
    -        'cache-control': 'public, max-age=7234',
    -    },
    -};
    -
    -const options = {
    -    shared: true,
    -    cacheHeuristic: 0.1,
    -    immutableMinTimeToLive: 24 * 3600 * 1000, // 24h
    -    ignoreCargoCult: false,
    -};
    -```
    -
    -If `options.shared` is `true` (default), then the response is evaluated from a perspective of a shared cache (i.e. `private` is not cacheable and `s-maxage` is respected). If `options.shared` is `false`, then the response is evaluated from a perspective of a single-user cache (i.e. `private` is cacheable and `s-maxage` is ignored). `shared: true` is recommended for HTTP clients.
    -
    -`options.cacheHeuristic` is a fraction of response's age that is used as a fallback cache duration. The default is 0.1 (10%), e.g. if a file hasn't been modified for 100 days, it'll be cached for 100\*0.1 = 10 days.
    -
    -`options.immutableMinTimeToLive` is a number of milliseconds to assume as the default time to cache responses with `Cache-Control: immutable`. Note that [per RFC](http://httpwg.org/http-extensions/immutable.html) these can become stale, so `max-age` still overrides the default.
    -
    -If `options.ignoreCargoCult` is true, common anti-cache directives will be completely ignored if the non-standard `pre-check` and `post-check` directives are present. These two useless directives are most commonly found in bad StackOverflow answers and PHP's "session limiter" defaults.
    -
    -### `storable()`
    -
    -Returns `true` if the response can be stored in a cache. If it's `false` then you MUST NOT store either the request or the response.
    -
    -### `satisfiesWithoutRevalidation(newRequest)`
    -
    -This is the most important method. Use this method to check whether the cached response is still fresh in the context of the new request.
    -
    -If it returns `true`, then the given `request` matches the original response this cache policy has been created with, and the response can be reused without contacting the server. Note that the old response can't be returned without being updated, see `responseHeaders()`.
    -
    -If it returns `false`, then the response may not be matching at all (e.g. it's for a different URL or method), or may require to be refreshed first (see `revalidationHeaders()`).
    -
    -### `responseHeaders()`
    -
    -Returns updated, filtered set of response headers to return to clients receiving the cached response. This function is necessary, because proxies MUST always remove hop-by-hop headers (such as `TE` and `Connection`) and update response's `Age` to avoid doubling cache time.
    -
    -```js
    -cachedResponse.headers = cachePolicy.responseHeaders(cachedResponse);
    -```
    -
    -### `timeToLive()`
    -
    -Returns approximate time in _milliseconds_ until the response becomes stale (i.e. not fresh).
    -
    -After that time (when `timeToLive() <= 0`) the response might not be usable without revalidation. However, there are exceptions, e.g. a client can explicitly allow stale responses, so always check with `satisfiesWithoutRevalidation()`.
    -`stale-if-error` and `stale-while-revalidate` extend the time to live of the cache, that can still be used if stale.
    -
    -### `toObject()`/`fromObject(json)`
    -
    -Chances are you'll want to store the `CachePolicy` object along with the cached response. `obj = policy.toObject()` gives a plain JSON-serializable object. `policy = CachePolicy.fromObject(obj)` creates an instance from it.
    -
    -### Refreshing stale cache (revalidation)
    -
    -When a cached response has expired, it can be made fresh again by making a request to the origin server. The server may respond with status 304 (Not Modified) without sending the response body again, saving bandwidth.
    -
    -The following methods help perform the update efficiently and correctly.
    -
    -#### `revalidationHeaders(newRequest)`
    -
    -Returns updated, filtered set of request headers to send to the origin server to check if the cached response can be reused. These headers allow the origin server to return status 304 indicating the response is still fresh. All headers unrelated to caching are passed through as-is.
    -
    -Use this method when updating cache from the origin server.
    -
    -```js
    -updateRequest.headers = cachePolicy.revalidationHeaders(updateRequest);
    -```
    -
    -#### `revalidatedPolicy(revalidationRequest, revalidationResponse)`
    -
    -Use this method to update the cache after receiving a new response from the origin server. It returns an object with two keys:
    -
    --   `policy` — A new `CachePolicy` with HTTP headers updated from `revalidationResponse`. You can always replace the old cached `CachePolicy` with the new one.
    --   `modified` — Boolean indicating whether the response body has changed.
    -    -   If `false`, then a valid 304 Not Modified response has been received, and you can reuse the old cached response body. This is also affected by `stale-if-error`.
    -    -   If `true`, you should use new response's body (if present), or make another request to the origin server without any conditional headers (i.e. don't use `revalidationHeaders()` this time) to get the new resource.
    -
    -```js
    -// When serving requests from cache:
    -const { oldPolicy, oldResponse } = letsPretendThisIsSomeCache.get(
    -    newRequest.url
    -);
    -
    -if (!oldPolicy.satisfiesWithoutRevalidation(newRequest)) {
    -    // Change the request to ask the origin server if the cached response can be used
    -    newRequest.headers = oldPolicy.revalidationHeaders(newRequest);
    -
    -    // Send request to the origin server. The server may respond with status 304
    -    const newResponse = await makeRequest(newRequest);
    -
    -    // Create updated policy and combined response from the old and new data
    -    const { policy, modified } = oldPolicy.revalidatedPolicy(
    -        newRequest,
    -        newResponse
    -    );
    -    const response = modified ? newResponse : oldResponse;
    -
    -    // Update the cache with the newer/fresher response
    -    letsPretendThisIsSomeCache.set(
    -        newRequest.url,
    -        { policy, response },
    -        policy.timeToLive()
    -    );
    -
    -    // And proceed returning cached response as usual
    -    response.headers = policy.responseHeaders();
    -    return response;
    -}
    -```
    -
    -# Yo, FRESH
    -
    -![satisfiesWithoutRevalidation](fresh.jpg)
    -
    -## Used by
    -
    --   [ImageOptim API](https://imageoptim.com/api), [make-fetch-happen](https://github.com/zkat/make-fetch-happen), [cacheable-request](https://www.npmjs.com/package/cacheable-request) ([got](https://www.npmjs.com/package/got)), [npm/registry-fetch](https://github.com/npm/registry-fetch), [etc.](https://github.com/kornelski/http-cache-semantics/network/dependents)
    -
    -## Implemented
    -
    --   `Cache-Control` response header with all the quirks.
    --   `Expires` with check for bad clocks.
    --   `Pragma` response header.
    --   `Age` response header.
    --   `Vary` response header.
    --   Default cacheability of statuses and methods.
    --   Requests for stale data.
    --   Filtering of hop-by-hop headers.
    --   Basic revalidation request
    --   `stale-if-error`
    -
    -## Unimplemented
    -
    --   Merging of range requests, `If-Range` (but correctly supports them as non-cacheable)
    --   Revalidation of multiple representations
    -
    -### Trusting server `Date`
    -
    -Per the RFC, the cache should take into account the time between server-supplied `Date` and the time it received the response. The RFC-mandated behavior creates two problems:
    -
    - * Servers with incorrectly set timezone may add several hours to cache age (or more, if the clock is completely wrong).
    - * Even reasonably correct clocks may be off by a couple of seconds, breaking `max-age=1` trick (which is useful for reverse proxies on high-traffic servers).
    -
    -Previous versions of this library had an option to ignore the server date if it was "too inaccurate". To support the `max-age=1` trick the library also has to ignore dates that pretty accurate. There's no point of having an option to trust dates that are only a bit inaccurate, so this library won't trust any server dates. `max-age` will be interpreted from the time the response has been received, not from when it has been sent. This will affect only [RFC 1149 networks](https://tools.ietf.org/html/rfc1149).
    diff --git a/deps/npm/node_modules/http-proxy-agent/README.md b/deps/npm/node_modules/http-proxy-agent/README.md
    deleted file mode 100644
    index d60e20661f86c0..00000000000000
    --- a/deps/npm/node_modules/http-proxy-agent/README.md
    +++ /dev/null
    @@ -1,74 +0,0 @@
    -http-proxy-agent
    -================
    -### An HTTP(s) proxy `http.Agent` implementation for HTTP
    -[![Build Status](https://github.com/TooTallNate/node-http-proxy-agent/workflows/Node%20CI/badge.svg)](https://github.com/TooTallNate/node-http-proxy-agent/actions?workflow=Node+CI)
    -
    -This module provides an `http.Agent` implementation that connects to a specified
    -HTTP or HTTPS proxy server, and can be used with the built-in `http` module.
    -
    -__Note:__ For HTTP proxy usage with the `https` module, check out
    -[`node-https-proxy-agent`](https://github.com/TooTallNate/node-https-proxy-agent).
    -
    -Installation
    -------------
    -
    -Install with `npm`:
    -
    -``` bash
    -$ npm install http-proxy-agent
    -```
    -
    -
    -Example
    --------
    -
    -``` js
    -var url = require('url');
    -var http = require('http');
    -var HttpProxyAgent = require('http-proxy-agent');
    -
    -// HTTP/HTTPS proxy to connect to
    -var proxy = process.env.http_proxy || 'http://168.63.76.32:3128';
    -console.log('using proxy server %j', proxy);
    -
    -// HTTP endpoint for the proxy to connect to
    -var endpoint = process.argv[2] || 'http://nodejs.org/api/';
    -console.log('attempting to GET %j', endpoint);
    -var opts = url.parse(endpoint);
    -
    -// create an instance of the `HttpProxyAgent` class with the proxy server information
    -var agent = new HttpProxyAgent(proxy);
    -opts.agent = agent;
    -
    -http.get(opts, function (res) {
    -  console.log('"response" event!', res.headers);
    -  res.pipe(process.stdout);
    -});
    -```
    -
    -
    -License
    --------
    -
    -(The MIT License)
    -
    -Copyright (c) 2013 Nathan Rajlich <nathan@tootallnate.net>
    -
    -Permission is hereby granted, free of charge, to any person obtaining
    -a copy of this software and associated documentation files (the
    -'Software'), to deal in the Software without restriction, including
    -without limitation the rights to use, copy, modify, merge, publish,
    -distribute, sublicense, and/or sell copies of the Software, and to
    -permit persons to whom the Software is furnished to do so, subject to
    -the following conditions:
    -
    -The above copyright notice and this permission notice shall be
    -included in all copies or substantial portions of the Software.
    -
    -THE SOFTWARE IS PROVIDED 'AS IS', WITHOUT WARRANTY OF ANY KIND,
    -EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
    -MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.
    -IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY
    -CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT,
    -TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE
    -SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
    diff --git a/deps/npm/node_modules/http-signature/.dir-locals.el b/deps/npm/node_modules/http-signature/.dir-locals.el
    deleted file mode 100644
    index 3bc9235f255623..00000000000000
    --- a/deps/npm/node_modules/http-signature/.dir-locals.el
    +++ /dev/null
    @@ -1,6 +0,0 @@
    -((nil . ((indent-tabs-mode . nil)
    -         (tab-width . 8)
    -         (fill-column . 80)))
    - (js-mode . ((js-indent-level . 2)
    -             (indent-tabs-mode . nil)
    -             )))
    \ No newline at end of file
    diff --git a/deps/npm/node_modules/http-signature/.npmignore b/deps/npm/node_modules/http-signature/.npmignore
    deleted file mode 100644
    index c143fb3a46cac2..00000000000000
    --- a/deps/npm/node_modules/http-signature/.npmignore
    +++ /dev/null
    @@ -1,7 +0,0 @@
    -.gitmodules
    -deps
    -docs
    -Makefile
    -node_modules
    -test
    -tools
    \ No newline at end of file
    diff --git a/deps/npm/node_modules/http-signature/README.md b/deps/npm/node_modules/http-signature/README.md
    deleted file mode 100644
    index de487d3236ac69..00000000000000
    --- a/deps/npm/node_modules/http-signature/README.md
    +++ /dev/null
    @@ -1,79 +0,0 @@
    -# node-http-signature
    -
    -node-http-signature is a node.js library that has client and server components
    -for Joyent's [HTTP Signature Scheme](http_signing.md).
    -
    -## Usage
    -
    -Note the example below signs a request with the same key/cert used to start an
    -HTTP server. This is almost certainly not what you actually want, but is just
    -used to illustrate the API calls; you will need to provide your own key
    -management in addition to this library.
    -
    -### Client
    -
    -```js
    -var fs = require('fs');
    -var https = require('https');
    -var httpSignature = require('http-signature');
    -
    -var key = fs.readFileSync('./key.pem', 'ascii');
    -
    -var options = {
    -  host: 'localhost',
    -  port: 8443,
    -  path: '/',
    -  method: 'GET',
    -  headers: {}
    -};
    -
    -// Adds a 'Date' header in, signs it, and adds the
    -// 'Authorization' header in.
    -var req = https.request(options, function(res) {
    -  console.log(res.statusCode);
    -});
    -
    -
    -httpSignature.sign(req, {
    -  key: key,
    -  keyId: './cert.pem'
    -});
    -
    -req.end();
    -```
    -
    -### Server
    -
    -```js
    -var fs = require('fs');
    -var https = require('https');
    -var httpSignature = require('http-signature');
    -
    -var options = {
    -  key: fs.readFileSync('./key.pem'),
    -  cert: fs.readFileSync('./cert.pem')
    -};
    -
    -https.createServer(options, function (req, res) {
    -  var rc = 200;
    -  var parsed = httpSignature.parseRequest(req);
    -  var pub = fs.readFileSync(parsed.keyId, 'ascii');
    -  if (!httpSignature.verifySignature(parsed, pub))
    -    rc = 401;
    -
    -  res.writeHead(rc);
    -  res.end();
    -}).listen(8443);
    -```
    -
    -## Installation
    -
    -    npm install http-signature
    -
    -## License
    -
    -MIT.
    -
    -## Bugs
    -
    -See .
    diff --git a/deps/npm/node_modules/https-proxy-agent/README.md b/deps/npm/node_modules/https-proxy-agent/README.md
    deleted file mode 100644
    index 328656a9e048a3..00000000000000
    --- a/deps/npm/node_modules/https-proxy-agent/README.md
    +++ /dev/null
    @@ -1,137 +0,0 @@
    -https-proxy-agent
    -================
    -### An HTTP(s) proxy `http.Agent` implementation for HTTPS
    -[![Build Status](https://github.com/TooTallNate/node-https-proxy-agent/workflows/Node%20CI/badge.svg)](https://github.com/TooTallNate/node-https-proxy-agent/actions?workflow=Node+CI)
    -
    -This module provides an `http.Agent` implementation that connects to a specified
    -HTTP or HTTPS proxy server, and can be used with the built-in `https` module.
    -
    -Specifically, this `Agent` implementation connects to an intermediary "proxy"
    -server and issues the [CONNECT HTTP method][CONNECT], which tells the proxy to
    -open a direct TCP connection to the destination server.
    -
    -Since this agent implements the CONNECT HTTP method, it also works with other
    -protocols that use this method when connecting over proxies (i.e. WebSockets).
    -See the "Examples" section below for more.
    -
    -
    -Installation
    -------------
    -
    -Install with `npm`:
    -
    -``` bash
    -$ npm install https-proxy-agent
    -```
    -
    -
    -Examples
    ---------
    -
    -#### `https` module example
    -
    -``` js
    -var url = require('url');
    -var https = require('https');
    -var HttpsProxyAgent = require('https-proxy-agent');
    -
    -// HTTP/HTTPS proxy to connect to
    -var proxy = process.env.http_proxy || 'http://168.63.76.32:3128';
    -console.log('using proxy server %j', proxy);
    -
    -// HTTPS endpoint for the proxy to connect to
    -var endpoint = process.argv[2] || 'https://graph.facebook.com/tootallnate';
    -console.log('attempting to GET %j', endpoint);
    -var options = url.parse(endpoint);
    -
    -// create an instance of the `HttpsProxyAgent` class with the proxy server information
    -var agent = new HttpsProxyAgent(proxy);
    -options.agent = agent;
    -
    -https.get(options, function (res) {
    -  console.log('"response" event!', res.headers);
    -  res.pipe(process.stdout);
    -});
    -```
    -
    -#### `ws` WebSocket connection example
    -
    -``` js
    -var url = require('url');
    -var WebSocket = require('ws');
    -var HttpsProxyAgent = require('https-proxy-agent');
    -
    -// HTTP/HTTPS proxy to connect to
    -var proxy = process.env.http_proxy || 'http://168.63.76.32:3128';
    -console.log('using proxy server %j', proxy);
    -
    -// WebSocket endpoint for the proxy to connect to
    -var endpoint = process.argv[2] || 'ws://echo.websocket.org';
    -var parsed = url.parse(endpoint);
    -console.log('attempting to connect to WebSocket %j', endpoint);
    -
    -// create an instance of the `HttpsProxyAgent` class with the proxy server information
    -var options = url.parse(proxy);
    -
    -var agent = new HttpsProxyAgent(options);
    -
    -// finally, initiate the WebSocket connection
    -var socket = new WebSocket(endpoint, { agent: agent });
    -
    -socket.on('open', function () {
    -  console.log('"open" event!');
    -  socket.send('hello world');
    -});
    -
    -socket.on('message', function (data, flags) {
    -  console.log('"message" event! %j %j', data, flags);
    -  socket.close();
    -});
    -```
    -
    -API
    ----
    -
    -### new HttpsProxyAgent(Object options)
    -
    -The `HttpsProxyAgent` class implements an `http.Agent` subclass that connects
    -to the specified "HTTP(s) proxy server" in order to proxy HTTPS and/or WebSocket
    -requests. This is achieved by using the [HTTP `CONNECT` method][CONNECT].
    -
    -The `options` argument may either be a string URI of the proxy server to use, or an
    -"options" object with more specific properties:
    -
    -  * `host` - String - Proxy host to connect to (may use `hostname` as well). Required.
    -  * `port` - Number - Proxy port to connect to. Required.
    -  * `protocol` - String - If `https:`, then use TLS to connect to the proxy.
    -  * `headers` - Object - Additional HTTP headers to be sent on the HTTP CONNECT method.
    -  * Any other options given are passed to the `net.connect()`/`tls.connect()` functions.
    -
    -
    -License
    --------
    -
    -(The MIT License)
    -
    -Copyright (c) 2013 Nathan Rajlich <nathan@tootallnate.net>
    -
    -Permission is hereby granted, free of charge, to any person obtaining
    -a copy of this software and associated documentation files (the
    -'Software'), to deal in the Software without restriction, including
    -without limitation the rights to use, copy, modify, merge, publish,
    -distribute, sublicense, and/or sell copies of the Software, and to
    -permit persons to whom the Software is furnished to do so, subject to
    -the following conditions:
    -
    -The above copyright notice and this permission notice shall be
    -included in all copies or substantial portions of the Software.
    -
    -THE SOFTWARE IS PROVIDED 'AS IS', WITHOUT WARRANTY OF ANY KIND,
    -EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
    -MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.
    -IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY
    -CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT,
    -TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE
    -SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
    -
    -[CONNECT]: http://en.wikipedia.org/wiki/HTTP_tunnel#HTTP_CONNECT_Tunneling
    diff --git a/deps/npm/node_modules/humanize-ms/README.md b/deps/npm/node_modules/humanize-ms/README.md
    deleted file mode 100644
    index 20a2ca35b89fbc..00000000000000
    --- a/deps/npm/node_modules/humanize-ms/README.md
    +++ /dev/null
    @@ -1,40 +0,0 @@
    -humanize-ms
    ----------------
    -
    -[![NPM version][npm-image]][npm-url]
    -[![build status][travis-image]][travis-url]
    -[![Test coverage][coveralls-image]][coveralls-url]
    -[![Gittip][gittip-image]][gittip-url]
    -[![David deps][david-image]][david-url]
    -
    -[npm-image]: https://img.shields.io/npm/v/humanize-ms.svg?style=flat
    -[npm-url]: https://npmjs.org/package/humanize-ms
    -[travis-image]: https://img.shields.io/travis/node-modules/humanize-ms.svg?style=flat
    -[travis-url]: https://travis-ci.org/node-modules/humanize-ms
    -[coveralls-image]: https://img.shields.io/coveralls/node-modules/humanize-ms.svg?style=flat
    -[coveralls-url]: https://coveralls.io/r/node-modules/humanize-ms?branch=master
    -[gittip-image]: https://img.shields.io/gittip/dead-horse.svg?style=flat
    -[gittip-url]: https://www.gittip.com/dead-horse/
    -[david-image]: https://img.shields.io/david/node-modules/humanize-ms.svg?style=flat
    -[david-url]: https://david-dm.org/node-modules/humanize-ms
    -
    -transform humanize time to ms
    -
    -## Installation
    -
    -```bash
    -$ npm install humanize-ms
    -```
    -
    -## Examples
    -
    -```js
    -var ms = require('humanize-ms');
    -
    -ms('1s') // 1000
    -ms(1000) // 1000
    -```
    -
    -### License
    -
    -MIT
    diff --git a/deps/npm/node_modules/iconv-lite/.github/dependabot.yml b/deps/npm/node_modules/iconv-lite/.github/dependabot.yml
    deleted file mode 100644
    index e4a0e0afdff7c8..00000000000000
    --- a/deps/npm/node_modules/iconv-lite/.github/dependabot.yml
    +++ /dev/null
    @@ -1,11 +0,0 @@
    -# Please see the documentation for all configuration options:
    -# https://help.github.com/github/administering-a-repository/configuration-options-for-dependency-updates
    -
    -version: 2
    -updates:
    -  - package-ecosystem: "npm"
    -    directory: "/"
    -    schedule:
    -      interval: "daily"
    -    allow:
    -      - dependency-type: production
    diff --git a/deps/npm/node_modules/iconv-lite/.idea/codeStyles/Project.xml b/deps/npm/node_modules/iconv-lite/.idea/codeStyles/Project.xml
    deleted file mode 100644
    index 3f2688cb57ab8c..00000000000000
    --- a/deps/npm/node_modules/iconv-lite/.idea/codeStyles/Project.xml
    +++ /dev/null
    @@ -1,47 +0,0 @@
    -
    -  
    -    
    -      
    -    
    -      
    -    
    -      
    -    
    -      
    -    
    -      
    -    
    -      
    -    
    -      
    -    
    -      
    -  
    -
    \ No newline at end of file
    diff --git a/deps/npm/node_modules/iconv-lite/.idea/codeStyles/codeStyleConfig.xml b/deps/npm/node_modules/iconv-lite/.idea/codeStyles/codeStyleConfig.xml
    deleted file mode 100644
    index 79ee123c2b23e0..00000000000000
    --- a/deps/npm/node_modules/iconv-lite/.idea/codeStyles/codeStyleConfig.xml
    +++ /dev/null
    @@ -1,5 +0,0 @@
    -
    -  
    -    
    -
    \ No newline at end of file
    diff --git a/deps/npm/node_modules/iconv-lite/.idea/iconv-lite.iml b/deps/npm/node_modules/iconv-lite/.idea/iconv-lite.iml
    deleted file mode 100644
    index 0c8867d7e175f4..00000000000000
    --- a/deps/npm/node_modules/iconv-lite/.idea/iconv-lite.iml
    +++ /dev/null
    @@ -1,12 +0,0 @@
    -
    -
    -  
    -    
    -      
    -      
    -      
    -    
    -    
    -    
    -  
    -
    \ No newline at end of file
    diff --git a/deps/npm/node_modules/iconv-lite/.idea/inspectionProfiles/Project_Default.xml b/deps/npm/node_modules/iconv-lite/.idea/inspectionProfiles/Project_Default.xml
    deleted file mode 100644
    index 03d9549ea8e4ad..00000000000000
    --- a/deps/npm/node_modules/iconv-lite/.idea/inspectionProfiles/Project_Default.xml
    +++ /dev/null
    @@ -1,6 +0,0 @@
    -
    -  
    -    
    -
    \ No newline at end of file
    diff --git a/deps/npm/node_modules/iconv-lite/.idea/modules.xml b/deps/npm/node_modules/iconv-lite/.idea/modules.xml
    deleted file mode 100644
    index 5d24f2e1ec92a2..00000000000000
    --- a/deps/npm/node_modules/iconv-lite/.idea/modules.xml
    +++ /dev/null
    @@ -1,8 +0,0 @@
    -
    -
    -  
    -    
    -      
    -    
    -  
    -
    \ No newline at end of file
    diff --git a/deps/npm/node_modules/iconv-lite/.idea/vcs.xml b/deps/npm/node_modules/iconv-lite/.idea/vcs.xml
    deleted file mode 100644
    index 94a25f7f4cb416..00000000000000
    --- a/deps/npm/node_modules/iconv-lite/.idea/vcs.xml
    +++ /dev/null
    @@ -1,6 +0,0 @@
    -
    -
    -  
    -    
    -  
    -
    \ No newline at end of file
    diff --git a/deps/npm/node_modules/iconv-lite/README.md b/deps/npm/node_modules/iconv-lite/README.md
    deleted file mode 100644
    index 3c97f873079467..00000000000000
    --- a/deps/npm/node_modules/iconv-lite/README.md
    +++ /dev/null
    @@ -1,130 +0,0 @@
    -## iconv-lite: Pure JS character encoding conversion
    -
    - * No need for native code compilation. Quick to install, works on Windows and in sandboxed environments like [Cloud9](http://c9.io).
    - * Used in popular projects like [Express.js (body_parser)](https://github.com/expressjs/body-parser), 
    -   [Grunt](http://gruntjs.com/), [Nodemailer](http://www.nodemailer.com/), [Yeoman](http://yeoman.io/) and others.
    - * Faster than [node-iconv](https://github.com/bnoordhuis/node-iconv) (see below for performance comparison).
    - * Intuitive encode/decode API, including Streaming support.
    - * In-browser usage via [browserify](https://github.com/substack/node-browserify) or [webpack](https://webpack.js.org/) (~180kb gzip compressed with Buffer shim included).
    - * Typescript [type definition file](https://github.com/ashtuchkin/iconv-lite/blob/master/lib/index.d.ts) included.
    - * React Native is supported (need to install `stream` module to enable Streaming API).
    - * License: MIT.
    -
    -[![NPM Stats](https://nodei.co/npm/iconv-lite.png)](https://npmjs.org/package/iconv-lite/)  
    -[![Build Status](https://travis-ci.org/ashtuchkin/iconv-lite.svg?branch=master)](https://travis-ci.org/ashtuchkin/iconv-lite)
    -[![npm](https://img.shields.io/npm/v/iconv-lite.svg)](https://npmjs.org/package/iconv-lite/)
    -[![npm downloads](https://img.shields.io/npm/dm/iconv-lite.svg)](https://npmjs.org/package/iconv-lite/)
    -[![npm bundle size](https://img.shields.io/bundlephobia/min/iconv-lite.svg)](https://npmjs.org/package/iconv-lite/)
    -
    -## Usage
    -### Basic API
    -```javascript
    -var iconv = require('iconv-lite');
    -
    -// Convert from an encoded buffer to a js string.
    -str = iconv.decode(Buffer.from([0x68, 0x65, 0x6c, 0x6c, 0x6f]), 'win1251');
    -
    -// Convert from a js string to an encoded buffer.
    -buf = iconv.encode("Sample input string", 'win1251');
    -
    -// Check if encoding is supported
    -iconv.encodingExists("us-ascii")
    -```
    -
    -### Streaming API
    -```javascript
    -
    -// Decode stream (from binary data stream to js strings)
    -http.createServer(function(req, res) {
    -    var converterStream = iconv.decodeStream('win1251');
    -    req.pipe(converterStream);
    -
    -    converterStream.on('data', function(str) {
    -        console.log(str); // Do something with decoded strings, chunk-by-chunk.
    -    });
    -});
    -
    -// Convert encoding streaming example
    -fs.createReadStream('file-in-win1251.txt')
    -    .pipe(iconv.decodeStream('win1251'))
    -    .pipe(iconv.encodeStream('ucs2'))
    -    .pipe(fs.createWriteStream('file-in-ucs2.txt'));
    -
    -// Sugar: all encode/decode streams have .collect(cb) method to accumulate data.
    -http.createServer(function(req, res) {
    -    req.pipe(iconv.decodeStream('win1251')).collect(function(err, body) {
    -        assert(typeof body == 'string');
    -        console.log(body); // full request body string
    -    });
    -});
    -```
    -
    -## Supported encodings
    -
    - *  All node.js native encodings: utf8, ucs2 / utf16-le, ascii, binary, base64, hex.
    - *  Additional unicode encodings: utf16, utf16-be, utf-7, utf-7-imap, utf32, utf32-le, and utf32-be.
    - *  All widespread singlebyte encodings: Windows 125x family, ISO-8859 family, 
    -    IBM/DOS codepages, Macintosh family, KOI8 family, all others supported by iconv library. 
    -    Aliases like 'latin1', 'us-ascii' also supported.
    - *  All widespread multibyte encodings: CP932, CP936, CP949, CP950, GB2312, GBK, GB18030, Big5, Shift_JIS, EUC-JP.
    -
    -See [all supported encodings on wiki](https://github.com/ashtuchkin/iconv-lite/wiki/Supported-Encodings).
    -
    -Most singlebyte encodings are generated automatically from [node-iconv](https://github.com/bnoordhuis/node-iconv). Thank you Ben Noordhuis and libiconv authors!
    -
    -Multibyte encodings are generated from [Unicode.org mappings](http://www.unicode.org/Public/MAPPINGS/) and [WHATWG Encoding Standard mappings](http://encoding.spec.whatwg.org/). Thank you, respective authors!
    -
    -
    -## Encoding/decoding speed
    -
    -Comparison with node-iconv module (1000x256kb, on MacBook Pro, Core i5/2.6 GHz, Node v0.12.0). 
    -Note: your results may vary, so please always check on your hardware.
    -
    -    operation             iconv@2.1.4   iconv-lite@0.4.7
    -    ----------------------------------------------------------
    -    encode('win1251')     ~96 Mb/s      ~320 Mb/s
    -    decode('win1251')     ~95 Mb/s      ~246 Mb/s
    -
    -## BOM handling
    -
    - * Decoding: BOM is stripped by default, unless overridden by passing `stripBOM: false` in options
    -   (f.ex. `iconv.decode(buf, enc, {stripBOM: false})`).
    -   A callback might also be given as a `stripBOM` parameter - it'll be called if BOM character was actually found.
    - * If you want to detect UTF-8 BOM when decoding other encodings, use [node-autodetect-decoder-stream](https://github.com/danielgindi/node-autodetect-decoder-stream) module.
    - * Encoding: No BOM added, unless overridden by `addBOM: true` option.
    -
    -## UTF-16 Encodings
    -
    -This library supports UTF-16LE, UTF-16BE and UTF-16 encodings. First two are straightforward, but UTF-16 is trying to be
    -smart about endianness in the following ways:
    - * Decoding: uses BOM and 'spaces heuristic' to determine input endianness. Default is UTF-16LE, but can be 
    -   overridden with `defaultEncoding: 'utf-16be'` option. Strips BOM unless `stripBOM: false`.
    - * Encoding: uses UTF-16LE and writes BOM by default. Use `addBOM: false` to override.
    -
    -## UTF-32 Encodings
    -
    -This library supports UTF-32LE, UTF-32BE and UTF-32 encodings. Like the UTF-16 encoding above, UTF-32 defaults to UTF-32LE, but uses BOM and 'spaces heuristics' to determine input endianness. 
    - * The default of UTF-32LE can be overridden with the `defaultEncoding: 'utf-32be'` option. Strips BOM unless `stripBOM: false`.
    - * Encoding: uses UTF-32LE and writes BOM by default. Use `addBOM: false` to override. (`defaultEncoding: 'utf-32be'` can also be used here to change encoding.)
    -
    -## Other notes
    -
    -When decoding, be sure to supply a Buffer to decode() method, otherwise [bad things usually happen](https://github.com/ashtuchkin/iconv-lite/wiki/Use-Buffers-when-decoding).  
    -Untranslatable characters are set to � or ?. No transliteration is currently supported.  
    -Node versions 0.10.31 and 0.11.13 are buggy, don't use them (see #65, #77).  
    -
    -## Testing
    -
    -```bash
    -$ git clone git@github.com:ashtuchkin/iconv-lite.git
    -$ cd iconv-lite
    -$ npm install
    -$ npm test
    -    
    -$ # To view performance:
    -$ node test/performance.js
    -
    -$ # To view test coverage:
    -$ npm run coverage
    -$ open coverage/lcov-report/index.html
    -```
    diff --git a/deps/npm/node_modules/ignore-walk/README.md b/deps/npm/node_modules/ignore-walk/README.md
    deleted file mode 100644
    index 278f61017f5e7d..00000000000000
    --- a/deps/npm/node_modules/ignore-walk/README.md
    +++ /dev/null
    @@ -1,60 +0,0 @@
    -# ignore-walk
    -
    -[![Build
    -Status](https://travis-ci.org/npm/ignore-walk.svg?branch=master)](https://travis-ci.org/npm/ignore-walk)
    -
    -Nested/recursive `.gitignore`/`.npmignore` parsing and filtering.
    -
    -Walk a directory creating a list of entries, parsing any `.ignore`
    -files met along the way to exclude files.
    -
    -## USAGE
    -
    -```javascript
    -const walk = require('ignore-walk')
    -
    -// All options are optional, defaults provided.
    -
    -// this function returns a promise, but you can also pass a cb
    -// if you like that approach better.
    -walk({
    -  path: '...', // root dir to start in. defaults to process.cwd()
    -  ignoreFiles: [ '.gitignore' ], // list of filenames. defaults to ['.ignore']
    -  includeEmpty: true|false, // true to include empty dirs, default false
    -  follow: true|false // true to follow symlink dirs, default false
    -}, callback)
    -
    -// to walk synchronously, do it this way:
    -const result = walk.sync({ path: '/wow/such/filepath' })
    -```
    -
    -If you want to get at the underlying classes, they're at `walk.Walker`
    -and `walk.WalkerSync`.
    -
    -## OPTIONS
    -
    -* `path` The path to start in.  Defaults to `process.cwd()`
    -
    -* `ignoreFiles` Filenames to treat as ignore files.  The default is
    -  `['.ignore']`.  (This is where you'd put `.gitignore` or
    -  `.npmignore` or whatever.)  If multiple ignore files are in a
    -  directory, then rules from each are applied in the order that the
    -  files are listed.
    -
    -* `includeEmpty` Set to `true` to include empty directories, assuming
    -  they are not excluded by any of the ignore rules.  If not set, then
    -  this follows the standard `git` behavior of not including
    -  directories that are empty.
    -
    -    Note: this will cause an empty directory to be included if it
    -    would contain an included entry, even if it would have otherwise
    -    been excluded itself.
    -
    -    For example, given the rules `*` (ignore everything) and `!/a/b/c`
    -    (re-include the entry at `/a/b/c`), the directory `/a/b` will be
    -    included if it is empty.
    -
    -* `follow`  Set to `true` to treat symbolically linked directories as
    -  directories, recursing into them.  There is no handling for nested
    -  symlinks, so `ELOOP` errors can occur in some cases when using this
    -  option.  Defaults to `false`.
    diff --git a/deps/npm/node_modules/imurmurhash/README.md b/deps/npm/node_modules/imurmurhash/README.md
    deleted file mode 100644
    index f35b20a0ef5bfe..00000000000000
    --- a/deps/npm/node_modules/imurmurhash/README.md
    +++ /dev/null
    @@ -1,122 +0,0 @@
    -iMurmurHash.js
    -==============
    -
    -An incremental implementation of the MurmurHash3 (32-bit) hashing algorithm for JavaScript based on [Gary Court's implementation](https://github.com/garycourt/murmurhash-js) with [kazuyukitanimura's modifications](https://github.com/kazuyukitanimura/murmurhash-js).
    -
    -This version works significantly faster than the non-incremental version if you need to hash many small strings into a single hash, since string concatenation (to build the single string to pass the non-incremental version) is fairly costly. In one case tested, using the incremental version was about 50% faster than concatenating 5-10 strings and then hashing.
    -
    -Installation
    -------------
    -
    -To use iMurmurHash in the browser, [download the latest version](https://raw.github.com/jensyt/imurmurhash-js/master/imurmurhash.min.js) and include it as a script on your site.
    -
    -```html
    -
    -
    -```
    -
    ----
    -
    -To use iMurmurHash in Node.js, install the module using NPM:
    -
    -```bash
    -npm install imurmurhash
    -```
    -
    -Then simply include it in your scripts:
    -
    -```javascript
    -MurmurHash3 = require('imurmurhash');
    -```
    -
    -Quick Example
    --------------
    -
    -```javascript
    -// Create the initial hash
    -var hashState = MurmurHash3('string');
    -
    -// Incrementally add text
    -hashState.hash('more strings');
    -hashState.hash('even more strings');
    -
    -// All calls can be chained if desired
    -hashState.hash('and').hash('some').hash('more');
    -
    -// Get a result
    -hashState.result();
    -// returns 0xe4ccfe6b
    -```
    -
    -Functions
    ----------
    -
    -### MurmurHash3 ([string], [seed])
    -Get a hash state object, optionally initialized with the given _string_ and _seed_. _Seed_ must be a positive integer if provided. Calling this function without the `new` keyword will return a cached state object that has been reset. This is safe to use as long as the object is only used from a single thread and no other hashes are created while operating on this one. If this constraint cannot be met, you can use `new` to create a new state object. For example:
    -
    -```javascript
    -// Use the cached object, calling the function again will return the same
    -// object (but reset, so the current state would be lost)
    -hashState = MurmurHash3();
    -...
    -
    -// Create a new object that can be safely used however you wish. Calling the
    -// function again will simply return a new state object, and no state loss
    -// will occur, at the cost of creating more objects.
    -hashState = new MurmurHash3();
    -```
    -
    -Both methods can be mixed however you like if you have different use cases.
    -
    ----
    -
    -### MurmurHash3.prototype.hash (string)
    -Incrementally add _string_ to the hash. This can be called as many times as you want for the hash state object, including after a call to `result()`. Returns `this` so calls can be chained.
    -
    ----
    -
    -### MurmurHash3.prototype.result ()
    -Get the result of the hash as a 32-bit positive integer. This performs the tail and finalizer portions of the algorithm, but does not store the result in the state object. This means that it is perfectly safe to get results and then continue adding strings via `hash`.
    -
    -```javascript
    -// Do the whole string at once
    -MurmurHash3('this is a test string').result();
    -// 0x70529328
    -
    -// Do part of the string, get a result, then the other part
    -var m = MurmurHash3('this is a');
    -m.result();
    -// 0xbfc4f834
    -m.hash(' test string').result();
    -// 0x70529328 (same as above)
    -```
    -
    ----
    -
    -### MurmurHash3.prototype.reset ([seed])
    -Reset the state object for reuse, optionally using the given _seed_ (defaults to 0 like the constructor). Returns `this` so calls can be chained.
    -
    ----
    -
    -License (MIT)
    --------------
    -Copyright (c) 2013 Gary Court, Jens Taylor
    -
    -Permission is hereby granted, free of charge, to any person obtaining a copy of
    -this software and associated documentation files (the "Software"), to deal in
    -the Software without restriction, including without limitation the rights to
    -use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of
    -the Software, and to permit persons to whom the Software is furnished to do so,
    -subject to the following conditions:
    -
    -The above copyright notice and this permission notice shall be included in all
    -copies or substantial portions of the Software.
    -
    -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
    -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS
    -FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR
    -COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER
    -IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
    -CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
    diff --git a/deps/npm/node_modules/infer-owner/README.md b/deps/npm/node_modules/infer-owner/README.md
    deleted file mode 100644
    index 146caf7b8c8019..00000000000000
    --- a/deps/npm/node_modules/infer-owner/README.md
    +++ /dev/null
    @@ -1,41 +0,0 @@
    -# infer-owner
    -
    -Infer the owner of a path based on the owner of its nearest existing parent
    -
    -## USAGE
    -
    -```js
    -const inferOwner = require('infer-owner')
    -
    -inferOwner('/some/cache/folder/file').then(owner => {
    -  // owner is {uid, gid} that should be attached to
    -  // the /some/cache/folder/file, based on ownership
    -  // of /some/cache/folder, /some/cache, /some, or /,
    -  // whichever is the first to exist
    -})
    -
    -// same, but not async
    -const owner = inferOwner.sync('/some/cache/folder/file')
    -
    -// results are cached!  to reset the cache (eg, to change
    -// permissions for whatever reason), do this:
    -inferOwner.clearCache()
    -```
    -
    -This module endeavors to be as performant as possible.  Parallel requests
    -for ownership of the same path will only stat the directories one time.
    -
    -## API
    -
    -* `inferOwner(path) -> Promise<{ uid, gid }>`
    -
    -    If the path exists, return its uid and gid.  If it does not, look to
    -    its parent, then its grandparent, and so on.
    -
    -* `inferOwner(path) -> { uid, gid }`
    -
    -    Sync form of `inferOwner(path)`.
    -
    -* `inferOwner.clearCache()`
    -
    -    Delete all cached ownership information and in-flight tracking.
    diff --git a/deps/npm/node_modules/inflight/README.md b/deps/npm/node_modules/inflight/README.md
    deleted file mode 100644
    index 6dc8929171a8c5..00000000000000
    --- a/deps/npm/node_modules/inflight/README.md
    +++ /dev/null
    @@ -1,37 +0,0 @@
    -# inflight
    -
    -Add callbacks to requests in flight to avoid async duplication
    -
    -## USAGE
    -
    -```javascript
    -var inflight = require('inflight')
    -
    -// some request that does some stuff
    -function req(key, callback) {
    -  // key is any random string.  like a url or filename or whatever.
    -  //
    -  // will return either a falsey value, indicating that the
    -  // request for this key is already in flight, or a new callback
    -  // which when called will call all callbacks passed to inflightk
    -  // with the same key
    -  callback = inflight(key, callback)
    -
    -  // If we got a falsey value back, then there's already a req going
    -  if (!callback) return
    -
    -  // this is where you'd fetch the url or whatever
    -  // callback is also once()-ified, so it can safely be assigned
    -  // to multiple events etc.  First call wins.
    -  setTimeout(function() {
    -    callback(null, key)
    -  }, 100)
    -}
    -
    -// only assigns a single setTimeout
    -// when it dings, all cbs get called
    -req('foo', cb1)
    -req('foo', cb2)
    -req('foo', cb3)
    -req('foo', cb4)
    -```
    diff --git a/deps/npm/node_modules/inherits/README.md b/deps/npm/node_modules/inherits/README.md
    deleted file mode 100644
    index b1c56658557b81..00000000000000
    --- a/deps/npm/node_modules/inherits/README.md
    +++ /dev/null
    @@ -1,42 +0,0 @@
    -Browser-friendly inheritance fully compatible with standard node.js
    -[inherits](http://nodejs.org/api/util.html#util_util_inherits_constructor_superconstructor).
    -
    -This package exports standard `inherits` from node.js `util` module in
    -node environment, but also provides alternative browser-friendly
    -implementation through [browser
    -field](https://gist.github.com/shtylman/4339901). Alternative
    -implementation is a literal copy of standard one located in standalone
    -module to avoid requiring of `util`. It also has a shim for old
    -browsers with no `Object.create` support.
    -
    -While keeping you sure you are using standard `inherits`
    -implementation in node.js environment, it allows bundlers such as
    -[browserify](https://github.com/substack/node-browserify) to not
    -include full `util` package to your client code if all you need is
    -just `inherits` function. It worth, because browser shim for `util`
    -package is large and `inherits` is often the single function you need
    -from it.
    -
    -It's recommended to use this package instead of
    -`require('util').inherits` for any code that has chances to be used
    -not only in node.js but in browser too.
    -
    -## usage
    -
    -```js
    -var inherits = require('inherits');
    -// then use exactly as the standard one
    -```
    -
    -## note on version ~1.0
    -
    -Version ~1.0 had completely different motivation and is not compatible
    -neither with 2.0 nor with standard node.js `inherits`.
    -
    -If you are using version ~1.0 and planning to switch to ~2.0, be
    -careful:
    -
    -* new version uses `super_` instead of `super` for referencing
    -  superclass
    -* new version overwrites current prototype while old one preserves any
    -  existing fields on it
    diff --git a/deps/npm/node_modules/ini/README.md b/deps/npm/node_modules/ini/README.md
    deleted file mode 100644
    index 33df258297db7f..00000000000000
    --- a/deps/npm/node_modules/ini/README.md
    +++ /dev/null
    @@ -1,102 +0,0 @@
    -An ini format parser and serializer for node.
    -
    -Sections are treated as nested objects.  Items before the first
    -heading are saved on the object directly.
    -
    -## Usage
    -
    -Consider an ini-file `config.ini` that looks like this:
    -
    -    ; this comment is being ignored
    -    scope = global
    -
    -    [database]
    -    user = dbuser
    -    password = dbpassword
    -    database = use_this_database
    -
    -    [paths.default]
    -    datadir = /var/lib/data
    -    array[] = first value
    -    array[] = second value
    -    array[] = third value
    -
    -You can read, manipulate and write the ini-file like so:
    -
    -    var fs = require('fs')
    -      , ini = require('ini')
    -
    -    var config = ini.parse(fs.readFileSync('./config.ini', 'utf-8'))
    -
    -    config.scope = 'local'
    -    config.database.database = 'use_another_database'
    -    config.paths.default.tmpdir = '/tmp'
    -    delete config.paths.default.datadir
    -    config.paths.default.array.push('fourth value')
    -
    -    fs.writeFileSync('./config_modified.ini', ini.stringify(config, { section: 'section' }))
    -
    -This will result in a file called `config_modified.ini` being written
    -to the filesystem with the following content:
    -
    -    [section]
    -    scope=local
    -    [section.database]
    -    user=dbuser
    -    password=dbpassword
    -    database=use_another_database
    -    [section.paths.default]
    -    tmpdir=/tmp
    -    array[]=first value
    -    array[]=second value
    -    array[]=third value
    -    array[]=fourth value
    -
    -
    -## API
    -
    -### decode(inistring)
    -
    -Decode the ini-style formatted `inistring` into a nested object.
    -
    -### parse(inistring)
    -
    -Alias for `decode(inistring)`
    -
    -### encode(object, [options])
    -
    -Encode the object `object` into an ini-style formatted string. If the
    -optional parameter `section` is given, then all top-level properties
    -of the object are put into this section and the `section`-string is
    -prepended to all sub-sections, see the usage example above.
    -
    -The `options` object may contain the following:
    -
    -* `section` A string which will be the first `section` in the encoded
    -  ini data.  Defaults to none.
    -* `whitespace` Boolean to specify whether to put whitespace around the
    -  `=` character.  By default, whitespace is omitted, to be friendly to
    -  some persnickety old parsers that don't tolerate it well.  But some
    -  find that it's more human-readable and pretty with the whitespace.
    -
    -For backwards compatibility reasons, if a `string` options is passed
    -in, then it is assumed to be the `section` value.
    -
    -### stringify(object, [options])
    -
    -Alias for `encode(object, [options])`
    -
    -### safe(val)
    -
    -Escapes the string `val` such that it is safe to be used as a key or
    -value in an ini-file. Basically escapes quotes. For example
    -
    -    ini.safe('"unsafe string"')
    -
    -would result in
    -
    -    "\"unsafe string\""
    -
    -### unsafe(val)
    -
    -Unescapes the string `val`
    diff --git a/deps/npm/node_modules/init-package-json/CHANGELOG.md b/deps/npm/node_modules/init-package-json/CHANGELOG.md
    deleted file mode 100644
    index 92e92aed117148..00000000000000
    --- a/deps/npm/node_modules/init-package-json/CHANGELOG.md
    +++ /dev/null
    @@ -1,21 +0,0 @@
    -# Change Log
    -
    -
    -## [2.0.0](https://github.com/npm/init-package-json/compare/v1.10.3...v2.0.0) (2020-10-09)
    -* BREAKING: requires node10+
    -* fix: compat with new `@npmcli/config` module
    -* chore: update deps to latest and greatest
    -
    -
    -## [1.10.3](https://github.com/npm/init-package-json/compare/v1.10.2...v1.10.3) (2018-03-07)
    -
    -
    -
    -
    -## [1.10.2](https://github.com/npm/init-package-json/compare/v1.10.1...v1.10.2) (2018-03-07)
    -
    -
    -### Bug Fixes
    -
    -* **default-input:** Catch errors from npa ([#71](https://github.com/npm/init-package-json/issues/71)) ([11aee1e](https://github.com/npm/init-package-json/commit/11aee1e))
    -* **grammar:** Fix minor style issue in final prompt ([#76](https://github.com/npm/init-package-json/issues/76)) ([ba259ce](https://github.com/npm/init-package-json/commit/ba259ce))
    diff --git a/deps/npm/node_modules/init-package-json/README.md b/deps/npm/node_modules/init-package-json/README.md
    deleted file mode 100644
    index 528acf355158ab..00000000000000
    --- a/deps/npm/node_modules/init-package-json/README.md
    +++ /dev/null
    @@ -1,45 +0,0 @@
    -# init-package-json
    -
    -A node module to get your node module started.
    -
    -[![Build Status](https://secure.travis-ci.org/npm/init-package-json.svg)](http://travis-ci.org/npm/init-package-json)
    -
    -## Usage
    -
    -```javascript
    -var init = require('init-package-json')
    -var path = require('path')
    -
    -// a path to a promzard module.  In the event that this file is
    -// not found, one will be provided for you.
    -var initFile = path.resolve(process.env.HOME, '.npm-init')
    -
    -// the dir where we're doin stuff.
    -var dir = process.cwd()
    -
    -// extra stuff that gets put into the PromZard module's context.
    -// In npm, this is the resolved config object.  Exposed as 'config'
    -// Optional.
    -var configData = { some: 'extra stuff' }
    -
    -// Any existing stuff from the package.json file is also exposed in the
    -// PromZard module as the `package` object.  There will also be three
    -// vars for:
    -// * `filename` path to the package.json file
    -// * `basename` the tip of the package dir
    -// * `dirname` the parent of the package dir
    -
    -init(dir, initFile, configData, function (er, data) {
    -  // the data's already been written to {dir}/package.json
    -  // now you can do stuff with it
    -})
    -```
    -
    -Or from the command line:
    -
    -```
    -$ npm-init
    -```
    -
    -See [PromZard](https://github.com/npm/promzard) for details about
    -what can go in the config file.
    diff --git a/deps/npm/node_modules/ip/.jscsrc b/deps/npm/node_modules/ip/.jscsrc
    deleted file mode 100644
    index dbaae20574debf..00000000000000
    --- a/deps/npm/node_modules/ip/.jscsrc
    +++ /dev/null
    @@ -1,46 +0,0 @@
    -{
    -  "disallowKeywordsOnNewLine": [ "else" ],
    -  "disallowMixedSpacesAndTabs": true,
    -  "disallowMultipleLineStrings": true,
    -  "disallowMultipleVarDecl": true,
    -  "disallowNewlineBeforeBlockStatements": true,
    -  "disallowQuotedKeysInObjects": true,
    -  "disallowSpaceAfterObjectKeys": true,
    -  "disallowSpaceAfterPrefixUnaryOperators": true,
    -  "disallowSpaceBeforePostfixUnaryOperators": true,
    -  "disallowSpacesInCallExpression": true,
    -  "disallowTrailingComma": true,
    -  "disallowTrailingWhitespace": true,
    -  "disallowYodaConditions": true,
    -
    -  "requireCommaBeforeLineBreak": true,
    -  "requireOperatorBeforeLineBreak": true,
    -  "requireSpaceAfterBinaryOperators": true,
    -  "requireSpaceAfterKeywords": [ "if", "for", "while", "else", "try", "catch" ],
    -  "requireSpaceAfterLineComment": true,
    -  "requireSpaceBeforeBinaryOperators": true,
    -  "requireSpaceBeforeBlockStatements": true,
    -  "requireSpaceBeforeKeywords": [ "else", "catch" ],
    -  "requireSpaceBeforeObjectValues": true,
    -  "requireSpaceBetweenArguments": true,
    -  "requireSpacesInAnonymousFunctionExpression": {
    -    "beforeOpeningCurlyBrace": true
    -  },
    -  "requireSpacesInFunctionDeclaration": {
    -    "beforeOpeningCurlyBrace": true
    -  },
    -  "requireSpacesInFunctionExpression": {
    -    "beforeOpeningCurlyBrace": true
    -  },
    -  "requireSpacesInConditionalExpression": true,
    -  "requireSpacesInForStatement": true,
    -  "requireSpacesInsideArrayBrackets": "all",
    -  "requireSpacesInsideObjectBrackets": "all",
    -  "requireDotNotation": true,
    -
    -  "maximumLineLength": 80,
    -  "validateIndentation": 2,
    -  "validateLineBreaks": "LF",
    -  "validateParameterSeparator": ", ",
    -  "validateQuoteMarks": "'"
    -}
    diff --git a/deps/npm/node_modules/ip/.npmignore b/deps/npm/node_modules/ip/.npmignore
    deleted file mode 100644
    index 1ca957177f0352..00000000000000
    --- a/deps/npm/node_modules/ip/.npmignore
    +++ /dev/null
    @@ -1,2 +0,0 @@
    -node_modules/
    -npm-debug.log
    diff --git a/deps/npm/node_modules/ip/.travis.yml b/deps/npm/node_modules/ip/.travis.yml
    deleted file mode 100644
    index a3a8fad6b6e387..00000000000000
    --- a/deps/npm/node_modules/ip/.travis.yml
    +++ /dev/null
    @@ -1,15 +0,0 @@
    -sudo: false
    -language: node_js
    -node_js:
    -  - "0.8"
    -  - "0.10"
    -  - "0.12"
    -  - "4"
    -  - "6"
    -
    -before_install:
    -  - travis_retry npm install -g npm@2.14.5
    -  - travis_retry npm install
    -
    -script:
    -  - npm test
    diff --git a/deps/npm/node_modules/ip/README.md b/deps/npm/node_modules/ip/README.md
    deleted file mode 100644
    index 22e5819ffaf946..00000000000000
    --- a/deps/npm/node_modules/ip/README.md
    +++ /dev/null
    @@ -1,90 +0,0 @@
    -# IP  
    -[![](https://badge.fury.io/js/ip.svg)](https://www.npmjs.com/package/ip)  
    -
    -IP address utilities for node.js
    -
    -## Installation
    -
    -###  npm
    -```shell
    -npm install ip
    -```
    -
    -### git
    -
    -```shell
    -git clone https://github.com/indutny/node-ip.git
    -```
    -  
    -## Usage
    -Get your ip address, compare ip addresses, validate ip addresses, etc.
    -
    -```js
    -var ip = require('ip');
    -
    -ip.address() // my ip address
    -ip.isEqual('::1', '::0:1'); // true
    -ip.toBuffer('127.0.0.1') // Buffer([127, 0, 0, 1])
    -ip.toString(new Buffer([127, 0, 0, 1])) // 127.0.0.1
    -ip.fromPrefixLen(24) // 255.255.255.0
    -ip.mask('192.168.1.134', '255.255.255.0') // 192.168.1.0
    -ip.cidr('192.168.1.134/26') // 192.168.1.128
    -ip.not('255.255.255.0') // 0.0.0.255
    -ip.or('192.168.1.134', '0.0.0.255') // 192.168.1.255
    -ip.isPrivate('127.0.0.1') // true
    -ip.isV4Format('127.0.0.1'); // true
    -ip.isV6Format('::ffff:127.0.0.1'); // true
    -
    -// operate on buffers in-place
    -var buf = new Buffer(128);
    -var offset = 64;
    -ip.toBuffer('127.0.0.1', buf, offset);  // [127, 0, 0, 1] at offset 64
    -ip.toString(buf, offset, 4);            // '127.0.0.1'
    -
    -// subnet information
    -ip.subnet('192.168.1.134', '255.255.255.192')
    -// { networkAddress: '192.168.1.128',
    -//   firstAddress: '192.168.1.129',
    -//   lastAddress: '192.168.1.190',
    -//   broadcastAddress: '192.168.1.191',
    -//   subnetMask: '255.255.255.192',
    -//   subnetMaskLength: 26,
    -//   numHosts: 62,
    -//   length: 64,
    -//   contains: function(addr){...} }
    -ip.cidrSubnet('192.168.1.134/26')
    -// Same as previous.
    -
    -// range checking
    -ip.cidrSubnet('192.168.1.134/26').contains('192.168.1.190') // true
    -
    -
    -// ipv4 long conversion
    -ip.toLong('127.0.0.1'); // 2130706433
    -ip.fromLong(2130706433); // '127.0.0.1'
    -```
    -
    -### License
    -
    -This software is licensed under the MIT License.
    -
    -Copyright Fedor Indutny, 2012.
    -
    -Permission is hereby granted, free of charge, to any person obtaining a
    -copy of this software and associated documentation files (the
    -"Software"), to deal in the Software without restriction, including
    -without limitation the rights to use, copy, modify, merge, publish,
    -distribute, sublicense, and/or sell copies of the Software, and to permit
    -persons to whom the Software is furnished to do so, subject to the
    -following conditions:
    -
    -The above copyright notice and this permission notice shall be included
    -in all copies or substantial portions of the Software.
    -
    -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS
    -OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
    -MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN
    -NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM,
    -DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR
    -OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE
    -USE OR OTHER DEALINGS IN THE SOFTWARE.
    diff --git a/deps/npm/node_modules/is-cidr/README.md b/deps/npm/node_modules/is-cidr/README.md
    deleted file mode 100644
    index a786cd48145c8a..00000000000000
    --- a/deps/npm/node_modules/is-cidr/README.md
    +++ /dev/null
    @@ -1,47 +0,0 @@
    -# is-cidr
    -
    -[![](https://img.shields.io/npm/v/is-cidr.svg?style=flat)](https://www.npmjs.org/package/is-cidr) [![](https://img.shields.io/npm/dm/is-cidr.svg)](https://www.npmjs.org/package/is-cidr)
    -
    -> Check if a string is an IP address in CIDR notation
    -
    -## Install
    -
    -```
    -npm i is-cidr
    -```
    -
    -## Usage
    -
    -```js
    -const isCidr = require("is-cidr");
    -
    -isCidr("192.168.0.1/24"); //=> 4
    -isCidr("1:2:3:4:5:6:7:8/64"); //=> 6
    -isCidr("10.0.0.0"); //=> 0
    -isCidr.v6("10.0.0.0/24"); //=> false
    -```
    -
    -## API
    -### isCidr(input)
    -
    -Check if `input` is a IPv4 or IPv6 CIDR address. Returns either `4`, `6` (indicating the IP version) or `0` if the string is not a CIDR.
    -
    -### isCidr.v4(input)
    -
    -Check if `input` is a IPv4 CIDR address. Returns a boolean.
    -
    -### isCidr.v6(input)
    -
    -Check if `input` is a IPv6 CIDR address. Returns a boolean.
    -
    -## Related
    -
    -- [cidr-regex](https://github.com/silverwind/cidr-regex) - Regular expression for matching IP addresses in CIDR notation
    -- [is-ip](https://github.com/sindresorhus/is-ip) - Check if a string is an IP address
    -- [ip-regex](https://github.com/sindresorhus/ip-regex) - Regular expression for matching IP addresses
    -
    -## License
    -
    -© [silverwind](https://github.com/silverwind), distributed under BSD licence
    -
    -Based on previous work by [Felipe Apostol](https://github.com/flipjs)
    diff --git a/deps/npm/node_modules/is-core-module/.eslintignore b/deps/npm/node_modules/is-core-module/.eslintignore
    deleted file mode 100644
    index 404abb22121cdc..00000000000000
    --- a/deps/npm/node_modules/is-core-module/.eslintignore
    +++ /dev/null
    @@ -1 +0,0 @@
    -coverage/
    diff --git a/deps/npm/node_modules/is-core-module/.nycrc b/deps/npm/node_modules/is-core-module/.nycrc
    deleted file mode 100644
    index bdd626ce91477a..00000000000000
    --- a/deps/npm/node_modules/is-core-module/.nycrc
    +++ /dev/null
    @@ -1,9 +0,0 @@
    -{
    -	"all": true,
    -	"check-coverage": false,
    -	"reporter": ["text-summary", "text", "html", "json"],
    -	"exclude": [
    -		"coverage",
    -		"test"
    -	]
    -}
    diff --git a/deps/npm/node_modules/is-core-module/CHANGELOG.md b/deps/npm/node_modules/is-core-module/CHANGELOG.md
    deleted file mode 100644
    index f2148ddde438a8..00000000000000
    --- a/deps/npm/node_modules/is-core-module/CHANGELOG.md
    +++ /dev/null
    @@ -1,83 +0,0 @@
    -# Changelog
    -
    -All notable changes to this project will be documented in this file.
    -
    -The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/)
    -and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html).
    -
    -## [v2.4.0](https://github.com/inspect-js/is-core-module/compare/v2.3.0...v2.4.0) - 2021-05-09
    -
    -### Commits
    -
    -- [readme] add actions and codecov badges [`82b7faa`](https://github.com/inspect-js/is-core-module/commit/82b7faa12b56dbe47fbea67e1a5b9e447027ba40)
    -- [Dev Deps] update `@ljharb/eslint-config`, `aud` [`8096868`](https://github.com/inspect-js/is-core-module/commit/8096868c024a161ccd4d44110b136763e92eace8)
    -- [Dev Deps] update `eslint` [`6726824`](https://github.com/inspect-js/is-core-module/commit/67268249b88230018c510f6532a8046d7326346f)
    -- [New] add `diagnostics_channel` to node `^14.17` [`86c6563`](https://github.com/inspect-js/is-core-module/commit/86c65634201b8ff9b3e48a9a782594579c7f5c3c)
    -- [meta] fix prepublish script [`697a01e`](https://github.com/inspect-js/is-core-module/commit/697a01e3c9c0be074066520954f30fb28532ec57)
    -
    -## [v2.3.0](https://github.com/inspect-js/is-core-module/compare/v2.2.0...v2.3.0) - 2021-04-24
    -
    -### Commits
    -
    -- [meta] do not publish github action workflow files [`060d4bb`](https://github.com/inspect-js/is-core-module/commit/060d4bb971a29451c19ff336eb56bee27f9fa95a)
    -- [New] add support for `node:` prefix, in node 16+ [`7341223`](https://github.com/inspect-js/is-core-module/commit/73412230a769f6e81c05eea50b6520cebf54ed2f)
    -- [actions] use `node/install` instead of `node/run`; use `codecov` action [`016269a`](https://github.com/inspect-js/is-core-module/commit/016269abae9f6657a5254adfbb813f09a05067f9)
    -- [patch] remove unneeded `.0` in version ranges [`cb466a6`](https://github.com/inspect-js/is-core-module/commit/cb466a6d89e52b8389e5c12715efcd550c41cea3)
    -- [Dev Deps] update `eslint`, `@ljharb/eslint-config`, `aud`, `tape` [`c9f9c39`](https://github.com/inspect-js/is-core-module/commit/c9f9c396ace60ef81906f98059c064e6452473ed)
    -- [actions] update workflows [`3ee4a89`](https://github.com/inspect-js/is-core-module/commit/3ee4a89fd5a02fccd43882d905448ea6a98e9a3c)
    -- [Dev Deps] update `eslint`, `@ljharb/eslint-config` [`dee4fed`](https://github.com/inspect-js/is-core-module/commit/dee4fed79690c1d43a22f7fa9426abebdc6d727f)
    -- [Dev Deps] update `eslint`, `@ljharb/eslint-config` [`7d046ba`](https://github.com/inspect-js/is-core-module/commit/7d046ba07ae8c9292e43652694ca808d7b309de8)
    -- [meta] use `prepublishOnly` script for npm 7+ [`149e677`](https://github.com/inspect-js/is-core-module/commit/149e6771a5ede6d097e71785b467a9c4b4977cc7)
    -- [readme] remove travis badge [`903b51d`](https://github.com/inspect-js/is-core-module/commit/903b51d6b69b98abeabfbc3695c345b02646f19c)
    -
    -## [v2.2.0](https://github.com/inspect-js/is-core-module/compare/v2.1.0...v2.2.0) - 2020-11-26
    -
    -### Commits
    -
    -- [Tests] migrate tests to Github Actions [`c919f57`](https://github.com/inspect-js/is-core-module/commit/c919f573c0a92d10a0acad0b650b5aecb033d426)
    -- [patch] `core.json`: %s/    /\t/g [`db3f685`](https://github.com/inspect-js/is-core-module/commit/db3f68581f53e73cc09cd675955eb1bdd6a5a39b)
    -- [Tests] run `nyc` on all tests [`b2f925f`](https://github.com/inspect-js/is-core-module/commit/b2f925f8866f210ef441f39fcc8cc42692ab89b1)
    -- [Dev Deps] update `eslint`, `@ljharb/eslint-config`, `aud`; add `safe-publish-latest` [`89f02a2`](https://github.com/inspect-js/is-core-module/commit/89f02a2b4162246dea303a6ee31bb9a550b05c72)
    -- [New] add `path/posix`, `path/win32`, `util/types` [`77f94f1`](https://github.com/inspect-js/is-core-module/commit/77f94f1e90ffd7c0be2a3f1aa8574ebf7fd981b3)
    -
    -## [v2.1.0](https://github.com/inspect-js/is-core-module/compare/v2.0.0...v2.1.0) - 2020-11-04
    -
    -### Commits
    -
    -- [Dev Deps] update `eslint` [`5e0034e`](https://github.com/inspect-js/is-core-module/commit/5e0034eae57c09c8f1bd769f502486a00f56c6e4)
    -- [New] Add `diagnostics_channel` [`c2d83d0`](https://github.com/inspect-js/is-core-module/commit/c2d83d0a0225a1a658945d9bab7036ea347d29ec)
    -
    -## [v2.0.0](https://github.com/inspect-js/is-core-module/compare/v1.0.2...v2.0.0) - 2020-09-29
    -
    -### Commits
    -
    -- v2 implementation [`865aeb5`](https://github.com/inspect-js/is-core-module/commit/865aeb5ca0e90248a3dfff5d7622e4751fdeb9cd)
    -- Only apps should have lockfiles [`5a5e660`](https://github.com/inspect-js/is-core-module/commit/5a5e660d568e37eb44e17fb1ebb12a105205fc2b)
    -- Initial commit for v2 [`5a51524`](https://github.com/inspect-js/is-core-module/commit/5a51524e06f92adece5fbb138c69b7b9748a2348)
    -- Tests [`116eae4`](https://github.com/inspect-js/is-core-module/commit/116eae4fccd01bc72c1fd3cc4b7561c387afc496)
    -- [meta] add `auto-changelog` [`c24388b`](https://github.com/inspect-js/is-core-module/commit/c24388bee828d223040519d1f5b226ca35beee63)
    -- [actions] add "Automatic Rebase" and "require allow edits" actions [`34292db`](https://github.com/inspect-js/is-core-module/commit/34292dbcbadae0868aff03c22dbd8b7b8a11558a)
    -- [Tests] add `npm run lint` [`4f9eeee`](https://github.com/inspect-js/is-core-module/commit/4f9eeee7ddff10698bbf528620f4dc8d4fa3e697)
    -- [readme] fix travis badges, https all URLs [`e516a73`](https://github.com/inspect-js/is-core-module/commit/e516a73b0dccce20938c432b1ba512eae8eff9e9)
    -- [meta] create FUNDING.yml [`1aabebc`](https://github.com/inspect-js/is-core-module/commit/1aabebca98d01f8a04e46bc2e2520fa93cf21ac6)
    -- [Fix] `domain`: domain landed sometime > v0.7.7 and <= v0.7.12 [`2df7d37`](https://github.com/inspect-js/is-core-module/commit/2df7d37595d41b15eeada732b706b926c2771655)
    -- [Fix] `sys`: worked in 0.6, not 0.7, and 0.8+ [`a75c134`](https://github.com/inspect-js/is-core-module/commit/a75c134229e1e9441801f6b73f6a52489346eb65)
    -
    -## [v1.0.2](https://github.com/inspect-js/is-core-module/compare/v1.0.1...v1.0.2) - 2014-09-28
    -
    -### Commits
    -
    -- simpler [`66fe90f`](https://github.com/inspect-js/is-core-module/commit/66fe90f9771581b9adc0c3900baa52c21b5baea2)
    -
    -## [v1.0.1](https://github.com/inspect-js/is-core-module/compare/v1.0.0...v1.0.1) - 2014-09-28
    -
    -### Commits
    -
    -- remove stupid [`f21f906`](https://github.com/inspect-js/is-core-module/commit/f21f906f882c2bd656a5fc5ed6fbe48ddaffb2ac)
    -- update readme [`1eff0ec`](https://github.com/inspect-js/is-core-module/commit/1eff0ec69798d1ec65771552d1562911e90a8027)
    -
    -## v1.0.0 - 2014-09-28
    -
    -### Commits
    -
    -- init [`48e5e76`](https://github.com/inspect-js/is-core-module/commit/48e5e76cac378fddb8c1f7d4055b8dfc943d6b96)
    diff --git a/deps/npm/node_modules/is-core-module/README.md b/deps/npm/node_modules/is-core-module/README.md
    deleted file mode 100644
    index 062d9068eb57e8..00000000000000
    --- a/deps/npm/node_modules/is-core-module/README.md
    +++ /dev/null
    @@ -1,40 +0,0 @@
    -# is-core-module [![Version Badge][2]][1]
    -
    -[![github actions][actions-image]][actions-url]
    -[![coverage][codecov-image]][codecov-url]
    -[![dependency status][5]][6]
    -[![dev dependency status][7]][8]
    -[![License][license-image]][license-url]
    -[![Downloads][downloads-image]][downloads-url]
    -
    -[![npm badge][11]][1]
    -
    -Is this specifier a node.js core module? Optionally provide a node version to check; defaults to the current node version.
    -
    -## Example
    -
    -```js
    -var isCore = require('is-core-module');
    -var assert = require('assert');
    -assert(isCore('fs'));
    -assert(!isCore('butts'));
    -```
    -
    -## Tests
    -Clone the repo, `npm install`, and run `npm test`
    -
    -[1]: https://npmjs.org/package/is-core-module
    -[2]: https://versionbadg.es/inspect-js/is-core-module.svg
    -[5]: https://david-dm.org/inspect-js/is-core-module.svg
    -[6]: https://david-dm.org/inspect-js/is-core-module
    -[7]: https://david-dm.org/inspect-js/is-core-module/dev-status.svg
    -[8]: https://david-dm.org/inspect-js/is-core-module#info=devDependencies
    -[11]: https://nodei.co/npm/is-core-module.png?downloads=true&stars=true
    -[license-image]: https://img.shields.io/npm/l/is-core-module.svg
    -[license-url]: LICENSE
    -[downloads-image]: https://img.shields.io/npm/dm/is-core-module.svg
    -[downloads-url]: https://npm-stat.com/charts.html?package=is-core-module
    -[codecov-image]: https://codecov.io/gh/inspect-js/is-core-module/branch/main/graphs/badge.svg
    -[codecov-url]: https://app.codecov.io/gh/inspect-js/is-core-module/
    -[actions-image]: https://img.shields.io/endpoint?url=https://github-actions-badge-u3jn4tfpocch.runkit.sh/inspect-js/is-core-module
    -[actions-url]: https://github.com/inspect-js/is-core-module/actions
    diff --git a/deps/npm/node_modules/is-lambda/.npmignore b/deps/npm/node_modules/is-lambda/.npmignore
    deleted file mode 100644
    index 3c3629e647f5dd..00000000000000
    --- a/deps/npm/node_modules/is-lambda/.npmignore
    +++ /dev/null
    @@ -1 +0,0 @@
    -node_modules
    diff --git a/deps/npm/node_modules/is-lambda/.travis.yml b/deps/npm/node_modules/is-lambda/.travis.yml
    deleted file mode 100644
    index 03dcca57bcc806..00000000000000
    --- a/deps/npm/node_modules/is-lambda/.travis.yml
    +++ /dev/null
    @@ -1,8 +0,0 @@
    -language: node_js
    -node_js:
    -- '7'
    -- '6'
    -- '5'
    -- '4'
    -- '0.12'
    -- '0.10'
    diff --git a/deps/npm/node_modules/is-lambda/README.md b/deps/npm/node_modules/is-lambda/README.md
    deleted file mode 100644
    index 31a8f566ca0022..00000000000000
    --- a/deps/npm/node_modules/is-lambda/README.md
    +++ /dev/null
    @@ -1,27 +0,0 @@
    -# is-lambda
    -
    -Returns `true` if the current environment is an [AWS
    -Lambda](https://aws.amazon.com/lambda/) server.
    -
    -[![Build status](https://travis-ci.org/watson/is-lambda.svg?branch=master)](https://travis-ci.org/watson/is-lambda)
    -[![js-standard-style](https://img.shields.io/badge/code%20style-standard-brightgreen.svg?style=flat)](https://github.com/feross/standard)
    -
    -## Installation
    -
    -```
    -npm install is-lambda
    -```
    -
    -## Usage
    -
    -```js
    -var isLambda = require('is-lambda')
    -
    -if (isLambda) {
    -  console.log('The code is running on a AWS Lambda')
    -}
    -```
    -
    -## License
    -
    -MIT
    diff --git a/deps/npm/node_modules/is-typedarray/README.md b/deps/npm/node_modules/is-typedarray/README.md
    deleted file mode 100644
    index 27528639193584..00000000000000
    --- a/deps/npm/node_modules/is-typedarray/README.md
    +++ /dev/null
    @@ -1,16 +0,0 @@
    -# is-typedarray [![locked](http://badges.github.io/stability-badges/dist/locked.svg)](http://github.com/badges/stability-badges)
    -
    -Detect whether or not an object is a
    -[Typed Array](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Typed_arrays).
    -
    -## Usage
    -
    -[![NPM](https://nodei.co/npm/is-typedarray.png)](https://nodei.co/npm/is-typedarray/)
    -
    -### isTypedArray(array)
    -
    -Returns `true` when array is a Typed Array, and `false` when it is not.
    -
    -## License
    -
    -MIT. See [LICENSE.md](http://github.com/hughsk/is-typedarray/blob/master/LICENSE.md) for details.
    diff --git a/deps/npm/node_modules/isarray/.npmignore b/deps/npm/node_modules/isarray/.npmignore
    deleted file mode 100644
    index 3c3629e647f5dd..00000000000000
    --- a/deps/npm/node_modules/isarray/.npmignore
    +++ /dev/null
    @@ -1 +0,0 @@
    -node_modules
    diff --git a/deps/npm/node_modules/isarray/.travis.yml b/deps/npm/node_modules/isarray/.travis.yml
    deleted file mode 100644
    index cc4dba29d959a2..00000000000000
    --- a/deps/npm/node_modules/isarray/.travis.yml
    +++ /dev/null
    @@ -1,4 +0,0 @@
    -language: node_js
    -node_js:
    -  - "0.8"
    -  - "0.10"
    diff --git a/deps/npm/node_modules/isarray/README.md b/deps/npm/node_modules/isarray/README.md
    deleted file mode 100644
    index 16d2c59c6195f9..00000000000000
    --- a/deps/npm/node_modules/isarray/README.md
    +++ /dev/null
    @@ -1,60 +0,0 @@
    -
    -# isarray
    -
    -`Array#isArray` for older browsers.
    -
    -[![build status](https://secure.travis-ci.org/juliangruber/isarray.svg)](http://travis-ci.org/juliangruber/isarray)
    -[![downloads](https://img.shields.io/npm/dm/isarray.svg)](https://www.npmjs.org/package/isarray)
    -
    -[![browser support](https://ci.testling.com/juliangruber/isarray.png)
    -](https://ci.testling.com/juliangruber/isarray)
    -
    -## Usage
    -
    -```js
    -var isArray = require('isarray');
    -
    -console.log(isArray([])); // => true
    -console.log(isArray({})); // => false
    -```
    -
    -## Installation
    -
    -With [npm](http://npmjs.org) do
    -
    -```bash
    -$ npm install isarray
    -```
    -
    -Then bundle for the browser with
    -[browserify](https://github.com/substack/browserify).
    -
    -With [component](http://component.io) do
    -
    -```bash
    -$ component install juliangruber/isarray
    -```
    -
    -## License
    -
    -(MIT)
    -
    -Copyright (c) 2013 Julian Gruber <julian@juliangruber.com>
    -
    -Permission is hereby granted, free of charge, to any person obtaining a copy of
    -this software and associated documentation files (the "Software"), to deal in
    -the Software without restriction, including without limitation the rights to
    -use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies
    -of the Software, and to permit persons to whom the Software is furnished to do
    -so, subject to the following conditions:
    -
    -The above copyright notice and this permission notice shall be included in all
    -copies or substantial portions of the Software.
    -
    -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
    -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
    -FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
    -AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
    -LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
    -OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
    -SOFTWARE.
    diff --git a/deps/npm/node_modules/isexe/.npmignore b/deps/npm/node_modules/isexe/.npmignore
    deleted file mode 100644
    index c1cb757acf58a4..00000000000000
    --- a/deps/npm/node_modules/isexe/.npmignore
    +++ /dev/null
    @@ -1,2 +0,0 @@
    -.nyc_output/
    -coverage/
    diff --git a/deps/npm/node_modules/isexe/README.md b/deps/npm/node_modules/isexe/README.md
    deleted file mode 100644
    index 35769e84408ce9..00000000000000
    --- a/deps/npm/node_modules/isexe/README.md
    +++ /dev/null
    @@ -1,51 +0,0 @@
    -# isexe
    -
    -Minimal module to check if a file is executable, and a normal file.
    -
    -Uses `fs.stat` and tests against the `PATHEXT` environment variable on
    -Windows.
    -
    -## USAGE
    -
    -```javascript
    -var isexe = require('isexe')
    -isexe('some-file-name', function (err, isExe) {
    -  if (err) {
    -    console.error('probably file does not exist or something', err)
    -  } else if (isExe) {
    -    console.error('this thing can be run')
    -  } else {
    -    console.error('cannot be run')
    -  }
    -})
    -
    -// same thing but synchronous, throws errors
    -var isExe = isexe.sync('some-file-name')
    -
    -// treat errors as just "not executable"
    -isexe('maybe-missing-file', { ignoreErrors: true }, callback)
    -var isExe = isexe.sync('maybe-missing-file', { ignoreErrors: true })
    -```
    -
    -## API
    -
    -### `isexe(path, [options], [callback])`
    -
    -Check if the path is executable.  If no callback provided, and a
    -global `Promise` object is available, then a Promise will be returned.
    -
    -Will raise whatever errors may be raised by `fs.stat`, unless
    -`options.ignoreErrors` is set to true.
    -
    -### `isexe.sync(path, [options])`
    -
    -Same as `isexe` but returns the value and throws any errors raised.
    -
    -### Options
    -
    -* `ignoreErrors` Treat all errors as "no, this is not executable", but
    -  don't raise them.
    -* `uid` Number to use as the user id
    -* `gid` Number to use as the group id
    -* `pathExt` List of path extensions to use instead of `PATHEXT`
    -  environment variable on Windows.
    diff --git a/deps/npm/node_modules/isstream/.npmignore b/deps/npm/node_modules/isstream/.npmignore
    deleted file mode 100644
    index aa1ec1ea061812..00000000000000
    --- a/deps/npm/node_modules/isstream/.npmignore
    +++ /dev/null
    @@ -1 +0,0 @@
    -*.tgz
    diff --git a/deps/npm/node_modules/isstream/.travis.yml b/deps/npm/node_modules/isstream/.travis.yml
    deleted file mode 100644
    index 1fec2ab9afd64d..00000000000000
    --- a/deps/npm/node_modules/isstream/.travis.yml
    +++ /dev/null
    @@ -1,12 +0,0 @@
    -language: node_js
    -node_js:
    -  - "0.8"
    -  - "0.10"
    -  - "0.11"
    -branches:
    -  only:
    -    - master
    -notifications:
    -  email:
    -    - rod@vagg.org
    -script: npm test
    diff --git a/deps/npm/node_modules/isstream/README.md b/deps/npm/node_modules/isstream/README.md
    deleted file mode 100644
    index 06770e82f2f27d..00000000000000
    --- a/deps/npm/node_modules/isstream/README.md
    +++ /dev/null
    @@ -1,66 +0,0 @@
    -# isStream
    -
    -[![Build Status](https://secure.travis-ci.org/rvagg/isstream.png)](http://travis-ci.org/rvagg/isstream)
    -
    -**Test if an object is a `Stream`**
    -
    -[![NPM](https://nodei.co/npm/isstream.svg)](https://nodei.co/npm/isstream/)
    -
    -The missing `Stream.isStream(obj)`: determine if an object is standard Node.js `Stream`. Works for Node-core `Stream` objects (for 0.8, 0.10, 0.11, and in theory, older and newer versions) and all versions of **[readable-stream](https://github.com/isaacs/readable-stream)**.
    -
    -## Usage:
    -
    -```js
    -var isStream = require('isstream')
    -var Stream = require('stream')
    -
    -isStream(new Stream()) // true
    -
    -isStream({}) // false
    -
    -isStream(new Stream.Readable())    // true
    -isStream(new Stream.Writable())    // true
    -isStream(new Stream.Duplex())      // true
    -isStream(new Stream.Transform())   // true
    -isStream(new Stream.PassThrough()) // true
    -```
    -
    -## But wait! There's more!
    -
    -You can also test for `isReadable(obj)`, `isWritable(obj)` and `isDuplex(obj)` to test for implementations of Streams2 (and Streams3) base classes.
    -
    -```js
    -var isReadable = require('isstream').isReadable
    -var isWritable = require('isstream').isWritable
    -var isDuplex = require('isstream').isDuplex
    -var Stream = require('stream')
    -
    -isReadable(new Stream()) // false
    -isWritable(new Stream()) // false
    -isDuplex(new Stream())   // false
    -
    -isReadable(new Stream.Readable())    // true
    -isReadable(new Stream.Writable())    // false
    -isReadable(new Stream.Duplex())      // true
    -isReadable(new Stream.Transform())   // true
    -isReadable(new Stream.PassThrough()) // true
    -
    -isWritable(new Stream.Readable())    // false
    -isWritable(new Stream.Writable())    // true
    -isWritable(new Stream.Duplex())      // true
    -isWritable(new Stream.Transform())   // true
    -isWritable(new Stream.PassThrough()) // true
    -
    -isDuplex(new Stream.Readable())    // false
    -isDuplex(new Stream.Writable())    // false
    -isDuplex(new Stream.Duplex())      // true
    -isDuplex(new Stream.Transform())   // true
    -isDuplex(new Stream.PassThrough()) // true
    -```
    -
    -*Reminder: when implementing your own streams, please [use **readable-stream** rather than core streams](http://r.va.gg/2014/06/why-i-dont-use-nodes-core-stream-module.html).*
    -
    -
    -## License
    -
    -**isStream** is Copyright (c) 2015 Rod Vagg [@rvagg](https://twitter.com/rvagg) and licenced under the MIT licence. All rights not explicitly granted in the MIT license are reserved. See the included LICENSE.md file for more details.
    diff --git a/deps/npm/node_modules/jsbn/.npmignore b/deps/npm/node_modules/jsbn/.npmignore
    deleted file mode 100644
    index 28f1ba7565f46f..00000000000000
    --- a/deps/npm/node_modules/jsbn/.npmignore
    +++ /dev/null
    @@ -1,2 +0,0 @@
    -node_modules
    -.DS_Store
    \ No newline at end of file
    diff --git a/deps/npm/node_modules/jsbn/README.md b/deps/npm/node_modules/jsbn/README.md
    deleted file mode 100644
    index 7aac67f53ff0ef..00000000000000
    --- a/deps/npm/node_modules/jsbn/README.md
    +++ /dev/null
    @@ -1,175 +0,0 @@
    -# jsbn: javascript big number
    -
    -[Tom Wu's Original Website](http://www-cs-students.stanford.edu/~tjw/jsbn/)
    -
    -I felt compelled to put this on github and publish to npm. I haven't tested every other big integer library out there, but the few that I have tested in comparison to this one have not even come close in performance. I am aware of the `bi` module on npm, however it has been modified and I wanted to publish the original without modifications. This is jsbn and jsbn2 from Tom Wu's original website above, with the modular pattern applied to prevent global leaks and to allow for use with node.js on the server side.
    -
    -## usage
    -
    -    var BigInteger = require('jsbn');
    -    
    -    var a = new BigInteger('91823918239182398123');
    -    alert(a.bitLength()); // 67
    -
    -
    -## API
    -
    -### bi.toString()
    -
    -returns the base-10 number as a string
    -
    -### bi.negate()
    -
    -returns a new BigInteger equal to the negation of `bi`
    -
    -### bi.abs
    -
    -returns new BI of absolute value
    -
    -### bi.compareTo
    -
    -
    -
    -### bi.bitLength
    -
    -
    -
    -### bi.mod
    -
    -
    -
    -### bi.modPowInt
    -
    -
    -
    -### bi.clone
    -
    -
    -
    -### bi.intValue
    -
    -
    -
    -### bi.byteValue
    -
    -
    -
    -### bi.shortValue
    -
    -
    -
    -### bi.signum
    -
    -
    -
    -### bi.toByteArray
    -
    -
    -
    -### bi.equals
    -
    -
    -
    -### bi.min
    -
    -
    -
    -### bi.max
    -
    -
    -
    -### bi.and
    -
    -
    -
    -### bi.or
    -
    -
    -
    -### bi.xor
    -
    -
    -
    -### bi.andNot
    -
    -
    -
    -### bi.not
    -
    -
    -
    -### bi.shiftLeft
    -
    -
    -
    -### bi.shiftRight
    -
    -
    -
    -### bi.getLowestSetBit
    -
    -
    -
    -### bi.bitCount
    -
    -
    -
    -### bi.testBit
    -
    -
    -
    -### bi.setBit
    -
    -
    -
    -### bi.clearBit
    -
    -
    -
    -### bi.flipBit
    -
    -
    -
    -### bi.add
    -
    -
    -
    -### bi.subtract
    -
    -
    -
    -### bi.multiply
    -
    -
    -
    -### bi.divide
    -
    -
    -
    -### bi.remainder
    -
    -
    -
    -### bi.divideAndRemainder
    -
    -
    -
    -### bi.modPow
    -
    -
    -
    -### bi.modInverse
    -
    -
    -
    -### bi.pow
    -
    -
    -
    -### bi.gcd
    -
    -
    -
    -### bi.isProbablePrime
    -
    -
    diff --git a/deps/npm/node_modules/json-parse-even-better-errors/CHANGELOG.md b/deps/npm/node_modules/json-parse-even-better-errors/CHANGELOG.md
    deleted file mode 100644
    index dfd67330a6aba1..00000000000000
    --- a/deps/npm/node_modules/json-parse-even-better-errors/CHANGELOG.md
    +++ /dev/null
    @@ -1,50 +0,0 @@
    -# Change Log
    -
    -All notable changes to this project will be documented in this file. See [standard-version](https://github.com/conventional-changelog/standard-version) for commit guidelines.
    -
    -## 2.0.0
    -
    -* Add custom error classes
    -
    -
    -## [1.0.2](https://github.com/npm/json-parse-even-better-errors/compare/v1.0.1...v1.0.2) (2018-03-30)
    -
    -
    -### Bug Fixes
    -
    -* **messages:** More friendly messages for non-string ([#1](https://github.com/npm/json-parse-even-better-errors/issues/1)) ([a476d42](https://github.com/npm/json-parse-even-better-errors/commit/a476d42))
    -
    -
    -
    -
    -## [1.0.1](https://github.com/npm/json-parse-even-better-errors/compare/v1.0.0...v1.0.1) (2017-08-16)
    -
    -
    -### Bug Fixes
    -
    -* **license:** oops. Forgot to update license.md ([efe2958](https://github.com/npm/json-parse-even-better-errors/commit/efe2958))
    -
    -
    -
    -
    -# 1.0.0 (2017-08-15)
    -
    -
    -### Features
    -
    -* **init:** Initial Commit ([562c977](https://github.com/npm/json-parse-even-better-errors/commit/562c977))
    -
    -
    -### BREAKING CHANGES
    -
    -* **init:** This is the first commit!
    -
    -
    -
    -
    -# 0.1.0 (2017-08-15)
    -
    -
    -### Features
    -
    -* **init:** Initial Commit ([9dd1a19](https://github.com/npm/json-parse-even-better-errors/commit/9dd1a19))
    diff --git a/deps/npm/node_modules/json-parse-even-better-errors/README.md b/deps/npm/node_modules/json-parse-even-better-errors/README.md
    deleted file mode 100644
    index 2799efe69ec844..00000000000000
    --- a/deps/npm/node_modules/json-parse-even-better-errors/README.md
    +++ /dev/null
    @@ -1,96 +0,0 @@
    -# json-parse-even-better-errors
    -
    -[`json-parse-even-better-errors`](https://github.com/npm/json-parse-even-better-errors)
    -is a Node.js library for getting nicer errors out of `JSON.parse()`,
    -including context and position of the parse errors.
    -
    -It also preserves the newline and indentation styles of the JSON data, by
    -putting them in the object or array in the `Symbol.for('indent')` and
    -`Symbol.for('newline')` properties.
    -
    -## Install
    -
    -`$ npm install --save json-parse-even-better-errors`
    -
    -## Table of Contents
    -
    -* [Example](#example)
    -* [Features](#features)
    -* [Contributing](#contributing)
    -* [API](#api)
    -  * [`parse`](#parse)
    -
    -### Example
    -
    -```javascript
    -const parseJson = require('json-parse-even-better-errors')
    -
    -parseJson('"foo"') // returns the string 'foo'
    -parseJson('garbage') // more useful error message
    -parseJson.noExceptions('garbage') // returns undefined
    -```
    -
    -### Features
    -
    -* Like JSON.parse, but the errors are better.
    -* Strips a leading byte-order-mark that you sometimes get reading files.
    -* Has a `noExceptions` method that returns undefined rather than throwing.
    -* Attaches the newline character(s) used to the `Symbol.for('newline')`
    -  property on objects and arrays.
    -* Attaches the indentation character(s) used to the `Symbol.for('indent')`
    -  property on objects and arrays.
    -
    -## Indentation
    -
    -To preserve indentation when the file is saved back to disk, use
    -`data[Symbol.for('indent')]` as the third argument to `JSON.stringify`, and
    -if you want to preserve windows `\r\n` newlines, replace the `\n` chars in
    -the string with `data[Symbol.for('newline')]`.
    -
    -For example:
    -
    -```js
    -const txt = await readFile('./package.json', 'utf8')
    -const data = parseJsonEvenBetterErrors(txt)
    -const indent = Symbol.for('indent')
    -const newline = Symbol.for('newline')
    -// .. do some stuff to the data ..
    -const string = JSON.stringify(data, null, data[indent]) + '\n'
    -const eolFixed = data[newline] === '\n' ? string
    -  : string.replace(/\n/g, data[newline])
    -await writeFile('./package.json', eolFixed)
    -```
    -
    -Indentation is determined by looking at the whitespace between the initial
    -`{` and `[` and the character that follows it.  If you have lots of weird
    -inconsistent indentation, then it won't track that or give you any way to
    -preserve it.  Whether this is a bug or a feature is debatable ;)
    -
    -### API
    -
    -####  `parse(txt, reviver = null, context = 20)`
    -
    -Works just like `JSON.parse`, but will include a bit more information when
    -an error happens, and attaches a `Symbol.for('indent')` and
    -`Symbol.for('newline')` on objects and arrays.  This throws a
    -`JSONParseError`.
    -
    -####  `parse.noExceptions(txt, reviver = null)`
    -
    -Works just like `JSON.parse`, but will return `undefined` rather than
    -throwing an error.
    -
    -####  `class JSONParseError(er, text, context = 20, caller = null)`
    -
    -Extends the JavaScript `SyntaxError` class to parse the message and provide
    -better metadata.
    -
    -Pass in the error thrown by the built-in `JSON.parse`, and the text being
    -parsed, and it'll parse out the bits needed to be helpful.
    -
    -`context` defaults to 20.
    -
    -Set a `caller` function to trim internal implementation details out of the
    -stack trace.  When calling `parseJson`, this is set to the `parseJson`
    -function.  If not set, then the constructor defaults to itself, so the
    -stack trace will point to the spot where you call `new JSONParseError`.
    diff --git a/deps/npm/node_modules/json-schema-traverse/.eslintrc.yml b/deps/npm/node_modules/json-schema-traverse/.eslintrc.yml
    deleted file mode 100644
    index ab1762da9c119e..00000000000000
    --- a/deps/npm/node_modules/json-schema-traverse/.eslintrc.yml
    +++ /dev/null
    @@ -1,27 +0,0 @@
    -extends: eslint:recommended
    -env:
    -  node: true
    -  browser: true
    -rules:
    -  block-scoped-var: 2
    -  complexity: [2, 13]
    -  curly: [2, multi-or-nest, consistent]
    -  dot-location: [2, property]
    -  dot-notation: 2
    -  indent: [2, 2, SwitchCase: 1]
    -  linebreak-style: [2, unix]
    -  new-cap: 2
    -  no-console: [2, allow: [warn, error]]
    -  no-else-return: 2
    -  no-eq-null: 2
    -  no-fallthrough: 2
    -  no-invalid-this: 2
    -  no-return-assign: 2
    -  no-shadow: 1
    -  no-trailing-spaces: 2
    -  no-use-before-define: [2, nofunc]
    -  quotes: [2, single, avoid-escape]
    -  semi: [2, always]
    -  strict: [2, global]
    -  valid-jsdoc: [2, requireReturn: false]
    -  no-control-regex: 0
    diff --git a/deps/npm/node_modules/json-schema-traverse/.travis.yml b/deps/npm/node_modules/json-schema-traverse/.travis.yml
    deleted file mode 100644
    index 7ddce74b841994..00000000000000
    --- a/deps/npm/node_modules/json-schema-traverse/.travis.yml
    +++ /dev/null
    @@ -1,8 +0,0 @@
    -language: node_js
    -node_js:
    -  - "4"
    -  - "6"
    -  - "7"
    -  - "8"
    -after_script:
    -  - coveralls < coverage/lcov.info
    diff --git a/deps/npm/node_modules/json-schema-traverse/README.md b/deps/npm/node_modules/json-schema-traverse/README.md
    deleted file mode 100644
    index d5ccaf450a2a2b..00000000000000
    --- a/deps/npm/node_modules/json-schema-traverse/README.md
    +++ /dev/null
    @@ -1,83 +0,0 @@
    -# json-schema-traverse
    -Traverse JSON Schema passing each schema object to callback
    -
    -[![Build Status](https://travis-ci.org/epoberezkin/json-schema-traverse.svg?branch=master)](https://travis-ci.org/epoberezkin/json-schema-traverse)
    -[![npm version](https://badge.fury.io/js/json-schema-traverse.svg)](https://www.npmjs.com/package/json-schema-traverse)
    -[![Coverage Status](https://coveralls.io/repos/github/epoberezkin/json-schema-traverse/badge.svg?branch=master)](https://coveralls.io/github/epoberezkin/json-schema-traverse?branch=master)
    -
    -
    -## Install
    -
    -```
    -npm install json-schema-traverse
    -```
    -
    -
    -## Usage
    -
    -```javascript
    -const traverse = require('json-schema-traverse');
    -const schema = {
    -  properties: {
    -    foo: {type: 'string'},
    -    bar: {type: 'integer'}
    -  }
    -};
    -
    -traverse(schema, {cb});
    -// cb is called 3 times with:
    -// 1. root schema
    -// 2. {type: 'string'}
    -// 3. {type: 'integer'}
    -
    -// Or:
    -
    -traverse(schema, {cb: {pre, post}});
    -// pre is called 3 times with:
    -// 1. root schema
    -// 2. {type: 'string'}
    -// 3. {type: 'integer'}
    -//
    -// post is called 3 times with:
    -// 1. {type: 'string'}
    -// 2. {type: 'integer'}
    -// 3. root schema
    -
    -```
    -
    -Callback function `cb` is called for each schema object (not including draft-06 boolean schemas), including the root schema, in pre-order traversal. Schema references ($ref) are not resolved, they are passed as is.  Alternatively, you can pass a `{pre, post}` object as `cb`, and then `pre` will be called before traversing child elements, and `post` will be called after all child elements have been traversed.
    -
    -Callback is passed these parameters:
    -
    -- _schema_: the current schema object
    -- _JSON pointer_: from the root schema to the current schema object
    -- _root schema_: the schema passed to `traverse` object
    -- _parent JSON pointer_: from the root schema to the parent schema object (see below)
    -- _parent keyword_: the keyword inside which this schema appears (e.g. `properties`, `anyOf`, etc.)
    -- _parent schema_: not necessarily parent object/array; in the example above the parent schema for `{type: 'string'}` is the root schema
    -- _index/property_: index or property name in the array/object containing multiple schemas; in the example above for `{type: 'string'}` the property name is `'foo'`
    -
    -
    -## Traverse objects in all unknown keywords
    -
    -```javascript
    -const traverse = require('json-schema-traverse');
    -const schema = {
    -  mySchema: {
    -    minimum: 1,
    -    maximum: 2
    -  }
    -};
    -
    -traverse(schema, {allKeys: true, cb});
    -// cb is called 2 times with:
    -// 1. root schema
    -// 2. mySchema
    -```
    -
    -Without option `allKeys: true` callback will be called only with root schema.
    -
    -
    -## License
    -
    -[MIT](https://github.com/epoberezkin/json-schema-traverse/blob/master/LICENSE)
    diff --git a/deps/npm/node_modules/json-schema-traverse/spec/.eslintrc.yml b/deps/npm/node_modules/json-schema-traverse/spec/.eslintrc.yml
    deleted file mode 100644
    index 3344da7eb323ba..00000000000000
    --- a/deps/npm/node_modules/json-schema-traverse/spec/.eslintrc.yml
    +++ /dev/null
    @@ -1,6 +0,0 @@
    -parserOptions:
    -  ecmaVersion: 6
    -globals:
    -  beforeEach: false
    -  describe: false
    -  it: false
    diff --git a/deps/npm/node_modules/json-schema/README.md b/deps/npm/node_modules/json-schema/README.md
    deleted file mode 100644
    index ccc591b68fc58c..00000000000000
    --- a/deps/npm/node_modules/json-schema/README.md
    +++ /dev/null
    @@ -1,5 +0,0 @@
    -JSON Schema is a repository for the JSON Schema specification, reference schemas and a CommonJS implementation of JSON Schema (not the only JavaScript implementation of JSON Schema, JSV is another excellent JavaScript validator).
    -
    -Code is licensed under the AFL or BSD license as part of the Persevere 
    -project which is administered under the Dojo foundation,
    -and all contributions require a Dojo CLA.
    \ No newline at end of file
    diff --git a/deps/npm/node_modules/json-stringify-nice/README.md b/deps/npm/node_modules/json-stringify-nice/README.md
    deleted file mode 100644
    index 66cb1a7c53b8ca..00000000000000
    --- a/deps/npm/node_modules/json-stringify-nice/README.md
    +++ /dev/null
    @@ -1,105 +0,0 @@
    -# json-stringify-nice
    -
    -Stringify an object sorting scalars before objects, and defaulting to
    -2-space indent.
    -
    -Sometimes you want to stringify an object in a consistent way, and for
    -human legibility reasons, you may want to put any non-object properties
    -ahead of any object properties, so that it's easier to track the nesting
    -level as you read through the object, but you don't want to have to be
    -meticulous about maintaining object property order as you're building up
    -the object, since it doesn't matter in code, it only matters in the output
    -file.  Also, it'd be nice to have it default to reasonable spacing without
    -having to remember to add `, null, 2)` to all your `JSON.stringify()`
    -calls.
    -
    -If that is what you want, then this module is for you, because it does
    -all of that.
    -
    -## USAGE
    -
    -```js
    -const stringify = require('json-stringify-nice')
    -const obj = {
    -  z: 1,
    -  y: 'z',
    -  obj: { a: {}, b: 'x' },
    -  a: { b: 1, a: { nested: true} },
    -  yy: 'a',
    -}
    -
    -console.log(stringify(obj))
    -/* output:
    -{
    -  "y": "z", <-- alphabetical sorting like whoa!
    -  "yy": "a",
    -  "z": 1,
    -  "a": { <-- a sorted before obj, because alphabetical, and both objects
    -    "b": 1,
    -    "a": {  <-- note that a comes after b, because it's an object
    -      "nested": true
    -    }
    -  },
    -  "obj": {
    -    "b": "x",
    -    "a": {}
    -  }
    -}
    -*/
    -
    -// specify an array of keys if you have some that you prefer
    -// to be sorted in a specific order.  preferred keys come before
    -// any other keys, and in the order specified, but objects are
    -// still sorted AFTER scalars, so the preferences only apply
    -// when both values are objects or both are non-objects.
    -console.log(stringify(obj, ['z', 'yy', 'obj']))
    -/* output
    -{
    -  "z": 1, <-- z comes before other scalars
    -  "yy": "a", <-- yy comes after z, but before other scalars
    -  "y": "z", <-- then all the other scalar values
    -  "obj": { <-- obj comes before other objects, but after scalars
    -    "b": "x",
    -    "a": {}
    -  },
    -  "a": {
    -    "b": 1,
    -    "a": {
    -      "nested": true
    -    }
    -  }
    -}
    -*/
    -
    -// can also specify a replacer or indent value like with JSON.stringify
    -// this turns all values with an 'a' key into a doggo meme from 2011
    -const replacer = (key, val) =>
    -  key === 'a' ? { hello: '📞 yes', 'this is': '🐕', ...val } : val
    -
    -console.log(stringify(obj, replacer, '📞🐶'))
    -
    -/* output:
    -{
    -📞🐶"y": "z",
    -📞🐶"yy": "a",
    -📞🐶"z": 1,
    -📞🐶"a": {
    -📞🐶📞🐶"b": 1,
    -📞🐶📞🐶"hello": "📞 yes",
    -📞🐶📞🐶"this is": "🐕",
    -📞🐶📞🐶"a": {
    -📞🐶📞🐶📞🐶"hello": "📞 yes",
    -📞🐶📞🐶📞🐶"nested": true,
    -📞🐶📞🐶📞🐶"this is": "🐕"
    -📞🐶📞🐶}
    -📞🐶},
    -📞🐶"obj": {
    -📞🐶📞🐶"b": "x",
    -📞🐶📞🐶"a": {
    -📞🐶📞🐶📞🐶"hello": "📞 yes",
    -📞🐶📞🐶📞🐶"this is": "🐕"
    -📞🐶📞🐶}
    -📞🐶}
    -}
    -*/
    -```
    diff --git a/deps/npm/node_modules/json-stringify-safe/.npmignore b/deps/npm/node_modules/json-stringify-safe/.npmignore
    deleted file mode 100644
    index 17d6b3677f037e..00000000000000
    --- a/deps/npm/node_modules/json-stringify-safe/.npmignore
    +++ /dev/null
    @@ -1 +0,0 @@
    -/*.tgz
    diff --git a/deps/npm/node_modules/json-stringify-safe/CHANGELOG.md b/deps/npm/node_modules/json-stringify-safe/CHANGELOG.md
    deleted file mode 100644
    index 42bcb60af47a50..00000000000000
    --- a/deps/npm/node_modules/json-stringify-safe/CHANGELOG.md
    +++ /dev/null
    @@ -1,14 +0,0 @@
    -## Unreleased
    -- Fixes stringify to only take ancestors into account when checking
    -  circularity.  
    -  It previously assumed every visited object was circular which led to [false
    -  positives][issue9].  
    -  Uses the tiny serializer I wrote for [Must.js][must] a year and a half ago.
    -- Fixes calling the `replacer` function in the proper context (`thisArg`).
    -- Fixes calling the `cycleReplacer` function in the proper context (`thisArg`).
    -- Speeds serializing by a factor of
    -  Big-O(h-my-god-it-linearly-searched-every-object) it had ever seen. Searching
    -  only the ancestors for a circular references speeds up things considerably.
    -
    -[must]: https://github.com/moll/js-must
    -[issue9]: https://github.com/isaacs/json-stringify-safe/issues/9
    diff --git a/deps/npm/node_modules/json-stringify-safe/README.md b/deps/npm/node_modules/json-stringify-safe/README.md
    deleted file mode 100644
    index a11f302a33070c..00000000000000
    --- a/deps/npm/node_modules/json-stringify-safe/README.md
    +++ /dev/null
    @@ -1,52 +0,0 @@
    -# json-stringify-safe
    -
    -Like JSON.stringify, but doesn't throw on circular references.
    -
    -## Usage
    -
    -Takes the same arguments as `JSON.stringify`.
    -
    -```javascript
    -var stringify = require('json-stringify-safe');
    -var circularObj = {};
    -circularObj.circularRef = circularObj;
    -circularObj.list = [ circularObj, circularObj ];
    -console.log(stringify(circularObj, null, 2));
    -```
    -
    -Output:
    -
    -```json
    -{
    -  "circularRef": "[Circular]",
    -  "list": [
    -    "[Circular]",
    -    "[Circular]"
    -  ]
    -}
    -```
    -
    -## Details
    -
    -```
    -stringify(obj, serializer, indent, decycler)
    -```
    -
    -The first three arguments are the same as to JSON.stringify.  The last
    -is an argument that's only used when the object has been seen already.
    -
    -The default `decycler` function returns the string `'[Circular]'`.
    -If, for example, you pass in `function(k,v){}` (return nothing) then it
    -will prune cycles.  If you pass in `function(k,v){ return {foo: 'bar'}}`,
    -then cyclical objects will always be represented as `{"foo":"bar"}` in
    -the result.
    -
    -```
    -stringify.getSerialize(serializer, decycler)
    -```
    -
    -Returns a serializer that can be used elsewhere.  This is the actual
    -function that's passed to JSON.stringify.
    -
    -**Note** that the function returned from `getSerialize` is stateful for now, so
    -do **not** use it more than once.
    diff --git a/deps/npm/node_modules/jsonparse/.npmignore b/deps/npm/node_modules/jsonparse/.npmignore
    deleted file mode 100644
    index b512c09d476623..00000000000000
    --- a/deps/npm/node_modules/jsonparse/.npmignore
    +++ /dev/null
    @@ -1 +0,0 @@
    -node_modules
    \ No newline at end of file
    diff --git a/deps/npm/node_modules/jsonparse/README.markdown b/deps/npm/node_modules/jsonparse/README.markdown
    deleted file mode 100644
    index 0f405d359fe6cb..00000000000000
    --- a/deps/npm/node_modules/jsonparse/README.markdown
    +++ /dev/null
    @@ -1,11 +0,0 @@
    -This is a streaming JSON parser.  For a simpler, sax-based version see this gist: https://gist.github.com/1821394
    -
    -The MIT License (MIT)
    -Copyright (c) 2011-2012 Tim Caswell
    -
    -Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:
    -
    -The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.
    -
    -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
    -
    diff --git a/deps/npm/node_modules/jsprim/README.md b/deps/npm/node_modules/jsprim/README.md
    deleted file mode 100644
    index b3f28a46c9d7f2..00000000000000
    --- a/deps/npm/node_modules/jsprim/README.md
    +++ /dev/null
    @@ -1,287 +0,0 @@
    -# jsprim: utilities for primitive JavaScript types
    -
    -This module provides miscellaneous facilities for working with strings,
    -numbers, dates, and objects and arrays of these basic types.
    -
    -
    -### deepCopy(obj)
    -
    -Creates a deep copy of a primitive type, object, or array of primitive types.
    -
    -
    -### deepEqual(obj1, obj2)
    -
    -Returns whether two objects are equal.
    -
    -
    -### isEmpty(obj)
    -
    -Returns true if the given object has no properties and false otherwise.  This
    -is O(1) (unlike `Object.keys(obj).length === 0`, which is O(N)).
    -
    -### hasKey(obj, key)
    -
    -Returns true if the given object has an enumerable, non-inherited property
    -called `key`.  [For information on enumerability and ownership of properties, see
    -the MDN
    -documentation.](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Enumerability_and_ownership_of_properties)
    -
    -### forEachKey(obj, callback)
    -
    -Like Array.forEach, but iterates enumerable, owned properties of an object
    -rather than elements of an array.  Equivalent to:
    -
    -    for (var key in obj) {
    -            if (Object.prototype.hasOwnProperty.call(obj, key)) {
    -                    callback(key, obj[key]);
    -            }
    -    }
    -
    -
    -### flattenObject(obj, depth)
    -
    -Flattens an object up to a given level of nesting, returning an array of arrays
    -of length "depth + 1", where the first "depth" elements correspond to flattened
    -columns and the last element contains the remaining object .  For example:
    -
    -    flattenObject({
    -        'I': {
    -            'A': {
    -                'i': {
    -                    'datum1': [ 1, 2 ],
    -                    'datum2': [ 3, 4 ]
    -                },
    -                'ii': {
    -                    'datum1': [ 3, 4 ]
    -                }
    -            },
    -            'B': {
    -                'i': {
    -                    'datum1': [ 5, 6 ]
    -                },
    -                'ii': {
    -                    'datum1': [ 7, 8 ],
    -                    'datum2': [ 3, 4 ],
    -                },
    -                'iii': {
    -                }
    -            }
    -        },
    -        'II': {
    -            'A': {
    -                'i': {
    -                    'datum1': [ 1, 2 ],
    -                    'datum2': [ 3, 4 ]
    -                }
    -            }
    -        }
    -    }, 3)
    -
    -becomes:
    -
    -    [
    -        [ 'I',  'A', 'i',   { 'datum1': [ 1, 2 ], 'datum2': [ 3, 4 ] } ],
    -        [ 'I',  'A', 'ii',  { 'datum1': [ 3, 4 ] } ],
    -        [ 'I',  'B', 'i',   { 'datum1': [ 5, 6 ] } ],
    -        [ 'I',  'B', 'ii',  { 'datum1': [ 7, 8 ], 'datum2': [ 3, 4 ] } ],
    -        [ 'I',  'B', 'iii', {} ],
    -        [ 'II', 'A', 'i',   { 'datum1': [ 1, 2 ], 'datum2': [ 3, 4 ] } ]
    -    ]
    -
    -This function is strict: "depth" must be a non-negative integer and "obj" must
    -be a non-null object with at least "depth" levels of nesting under all keys.
    -
    -
    -### flattenIter(obj, depth, func)
    -
    -This is similar to `flattenObject` except that instead of returning an array,
    -this function invokes `func(entry)` for each `entry` in the array that
    -`flattenObject` would return.  `flattenIter(obj, depth, func)` is logically
    -equivalent to `flattenObject(obj, depth).forEach(func)`.  Importantly, this
    -version never constructs the full array.  Its memory usage is O(depth) rather
    -than O(n) (where `n` is the number of flattened elements).
    -
    -There's another difference between `flattenObject` and `flattenIter` that's
    -related to the special case where `depth === 0`.  In this case, `flattenObject`
    -omits the array wrapping `obj` (which is regrettable).
    -
    -
    -### pluck(obj, key)
    -
    -Fetch nested property "key" from object "obj", traversing objects as needed.
    -For example, `pluck(obj, "foo.bar.baz")` is roughly equivalent to
    -`obj.foo.bar.baz`, except that:
    -
    -1. If traversal fails, the resulting value is undefined, and no error is
    -   thrown.  For example, `pluck({}, "foo.bar")` is just undefined.
    -2. If "obj" has property "key" directly (without traversing), the
    -   corresponding property is returned.  For example,
    -   `pluck({ 'foo.bar': 1 }, 'foo.bar')` is 1, not undefined.  This is also
    -   true recursively, so `pluck({ 'a': { 'foo.bar': 1 } }, 'a.foo.bar')` is
    -   also 1, not undefined.
    -
    -
    -### randElt(array)
    -
    -Returns an element from "array" selected uniformly at random.  If "array" is
    -empty, throws an Error.
    -
    -
    -### startsWith(str, prefix)
    -
    -Returns true if the given string starts with the given prefix and false
    -otherwise.
    -
    -
    -### endsWith(str, suffix)
    -
    -Returns true if the given string ends with the given suffix and false
    -otherwise.
    -
    -
    -### parseInteger(str, options)
    -
    -Parses the contents of `str` (a string) as an integer. On success, the integer
    -value is returned (as a number). On failure, an error is **returned** describing
    -why parsing failed.
    -
    -By default, leading and trailing whitespace characters are not allowed, nor are
    -trailing characters that are not part of the numeric representation. This
    -behaviour can be toggled by using the options below. The empty string (`''`) is
    -not considered valid input. If the return value cannot be precisely represented
    -as a number (i.e., is smaller than `Number.MIN_SAFE_INTEGER` or larger than
    -`Number.MAX_SAFE_INTEGER`), an error is returned. Additionally, the string
    -`'-0'` will be parsed as the integer `0`, instead of as the IEEE floating point
    -value `-0`.
    -
    -This function accepts both upper and lowercase characters for digits, similar to
    -`parseInt()`, `Number()`, and [strtol(3C)](https://illumos.org/man/3C/strtol).
    -
    -The following may be specified in `options`:
    -
    -Option             | Type    | Default | Meaning
    ------------------- | ------- | ------- | ---------------------------
    -base               | number  | 10      | numeric base (radix) to use, in the range 2 to 36
    -allowSign          | boolean | true    | whether to interpret any leading `+` (positive) and `-` (negative) characters
    -allowImprecise     | boolean | false   | whether to accept values that may have lost precision (past `MAX_SAFE_INTEGER` or below `MIN_SAFE_INTEGER`)
    -allowPrefix        | boolean | false   | whether to interpret the prefixes `0b` (base 2), `0o` (base 8), `0t` (base 10), or `0x` (base 16)
    -allowTrailing      | boolean | false   | whether to ignore trailing characters
    -trimWhitespace     | boolean | false   | whether to trim any leading or trailing whitespace/line terminators
    -leadingZeroIsOctal | boolean | false   | whether a leading zero indicates octal
    -
    -Note that if `base` is unspecified, and `allowPrefix` or `leadingZeroIsOctal`
    -are, then the leading characters can change the default base from 10. If `base`
    -is explicitly specified and `allowPrefix` is true, then the prefix will only be
    -accepted if it matches the specified base. `base` and `leadingZeroIsOctal`
    -cannot be used together.
    -
    -**Context:** It's tricky to parse integers with JavaScript's built-in facilities
    -for several reasons:
    -
    -- `parseInt()` and `Number()` by default allow the base to be specified in the
    -  input string by a prefix (e.g., `0x` for hex).
    -- `parseInt()` allows trailing nonnumeric characters.
    -- `Number(str)` returns 0 when `str` is the empty string (`''`).
    -- Both functions return incorrect values when the input string represents a
    -  valid integer outside the range of integers that can be represented precisely.
    -  Specifically, `parseInt('9007199254740993')` returns 9007199254740992.
    -- Both functions always accept `-` and `+` signs before the digit.
    -- Some older JavaScript engines always interpret a leading 0 as indicating
    -  octal, which can be surprising when parsing input from users who expect a
    -  leading zero to be insignificant.
    -
    -While each of these may be desirable in some contexts, there are also times when
    -none of them are wanted. `parseInteger()` grants greater control over what
    -input's permissible.
    -
    -### iso8601(date)
    -
    -Converts a Date object to an ISO8601 date string of the form
    -"YYYY-MM-DDTHH:MM:SS.sssZ".  This format is not customizable.
    -
    -
    -### parseDateTime(str)
    -
    -Parses a date expressed as a string, as either a number of milliseconds since
    -the epoch or any string format that Date accepts, giving preference to the
    -former where these two sets overlap (e.g., strings containing small numbers).
    -
    -
    -### hrtimeDiff(timeA, timeB)
    -
    -Given two hrtime readings (as from Node's `process.hrtime()`), where timeA is
    -later than timeB, compute the difference and return that as an hrtime.  It is
    -illegal to invoke this for a pair of times where timeB is newer than timeA.
    -
    -### hrtimeAdd(timeA, timeB)
    -
    -Add two hrtime intervals (as from Node's `process.hrtime()`), returning a new
    -hrtime interval array.  This function does not modify either input argument.
    -
    -
    -### hrtimeAccum(timeA, timeB)
    -
    -Add two hrtime intervals (as from Node's `process.hrtime()`), storing the
    -result in `timeA`.  This function overwrites (and returns) the first argument
    -passed in.
    -
    -
    -### hrtimeNanosec(timeA), hrtimeMicrosec(timeA), hrtimeMillisec(timeA)
    -
    -This suite of functions converts a hrtime interval (as from Node's
    -`process.hrtime()`) into a scalar number of nanoseconds, microseconds or
    -milliseconds.  Results are truncated, as with `Math.floor()`.
    -
    -
    -### validateJsonObject(schema, object)
    -
    -Uses JSON validation (via JSV) to validate the given object against the given
    -schema.  On success, returns null.  On failure, *returns* (does not throw) a
    -useful Error object.
    -
    -
    -### extraProperties(object, allowed)
    -
    -Check an object for unexpected properties.  Accepts the object to check, and an
    -array of allowed property name strings.  If extra properties are detected, an
    -array of extra property names is returned.  If no properties other than those
    -in the allowed list are present on the object, the returned array will be of
    -zero length.
    -
    -### mergeObjects(provided, overrides, defaults)
    -
    -Merge properties from objects "provided", "overrides", and "defaults".  The
    -intended use case is for functions that accept named arguments in an "args"
    -object, but want to provide some default values and override other values.  In
    -that case, "provided" is what the caller specified, "overrides" are what the
    -function wants to override, and "defaults" contains default values.
    -
    -The function starts with the values in "defaults", overrides them with the
    -values in "provided", and then overrides those with the values in "overrides".
    -For convenience, any of these objects may be falsey, in which case they will be
    -ignored.  The input objects are never modified, but properties in the returned
    -object are not deep-copied.
    -
    -For example:
    -
    -    mergeObjects(undefined, { 'objectMode': true }, { 'highWaterMark': 0 })
    -
    -returns:
    -
    -    { 'objectMode': true, 'highWaterMark': 0 }
    -
    -For another example:
    -
    -    mergeObjects(
    -        { 'highWaterMark': 16, 'objectMode': 7 }, /* from caller */
    -        { 'objectMode': true },                   /* overrides */
    -        { 'highWaterMark': 0 });                  /* default */
    -
    -returns:
    -
    -    { 'objectMode': true, 'highWaterMark': 16 }
    -
    -
    -# Contributing
    -
    -See separate [contribution guidelines](CONTRIBUTING.md).
    diff --git a/deps/npm/node_modules/just-diff-apply/README.md b/deps/npm/node_modules/just-diff-apply/README.md
    deleted file mode 100644
    index 2068a483062b7a..00000000000000
    --- a/deps/npm/node_modules/just-diff-apply/README.md
    +++ /dev/null
    @@ -1,52 +0,0 @@
    -## just-diff-apply
    -
    -Part of a [library](../../../../) of zero-dependency npm modules that do just do one thing.
    -Guilt-free utilities for every occasion.
    -
    -[Try it now](http://anguscroll.com/just/just-diff-apply)
    -
    -Apply a diff object to an object.
    -Pass converter to apply a http://jsonpatch.com standard patch
    -
    -```js
    -  import diffApply from 'just-diff-apply';
    -
    -  const obj1 = {a: 3, b: 5};
    -  diffApply(obj1,
    -    [
    -      { "op": "remove", "path": ['b'] },
    -      { "op": "replace", "path": ['a'], "value": 4 },
    -      { "op": "add", "path": ['c'], "value": 5 }
    -    ]
    -  );
    -  obj1; // {a: 4, c: 5}
    -
    -  // using converter to apply jsPatch standard paths
    -  // see http://jsonpatch.com
    -  import {diffApply, jsonPatchPathConverter} from 'just-diff-apply'
    -  const obj2 = {a: 3, b: 5};
    -  diffApply(obj2, [
    -    { "op": "remove", "path": '/b' },
    -    { "op": "replace", "path": '/a', "value": 4 }
    -    { "op": "add", "path": '/c', "value": 5 }
    -  ], jsonPatchPathConverter);
    -  obj2; // {a: 4, c: 5}
    -
    -  // arrays (array key can be string or numeric)
    -  const obj3 = {a: 4, b: [1, 2, 3]};
    -  diffApply(obj3, [
    -    { "op": "replace", "path": ['a'], "value": 3 }
    -    { "op": "replace", "path": ['b', 2], "value": 4 }
    -    { "op": "add", "path": ['b', 3], "value": 9 }
    -  ]);
    -  obj3; // {a: 3, b: [1, 2, 4, 9]}
    -
    -  // nested paths
    -  const obj4 = {a: 4, b: {c: 3}};
    -  diffApply(obj4, [
    -    { "op": "replace", "path": ['a'], "value": 5 }
    -    { "op": "remove", "path": ['b', 'c']}
    -    { "op": "add", "path": ['b', 'd'], "value": 4 }
    -  ]);
    -  obj4; // {a: 5, b: {d: 4}}
    -```
    diff --git a/deps/npm/node_modules/just-diff/README.md b/deps/npm/node_modules/just-diff/README.md
    deleted file mode 100644
    index 836868fe9043be..00000000000000
    --- a/deps/npm/node_modules/just-diff/README.md
    +++ /dev/null
    @@ -1,76 +0,0 @@
    -## just-diff
    -
    -Part of a [library](../../../../) of zero-dependency npm modules that do just do one thing.  
    -Guilt-free utilities for every occasion.
    -
    -[Try it now](http://anguscroll.com/just/just-diff)
    -
    -Return an object representing the difference between two other objects  
    -Pass converter to format as http://jsonpatch.com
    -
    -```js
    -import {diff} from 'just-diff';
    -
    -const obj1 = {a: 4, b: 5};
    -const obj2 = {a: 3, b: 5};
    -const obj3 = {a: 4, c: 5};
    -
    -diff(obj1, obj2);
    -[
    -  { "op": "replace", "path": ['a'], "value": 3 }
    -]
    -
    -diff(obj2, obj3);
    -[
    -  { "op": "remove", "path": ['b'] },
    -  { "op": "replace", "path": ['a'], "value": 4 }
    -  { "op": "add", "path": ['c'], "value": 5 }
    -]
    -
    -// using converter to generate jsPatch standard paths
    -import {diff, jsonPatchPathConverter} from 'just-diff'
    -diff(obj1, obj2, jsonPatchPathConverter);
    -[
    -  { "op": "replace", "path": '/a', "value": 3 }
    -]
    -
    -diff(obj2, obj3, jsonPatchPathConverter);
    -[
    -  { "op": "remove", "path": '/b' },
    -  { "op": "replace", "path": '/a', "value": 4 }
    -  { "op": "add", "path": '/c', "value": 5 }
    -]
    -
    -// arrays
    -const obj4 = {a: 4, b: [1, 2, 3]};
    -const obj5 = {a: 3, b: [1, 2, 4]};
    -const obj6 = {a: 3, b: [1, 2, 4, 5]};
    -
    -diff(obj4, obj5);
    -[
    -  { "op": "replace", "path": ['a'], "value": 3 }
    -  { "op": "replace", "path": ['b', 2], "value": 4 }
    -]
    -
    -diff(obj5, obj6);
    -[
    -  { "op": "add", "path": ['b', 3], "value": 5 }
    -]
    -
    -// nested paths
    -const obj7 = {a: 4, b: {c: 3}};
    -const obj8 = {a: 4, b: {c: 4}};
    -const obj9 = {a: 5, b: {d: 4}};
    -
    -diff(obj7, obj8);
    -[
    -  { "op": "replace", "path": ['b', 'c'], "value": 4 }
    -]
    -
    -diff(obj8, obj9);
    -[
    -  { "op": "replace", "path": ['a'], "value": 5 }
    -  { "op": "remove", "path": ['b', 'c']}
    -  { "op": "add", "path": ['b', 'd'], "value": 4 }
    -]
    -```
    diff --git a/deps/npm/node_modules/libnpmaccess/.github/settings.yml b/deps/npm/node_modules/libnpmaccess/.github/settings.yml
    deleted file mode 100644
    index 4aaa0dd57e4ad0..00000000000000
    --- a/deps/npm/node_modules/libnpmaccess/.github/settings.yml
    +++ /dev/null
    @@ -1,2 +0,0 @@
    ----
    -_extends: 'open-source-project-boilerplate'
    diff --git a/deps/npm/node_modules/libnpmaccess/.github/workflows/ci.yml b/deps/npm/node_modules/libnpmaccess/.github/workflows/ci.yml
    deleted file mode 100644
    index 71189bae7b9627..00000000000000
    --- a/deps/npm/node_modules/libnpmaccess/.github/workflows/ci.yml
    +++ /dev/null
    @@ -1,94 +0,0 @@
    ----
    -################################################################################
    -# Template - Node CI
    -#
    -# Description:
    -#   This contains the basic information to: install dependencies, run tests,
    -#   get coverage, and run linting on a nodejs project. This template will run
    -#   over the MxN matrix of all operating systems, and all current LTS versions
    -#   of NodeJS.
    -#
    -# Dependencies:
    -#   This template assumes that your project is using the `tap` module for
    -#   testing. If you're not using this module, then the step that runs your
    -#   coverage will need to be adjusted.
    -#
    -################################################################################
    -name: Node CI
    -
    -on: [push, pull_request]
    -
    -jobs:
    -  build:
    -    strategy:
    -      fail-fast: false
    -      matrix:
    -        node-version: [10.x, 12.x, 13.x]
    -        os: [ubuntu-latest, windows-latest, macOS-latest]
    -
    -    runs-on: ${{ matrix.os }}
    -
    -    steps:
    -      # Checkout the repository
    -      - uses: actions/checkout@v2
    -        # Installs the specific version of Node.js
    -      - name: Use Node.js ${{ matrix.node-version }}
    -        uses: actions/setup-node@v1
    -        with:
    -          node-version: ${{ matrix.node-version }}
    -
    -      ################################################################################
    -      # Install Dependencies
    -      #
    -      #   ASSUMPTIONS:
    -      #     - The project has a package-lock.json file
    -      #
    -      #   Simply run the tests for the project.
    -      ################################################################################
    -      - name: Install dependencies
    -        run: npm ci
    -
    -      ################################################################################
    -      # Run Testing
    -      #
    -      #   ASSUMPTIONS:
    -      #     - The project has `tap` as a devDependency
    -      #     - There is a script called "test" in the package.json
    -      #
    -      #   Simply run the tests for the project.
    -      ################################################################################
    -      - name: Run tests
    -        run: npm test -- --no-coverage
    -
    -      ################################################################################
    -      # Run coverage check
    -      #
    -      #   ASSUMPTIONS:
    -      #     - The project has `tap` as a devDependency
    -      #     - There is a script called "coverage" in the package.json
    -      #
    -      #   Coverage should only be posted once, we are choosing the latest LTS of
    -      #   node, and ubuntu as the matrix point to post coverage from. We limit
    -      #   to the 'push' event so that coverage ins't posted twice from the
    -      #   pull-request event, and push event (line 3).
    -      ################################################################################
    -      - name: Run coverage report
    -        if: github.event_name == 'push' && matrix.node-version == '12.x' && matrix.os == 'ubuntu-latest'
    -        run: npm test
    -        env:
    -          # The environment variable name is leveraged by `tap`
    -          COVERALLS_REPO_TOKEN: ${{ secrets.COVERALLS_REPO_TOKEN }}
    -
    -      ################################################################################
    -      # Run linting
    -      #
    -      #   ASSUMPTIONS:
    -      #     - There is a script called "lint" in the package.json
    -      #
    -      #   We run linting AFTER we run testing and coverage checks, because if a step
    -      #   fails in an GitHub Action, all other steps are not run. We don't want to
    -      #   fail to run tests or coverage because of linting. It should be the lowest
    -      #   priority of all the steps.
    -      ################################################################################
    -      - name: Run linter
    -        run: npm run lint
    diff --git a/deps/npm/node_modules/libnpmaccess/CHANGELOG.md b/deps/npm/node_modules/libnpmaccess/CHANGELOG.md
    deleted file mode 100644
    index 6d8036a9daf06d..00000000000000
    --- a/deps/npm/node_modules/libnpmaccess/CHANGELOG.md
    +++ /dev/null
    @@ -1,166 +0,0 @@
    -# Change Log
    -
    -
    -## [4.0.0](https://github.com/npm/libnpmaccess/compare/v3.0.2...v4.0.0) (2020-03-02)
    -
    -### BREAKING CHANGES
    -- `25ac61b` fix: remove figgy-pudding ([@claudiahdz](https://github.com/claudiahdz))
    -- `8d6f692` chore: rename opts.mapJson to opts.mapJSON ([@mikemimik](https://github.com/mikemimik))
    -
    -### Features
    -- `257879a` chore: removed standard-version as a dep; updated scripts for version/publishing ([@mikemimik](https://github.com/mikemimik))
    -- `46c6740` fix: pull-request feedback; read full commit message ([@mikemimik](https://github.com/mikemimik))
    -- `778c102` chore: updated test, made case more clear ([@mikemimik](https://github.com/mikemimik))
    -- `6dc9852` fix: refactored 'pwrap' function out of code base; use native promises ([@mikemimik](https://github.com/mikemimik))
    -- `d2e7219` chore: updated package scripts; update CI workflow ([@mikemimik](https://github.com/mikemimik))
    -- `5872364` chore: renamed test/util/ to test/fixture/; tap will ignore now ([@mikemimik](https://github.com/mikemimik))
    -- `3c6b71d` chore: linted test file; made tap usage 'better' ([@mikemimik](https://github.com/mikemimik))
    -- `20f0858` fix: added default values to params for API functions (with tests) ([@mikemimik](https://github.com/mikemimik))
    -- `3218289` feat: replace get-stream with minipass ([@mikemimik](https://github.com/mikemimik))
    -
    -### Documentation
    -- `6c8ffa0` docs: removed opts.Promise from docs; no longer in use ([@mikemimik](https://github.com/mikemimik))
    -- `311bff5` chore: added return types to function docs in README ([@mikemimik](https://github.com/mikemimik))
    -- `823726a` chore: removed travis badge, added github actions badge ([@mikemimik](https://github.com/mikemimik))
    -- `80e80ac` chore: updated README ([@mikemimik](https://github.com/mikemimik))
    -
    -### Dependencies
    -- `baed2b9` deps: standard-version@7.1.0 (audit fix) ([@mikemimik](https://github.com/mikemimik))
    -- `65c2204` deps: nock@12.0.1 (audit fix) ([@mikemimik](https://github.com/mikemimik))
    -- `2668386` deps: npm-registry-fetch@8.0.0 ([@mikemimik](https://github.com/mikemimik))
    -- `ef093e2` deps: tap@14.10.6 ([@mikemimik](https://github.com/mikemimik))
    -
    -### Miscellanieous
    -- `8e33902` chore: basic project updates ([@claudiahdz](https://github.com/claudiahdz))
    -- `50e1433` fix: update return value; add tests ([@mikemimik](https://github.com/mikemimik))
    -- `36d5c80` chore: updated gitignore; includes coverage folder ([@mikemimik](https://github.com/mikemimik))
    -
    ----
    -
    -All notable changes to this project will be documented in this file. See [standard-version](https://github.com/conventional-changelog/standard-version) for commit guidelines.
    -
    -
    -## [3.0.2](https://github.com/npm/libnpmaccess/compare/v3.0.1...v3.0.2) (2019-07-16)
    -
    -
    -
    -
    -## [3.0.1](https://github.com/npm/libnpmaccess/compare/v3.0.0...v3.0.1) (2018-11-12)
    -
    -
    -### Bug Fixes
    -
    -* **ls-packages:** fix confusing splitEntity arg check ([1769090](https://github.com/npm/libnpmaccess/commit/1769090))
    -
    -
    -
    -
    -# [3.0.0](https://github.com/npm/libnpmaccess/compare/v2.0.1...v3.0.0) (2018-08-24)
    -
    -
    -### Features
    -
    -* **api:** overhaul API ergonomics ([1faf00a](https://github.com/npm/libnpmaccess/commit/1faf00a))
    -
    -
    -### BREAKING CHANGES
    -
    -* **api:** all API calls where scope and team were separate, or
    -where team was an extra, optional argument should now use a
    -fully-qualified team name instead, in the `scope:team` format.
    -
    -
    -
    -
    -## [2.0.1](https://github.com/npm/libnpmaccess/compare/v2.0.0...v2.0.1) (2018-08-24)
    -
    -
    -
    -
    -# [2.0.0](https://github.com/npm/libnpmaccess/compare/v1.2.2...v2.0.0) (2018-08-21)
    -
    -
    -### Bug Fixes
    -
    -* **json:** stop trying to parse response JSON ([20fdd84](https://github.com/npm/libnpmaccess/commit/20fdd84))
    -* **lsPackages:** team URL was wrong D: ([b52201c](https://github.com/npm/libnpmaccess/commit/b52201c))
    -
    -
    -### BREAKING CHANGES
    -
    -* **json:** use cases where registries were returning JSON
    -strings in the response body will no longer have an effect. All
    -API functions except for lsPackages and lsCollaborators will return
    -`true` on completion.
    -
    -
    -
    -
    -## [1.2.2](https://github.com/npm/libnpmaccess/compare/v1.2.1...v1.2.2) (2018-08-20)
    -
    -
    -### Bug Fixes
    -
    -* **docs:** tiny doc hiccup fix ([106396f](https://github.com/npm/libnpmaccess/commit/106396f))
    -
    -
    -
    -
    -## [1.2.1](https://github.com/npm/libnpmaccess/compare/v1.2.0...v1.2.1) (2018-08-20)
    -
    -
    -### Bug Fixes
    -
    -* **docs:** document the stream interfaces ([c435aa2](https://github.com/npm/libnpmaccess/commit/c435aa2))
    -
    -
    -
    -
    -# [1.2.0](https://github.com/npm/libnpmaccess/compare/v1.1.0...v1.2.0) (2018-08-20)
    -
    -
    -### Bug Fixes
    -
    -* **readme:** fix up appveyor badge url ([42b45a1](https://github.com/npm/libnpmaccess/commit/42b45a1))
    -
    -
    -### Features
    -
    -* **streams:** add streaming result support for lsPkg and lsCollab ([0f06f46](https://github.com/npm/libnpmaccess/commit/0f06f46))
    -
    -
    -
    -
    -# [1.1.0](https://github.com/npm/libnpmaccess/compare/v1.0.0...v1.1.0) (2018-08-17)
    -
    -
    -### Bug Fixes
    -
    -* **2fa:** escape package names correctly ([f2d83fe](https://github.com/npm/libnpmaccess/commit/f2d83fe))
    -* **grant:** fix permissions validation ([07f7435](https://github.com/npm/libnpmaccess/commit/07f7435))
    -* **ls-collaborators:** fix package name escaping + query ([3c02858](https://github.com/npm/libnpmaccess/commit/3c02858))
    -* **ls-packages:** add query + fix fallback request order ([bdc4791](https://github.com/npm/libnpmaccess/commit/bdc4791))
    -* **node6:** stop using Object.entries() ([4fec03c](https://github.com/npm/libnpmaccess/commit/4fec03c))
    -* **public/restricted:** body should be string, not bool ([cffc727](https://github.com/npm/libnpmaccess/commit/cffc727))
    -* **readme:** fix up title and badges ([2bd6113](https://github.com/npm/libnpmaccess/commit/2bd6113))
    -* **specs:** require specs to be registry specs ([7892891](https://github.com/npm/libnpmaccess/commit/7892891))
    -
    -
    -### Features
    -
    -* **test:** add 100% coverage test suite ([22b5dec](https://github.com/npm/libnpmaccess/commit/22b5dec))
    -
    -
    -
    -
    -# 1.0.0 (2018-08-17)
    -
    -
    -### Bug Fixes
    -
    -* **test:** -100 is apparently bad now ([a5ab879](https://github.com/npm/libnpmaccess/commit/a5ab879))
    -
    -
    -### Features
    -
    -* **impl:** initial implementation of api ([7039390](https://github.com/npm/libnpmaccess/commit/7039390))
    diff --git a/deps/npm/node_modules/libnpmaccess/README.md b/deps/npm/node_modules/libnpmaccess/README.md
    deleted file mode 100644
    index c079344597968a..00000000000000
    --- a/deps/npm/node_modules/libnpmaccess/README.md
    +++ /dev/null
    @@ -1,247 +0,0 @@
    -# libnpmaccess
    -
    -[![npm version](https://img.shields.io/npm/v/libnpmaccess.svg)](https://npm.im/libnpmaccess)
    -[![license](https://img.shields.io/npm/l/libnpmaccess.svg)](https://npm.im/libnpmaccess)
    -[![GitHub Actions](https://github.com/npm/libnpmaccess/workflows/Node%20CI/badge.svg)](https://github.com/npm/libnpmaccess/actions?query=workflow%3A%22Node+CI%22)
    -[![Coverage Status](https://coveralls.io/repos/github/npm/libnpmaccess/badge.svg?branch=latest)](https://coveralls.io/github/npm/libnpmaccess?branch=latest)
    -
    -[`libnpmaccess`](https://github.com/npm/libnpmaccess) is a Node.js
    -library that provides programmatic access to the guts of the npm CLI's `npm
    -access` command and its various subcommands. This includes managing account 2FA,
    -listing packages and permissions, looking at package collaborators, and defining
    -package permissions for users, orgs, and teams.
    -
    -## Example
    -
    -```javascript
    -const access = require('libnpmaccess')
    -
    -// List all packages @zkat has access to on the npm registry.
    -console.log(Object.keys(await access.lsPackages('zkat')))
    -```
    -
    -## Table of Contents
    -
    -* [Installing](#install)
    -* [Example](#example)
    -* [Contributing](#contributing)
    -* [API](#api)
    -  * [access opts](#opts)
    -  * [`public()`](#public)
    -  * [`restricted()`](#restricted)
    -  * [`grant()`](#grant)
    -  * [`revoke()`](#revoke)
    -  * [`tfaRequired()`](#tfa-required)
    -  * [`tfaNotRequired()`](#tfa-not-required)
    -  * [`lsPackages()`](#ls-packages)
    -  * [`lsPackages.stream()`](#ls-packages-stream)
    -  * [`lsCollaborators()`](#ls-collaborators)
    -  * [`lsCollaborators.stream()`](#ls-collaborators-stream)
    -
    -### Install
    -
    -`$ npm install libnpmaccess`
    -
    -### API
    -
    -####  `opts` for `libnpmaccess` commands
    -
    -`libnpmaccess` uses [`npm-registry-fetch`](https://npm.im/npm-registry-fetch).
    -All options are passed through directly to that library, so please refer to [its
    -own `opts`
    -documentation](https://www.npmjs.com/package/npm-registry-fetch#fetch-options)
    -for options that can be passed in.
    -
    -A couple of options of note for those in a hurry:
    -
    -* `opts.token` - can be passed in and will be used as the authentication token for the registry. For other ways to pass in auth details, see the n-r-f docs.
    -* `opts.otp` - certain operations will require an OTP token to be passed in. If a `libnpmaccess` command fails with `err.code === EOTP`, please retry the request with `{otp: <2fa token>}`
    -
    -####  `> access.public(spec, [opts]) -> Promise`
    -
    -`spec` must be an [`npm-package-arg`](https://npm.im/npm-package-arg)-compatible
    -registry spec.
    -
    -Makes package described by `spec` public.
    -
    -##### Example
    -
    -```javascript
    -await access.public('@foo/bar', {token: 'myregistrytoken'})
    -// `@foo/bar` is now public
    -```
    -
    -####  `> access.restricted(spec, [opts]) -> Promise`
    -
    -`spec` must be an [`npm-package-arg`](https://npm.im/npm-package-arg)-compatible
    -registry spec.
    -
    -Makes package described by `spec` private/restricted.
    -
    -##### Example
    -
    -```javascript
    -await access.restricted('@foo/bar', {token: 'myregistrytoken'})
    -// `@foo/bar` is now private
    -```
    -
    -####  `> access.grant(spec, team, permissions, [opts]) -> Promise`
    -
    -`spec` must be an [`npm-package-arg`](https://npm.im/npm-package-arg)-compatible
    -registry spec. `team` must be a fully-qualified team name, in the `scope:team`
    -format, with or without the `@` prefix, and the team must be a valid team within
    -that scope. `permissions` must be one of `'read-only'` or `'read-write'`.
    -
    -Grants `read-only` or `read-write` permissions for a certain package to a team.
    -
    -##### Example
    -
    -```javascript
    -await access.grant('@foo/bar', '@foo:myteam', 'read-write', {
    -  token: 'myregistrytoken'
    -})
    -// `@foo/bar` is now read/write enabled for the @foo:myteam team.
    -```
    -
    -####  `> access.revoke(spec, team, [opts]) -> Promise`
    -
    -`spec` must be an [`npm-package-arg`](https://npm.im/npm-package-arg)-compatible
    -registry spec. `team` must be a fully-qualified team name, in the `scope:team`
    -format, with or without the `@` prefix, and the team must be a valid team within
    -that scope. `permissions` must be one of `'read-only'` or `'read-write'`.
    -
    -Removes access to a package from a certain team.
    -
    -##### Example
    -
    -```javascript
    -await access.revoke('@foo/bar', '@foo:myteam', {
    -  token: 'myregistrytoken'
    -})
    -// @foo:myteam can no longer access `@foo/bar`
    -```
    -
    -####  `> access.tfaRequired(spec, [opts]) -> Promise`
    -
    -`spec` must be an [`npm-package-arg`](https://npm.im/npm-package-arg)-compatible
    -registry spec.
    -
    -Makes it so publishing or managing a package requires using 2FA tokens to
    -complete operations.
    -
    -##### Example
    -
    -```javascript
    -await access.tfaRequires('lodash', {token: 'myregistrytoken'})
    -// Publishing or changing dist-tags on `lodash` now require OTP to be enabled.
    -```
    -
    -####  `> access.tfaNotRequired(spec, [opts]) -> Promise`
    -
    -`spec` must be an [`npm-package-arg`](https://npm.im/npm-package-arg)-compatible
    -registry spec.
    -
    -Disabled the package-level 2FA requirement for `spec`. Note that you will need
    -to pass in an `otp` token in `opts` in order to complete this operation.
    -
    -##### Example
    -
    -```javascript
    -await access.tfaNotRequired('lodash', {otp: '123654', token: 'myregistrytoken'})
    -// Publishing or editing dist-tags on `lodash` no longer requires OTP to be
    -// enabled.
    -```
    -
    -####  `> access.lsPackages(entity, [opts]) -> Promise`
    -
    -`entity` must be either a valid org or user name, or a fully-qualified team name
    -in the `scope:team` format, with or without the `@` prefix.
    -
    -Lists out packages a user, org, or team has access to, with corresponding
    -permissions. Packages that the access token does not have access to won't be
    -listed.
    -
    -In order to disambiguate between users and orgs, two requests may end up being
    -made when listing orgs or users.
    -
    -For a streamed version of these results, see
    -[`access.lsPackages.stream()`](#ls-package-stream).
    -
    -##### Example
    -
    -```javascript
    -await access.lsPackages('zkat', {
    -  token: 'myregistrytoken'
    -})
    -// Lists all packages `@zkat` has access to on the registry, and the
    -// corresponding permissions.
    -```
    -
    -####  `> access.lsPackages.stream(scope, [team], [opts]) -> Stream`
    -
    -`entity` must be either a valid org or user name, or a fully-qualified team name
    -in the `scope:team` format, with or without the `@` prefix.
    -
    -Streams out packages a user, org, or team has access to, with corresponding
    -permissions, with each stream entry being formatted like `[packageName,
    -permissions]`. Packages that the access token does not have access to won't be
    -listed.
    -
    -In order to disambiguate between users and orgs, two requests may end up being
    -made when listing orgs or users.
    -
    -The returned stream is a valid `asyncIterator`.
    -
    -##### Example
    -
    -```javascript
    -for await (let [pkg, perm] of access.lsPackages.stream('zkat')) {
    -  console.log('zkat has', perm, 'access to', pkg)
    -}
    -// zkat has read-write access to eggplant
    -// zkat has read-only access to @npmcorp/secret
    -```
    -
    -####  `> access.lsCollaborators(spec, [user], [opts]) -> Promise`
    -
    -`spec` must be an [`npm-package-arg`](https://npm.im/npm-package-arg)-compatible
    -registry spec. `user` must be a valid user name, with or without the `@`
    -prefix.
    -
    -Lists out access privileges for a certain package. Will only show permissions
    -for packages to which you have at least read access. If `user` is passed in, the
    -list is filtered only to teams _that_ user happens to belong to.
    -
    -For a streamed version of these results, see [`access.lsCollaborators.stream()`](#ls-collaborators-stream).
    -
    -##### Example
    -
    -```javascript
    -await access.lsCollaborators('@npm/foo', 'zkat', {
    -  token: 'myregistrytoken'
    -})
    -// Lists all teams with access to @npm/foo that @zkat belongs to.
    -```
    -
    -####  `> access.lsCollaborators.stream(spec, [user], [opts]) -> Stream`
    -
    -`spec` must be an [`npm-package-arg`](https://npm.im/npm-package-arg)-compatible
    -registry spec. `user` must be a valid user name, with or without the `@`
    -prefix.
    -
    -Stream out access privileges for a certain package, with each entry in `[user,
    -permissions]` format. Will only show permissions for packages to which you have
    -at least read access. If `user` is passed in, the list is filtered only to teams
    -_that_ user happens to belong to.
    -
    -The returned stream is a valid `asyncIterator`.
    -
    -##### Example
    -
    -```javascript
    -for await (let [usr, perm] of access.lsCollaborators.stream('npm')) {
    -  console.log(usr, 'has', perm, 'access to npm')
    -}
    -// zkat has read-write access to npm
    -// iarna has read-write access to npm
    -```
    diff --git a/deps/npm/node_modules/libnpmdiff/CHANGELOG.md b/deps/npm/node_modules/libnpmdiff/CHANGELOG.md
    deleted file mode 100644
    index b93b15b7b1113b..00000000000000
    --- a/deps/npm/node_modules/libnpmdiff/CHANGELOG.md
    +++ /dev/null
    @@ -1,30 +0,0 @@
    -# Changelog
    -
    -## 2.0.3
    -
    -- fix name of options sent by the npm cli
    -
    -## 2.0.2
    -
    -- fix matching basename file filter
    -
    -## 2.0.1
    -
    -- fix for tarballs not listing folder names
    -
    -## 2.0.0
    -
    -- API rewrite:
    -  - normalized all options
    -  - specs to compare are now an array
    -- fix context=0
    -- added support to filtering by folder names
    -
    -## 1.0.1
    -
    -- fixed nameOnly option
    -
    -## 1.0.0
    -
    -- Initial release
    -
    diff --git a/deps/npm/node_modules/libnpmdiff/README.md b/deps/npm/node_modules/libnpmdiff/README.md
    deleted file mode 100644
    index bc260ad15ce121..00000000000000
    --- a/deps/npm/node_modules/libnpmdiff/README.md
    +++ /dev/null
    @@ -1,98 +0,0 @@
    -# libnpmdiff
    -
    -[![npm version](https://img.shields.io/npm/v/libnpmdiff.svg)](https://npm.im/libnpmdiff)
    -[![license](https://img.shields.io/npm/l/libnpmdiff.svg)](https://npm.im/libnpmdiff)
    -[![GitHub Actions](https://github.com/npm/libnpmdiff/workflows/node-ci/badge.svg)](https://github.com/npm/libnpmdiff/actions?query=workflow%3Anode-ci)
    -[![Coverage Status](https://coveralls.io/repos/github/npm/libnpmdiff/badge.svg?branch=main)](https://coveralls.io/github/npm/libnpmdiff?branch=main)
    -
    -The registry diff lib.
    -
    -## Table of Contents
    -
    -* [Example](#example)
    -* [Install](#install)
    -* [Contributing](#contributing)
    -* [API](#api)
    -* [LICENSE](#license)
    -
    -## Example
    -
    -```js
    -const libdiff = require('libnpmdiff')
    -
    -const patch = await libdiff([
    -  'abbrev@1.1.0',
    -  'abbrev@1.1.1'
    -])
    -console.log(
    -  patch
    -)
    -```
    -
    -Returns:
    -
    -```patch
    -diff --git a/package.json b/package.json
    -index v1.1.0..v1.1.1 100644
    ---- a/package.json	
    -+++ b/package.json	
    -@@ -1,6 +1,6 @@
    - {
    -   "name": "abbrev",
    --  "version": "1.1.0",
    -+  "version": "1.1.1",
    -   "description": "Like ruby's abbrev module, but in js",
    -   "author": "Isaac Z. Schlueter ",
    -   "main": "abbrev.js",
    -
    -```
    -
    -## Install
    -
    -`$ npm install libnpmdiff`
    -
    -### Contributing
    -
    -The npm team enthusiastically welcomes contributions and project participation!
    -There's a bunch of things you can do if you want to contribute! The
    -[Contributor Guide](https://github.com/npm/cli/blob/latest/CONTRIBUTING.md)
    -outlines the process for community interaction and contribution. Please don't
    -hesitate to jump in if you'd like to, or even ask us questions if something
    -isn't clear.
    -
    -All participants and maintainers in this project are expected to follow the
    -[npm Code of Conduct](https://www.npmjs.com/policies/conduct), and just
    -generally be excellent to each other.
    -
    -Please refer to the [Changelog](CHANGELOG.md) for project history details, too.
    -
    -Happy hacking!
    -
    -### API
    -
    -#### `> libnpmdif([ a, b ], [opts]) -> Promise`
    -
    -Fetches the registry tarballs and compare files between a spec `a` and spec `b`. **npm** spec types are usually described in `@` form but multiple other types are alsos supported, for more info on valid specs take a look at [`npm-package-arg`](https://github.com/npm/npm-package-arg).
    -
    -**Options**:
    -
    -- `color `: Should add ANSI colors to string output? Defaults to `false`.
    -- `tagVersionPrefix `: What prefix should be used to define version numbers. Defaults to `v`
    -- `diffUnified `: How many lines of code to print before/after each diff. Defaults to `3`.
    -- `diffFiles >`: If set only prints patches for the files listed in this array (also accepts globs). Defaults to `undefined`.
    -- `diffIgnoreAllSpace `: Whether or not should ignore changes in whitespace (very useful to avoid indentation changes extra diff lines). Defaults to `false`.
    -- `diffNameOnly `: Prints only file names and no patch diffs. Defaults to `false`.
    -- `diffNoPrefix `: If true then skips printing any prefixes in filenames. Defaults to `false`.
    -- `diffSrcPrefix `: Prefix to be used in the filenames from `a`. Defaults to `a/`.
    -- `diffDstPrefix `: Prefix to be used in the filenames from `b`. Defaults to `b/`.
    -- `diffText `: Should treat all files as text and try to print diff for binary files. Defaults to `false`.
    -- ...`cache`, `registry`, `where` and other common options accepted by [pacote](https://github.com/npm/pacote#options)
    -
    -Returns a `Promise` that fullfils with a `String` containing the resulting patch diffs.
    -
    -Throws an error if either `a` or `b` are missing or if trying to diff more than two specs.
    -
    -## LICENSE
    -
    -[ISC](./LICENSE)
    -
    diff --git a/deps/npm/node_modules/libnpmexec/CHANGELOG.md b/deps/npm/node_modules/libnpmexec/CHANGELOG.md
    deleted file mode 100644
    index 81a0e1a0327c38..00000000000000
    --- a/deps/npm/node_modules/libnpmexec/CHANGELOG.md
    +++ /dev/null
    @@ -1,16 +0,0 @@
    -# Changelog
    -
    -## v1.1.0
    -
    -- Add add walk up dir lookup logic to satisfy local bins,
    -similar to `@npmcli/run-script`
    -
    -## v1.0.1
    -
    -- Fix `scriptShell` option name.
    -
    -## v1.0.0
    -
    -- Initial implementation, moves the code that used to live in the **npm cli**,
    -ref: https://github.com/npm/cli/blob/release/v7.10.0/lib/exec.js into this
    -separate module, providing a programmatic API to the **npm exec** functionality.
    diff --git a/deps/npm/node_modules/libnpmexec/README.md b/deps/npm/node_modules/libnpmexec/README.md
    deleted file mode 100644
    index 18a26011adc769..00000000000000
    --- a/deps/npm/node_modules/libnpmexec/README.md
    +++ /dev/null
    @@ -1,48 +0,0 @@
    -# libnpmexec
    -
    -[![npm version](https://img.shields.io/npm/v/libnpmexec.svg)](https://npm.im/libnpmexec)
    -[![license](https://img.shields.io/npm/l/libnpmexec.svg)](https://npm.im/libnpmexec)
    -[![GitHub Actions](https://github.com/npm/libnpmexec/workflows/node-ci/badge.svg)](https://github.com/npm/libnpmexec/actions?query=workflow%3Anode-ci)
    -[![Coverage Status](https://coveralls.io/repos/github/npm/libnpmexec/badge.svg?branch=main)](https://coveralls.io/github/npm/libnpmexec?branch=main)
    -
    -The `npm exec` (`npx`) Programmatic API
    -
    -## Install
    -
    -`npm install libnpmexec`
    -
    -## Usage:
    -
    -```js
    -const libexec = require('libnpmexec')
    -await libexec({
    -  args: ['yosay', 'Bom dia!'],
    -  cache: '~/.npm',
    -  yes: true,
    -})
    -```
    -
    -## API:
    -
    -### `libexec(opts)`
    -
    -- `opts`:
    -  - `args`: List of pkgs to execute **Array**, defaults to `[]`
    -  - `call`: An alternative command to run when using `packages` option **String**, defaults to empty string.
    -  - `cache`: The path location to where the npm cache folder is placed **String**
    -  - `color`: Output should use color? **Boolean**, defaults to `false`
    -  - `localBin`: Location to the `node_modules/.bin` folder of the local project to start scanning for bin files **String**, defaults to `./node_modules/.bin`. **libexec** will walk up the directory structure looking for `node_modules/.bin` folders in parent folders that might satisfy the current `arg` and will use that bin if found.
    -  - `locationMsg`: Overrides "at location" message when entering interactive mode **String**
    -  - `log`: Sets an optional logger **Object**, defaults to `proc-log` module usage.
    -  - `globalBin`: Location to the global space bin folder, same as: `$(npm bin -g)` **String**, defaults to empty string.
    -  - `output`: A function to print output to **Function**
    -  - `packages`: A list of packages to be used (possibly fetch from the registry) **Array**, defaults to `[]`
    -  - `path`: Location to where to read local project info (`package.json`) **String**, defaults to `.`
    -  - `runPath`: Location to where to execute the script **String**, defaults to `.`
    -  - `scriptShell`: Default shell to be used **String**, defaults to `sh` on POSIX systems, `process.env.ComSpec` OR `cmd` on Windows
    -  - `yes`: Should skip download confirmation prompt when fetching missing packages from the registry? **Boolean**
    -  - `registry`, `cache`, and more options that are forwarded to [@npmcli/arborist](https://github.com/npm/arborist/) and [pacote](https://github.com/npm/pacote/#options) **Object**
    -
    -## LICENSE
    -
    -[ISC](./LICENSE)
    diff --git a/deps/npm/node_modules/libnpmfund/README.md b/deps/npm/node_modules/libnpmfund/README.md
    deleted file mode 100644
    index 8ab663f634d6fb..00000000000000
    --- a/deps/npm/node_modules/libnpmfund/README.md
    +++ /dev/null
    @@ -1,132 +0,0 @@
    -# libnpmfund
    -
    -[![npm version](https://img.shields.io/npm/v/libnpmfund.svg)](https://npm.im/libnpmfund)
    -[![license](https://img.shields.io/npm/l/libnpmfund.svg)](https://npm.im/libnpmfund)
    -[![GitHub Actions](https://github.com/npm/libnpmfund/workflows/node-ci/badge.svg)](https://github.com/npm/libnpmfund/actions?query=workflow%3Anode-ci)
    -[![Coverage Status](https://coveralls.io/repos/github/npm/libnpmfund/badge.svg?branch=master)](https://coveralls.io/github/npm/libnpmfund?branch=master)
    -
    -[`libnpmfund`](https://github.com/npm/libnpmfund) is a Node.js library for
    -retrieving **funding** information for packages installed using
    -[`arborist`](https://github.com/npm/arborist).
    -
    -## Table of Contents
    -
    -* [Example](#example)
    -* [Install](#install)
    -* [Contributing](#contributing)
    -* [API](#api)
    -* [LICENSE](#license)
    -
    -## Example
    -
    -```js
    -const { read } = require('libnpmfund')
    -
    -const fundingInfo = await read()
    -console.log(
    -  JSON.stringify(fundingInfo, null, 2)
    -)
    -// => {
    -  length: 2,
    -  name: 'foo',
    -  version: '1.0.0',
    -  funding: { url: 'https://example.com' },
    -  dependencies: {
    -    bar: {
    -      version: '1.0.0',
    -      funding: { url: 'http://collective.example.com' }
    -    }
    -  }
    -}
    -```
    -
    -## Install
    -
    -`$ npm install libnpmfund`
    -
    -### Contributing
    -
    -The npm team enthusiastically welcomes contributions and project participation!
    -There's a bunch of things you can do if you want to contribute! The
    -[Contributor Guide](https://github.com/npm/cli/blob/latest/CONTRIBUTING.md)
    -outlines the process for community interaction and contribution. Please don't
    -hesitate to jump in if you'd like to, or even ask us questions if something
    -isn't clear.
    -
    -All participants and maintainers in this project are expected to follow the
    -[npm Code of Conduct](https://www.npmjs.com/policies/conduct), and just
    -generally be excellent to each other.
    -
    -Please refer to the [Changelog](CHANGELOG.md) for project history details, too.
    -
    -Happy hacking!
    -
    -### API
    -
    -#####  `> fund.read([opts]) -> Promise`
    -
    -Reads **funding** info from a npm install and returns a promise for a
    -tree object that only contains packages in which funding info is defined.
    -
    -Options:
    -
    -- `countOnly`: Uses the tree-traversal logic from **npm fund** but skips over
    -any obj definition and just returns an obj containing `{ length }` - useful for
    -things such as printing a `6 packages are looking for funding` msg.
    -- `workspaces`: `Array` List of workspaces names to filter for,
    -the result will only include a subset of the resulting tree that includes
    -only the nodes that are children of the listed workspaces names.
    -- `path`, `registry` and more [Arborist](https://github.com/npm/arborist/) options.
    -
    -#####  `> fund.readTree(tree, [opts]) -> Promise`
    -
    -Reads **funding** info from a given install tree and returns a tree object
    -that only contains packages in which funding info is defined.
    -
    -- `tree`: An [`arborist`](https://github.com/npm/arborist) tree to be used, e.g:
    -
    -```js
    -const Arborist = require('@npmcli/arborist')
    -const { readTree } = require('libnpmfund')
    -
    -const arb = new Arborist({ path: process.cwd() })
    -const tree = await arb.loadActual()
    -
    -return readTree(tree, { countOnly: false })
    -```
    -
    -Options:
    -
    -- `countOnly`: Uses the tree-traversal logic from **npm fund** but skips over
    -any obj definition and just returns an obj containing `{ length }` - useful for
    -things such as printing a `6 packages are looking for funding` msg.
    -
    -#####  `> fund.normalizeFunding(funding) -> Object`
    -
    -From a `funding` ``, retrieves normalized funding objects
    -containing a `url` property.
    -
    -e.g:
    -
    -```js
    -normalizeFunding('http://example.com')
    -// => {
    -  url: 'http://example.com'
    -}
    -```
    -
    -#####  `> fund.isValidFunding(funding) -> Boolean`
    -
    -Returns `` if `funding` is a valid funding object, e.g:
    -
    -```js
    -isValidFunding({ foo: 'not a valid funding obj' })
    -// => false
    -
    -isValidFunding('http://example.com')
    -// => true
    -```
    -
    -## LICENSE
    -
    -[ISC](./LICENSE)
    diff --git a/deps/npm/node_modules/libnpmhook/README.md b/deps/npm/node_modules/libnpmhook/README.md
    deleted file mode 100644
    index ce6e8c1a519898..00000000000000
    --- a/deps/npm/node_modules/libnpmhook/README.md
    +++ /dev/null
    @@ -1,271 +0,0 @@
    -# libnpmhook
    -
    -[![npm version](https://img.shields.io/npm/v/libnpmhook.svg)](https://npm.im/libnpmhook)
    -[![license](https://img.shields.io/npm/l/libnpmhook.svg)](https://npm.im/libnpmhook)
    -[![Coverage Status](https://coveralls.io/repos/github/npm/libnpmhook/badge.svg?branch=latest)](https://coveralls.io/github/npm/libnpmhook?branch=latest)
    -
    -[`libnpmhook`](https://github.com/npm/libnpmhook) is a Node.js library for
    -programmatically managing the npm registry's server-side hooks.
    -
    -For a more general introduction to managing hooks, see [the introductory blog
    -post](https://blog.npmjs.org/post/145260155635/introducing-hooks-get-notifications-of-npm).
    -
    -## Table of Contents
    -
    -* [Example](#example)
    -* [Install](#install)
    -* [Contributing](#contributing)
    -* [API](#api)
    -  * [hook opts](#opts)
    -  * [`add()`](#add)
    -  * [`rm()`](#rm)
    -  * [`ls()`](#ls)
    -  * [`ls.stream()`](#ls-stream)
    -  * [`update()`](#update)
    -
    -## Example
    -
    -```js
    -const hooks = require('libnpmhook')
    -
    -console.log(await hooks.ls('mypkg', {token: 'deadbeef'}))
    -// array of hook objects on `mypkg`.
    -```
    -
    -## Install
    -
    -`$ npm install libnpmhook`
    -
    -### API
    -
    -####  `opts` for `libnpmhook` commands
    -
    -`libnpmhook` uses [`npm-registry-fetch`](https://npm.im/npm-registry-fetch).
    -All options are passed through directly to that library, so please refer to [its
    -own `opts`
    -documentation](https://www.npmjs.com/package/npm-registry-fetch#fetch-options)
    -for options that can be passed in.
    -
    -A couple of options of note for those in a hurry:
    -
    -* `opts.token` - can be passed in and will be used as the authentication token for the registry. For other ways to pass in auth details, see the n-r-f docs.
    -* `opts.otp` - certain operations will require an OTP token to be passed in. If a `libnpmhook` command fails with `err.code === EOTP`, please retry the request with `{otp: <2fa token>}`
    -
    -####  `> hooks.add(name, endpoint, secret, [opts]) -> Promise`
    -
    -`name` is the name of the package, org, or user/org scope to watch. The type is
    -determined by the name syntax: `'@foo/bar'` and `'foo'` are treated as packages,
    -`@foo` is treated as a scope, and `~user` is treated as an org name or scope.
    -Each type will attach to different events.
    -
    -The `endpoint` should be a fully-qualified http URL for the endpoint the hook
    -will send its payload to when it fires. `secret` is a shared secret that the
    -hook will send to that endpoint to verify that it's actually coming from the
    -registry hook.
    -
    -The returned Promise resolves to the full hook object that was created,
    -including its generated `id`.
    -
    -See also: [`POST
    -/v1/hooks/hook`](https://github.com/npm/registry/blob/master/docs/hooks/endpoints.md#post-v1hookshook)
    -
    -##### Example
    -
    -```javascript
    -await hooks.add('~zkat', 'https://example.com/api/added', 'supersekrit', {
    -  token: 'myregistrytoken',
    -  otp: '694207'
    -})
    -
    -=>
    -
    -{ id: '16f7xoal',
    -  username: 'zkat',
    -  name: 'zkat',
    -  endpoint: 'https://example.com/api/added',
    -  secret: 'supersekrit',
    -  type: 'owner',
    -  created: '2018-08-21T20:05:25.125Z',
    -  updated: '2018-08-21T20:05:25.125Z',
    -  deleted: false,
    -  delivered: false,
    -  last_delivery: null,
    -  response_code: 0,
    -  status: 'active' }
    -```
    -
    -####  `> hooks.find(id, [opts]) -> Promise`
    -
    -Returns the hook identified by `id`.
    -
    -The returned Promise resolves to the full hook object that was found, or error
    -with `err.code` of `'E404'` if it didn't exist.
    -
    -See also: [`GET
    -/v1/hooks/hook/:id`](https://github.com/npm/registry/blob/master/docs/hooks/endpoints.md#get-v1hookshookid)
    -
    -##### Example
    -
    -```javascript
    -await hooks.find('16f7xoal', {token: 'myregistrytoken'})
    -
    -=>
    -
    -{ id: '16f7xoal',
    -  username: 'zkat',
    -  name: 'zkat',
    -  endpoint: 'https://example.com/api/added',
    -  secret: 'supersekrit',
    -  type: 'owner',
    -  created: '2018-08-21T20:05:25.125Z',
    -  updated: '2018-08-21T20:05:25.125Z',
    -  deleted: false,
    -  delivered: false,
    -  last_delivery: null,
    -  response_code: 0,
    -  status: 'active' }
    -```
    -
    -####  `> hooks.rm(id, [opts]) -> Promise`
    -
    -Removes the hook identified by `id`.
    -
    -The returned Promise resolves to the full hook object that was removed, if it
    -existed, or `null` if no such hook was there (instead of erroring).
    -
    -See also: [`DELETE
    -/v1/hooks/hook/:id`](https://github.com/npm/registry/blob/master/docs/hooks/endpoints.md#delete-v1hookshookid)
    -
    -##### Example
    -
    -```javascript
    -await hooks.rm('16f7xoal', {
    -  token: 'myregistrytoken',
    -  otp: '694207'
    -})
    -
    -=>
    -
    -{ id: '16f7xoal',
    -  username: 'zkat',
    -  name: 'zkat',
    -  endpoint: 'https://example.com/api/added',
    -  secret: 'supersekrit',
    -  type: 'owner',
    -  created: '2018-08-21T20:05:25.125Z',
    -  updated: '2018-08-21T20:05:25.125Z',
    -  deleted: true,
    -  delivered: false,
    -  last_delivery: null,
    -  response_code: 0,
    -  status: 'active' }
    -
    -// Repeat it...
    -await hooks.rm('16f7xoal', {
    -  token: 'myregistrytoken',
    -  otp: '694207'
    -})
    -
    -=> null
    -```
    -
    -####  `> hooks.update(id, endpoint, secret, [opts]) -> Promise`
    -
    -The `id` should be a hook ID from a previously-created hook.
    -
    -The `endpoint` should be a fully-qualified http URL for the endpoint the hook
    -will send its payload to when it fires. `secret` is a shared secret that the
    -hook will send to that endpoint to verify that it's actually coming from the
    -registry hook.
    -
    -The returned Promise resolves to the full hook object that was updated, if it
    -existed. Otherwise, it will error with an `'E404'` error code.
    -
    -See also: [`PUT
    -/v1/hooks/hook/:id`](https://github.com/npm/registry/blob/master/docs/hooks/endpoints.md#put-v1hookshookid)
    -
    -##### Example
    -
    -```javascript
    -await hooks.update('16fxoal', 'https://example.com/api/other', 'newsekrit', {
    -  token: 'myregistrytoken',
    -  otp: '694207'
    -})
    -
    -=>
    -
    -{ id: '16f7xoal',
    -  username: 'zkat',
    -  name: 'zkat',
    -  endpoint: 'https://example.com/api/other',
    -  secret: 'newsekrit',
    -  type: 'owner',
    -  created: '2018-08-21T20:05:25.125Z',
    -  updated: '2018-08-21T20:14:41.964Z',
    -  deleted: false,
    -  delivered: false,
    -  last_delivery: null,
    -  response_code: 0,
    -  status: 'active' }
    -```
    -
    -####  `> hooks.ls([opts]) -> Promise`
    -
    -Resolves to an array of hook objects associated with the account you're
    -authenticated as.
    -
    -Results can be further filtered with three values that can be passed in through
    -`opts`:
    -
    -* `opts.package` - filter results by package name
    -* `opts.limit` - maximum number of hooks to return
    -* `opts.offset` - pagination offset for results (use with `opts.limit`)
    -
    -See also:
    -  * [`hooks.ls.stream()`](#ls-stream)
    -  * [`GET
    -/v1/hooks`](https://github.com/npm/registry/blob/master/docs/hooks/endpoints.md#get-v1hooks)
    -
    -##### Example
    -
    -```javascript
    -await hooks.ls({token: 'myregistrytoken'})
    -
    -=>
    -[
    -  { id: '16f7xoal', ... },
    -  { id: 'wnyf98a1', ... },
    -  ...
    -]
    -```
    -
    -####  `> hooks.ls.stream([opts]) -> Stream`
    -
    -Returns a stream of hook objects associated with the account you're
    -authenticated as. The returned stream is a valid `Symbol.asyncIterator` on
    -`node@>=10`.
    -
    -Results can be further filtered with three values that can be passed in through
    -`opts`:
    -
    -* `opts.package` - filter results by package name
    -* `opts.limit` - maximum number of hooks to return
    -* `opts.offset` - pagination offset for results (use with `opts.limit`)
    -
    -See also:
    -  * [`hooks.ls()`](#ls)
    -  * [`GET
    -/v1/hooks`](https://github.com/npm/registry/blob/master/docs/hooks/endpoints.md#get-v1hooks)
    -
    -##### Example
    -
    -```javascript
    -for await (let hook of hooks.ls.stream({token: 'myregistrytoken'})) {
    -  console.log('found hook:', hook.id)
    -}
    -
    -=>
    -// outputs:
    -// found hook: 16f7xoal
    -// found hook: wnyf98a1
    -```
    diff --git a/deps/npm/node_modules/libnpmorg/README.md b/deps/npm/node_modules/libnpmorg/README.md
    deleted file mode 100644
    index b2e1ed589b8e98..00000000000000
    --- a/deps/npm/node_modules/libnpmorg/README.md
    +++ /dev/null
    @@ -1,149 +0,0 @@
    -# libnpmorg
    -
    -[![npm version](https://img.shields.io/npm/v/libnpmorg.svg)](https://npm.im/libnpmorg)
    -[![license](https://img.shields.io/npm/l/libnpmorg.svg)](https://npm.im/libnpmorg)
    -[![GitHub Actions](https://github.com/npm/libnpmorg/workflows/Node%20CI/badge.svg)](https://github.com/npm/libnpmorg/workflows/Node%20CI/badge.svg)
    -[![Coverage Status](https://coveralls.io/repos/github/npm/libnpmorg/badge.svg?branch=latest)](https://coveralls.io/github/npm/libnpmorg?branch=latest)
    -
    -[`libnpmorg`](https://github.com/npm/libnpmorg) is a Node.js library for
    -programmatically accessing the [npm Org membership
    -API](https://github.com/npm/registry/blob/master/docs/orgs/memberships.md#membership-detail).
    -
    -## Table of Contents
    -
    -* [Example](#example)
    -* [Install](#install)
    -* [Contributing](#contributing)
    -* [API](#api)
    -  * [hook opts](#opts)
    -  * [`set()`](#set)
    -  * [`rm()`](#rm)
    -  * [`ls()`](#ls)
    -  * [`ls.stream()`](#ls-stream)
    -
    -## Example
    -
    -```js
    -const org = require('libnpmorg')
    -
    -console.log(await org.ls('myorg', {token: 'deadbeef'}))
    -=>
    -Roster {
    -  zkat: 'developer',
    -  iarna: 'admin',
    -  isaacs: 'owner'
    -}
    -```
    -
    -## Install
    -
    -`$ npm install libnpmorg`
    -
    -### API
    -
    -####  `opts` for `libnpmorg` commands
    -
    -`libnpmorg` uses [`npm-registry-fetch`](https://npm.im/npm-registry-fetch).
    -All options are passed through directly to that library, so please refer to [its
    -own `opts`
    -documentation](https://www.npmjs.com/package/npm-registry-fetch#fetch-options)
    -for options that can be passed in.
    -
    -A couple of options of note for those in a hurry:
    -
    -* `opts.token` - can be passed in and will be used as the authentication token for the registry. For other ways to pass in auth details, see the n-r-f docs.
    -* `opts.otp` - certain operations will require an OTP token to be passed in. If a `libnpmorg` command fails with `err.code === EOTP`, please retry the request with `{otp: <2fa token>}`
    -
    -####  `> org.set(org, user, [role], [opts]) -> Promise`
    -
    -The returned Promise resolves to a [Membership
    -Detail](https://github.com/npm/registry/blob/master/docs/orgs/memberships.md#membership-detail)
    -object.
    -
    -The `role` is optional and should be one of `admin`, `owner`, or `developer`.
    -`developer` is the default if no `role` is provided.
    -
    -`org` and `user` must be scope names for the org name and user name
    -respectively. They can optionally be prefixed with `@`.
    -
    -See also: [`PUT
    -/-/org/:scope/user`](https://github.com/npm/registry/blob/master/docs/orgs/memberships.md#org-membership-replace)
    -
    -##### Example
    -
    -```javascript
    -await org.set('@myorg', '@myuser', 'admin', {token: 'deadbeef'})
    -=>
    -MembershipDetail {
    -  org: {
    -    name: 'myorg',
    -    size: 15
    -  },
    -  user: 'myuser',
    -  role: 'admin'
    -}
    -```
    -
    -####  `> org.rm(org, user, [opts]) -> Promise`
    -
    -The Promise resolves to `null` on success.
    -
    -`org` and `user` must be scope names for the org name and user name
    -respectively. They can optionally be prefixed with `@`.
    -
    -See also: [`DELETE
    -/-/org/:scope/user`](https://github.com/npm/registry/blob/master/docs/orgs/memberships.md#org-membership-delete)
    -
    -##### Example
    -
    -```javascript
    -await org.rm('myorg', 'myuser', {token: 'deadbeef'})
    -```
    -
    -####  `> org.ls(org, [opts]) -> Promise`
    -
    -The Promise resolves to a
    -[Roster](https://github.com/npm/registry/blob/master/docs/orgs/memberships.md#roster)
    -object.
    -
    -`org` must be a scope name for an org, and can be optionally prefixed with `@`.
    -
    -See also: [`GET
    -/-/org/:scope/user`](https://github.com/npm/registry/blob/master/docs/orgs/memberships.md#org-roster)
    -
    -##### Example
    -
    -```javascript
    -await org.ls('myorg', {token: 'deadbeef'})
    -=>
    -Roster {
    -  zkat: 'developer',
    -  iarna: 'admin',
    -  isaacs: 'owner'
    -}
    -```
    -
    -####  `> org.ls.stream(org, [opts]) -> Stream`
    -
    -Returns a stream of entries for a
    -[Roster](https://github.com/npm/registry/blob/master/docs/orgs/memberships.md#roster),
    -with each emitted entry in `[key, value]` format.
    -
    -`org` must be a scope name for an org, and can be optionally prefixed with `@`.
    -
    -The returned stream is a valid `Symbol.asyncIterator`.
    -
    -See also: [`GET
    -/-/org/:scope/user`](https://github.com/npm/registry/blob/master/docs/orgs/memberships.md#org-roster)
    -
    -##### Example
    -
    -```javascript
    -for await (let [user, role] of org.ls.stream('myorg', {token: 'deadbeef'})) {
    -  console.log(`user: ${user} (${role})`)
    -}
    -=>
    -user: zkat (developer)
    -user: iarna (admin)
    -user: isaacs (owner)
    -```
    diff --git a/deps/npm/node_modules/libnpmpack/CHANGELOG.md b/deps/npm/node_modules/libnpmpack/CHANGELOG.md
    deleted file mode 100644
    index 2310ac7f896906..00000000000000
    --- a/deps/npm/node_modules/libnpmpack/CHANGELOG.md
    +++ /dev/null
    @@ -1,17 +0,0 @@
    -# Change Log
    -
    -
    -# [2.0.0](https://github.com/npm/libnpmpack/compare/v1.0.0...v2.0.0) (2020-03-27)
    -
    -### Breaking Changes
    -
    -* [`cb2ecf2`](https://github.com/npm/libnpmpack/commit/cb2ecf2) feat: resolve to tarball data Buffer ([@claudiahdz](https://github.com/claudiahdz))
    -
    - 
    -# 1.0.0 (2020-03-26)
    -
    -### Features
    -
    -* [`a35c590`](https://github.com/npm/libnpmpack/commit/a35c590) feat: pack tarballs from local dir or registry spec ([@claudiahdz](https://github.com/claudiahdz))
    -
    -* [`6d72149`](https://github.com/npm/libnpmpack/commit/6d72149) feat: sorted tarball contents ([@eridal](https://github.com/eridal))
    diff --git a/deps/npm/node_modules/libnpmpack/README.md b/deps/npm/node_modules/libnpmpack/README.md
    deleted file mode 100644
    index 74b4934b0b7190..00000000000000
    --- a/deps/npm/node_modules/libnpmpack/README.md
    +++ /dev/null
    @@ -1,56 +0,0 @@
    -# libnpmpack
    -
    -[![npm version](https://img.shields.io/npm/v/libnpmpack.svg)](https://npm.im/libnpmpack)
    -[![license](https://img.shields.io/npm/l/libnpmpack.svg)](https://npm.im/libnpmpack)
    -[![GitHub Actions](https://github.com/npm/libnpmpack/workflows/Node%20CI/badge.svg)](https://github.com/npm/libnpmpack/actions?query=workflow%3A%22Node+CI%22)
    -[![Coverage Status](https://coveralls.io/repos/github/npm/libnpmpack/badge.svg?branch=latest)](https://coveralls.io/github/npm/libnpmpack?branch=latest)
    -
    -[`libnpmpack`](https://github.com/npm/libnpmpack) is a Node.js library for
    -programmatically packing tarballs from a local directory or from a registry or github spec. If packing from a local source, `libnpmpack` will also run the `prepack` and `postpack` lifecycles.
    -
    -## Table of Contents
    -
    -* [Example](#example)
    -* [Install](#install)
    -* [API](#api)
    -  * [`pack()`](#pack)
    -
    -## Example
    -
    -```js
    -const pack = require('libnpmpack')
    -```
    -
    -## Install
    -
    -`$ npm install libnpmpack`
    -
    -### API
    -
    -####  `> pack(spec, [opts]) -> Promise`
    -
    -Packs a tarball from a local directory or from a registry or github spec and returns a Promise that resolves to the tarball data Buffer, with from, resolved, and integrity fields attached.
    -
    -If no options are passed, the tarball file will be saved on the same directory from which `pack` was called in.
    - 
    -`libnpmpack` uses [`pacote`](https://npm.im/pacote).
    -Most options are passed through directly to that library, so please refer to
    -[its own `opts`
    -documentation](https://www.npmjs.com/package/pacote#options)
    -for options that can be passed in.
    -
    -##### Examples
    -
    -```javascript
    -// packs from cwd
    -const tarball = await pack()
    -
    -// packs from a local directory
    -const localTar = await pack('/Users/claudiahdz/projects/my-cool-pkg')
    -
    -// packs from a registry spec
    -const registryTar = await pack('abbrev@1.0.3')
    -
    -// packs from a github spec
    -const githubTar = await pack('isaacs/rimraf#PR-192')
    -```
    diff --git a/deps/npm/node_modules/libnpmpublish/README.md b/deps/npm/node_modules/libnpmpublish/README.md
    deleted file mode 100644
    index 0da46e89d3b051..00000000000000
    --- a/deps/npm/node_modules/libnpmpublish/README.md
    +++ /dev/null
    @@ -1,105 +0,0 @@
    -# libnpmpublish
    -
    -[`libnpmpublish`](https://github.com/npm/libnpmpublish) is a Node.js
    -library for programmatically publishing and unpublishing npm packages. Give
    -it a manifest as an object and a tarball as a Buffer, and it'll put them on
    -the registry for you.
    -
    -## Table of Contents
    -
    -* [Example](#example)
    -* [Install](#install)
    -* [API](#api)
    -  * [publish/unpublish opts](#opts)
    -  * [`publish()`](#publish)
    -  * [`unpublish()`](#unpublish)
    -
    -## Example
    -
    -```js
    -const { publish, unpublish } = require('libnpmpublish')
    -```
    -
    -## Install
    -
    -`$ npm install libnpmpublish`
    -
    -### API
    -
    -####  `opts` for `libnpmpublish` commands
    -
    -`libnpmpublish` uses
    -[`npm-registry-fetch`](https://npm.im/npm-registry-fetch).  Most options
    -are passed through directly to that library, so please refer to [its own
    -`opts` documentation](http://npm.im/npm-registry-fetch#fetch-options) for
    -options that can be passed in.
    -
    -A couple of options of note:
    -
    -* `opts.defaultTag` - registers the published package with the given tag,
    -  defaults to `latest`.
    -
    -* `opts.access` - tells the registry whether this package should be
    -  published as public or restricted. Only applies to scoped packages, which
    -  default to restricted.
    -
    -* `opts.token` - can be passed in and will be used as the authentication
    -  token for the registry. For other ways to pass in auth details, see the
    -  n-r-f docs.
    -
    -####  `> libpub.publish(manifest, tarData, [opts]) -> Promise`
    -
    -Sends the package represented by the `manifest` and `tarData` to the
    -configured registry.
    -
    -`manifest` should be the parsed `package.json` for the package being
    -published (which can also be the manifest pulled from a packument, a git
    -repo, tarball, etc.)
    -
    -`tarData` is a `Buffer` of the tarball being published.
    -
    -If `opts.npmVersion` is passed in, it will be used as the `_npmVersion`
    -field in the outgoing packument.  You may put your own user-agent string in
    -there to identify your publishes.
    -
    -If `opts.algorithms` is passed in, it should be an array of hashing
    -algorithms to generate `integrity` hashes for. The default is `['sha512']`,
    -which means you end up with `dist.integrity = 'sha512-deadbeefbadc0ffee'`.
    -Any algorithm supported by your current node version is allowed -- npm
    -clients that do not support those algorithms will simply ignore the
    -unsupported hashes.
    -
    -##### Example
    -
    -```js
    -// note that pacote.manifest() and pacote.tarball() can also take
    -// any spec that npm can install.  a folder shown here, since that's
    -// far and away the most common use case.
    -const path = '/a/path/to/your/source/code'
    -const pacote = require('pacote') // see: http://npm.im/pacote
    -const manifest = await pacote.manifest(path)
    -const tarData = await pacote.tarball(path)
    -await libpub.publish(manifest, tarData, {
    -  npmVersion: 'my-pub-script@1.0.2',
    -  token: 'my-auth-token-here'
    -}, opts)
    -// Package has been published to the npm registry.
    -```
    -
    -####  `> libpub.unpublish(spec, [opts]) -> Promise`
    -
    -Unpublishes `spec` from the appropriate registry. The registry in question may
    -have its own limitations on unpublishing.
    -
    -`spec` should be either a string, or a valid
    -[`npm-package-arg`](https://npm.im/npm-package-arg) parsed spec object. For
    -legacy compatibility reasons, only `tag` and `version` specs will work as
    -expected. `range` specs will fail silently in most cases.
    -
    -##### Example
    -
    -```js
    -await libpub.unpublish('lodash', { token: 'i-am-the-worst'})
    -//
    -// `lodash` has now been unpublished, along with all its versions
    -```
    diff --git a/deps/npm/node_modules/libnpmsearch/README.md b/deps/npm/node_modules/libnpmsearch/README.md
    deleted file mode 100644
    index 31f44fe247923d..00000000000000
    --- a/deps/npm/node_modules/libnpmsearch/README.md
    +++ /dev/null
    @@ -1,173 +0,0 @@
    -# libnpmsearch
    -
    -[![npm version](https://img.shields.io/npm/v/libnpmsearch.svg)](https://npm.im/libnpmsearch)
    -[![license](https://img.shields.io/npm/l/libnpmsearch.svg)](https://npm.im/libnpmsearch)
    -[![Coverage Status](https://coveralls.io/repos/github/npm/libnpmsearch/badge.svg?branch=latest)](https://coveralls.io/github/npm/libnpmsearch?branch=latest)
    -
    -[`libnpmsearch`](https://github.com/npm/libnpmsearch) is a Node.js library for
    -programmatically accessing the npm search endpoint. It does **not** support
    -legacy search through `/-/all`.
    -
    -## Table of Contents
    -
    -* [Example](#example)
    -* [Install](#install)
    -* [Contributing](#contributing)
    -* [API](#api)
    -  * [search opts](#opts)
    -  * [`search()`](#search)
    -  * [`search.stream()`](#search-stream)
    -
    -## Example
    -
    -```js
    -const search = require('libnpmsearch')
    -
    -console.log(await search('libnpm'))
    -=>
    -[
    -  {
    -    name: 'libnpm',
    -    description: 'programmatic npm API',
    -    ...etc
    -  },
    -  {
    -    name: 'libnpmsearch',
    -    description: 'Programmatic API for searching in npm and compatible registries',
    -    ...etc
    -  },
    -  ...more
    -]
    -```
    -
    -## Install
    -
    -`$ npm install libnpmsearch`
    -
    -### API
    -
    -####  `opts` for `libnpmsearch` commands
    -
    -The following opts are used directly by `libnpmsearch` itself:
    -
    -* `opts.limit` - Number of results to limit the query to. Default: 20
    -* `opts.from` - Offset number for results. Used with `opts.limit` for pagination. Default: 0
    -* `opts.detailed` - If true, returns an object with `package`, `score`, and `searchScore` fields, with `package` being what would usually be returned, and the other two containing details about how that package scored. Useful for UIs. Default: false
    -* `opts.sortBy` - Used as a shorthand to set `opts.quality`, `opts.maintenance`, and `opts.popularity` with values that prioritize each one. Should be one of `'optimal'`, `'quality'`, `'maintenance'`, or `'popularity'`. Default: `'optimal'`
    -* `opts.maintenance` - Decimal number between `0` and `1` that defines the weight of `maintenance` metrics when scoring and sorting packages. Default: `0.65` (same as `opts.sortBy: 'optimal'`)
    -* `opts.popularity` - Decimal number between `0` and `1` that defines the weight of `popularity` metrics when scoring and sorting packages. Default: `0.98` (same as `opts.sortBy: 'optimal'`)
    -* `opts.quality` - Decimal number between `0` and `1` that defines the weight of `quality` metrics when scoring and sorting packages. Default: `0.5` (same as `opts.sortBy: 'optimal'`)
    -
    -`libnpmsearch` uses [`npm-registry-fetch`](https://npm.im/npm-registry-fetch).
    -Most options are passed through directly to that library, so please refer to
    -[its own `opts`
    -documentation](https://www.npmjs.com/package/npm-registry-fetch#fetch-options)
    -for options that can be passed in.
    -
    -A couple of options of note for those in a hurry:
    -
    -* `opts.token` - can be passed in and will be used as the authentication token for the registry. For other ways to pass in auth details, see the n-r-f docs.
    -
    -####  `> search(query, [opts]) -> Promise`
    -
    -`query` must be either a String or an Array of search terms.
    -
    -If `opts.limit` is provided, it will be sent to the API to constrain the number
    -of returned results. You may receive more, or fewer results, at the endpoint's
    -discretion.
    -
    -The returned Promise resolved to an Array of search results with the following
    -format:
    -
    -```js
    -{
    -  name: String,
    -  version: SemverString,
    -  description: String || null,
    -  maintainers: [
    -    {
    -      username: String,
    -      email: String
    -    },
    -    ...etc
    -  ] || null,
    -  keywords: [String] || null,
    -  date: Date || null
    -}
    -```
    -
    -If `opts.limit` is provided, it will be sent to the API to constrain the number
    -of returned results. You may receive more, or fewer results, at the endpoint's
    -discretion.
    -
    -For streamed results, see [`search.stream`](#search-stream).
    -
    -##### Example
    -
    -```javascript
    -await search('libnpm')
    -=>
    -[
    -  {
    -    name: 'libnpm',
    -    description: 'programmatic npm API',
    -    ...etc
    -  },
    -  {
    -    name: 'libnpmsearch',
    -    description: 'Programmatic API for searching in npm and compatible registries',
    -    ...etc
    -  },
    -  ...more
    -]
    -```
    -
    -####  `> search.stream(query, [opts]) -> Stream`
    -
    -`query` must be either a String or an Array of search terms.
    -
    -If `opts.limit` is provided, it will be sent to the API to constrain the number
    -of returned results. You may receive more, or fewer results, at the endpoint's
    -discretion.
    -
    -The returned Stream emits one entry per search result, with each entry having
    -the following format:
    -
    -```js
    -{
    -  name: String,
    -  version: SemverString,
    -  description: String || null,
    -  maintainers: [
    -    {
    -      username: String,
    -      email: String
    -    },
    -    ...etc
    -  ] || null,
    -  keywords: [String] || null,
    -  date: Date || null
    -}
    -```
    -
    -For getting results in one chunk, see [`search`](#search-stream).
    -
    -##### Example
    -
    -```javascript
    -search.stream('libnpm').on('data', console.log)
    -=>
    -// entry 1
    -{
    -  name: 'libnpm',
    -  description: 'programmatic npm API',
    -  ...etc
    -}
    -// entry 2
    -{
    -  name: 'libnpmsearch',
    -  description: 'Programmatic API for searching in npm and compatible registries',
    -  ...etc
    -}
    -// etc
    -```
    diff --git a/deps/npm/node_modules/libnpmteam/README.md b/deps/npm/node_modules/libnpmteam/README.md
    deleted file mode 100644
    index bb2700292dc8aa..00000000000000
    --- a/deps/npm/node_modules/libnpmteam/README.md
    +++ /dev/null
    @@ -1,189 +0,0 @@
    -# libnpmteam
    -
    -[![npm version](https://img.shields.io/npm/v/libnpmteam.svg)](https://npm.im/libnpmteam)
    -[![license](https://img.shields.io/npm/l/libnpmteam.svg)](https://npm.im/libnpmteam)
    -[![GitHub Actions](https://github.com/npm/libnpmteam/workflows/Node%20CI/badge.svg)](https://github.com/npm/libnpmteam/workflows/Node%20CI/badge.svg)
    -[![Coverage Status](https://coveralls.io/repos/github/npm/libnpmteam/badge.svg?branch=latest)](https://coveralls.io/github/npm/libnpmteam?branch=latest)
    -
    -[`libnpmteam`](https://github.com/npm/libnpmteam) is a Node.js
    -library that provides programmatic access to the guts of the npm CLI's `npm
    -team` command and its various subcommands.
    -
    -## Example
    -
    -```javascript
    -const access = require('libnpmteam')
    -
    -// List all teams for the @npm org.
    -console.log(await team.lsTeams('npm'))
    -```
    -
    -## Publishing
    -1. Manually create CHANGELOG.md file
    -1. Commit changes to CHANGELOG.md
    -    ```bash
    -    $ git commit -m "chore: updated CHANGELOG.md"
    -    ```
    -1. Run `npm version {newVersion}`
    -    ```bash
    -    # Example
    -    $ npm version patch
    -    # 1. Runs `coverage` and `lint` scripts
    -    # 2. Bumps package version; and **create commit/tag**
    -    # 3. Runs `npm publish`; publishing directory with **unpushed commit**
    -    # 4. Runs `git push origin --follow-tags`
    -    ```
    -
    -## Table of Contents
    -
    -* [Installing](#install)
    -* [Example](#example)
    -* [API](#api)
    -  * [team opts](#opts)
    -  * [`create()`](#create)
    -  * [`destroy()`](#destroy)
    -  * [`add()`](#add)
    -  * [`rm()`](#rm)
    -  * [`lsTeams()`](#ls-teams)
    -  * [`lsTeams.stream()`](#ls-teams-stream)
    -  * [`lsUsers()`](#ls-users)
    -  * [`lsUsers.stream()`](#ls-users-stream)
    -
    -### Install
    -
    -`$ npm install libnpmteam`
    -
    -### API
    -
    -####  `opts` for `libnpmteam` commands
    -
    -`libnpmteam` uses [`npm-registry-fetch`](https://npm.im/npm-registry-fetch).
    -All options are passed through directly to that library, so please refer to [its
    -own `opts`
    -documentation](https://www.npmjs.com/package/npm-registry-fetch#fetch-options)
    -for options that can be passed in.
    -
    -A couple of options of note for those in a hurry:
    -
    -* `opts.token` - can be passed in and will be used as the authentication token for the registry. For other ways to pass in auth details, see the n-r-f docs.
    -* `opts.otp` - certain operations will require an OTP token to be passed in. If a `libnpmteam` command fails with `err.code === EOTP`, please retry the request with `{otp: <2fa token>}`
    -
    -####  `> team.create(team, [opts]) -> Promise`
    -
    -Creates a team named `team`. Team names use the format `@:`, with
    -the `@` being optional.
    -
    -Additionally, `opts.description` may be passed in to include a description.
    -
    -##### Example
    -
    -```javascript
    -await team.create('@npm:cli', {token: 'myregistrytoken'})
    -// The @npm:cli team now exists.
    -```
    -
    -####  `> team.destroy(team, [opts]) -> Promise`
    -
    -Destroys a team named `team`. Team names use the format `@:`, with
    -the `@` being optional.
    -
    -##### Example
    -
    -```javascript
    -await team.destroy('@npm:cli', {token: 'myregistrytoken'})
    -// The @npm:cli team has been destroyed.
    -```
    -
    -####  `> team.add(user, team, [opts]) -> Promise`
    -
    -Adds `user` to `team`.
    -
    -##### Example
    -
    -```javascript
    -await team.add('zkat', '@npm:cli', {token: 'myregistrytoken'})
    -// @zkat now belongs to the @npm:cli team.
    -```
    -
    -####  `> team.rm(user, team, [opts]) -> Promise`
    -
    -Removes `user` from `team`.
    -
    -##### Example
    -
    -```javascript
    -await team.rm('zkat', '@npm:cli', {token: 'myregistrytoken'})
    -// @zkat is no longer part of the @npm:cli team.
    -```
    -
    -####  `> team.lsTeams(scope, [opts]) -> Promise`
    -
    -Resolves to an array of team names belonging to `scope`.
    -
    -##### Example
    -
    -```javascript
    -await team.lsTeams('@npm', {token: 'myregistrytoken'})
    -=>
    -[
    -  'npm:cli',
    -  'npm:web',
    -  'npm:registry',
    -  'npm:developers'
    -]
    -```
    -
    -####  `> team.lsTeams.stream(scope, [opts]) -> Stream`
    -
    -Returns a stream of teams belonging to `scope`.
    -
    -For a Promise-based version of these results, see [`team.lsTeams()`](#ls-teams).
    -
    -##### Example
    -
    -```javascript
    -for await (let team of team.lsTeams.stream('@npm', {token: 'myregistrytoken'})) {
    -  console.log(team)
    -}
    -
    -// outputs
    -// npm:cli
    -// npm:web
    -// npm:registry
    -// npm:developers
    -```
    -
    -####  `> team.lsUsers(team, [opts]) -> Promise`
    -
    -Resolves to an array of usernames belonging to `team`.
    -
    -For a streamed version of these results, see [`team.lsUsers.stream()`](#ls-users-stream).
    -
    -##### Example
    -
    -```javascript
    -await team.lsUsers('@npm:cli', {token: 'myregistrytoken'})
    -=>
    -[
    -  'iarna',
    -  'zkat'
    -]
    -```
    -
    -####  `> team.lsUsers.stream(team, [opts]) -> Stream`
    -
    -Returns a stream of usernames belonging to `team`.
    -
    -For a Promise-based version of these results, see [`team.lsUsers()`](#ls-users).
    -
    -##### Example
    -
    -```javascript
    -for await (let user of team.lsUsers.stream('@npm:cli', {token: 'myregistrytoken'})) {
    -  console.log(user)
    -}
    -
    -// outputs
    -// iarna
    -// zkat
    -```
    diff --git a/deps/npm/node_modules/libnpmversion/README.md b/deps/npm/node_modules/libnpmversion/README.md
    deleted file mode 100644
    index e82e7cd6f8730f..00000000000000
    --- a/deps/npm/node_modules/libnpmversion/README.md
    +++ /dev/null
    @@ -1,159 +0,0 @@
    -# libnpmversion
    -
    -Library to do the things that 'npm version' does.
    -
    -## USAGE
    -
    -```js
    -const npmVersion = require('libnpmversion')
    -
    -// argument can be one of:
    -// - any semver version string (set to that exact version)
    -// - 'major', 'minor', 'patch', 'pre{major,minor,patch}' (increment at
    -//   that value)
    -// - 'from-git' (set to the latest semver-lookin git tag - this skips
    -//   gitTagVersion, but will still sign if asked)
    -npmVersion(arg, {
    -  path: '/path/to/my/pkg', // defaults to cwd
    -
    -  allowSameVersion: false, // allow tagging/etc to the current version
    -  preid: '', // when arg=='pre', define the prerelease string, like 'beta' etc.
    -  tagVersionPrefix: 'v', // tag as 'v1.2.3' when versioning to 1.2.3
    -  commitHooks: true, // default true, run git commit hooks, default true
    -  gitTagVersion: true, // default true, tag the version
    -  signGitCommit: false, // default false, gpg sign the git commit
    -  signGitTag: false, // default false, gpg sign the git tag
    -  force: false, // push forward recklessly if any problems happen
    -  ignoreScripts: false, // do not run pre/post/version lifecycle scripts
    -  scriptShell: '/bin/bash', // shell to run lifecycle scripts in
    -  message: 'v%s', // message for tag and commit, replace %s with the version
    -}).then(newVersion => {
    -  console.error('version updated!', newVersion)
    -})
    -```
    -
    -## Description
    -
    -Run this in a package directory to bump the version and write the new data
    -back to `package.json`, `package-lock.json`, and, if present,
    -`npm-shrinkwrap.json`.
    -
    -The `newversion` argument should be a valid semver string, a valid second
    -argument to [semver.inc](https://github.com/npm/node-semver#functions) (one
    -of `patch`, `minor`, `major`, `prepatch`, `preminor`, `premajor`,
    -`prerelease`), or `from-git`. In the second case, the existing version will
    -be incremented by 1 in the specified field.  `from-git` will try to read
    -the latest git tag, and use that as the new npm version.
    -
    -If run in a git repo, it will also create a version commit and tag.  This
    -behavior is controlled by `gitTagVersion` (see below), and can be
    -disabled by setting `gitTagVersion: false` in the options.
    -It will fail if the working directory is not clean, unless `force: true` is
    -set.
    -
    -If supplied with a `message` string option, it will
    -use it as a commit message when creating a version commit.  If the
    -`message` option contains `%s` then that will be replaced with the
    -resulting version number.
    -
    -If the `signGitTag` option is set, then the tag will be signed using
    -the `-s` flag to git.  Note that you must have a default GPG key set up in
    -your git config for this to work properly.
    -
    -If `preversion`, `version`, or `postversion` are in the `scripts` property
    -of the package.json, they will be executed in the appropriate sequence.
    -
    -The exact order of execution is as follows:
    -
    -1. Check to make sure the git working directory is clean before we get
    -   started.  Your scripts may add files to the commit in future steps.
    -   This step is skipped if the `force` flag is set.
    -2. Run the `preversion` script.  These scripts have access to the old
    -   `version` in package.json.  A typical use would be running your full
    -   test suite before deploying.  Any files you want added to the commit
    -   should be explicitly added using `git add`.
    -3. Bump `version` in `package.json` as requested (`patch`, `minor`,
    -   `major`, explicit version number, etc).
    -4. Run the `version` script. These scripts have access to the new `version`
    -   in package.json (so they can incorporate it into file headers in
    -   generated files for example).  Again, scripts should explicitly add
    -   generated files to the commit using `git add`.
    -5. Commit and tag.
    -6. Run the `postversion` script. Use it to clean up the file system or
    -   automatically push the commit and/or tag.
    -
    -Take the following example:
    -
    -```json
    -{
    -  "scripts": {
    -    "preversion": "npm test",
    -    "version": "npm run build && git add -A dist",
    -    "postversion": "git push && git push --tags && rm -rf build/temp"
    -  }
    -}
    -```
    -
    -This runs all your tests, and proceeds only if they pass. Then runs your
    -`build` script, and adds everything in the `dist` directory to the commit.
    -After the commit, it pushes the new commit and tag up to the server, and
    -deletes the `build/temp` directory.
    -
    -## API
    -
    -### `npmVersion(newversion, options = {}) -> Promise`
    -
    -Do the things.  Returns a promise that resolves to the new version if
    -all is well, or rejects if any errors are encountered.
    -
    -### Options
    -
    -#### `path` String
    -
    -The path to the package being versionified.  Defaults to process.cwd().
    -
    -#### `allowSameVersion` Boolean
    -
    -Allow setting the version to the current version in package.json.  Default
    -`false`.
    -
    -#### `preid` String
    -When the `newversion` is pre, premajor, preminor, or prepatch, this
    -defines the prerelease string, like 'beta' etc.
    -
    -#### `tagVersionPrefix` String
    -
    -The prefix to add to the raw semver string for the tag name.  Defaults to
    -`'v'`.  (So, by default it tags as 'v1.2.3' when versioning to 1.2.3.)
    -
    -#### `commitHooks` Boolean
    -
    -Run git commit hooks.  Default true.
    -
    -#### `gitTagVersion` Boolean
    -
    -Tag the version, default true.
    -
    -#### `signGitCommit` Boolean
    -
    -GPG sign the git commit.  Default `false`.
    -
    -#### `signGitTag` Boolean
    -
    -GPG sign the git tag.  Default `false`.
    -
    -#### `force` Boolean
    -
    -Push forward recklessly if any problems happen.  Default `false`.
    -
    -#### `ignoreScripts` Boolean
    -
    -Do not run pre/post/version lifecycle scripts.  Default `false`.
    -
    -#### `scriptShell` String
    -
    -Path to the shell, which should execute the lifecycle scripts.  Defaults to `/bin/sh` on unix, or `cmd.exe` on windows.
    -
    -#### `message` String
    -
    -The message for the git commit and annotated git tag that are created.
    diff --git a/deps/npm/node_modules/lru-cache/README.md b/deps/npm/node_modules/lru-cache/README.md
    deleted file mode 100644
    index 435dfebb7e27d0..00000000000000
    --- a/deps/npm/node_modules/lru-cache/README.md
    +++ /dev/null
    @@ -1,166 +0,0 @@
    -# lru cache
    -
    -A cache object that deletes the least-recently-used items.
    -
    -[![Build Status](https://travis-ci.org/isaacs/node-lru-cache.svg?branch=master)](https://travis-ci.org/isaacs/node-lru-cache) [![Coverage Status](https://coveralls.io/repos/isaacs/node-lru-cache/badge.svg?service=github)](https://coveralls.io/github/isaacs/node-lru-cache)
    -
    -## Installation:
    -
    -```javascript
    -npm install lru-cache --save
    -```
    -
    -## Usage:
    -
    -```javascript
    -var LRU = require("lru-cache")
    -  , options = { max: 500
    -              , length: function (n, key) { return n * 2 + key.length }
    -              , dispose: function (key, n) { n.close() }
    -              , maxAge: 1000 * 60 * 60 }
    -  , cache = new LRU(options)
    -  , otherCache = new LRU(50) // sets just the max size
    -
    -cache.set("key", "value")
    -cache.get("key") // "value"
    -
    -// non-string keys ARE fully supported
    -// but note that it must be THE SAME object, not
    -// just a JSON-equivalent object.
    -var someObject = { a: 1 }
    -cache.set(someObject, 'a value')
    -// Object keys are not toString()-ed
    -cache.set('[object Object]', 'a different value')
    -assert.equal(cache.get(someObject), 'a value')
    -// A similar object with same keys/values won't work,
    -// because it's a different object identity
    -assert.equal(cache.get({ a: 1 }), undefined)
    -
    -cache.reset()    // empty the cache
    -```
    -
    -If you put more stuff in it, then items will fall out.
    -
    -If you try to put an oversized thing in it, then it'll fall out right
    -away.
    -
    -## Options
    -
    -* `max` The maximum size of the cache, checked by applying the length
    -  function to all values in the cache.  Not setting this is kind of
    -  silly, since that's the whole purpose of this lib, but it defaults
    -  to `Infinity`.  Setting it to a non-number or negative number will
    -  throw a `TypeError`.  Setting it to 0 makes it be `Infinity`.
    -* `maxAge` Maximum age in ms.  Items are not pro-actively pruned out
    -  as they age, but if you try to get an item that is too old, it'll
    -  drop it and return undefined instead of giving it to you.
    -  Setting this to a negative value will make everything seem old!
    -  Setting it to a non-number will throw a `TypeError`.
    -* `length` Function that is used to calculate the length of stored
    -  items.  If you're storing strings or buffers, then you probably want
    -  to do something like `function(n, key){return n.length}`.  The default is
    -  `function(){return 1}`, which is fine if you want to store `max`
    -  like-sized things.  The item is passed as the first argument, and
    -  the key is passed as the second argumnet.
    -* `dispose` Function that is called on items when they are dropped
    -  from the cache.  This can be handy if you want to close file
    -  descriptors or do other cleanup tasks when items are no longer
    -  accessible.  Called with `key, value`.  It's called *before*
    -  actually removing the item from the internal cache, so if you want
    -  to immediately put it back in, you'll have to do that in a
    -  `nextTick` or `setTimeout` callback or it won't do anything.
    -* `stale` By default, if you set a `maxAge`, it'll only actually pull
    -  stale items out of the cache when you `get(key)`.  (That is, it's
    -  not pre-emptively doing a `setTimeout` or anything.)  If you set
    -  `stale:true`, it'll return the stale value before deleting it.  If
    -  you don't set this, then it'll return `undefined` when you try to
    -  get a stale entry, as if it had already been deleted.
    -* `noDisposeOnSet` By default, if you set a `dispose()` method, then
    -  it'll be called whenever a `set()` operation overwrites an existing
    -  key.  If you set this option, `dispose()` will only be called when a
    -  key falls out of the cache, not when it is overwritten.
    -* `updateAgeOnGet` When using time-expiring entries with `maxAge`,
    -  setting this to `true` will make each item's effective time update
    -  to the current time whenever it is retrieved from cache, causing it
    -  to not expire.  (It can still fall out of cache based on recency of
    -  use, of course.)
    -
    -## API
    -
    -* `set(key, value, maxAge)`
    -* `get(key) => value`
    -
    -    Both of these will update the "recently used"-ness of the key.
    -    They do what you think. `maxAge` is optional and overrides the
    -    cache `maxAge` option if provided.
    -
    -    If the key is not found, `get()` will return `undefined`.
    -
    -    The key and val can be any value.
    -
    -* `peek(key)`
    -
    -    Returns the key value (or `undefined` if not found) without
    -    updating the "recently used"-ness of the key.
    -
    -    (If you find yourself using this a lot, you *might* be using the
    -    wrong sort of data structure, but there are some use cases where
    -    it's handy.)
    -
    -* `del(key)`
    -
    -    Deletes a key out of the cache.
    -
    -* `reset()`
    -
    -    Clear the cache entirely, throwing away all values.
    -
    -* `has(key)`
    -
    -    Check if a key is in the cache, without updating the recent-ness
    -    or deleting it for being stale.
    -
    -* `forEach(function(value,key,cache), [thisp])`
    -
    -    Just like `Array.prototype.forEach`.  Iterates over all the keys
    -    in the cache, in order of recent-ness.  (Ie, more recently used
    -    items are iterated over first.)
    -
    -* `rforEach(function(value,key,cache), [thisp])`
    -
    -    The same as `cache.forEach(...)` but items are iterated over in
    -    reverse order.  (ie, less recently used items are iterated over
    -    first.)
    -
    -* `keys()`
    -
    -    Return an array of the keys in the cache.
    -
    -* `values()`
    -
    -    Return an array of the values in the cache.
    -
    -* `length`
    -
    -    Return total length of objects in cache taking into account
    -    `length` options function.
    -
    -* `itemCount`
    -
    -    Return total quantity of objects currently in cache. Note, that
    -    `stale` (see options) items are returned as part of this item
    -    count.
    -
    -* `dump()`
    -
    -    Return an array of the cache entries ready for serialization and usage
    -    with 'destinationCache.load(arr)`.
    -
    -* `load(cacheEntriesArray)`
    -
    -    Loads another cache entries array, obtained with `sourceCache.dump()`,
    -    into the cache. The destination cache is reset before loading new entries
    -
    -* `prune()`
    -
    -    Manually iterates over the entire cache proactively pruning old entries
    diff --git a/deps/npm/node_modules/make-fetch-happen/README.md b/deps/npm/node_modules/make-fetch-happen/README.md
    deleted file mode 100644
    index 87659c9133bd5b..00000000000000
    --- a/deps/npm/node_modules/make-fetch-happen/README.md
    +++ /dev/null
    @@ -1,395 +0,0 @@
    -# make-fetch-happen
    -[![npm version](https://img.shields.io/npm/v/make-fetch-happen.svg)](https://npm.im/make-fetch-happen) [![license](https://img.shields.io/npm/l/make-fetch-happen.svg)](https://npm.im/make-fetch-happen) [![Travis](https://img.shields.io/travis/npm/make-fetch-happen.svg)](https://travis-ci.org/npm/make-fetch-happen) [![Coverage Status](https://coveralls.io/repos/github/npm/make-fetch-happen/badge.svg?branch=latest)](https://coveralls.io/github/npm/make-fetch-happen?branch=latest)
    -
    -[`make-fetch-happen`](https://github.com/npm/make-fetch-happen) is a Node.js
    -library that wraps [`minipass-fetch`](https://github.com/npm/minipass-fetch) with additional
    -features [`minipass-fetch`](https://github.com/npm/minipass-fetch) doesn't intend to include, including HTTP Cache support, request
    -pooling, proxies, retries, [and more](#features)!
    -
    -## Install
    -
    -`$ npm install --save make-fetch-happen`
    -
    -## Table of Contents
    -
    -* [Example](#example)
    -* [Features](#features)
    -* [Contributing](#contributing)
    -* [API](#api)
    -  * [`fetch`](#fetch)
    -  * [`fetch.defaults`](#fetch-defaults)
    -  * [`minipass-fetch` options](#minipass-fetch-options)
    -  * [`make-fetch-happen` options](#extra-options)
    -    * [`opts.cachePath`](#opts-cache-path)
    -    * [`opts.cache`](#opts-cache)
    -    * [`opts.proxy`](#opts-proxy)
    -    * [`opts.noProxy`](#opts-no-proxy)
    -    * [`opts.ca, opts.cert, opts.key`](#https-opts)
    -    * [`opts.maxSockets`](#opts-max-sockets)
    -    * [`opts.retry`](#opts-retry)
    -    * [`opts.onRetry`](#opts-onretry)
    -    * [`opts.integrity`](#opts-integrity)
    -* [Message From Our Sponsors](#wow)
    -
    -### Example
    -
    -```javascript
    -const fetch = require('make-fetch-happen').defaults({
    -  cachePath: './my-cache' // path where cache will be written (and read)
    -})
    -
    -fetch('https://registry.npmjs.org/make-fetch-happen').then(res => {
    -  return res.json() // download the body as JSON
    -}).then(body => {
    -  console.log(`got ${body.name} from web`)
    -  return fetch('https://registry.npmjs.org/make-fetch-happen', {
    -    cache: 'no-cache' // forces a conditional request
    -  })
    -}).then(res => {
    -  console.log(res.status) // 304! cache validated!
    -  return res.json().then(body => {
    -    console.log(`got ${body.name} from cache`)
    -  })
    -})
    -```
    -
    -### Features
    -
    -* Builds around [`minipass-fetch`](https://npm.im/minipass-fetch) for the core [`fetch` API](https://fetch.spec.whatwg.org) implementation
    -* Request pooling out of the box
    -* Quite fast, really
    -* Automatic HTTP-semantics-aware request retries
    -* Cache-fallback automatic "offline mode"
    -* Proxy support (http, https, socks, socks4, socks5)
    -* Built-in request caching following full HTTP caching rules (`Cache-Control`, `ETag`, `304`s, cache fallback on error, etc).
    -* Customize cache storage with any [Cache API](https://developer.mozilla.org/en-US/docs/Web/API/Cache)-compliant `Cache` instance. Cache to Redis!
    -* Node.js Stream support
    -* Transparent gzip and deflate support
    -* [Subresource Integrity](https://developer.mozilla.org/en-US/docs/Web/Security/Subresource_Integrity) support
    -* Literally punches nazis
    -* (PENDING) Range request caching and resuming
    -
    -### Contributing
    -
    -The make-fetch-happen team enthusiastically welcomes contributions and project participation! There's a bunch of things you can do if you want to contribute! The [Contributor Guide](https://github.com/npm/cli/blob/latest/CONTRIBUTING.md) outlines the process for community interaction and contribution. Please don't hesitate to jump in if you'd like to, or even ask us questions if something isn't clear.
    -
    -All participants and maintainers in this project are expected to follow the [npm Code of Conduct](https://www.npmjs.com/policies/conduct), and just generally be excellent to each other.
    -
    -Please refer to the [Changelog](CHANGELOG.md) for project history details, too.
    -
    -Happy hacking!
    -
    -### API
    -
    -####  `> fetch(uriOrRequest, [opts]) -> Promise`
    -
    -This function implements most of the [`fetch` API](https://developer.mozilla.org/en-US/docs/Web/API/WindowOrWorkerGlobalScope/fetch): given a `uri` string or a `Request` instance, it will fire off an http request and return a Promise containing the relevant response.
    -
    -If `opts` is provided, the [`minipass-fetch`-specific options](#minipass-fetch-options) will be passed to that library. There are also [additional options](#extra-options) specific to make-fetch-happen that add various features, such as HTTP caching, integrity verification, proxy support, and more.
    -
    -##### Example
    -
    -```javascript
    -fetch('https://google.com').then(res => res.buffer())
    -```
    -
    -####  `> fetch.defaults([defaultUrl], [defaultOpts])`
    -
    -Returns a new `fetch` function that will call `make-fetch-happen` using `defaultUrl` and `defaultOpts` as default values to any calls.
    -
    -A defaulted `fetch` will also have a `.defaults()` method, so they can be chained.
    -
    -##### Example
    -
    -```javascript
    -const fetch = require('make-fetch-happen').defaults({
    -  cachePath: './my-local-cache'
    -})
    -
    -fetch('https://registry.npmjs.org/make-fetch-happen') // will always use the cache
    -```
    -
    -####  `> minipass-fetch options`
    -
    -The following options for `minipass-fetch` are used as-is:
    -
    -* method
    -* body
    -* redirect
    -* follow
    -* timeout
    -* compress
    -* size
    -
    -These other options are modified or augmented by make-fetch-happen:
    -
    -* headers - Default `User-Agent` set to make-fetch happen. `Connection` is set to `keep-alive` or `close` automatically depending on `opts.agent`.
    -* agent
    -  * If agent is null, an http or https Agent will be automatically used. By default, these will be `http.globalAgent` and `https.globalAgent`.
    -  * If [`opts.proxy`](#opts-proxy) is provided and `opts.agent` is null, the agent will be set to an appropriate proxy-handling agent.
    -  * If `opts.agent` is an object, it will be used as the request-pooling agent argument for this request.
    -  * If `opts.agent` is `false`, it will be passed as-is to the underlying request library. This causes a new Agent to be spawned for every request.
    -
    -For more details, see [the documentation for `minipass-fetch` itself](https://github.com/npm/minipass-fetch#options).
    -
    -####  `> make-fetch-happen options`
    -
    -make-fetch-happen augments the `minipass-fetch` API with additional features available through extra options. The following extra options are available:
    -
    -* [`opts.cachePath`](#opts-cache-path) - Cache target to read/write
    -* [`opts.cache`](#opts-cache) - `fetch` cache mode. Controls cache *behavior*.
    -* [`opts.proxy`](#opts-proxy) - Proxy agent
    -* [`opts.noProxy`](#opts-no-proxy) - Domain segments to disable proxying for.
    -* [`opts.ca, opts.cert, opts.key, opts.strictSSL`](#https-opts)
    -* [`opts.localAddress`](#opts-local-address)
    -* [`opts.maxSockets`](#opts-max-sockets)
    -* [`opts.retry`](#opts-retry) - Request retry settings
    -* [`opts.onRetry`](#opts-onretry) - a function called whenever a retry is attempted
    -* [`opts.integrity`](#opts-integrity) - [Subresource Integrity](https://developer.mozilla.org/en-US/docs/Web/Security/Subresource_Integrity) metadata.
    -
    -####  `> opts.cachePath`
    -
    -A string `Path` to be used as the cache root for [`cacache`](https://npm.im/cacache).
    -
    -**NOTE**: Requests will not be cached unless their response bodies are consumed. You will need to use one of the `res.json()`, `res.buffer()`, etc methods on the response, or drain the `res.body` stream, in order for it to be written.
    -
    -The default cache manager also adds the following headers to cached responses:
    -
    -* `X-Local-Cache`: Path to the cache the content was found in
    -* `X-Local-Cache-Key`: Unique cache entry key for this response
    -* `X-Local-Cache-Mode`: Either `stream` or `buffer` to indicate how the response was read from cacache
    -* `X-Local-Cache-Hash`: Specific integrity hash for the cached entry
    -* `X-Local-Cache-Status`: One of `miss`, `hit`, `stale`, `revalidated`, `updated`, or `skip` to signal how the response was created
    -* `X-Local-Cache-Time`: UTCString of the cache insertion time for the entry
    -
    -Using [`cacache`](https://npm.im/cacache), a call like this may be used to
    -manually fetch the cached entry:
    -
    -```javascript
    -const h = response.headers
    -cacache.get(h.get('x-local-cache'), h.get('x-local-cache-key'))
    -
    -// grab content only, directly:
    -cacache.get.byDigest(h.get('x-local-cache'), h.get('x-local-cache-hash'))
    -```
    -
    -##### Example
    -
    -```javascript
    -fetch('https://registry.npmjs.org/make-fetch-happen', {
    -  cachePath: './my-local-cache'
    -}) // -> 200-level response will be written to disk
    -```
    -
    -A possible (minimal) implementation for `MyCustomRedisCache`:
    -
    -```javascript
    -const bluebird = require('bluebird')
    -const redis = require("redis")
    -bluebird.promisifyAll(redis.RedisClient.prototype)
    -class MyCustomRedisCache {
    -  constructor (opts) {
    -    this.redis = redis.createClient(opts)
    -  }
    -  match (req) {
    -    return this.redis.getAsync(req.url).then(res => {
    -      if (res) {
    -        const parsed = JSON.parse(res)
    -        return new fetch.Response(parsed.body, {
    -          url: req.url,
    -          headers: parsed.headers,
    -          status: 200
    -        })
    -      }
    -    })
    -  }
    -  put (req, res) {
    -    return res.buffer().then(body => {
    -      return this.redis.setAsync(req.url, JSON.stringify({
    -        body: body,
    -        headers: res.headers.raw()
    -      }))
    -    }).then(() => {
    -      // return the response itself
    -      return res
    -    })
    -  }
    -  'delete' (req) {
    -    return this.redis.unlinkAsync(req.url)
    -  }
    -}
    -```
    -
    -####  `> opts.cache`
    -
    -This option follows the standard `fetch` API cache option. This option will do nothing if [`opts.cachePath`](#opts-cache-path) is null. The following values are accepted (as strings):
    -
    -* `default` - Fetch will inspect the HTTP cache on the way to the network. If there is a fresh response it will be used. If there is a stale response a conditional request will be created, and a normal request otherwise. It then updates the HTTP cache with the response. If the revalidation request fails (for example, on a 500 or if you're offline), the stale response will be returned.
    -* `no-store` - Fetch behaves as if there is no HTTP cache at all.
    -* `reload` - Fetch behaves as if there is no HTTP cache on the way to the network. Ergo, it creates a normal request and updates the HTTP cache with the response.
    -* `no-cache` - Fetch creates a conditional request if there is a response in the HTTP cache and a normal request otherwise. It then updates the HTTP cache with the response.
    -* `force-cache` - Fetch uses any response in the HTTP cache matching the request, not paying attention to staleness. If there was no response, it creates a normal request and updates the HTTP cache with the response.
    -* `only-if-cached` - Fetch uses any response in the HTTP cache matching the request, not paying attention to staleness. If there was no response, it returns a network error. (Can only be used when request’s mode is "same-origin". Any cached redirects will be followed assuming request’s redirect mode is "follow" and the redirects do not violate request’s mode.)
    -
    -(Note: option descriptions are taken from https://fetch.spec.whatwg.org/#http-network-or-cache-fetch)
    -
    -##### Example
    -
    -```javascript
    -const fetch = require('make-fetch-happen').defaults({
    -  cachePath: './my-cache'
    -})
    -
    -// Will error with ENOTCACHED if we haven't already cached this url
    -fetch('https://registry.npmjs.org/make-fetch-happen', {
    -  cache: 'only-if-cached'
    -})
    -
    -// Will refresh any local content and cache the new response
    -fetch('https://registry.npmjs.org/make-fetch-happen', {
    -  cache: 'reload'
    -})
    -
    -// Will use any local data, even if stale. Otherwise, will hit network.
    -fetch('https://registry.npmjs.org/make-fetch-happen', {
    -  cache: 'force-cache'
    -})
    -```
    -
    -####  `> opts.proxy`
    -
    -A string or `new url.URL()`-d URI to proxy through. Different Proxy handlers will be
    -used depending on the proxy's protocol.
    -
    -Additionally, `process.env.HTTP_PROXY`, `process.env.HTTPS_PROXY`, and
    -`process.env.PROXY` are used if present and no `opts.proxy` value is provided.
    -
    -(Pending) `process.env.NO_PROXY` may also be configured to skip proxying requests for all, or specific domains.
    -
    -##### Example
    -
    -```javascript
    -fetch('https://registry.npmjs.org/make-fetch-happen', {
    -  proxy: 'https://corporate.yourcompany.proxy:4445'
    -})
    -
    -fetch('https://registry.npmjs.org/make-fetch-happen', {
    -  proxy: {
    -    protocol: 'https:',
    -    hostname: 'corporate.yourcompany.proxy',
    -    port: 4445
    -  }
    -})
    -```
    -
    -####  `> opts.noProxy`
    -
    -If present, should be a comma-separated string or an array of domain extensions
    -that a proxy should _not_ be used for.
    -
    -This option may also be provided through `process.env.NO_PROXY`.
    -
    -####  `> opts.ca, opts.cert, opts.key, opts.strictSSL`
    -
    -These values are passed in directly to the HTTPS agent and will be used for both
    -proxied and unproxied outgoing HTTPS requests. They mostly correspond to the
    -same options the `https` module accepts, which will be themselves passed to
    -`tls.connect()`. `opts.strictSSL` corresponds to `rejectUnauthorized`.
    -
    -####  `> opts.localAddress`
    -
    -Passed directly to `http` and `https` request calls. Determines the local
    -address to bind to.
    -
    -####  `> opts.maxSockets`
    -
    -Default: 15
    -
    -Maximum number of active concurrent sockets to use for the underlying
    -Http/Https/Proxy agents. This setting applies once per spawned agent.
    -
    -15 is probably a _pretty good value_ for most use-cases, and balances speed
    -with, uh, not knocking out people's routers. 🤓
    -
    -####  `> opts.retry`
    -
    -An object that can be used to tune request retry settings. Retries will only be attempted on the following conditions:
    -
    -* Request method is NOT `POST` AND
    -* Request status is one of: `408`, `420`, `429`, or any status in the 500-range. OR
    -* Request errored with `ECONNRESET`, `ECONNREFUSED`, `EADDRINUSE`, `ETIMEDOUT`, or the `fetch` error `request-timeout`.
    -
    -The following are worth noting as explicitly not retried:
    -
    -* `getaddrinfo ENOTFOUND` and will be assumed to be either an unreachable domain or the user will be assumed offline. If a response is cached, it will be returned immediately.
    -
    -If `opts.retry` is `false`, it is equivalent to `{retries: 0}`
    -
    -If `opts.retry` is a number, it is equivalent to `{retries: num}`
    -
    -The following retry options are available if you want more control over it:
    -
    -* retries
    -* factor
    -* minTimeout
    -* maxTimeout
    -* randomize
    -
    -For details on what each of these do, refer to the [`retry`](https://npm.im/retry) documentation.
    -
    -##### Example
    -
    -```javascript
    -fetch('https://flaky.site.com', {
    -  retry: {
    -    retries: 10,
    -    randomize: true
    -  }
    -})
    -
    -fetch('http://reliable.site.com', {
    -  retry: false
    -})
    -
    -fetch('http://one-more.site.com', {
    -  retry: 3
    -})
    -```
    -
    -####  `> opts.onRetry`
    -
    -A function called whenever a retry is attempted.
    -
    -##### Example
    -
    -```javascript
    -fetch('https://flaky.site.com', {
    -  onRetry() {
    -    console.log('we will retry!')
    -  }
    -})
    -```
    -
    -####  `> opts.integrity`
    -
    -Matches the response body against the given [Subresource Integrity](https://developer.mozilla.org/en-US/docs/Web/Security/Subresource_Integrity) metadata. If verification fails, the request will fail with an `EINTEGRITY` error.
    -
    -`integrity` may either be a string or an [`ssri`](https://npm.im/ssri) `Integrity`-like.
    -
    -##### Example
    -
    -```javascript
    -fetch('https://registry.npmjs.org/make-fetch-happen/-/make-fetch-happen-1.0.0.tgz', {
    -  integrity: 'sha1-o47j7zAYnedYFn1dF/fR9OV3z8Q='
    -}) // -> ok
    -
    -fetch('https://malicious-registry.org/make-fetch-happen/-/make-fetch-happen-1.0.0.tgz', {
    -  integrity: 'sha1-o47j7zAYnedYFn1dF/fR9OV3z8Q='
    -}) // Error: EINTEGRITY
    -```
    -
    -###  Message From Our Sponsors
    -
    -![](stop.gif)
    -
    -![](happening.gif)
    diff --git a/deps/npm/node_modules/mime-db/README.md b/deps/npm/node_modules/mime-db/README.md
    deleted file mode 100644
    index 41c696a30dfa15..00000000000000
    --- a/deps/npm/node_modules/mime-db/README.md
    +++ /dev/null
    @@ -1,100 +0,0 @@
    -# mime-db
    -
    -[![NPM Version][npm-version-image]][npm-url]
    -[![NPM Downloads][npm-downloads-image]][npm-url]
    -[![Node.js Version][node-image]][node-url]
    -[![Build Status][ci-image]][ci-url]
    -[![Coverage Status][coveralls-image]][coveralls-url]
    -
    -This is a database of all mime types.
    -It consists of a single, public JSON file and does not include any logic,
    -allowing it to remain as un-opinionated as possible with an API.
    -It aggregates data from the following sources:
    -
    -- http://www.iana.org/assignments/media-types/media-types.xhtml
    -- http://svn.apache.org/repos/asf/httpd/httpd/trunk/docs/conf/mime.types
    -- http://hg.nginx.org/nginx/raw-file/default/conf/mime.types
    -
    -## Installation
    -
    -```bash
    -npm install mime-db
    -```
    -
    -### Database Download
    -
    -If you're crazy enough to use this in the browser, you can just grab the
    -JSON file using [jsDelivr](https://www.jsdelivr.com/). It is recommended to
    -replace `master` with [a release tag](https://github.com/jshttp/mime-db/tags)
    -as the JSON format may change in the future.
    -
    -```
    -https://cdn.jsdelivr.net/gh/jshttp/mime-db@master/db.json
    -```
    -
    -## Usage
    -
    -```js
    -var db = require('mime-db')
    -
    -// grab data on .js files
    -var data = db['application/javascript']
    -```
    -
    -## Data Structure
    -
    -The JSON file is a map lookup for lowercased mime types.
    -Each mime type has the following properties:
    -
    -- `.source` - where the mime type is defined.
    -    If not set, it's probably a custom media type.
    -    - `apache` - [Apache common media types](http://svn.apache.org/repos/asf/httpd/httpd/trunk/docs/conf/mime.types)
    -    - `iana` - [IANA-defined media types](http://www.iana.org/assignments/media-types/media-types.xhtml)
    -    - `nginx` - [nginx media types](http://hg.nginx.org/nginx/raw-file/default/conf/mime.types)
    -- `.extensions[]` - known extensions associated with this mime type.
    -- `.compressible` - whether a file of this type can be gzipped.
    -- `.charset` - the default charset associated with this type, if any.
    -
    -If unknown, every property could be `undefined`.
    -
    -## Contributing
    -
    -To edit the database, only make PRs against `src/custom-types.json` or
    -`src/custom-suffix.json`.
    -
    -The `src/custom-types.json` file is a JSON object with the MIME type as the
    -keys and the values being an object with the following keys:
    -
    -- `compressible` - leave out if you don't know, otherwise `true`/`false` to
    -  indicate whether the data represented by the type is typically compressible.
    -- `extensions` - include an array of file extensions that are associated with
    -  the type.
    -- `notes` - human-readable notes about the type, typically what the type is.
    -- `sources` - include an array of URLs of where the MIME type and the associated
    -  extensions are sourced from. This needs to be a [primary source](https://en.wikipedia.org/wiki/Primary_source);
    -  links to type aggregating sites and Wikipedia are _not acceptable_.
    -
    -To update the build, run `npm run build`.
    -
    -### Adding Custom Media Types
    -
    -The best way to get new media types included in this library is to register
    -them with the IANA. The community registration procedure is outlined in
    -[RFC 6838 section 5](http://tools.ietf.org/html/rfc6838#section-5). Types
    -registered with the IANA are automatically pulled into this library.
    -
    -If that is not possible / feasible, they can be added directly here as a
    -"custom" type. To do this, it is required to have a primary source that
    -definitively lists the media type. If an extension is going to be listed as
    -associateed with this media type, the source must definitively link the
    -media type and extension as well.
    -
    -[ci-image]: https://badgen.net/github/checks/jshttp/mime-db/master?label=ci
    -[ci-url]: https://github.com/jshttp/mime-db/actions?query=workflow%3Aci
    -[coveralls-image]: https://badgen.net/coveralls/c/github/jshttp/mime-db/master
    -[coveralls-url]: https://coveralls.io/r/jshttp/mime-db?branch=master
    -[node-image]: https://badgen.net/npm/node/mime-db
    -[node-url]: https://nodejs.org/en/download
    -[npm-downloads-image]: https://badgen.net/npm/dm/mime-db
    -[npm-url]: https://npmjs.org/package/mime-db
    -[npm-version-image]: https://badgen.net/npm/v/mime-db
    diff --git a/deps/npm/node_modules/mime-types/README.md b/deps/npm/node_modules/mime-types/README.md
    deleted file mode 100644
    index c978ac27a8b9fb..00000000000000
    --- a/deps/npm/node_modules/mime-types/README.md
    +++ /dev/null
    @@ -1,113 +0,0 @@
    -# mime-types
    -
    -[![NPM Version][npm-version-image]][npm-url]
    -[![NPM Downloads][npm-downloads-image]][npm-url]
    -[![Node.js Version][node-version-image]][node-version-url]
    -[![Build Status][ci-image]][ci-url]
    -[![Test Coverage][coveralls-image]][coveralls-url]
    -
    -The ultimate javascript content-type utility.
    -
    -Similar to [the `mime@1.x` module](https://www.npmjs.com/package/mime), except:
    -
    -- __No fallbacks.__ Instead of naively returning the first available type,
    -  `mime-types` simply returns `false`, so do
    -  `var type = mime.lookup('unrecognized') || 'application/octet-stream'`.
    -- No `new Mime()` business, so you could do `var lookup = require('mime-types').lookup`.
    -- No `.define()` functionality
    -- Bug fixes for `.lookup(path)`
    -
    -Otherwise, the API is compatible with `mime` 1.x.
    -
    -## Install
    -
    -This is a [Node.js](https://nodejs.org/en/) module available through the
    -[npm registry](https://www.npmjs.com/). Installation is done using the
    -[`npm install` command](https://docs.npmjs.com/getting-started/installing-npm-packages-locally):
    -
    -```sh
    -$ npm install mime-types
    -```
    -
    -## Adding Types
    -
    -All mime types are based on [mime-db](https://www.npmjs.com/package/mime-db),
    -so open a PR there if you'd like to add mime types.
    -
    -## API
    -
    -```js
    -var mime = require('mime-types')
    -```
    -
    -All functions return `false` if input is invalid or not found.
    -
    -### mime.lookup(path)
    -
    -Lookup the content-type associated with a file.
    -
    -```js
    -mime.lookup('json') // 'application/json'
    -mime.lookup('.md') // 'text/markdown'
    -mime.lookup('file.html') // 'text/html'
    -mime.lookup('folder/file.js') // 'application/javascript'
    -mime.lookup('folder/.htaccess') // false
    -
    -mime.lookup('cats') // false
    -```
    -
    -### mime.contentType(type)
    -
    -Create a full content-type header given a content-type or extension.
    -When given an extension, `mime.lookup` is used to get the matching
    -content-type, otherwise the given content-type is used. Then if the
    -content-type does not already have a `charset` parameter, `mime.charset`
    -is used to get the default charset and add to the returned content-type.
    -
    -```js
    -mime.contentType('markdown') // 'text/x-markdown; charset=utf-8'
    -mime.contentType('file.json') // 'application/json; charset=utf-8'
    -mime.contentType('text/html') // 'text/html; charset=utf-8'
    -mime.contentType('text/html; charset=iso-8859-1') // 'text/html; charset=iso-8859-1'
    -
    -// from a full path
    -mime.contentType(path.extname('/path/to/file.json')) // 'application/json; charset=utf-8'
    -```
    -
    -### mime.extension(type)
    -
    -Get the default extension for a content-type.
    -
    -```js
    -mime.extension('application/octet-stream') // 'bin'
    -```
    -
    -### mime.charset(type)
    -
    -Lookup the implied default charset of a content-type.
    -
    -```js
    -mime.charset('text/markdown') // 'UTF-8'
    -```
    -
    -### var type = mime.types[extension]
    -
    -A map of content-types by extension.
    -
    -### [extensions...] = mime.extensions[type]
    -
    -A map of extensions by content-type.
    -
    -## License
    -
    -[MIT](LICENSE)
    -
    -[ci-image]: https://badgen.net/github/checks/jshttp/mime-types/master?label=ci
    -[ci-url]: https://github.com/jshttp/mime-types/actions?query=workflow%3Aci
    -[coveralls-image]: https://badgen.net/coveralls/c/github/jshttp/mime-types/master
    -[coveralls-url]: https://coveralls.io/r/jshttp/mime-types?branch=master
    -[node-version-image]: https://badgen.net/npm/node/mime-types
    -[node-version-url]: https://nodejs.org/en/download
    -[npm-downloads-image]: https://badgen.net/npm/dm/mime-types
    -[npm-url]: https://npmjs.org/package/mime-types
    -[npm-version-image]: https://badgen.net/npm/v/mime-types
    diff --git a/deps/npm/node_modules/minimatch/README.md b/deps/npm/node_modules/minimatch/README.md
    deleted file mode 100644
    index ad72b8133eaf5e..00000000000000
    --- a/deps/npm/node_modules/minimatch/README.md
    +++ /dev/null
    @@ -1,209 +0,0 @@
    -# minimatch
    -
    -A minimal matching utility.
    -
    -[![Build Status](https://secure.travis-ci.org/isaacs/minimatch.svg)](http://travis-ci.org/isaacs/minimatch)
    -
    -
    -This is the matching library used internally by npm.
    -
    -It works by converting glob expressions into JavaScript `RegExp`
    -objects.
    -
    -## Usage
    -
    -```javascript
    -var minimatch = require("minimatch")
    -
    -minimatch("bar.foo", "*.foo") // true!
    -minimatch("bar.foo", "*.bar") // false!
    -minimatch("bar.foo", "*.+(bar|foo)", { debug: true }) // true, and noisy!
    -```
    -
    -## Features
    -
    -Supports these glob features:
    -
    -* Brace Expansion
    -* Extended glob matching
    -* "Globstar" `**` matching
    -
    -See:
    -
    -* `man sh`
    -* `man bash`
    -* `man 3 fnmatch`
    -* `man 5 gitignore`
    -
    -## Minimatch Class
    -
    -Create a minimatch object by instantiating the `minimatch.Minimatch` class.
    -
    -```javascript
    -var Minimatch = require("minimatch").Minimatch
    -var mm = new Minimatch(pattern, options)
    -```
    -
    -### Properties
    -
    -* `pattern` The original pattern the minimatch object represents.
    -* `options` The options supplied to the constructor.
    -* `set` A 2-dimensional array of regexp or string expressions.
    -  Each row in the
    -  array corresponds to a brace-expanded pattern.  Each item in the row
    -  corresponds to a single path-part.  For example, the pattern
    -  `{a,b/c}/d` would expand to a set of patterns like:
    -
    -        [ [ a, d ]
    -        , [ b, c, d ] ]
    -
    -    If a portion of the pattern doesn't have any "magic" in it
    -    (that is, it's something like `"foo"` rather than `fo*o?`), then it
    -    will be left as a string rather than converted to a regular
    -    expression.
    -
    -* `regexp` Created by the `makeRe` method.  A single regular expression
    -  expressing the entire pattern.  This is useful in cases where you wish
    -  to use the pattern somewhat like `fnmatch(3)` with `FNM_PATH` enabled.
    -* `negate` True if the pattern is negated.
    -* `comment` True if the pattern is a comment.
    -* `empty` True if the pattern is `""`.
    -
    -### Methods
    -
    -* `makeRe` Generate the `regexp` member if necessary, and return it.
    -  Will return `false` if the pattern is invalid.
    -* `match(fname)` Return true if the filename matches the pattern, or
    -  false otherwise.
    -* `matchOne(fileArray, patternArray, partial)` Take a `/`-split
    -  filename, and match it against a single row in the `regExpSet`.  This
    -  method is mainly for internal use, but is exposed so that it can be
    -  used by a glob-walker that needs to avoid excessive filesystem calls.
    -
    -All other methods are internal, and will be called as necessary.
    -
    -### minimatch(path, pattern, options)
    -
    -Main export.  Tests a path against the pattern using the options.
    -
    -```javascript
    -var isJS = minimatch(file, "*.js", { matchBase: true })
    -```
    -
    -### minimatch.filter(pattern, options)
    -
    -Returns a function that tests its
    -supplied argument, suitable for use with `Array.filter`.  Example:
    -
    -```javascript
    -var javascripts = fileList.filter(minimatch.filter("*.js", {matchBase: true}))
    -```
    -
    -### minimatch.match(list, pattern, options)
    -
    -Match against the list of
    -files, in the style of fnmatch or glob.  If nothing is matched, and
    -options.nonull is set, then return a list containing the pattern itself.
    -
    -```javascript
    -var javascripts = minimatch.match(fileList, "*.js", {matchBase: true}))
    -```
    -
    -### minimatch.makeRe(pattern, options)
    -
    -Make a regular expression object from the pattern.
    -
    -## Options
    -
    -All options are `false` by default.
    -
    -### debug
    -
    -Dump a ton of stuff to stderr.
    -
    -### nobrace
    -
    -Do not expand `{a,b}` and `{1..3}` brace sets.
    -
    -### noglobstar
    -
    -Disable `**` matching against multiple folder names.
    -
    -### dot
    -
    -Allow patterns to match filenames starting with a period, even if
    -the pattern does not explicitly have a period in that spot.
    -
    -Note that by default, `a/**/b` will **not** match `a/.d/b`, unless `dot`
    -is set.
    -
    -### noext
    -
    -Disable "extglob" style patterns like `+(a|b)`.
    -
    -### nocase
    -
    -Perform a case-insensitive match.
    -
    -### nonull
    -
    -When a match is not found by `minimatch.match`, return a list containing
    -the pattern itself if this option is set.  When not set, an empty list
    -is returned if there are no matches.
    -
    -### matchBase
    -
    -If set, then patterns without slashes will be matched
    -against the basename of the path if it contains slashes.  For example,
    -`a?b` would match the path `/xyz/123/acb`, but not `/xyz/acb/123`.
    -
    -### nocomment
    -
    -Suppress the behavior of treating `#` at the start of a pattern as a
    -comment.
    -
    -### nonegate
    -
    -Suppress the behavior of treating a leading `!` character as negation.
    -
    -### flipNegate
    -
    -Returns from negate expressions the same as if they were not negated.
    -(Ie, true on a hit, false on a miss.)
    -
    -
    -## Comparisons to other fnmatch/glob implementations
    -
    -While strict compliance with the existing standards is a worthwhile
    -goal, some discrepancies exist between minimatch and other
    -implementations, and are intentional.
    -
    -If the pattern starts with a `!` character, then it is negated.  Set the
    -`nonegate` flag to suppress this behavior, and treat leading `!`
    -characters normally.  This is perhaps relevant if you wish to start the
    -pattern with a negative extglob pattern like `!(a|B)`.  Multiple `!`
    -characters at the start of a pattern will negate the pattern multiple
    -times.
    -
    -If a pattern starts with `#`, then it is treated as a comment, and
    -will not match anything.  Use `\#` to match a literal `#` at the
    -start of a line, or set the `nocomment` flag to suppress this behavior.
    -
    -The double-star character `**` is supported by default, unless the
    -`noglobstar` flag is set.  This is supported in the manner of bsdglob
    -and bash 4.1, where `**` only has special significance if it is the only
    -thing in a path part.  That is, `a/**/b` will match `a/x/y/b`, but
    -`a/**b` will not.
    -
    -If an escaped pattern has no matches, and the `nonull` flag is set,
    -then minimatch.match returns the pattern as-provided, rather than
    -interpreting the character escapes.  For example,
    -`minimatch.match([], "\\*a\\?")` will return `"\\*a\\?"` rather than
    -`"*a?"`.  This is akin to setting the `nullglob` option in bash, except
    -that it does not resolve escaped pattern characters.
    -
    -If brace expansion is not disabled, then it is performed before any
    -other interpretation of the glob pattern.  Thus, a pattern like
    -`+(a|{b),c)}`, which would not be valid in bash or zsh, is expanded
    -**first** into the set of `+(a|b)` and `+(a|c)`, and those patterns are
    -checked for validity.  Since those two are valid, matching proceeds.
    diff --git a/deps/npm/node_modules/minipass-collect/README.md b/deps/npm/node_modules/minipass-collect/README.md
    deleted file mode 100644
    index ae1c3dacaa066a..00000000000000
    --- a/deps/npm/node_modules/minipass-collect/README.md
    +++ /dev/null
    @@ -1,48 +0,0 @@
    -# minipass-collect
    -
    -A Minipass stream that collects all the data into a single chunk
    -
    -Note that this buffers ALL data written to it, so it's only good for
    -situations where you are sure the entire stream fits in memory.
    -
    -Note: this is primarily useful for the `Collect.PassThrough` class, since
    -Minipass streams already have a `.collect()` method which returns a promise
    -that resolves to the array of chunks, and a `.concat()` method that returns
    -the data concatenated into a single Buffer or String.
    -
    -## USAGE
    -
    -```js
    -const Collect = require('minipass-collect')
    -
    -const collector = new Collect()
    -collector.on('data', allTheData => {
    -  console.log('all the data!', allTheData)
    -})
    -
    -someSourceOfData.pipe(collector)
    -
    -// note that you can also simply do:
    -someSourceOfData.pipe(new Minipass()).concat().then(data => ...)
    -// or even, if someSourceOfData is a Minipass:
    -someSourceOfData.concat().then(data => ...)
    -// but you might prefer to have it stream-shaped rather than
    -// Promise-shaped in some scenarios.
    -```
    -
    -If you want to collect the data, but _also_ act as a passthrough stream,
    -then use `Collect.PassThrough` instead (for example to memoize streaming
    -responses), and listen on the `collect` event.
    -
    -```js
    -const Collect = require('minipass-collect')
    -
    -const collector = new Collect.PassThrough()
    -collector.on('collect', allTheData => {
    -  console.log('all the data!', allTheData)
    -})
    -
    -someSourceOfData.pipe(collector).pipe(someOtherStream)
    -```
    -
    -All [minipass options](http://npm.im/minipass) are supported.
    diff --git a/deps/npm/node_modules/minipass-fetch/README.md b/deps/npm/node_modules/minipass-fetch/README.md
    deleted file mode 100644
    index 925e6bec3f15d2..00000000000000
    --- a/deps/npm/node_modules/minipass-fetch/README.md
    +++ /dev/null
    @@ -1,29 +0,0 @@
    -# minipass-fetch
    -
    -An implementation of window.fetch in Node.js using Minipass streams
    -
    -This is a fork (or more precisely, a reimplementation) of
    -[node-fetch](http://npm.im/node-fetch).  All streams have been replaced
    -with [minipass streams](http://npm.im/minipass).
    -
    -The goal of this module is to stay in sync with the API presented by
    -`node-fetch`, with the exception of the streaming interface provided.
    -
    -## Why
    -
    -Minipass streams are faster and more deterministic in their timing contract
    -than node-core streams, making them a better fit for many server-side use
    -cases.
    -
    -## API
    -
    -See [node-fetch](http://npm.im/node-fetch)
    -
    -Differences from `node-fetch` (and, by extension, from the WhatWG Fetch
    -specification):
    -
    -- Returns [minipass](http://npm.im/minipass) streams instead of node-core
    -  streams.
    -- Supports the full set of [TLS Options that may be provided to
    -  `https.request()`](https://nodejs.org/api/https.html#https_https_request_options_callback)
    -  when making `https` requests.
    diff --git a/deps/npm/node_modules/minipass-flush/README.md b/deps/npm/node_modules/minipass-flush/README.md
    deleted file mode 100644
    index 7eea40013a08d5..00000000000000
    --- a/deps/npm/node_modules/minipass-flush/README.md
    +++ /dev/null
    @@ -1,47 +0,0 @@
    -# minipass-flush
    -
    -A Minipass stream that calls a flush function before emitting 'end'
    -
    -## USAGE
    -
    -```js
    -const Flush = require('minipass-flush')
    -cons f = new Flush({
    -  flush (cb) {
    -    // call the cb when done, or return a promise
    -    // the 'end' event will wait for it, along with
    -    // close, finish, and prefinish.
    -    // call the cb with an error, or return a rejecting
    -    // promise to emit 'error' instead of doing the 'end'
    -    return rerouteAllEncryptions().then(() => clearAllChannels())
    -  },
    -  // all other minipass options accepted as well
    -})
    -
    -someDataSource.pipe(f).on('end', () => {
    -  // proper flushing has been accomplished
    -})
    -
    -// Or as a subclass implementing a 'flush' method:
    -class MyFlush extends Flush {
    -  flush (cb) {
    -    // old fashioned callback style!
    -    rerouteAllEncryptions(er => {
    -      if (er)
    -        return cb(er)
    -      clearAllChannels(er => {
    -        if (er)
    -          cb(er)
    -        cb()
    -      })
    -    })
    -  }
    -}
    -```
    -
    -That's about it.
    -
    -If your `flush` method doesn't have to do anything asynchronous, then it's
    -better to call the callback right away in this tick, rather than returning
    -`Promise.resolve()`, so that the `end` event can happen as soon as
    -possible.
    diff --git a/deps/npm/node_modules/minipass-json-stream/README.md b/deps/npm/node_modules/minipass-json-stream/README.md
    deleted file mode 100644
    index 79864a778fa338..00000000000000
    --- a/deps/npm/node_modules/minipass-json-stream/README.md
    +++ /dev/null
    @@ -1,189 +0,0 @@
    -# minipass-json-stream
    -
    -Like [JSONStream](http://npm.im/JSONStream), but using Minipass streams
    -
    -## install
    -
    -```
    -npm install minipass-json-stream
    -```
    -
    -## example
    -
    -```js
    -
    -const request = require('request')
    -const JSONStream = require('minipass-json-stream')
    -const es = require('event-stream')
    -
    -request({url: 'http://isaacs.couchone.com/registry/_all_docs'})
    -  .pipe(JSONStream.parse('rows.*'))
    -  .pipe(es.mapSync(function (data) {
    -    console.error(data)
    -    return data
    -  }))
    -```
    -
    -## new JSONStream(options)
    -
    -Create a new stream.  This is a [minipass](http://npm.im/minipass) stream
    -that is always set in `objectMode`.  It emits objects parsed out of
    -string/buffer JSON input that match the supplied `path` option.
    -
    -## JSONStream.parse(path)
    -
    -Return a new JSONStream object to stream values that match a path.
    -
    -(Equivalent to `new JSONStream({path})`.)
    -
    -``` js
    -JSONStream.parse('rows.*.doc')
    -```
    -
    -The `..` operator is the recursive descent operator from
    -[JSONPath](http://goessner.net/articles/JsonPath/), which will match a
    -child at any depth (see examples below).
    -
    -If your keys have keys that include `.` or `*` etc, use an array instead.
    -`['row', true, /^doc/]`.
    -
    -If you use an array, `RegExp`s, booleans, and/or functions. The `..`
    -operator is also available in array representation, using `{recurse:
    -true}`.  any object that matches the path will be emitted as 'data' (and
    -`pipe`d down stream)
    -
    -If `path` is empty or null, no 'data' events are emitted.
    -
    -If you want to have keys emitted, you can prefix your `*` operator with
    -`$`: `obj.$*` - in this case the data passed to the stream is an object
    -with a `key` holding the key and a `value` property holding the data.
    -
    -### Examples
    -
    -query a couchdb view:
    -
    -``` bash
    -curl -sS localhost:5984/tests/_all_docs&include_docs=true
    -```
    -you will get something like this:
    -
    -``` js
    -{"total_rows":129,"offset":0,"rows":[
    -  { "id":"change1_0.6995461115147918"
    -  , "key":"change1_0.6995461115147918"
    -  , "value":{"rev":"1-e240bae28c7bb3667f02760f6398d508"}
    -  , "doc":{
    -      "_id":  "change1_0.6995461115147918"
    -    , "_rev": "1-e240bae28c7bb3667f02760f6398d508","hello":1}
    -  },
    -  { "id":"change2_0.6995461115147918"
    -  , "key":"change2_0.6995461115147918"
    -  , "value":{"rev":"1-13677d36b98c0c075145bb8975105153"}
    -  , "doc":{
    -      "_id":"change2_0.6995461115147918"
    -    , "_rev":"1-13677d36b98c0c075145bb8975105153"
    -    , "hello":2
    -    }
    -  },
    -]}
    -```
    -
    -we are probably most interested in the `rows.*.doc`
    -
    -create a `JSONStream` that parses the documents from the feed like this:
    -
    -``` js
    -var stream = JSONStream.parse(['rows', true, 'doc']) //rows, ANYTHING, doc
    -
    -stream.on('data', function(data) {
    -  console.log('received:', data);
    -});
    -
    -//emits anything from _before_ the first match
    -stream.on('header', function (data) {
    -  console.log('header:', data) // => {"total_rows":129,"offset":0}
    -})
    -```
    -
    -awesome!
    -
    -In case you wanted the contents the doc emitted:
    -
    -``` js
    -// equivalent to: 'rows.*.doc.$*'
    -var stream = JSONStream.parse([
    -  'rows',
    -  true,
    -  'doc',
    -  {emitKey: true}
    -]) //rows, ANYTHING, doc, items in docs with keys
    -
    -stream.on('data', function(data) {
    -  console.log('key:', data.key);
    -  console.log('value:', data.value);
    -});
    -```
    -
    -You can also emit the path:
    -
    -``` js
    -var stream = JSONStream.parse([
    -  'rows',
    -  true,
    -  'doc',
    -  {emitPath: true}
    -]) //rows, ANYTHING, doc, items in docs with keys
    -
    -stream.on('data', function(data) {
    -  console.log('path:', data.path);
    -  console.log('value:', data.value);
    -});
    -```
    -
    -### recursive patterns (..)
    -
    -`JSONStream.parse('docs..value')` 
    -(or `JSONStream.parse(['docs', {recurse: true}, 'value'])` using an array)
    -will emit every `value` object that is a child, grand-child, etc. of the 
    -`docs` object. In this example, it will match exactly 5 times at various depth
    -levels, emitting 0, 1, 2, 3 and 4 as results.
    -
    -```js
    -{
    -  "total": 5,
    -  "docs": [
    -    {
    -      "key": {
    -        "value": 0,
    -        "some": "property"
    -      }
    -    },
    -    {"value": 1},
    -    {"value": 2},
    -    {"blbl": [{}, {"a":0, "b":1, "value":3}, 10]},
    -    {"value": 4}
    -  ]
    -}
    -```
    -
    -## JSONStream.parse(pattern, map)
    -
    -(Equivalent to `new JSONStream({ pattern, map })`)
    -
    -provide a function that can be used to map or filter
    -the json output. `map` is passed the value at that node of the pattern,
    -if `map` return non-nullish (anything but `null` or `undefined`)
    -that value will be emitted in the stream. If it returns a nullish value,
    -nothing will be emitted.
    -
    -`JSONStream` also emits `'header'` and `'footer'` events,
    -the `'header'` event contains anything in the output that was before
    -the first match, and the `'footer'`, is anything after the last match.
    -
    -## Acknowlegements
    -
    -This module is a fork of [JSONStream](http://npm.im/JSONStream) by Dominic
    -Tarr, modified and redistributed under the terms of the MIT license.
    -
    -this module depends on https://github.com/creationix/jsonparse
    -by Tim Caswell
    diff --git a/deps/npm/node_modules/minipass-pipeline/README.md b/deps/npm/node_modules/minipass-pipeline/README.md
    deleted file mode 100644
    index 12daa99f0b086a..00000000000000
    --- a/deps/npm/node_modules/minipass-pipeline/README.md
    +++ /dev/null
    @@ -1,69 +0,0 @@
    -# minipass-pipeline
    -
    -Create a pipeline of streams using Minipass.
    -
    -Calls `.pipe()` on all the streams in the list.  Returns a stream where
    -writes got to the first pipe in the chain, and reads are from the last.
    -
    -Errors are proxied along the chain and emitted on the Pipeline stream.
    -
    -## USAGE
    -
    -```js
    -const Pipeline = require('minipass-pipeline')
    -
    -// the list of streams to pipeline together,
    -// a bit like `input | transform | output` in bash
    -const p = new Pipeline(input, transform, output)
    -
    -p.write('foo') // writes to input
    -p.on('data', chunk => doSomething()) // reads from output stream
    -
    -// less contrived example (but still pretty contrived)...
    -const decode = new bunzipDecoder()
    -const unpack = tar.extract({ cwd: 'target-dir' })
    -const tbz = new Pipeline(decode, unpack)
    -
    -fs.createReadStream('archive.tbz').pipe(tbz)
    -
    -// specify any minipass options if you like, as the first argument
    -// it'll only try to pipeline event emitters with a .pipe() method
    -const p = new Pipeline({ objectMode: true }, input, transform, output)
    -
    -// If you don't know the things to pipe in right away, that's fine.
    -// use p.push(stream) to add to the end, or p.unshift(stream) to the front
    -const databaseDecoderStreamDoohickey = (connectionInfo) => {
    -  const p = new Pipeline()
    -  logIntoDatabase(connectionInfo).then(connection => {
    -    initializeDecoderRing(connectionInfo).then(decoderRing => {
    -      p.push(connection, decoderRing)
    -      getUpstreamSource(upstream => {
    -        p.unshift(upstream)
    -      })
    -    })
    -  })
    -  // return to caller right away
    -  // emitted data will be upstream -> connection -> decoderRing pipeline
    -  return p
    -}
    -```
    -
    -Pipeline is a [minipass](http://npm.im/minipass) stream, so it's as
    -synchronous as the streams it wraps.  It will buffer data until there is a
    -reader, but no longer, so make sure to attach your listeners before you
    -pipe it somewhere else.
    -
    -## `new Pipeline(opts = {}, ...streams)`
    -
    -Create a new Pipeline with the specified Minipass options and any streams
    -provided.
    -
    -## `pipeline.push(stream, ...)`
    -
    -Attach one or more streams to the pipeline at the end (read) side of the
    -pipe chain.
    -
    -## `pipeline.unshift(stream, ...)`
    -
    -Attach one or more streams to the pipeline at the start (write) side of the
    -pipe chain.
    diff --git a/deps/npm/node_modules/minipass-sized/.npmignore b/deps/npm/node_modules/minipass-sized/.npmignore
    deleted file mode 100644
    index 2bec044be4bbda..00000000000000
    --- a/deps/npm/node_modules/minipass-sized/.npmignore
    +++ /dev/null
    @@ -1,22 +0,0 @@
    -# ignore most things, include some others
    -/*
    -/.*
    -
    -!bin/
    -!lib/
    -!docs/
    -!package.json
    -!package-lock.json
    -!README.md
    -!CONTRIBUTING.md
    -!LICENSE
    -!CHANGELOG.md
    -!example/
    -!scripts/
    -!tap-snapshots/
    -!test/
    -!.travis.yml
    -!.gitignore
    -!.gitattributes
    -!coverage-map.js
    -!index.js
    diff --git a/deps/npm/node_modules/minipass-sized/README.md b/deps/npm/node_modules/minipass-sized/README.md
    deleted file mode 100644
    index 6da403e6a2dab5..00000000000000
    --- a/deps/npm/node_modules/minipass-sized/README.md
    +++ /dev/null
    @@ -1,28 +0,0 @@
    -# minipass-sized
    -
    -A Minipass stream that raises an error if you get a different number of
    -bytes than expected.
    -
    -## USAGE
    -
    -Use just like any old [minipass](http://npm.im/minipass) stream, but
    -provide a `size` option to the constructor.
    -
    -The `size` option must be a positive integer, smaller than
    -`Number.MAX_SAFE_INTEGER`.
    -
    -```js
    -const MinipassSized = require('minipass-sized')
    -// figure out how much data you expect to get
    -const expectedSize = +headers['content-length']
    -const stream = new MinipassSized({ size: expectedSize })
    -stream.on('error', er => {
    -  // if it's the wrong size, then this will raise an error with
    -  // { found: , expect: , code: 'EBADSIZE' }
    -})
    -response.pipe(stream)
    -```
    -
    -Caveats: this does not work with `objectMode` streams, and will throw a
    -`TypeError` from the constructor if the size argument is missing or
    -invalid.
    diff --git a/deps/npm/node_modules/minipass/README.md b/deps/npm/node_modules/minipass/README.md
    deleted file mode 100644
    index 1a6ff7f5d778e2..00000000000000
    --- a/deps/npm/node_modules/minipass/README.md
    +++ /dev/null
    @@ -1,613 +0,0 @@
    -# minipass
    -
    -A _very_ minimal implementation of a [PassThrough
    -stream](https://nodejs.org/api/stream.html#stream_class_stream_passthrough)
    -
    -[It's very
    -fast](https://docs.google.com/spreadsheets/d/1oObKSrVwLX_7Ut4Z6g3fZW-AX1j1-k6w-cDsrkaSbHM/edit#gid=0)
    -for objects, strings, and buffers.
    -
    -Supports pipe()ing (including multi-pipe() and backpressure transmission),
    -buffering data until either a `data` event handler or `pipe()` is added (so
    -you don't lose the first chunk), and most other cases where PassThrough is
    -a good idea.
    -
    -There is a `read()` method, but it's much more efficient to consume data
    -from this stream via `'data'` events or by calling `pipe()` into some other
    -stream.  Calling `read()` requires the buffer to be flattened in some
    -cases, which requires copying memory.
    -
    -There is also no `unpipe()` method.  Once you start piping, there is no
    -stopping it!
    -
    -If you set `objectMode: true` in the options, then whatever is written will
    -be emitted.  Otherwise, it'll do a minimal amount of Buffer copying to
    -ensure proper Streams semantics when `read(n)` is called.
    -
    -`objectMode` can also be set by doing `stream.objectMode = true`, or by
    -writing any non-string/non-buffer data.  `objectMode` cannot be set to
    -false once it is set.
    -
    -This is not a `through` or `through2` stream.  It doesn't transform the
    -data, it just passes it right through.  If you want to transform the data,
    -extend the class, and override the `write()` method.  Once you're done
    -transforming the data however you want, call `super.write()` with the
    -transform output.
    -
    -For some examples of streams that extend Minipass in various ways, check
    -out:
    -
    -- [minizlib](http://npm.im/minizlib)
    -- [fs-minipass](http://npm.im/fs-minipass)
    -- [tar](http://npm.im/tar)
    -- [minipass-collect](http://npm.im/minipass-collect)
    -- [minipass-flush](http://npm.im/minipass-flush)
    -- [minipass-pipeline](http://npm.im/minipass-pipeline)
    -- [tap](http://npm.im/tap)
    -- [tap-parser](http://npm.im/tap)
    -- [treport](http://npm.im/tap)
    -- [minipass-fetch](http://npm.im/minipass-fetch)
    -- [pacote](http://npm.im/pacote)
    -- [make-fetch-happen](http://npm.im/make-fetch-happen)
    -- [cacache](http://npm.im/cacache)
    -- [ssri](http://npm.im/ssri)
    -- [npm-registry-fetch](http://npm.im/npm-registry-fetch)
    -- [minipass-json-stream](http://npm.im/minipass-json-stream)
    -- [minipass-sized](http://npm.im/minipass-sized)
    -
    -## Differences from Node.js Streams
    -
    -There are several things that make Minipass streams different from (and in
    -some ways superior to) Node.js core streams.
    -
    -Please read these caveats if you are familiar with noode-core streams and
    -intend to use Minipass streams in your programs.
    -
    -### Timing
    -
    -Minipass streams are designed to support synchronous use-cases.  Thus, data
    -is emitted as soon as it is available, always.  It is buffered until read,
    -but no longer.  Another way to look at it is that Minipass streams are
    -exactly as synchronous as the logic that writes into them.
    -
    -This can be surprising if your code relies on `PassThrough.write()` always
    -providing data on the next tick rather than the current one, or being able
    -to call `resume()` and not have the entire buffer disappear immediately.
    -
    -However, without this synchronicity guarantee, there would be no way for
    -Minipass to achieve the speeds it does, or support the synchronous use
    -cases that it does.  Simply put, waiting takes time.
    -
    -This non-deferring approach makes Minipass streams much easier to reason
    -about, especially in the context of Promises and other flow-control
    -mechanisms.
    -
    -### No High/Low Water Marks
    -
    -Node.js core streams will optimistically fill up a buffer, returning `true`
    -on all writes until the limit is hit, even if the data has nowhere to go.
    -Then, they will not attempt to draw more data in until the buffer size dips
    -below a minimum value.
    -
    -Minipass streams are much simpler.  The `write()` method will return `true`
    -if the data has somewhere to go (which is to say, given the timing
    -guarantees, that the data is already there by the time `write()` returns).
    -
    -If the data has nowhere to go, then `write()` returns false, and the data
    -sits in a buffer, to be drained out immediately as soon as anyone consumes
    -it.
    -
    -### Hazards of Buffering (or: Why Minipass Is So Fast)
    -
    -Since data written to a Minipass stream is immediately written all the way
    -through the pipeline, and `write()` always returns true/false based on
    -whether the data was fully flushed, backpressure is communicated
    -immediately to the upstream caller.  This minimizes buffering.
    -
    -Consider this case:
    -
    -```js
    -const {PassThrough} = require('stream')
    -const p1 = new PassThrough({ highWaterMark: 1024 })
    -const p2 = new PassThrough({ highWaterMark: 1024 })
    -const p3 = new PassThrough({ highWaterMark: 1024 })
    -const p4 = new PassThrough({ highWaterMark: 1024 })
    -
    -p1.pipe(p2).pipe(p3).pipe(p4)
    -p4.on('data', () => console.log('made it through'))
    -
    -// this returns false and buffers, then writes to p2 on next tick (1)
    -// p2 returns false and buffers, pausing p1, then writes to p3 on next tick (2)
    -// p3 returns false and buffers, pausing p2, then writes to p4 on next tick (3)
    -// p4 returns false and buffers, pausing p3, then emits 'data' and 'drain'
    -// on next tick (4)
    -// p3 sees p4's 'drain' event, and calls resume(), emitting 'resume' and
    -// 'drain' on next tick (5)
    -// p2 sees p3's 'drain', calls resume(), emits 'resume' and 'drain' on next tick (6)
    -// p1 sees p2's 'drain', calls resume(), emits 'resume' and 'drain' on next
    -// tick (7)
    -
    -p1.write(Buffer.alloc(2048)) // returns false
    -```
    -
    -Along the way, the data was buffered and deferred at each stage, and
    -multiple event deferrals happened, for an unblocked pipeline where it was
    -perfectly safe to write all the way through!
    -
    -Furthermore, setting a `highWaterMark` of `1024` might lead someone reading
    -the code to think an advisory maximum of 1KiB is being set for the
    -pipeline.  However, the actual advisory buffering level is the _sum_ of
    -`highWaterMark` values, since each one has its own bucket.
    -
    -Consider the Minipass case:
    -
    -```js
    -const m1 = new Minipass()
    -const m2 = new Minipass()
    -const m3 = new Minipass()
    -const m4 = new Minipass()
    -
    -m1.pipe(m2).pipe(m3).pipe(m4)
    -m4.on('data', () => console.log('made it through'))
    -
    -// m1 is flowing, so it writes the data to m2 immediately
    -// m2 is flowing, so it writes the data to m3 immediately
    -// m3 is flowing, so it writes the data to m4 immediately
    -// m4 is flowing, so it fires the 'data' event immediately, returns true
    -// m4's write returned true, so m3 is still flowing, returns true
    -// m3's write returned true, so m2 is still flowing, returns true
    -// m2's write returned true, so m1 is still flowing, returns true
    -// No event deferrals or buffering along the way!
    -
    -m1.write(Buffer.alloc(2048)) // returns true
    -```
    -
    -It is extremely unlikely that you _don't_ want to buffer any data written,
    -or _ever_ buffer data that can be flushed all the way through.  Neither
    -node-core streams nor Minipass ever fail to buffer written data, but
    -node-core streams do a lot of unnecessary buffering and pausing.
    -
    -As always, the faster implementation is the one that does less stuff and
    -waits less time to do it.
    -
    -### Immediately emit `end` for empty streams (when not paused)
    -
    -If a stream is not paused, and `end()` is called before writing any data
    -into it, then it will emit `end` immediately.
    -
    -If you have logic that occurs on the `end` event which you don't want to
    -potentially happen immediately (for example, closing file descriptors,
    -moving on to the next entry in an archive parse stream, etc.) then be sure
    -to call `stream.pause()` on creation, and then `stream.resume()` once you
    -are ready to respond to the `end` event.
    -
    -### Emit `end` When Asked
    -
    -One hazard of immediately emitting `'end'` is that you may not yet have had
    -a chance to add a listener.  In order to avoid this hazard, Minipass
    -streams safely re-emit the `'end'` event if a new listener is added after
    -`'end'` has been emitted.
    -
    -Ie, if you do `stream.on('end', someFunction)`, and the stream has already
    -emitted `end`, then it will call the handler right away.  (You can think of
    -this somewhat like attaching a new `.then(fn)` to a previously-resolved
    -Promise.)
    -
    -To prevent calling handlers multiple times who would not expect multiple
    -ends to occur, all listeners are removed from the `'end'` event whenever it
    -is emitted.
    -
    -### Impact of "immediate flow" on Tee-streams
    -
    -A "tee stream" is a stream piping to multiple destinations:
    -
    -```js
    -const tee = new Minipass()
    -t.pipe(dest1)
    -t.pipe(dest2)
    -t.write('foo') // goes to both destinations
    -```
    -
    -Since Minipass streams _immediately_ process any pending data through the
    -pipeline when a new pipe destination is added, this can have surprising
    -effects, especially when a stream comes in from some other function and may
    -or may not have data in its buffer.
    -
    -```js
    -// WARNING! WILL LOSE DATA!
    -const src = new Minipass()
    -src.write('foo')
    -src.pipe(dest1) // 'foo' chunk flows to dest1 immediately, and is gone
    -src.pipe(dest2) // gets nothing!
    -```
    -
    -The solution is to create a dedicated tee-stream junction that pipes to
    -both locations, and then pipe to _that_ instead.
    -
    -```js
    -// Safe example: tee to both places
    -const src = new Minipass()
    -src.write('foo')
    -const tee = new Minipass()
    -tee.pipe(dest1)
    -tee.pipe(dest2)
    -src.pipe(tee) // tee gets 'foo', pipes to both locations
    -```
    -
    -The same caveat applies to `on('data')` event listeners.  The first one
    -added will _immediately_ receive all of the data, leaving nothing for the
    -second:
    -
    -```js
    -// WARNING! WILL LOSE DATA!
    -const src = new Minipass()
    -src.write('foo')
    -src.on('data', handler1) // receives 'foo' right away
    -src.on('data', handler2) // nothing to see here!
    -```
    -
    -Using a dedicated tee-stream can be used in this case as well:
    -
    -```js
    -// Safe example: tee to both data handlers
    -const src = new Minipass()
    -src.write('foo')
    -const tee = new Minipass()
    -tee.on('data', handler1)
    -tee.on('data', handler2)
    -src.pipe(tee)
    -```
    -
    -## USAGE
    -
    -It's a stream!  Use it like a stream and it'll most likely do what you
    -want.
    -
    -```js
    -const Minipass = require('minipass')
    -const mp = new Minipass(options) // optional: { encoding, objectMode }
    -mp.write('foo')
    -mp.pipe(someOtherStream)
    -mp.end('bar')
    -```
    -
    -### OPTIONS
    -
    -* `encoding` How would you like the data coming _out_ of the stream to be
    -  encoded?  Accepts any values that can be passed to `Buffer.toString()`.
    -* `objectMode` Emit data exactly as it comes in.  This will be flipped on
    -  by default if you write() something other than a string or Buffer at any
    -  point.  Setting `objectMode: true` will prevent setting any encoding
    -  value.
    -
    -### API
    -
    -Implements the user-facing portions of Node.js's `Readable` and `Writable`
    -streams.
    -
    -### Methods
    -
    -* `write(chunk, [encoding], [callback])` - Put data in.  (Note that, in the
    -  base Minipass class, the same data will come out.)  Returns `false` if
    -  the stream will buffer the next write, or true if it's still in "flowing"
    -  mode.
    -* `end([chunk, [encoding]], [callback])` - Signal that you have no more
    -  data to write.  This will queue an `end` event to be fired when all the
    -  data has been consumed.
    -* `setEncoding(encoding)` - Set the encoding for data coming of the stream.
    -  This can only be done once.
    -* `pause()` - No more data for a while, please.  This also prevents `end`
    -  from being emitted for empty streams until the stream is resumed.
    -* `resume()` - Resume the stream.  If there's data in the buffer, it is all
    -  discarded.  Any buffered events are immediately emitted.
    -* `pipe(dest)` - Send all output to the stream provided.  There is no way
    -  to unpipe.  When data is emitted, it is immediately written to any and
    -  all pipe destinations.
    -* `on(ev, fn)`, `emit(ev, fn)` - Minipass streams are EventEmitters.  Some
    -  events are given special treatment, however.  (See below under "events".)
    -* `promise()` - Returns a Promise that resolves when the stream emits
    -  `end`, or rejects if the stream emits `error`.
    -* `collect()` - Return a Promise that resolves on `end` with an array
    -  containing each chunk of data that was emitted, or rejects if the stream
    -  emits `error`.  Note that this consumes the stream data.
    -* `concat()` - Same as `collect()`, but concatenates the data into a single
    -  Buffer object.  Will reject the returned promise if the stream is in
    -  objectMode, or if it goes into objectMode by the end of the data.
    -* `read(n)` - Consume `n` bytes of data out of the buffer.  If `n` is not
    -  provided, then consume all of it.  If `n` bytes are not available, then
    -  it returns null.  **Note** consuming streams in this way is less
    -  efficient, and can lead to unnecessary Buffer copying.
    -* `destroy([er])` - Destroy the stream.  If an error is provided, then an
    -  `'error'` event is emitted.  If the stream has a `close()` method, and
    -  has not emitted a `'close'` event yet, then `stream.close()` will be
    -  called.  Any Promises returned by `.promise()`, `.collect()` or
    -  `.concat()` will be rejected.  After being destroyed, writing to the
    -  stream will emit an error.  No more data will be emitted if the stream is
    -  destroyed, even if it was previously buffered.
    -
    -### Properties
    -
    -* `bufferLength` Read-only.  Total number of bytes buffered, or in the case
    -  of objectMode, the total number of objects.
    -* `encoding` The encoding that has been set.  (Setting this is equivalent
    -  to calling `setEncoding(enc)` and has the same prohibition against
    -  setting multiple times.)
    -* `flowing` Read-only.  Boolean indicating whether a chunk written to the
    -  stream will be immediately emitted.
    -* `emittedEnd` Read-only.  Boolean indicating whether the end-ish events
    -  (ie, `end`, `prefinish`, `finish`) have been emitted.  Note that
    -  listening on any end-ish event will immediateyl re-emit it if it has
    -  already been emitted.
    -* `writable` Whether the stream is writable.  Default `true`.  Set to
    -  `false` when `end()`
    -* `readable` Whether the stream is readable.  Default `true`.
    -* `buffer` A [yallist](http://npm.im/yallist) linked list of chunks written
    -  to the stream that have not yet been emitted.  (It's probably a bad idea
    -  to mess with this.)
    -* `pipes` A [yallist](http://npm.im/yallist) linked list of streams that
    -  this stream is piping into.  (It's probably a bad idea to mess with
    -  this.)
    -* `destroyed` A getter that indicates whether the stream was destroyed.
    -* `paused` True if the stream has been explicitly paused, otherwise false.
    -* `objectMode` Indicates whether the stream is in `objectMode`.  Once set
    -  to `true`, it cannot be set to `false`.
    -
    -### Events
    -
    -* `data` Emitted when there's data to read.  Argument is the data to read.
    -  This is never emitted while not flowing.  If a listener is attached, that
    -  will resume the stream.
    -* `end` Emitted when there's no more data to read.  This will be emitted
    -  immediately for empty streams when `end()` is called.  If a listener is
    -  attached, and `end` was already emitted, then it will be emitted again.
    -  All listeners are removed when `end` is emitted.
    -* `prefinish` An end-ish event that follows the same logic as `end` and is
    -  emitted in the same conditions where `end` is emitted.  Emitted after
    -  `'end'`.
    -* `finish` An end-ish event that follows the same logic as `end` and is
    -  emitted in the same conditions where `end` is emitted.  Emitted after
    -  `'prefinish'`.
    -* `close` An indication that an underlying resource has been released.
    -  Minipass does not emit this event, but will defer it until after `end`
    -  has been emitted, since it throws off some stream libraries otherwise.
    -* `drain` Emitted when the internal buffer empties, and it is again
    -  suitable to `write()` into the stream.
    -* `readable` Emitted when data is buffered and ready to be read by a
    -  consumer.
    -* `resume` Emitted when stream changes state from buffering to flowing
    -  mode.  (Ie, when `resume` is called, `pipe` is called, or a `data` event
    -  listener is added.)
    -
    -### Static Methods
    -
    -* `Minipass.isStream(stream)` Returns `true` if the argument is a stream,
    -  and false otherwise.  To be considered a stream, the object must be
    -  either an instance of Minipass, or an EventEmitter that has either a
    -  `pipe()` method, or both `write()` and `end()` methods.  (Pretty much any
    -  stream in node-land will return `true` for this.)
    -
    -## EXAMPLES
    -
    -Here are some examples of things you can do with Minipass streams.
    -
    -### simple "are you done yet" promise
    -
    -```js
    -mp.promise().then(() => {
    -  // stream is finished
    -}, er => {
    -  // stream emitted an error
    -})
    -```
    -
    -### collecting
    -
    -```js
    -mp.collect().then(all => {
    -  // all is an array of all the data emitted
    -  // encoding is supported in this case, so
    -  // so the result will be a collection of strings if
    -  // an encoding is specified, or buffers/objects if not.
    -  //
    -  // In an async function, you may do
    -  // const data = await stream.collect()
    -})
    -```
    -
    -### collecting into a single blob
    -
    -This is a bit slower because it concatenates the data into one chunk for
    -you, but if you're going to do it yourself anyway, it's convenient this
    -way:
    -
    -```js
    -mp.concat().then(onebigchunk => {
    -  // onebigchunk is a string if the stream
    -  // had an encoding set, or a buffer otherwise.
    -})
    -```
    -
    -### iteration
    -
    -You can iterate over streams synchronously or asynchronously in platforms
    -that support it.
    -
    -Synchronous iteration will end when the currently available data is
    -consumed, even if the `end` event has not been reached.  In string and
    -buffer mode, the data is concatenated, so unless multiple writes are
    -occurring in the same tick as the `read()`, sync iteration loops will
    -generally only have a single iteration.
    -
    -To consume chunks in this way exactly as they have been written, with no
    -flattening, create the stream with the `{ objectMode: true }` option.
    -
    -```js
    -const mp = new Minipass({ objectMode: true })
    -mp.write('a')
    -mp.write('b')
    -for (let letter of mp) {
    -  console.log(letter) // a, b
    -}
    -mp.write('c')
    -mp.write('d')
    -for (let letter of mp) {
    -  console.log(letter) // c, d
    -}
    -mp.write('e')
    -mp.end()
    -for (let letter of mp) {
    -  console.log(letter) // e
    -}
    -for (let letter of mp) {
    -  console.log(letter) // nothing
    -}
    -```
    -
    -Asynchronous iteration will continue until the end event is reached,
    -consuming all of the data.
    -
    -```js
    -const mp = new Minipass({ encoding: 'utf8' })
    -
    -// some source of some data
    -let i = 5
    -const inter = setInterval(() => {
    -  if (i --> 0)
    -    mp.write(Buffer.from('foo\n', 'utf8'))
    -  else {
    -    mp.end()
    -    clearInterval(inter)
    -  }
    -}, 100)
    -
    -// consume the data with asynchronous iteration
    -async function consume () {
    -  for await (let chunk of mp) {
    -    console.log(chunk)
    -  }
    -  return 'ok'
    -}
    -
    -consume().then(res => console.log(res))
    -// logs `foo\n` 5 times, and then `ok`
    -```
    -
    -### subclass that `console.log()`s everything written into it
    -
    -```js
    -class Logger extends Minipass {
    -  write (chunk, encoding, callback) {
    -    console.log('WRITE', chunk, encoding)
    -    return super.write(chunk, encoding, callback)
    -  }
    -  end (chunk, encoding, callback) {
    -    console.log('END', chunk, encoding)
    -    return super.end(chunk, encoding, callback)
    -  }
    -}
    -
    -someSource.pipe(new Logger()).pipe(someDest)
    -```
    -
    -### same thing, but using an inline anonymous class
    -
    -```js
    -// js classes are fun
    -someSource
    -  .pipe(new (class extends Minipass {
    -    emit (ev, ...data) {
    -      // let's also log events, because debugging some weird thing
    -      console.log('EMIT', ev)
    -      return super.emit(ev, ...data)
    -    }
    -    write (chunk, encoding, callback) {
    -      console.log('WRITE', chunk, encoding)
    -      return super.write(chunk, encoding, callback)
    -    }
    -    end (chunk, encoding, callback) {
    -      console.log('END', chunk, encoding)
    -      return super.end(chunk, encoding, callback)
    -    }
    -  }))
    -  .pipe(someDest)
    -```
    -
    -### subclass that defers 'end' for some reason
    -
    -```js
    -class SlowEnd extends Minipass {
    -  emit (ev, ...args) {
    -    if (ev === 'end') {
    -      console.log('going to end, hold on a sec')
    -      setTimeout(() => {
    -        console.log('ok, ready to end now')
    -        super.emit('end', ...args)
    -      }, 100)
    -    } else {
    -      return super.emit(ev, ...args)
    -    }
    -  }
    -}
    -```
    -
    -### transform that creates newline-delimited JSON
    -
    -```js
    -class NDJSONEncode extends Minipass {
    -  write (obj, cb) {
    -    try {
    -      // JSON.stringify can throw, emit an error on that
    -      return super.write(JSON.stringify(obj) + '\n', 'utf8', cb)
    -    } catch (er) {
    -      this.emit('error', er)
    -    }
    -  }
    -  end (obj, cb) {
    -    if (typeof obj === 'function') {
    -      cb = obj
    -      obj = undefined
    -    }
    -    if (obj !== undefined) {
    -      this.write(obj)
    -    }
    -    return super.end(cb)
    -  }
    -}
    -```
    -
    -### transform that parses newline-delimited JSON
    -
    -```js
    -class NDJSONDecode extends Minipass {
    -  constructor (options) {
    -    // always be in object mode, as far as Minipass is concerned
    -    super({ objectMode: true })
    -    this._jsonBuffer = ''
    -  }
    -  write (chunk, encoding, cb) {
    -    if (typeof chunk === 'string' &&
    -        typeof encoding === 'string' &&
    -        encoding !== 'utf8') {
    -      chunk = Buffer.from(chunk, encoding).toString()
    -    } else if (Buffer.isBuffer(chunk))
    -      chunk = chunk.toString()
    -    }
    -    if (typeof encoding === 'function') {
    -      cb = encoding
    -    }
    -    const jsonData = (this._jsonBuffer + chunk).split('\n')
    -    this._jsonBuffer = jsonData.pop()
    -    for (let i = 0; i < jsonData.length; i++) {
    -      let parsed
    -      try {
    -        super.write(parsed)
    -      } catch (er) {
    -        this.emit('error', er)
    -        continue
    -      }
    -    }
    -    if (cb)
    -      cb()
    -  }
    -}
    -```
    diff --git a/deps/npm/node_modules/minizlib/README.md b/deps/npm/node_modules/minizlib/README.md
    deleted file mode 100644
    index 80e067ab381e1d..00000000000000
    --- a/deps/npm/node_modules/minizlib/README.md
    +++ /dev/null
    @@ -1,60 +0,0 @@
    -# minizlib
    -
    -A fast zlib stream built on [minipass](http://npm.im/minipass) and
    -Node.js's zlib binding.
    -
    -This module was created to serve the needs of
    -[node-tar](http://npm.im/tar) and
    -[minipass-fetch](http://npm.im/minipass-fetch).
    -
    -Brotli is supported in versions of node with a Brotli binding.
    -
    -## How does this differ from the streams in `require('zlib')`?
    -
    -First, there are no convenience methods to compress or decompress a
    -buffer.  If you want those, use the built-in `zlib` module.  This is
    -only streams.  That being said, Minipass streams to make it fairly easy to
    -use as one-liners: `new zlib.Deflate().end(data).read()` will return the
    -deflate compressed result.
    -
    -This module compresses and decompresses the data as fast as you feed
    -it in.  It is synchronous, and runs on the main process thread.  Zlib
    -and Brotli operations can be high CPU, but they're very fast, and doing it
    -this way means much less bookkeeping and artificial deferral.
    -
    -Node's built in zlib streams are built on top of `stream.Transform`.
    -They do the maximally safe thing with respect to consistent
    -asynchrony, buffering, and backpressure.
    -
    -See [Minipass](http://npm.im/minipass) for more on the differences between
    -Node.js core streams and Minipass streams, and the convenience methods
    -provided by that class.
    -
    -## Classes
    -
    -- Deflate
    -- Inflate
    -- Gzip
    -- Gunzip
    -- DeflateRaw
    -- InflateRaw
    -- Unzip
    -- BrotliCompress (Node v10 and higher)
    -- BrotliDecompress (Node v10 and higher)
    -
    -## USAGE
    -
    -```js
    -const zlib = require('minizlib')
    -const input = sourceOfCompressedData()
    -const decode = new zlib.BrotliDecompress()
    -const output = whereToWriteTheDecodedData()
    -input.pipe(decode).pipe(output)
    -```
    -
    -## REPRODUCIBLE BUILDS
    -
    -To create reproducible gzip compressed files across different operating
    -systems, set `portable: true` in the options.  This causes minizlib to set
    -the `OS` indicator in byte 9 of the extended gzip header to `0xFF` for
    -'unknown'.
    diff --git a/deps/npm/node_modules/mkdirp-infer-owner/README.md b/deps/npm/node_modules/mkdirp-infer-owner/README.md
    deleted file mode 100644
    index c466ac3404b38b..00000000000000
    --- a/deps/npm/node_modules/mkdirp-infer-owner/README.md
    +++ /dev/null
    @@ -1,16 +0,0 @@
    -# mkdirp-infer-owner
    -
    -[`mkdirp`](http://npm.im/mkdirp), but chown to the owner of the containing
    -folder if possible and necessary.
    -
    -That is, on Windows and when running as non-root, it's exactly the same as
    -[`mkdirp`](http://npm.im/mkdirp).
    -
    -When running as root on non-Windows systems, it uses
    -[`infer-owner`](http://npm.im/infer-owner) to find the owner of the
    -containing folder, and then [`chownr`](http://npm.im/chownr) to set the
    -ownership of the created folder to that same uid/gid.
    -
    -This is used by [npm](http://npm.im/npm) to prevent root-owned files and
    -folders from showing up in your home directory (either in `node_modules` or
    -in the `~/.npm` cache) when running as root.
    diff --git a/deps/npm/node_modules/mute-stream/README.md b/deps/npm/node_modules/mute-stream/README.md
    deleted file mode 100644
    index 8ab1238e46d1fb..00000000000000
    --- a/deps/npm/node_modules/mute-stream/README.md
    +++ /dev/null
    @@ -1,68 +0,0 @@
    -# mute-stream
    -
    -Bytes go in, but they don't come out (when muted).
    -
    -This is a basic pass-through stream, but when muted, the bytes are
    -silently dropped, rather than being passed through.
    -
    -## Usage
    -
    -```javascript
    -var MuteStream = require('mute-stream')
    -
    -var ms = new MuteStream(options)
    -
    -ms.pipe(process.stdout)
    -ms.write('foo') // writes 'foo' to stdout
    -ms.mute()
    -ms.write('bar') // does not write 'bar'
    -ms.unmute()
    -ms.write('baz') // writes 'baz' to stdout
    -
    -// can also be used to mute incoming data
    -var ms = new MuteStream
    -input.pipe(ms)
    -
    -ms.on('data', function (c) {
    -  console.log('data: ' + c)
    -})
    -
    -input.emit('data', 'foo') // logs 'foo'
    -ms.mute()
    -input.emit('data', 'bar') // does not log 'bar'
    -ms.unmute()
    -input.emit('data', 'baz') // logs 'baz'
    -```
    -
    -## Options
    -
    -All options are optional.
    -
    -* `replace` Set to a string to replace each character with the
    -  specified string when muted.  (So you can show `****` instead of the
    -  password, for example.)
    -
    -* `prompt` If you are using a replacement char, and also using a
    -  prompt with a readline stream (as for a `Password: *****` input),
    -  then specify what the prompt is so that backspace will work
    -  properly.  Otherwise, pressing backspace will overwrite the prompt
    -  with the replacement character, which is weird.
    -
    -## ms.mute()
    -
    -Set `muted` to `true`.  Turns `.write()` into a no-op.
    -
    -## ms.unmute()
    -
    -Set `muted` to `false`
    -
    -## ms.isTTY
    -
    -True if the pipe destination is a TTY, or if the incoming pipe source is
    -a TTY.
    -
    -## Other stream methods...
    -
    -The other standard readable and writable stream methods are all
    -available.  The MuteStream object acts as a facade to its pipe source
    -and destination.
    diff --git a/deps/npm/node_modules/negotiator/README.md b/deps/npm/node_modules/negotiator/README.md
    deleted file mode 100644
    index 04a67ff7656709..00000000000000
    --- a/deps/npm/node_modules/negotiator/README.md
    +++ /dev/null
    @@ -1,203 +0,0 @@
    -# negotiator
    -
    -[![NPM Version][npm-image]][npm-url]
    -[![NPM Downloads][downloads-image]][downloads-url]
    -[![Node.js Version][node-version-image]][node-version-url]
    -[![Build Status][travis-image]][travis-url]
    -[![Test Coverage][coveralls-image]][coveralls-url]
    -
    -An HTTP content negotiator for Node.js
    -
    -## Installation
    -
    -```sh
    -$ npm install negotiator
    -```
    -
    -## API
    -
    -```js
    -var Negotiator = require('negotiator')
    -```
    -
    -### Accept Negotiation
    -
    -```js
    -availableMediaTypes = ['text/html', 'text/plain', 'application/json']
    -
    -// The negotiator constructor receives a request object
    -negotiator = new Negotiator(request)
    -
    -// Let's say Accept header is 'text/html, application/*;q=0.2, image/jpeg;q=0.8'
    -
    -negotiator.mediaTypes()
    -// -> ['text/html', 'image/jpeg', 'application/*']
    -
    -negotiator.mediaTypes(availableMediaTypes)
    -// -> ['text/html', 'application/json']
    -
    -negotiator.mediaType(availableMediaTypes)
    -// -> 'text/html'
    -```
    -
    -You can check a working example at `examples/accept.js`.
    -
    -#### Methods
    -
    -##### mediaType()
    -
    -Returns the most preferred media type from the client.
    -
    -##### mediaType(availableMediaType)
    -
    -Returns the most preferred media type from a list of available media types.
    -
    -##### mediaTypes()
    -
    -Returns an array of preferred media types ordered by the client preference.
    -
    -##### mediaTypes(availableMediaTypes)
    -
    -Returns an array of preferred media types ordered by priority from a list of
    -available media types.
    -
    -### Accept-Language Negotiation
    -
    -```js
    -negotiator = new Negotiator(request)
    -
    -availableLanguages = ['en', 'es', 'fr']
    -
    -// Let's say Accept-Language header is 'en;q=0.8, es, pt'
    -
    -negotiator.languages()
    -// -> ['es', 'pt', 'en']
    -
    -negotiator.languages(availableLanguages)
    -// -> ['es', 'en']
    -
    -language = negotiator.language(availableLanguages)
    -// -> 'es'
    -```
    -
    -You can check a working example at `examples/language.js`.
    -
    -#### Methods
    -
    -##### language()
    -
    -Returns the most preferred language from the client.
    -
    -##### language(availableLanguages)
    -
    -Returns the most preferred language from a list of available languages.
    -
    -##### languages()
    -
    -Returns an array of preferred languages ordered by the client preference.
    -
    -##### languages(availableLanguages)
    -
    -Returns an array of preferred languages ordered by priority from a list of
    -available languages.
    -
    -### Accept-Charset Negotiation
    -
    -```js
    -availableCharsets = ['utf-8', 'iso-8859-1', 'iso-8859-5']
    -
    -negotiator = new Negotiator(request)
    -
    -// Let's say Accept-Charset header is 'utf-8, iso-8859-1;q=0.8, utf-7;q=0.2'
    -
    -negotiator.charsets()
    -// -> ['utf-8', 'iso-8859-1', 'utf-7']
    -
    -negotiator.charsets(availableCharsets)
    -// -> ['utf-8', 'iso-8859-1']
    -
    -negotiator.charset(availableCharsets)
    -// -> 'utf-8'
    -```
    -
    -You can check a working example at `examples/charset.js`.
    -
    -#### Methods
    -
    -##### charset()
    -
    -Returns the most preferred charset from the client.
    -
    -##### charset(availableCharsets)
    -
    -Returns the most preferred charset from a list of available charsets.
    -
    -##### charsets()
    -
    -Returns an array of preferred charsets ordered by the client preference.
    -
    -##### charsets(availableCharsets)
    -
    -Returns an array of preferred charsets ordered by priority from a list of
    -available charsets.
    -
    -### Accept-Encoding Negotiation
    -
    -```js
    -availableEncodings = ['identity', 'gzip']
    -
    -negotiator = new Negotiator(request)
    -
    -// Let's say Accept-Encoding header is 'gzip, compress;q=0.2, identity;q=0.5'
    -
    -negotiator.encodings()
    -// -> ['gzip', 'identity', 'compress']
    -
    -negotiator.encodings(availableEncodings)
    -// -> ['gzip', 'identity']
    -
    -negotiator.encoding(availableEncodings)
    -// -> 'gzip'
    -```
    -
    -You can check a working example at `examples/encoding.js`.
    -
    -#### Methods
    -
    -##### encoding()
    -
    -Returns the most preferred encoding from the client.
    -
    -##### encoding(availableEncodings)
    -
    -Returns the most preferred encoding from a list of available encodings.
    -
    -##### encodings()
    -
    -Returns an array of preferred encodings ordered by the client preference.
    -
    -##### encodings(availableEncodings)
    -
    -Returns an array of preferred encodings ordered by priority from a list of
    -available encodings.
    -
    -## See Also
    -
    -The [accepts](https://npmjs.org/package/accepts#readme) module builds on
    -this module and provides an alternative interface, mime type validation,
    -and more.
    -
    -## License
    -
    -[MIT](LICENSE)
    -
    -[npm-image]: https://img.shields.io/npm/v/negotiator.svg
    -[npm-url]: https://npmjs.org/package/negotiator
    -[node-version-image]: https://img.shields.io/node/v/negotiator.svg
    -[node-version-url]: https://nodejs.org/en/download/
    -[travis-image]: https://img.shields.io/travis/jshttp/negotiator/master.svg
    -[travis-url]: https://travis-ci.org/jshttp/negotiator
    -[coveralls-image]: https://img.shields.io/coveralls/jshttp/negotiator/master.svg
    -[coveralls-url]: https://coveralls.io/r/jshttp/negotiator?branch=master
    -[downloads-image]: https://img.shields.io/npm/dm/negotiator.svg
    -[downloads-url]: https://npmjs.org/package/negotiator
    diff --git a/deps/npm/node_modules/normalize-package-data/README.md b/deps/npm/node_modules/normalize-package-data/README.md
    deleted file mode 100644
    index 84da5e8bcf2ddd..00000000000000
    --- a/deps/npm/node_modules/normalize-package-data/README.md
    +++ /dev/null
    @@ -1,108 +0,0 @@
    -# normalize-package-data
    -
    -[![Build Status](https://travis-ci.org/npm/normalize-package-data.svg?branch=master)](https://travis-ci.org/npm/normalize-package-data)
    -
    -normalize-package-data exports a function that normalizes package metadata. This data is typically found in a package.json file, but in principle could come from any source - for example the npm registry.
    -
    -normalize-package-data is used by [read-package-json](https://npmjs.org/package/read-package-json) to normalize the data it reads from a package.json file. In turn, read-package-json is used by [npm](https://npmjs.org/package/npm) and various npm-related tools.
    -
    -## Installation
    -
    -```
    -npm install normalize-package-data
    -```
    -
    -## Usage
    -
    -Basic usage is really simple. You call the function that normalize-package-data exports. Let's call it `normalizeData`.
    -
    -```javascript
    -normalizeData = require('normalize-package-data')
    -packageData = require("./package.json")
    -normalizeData(packageData)
    -// packageData is now normalized
    -```
    -
    -#### Strict mode
    -
    -You may activate strict validation by passing true as the second argument.
    -
    -```javascript
    -normalizeData = require('normalize-package-data')
    -packageData = require("./package.json")
    -normalizeData(packageData, true)
    -// packageData is now normalized
    -```
    -
    -If strict mode is activated, only Semver 2.0 version strings are accepted. Otherwise, Semver 1.0 strings are accepted as well. Packages must have a name, and the name field must not have contain leading or trailing whitespace.
    -
    -#### Warnings
    -
    -Optionally, you may pass a "warning" function. It gets called whenever the `normalizeData` function encounters something that doesn't look right. It indicates less than perfect input data.
    -
    -```javascript
    -normalizeData = require('normalize-package-data')
    -packageData = require("./package.json")
    -warnFn = function(msg) { console.error(msg) }
    -normalizeData(packageData, warnFn)
    -// packageData is now normalized. Any number of warnings may have been logged.
    -```
    -
    -You may combine strict validation with warnings by passing `true` as the second argument, and `warnFn` as third.
    -
    -When `private` field is set to `true`, warnings will be suppressed.
    -
    -### Potential exceptions
    -
    -If the supplied data has an invalid name or version vield, `normalizeData` will throw an error. Depending on where you call `normalizeData`, you may want to catch these errors so can pass them to a callback.
    -
    -## What normalization (currently) entails
    -
    -* The value of `name` field gets trimmed (unless in strict mode).
    -* The value of the `version` field gets cleaned by `semver.clean`. See [documentation for the semver module](https://github.com/isaacs/node-semver).
    -* If `name` and/or `version` fields are missing, they are set to empty strings.
    -* If `files` field is not an array, it will be removed.
    -* If `bin` field is a string, then `bin` field will become an object with `name` set to the value of the `name` field, and `bin` set to the original string value.
    -* If `man` field is a string, it will become an array with the original string as its sole member.
    -* If `keywords` field is string, it is considered to be a list of keywords separated by one or more white-space characters. It gets converted to an array by splitting on `\s+`.
    -* All people fields (`author`, `maintainers`, `contributors`) get converted into objects with name, email and url properties.
    -* If `bundledDependencies` field (a typo) exists and `bundleDependencies` field does not, `bundledDependencies` will get renamed to `bundleDependencies`.
    -* If the value of any of the dependencies fields  (`dependencies`, `devDependencies`, `optionalDependencies`) is a string, it gets converted into an object with familiar `name=>value` pairs.
    -* The values in `optionalDependencies` get added to `dependencies`. The `optionalDependencies` array is left untouched.
    -* As of v2: Dependencies that point at known hosted git providers (currently: github, bitbucket, gitlab) will have their URLs canonicalized, but protocols will be preserved.
    -* As of v2: Dependencies that use shortcuts for hosted git providers (`org/proj`, `github:org/proj`, `bitbucket:org/proj`, `gitlab:org/proj`, `gist:docid`) will have the shortcut left in place. (In the case of github, the `org/proj` form will be expanded to `github:org/proj`.) THIS MARKS A BREAKING CHANGE FROM V1, where the shorcut was previously expanded to a URL.
    -* If `description` field does not exist, but `readme` field does, then (more or less) the first paragraph of text that's found in the readme is taken as value for `description`.
    -* If `repository` field is a string, it will become an object with `url` set to the original string value, and `type` set to `"git"`.
    -* If `repository.url` is not a valid url, but in the style of "[owner-name]/[repo-name]", `repository.url` will be set to git+https://github.com/[owner-name]/[repo-name].git
    -* If `bugs` field is a string, the value of `bugs` field is changed into an object with `url` set to the original string value.
    -* If `bugs` field does not exist, but `repository` field points to a repository hosted on GitHub, the value of the `bugs` field gets set to an url in the form of https://github.com/[owner-name]/[repo-name]/issues . If the repository field points to a GitHub Gist repo url, the associated http url is chosen.
    -* If `bugs` field is an object, the resulting value only has email and url properties. If email and url properties are not strings, they are ignored. If no valid values for either email or url is found, bugs field will be removed.
    -* If `homepage` field is not a string, it will be removed.
    -* If the url in the `homepage` field does not specify a protocol, then http is assumed. For example, `myproject.org` will be changed to `http://myproject.org`.
    -* If `homepage` field does not exist, but `repository` field points to a repository hosted on GitHub, the value of the `homepage` field gets set to an url in the form of https://github.com/[owner-name]/[repo-name]#readme . If the repository field points to a GitHub Gist repo url, the associated http url is chosen.
    -
    -### Rules for name field
    -
    -If `name` field is given, the value of the name field must be a string. The string may not:
    -
    -* start with a period.
    -* contain the following characters: `/@\s+%`
    -* contain any characters that would need to be encoded for use in urls.
    -* resemble the word `node_modules` or `favicon.ico` (case doesn't matter).
    -
    -### Rules for version field
    -
    -If `version` field is given, the value of the version field must be a valid *semver* string, as determined by the `semver.valid` method. See [documentation for the semver module](https://github.com/isaacs/node-semver).
    -
    -### Rules for license field
    -
    -The `license` field should be a valid *SPDX license expression* or one of the special values allowed by [validate-npm-package-license](https://npmjs.com/package/validate-npm-package-license). See [documentation for the license field in package.json](https://docs.npmjs.com/files/package.json#license).
    -
    -## Credits
    -
    -This package contains code based on read-package-json written by Isaac Z. Schlueter. Used with permisson.
    -
    -## License
    -
    -normalize-package-data is released under the [BSD 2-Clause License](http://opensource.org/licenses/MIT).  
    -Copyright (c) 2013 Meryn Stol  
    diff --git a/deps/npm/node_modules/npm-audit-report/README.md b/deps/npm/node_modules/npm-audit-report/README.md
    deleted file mode 100644
    index 6eb2a3dfe56c16..00000000000000
    --- a/deps/npm/node_modules/npm-audit-report/README.md
    +++ /dev/null
    @@ -1,65 +0,0 @@
    -# npm audit security report
    -
    -Given a response from the npm security api, render it into a variety of security reports
    -
    -The response is an object that contains an output string (the report) and a suggested exitCode.
    -```
    -{
    -  report: 'string that contains the security report',
    -  exit: 1
    -}
    -```
    -
    -
    -## Basic usage example
    -
    -This is intended to be used along with
    -[`@npmcli/arborist`](http://npm.im/@npmcli/arborist)'s `AuditReport` class.
    -
    -```
    -'use strict'
    -const Report = require('npm-audit-report')
    -const options = {
    -  reporter: 'json'
    -}
    -
    -const arb = new Arborist({ path: '/path/to/project' })
    -arb.audit().then(report => {
    -  const result = new Report(report, options)
    -  console.log(result.output)
    -  process.exitCode = result.exitCode
    -})
    -```
    -
    -## Break from Version 1
    -
    -Version 5 and 6 of the npm CLI make a request to the registry endpoint at
    -either the "Full Audit" endpoint at `/-/npm/v1/security/audits` or
    -the "Quick Audit" endpoint at `/-/npm/v1/security/audits/quick`.  The Full
    -Audit endpoint calculates remediations necessary to correct problems based
    -on the shape of the tree.
    -
    -As of npm v7, the logic of how the cli manages trees is dramatically
    -rearchitected, rendering much of the remediations no longer valid.
    -Thus, it _only_ fetches the advisory data from the Quick Audit endpoint,
    -and uses [`@npmcli/arborist`](http://npm.im/@npmcli/arborist) to calculate
    -required remediations and affected nodes in the dependency graph.  This
    -data is serialized and provided as an `"auditReportVersion": 2` object.
    -
    -Version 2 of this module expects to recieve an instance (or serialized JSON
    -version of) the `AuditReport` class from Arborist, which is returned by
    -`arborist.audit()` and stored on the instance as `arborist.auditReport`.
    -
    -Eventually, a new endpoint _may_ be added to move the `@npmcli/arborist` work
    -to the server-side, in which case version 2 style audit reports _may_ be
    -provided directly.
    -
    -## options
    -
    -| option   | values                               | default   | description |
    -| :---     | :---                                 | :---      |:--- |
    -| reporter | `install`, `detail`, `json`, `quiet` | `install` | specify which output format you want to use |
    -| color    | `true`, `false`                      | `true`    | indicates if some report elements should use colors |
    -| unicode  | `true`, `false`                      | `true`    | indicates if unicode characters should be used|
    -| indent   | Number or String                     | `2`       | indentation for `'json'` report|
    -| auditLevel | 'info', 'low', 'moderate', 'high', 'critical', 'none' | `low` (ie, exit 0 if only `info` advisories are found) | level of vulnerability that will trigger a non-zero exit code (set to 'none' to always exit with a 0 status code) |
    diff --git a/deps/npm/node_modules/npm-bundled/README.md b/deps/npm/node_modules/npm-bundled/README.md
    deleted file mode 100644
    index fcfb2322faf09f..00000000000000
    --- a/deps/npm/node_modules/npm-bundled/README.md
    +++ /dev/null
    @@ -1,48 +0,0 @@
    -# npm-bundled
    -
    -Run this in a node package, and it'll tell you which things in
    -node_modules are bundledDependencies, or transitive dependencies of
    -bundled dependencies.
    -
    -[![Build Status](https://travis-ci.org/npm/npm-bundled.svg?branch=master)](https://travis-ci.org/npm/npm-bundled)
    -
    -## USAGE
    -
    -To get the list of deps at the top level that are bundled (or
    -transitive deps of a bundled dep) run this:
    -
    -```js
    -const bundled = require('npm-bundled')
    -
    -// async version
    -bundled({ path: '/path/to/pkg/defaults/to/cwd'}, (er, list) => {
    -  // er means it had an error, which is _hella_ weird
    -  // list is a list of package names, like `fooblz` or `@corp/blerg`
    -  // the might not all be deps of the top level, because transitives
    -})
    -
    -// async promise version
    -bundled({ path: '/path/to/pkg/defaults/to/cwd'}).then(list => {
    -  // so promisey!
    -  // actually the callback version returns a promise, too, it just
    -  // attaches the supplied callback to the promise
    -})
    -
    -// sync version, throws if there's an error
    -const list = bundled({ path: '/path/to/pkg/defaults/to/cwd'})
    -```
    -
    -That's basically all you need to know.  If you care to dig into it,
    -you can also use the `bundled.Walker` and `bundled.WalkerSync`
    -classes to get fancy.
    -
    -This library does not write anything to the filesystem, but it _may_
    -have undefined behavior if the structure of `node_modules` changes
    -while it's reading deps.
    -
    -All symlinks are followed.  This means that it can lead to surprising
    -results if a symlinked bundled dependency has a missing dependency
    -that is satisfied at the top level.  Since package creation resolves
    -symlinks as well, this is an edge case where package creation and
    -development environment are not going to be aligned, and is best
    -avoided.
    diff --git a/deps/npm/node_modules/npm-install-checks/CHANGELOG.md b/deps/npm/node_modules/npm-install-checks/CHANGELOG.md
    deleted file mode 100644
    index ae4f22fcf52c33..00000000000000
    --- a/deps/npm/node_modules/npm-install-checks/CHANGELOG.md
    +++ /dev/null
    @@ -1,18 +0,0 @@
    -# Change Log
    -
    -## v4.0
    -
    -* Remove `checkCycle` and `checkGit`, as they are no longer used in npm v7
    -* Synchronous throw-or-return API instead of taking a callback needlessly
    -* Modernize code and drop support for node versions less than 10
    -
    -## v3 2016-01-12
    -
    -* Change error messages to be more informative.
    -* checkEngine, when not in strict mode, now calls back with the error
    -  object as the second argument instead of warning.
    -* checkCycle no longer logs when cycle errors are found.
    -
    -## v2 2015-01-20
    -
    -* Remove checking of engineStrict in the package.json
    diff --git a/deps/npm/node_modules/npm-install-checks/README.md b/deps/npm/node_modules/npm-install-checks/README.md
    deleted file mode 100644
    index e83356c1dd9ba5..00000000000000
    --- a/deps/npm/node_modules/npm-install-checks/README.md
    +++ /dev/null
    @@ -1,27 +0,0 @@
    -# npm-install-checks
    -
    -Check the engines and platform fields in package.json
    -
    -## API
    -
    -Both functions will throw an error if the check fails, or return
    -`undefined` if everything is ok.
    -
    -Errors have a `required` and `current` fields.
    -
    -### .checkEngine(pkg, npmVer, nodeVer, force = false)
    -
    -Check if node/npm version is supported by the package. If it isn't
    -supported, an error is thrown.
    -
    -`force` argument will override the node version check, but not the npm
    -version check, as this typically would indicate that the current version of
    -npm is unable to install the package properly for some reason.
    -
    -Error code: 'EBADENGINE'
    -
    -### .checkPlatform(pkg, force)
    -
    -Check if OS/Arch is supported by the package.
    -
    -Error code: 'EBADPLATFORM'
    diff --git a/deps/npm/node_modules/npm-normalize-package-bin/.github/settings.yml b/deps/npm/node_modules/npm-normalize-package-bin/.github/settings.yml
    deleted file mode 100644
    index 4aaa0dd57e4ad0..00000000000000
    --- a/deps/npm/node_modules/npm-normalize-package-bin/.github/settings.yml
    +++ /dev/null
    @@ -1,2 +0,0 @@
    ----
    -_extends: 'open-source-project-boilerplate'
    diff --git a/deps/npm/node_modules/npm-normalize-package-bin/.npmignore b/deps/npm/node_modules/npm-normalize-package-bin/.npmignore
    deleted file mode 100644
    index 3870bd5bb72079..00000000000000
    --- a/deps/npm/node_modules/npm-normalize-package-bin/.npmignore
    +++ /dev/null
    @@ -1,24 +0,0 @@
    -# ignore most things, include some others
    -/*
    -/.*
    -
    -!bin/
    -!lib/
    -!docs/
    -!package.json
    -!package-lock.json
    -!README.md
    -!CONTRIBUTING.md
    -!LICENSE
    -!CHANGELOG.md
    -!example/
    -!scripts/
    -!tap-snapshots/
    -!test/
    -!.github/
    -!.travis.yml
    -!.gitignore
    -!.gitattributes
    -!coverage-map.js
    -!map.js
    -!index.js
    diff --git a/deps/npm/node_modules/npm-normalize-package-bin/README.md b/deps/npm/node_modules/npm-normalize-package-bin/README.md
    deleted file mode 100644
    index 65ba316a0d97ee..00000000000000
    --- a/deps/npm/node_modules/npm-normalize-package-bin/README.md
    +++ /dev/null
    @@ -1,14 +0,0 @@
    -# npm-normalize-package-bin
    -
    -Turn any flavor of allowable package.json bin into a normalized object.
    -
    -## API
    -
    -```js
    -const normalize = require('npm-normalize-package-bin')
    -const pkg = {name: 'foo', bin: 'bar'}
    -console.log(normalize(pkg)) // {name:'foo', bin:{foo: 'bar'}}
    -```
    -
    -Also strips out weird dots and slashes to prevent accidental and/or
    -malicious bad behavior when the package is installed.
    diff --git a/deps/npm/node_modules/npm-package-arg/README.md b/deps/npm/node_modules/npm-package-arg/README.md
    deleted file mode 100644
    index 847341b21a3b78..00000000000000
    --- a/deps/npm/node_modules/npm-package-arg/README.md
    +++ /dev/null
    @@ -1,83 +0,0 @@
    -# npm-package-arg
    -
    -[![Build Status](https://travis-ci.org/npm/npm-package-arg.svg?branch=master)](https://travis-ci.org/npm/npm-package-arg)
    -
    -Parses package name and specifier passed to commands like `npm install` or
    -`npm cache add`, or as found in `package.json` dependency sections.
    -
    -## EXAMPLES
    -
    -```javascript
    -var assert = require("assert")
    -var npa = require("npm-package-arg")
    -
    -// Pass in the descriptor, and it'll return an object
    -try {
    -  var parsed = npa("@bar/foo@1.2")
    -} catch (ex) {
    -  …
    -}
    -```
    -
    -## USING
    -
    -`var npa = require('npm-package-arg')`
    -
    -### var result = npa(*arg*[, *where*])
    -
    -* *arg* - a string that you might pass to `npm install`, like:
    -`foo@1.2`, `@bar/foo@1.2`, `foo@user/foo`, `http://x.com/foo.tgz`,
    -`git+https://github.com/user/foo`, `bitbucket:user/foo`, `foo.tar.gz`,
    -`../foo/bar/` or `bar`.  If the *arg* you provide doesn't have a specifier
    -part, eg `foo` then the specifier will default to `latest`.
    -* *where* - Optionally the path to resolve file paths relative to. Defaults to `process.cwd()`
    -
    -**Throws** if the package name is invalid, a dist-tag is invalid or a URL's protocol is not supported.
    -
    -### var result = npa.resolve(*name*, *spec*[, *where*])
    -
    -* *name* - The name of the module you want to install. For example: `foo` or `@bar/foo`.
    -* *spec* - The specifier indicating where and how you can get this module. Something like:
    -`1.2`, `^1.7.17`, `http://x.com/foo.tgz`, `git+https://github.com/user/foo`,
    -`bitbucket:user/foo`, `file:foo.tar.gz` or `file:../foo/bar/`.  If not
    -included then the default is `latest`.
    -* *where* - Optionally the path to resolve file paths relative to. Defaults to `process.cwd()`
    -
    -**Throws** if the package name is invalid, a dist-tag is invalid or a URL's protocol is not supported.
    -
    -## RESULT OBJECT
    -
    -The objects that are returned by npm-package-arg contain the following
    -keys:
    -
    -* `type` - One of the following strings:
    -  * `git` - A git repo
    -  * `tag` - A tagged version, like `"foo@latest"`
    -  * `version` - A specific version number, like `"foo@1.2.3"`
    -  * `range` - A version range, like `"foo@2.x"`
    -  * `file` - A local `.tar.gz`, `.tar` or `.tgz` file.
    -  * `directory` - A local directory.
    -  * `remote` - An http url (presumably to a tgz)
    -* `registry` - If true this specifier refers to a resource hosted on a
    -  registry.  This is true for `tag`, `version` and `range` types.
    -* `name` - If known, the `name` field expected in the resulting pkg.
    -* `scope` - If a name is something like `@org/module` then the `scope`
    -  field will be set to `@org`.  If it doesn't have a scoped name, then
    -  scope is `null`.
    -* `escapedName` - A version of `name` escaped to match the npm scoped packages
    -  specification. Mostly used when making requests against a registry. When
    -  `name` is `null`, `escapedName` will also be `null`.
    -* `rawSpec` - The specifier part that was parsed out in calls to `npa(arg)`,
    -  or the value of `spec` in calls to `npa.resolve(name, spec).
    -* `saveSpec` - The normalized specifier, for saving to package.json files.
    -  `null` for registry dependencies.
    -* `fetchSpec` - The version of the specifier to be used to fetch this
    -  resource.  `null` for shortcuts to hosted git dependencies as there isn't
    -  just one URL to try with them.
    -* `gitRange` - If set, this is a semver specifier to match against git tags with
    -* `gitCommittish` - If set, this is the specific committish to use with a git dependency.
    -* `hosted` - If `from === 'hosted'` then this will be a `hosted-git-info`
    -  object. This property is not included when serializing the object as
    -  JSON.
    -* `raw` - The original un-modified string that was provided.  If called as
    -  `npa.resolve(name, spec)` then this will be `name + '@' + spec`.
    diff --git a/deps/npm/node_modules/npm-pick-manifest/CHANGELOG.md b/deps/npm/node_modules/npm-pick-manifest/CHANGELOG.md
    deleted file mode 100644
    index c7170c5651d164..00000000000000
    --- a/deps/npm/node_modules/npm-pick-manifest/CHANGELOG.md
    +++ /dev/null
    @@ -1,223 +0,0 @@
    -# Changelog
    -
    -All notable changes to this project will be documented in this file. 
    -
    -## [6.1.1](https://github.com/npm/npm-pick-manifest/compare/v6.0.0...v6.1.0) (2020-04-07)
    -
    -* normalize package bins in returned manifest
    -
    -## [6.1.0](https://github.com/npm/npm-pick-manifest/compare/v6.0.0...v6.1.0) (2020-04-07)
    -
    -
    -### Features
    -
    -* add 'avoid' semver range option ([c64973d](https://github.com/npm/npm-pick-manifest/commit/c64973d63ddf6797edf41c20df641f816d30ff03))
    -* add avoidStrict option to strictly avoid ([c268796](https://github.com/npm/npm-pick-manifest/commit/c2687967b6294f5ce01aa6b59071e79272dc57de)), closes [#30](https://github.com/npm/npm-pick-manifest/issues/30)
    -
    -## [6.0.0](https://github.com/npm/npm-pick-manifest/compare/v5.0.0...v6.0.0) (2020-02-18)
    -
    -
    -### ⚠ BREAKING CHANGES
    -
    -* 'enjoyBy' is no longer an acceptable alias.
    -
    -### Features
    -
    -* add GitHub Actions file for ci ([8985247](https://github.com/npm/npm-pick-manifest/commit/898524727fa157f46fdf4eb0c11148ae4808226b))
    -
    -
    -### Bug Fixes
    -
    -* Handle edge cases around before:Date and filtering staged publishes ([ed2f92e](https://github.com/npm/npm-pick-manifest/commit/ed2f92e7fdc9cc7836b13ebc73e17d8fd296a07e))
    -* remove figgy pudding ([c24fed2](https://github.com/npm/npm-pick-manifest/commit/c24fed25b8f77fbbcc3107030f2dfed55fa54222))
    -* remove outdated cruft from docs ([aae7ef7](https://github.com/npm/npm-pick-manifest/commit/aae7ef7625ddddbac0548287e5d57b8f76593322))
    -* update some missing {loose:true} semver configs ([4015424](https://github.com/npm/npm-pick-manifest/commit/40154244a3fe1af86462bc1d6165199fc3315c10))
    -* Use canonical 'before' config name ([029de59](https://github.com/npm/npm-pick-manifest/commit/029de59bda6d3376f03760a00efe4ac9d997c623))
    -
    -## [5.0.0](https://github.com/npm/npm-pick-manifest/compare/v4.0.0...v5.0.0) (2019-12-15)
    -
    -
    -### ⚠ BREAKING CHANGES
    -
    -* This drops support for node < 10.
    -
    -* normalize settings, drop old nodes, update deps ([dc2e61c](https://github.com/npm/npm-pick-manifest/commit/dc2e61cc06bd19e079128e77397df7593741da50))
    -
    -
    -# [4.0.0](https://github.com/npm/npm-pick-manifest/compare/v3.0.2...v4.0.0) (2019-11-11)
    -
    -
    -### deps
    -
    -* bump npm-package-arg to v7 ([42c76d8](https://github.com/npm/npm-pick-manifest/commit/42c76d8)), closes [/github.com/npm/hosted-git-info/pull/38#issuecomment-520243803](https://github.com//github.com/npm/hosted-git-info/pull/38/issues/issuecomment-520243803)
    -
    -
    -### BREAKING CHANGES
    -
    -* this drops support for ancient node versions.
    -
    -
    -
    -
    -## [3.0.2](https://github.com/npm/npm-pick-manifest/compare/v3.0.1...v3.0.2) (2019-08-30)
    -
    -
    -
    -
    -## [3.0.1](https://github.com/npm/npm-pick-manifest/compare/v3.0.0...v3.0.1) (2019-08-28)
    -
    -
    -### Bug Fixes
    -
    -* throw 403 for forbidden major/minor versions ([003286e](https://github.com/npm/npm-pick-manifest/commit/003286e)), closes [#2](https://github.com/npm/npm-pick-manifest/issues/2)
    -
    -
    -
    -
    -# [3.0.0](https://github.com/npm/npm-pick-manifest/compare/v2.2.3...v3.0.0) (2019-08-20)
    -
    -
    -### Features
    -
    -* throw forbidden error when package is blocked by policy ([ad2a962](https://github.com/npm/npm-pick-manifest/commit/ad2a962)), closes [#1](https://github.com/npm/npm-pick-manifest/issues/1)
    -
    -
    -### BREAKING CHANGES
    -
    -* This adds a new error code when package versions are
    -blocked.
    -
    -PR-URL: https://github.com/npm/npm-pick-manifest/pull/1
    -Credit: @claudiahdz
    -
    -
    -
    -
    -## [2.2.3](https://github.com/npm/npm-pick-manifest/compare/v2.2.2...v2.2.3) (2018-10-31)
    -
    -
    -### Bug Fixes
    -
    -* **enjoyBy:** rework semantics for enjoyBy again ([5e89b62](https://github.com/npm/npm-pick-manifest/commit/5e89b62))
    -
    -
    -
    -
    -## [2.2.2](https://github.com/npm/npm-pick-manifest/compare/v2.2.1...v2.2.2) (2018-10-31)
    -
    -
    -### Bug Fixes
    -
    -* **enjoyBy:** rework semantics for enjoyBy ([5684f45](https://github.com/npm/npm-pick-manifest/commit/5684f45))
    -
    -
    -
    -
    -## [2.2.1](https://github.com/npm/npm-pick-manifest/compare/v2.2.0...v2.2.1) (2018-10-30)
    -
    -
    -
    -
    -# [2.2.0](https://github.com/npm/npm-pick-manifest/compare/v2.1.0...v2.2.0) (2018-10-30)
    -
    -
    -### Bug Fixes
    -
    -* **audit:** npm audit fix --force ([d5ae6c4](https://github.com/npm/npm-pick-manifest/commit/d5ae6c4))
    -
    -
    -### Features
    -
    -* **enjoyBy:** add opts.enjoyBy option to filter versions by date ([0b8a790](https://github.com/npm/npm-pick-manifest/commit/0b8a790))
    -
    -
    -
    -
    -# [2.1.0](https://github.com/npm/npm-pick-manifest/compare/v2.0.1...v2.1.0) (2017-10-18)
    -
    -
    -### Features
    -
    -* **selection:** allow manually disabling deprecation skipping ([0d239d3](https://github.com/npm/npm-pick-manifest/commit/0d239d3))
    -
    -
    -
    -
    -## [2.0.1](https://github.com/npm/npm-pick-manifest/compare/v2.0.0...v2.0.1) (2017-10-18)
    -
    -
    -
    -
    -# [2.0.0](https://github.com/npm/npm-pick-manifest/compare/v1.0.4...v2.0.0) (2017-10-03)
    -
    -
    -### Bug Fixes
    -
    -* **license:** relicense project according to npm policy (#3) ([ed743a0](https://github.com/npm/npm-pick-manifest/commit/ed743a0))
    -
    -
    -### Features
    -
    -* **selection:** Avoid matching deprecated packages if possible ([3fc6c3a](https://github.com/npm/npm-pick-manifest/commit/3fc6c3a))
    -
    -
    -### BREAKING CHANGES
    -
    -* **selection:** deprecated versions may be skipped now
    -* **license:** This moves the license from CC0 to ISC and properly documents the copyright as belonging to npm, Inc.
    -
    -
    -
    -
    -## [1.0.4](https://github.com/npm/npm-pick-manifest/compare/v1.0.3...v1.0.4) (2017-06-29)
    -
    -
    -### Bug Fixes
    -
    -* **npa:** bump npa version for bugfixes ([7cdaca7](https://github.com/npm/npm-pick-manifest/commit/7cdaca7))
    -* **semver:** use loose semver parsing for *all* ops ([bbc0daa](https://github.com/npm/npm-pick-manifest/commit/bbc0daa))
    -
    -
    -
    -
    -## [1.0.3](https://github.com/npm/npm-pick-manifest/compare/v1.0.2...v1.0.3) (2017-05-04)
    -
    -
    -### Bug Fixes
    -
    -* **semver:** use semver.clean() instead ([f4133b5](https://github.com/npm/npm-pick-manifest/commit/f4133b5))
    -
    -
    -
    -
    -## [1.0.2](https://github.com/npm/npm-pick-manifest/compare/v1.0.1...v1.0.2) (2017-05-04)
    -
    -
    -### Bug Fixes
    -
    -* **picker:** spaces in `wanted` prevented match ([97a7d0a](https://github.com/npm/npm-pick-manifest/commit/97a7d0a))
    -
    -
    -
    -
    -## [1.0.1](https://github.com/npm/npm-pick-manifest/compare/v1.0.0...v1.0.1) (2017-04-24)
    -
    -
    -### Bug Fixes
    -
    -* **deps:** forgot to add semver ([1876f4f](https://github.com/npm/npm-pick-manifest/commit/1876f4f))
    -
    -
    -
    -
    -# 1.0.0 (2017-04-24)
    -
    -
    -### Features
    -
    -* **api:** initial implementation. ([b086912](https://github.com/npm/npm-pick-manifest/commit/b086912))
    -
    -
    -### BREAKING CHANGES
    -
    -* **api:** ex nihilo
    diff --git a/deps/npm/node_modules/npm-pick-manifest/README.md b/deps/npm/node_modules/npm-pick-manifest/README.md
    deleted file mode 100644
    index 26ee43e05e5313..00000000000000
    --- a/deps/npm/node_modules/npm-pick-manifest/README.md
    +++ /dev/null
    @@ -1,157 +0,0 @@
    -# npm-pick-manifest [![npm version](https://img.shields.io/npm/v/npm-pick-manifest.svg)](https://npm.im/npm-pick-manifest) [![license](https://img.shields.io/npm/l/npm-pick-manifest.svg)](https://npm.im/npm-pick-manifest) [![Travis](https://img.shields.io/travis/npm/npm-pick-manifest.svg)](https://travis-ci.org/npm/npm-pick-manifest) [![Coverage Status](https://coveralls.io/repos/github/npm/npm-pick-manifest/badge.svg?branch=latest)](https://coveralls.io/github/npm/npm-pick-manifest?branch=latest)
    -
    -[`npm-pick-manifest`](https://github.com/npm/npm-pick-manifest) is a standalone
    -implementation of [npm](https://npmjs.com)'s semver range resolution algorithm.
    -
    -## Install
    -
    -`$ npm install --save npm-pick-manifest`
    -
    -## Table of Contents
    -
    -* [Example](#example)
    -* [Features](#features)
    -* [API](#api)
    -  * [`pickManifest()`](#pick-manifest)
    -
    -### Example
    -
    -```javascript
    -const pickManifest = require('npm-pick-manifest')
    -
    -fetch('https://registry.npmjs.org/npm-pick-manifest').then(res => {
    -  return res.json()
    -}).then(packument => {
    -  return pickManifest(packument, '^1.0.0')
    -}) // get same manifest as npm would get if you `npm i npm-pick-manifest@^1.0.0`
    -```
    -
    -### Features
    -
    -* Uses npm's exact [semver resolution algorithm](http://npm.im/semver).
    -* Supports ranges, tags, and versions.
    -* Prefers non-deprecated versions to deprecated versions.
    -* Prefers versions whose `engines` requirements are satisfied over those
    -  that will raise a warning or error at install time.
    -
    -### API
    -
    -####  `> pickManifest(packument, selector, [opts]) -> manifest`
    -
    -Returns the manifest that best matches `selector`, or throws an error.
    -
    -Packuments are anything returned by metadata URLs from the npm registry. That
    -is, they're objects with the following shape (only fields used by
    -`npm-pick-manifest` included):
    -
    -```javascript
    -{
    -  name: 'some-package',
    -  'dist-tags': {
    -    foo: '1.0.1'
    -  },
    -  versions: {
    -    '1.0.0': { version: '1.0.0' },
    -    '1.0.1': { version: '1.0.1' },
    -    '1.0.2': { version: '1.0.2' },
    -    '2.0.0': { version: '2.0.0' }
    -  }
    -}
    -```
    -
    -The algorithm will follow npm's algorithm for semver resolution, and only
    -`tag`, `range`, and `version` selectors are supported.
    -
    -The function will throw `ETARGET` if there was no matching manifest, and
    -`ENOVERSIONS` if the packument object has no valid versions in `versions`.
    -If the only matching manifest is included in a `policyRestrictions` section
    -of the packument, then an `E403` is raised.
    -
    -####  Options
    -
    -All options are optional.
    -
    -* `includeStaged` - Boolean, default `false`.  Include manifests in the
    -  `stagedVersions.versions` set, to support installing [staged
    -  packages](https://github.com/npm/rfcs/pull/92) when appropriate.  Note
    -  that staged packages are always treated as lower priority than actual
    -  publishes, even when `includeStaged` is set.
    -* `defaultTag` - String, default `'latest'`.  The default `dist-tag` to
    -  install when no specifier is provided.  Note that the version indicated
    -  by this specifier will be given top priority if it matches a supplied
    -  semver range.
    -* `before` - String, Date, or Number, default `null`. This is passed to
    -  `new Date()`, so anything that works there will be valid.  Do not
    -  consider _any_ manifests that were published after the date indicated.
    -  Note that this is only relevant when the packument includes a `time`
    -  field listing the publish date of all the packages.
    -* `nodeVersion` - String, default `process.version`.  The Node.js version
    -  to use when checking manifests for `engines` requirement satisfaction.
    -* `npmVersion` - String, default `null`.  The npm version to use when
    -  checking manifest for `engines` requirement satisfaction.  (If `null`,
    -  then this particular check is skipped.)
    -* `avoid` - String, default `null`.  A SemVer range of
    -  versions that should be avoided.  An avoided version MAY be selected if
    -  there is no other option, so when using this for version selection ensure
    -  that you check the result against the range to see if there was no
    -  alternative available.
    -* `avoidStrict` Boolean, default `false`.  If set to true, then
    -  `pickManifest` will never return a version in the `avoid` range.  If the
    -  only available version in the `wanted` range is a version that should be
    -  avoided, then it will return a version _outside_ the `wanted` range,
    -  preferring to do so without making a SemVer-major jump, if possible.  If
    -  there are no versions outside the `avoid` range, then throw an
    -  `ETARGET` error.  It does this by calling pickManifest first with the
    -  `wanted` range, then with a `^` affixed to the version returned by the
    -  `wanted` range, and then with a `*` version range, and throwing if
    -  nothing could be found to satisfy the avoidance request.
    -
    -Return value is the manifest as it exists in the packument, possibly
    -decorated with the following boolean flags:
    -
    -* `_shouldAvoid` The version is in the `avoid` range.  Watch out!
    -* `_outsideDependencyRange` The version is outside the `wanted` range,
    -  because `avoidStrict: true` was set.
    -* `_isSemVerMajor` The `_outsideDependencyRange` result is a SemVer-major
    -  step up from the version returned by the `wanted` range.
    -
    -### Algorithm
    -
    -1. Create list of all versions in `versions`,
    -   `policyRestrictions.versions`, and (if `includeStaged` is set)
    -   `stagedVersions.versions`.
    -2. If a `dist-tag` is requested,
    -    1. If the manifest is not after the specified `before` date, then
    -       select that from the set.
    -    2. If the manifest is after the specified `before` date, then re-start
    -       the selection looking for the highest SemVer range that is equal to
    -       or less than the `dist-tag` target.
    -3. If a specific version is requested,
    -    1. If the manifest is not after the specified `before` date, then
    -       select the specified manifest.
    -    2. If the manifest is after the specified `before` date, then raise
    -       `ETARGET` error.  (NB: this is a breaking change from v5, where a
    -       specified version would override the `before` setting.)
    -4. (At this point we know a range is requested.)
    -5. If the `defaultTag` refers to a `dist-tag` that satisfies the range (or
    -   if the range is `'*'` or `''`), and the manifest is published before the
    -   `before` setting, then select that manifest.
    -6. If nothing is yet selected, sort by the following heuristics in order,
    -   and select the top item:
    -    1. Prioritize versions that are not in the `avoid` range over those
    -       that are.
    -    2. Prioritize versions that are not in `policyRestrictions` over those
    -       that are.
    -    3. Prioritize published versions over staged versions.
    -    4. Prioritize versions that are not deprecated, and which have a
    -       satisfied engines requirement, over those that are either deprecated
    -       or have an engines mismatch.
    -    5. Prioritize versions that have a satisfied engines requirement over
    -       those that do not.
    -    6. Prioritize versions that are not are not deprecated (but have a
    -       mismatched engines requirement) over those that are deprecated.
    -    7. Prioritize higher SemVer precedence over lower SemVer precedence.
    -7. If no manifest was selected, raise an `ETARGET` error.
    -8. If the selected item is in the `policyRestrictions.versions` list, raise
    -   an `E403` error.
    -9. Return the selected manifest.
    diff --git a/deps/npm/node_modules/npm-profile/README.md b/deps/npm/node_modules/npm-profile/README.md
    deleted file mode 100644
    index 9f671d12a502a0..00000000000000
    --- a/deps/npm/node_modules/npm-profile/README.md
    +++ /dev/null
    @@ -1,555 +0,0 @@
    -# npm-profile
    -
    -Provides functions for fetching and updating an npmjs.com profile.
    -
    -```js
    -const profile = require('npm-profile')
    -const result = await profile.get(registry, {token})
    -//...
    -```
    -
    -The API that this implements is documented here:
    -
    -* [authentication](https://github.com/npm/registry/blob/master/docs/user/authentication.md)
    -* [profile editing](https://github.com/npm/registry/blob/master/docs/user/profile.md) (and two-factor authentication)
    -
    -## Table of Contents
    -
    -* [API](#api)
    -  * Login and Account Creation
    -    * [`adduser()`](#adduser)
    -    * [`login()`](#login)
    -    * [`adduserWeb()`](#adduser-web)
    -    * [`loginWeb()`](#login-web)
    -    * [`adduserCouch()`](#adduser-couch)
    -    * [`loginCouch()`](#login-couch)
    -  * Profile Data Management
    -    * [`get()`](#get)
    -    * [`set()`](#set)
    -  * Token Management
    -    * [`listTokens()`](#list-tokens)
    -    * [`removeToken()`](#remove-token)
    -    * [`createToken()`](#create-token)
    -
    -## API
    -
    -###  `> profile.adduser(opener, prompter, [opts]) → Promise`
    -
    -Tries to create a user new web based login, if that fails it falls back to
    -using the legacy CouchDB APIs.
    -
    -* `opener` Function (url) → Promise, returns a promise that resolves after a browser has been opened for the user at `url`.
    -* `prompter` Function (creds) → Promise, returns a promise that resolves to an object with `username`, `email` and `password` properties.
    -
    -#### **Promise Value**
    -
    -An object with the following properties:
    -
    -* `token` String, to be used to authenticate further API calls
    -* `username` String, the username the user authenticated as
    -
    -#### **Promise Rejection**
    -
    -An error object indicating what went wrong.
    -
    -The `headers` property will contain the HTTP headers of the response.
    -
    -If the action was denied because it came from an IP address that this action
    -on this account isn't allowed from then the `code` will be set to `EAUTHIP`.
    -
    -Otherwise the code will be `'E'` followed by the HTTP response code, for
    -example a Forbidden response would be `E403`.
    -
    -###  `> profile.login(opener, prompter, [opts]) → Promise`
    -
    -Tries to login using new web based login, if that fails it falls back to
    -using the legacy CouchDB APIs.
    -
    -* `opener` Function (url) → Promise, returns a promise that resolves after a browser has been opened for the user at `url`.
    -* `prompter` Function (creds) → Promise, returns a promise that resolves to an object with `username`, and `password` properties.
    -
    -#### **Promise Value**
    -
    -An object with the following properties:
    -
    -* `token` String, to be used to authenticate further API calls
    -* `username` String, the username the user authenticated as
    -
    -#### **Promise Rejection**
    -
    -An error object indicating what went wrong.
    -
    -The `headers` property will contain the HTTP headers of the response.
    -
    -If the action was denied because an OTP is required then `code` will be set
    -to `EOTP`.  This error code can only come from a legacy CouchDB login and so
    -this should be retried with loginCouch.
    -
    -If the action was denied because it came from an IP address that this action
    -on this account isn't allowed from then the `code` will be set to `EAUTHIP`.
    -
    -Otherwise the code will be `'E'` followed by the HTTP response code, for
    -example a Forbidden response would be `E403`.
    -
    -###  `> profile.adduserWeb(opener, [opts]) → Promise`
    -
    -Tries to create a user new web based login, if that fails it falls back to
    -using the legacy CouchDB APIs.
    -
    -* `opener` Function (url) → Promise, returns a promise that resolves after a browser has been opened for the user at `url`.
    -* [`opts`](#opts) Object
    -
    -#### **Promise Value**
    -
    -An object with the following properties:
    -
    -* `token` String, to be used to authenticate further API calls
    -* `username` String, the username the user authenticated as
    -
    -#### **Promise Rejection**
    -
    -An error object indicating what went wrong.
    -
    -The `headers` property will contain the HTTP headers of the response.
    -
    -If the registry does not support web-login then an error will be thrown with
    -its `code` property set to `ENYI` . You should retry with `adduserCouch`.
    -If you use `adduser` then this fallback will be done automatically.
    -
    -If the action was denied because it came from an IP address that this action
    -on this account isn't allowed from then the `code` will be set to `EAUTHIP`.
    -
    -Otherwise the code will be `'E'` followed by the HTTP response code, for
    -example a Forbidden response would be `E403`.
    -
    -###  `> profile.loginWeb(opener, [opts]) → Promise`
    -
    -Tries to login using new web based login, if that fails it falls back to
    -using the legacy CouchDB APIs.
    -
    -* `opener` Function (url) → Promise, returns a promise that resolves after a browser has been opened for the user at `url`.
    -* [`opts`](#opts) Object (optional)
    -
    -#### **Promise Value**
    -
    -An object with the following properties:
    -
    -* `token` String, to be used to authenticate further API calls
    -* `username` String, the username the user authenticated as
    -
    -#### **Promise Rejection**
    -
    -An error object indicating what went wrong.
    -
    -The `headers` property will contain the HTTP headers of the response.
    -
    -If the registry does not support web-login then an error will be thrown with
    -its `code` property set to `ENYI` . You should retry with `loginCouch`.
    -If you use `login` then this fallback will be done automatically.
    -
    -If the action was denied because it came from an IP address that this action
    -on this account isn't allowed from then the `code` will be set to `EAUTHIP`.
    -
    -Otherwise the code will be `'E'` followed by the HTTP response code, for
    -example a Forbidden response would be `E403`.
    -
    -###  `> profile.adduserCouch(username, email, password, [opts]) → Promise`
    -
    -```js
    -const {token} = await profile.adduser(username, email, password, {registry})
    -// `token` can be passed in through `opts` for authentication.
    -```
    -
    -Creates a new user on the server along with a fresh bearer token for future
    -authentication as this user.  This is what you see as an `authToken` in an
    -`.npmrc`.
    -
    -If the user already exists then the npm registry will return an error, but
    -this is registry specific and not guaranteed.
    -
    -* `username` String
    -* `email` String
    -* `password` String
    -* [`opts`](#opts) Object (optional)
    -
    -#### **Promise Value**
    -
    -An object with the following properties:
    -
    -* `token` String, to be used to authenticate further API calls
    -* `username` String, the username the user authenticated as
    -
    -#### **Promise Rejection**
    -
    -An error object indicating what went wrong.
    -
    -The `headers` property will contain the HTTP headers of the response.
    -
    -If the action was denied because an OTP is required then `code` will be set
    -to `EOTP`.
    -
    -If the action was denied because it came from an IP address that this action
    -on this account isn't allowed from then the `code` will be set to `EAUTHIP`.
    -
    -Otherwise the code will be `'E'` followed by the HTTP response code, for
    -example a Forbidden response would be `E403`.
    -
    -###  `> profile.loginCouch(username, password, [opts]) → Promise`
    -
    -```js
    -let token
    -try {
    -  {token} = await profile.login(username, password, {registry})
    -} catch (err) {
    -  if (err.code === 'otp') {
    -    const otp = await getOTPFromSomewhere()
    -    {token} = await profile.login(username, password, {otp})
    -  }
    -}
    -// `token` can now be passed in through `opts` for authentication.
    -```
    -
    -Logs you into an existing user.  Does not create the user if they do not
    -already exist.  Logging in means generating a new bearer token for use in
    -future authentication. This is what you use as an `authToken` in an `.npmrc`.
    -
    -* `username` String
    -* `email` String
    -* `password` String
    -* [`opts`](#opts) Object (optional)
    -
    -#### **Promise Value**
    -
    -An object with the following properties:
    -
    -* `token` String, to be used to authenticate further API calls
    -* `username` String, the username the user authenticated as
    -
    -#### **Promise Rejection**
    -
    -An error object indicating what went wrong.
    -
    -If the object has a `code` property set to `EOTP` then that indicates that
    -this account must use two-factor authentication to login.  Try again with a
    -one-time password.
    -
    -If the object has a `code` property set to `EAUTHIP` then that indicates that
    -this account is only allowed to login from certain networks and this ip is
    -not on one of those networks.
    -
    -If the error was neither of these then the error object will have a
    -`code` property set to the HTTP response code and a `headers` property with
    -the HTTP headers in the response.
    -
    -###  `> profile.get([opts]) → Promise`
    -
    -```js
    -const {name, email} = await profile.get({token})
    -console.log(`${token} belongs to https://npm.im/~${name}, (mailto:${email})`)
    -```
    -
    -Fetch profile information for the authenticated user.
    -
    -* [`opts`](#opts) Object
    -
    -#### **Promise Value**
    -
    -An object that looks like this:
    -
    -```js
    -// "*" indicates a field that may not always appear
    -{
    -  tfa: null |
    -       false |
    -       {"mode": "auth-only", pending: Boolean} |
    -       ["recovery", "codes"] |
    -       "otpauth://...",
    -  name: String,
    -  email: String,
    -  email_verified: Boolean,
    -  created: Date,
    -  updated: Date,
    -  cidr_whitelist: null | ["192.168.1.1/32", ...],
    -  fullname: String, // *
    -  homepage: String, // *
    -  freenode: String, // *
    -  twitter: String,  // *
    -  github: String    // *
    -}
    -```
    -
    -#### **Promise Rejection**
    -
    -An error object indicating what went wrong.
    -
    -The `headers` property will contain the HTTP headers of the response.
    -
    -If the action was denied because an OTP is required then `code` will be set
    -to `EOTP`.
    -
    -If the action was denied because it came from an IP address that this action
    -on this account isn't allowed from then the `code` will be set to `EAUTHIP`.
    -
    -Otherwise the code will be the HTTP response code.
    -
    -###  `> profile.set(profileData, [opts]) → Promise`
    -
    -```js
    -await profile.set({github: 'great-github-account-name'}, {token})
    -```
    -
    -Update profile information for the authenticated user.
    -
    -* `profileData` An object, like that returned from `profile.get`, but see
    -  below for caveats relating to `password`, `tfa` and `cidr_whitelist`.
    -* [`opts`](#opts) Object (optional)
    -
    -#### **SETTING `password`**
    -
    -This is used to change your password and is not visible (for obvious
    -reasons) through the `get()` API.  The value should be an object with `old`
    -and `new` properties, where the former has the user's current password and
    -the latter has the desired new password. For example
    -
    -```js
    -await profile.set({
    -  password: {
    -    old: 'abc123',
    -    new: 'my new (more secure) password'
    -  }
    -}, {token})
    -```
    -
    -#### **SETTING `cidr_whitelist`**
    -
    -The value for this is an Array.  Only valid CIDR ranges are allowed in it.
    -Be very careful as it's possible to lock yourself out of your account with
    -this.  This is not currently exposed in `npm` itself.
    -
    -```js
    -await profile.set({
    -  cidr_whitelist: [ '8.8.8.8/32' ]
    -}, {token})
    -// ↑ only one of google's dns servers can now access this account.
    -```
    -
    -#### **SETTING `tfa`**
    -
    -Enabling two-factor authentication is a multi-step process.
    -
    -1. Call `profile.get` and check the status of `tfa`. If `pending` is true then
    -   you'll need to disable it with `profile.set({tfa: {password, mode: 'disable'}, …)`.
    -2. `profile.set({tfa: {password, mode}}, {registry, token})`
    -   * Note that the user's `password` is required here in the `tfa` object,
    -     regardless of how you're authenticating.
    -   * `mode` is either `auth-only` which requires an `otp` when calling `login`
    -     or `createToken`, or `mode` is `auth-and-writes` and an `otp` will be
    -     required on login, publishing or when granting others access to your
    -     modules.
    -   * Be aware that this set call may require otp as part of the auth object.
    -     If otp is needed it will be indicated through a rejection in the usual
    -     way.
    -3. If tfa was already enabled then you're just switch modes and a
    -   successful response means that you're done.  If the tfa property is empty
    -   and tfa _wasn't_ enabled then it means they were in a pending state.
    -3. The response will have a `tfa` property set to an `otpauth` URL, as
    -   [used by Google Authenticator](https://github.com/google/google-authenticator/wiki/Key-Uri-Format).
    -   You will need to show this to the user for them to add to their
    -   authenticator application.  This is typically done as a QRCODE, but you
    -   can also show the value of the `secret` key in the `otpauth` query string
    -   and they can type or copy paste that in.
    -4. To complete setting up two factor auth you need to make a second call to
    -   `profile.set` with `tfa` set to an array of TWO codes from the user's
    -   authenticator, eg: `profile.set(tfa: [otp1, otp2]}, {registry, token})`
    -5. On success you'll get a result object with a `tfa` property that has an
    -   array of one-time-use recovery codes.  These are used to authenticate
    -   later if the second factor is lost and generally should be printed and
    -   put somewhere safe.
    -
    -Disabling two-factor authentication is more straightforward, set the `tfa`
    -attribute to an object with a `password` property and a `mode` of `disable`.
    -
    -```js
    -await profile.set({tfa: {password, mode: 'disable'}}, {token})
    -```
    -
    -#### **Promise Value**
    -
    -An object reflecting the changes you made, see description for `profile.get`.
    -
    -#### **Promise Rejection**
    -
    -An error object indicating what went wrong.
    -
    -The `headers` property will contain the HTTP headers of the response.
    -
    -If the action was denied because an OTP is required then `code` will be set
    -to `EOTP`.
    -
    -If the action was denied because it came from an IP address that this action
    -on this account isn't allowed from then the `code` will be set to `EAUTHIP`.
    -
    -Otherwise the code will be the HTTP response code.
    -
    -###  `> profile.listTokens([opts]) → Promise`
    -
    -```js
    -const tokens = await profile.listTokens({registry, token})
    -console.log(`Number of tokens in your accounts: ${tokens.length}`)
    -```
    -
    -Fetch a list of all of the authentication tokens the authenticated user has.
    -
    -* [`opts`](#opts) Object (optional)
    -
    -#### **Promise Value**
    -
    -An array of token objects. Each token object has the following properties:
    -
    -* key — A sha512 that can be used to remove this token.
    -* token — The first six characters of the token UUID.  This should be used
    -  by the user to identify which token this is.
    -* created — The date and time the token was created
    -* readonly — If true, this token can only be used to download private modules. Critically, it CAN NOT be used to publish.
    -* cidr_whitelist — An array of CIDR ranges that this token is allowed to be used from.
    -
    -#### **Promise Rejection**
    -
    -An error object indicating what went wrong.
    -
    -The `headers` property will contain the HTTP headers of the response.
    -
    -If the action was denied because an OTP is required then `code` will be set
    -to `EOTP`.
    -
    -If the action was denied because it came from an IP address that this action
    -on this account isn't allowed from then the `code` will be set to `EAUTHIP`.
    -
    -Otherwise the code will be the HTTP response code.
    -
    -###  `> profile.removeToken(token|key, opts) → Promise`
    -
    -```js
    -await profile.removeToken(key, {token})
    -// token is gone!
    -```
    -
    -Remove a specific authentication token.
    -
    -* `token|key` String, either a complete authentication token or the key returned by `profile.listTokens`.
    -* [`opts`](#opts) Object (optional)
    -
    -#### **Promise Value**
    -
    -No value.
    -
    -#### **Promise Rejection**
    -
    -An error object indicating what went wrong.
    -
    -The `headers` property will contain the HTTP headers of the response.
    -
    -If the action was denied because an OTP is required then `code` will be set
    -to `EOTP`.
    -
    -If the action was denied because it came from an IP address that this action
    -on this account isn't allowed from then the `code` will be set to `EAUTHIP`.
    -
    -Otherwise the code will be the HTTP response code.
    -
    -###  `> profile.createToken(password, readonly, cidr_whitelist, [opts]) → Promise`
    -
    -```js
    -const newToken = await profile.createToken(
    -  password, readonly, cidr_whitelist, {token, otp}
    -)
    -// do something with the newToken
    -```
    -
    -Create a new authentication token, possibly with restrictions.
    -
    -* `password` String
    -* `readonly` Boolean
    -* `cidr_whitelist` Array
    -* [`opts`](#opts) Object Optional
    -
    -#### **Promise Value**
    -
    -The promise will resolve with an object very much like the one's returned by
    -`profile.listTokens`.  The only difference is that `token` is not truncated.
    -
    -```js
    -{
    -  token: String,
    -  key: String,    // sha512 hash of the token UUID
    -  cidr_whitelist: [String],
    -  created: Date,
    -  readonly: Boolean
    -}
    -```
    -
    -#### **Promise Rejection**
    -
    -An error object indicating what went wrong.
    -
    -The `headers` property will contain the HTTP headers of the response.
    -
    -If the action was denied because an OTP is required then `code` will be set
    -to `EOTP`.
    -
    -If the action was denied because it came from an IP address that this action
    -on this account isn't allowed from then the `code` will be set to `EAUTHIP`.
    -
    -Otherwise the code will be the HTTP response code.
    -
    -###  options objects
    -
    -The various API functions accept an optional `opts` object as a final
    -argument.
    -
    -Options are passed to
    -[`npm-registry-fetch`
    -options](https://www.npmjs.com/package/npm-registry-fetch#fetch-opts), so
    -anything provided to this module will affect the behavior of that one as
    -well.
    -
    -Of particular note are `opts.registry`, and the auth-related options:
    -
    -* `opts.creds` Object, passed through to prompter, common values are:
    -  * `username` String, default value for username
    -  * `email` String, default value for email
    -* `opts.username` and `opts.password` - used for Basic auth
    -* `opts.otp` String, the two-factor-auth one-time-password (Will prompt for
    -  this if needed and not provided.)
    -* `opts.hostname` String, the hostname of the current machine, to show the
    -  user during the WebAuth flow.  (Defaults to `os.hostname()`.)
    -
    -##  Logging
    -
    -This modules logs by emitting `log` events on the global `process` object.
    -These events look like this:
    -
    -```js
    -process.emit('log', 'loglevel', 'feature', 'message part 1', 'part 2', 'part 3', 'etc')
    -```
    -
    -`loglevel` can be one of: `error`, `warn`, `notice`, `http`, `timing`, `info`, `verbose`, and `silly`.
    -
    -`feature` is any brief string that describes the component doing the logging.
    -
    -The remaining arguments are evaluated like `console.log` and joined together with spaces.
    -
    -A real world example of this is:
    -
    -```js
    -  process.emit('log', 'http', 'request', '→', conf.method || 'GET', conf.target)
    -```
    -
    -To handle the log events, you would do something like this:
    -
    -```js
    -const log = require('npmlog')
    -process.on('log', function (level) {
    -  return log[level].apply(log, [].slice.call(arguments, 1))
    -})
    -```
    diff --git a/deps/npm/node_modules/npm-registry-fetch/README.md b/deps/npm/node_modules/npm-registry-fetch/README.md
    deleted file mode 100644
    index efc3b1f644b5d0..00000000000000
    --- a/deps/npm/node_modules/npm-registry-fetch/README.md
    +++ /dev/null
    @@ -1,632 +0,0 @@
    -# npm-registry-fetch
    -
    -[`npm-registry-fetch`](https://github.com/npm/npm-registry-fetch) is a Node.js
    -library that implements a `fetch`-like API for accessing npm registry APIs
    -consistently. It's able to consume npm-style configuration values and has all
    -the necessary logic for picking registries, handling scopes, and dealing with
    -authentication details built-in.
    -
    -This package is meant to replace the older
    -[`npm-registry-client`](https://npm.im/npm-registry-client).
    -
    -## Example
    -
    -```javascript
    -const npmFetch = require('npm-registry-fetch')
    -
    -console.log(
    -  await npmFetch.json('/-/ping')
    -)
    -```
    -
    -## Table of Contents
    -
    -* [Installing](#install)
    -* [Example](#example)
    -* [Contributing](#contributing)
    -* [API](#api)
    -  * [`fetch`](#fetch)
    -  * [`fetch.json`](#fetch-json)
    -  * [`fetch` options](#fetch-opts)
    -
    -### Install
    -
    -`$ npm install npm-registry-fetch`
    -
    -### Contributing
    -
    -The npm team enthusiastically welcomes contributions and project participation!
    -There's a bunch of things you can do if you want to contribute! The [Contributor
    -Guide](CONTRIBUTING.md) has all the information you need for everything from
    -reporting bugs to contributing entire new features. Please don't hesitate to
    -jump in if you'd like to, or even ask us questions if something isn't clear.
    -
    -All participants and maintainers in this project are expected to follow [Code of
    -Conduct](CODE_OF_CONDUCT.md), and just generally be excellent to each other.
    -
    -Please refer to the [Changelog](CHANGELOG.md) for project history details, too.
    -
    -Happy hacking!
    -
    -### API
    -
    -#### Caching and `write=true` query strings
    -
    -Before performing any PUT or DELETE operation, npm clients first make a
    -GET request to the registry resource being updated, which includes
    -the query string `?write=true`.
    -
    -The semantics of this are, effectively, "I intend to write to this thing,
    -and need to know the latest current value, so that my write can land
    -cleanly".
    -
    -The public npm registry handles these `?write=true` requests by ensuring
    -that the cache is re-validated before sending a response.  In order to
    -maintain the same behavior on the client, and not get tripped up by an
    -overeager local cache when we intend to write data to the registry, any
    -request that comes through `npm-registry-fetch` that contains `write=true`
    -in the query string will forcibly set the `prefer-online` option to `true`,
    -and set both `prefer-offline` and `offline` to false, so that any local
    -cached value will be revalidated.
    -
    -####  `> fetch(url, [opts]) -> Promise`
    -
    -Performs a request to a given URL.
    -
    -The URL can be either a full URL, or a path to one. The appropriate registry
    -will be automatically picked if only a URL path is given.
    -
    -For available options, please see the section on [`fetch` options](#fetch-opts).
    -
    -##### Example
    -
    -```javascript
    -const res = await fetch('/-/ping')
    -console.log(res.headers)
    -res.on('data', d => console.log(d.toString('utf8')))
    -```
    -
    -####  `> fetch.json(url, [opts]) -> Promise`
    -
    -Performs a request to a given registry URL, parses the body of the response as
    -JSON, and returns it as its final value. This is a utility shorthand for
    -`fetch(url).then(res => res.json())`.
    -
    -For available options, please see the section on [`fetch` options](#fetch-opts).
    -
    -##### Example
    -
    -```javascript
    -const res = await fetch.json('/-/ping')
    -console.log(res) // Body parsed as JSON
    -```
    -
    -####  `> fetch.json.stream(url, jsonPath, [opts]) -> Stream`
    -
    -Performs a request to a given registry URL and parses the body of the response
    -as JSON, with each entry being emitted through the stream.
    -
    -The `jsonPath` argument is a [`JSONStream.parse()`
    -path](https://github.com/dominictarr/JSONStream#jsonstreamparsepath), and the
    -returned stream (unlike default `JSONStream`s), has a valid
    -`Symbol.asyncIterator` implementation.
    -
    -For available options, please see the section on [`fetch` options](#fetch-opts).
    -
    -##### Example
    -
    -```javascript
    -console.log('https://npm.im/~zkat has access to the following packages:')
    -for await (let {key, value} of fetch.json.stream('/-/user/zkat/package', '$*')) {
    -  console.log(`https://npm.im/${key} (perms: ${value})`)
    -}
    -```
    -
    -####  `fetch` Options
    -
    -Fetch options are optional, and can be passed in as either a Map-like object
    -(one with a `.get()` method), a plain javascript object, or a
    -[`figgy-pudding`](https://npm.im/figgy-pudding) instance.
    -
    -#####  `opts.agent`
    -
    -* Type: http.Agent
    -* Default: an appropriate agent based on URL protocol and proxy settings
    -
    -An [`Agent`](https://nodejs.org/api/http.html#http_class_http_agent) instance to
    -be shared across requests. This allows multiple concurrent `fetch` requests to
    -happen on the same socket.
    -
    -You do _not_ need to provide this option unless you want something particularly
    -specialized, since proxy configurations and http/https agents are already
    -automatically managed internally when this option is not passed through.
    -
    -#####  `opts.body`
    -
    -* Type: Buffer | Stream | Object
    -* Default: null
    -
    -Request body to send through the outgoing request. Buffers and Streams will be
    -passed through as-is, with a default `content-type` of
    -`application/octet-stream`. Plain JavaScript objects will be `JSON.stringify`ed
    -and the `content-type` will default to `application/json`.
    -
    -Use [`opts.headers`](#opts-headers) to set the content-type to something else.
    -
    -#####  `opts.ca`
    -
    -* Type: String, Array, or null
    -* Default: null
    -
    -The Certificate Authority signing certificate that is trusted for SSL
    -connections to the registry. Values should be in PEM format (Windows calls it
    -"Base-64 encoded X.509 (.CER)") with newlines replaced by the string `'\n'`. For
    -example:
    -
    -```
    -{
    -  ca: '-----BEGIN CERTIFICATE-----\nXXXX\nXXXX\n-----END CERTIFICATE-----'
    -}
    -```
    -
    -Set to `null` to only allow "known" registrars, or to a specific CA cert
    -to trust only that specific signing authority.
    -
    -Multiple CAs can be trusted by specifying an array of certificates instead of a
    -single string.
    -
    -See also [`opts.strictSSL`](#opts-strictSSL), [`opts.ca`](#opts-ca) and
    -[`opts.key`](#opts-key)
    -
    -#####  `opts.cache`
    -
    -* Type: path
    -* Default: null
    -
    -The location of the http cache directory. If provided, certain cachable requests
    -will be cached according to [IETF RFC 7234](https://tools.ietf.org/html/rfc7234)
    -rules. This will speed up future requests, as well as make the cached data
    -available offline if necessary/requested.
    -
    -See also [`offline`](#opts-offline), [`preferOffline`](#opts-preferOffline),
    -and [`preferOnline`](#opts-preferOnline).
    -
    -#####  `opts.cert`
    -
    -* Type: String
    -* Default: null
    -
    -A client certificate to pass when accessing the registry.  Values should be in
    -PEM format (Windows calls it "Base-64 encoded X.509 (.CER)") with newlines
    -replaced by the string `'\n'`. For example:
    -
    -```
    -{
    -  cert: '-----BEGIN CERTIFICATE-----\nXXXX\nXXXX\n-----END CERTIFICATE-----'
    -}
    -```
    -
    -It is _not_ the path to a certificate file (and there is no "certfile" option).
    -
    -See also: [`opts.ca`](#opts-ca) and [`opts.key`](#opts-key)
    -
    -#####  `opts.fetchRetries`
    -
    -* Type: Number
    -* Default: 2
    -
    -The "retries" config for [`retry`](https://npm.im/retry) to use when fetching
    -packages from the registry.
    -
    -See also [`opts.retry`](#opts-retry) to provide all retry options as a single
    -object.
    -
    -#####  `opts.fetchRetryFactor`
    -
    -* Type: Number
    -* Default: 10
    -
    -The "factor" config for [`retry`](https://npm.im/retry) to use when fetching
    -packages.
    -
    -See also [`opts.retry`](#opts-retry) to provide all retry options as a single
    -object.
    -
    -#####  `opts.fetchRetryMintimeout`
    -
    -* Type: Number
    -* Default: 10000 (10 seconds)
    -
    -The "minTimeout" config for [`retry`](https://npm.im/retry) to use when fetching
    -packages.
    -
    -See also [`opts.retry`](#opts-retry) to provide all retry options as a single
    -object.
    -
    -#####  `opts.fetchRetryMaxtimeout`
    -
    -* Type: Number
    -* Default: 60000 (1 minute)
    -
    -The "maxTimeout" config for [`retry`](https://npm.im/retry) to use when fetching
    -packages.
    -
    -See also [`opts.retry`](#opts-retry) to provide all retry options as a single
    -object.
    -
    -#####  `opts.forceAuth`
    -
    -* Type: Object
    -* Default: null
    -
    -If present, other auth-related values in `opts` will be completely ignored,
    -including `alwaysAuth`, `email`, and `otp`, when calculating auth for a request,
    -and the auth details in `opts.forceAuth` will be used instead.
    -
    -#####  `opts.gzip`
    -
    -* Type: Boolean
    -* Default: false
    -
    -If true, `npm-registry-fetch` will set the `Content-Encoding` header to `gzip`
    -and use `zlib.gzip()` or `zlib.createGzip()` to gzip-encode
    -[`opts.body`](#opts-body).
    -
    -#####  `opts.headers`
    -
    -* Type: Object
    -* Default: null
    -
    -Additional headers for the outgoing request. This option can also be used to
    -override headers automatically generated by `npm-registry-fetch`, such as
    -`Content-Type`.
    -
    -#####  `opts.ignoreBody`
    -
    -* Type: Boolean
    -* Default: false
    -
    -If true, the **response body** will be thrown away and `res.body` set to `null`.
    -This will prevent dangling response sockets for requests where you don't usually
    -care what the response body is.
    -
    -#####  `opts.integrity`
    -
    -* Type: String | [SRI object](https://npm.im/ssri)
    -* Default: null
    -
    -If provided, the response body's will be verified against this integrity string,
    -using [`ssri`](https://npm.im/ssri). If verification succeeds, the response will
    -complete as normal. If verification fails, the response body will error with an
    -`EINTEGRITY` error.
    -
    -Body integrity is only verified if the body is actually consumed to completion --
    -that is, if you use `res.json()`/`res.buffer()`, or if you consume the default
    -`res` stream data to its end.
    -
    -Cached data will have its integrity automatically verified using the
    -previously-generated integrity hash for the saved request information, so
    -`EINTEGRITY` errors can happen if [`opts.cache`](#opts-cache) is used, even if
    -`opts.integrity` is not passed in.
    -
    -#####  `opts.key`
    -
    -* Type: String
    -* Default: null
    -
    -A client key to pass when accessing the registry.  Values should be in PEM
    -format with newlines replaced by the string `'\n'`. For example:
    -
    -```
    -{
    -  key: '-----BEGIN PRIVATE KEY-----\nXXXX\nXXXX\n-----END PRIVATE KEY-----'
    -}
    -```
    -
    -It is _not_ the path to a key file (and there is no "keyfile" option).
    -
    -See also: [`opts.ca`](#opts-ca) and [`opts.cert`](#opts-cert)
    -
    -#####  `opts.localAddress`
    -
    -* Type: IP Address String
    -* Default: null
    -
    -The IP address of the local interface to use when making connections
    -to the registry.
    -
    -See also [`opts.proxy`](#opts-proxy)
    -
    -#####  `opts.log`
    -
    -* Type: [`npmlog`](https://npm.im/npmlog)-like
    -* Default: null
    -
    -Logger object to use for logging operation details. Must have the same methods
    -as `npmlog`.
    -
    -#####  `opts.mapJSON`
    -
    -* Type: Function
    -* Default: undefined
    -
    -When using `fetch.json.stream()` (NOT `fetch.json()`), this will be passed down
    -to [`JSONStream`](https://npm.im/JSONStream) as the second argument to
    -`JSONStream.parse`, and can be used to transform stream data before output.
    -
    -#####  `opts.maxSockets`
    -
    -* Type: Integer
    -* Default: 12
    -
    -Maximum number of sockets to keep open during requests. Has no effect if
    -[`opts.agent`](#opts-agent) is used.
    -
    -#####  `opts.method`
    -
    -* Type: String
    -* Default: 'GET'
    -
    -HTTP method to use for the outgoing request. Case-insensitive.
    -
    -#####  `opts.noproxy`
    -
    -* Type: Boolean
    -* Default: process.env.NOPROXY
    -
    -If true, proxying will be disabled even if [`opts.proxy`](#opts-proxy) is used.
    -
    -#####  `opts.npmSession`
    -
    -* Type: String
    -* Default: null
    -
    -If provided, will be sent in the `npm-session` header. This header is used by
    -the npm registry to identify individual user sessions (usually individual
    -invocations of the CLI).
    -
    -#####  `opts.npmCommand`
    -
    -* Type: String
    -* Default: null
    -
    -If provided, it will be sent in the `npm-command` header.  This header is
    -used by the npm registry to identify the npm command that caused this
    -request to be made.
    -
    -#####  `opts.offline`
    -
    -* Type: Boolean
    -* Default: false
    -
    -Force offline mode: no network requests will be done during install. To allow
    -`npm-registry-fetch` to fill in missing cache data, see
    -[`opts.preferOffline`](#opts-preferOffline).
    -
    -This option is only really useful if you're also using
    -[`opts.cache`](#opts-cache).
    -
    -This option is set to `true` when the request includes `write=true` in the
    -query string.
    -
    -#####  `opts.otp`
    -
    -* Type: Number | String
    -* Default: null
    -
    -This is a one-time password from a two-factor authenticator. It is required for
    -certain registry interactions when two-factor auth is enabled for a user
    -account.
    -
    -#####  `opts.otpPrompt`
    -
    -* Type: Function
    -* Default: null
    -
    -This is a method which will be called to provide an OTP if the server
    -responds with a 401 response indicating that a one-time-password is
    -required.
    -
    -It may return a promise, which must resolve to the OTP value to be used.
    -If the method fails to provide an OTP value, then the fetch will fail with
    -the auth error that indicated an OTP was needed.
    -
    -#####  `opts.password`
    -
    -* Alias: `_password`
    -* Type: String
    -* Default: null
    -
    -Password used for basic authentication. For the more modern authentication
    -method, please use the (more secure) [`opts.token`](#opts-token)
    -
    -Can optionally be scoped to a registry by using a "nerf dart" for that registry.
    -That is:
    -
    -```
    -{
    -  '//registry.npmjs.org/:password': 't0k3nH34r'
    -}
    -```
    -
    -See also [`opts.username`](#opts-username)
    -
    -#####  `opts.preferOffline`
    -
    -* Type: Boolean
    -* Default: false
    -
    -If true, staleness checks for cached data will be bypassed, but missing data
    -will be requested from the server. To force full offline mode, use
    -[`opts.offline`](#opts-offline).
    -
    -This option is generally only useful if you're also using
    -[`opts.cache`](#opts-cache).
    -
    -This option is set to `false` when the request includes `write=true` in the
    -query string.
    -
    -#####  `opts.preferOnline`
    -
    -* Type: Boolean
    -* Default: false
    -
    -If true, staleness checks for cached data will be forced, making the CLI look
    -for updates immediately even for fresh package data.
    -
    -This option is generally only useful if you're also using
    -[`opts.cache`](#opts-cache).
    -
    -This option is set to `true` when the request includes `write=true` in the
    -query string.
    -
    -#####  `opts.projectScope`
    -
    -* Type: String
    -* Default: null
    -
    -If provided, will be sent in the `npm-scope` header. This header is used by the
    -npm registry to identify the toplevel package scope that a particular project
    -installation is using.
    -
    -#####  `opts.proxy`
    -
    -* Type: url
    -* Default: null
    -
    -A proxy to use for outgoing http requests. If not passed in, the `HTTP(S)_PROXY`
    -environment variable will be used.
    -
    -#####  `opts.query`
    -
    -* Type: String | Object
    -* Default: null
    -
    -If provided, the request URI will have a query string appended to it using this
    -query. If `opts.query` is an object, it will be converted to a query string
    -using
    -[`querystring.stringify()`](https://nodejs.org/api/querystring.html#querystring_querystring_stringify_obj_sep_eq_options).
    -
    -If the request URI already has a query string, it will be merged with
    -`opts.query`, preferring `opts.query` values.
    -
    -#####  `opts.registry`
    -
    -* Type: URL
    -* Default: `'https://registry.npmjs.org'`
    -
    -Registry configuration for a request. If a request URL only includes the URL
    -path, this registry setting will be prepended.
    -
    -See also [`opts.scope`](#opts-scope), [`opts.spec`](#opts-spec), and
    -[`opts.:registry`](#opts-scope-registry) which can all affect the actual
    -registry URL used by the outgoing request.
    -
    -#####  `opts.retry`
    -
    -* Type: Object
    -* Default: null
    -
    -Single-object configuration for request retry settings. If passed in, will
    -override individually-passed `fetch-retry-*` settings.
    -
    -#####  `opts.scope`
    -
    -* Type: String
    -* Default: null
    -
    -Associate an operation with a scope for a scoped registry. This option can force
    -lookup of scope-specific registries and authentication.
    -
    -See also [`opts.:registry`](#opts-scope-registry) and
    -[`opts.spec`](#opts-spec) for interactions with this option.
    -
    -#####  `opts.:registry`
    -
    -* Type: String
    -* Default: null
    -
    -This option type can be used to configure the registry used for requests
    -involving a particular scope. For example, `opts['@myscope:registry'] =
    -'https://scope-specific.registry/'` will make it so requests go out to this
    -registry instead of [`opts.registry`](#opts-registry) when
    -[`opts.scope`](#opts-scope) is used, or when [`opts.spec`](#opts-spec) is a
    -scoped package spec.
    -
    -The `@` before the scope name is optional, but recommended.
    -
    -#####  `opts.spec`
    -
    -* Type: String | [`npm-registry-arg`](https://npm.im/npm-registry-arg) object.
    -* Default: null
    -
    -If provided, can be used to automatically configure [`opts.scope`](#opts-scope)
    -based on a specific package name. Non-registry package specs will throw an
    -error.
    -
    -#####  `opts.strictSSL`
    -
    -* Type: Boolean
    -* Default: true
    -
    -Whether or not to do SSL key validation when making requests to the
    -registry via https.
    -
    -See also [`opts.ca`](#opts-ca).
    -
    -#####  `opts.timeout`
    -
    -* Type: Milliseconds
    -* Default: 300000 (5 minutes)
    -
    -Time before a hanging request times out.
    -
    -#####  `opts.token`
    -
    -* Alias: `opts._authToken`
    -* Type: String
    -* Default: null
    -
    -Authentication token string.
    -
    -Can be scoped to a registry by using a "nerf dart" for that registry. That is:
    -
    -```
    -{
    -  '//registry.npmjs.org/:token': 't0k3nH34r'
    -}
    -```
    -
    -#####  `opts.userAgent`
    -
    -* Type: String
    -* Default: `'npm-registry-fetch@/node@+ ()'`
    -
    -User agent string to send in the `User-Agent` header.
    -
    -#####  `opts.username`
    -
    -* Type: String
    -* Default: null
    -
    -Username used for basic authentication. For the more modern authentication
    -method, please use the (more secure) [`opts.token`](#opts-token)
    -
    -Can optionally be scoped to a registry by using a "nerf dart" for that registry.
    -That is:
    -
    -```
    -{
    -  '//registry.npmjs.org/:username': 't0k3nH34r'
    -}
    -```
    -
    -See also [`opts.password`](#opts-password)
    -
    -#####  `opts._auth`
    -
    -* Type: String
    -* Default: null
    -
    -** DEPRECATED ** This is a legacy authentication token supported only for
    -compatibility. Please use [`opts.token`](#opts-token) instead.
    diff --git a/deps/npm/node_modules/npm-user-validate/README.md b/deps/npm/node_modules/npm-user-validate/README.md
    deleted file mode 100644
    index 53bdae5af0670b..00000000000000
    --- a/deps/npm/node_modules/npm-user-validate/README.md
    +++ /dev/null
    @@ -1,6 +0,0 @@
    -[![Build Status](https://travis-ci.org/npm/npm-user-validate.png?branch=master)](https://travis-ci.org/npm/npm-user-validate)
    -[![devDependency Status](https://david-dm.org/npm/npm-user-validate/dev-status.png)](https://david-dm.org/npm/npm-user-validate#info=devDependencies)
    -
    -# npm-user-validate
    -
    -Validation for the npm client and npm-www (and probably other npm projects)
    diff --git a/deps/npm/node_modules/npmlog/CHANGELOG.md b/deps/npm/node_modules/npmlog/CHANGELOG.md
    deleted file mode 100644
    index 51e4abc0a4075f..00000000000000
    --- a/deps/npm/node_modules/npmlog/CHANGELOG.md
    +++ /dev/null
    @@ -1,49 +0,0 @@
    -### v4.0.2
    -
    -* Added installation instructions.
    -
    -### v4.0.1
    -
    -* Fix bugs where `log.progressEnabled` got out of sync with how `gauge` kept
    -  track of these things resulting in a progressbar that couldn't be disabled.
    -
    -### v4.0.0
    -
    -* Allow creating log levels that are an empty string or 0.
    -
    -### v3.1.2
    -
    -* Update to `gauge@1.6.0` adding support for default values for template
    -  items.
    -
    -### v3.1.1
    -
    -* Update to `gauge@1.5.3` to fix to `1.x` compatibility when it comes to
    -  when a progress bar is enabled.  In `1.x` if you didn't have a TTY the
    -  progress bar was never shown.  In `2.x` it merely defaults to disabled,
    -  but you can enable it explicitly if you still want progress updates.
    -
    -### v3.1.0
    -
    -* Update to `gauge@2.5.2`:
    -  * Updates the `signal-exit` dependency which fixes an incompatibility with
    -    the node profiler.
    -  * Uses externalizes its ansi code generation in `console-control-strings`
    -* Make the default progress bar include the last line printed, colored as it
    -  would be when printing to a tty.
    -
    -### v3.0.0
    -
    -* Switch to `gauge@2.0.0`, for better performance, better look.
    -* Set stderr/stdout blocking if they're tty's, so that we can hide a
    -  progress bar going to stderr and then safely print to stdout.  Without
    -  this the two can end up overlapping producing confusing and sometimes
    -  corrupted output.
    -
    -### v2.0.0
    -
    -* Make the `error` event non-fatal so that folks can use it as a prefix.
    -
    -### v1.0.0
    -
    -* Add progress bar with `gauge@1.1.0`
    diff --git a/deps/npm/node_modules/npmlog/README.md b/deps/npm/node_modules/npmlog/README.md
    deleted file mode 100644
    index 268a4af41d6282..00000000000000
    --- a/deps/npm/node_modules/npmlog/README.md
    +++ /dev/null
    @@ -1,216 +0,0 @@
    -# npmlog
    -
    -The logger util that npm uses.
    -
    -This logger is very basic.  It does the logging for npm.  It supports
    -custom levels and colored output.
    -
    -By default, logs are written to stderr.  If you want to send log messages
    -to outputs other than streams, then you can change the `log.stream`
    -member, or you can just listen to the events that it emits, and do
    -whatever you want with them.
    -
    -# Installation
    -
    -```console
    -npm install npmlog --save
    -```
    -
    -# Basic Usage
    -
    -```javascript
    -var log = require('npmlog')
    -
    -// additional stuff ---------------------------+
    -// message ----------+                         |
    -// prefix ----+      |                         |
    -// level -+   |      |                         |
    -//        v   v      v                         v
    -    log.info('fyi', 'I have a kitty cat: %j', myKittyCat)
    -```
    -
    -## log.level
    -
    -* {String}
    -
    -The level to display logs at.  Any logs at or above this level will be
    -displayed.  The special level `silent` will prevent anything from being
    -displayed ever.
    -
    -## log.record
    -
    -* {Array}
    -
    -An array of all the log messages that have been entered.
    -
    -## log.maxRecordSize
    -
    -* {Number}
    -
    -The maximum number of records to keep.  If log.record gets bigger than
    -10% over this value, then it is sliced down to 90% of this value.
    -
    -The reason for the 10% window is so that it doesn't have to resize a
    -large array on every log entry.
    -
    -## log.prefixStyle
    -
    -* {Object}
    -
    -A style object that specifies how prefixes are styled.  (See below)
    -
    -## log.headingStyle
    -
    -* {Object}
    -
    -A style object that specifies how the heading is styled.  (See below)
    -
    -## log.heading
    -
    -* {String} Default: ""
    -
    -If set, a heading that is printed at the start of every line.
    -
    -## log.stream
    -
    -* {Stream} Default: `process.stderr`
    -
    -The stream where output is written.
    -
    -## log.enableColor()
    -
    -Force colors to be used on all messages, regardless of the output
    -stream.
    -
    -## log.disableColor()
    -
    -Disable colors on all messages.
    -
    -## log.enableProgress()
    -
    -Enable the display of log activity spinner and progress bar
    -
    -## log.disableProgress()
    -
    -Disable the display of a progress bar
    -
    -## log.enableUnicode()
    -
    -Force the unicode theme to be used for the progress bar.
    -
    -## log.disableUnicode()
    -
    -Disable the use of unicode in the progress bar.
    -
    -## log.setGaugeTemplate(template)
    -
    -Set a template for outputting the progress bar. See the [gauge documentation] for details.
    -
    -[gauge documentation]: https://npmjs.com/package/gauge
    -
    -## log.setGaugeThemeset(themes)
    -
    -Select a themeset to pick themes from for the progress bar. See the [gauge documentation] for details.
    -
    -## log.pause()
    -
    -Stop emitting messages to the stream, but do not drop them.
    -
    -## log.resume()
    -
    -Emit all buffered messages that were written while paused.
    -
    -## log.log(level, prefix, message, ...)
    -
    -* `level` {String} The level to emit the message at
    -* `prefix` {String} A string prefix.  Set to "" to skip.
    -* `message...` Arguments to `util.format`
    -
    -Emit a log message at the specified level.
    -
    -## log\[level](prefix, message, ...)
    -
    -For example,
    -
    -* log.silly(prefix, message, ...)
    -* log.verbose(prefix, message, ...)
    -* log.info(prefix, message, ...)
    -* log.http(prefix, message, ...)
    -* log.warn(prefix, message, ...)
    -* log.error(prefix, message, ...)
    -
    -Like `log.log(level, prefix, message, ...)`.  In this way, each level is
    -given a shorthand, so you can do `log.info(prefix, message)`.
    -
    -## log.addLevel(level, n, style, disp)
    -
    -* `level` {String} Level indicator
    -* `n` {Number} The numeric level
    -* `style` {Object} Object with fg, bg, inverse, etc.
    -* `disp` {String} Optional replacement for `level` in the output.
    -
    -Sets up a new level with a shorthand function and so forth.
    -
    -Note that if the number is `Infinity`, then setting the level to that
    -will cause all log messages to be suppressed.  If the number is
    -`-Infinity`, then the only way to show it is to enable all log messages.
    -
    -## log.newItem(name, todo, weight)
    -
    -* `name` {String} Optional; progress item name.
    -* `todo` {Number} Optional; total amount of work to be done. Default 0.
    -* `weight` {Number} Optional; the weight of this item relative to others. Default 1.
    -
    -This adds a new `are-we-there-yet` item tracker to the progress tracker. The
    -object returned has the `log[level]` methods but is otherwise an
    -`are-we-there-yet` `Tracker` object.
    -
    -## log.newStream(name, todo, weight)
    -
    -This adds a new `are-we-there-yet` stream tracker to the progress tracker. The
    -object returned has the `log[level]` methods but is otherwise an
    -`are-we-there-yet` `TrackerStream` object.
    -
    -## log.newGroup(name, weight)
    -
    -This adds a new `are-we-there-yet` tracker group to the progress tracker. The
    -object returned has the `log[level]` methods but is otherwise an
    -`are-we-there-yet` `TrackerGroup` object.
    -
    -# Events
    -
    -Events are all emitted with the message object.
    -
    -* `log` Emitted for all messages
    -* `log.` Emitted for all messages with the `` level.
    -* `` Messages with prefixes also emit their prefix as an event.
    -
    -# Style Objects
    -
    -Style objects can have the following fields:
    -
    -* `fg` {String} Color for the foreground text
    -* `bg` {String} Color for the background
    -* `bold`, `inverse`, `underline` {Boolean} Set the associated property
    -* `bell` {Boolean} Make a noise (This is pretty annoying, probably.)
    -
    -# Message Objects
    -
    -Every log event is emitted with a message object, and the `log.record`
    -list contains all of them that have been created.  They have the
    -following fields:
    -
    -* `id` {Number}
    -* `level` {String}
    -* `prefix` {String}
    -* `message` {String} Result of `util.format()`
    -* `messageRaw` {Array} Arguments to `util.format()`
    -
    -# Blocking TTYs
    -
    -We use [`set-blocking`](https://npmjs.com/package/set-blocking) to set
    -stderr and stdout blocking if they are tty's and have the setBlocking call.
    -This is a work around for an issue in early versions of Node.js 6.x, which
    -made stderr and stdout non-blocking on OSX. (They are always blocking
    -Windows and were never blocking on Linux.) `npmlog` needs them to be blocking
    -so that it can allow output to stdout and stderr to be interlaced.
    diff --git a/deps/npm/node_modules/oauth-sign/README.md b/deps/npm/node_modules/oauth-sign/README.md
    deleted file mode 100644
    index 549cbbafa49196..00000000000000
    --- a/deps/npm/node_modules/oauth-sign/README.md
    +++ /dev/null
    @@ -1,11 +0,0 @@
    -oauth-sign
    -==========
    -
    -OAuth 1 signing. Formerly a vendor lib in mikeal/request, now a standalone module. 
    -
    -## Supported Method Signatures
    -
    -- HMAC-SHA1
    -- HMAC-SHA256
    -- RSA-SHA1
    -- PLAINTEXT
    \ No newline at end of file
    diff --git a/deps/npm/node_modules/once/README.md b/deps/npm/node_modules/once/README.md
    deleted file mode 100644
    index 1f1ffca9330e3c..00000000000000
    --- a/deps/npm/node_modules/once/README.md
    +++ /dev/null
    @@ -1,79 +0,0 @@
    -# once
    -
    -Only call a function once.
    -
    -## usage
    -
    -```javascript
    -var once = require('once')
    -
    -function load (file, cb) {
    -  cb = once(cb)
    -  loader.load('file')
    -  loader.once('load', cb)
    -  loader.once('error', cb)
    -}
    -```
    -
    -Or add to the Function.prototype in a responsible way:
    -
    -```javascript
    -// only has to be done once
    -require('once').proto()
    -
    -function load (file, cb) {
    -  cb = cb.once()
    -  loader.load('file')
    -  loader.once('load', cb)
    -  loader.once('error', cb)
    -}
    -```
    -
    -Ironically, the prototype feature makes this module twice as
    -complicated as necessary.
    -
    -To check whether you function has been called, use `fn.called`. Once the
    -function is called for the first time the return value of the original
    -function is saved in `fn.value` and subsequent calls will continue to
    -return this value.
    -
    -```javascript
    -var once = require('once')
    -
    -function load (cb) {
    -  cb = once(cb)
    -  var stream = createStream()
    -  stream.once('data', cb)
    -  stream.once('end', function () {
    -    if (!cb.called) cb(new Error('not found'))
    -  })
    -}
    -```
    -
    -## `once.strict(func)`
    -
    -Throw an error if the function is called twice.
    -
    -Some functions are expected to be called only once. Using `once` for them would
    -potentially hide logical errors.
    -
    -In the example below, the `greet` function has to call the callback only once:
    -
    -```javascript
    -function greet (name, cb) {
    -  // return is missing from the if statement
    -  // when no name is passed, the callback is called twice
    -  if (!name) cb('Hello anonymous')
    -  cb('Hello ' + name)
    -}
    -
    -function log (msg) {
    -  console.log(msg)
    -}
    -
    -// this will print 'Hello anonymous' but the logical error will be missed
    -greet(null, once(msg))
    -
    -// once.strict will print 'Hello anonymous' and throw an error when the callback will be called the second time
    -greet(null, once.strict(msg))
    -```
    diff --git a/deps/npm/node_modules/parse-conflict-json/README.md b/deps/npm/node_modules/parse-conflict-json/README.md
    deleted file mode 100644
    index ee9e4fd564199b..00000000000000
    --- a/deps/npm/node_modules/parse-conflict-json/README.md
    +++ /dev/null
    @@ -1,42 +0,0 @@
    -# parse-conflict-json
    -
    -Parse a JSON string that has git merge conflicts, resolving if possible.
    -
    -If the JSON is valid, it just does `JSON.parse` as normal.
    -
    -If either side of the conflict is invalid JSON, then an error is thrown for
    -that.
    -
    -## USAGE
    -
    -```js
    -// after a git merge that left some conflicts there
    -const data = fs.readFileSync('package-lock.json', 'utf8')
    -
    -// reviverFunction is passed to JSON.parse as the reviver function
    -// preference defaults to 'ours', set to 'theirs' to prefer the other
    -// side's changes.
    -const parsed = parseConflictJson(data, reviverFunction, preference)
    -
    -// returns true if the data looks like a conflicted diff file
    -parsed.isDiff(data)
    -```
    -
    -## Algorithm
    -
    -If `prefer` is set to `theirs`, then the vaules of `theirs` and `ours` are
    -switched in the resolver function.  (Ie, we'll apply their changes on top
    -of our object, rather than the other way around.)
    -
    -- Parse the conflicted file into 3 pieces: `ours`, `theirs`, and `parent`
    -
    -- Get the [diff](https://github.com/angus-c/just#just-diff) from `parent`
    -  to `ours`.
    -
    -- [Apply](https://github.com/angus-c/just#just-diff-apply) each change of
    -  that diff to `theirs`.
    -
    -    If any change in the diff set cannot be applied (ie, because they
    -    changed an object into a non-object and we changed a field on that
    -    object), then replace the object at the specified path with the object
    -    at the path in `ours`.
    diff --git a/deps/npm/node_modules/path-parse/README.md b/deps/npm/node_modules/path-parse/README.md
    deleted file mode 100644
    index 05097f86aef364..00000000000000
    --- a/deps/npm/node_modules/path-parse/README.md
    +++ /dev/null
    @@ -1,42 +0,0 @@
    -# path-parse [![Build Status](https://travis-ci.org/jbgutierrez/path-parse.svg?branch=master)](https://travis-ci.org/jbgutierrez/path-parse)
    -
    -> Node.js [`path.parse(pathString)`](https://nodejs.org/api/path.html#path_path_parse_pathstring) [ponyfill](https://ponyfill.com).
    -
    -## Install
    -
    -```
    -$ npm install --save path-parse
    -```
    -
    -## Usage
    -
    -```js
    -var pathParse = require('path-parse');
    -
    -pathParse('/home/user/dir/file.txt');
    -//=> {
    -//       root : "/",
    -//       dir : "/home/user/dir",
    -//       base : "file.txt",
    -//       ext : ".txt",
    -//       name : "file"
    -//   }
    -```
    -
    -## API
    -
    -See [`path.parse(pathString)`](https://nodejs.org/api/path.html#path_path_parse_pathstring) docs.
    -
    -### pathParse(path)
    -
    -### pathParse.posix(path)
    -
    -The Posix specific version.
    -
    -### pathParse.win32(path)
    -
    -The Windows specific version.
    -
    -## License
    -
    -MIT © [Javier Blanco](http://jbgutierrez.info)
    diff --git a/deps/npm/node_modules/performance-now/.npmignore b/deps/npm/node_modules/performance-now/.npmignore
    deleted file mode 100644
    index 496ee2ca6a2f08..00000000000000
    --- a/deps/npm/node_modules/performance-now/.npmignore
    +++ /dev/null
    @@ -1 +0,0 @@
    -.DS_Store
    \ No newline at end of file
    diff --git a/deps/npm/node_modules/performance-now/.travis.yml b/deps/npm/node_modules/performance-now/.travis.yml
    deleted file mode 100644
    index 1543c1990eb9ed..00000000000000
    --- a/deps/npm/node_modules/performance-now/.travis.yml
    +++ /dev/null
    @@ -1,6 +0,0 @@
    -language: node_js
    -node_js:
    -  - "node"
    -  - "6"
    -  - "4"
    -  - "0.12"
    diff --git a/deps/npm/node_modules/performance-now/README.md b/deps/npm/node_modules/performance-now/README.md
    deleted file mode 100644
    index 28080f856aa212..00000000000000
    --- a/deps/npm/node_modules/performance-now/README.md
    +++ /dev/null
    @@ -1,30 +0,0 @@
    -# performance-now [![Build Status](https://travis-ci.org/braveg1rl/performance-now.png?branch=master)](https://travis-ci.org/braveg1rl/performance-now) [![Dependency Status](https://david-dm.org/braveg1rl/performance-now.png)](https://david-dm.org/braveg1rl/performance-now)
    -
    -Implements a function similar to `performance.now` (based on `process.hrtime`).
    -
    -Modern browsers have a `window.performance` object with - among others - a `now` method which gives time in milliseconds, but with sub-millisecond precision. This module offers the same function based on the Node.js native `process.hrtime` function.
    -
    -Using `process.hrtime` means that the reported time will be monotonically increasing, and not subject to clock-drift.
    -
    -According to the [High Resolution Time specification](http://www.w3.org/TR/hr-time/), the number of milliseconds reported by `performance.now` should be relative to the value of `performance.timing.navigationStart`.
    -
    -In the current version of the module (2.0) the reported time is relative to the time the current Node process has started (inferred from `process.uptime()`).
    -
    -Version 1.0 reported a different time. The reported time was relative to the time the module was loaded (i.e. the time it was first `require`d). If you need this functionality, version 1.0 is still available on NPM.
    -
    -## Example usage
    -
    -```javascript
    -var now = require("performance-now")
    -var start = now()
    -var end = now()
    -console.log(start.toFixed(3)) // the number of milliseconds the current node process is running
    -console.log((start-end).toFixed(3)) // ~ 0.002 on my system
    -```
    -
    -Running the now function two times right after each other yields a time difference of a few microseconds. Given this overhead, I think it's best to assume that the precision of intervals computed with this method is not higher than 10 microseconds, if you don't know the exact overhead on your own system.
    -
    -## License
    -
    -performance-now is released under the [MIT License](http://opensource.org/licenses/MIT).
    -Copyright (c) 2017 Braveg1rl
    diff --git a/deps/npm/node_modules/proc-log/README.md b/deps/npm/node_modules/proc-log/README.md
    deleted file mode 100644
    index 1adc2a65849dda..00000000000000
    --- a/deps/npm/node_modules/proc-log/README.md
    +++ /dev/null
    @@ -1,33 +0,0 @@
    -# proc-log
    -
    -Emits 'log' events on the process object which a log output listener can
    -consume and print to the terminal.
    -
    -This is used by various modules within the npm CLI stack in order to send
    -log events that [`npmlog`](http://npm.im/npmlog) can consume and print.
    -
    -## API
    -
    -* `log.error(...args)` calls `process.emit('log', 'error', ...args)`
    -  The highest log level.  For printing extremely serious errors that
    -  indicate something went wrong.
    -* `log.warn(...args)` calls `process.emit('log', 'warn', ...args)`
    -  A fairly high log level.  Things that the user needs to be aware of, but
    -  which won't necessarily cause improper functioning of the system.
    -* `log.notice(...args)` calls `process.emit('log', 'notice', ...args)`
    -  Notices which are important, but not necessarily dangerous or a cause for
    -  excess concern.
    -* `log.info(...args)` calls `process.emit('log', 'info', ...args)`
    -  Informative messages that may benefit the user, but aren't particularly
    -  important.
    -* `log.verbose(...args)` calls `process.emit('log', 'verbose', ...args)`
    -  Noisy output that is more detail that most users will care about.
    -* `log.silly(...args)` calls `process.emit('log', 'silly', ...args)`
    -  Extremely noisy excessive logging messages that are typically only useful
    -  for debugging.
    -* `log.http(...args)` calls `process.emit('log', 'http', ...args)`
    -  Information about HTTP requests made and/or completed.
    -* `log.pause(...args)` calls `process.emit('log', 'pause')`  Used to tell
    -  the consumer to stop printing messages.
    -* `log.resume(...args)` calls `process.emit('log', 'resume', ...args)`
    -  Used to tell the consumer that it is ok to print messages again.
    diff --git a/deps/npm/node_modules/promise-all-reject-late/.github/FUNDING.yml b/deps/npm/node_modules/promise-all-reject-late/.github/FUNDING.yml
    deleted file mode 100644
    index 20d8c03a4dca66..00000000000000
    --- a/deps/npm/node_modules/promise-all-reject-late/.github/FUNDING.yml
    +++ /dev/null
    @@ -1,3 +0,0 @@
    -# These are supported funding model platforms
    -
    -github: [isaacs]
    diff --git a/deps/npm/node_modules/promise-all-reject-late/.npmignore b/deps/npm/node_modules/promise-all-reject-late/.npmignore
    deleted file mode 100644
    index 3870bd5bb72079..00000000000000
    --- a/deps/npm/node_modules/promise-all-reject-late/.npmignore
    +++ /dev/null
    @@ -1,24 +0,0 @@
    -# ignore most things, include some others
    -/*
    -/.*
    -
    -!bin/
    -!lib/
    -!docs/
    -!package.json
    -!package-lock.json
    -!README.md
    -!CONTRIBUTING.md
    -!LICENSE
    -!CHANGELOG.md
    -!example/
    -!scripts/
    -!tap-snapshots/
    -!test/
    -!.github/
    -!.travis.yml
    -!.gitignore
    -!.gitattributes
    -!coverage-map.js
    -!map.js
    -!index.js
    diff --git a/deps/npm/node_modules/promise-all-reject-late/README.md b/deps/npm/node_modules/promise-all-reject-late/README.md
    deleted file mode 100644
    index eda7c70627f632..00000000000000
    --- a/deps/npm/node_modules/promise-all-reject-late/README.md
    +++ /dev/null
    @@ -1,40 +0,0 @@
    -# promise-all-reject-late
    -
    -Like Promise.all, but save rejections until all promises are resolved.
    -
    -This is handy when you want to do a bunch of things in parallel, and
    -rollback on failure, without clobbering or conflicting with those parallel
    -actions that may be in flight.  For example, creating a bunch of files,
    -and deleting any if they don't all succeed.
    -
    -Example:
    -
    -```js
    -const lateReject = require('promise-all-reject-late')
    -
    -const { promisify } = require('util')
    -const fs = require('fs')
    -const writeFile = promisify(fs.writeFile)
    -
    -const createFilesOrRollback = (files) => {
    -  return lateReject(files.map(file => writeFile(file, 'some data')))
    -    .catch(er => {
    -      // try to clean up, then fail with the initial error
    -      // we know that all write attempts are finished at this point
    -      return lateReject(files.map(file => rimraf(file)))
    -        .catch(er => {
    -          console.error('failed to clean up, youre on your own i guess', er)
    -        })
    -        .then(() => {
    -          // fail with the original error
    -          throw er
    -        })
    -    })
    -}
    -```
    -
    -## API
    -
    -* `lateReject([array, of, promises])` - Resolve all the promises,
    -  returning a promise that rejects with the first error, or resolves with
    -  the array of results, but only after all promises are settled.
    diff --git a/deps/npm/node_modules/promise-call-limit/README.md b/deps/npm/node_modules/promise-call-limit/README.md
    deleted file mode 100644
    index eae5de8ce0bfb5..00000000000000
    --- a/deps/npm/node_modules/promise-call-limit/README.md
    +++ /dev/null
    @@ -1,30 +0,0 @@
    -# promise-call-limit
    -
    -Call an array of promise-returning functions, restricting concurrency to a
    -specified limit.
    -
    -## USAGE
    -
    -```js
    -const promiseCallLimit = require('promise-call-limit')
    -const things = getLongListOfThingsToFrobulate()
    -
    -// frobulate no more than 4 things in parallel
    -promiseCallLimit(things.map(thing => () => frobulateThing(thing)), 4)
    -  .then(results => console.log('frobulated 4 at a time', results))
    -```
    -
    -## API
    -
    -### promiseCallLimit(queue Array<() => Promise>, limit = defaultLimit)
    -
    -The default limit is the number of CPUs on the system - 1, or 1.
    -
    -The reason for subtracting one is that presumably the main thread is taking
    -up a CPU as well, so let's not be greedy.
    -
    -Note that the array should be a list of Promise-_returning_ functions, not
    -Promises themselves.  If you have a bunch of Promises already, you're best
    -off just calling `Promise.all()`.
    -
    -The functions in the queue are called without any arguments.
    diff --git a/deps/npm/node_modules/promise-inflight/README.md b/deps/npm/node_modules/promise-inflight/README.md
    deleted file mode 100644
    index f0ae3a44432d68..00000000000000
    --- a/deps/npm/node_modules/promise-inflight/README.md
    +++ /dev/null
    @@ -1,34 +0,0 @@
    -# promise-inflight
    -
    -One promise for multiple requests in flight to avoid async duplication
    -
    -## USAGE
    -
    -```javascript
    -const inflight = require('promise-inflight')
    -
    -// some request that does some stuff
    -function req(key) {
    -  // key is any random string.  like a url or filename or whatever.
    -  return inflight(key, () => {
    -    // this is where you'd fetch the url or whatever
    -    return Promise.delay(100)
    -  })
    -}
    -
    -// only assigns a single setTimeout
    -// when it dings, all thens get called with the same result.  (There's only
    -// one underlying promise.)
    -req('foo').then(…)
    -req('foo').then(…)
    -req('foo').then(…)
    -req('foo').then(…)
    -```
    -
    -## SEE ALSO
    -
    -* [inflight](https://npmjs.com/package/inflight) - For the callback based function on which this is based.
    -
    -## STILL NEEDS
    -
    -Tests!
    diff --git a/deps/npm/node_modules/promise-retry/.editorconfig b/deps/npm/node_modules/promise-retry/.editorconfig
    deleted file mode 100644
    index 8bc4f108d549f1..00000000000000
    --- a/deps/npm/node_modules/promise-retry/.editorconfig
    +++ /dev/null
    @@ -1,15 +0,0 @@
    -root = true
    -
    -[*]
    -indent_style = space
    -indent_size = 4
    -end_of_line = lf
    -charset = utf-8
    -trim_trailing_whitespace = true
    -insert_final_newline = true
    -
    -[*.md]
    -trim_trailing_whitespace = false
    -
    -[package.json]
    -indent_size = 2
    diff --git a/deps/npm/node_modules/promise-retry/.travis.yml b/deps/npm/node_modules/promise-retry/.travis.yml
    deleted file mode 100644
    index e2d26a9cad62b0..00000000000000
    --- a/deps/npm/node_modules/promise-retry/.travis.yml
    +++ /dev/null
    @@ -1,4 +0,0 @@
    -language: node_js
    -node_js:
    -  - "10"
    -  - "12"
    diff --git a/deps/npm/node_modules/promise-retry/README.md b/deps/npm/node_modules/promise-retry/README.md
    deleted file mode 100644
    index 587de5c0b1841b..00000000000000
    --- a/deps/npm/node_modules/promise-retry/README.md
    +++ /dev/null
    @@ -1,94 +0,0 @@
    -# node-promise-retry
    -
    -[![NPM version][npm-image]][npm-url] [![Downloads][downloads-image]][npm-url] [![Build Status][travis-image]][travis-url] [![Dependency status][david-dm-image]][david-dm-url] [![Dev Dependency status][david-dm-dev-image]][david-dm-dev-url] [![Greenkeeper badge][greenkeeper-image]][greenkeeper-url]
    -
    -[npm-url]:https://npmjs.org/package/promise-retry
    -[downloads-image]:http://img.shields.io/npm/dm/promise-retry.svg
    -[npm-image]:http://img.shields.io/npm/v/promise-retry.svg
    -[travis-url]:https://travis-ci.org/IndigoUnited/node-promise-retry
    -[travis-image]:http://img.shields.io/travis/IndigoUnited/node-promise-retry/master.svg
    -[david-dm-url]:https://david-dm.org/IndigoUnited/node-promise-retry
    -[david-dm-image]:https://img.shields.io/david/IndigoUnited/node-promise-retry.svg
    -[david-dm-dev-url]:https://david-dm.org/IndigoUnited/node-promise-retry?type=dev
    -[david-dm-dev-image]:https://img.shields.io/david/dev/IndigoUnited/node-promise-retry.svg
    -[greenkeeper-image]:https://badges.greenkeeper.io/IndigoUnited/node-promise-retry.svg
    -[greenkeeper-url]:https://greenkeeper.io/
    -
    -Retries a function that returns a promise, leveraging the power of the [retry](https://github.com/tim-kos/node-retry) module to the promises world.
    -
    -There's already some modules that are able to retry functions that return promises but
    -they were rather difficult to use or do not offer an easy way to do conditional retries.
    -
    -
    -## Installation
    -
    -`$ npm install promise-retry`
    -
    -
    -## Usage
    -
    -### promiseRetry(fn, [options])
    -
    -Calls `fn` until the returned promise ends up fulfilled or rejected with an error different than
    -a `retry` error.   
    -The `options` argument is an object which maps to the [retry](https://github.com/tim-kos/node-retry) module options:
    -
    -- `retries`: The maximum amount of times to retry the operation. Default is `10`.
    -- `factor`: The exponential factor to use. Default is `2`.
    -- `minTimeout`: The number of milliseconds before starting the first retry. Default is `1000`.
    -- `maxTimeout`: The maximum number of milliseconds between two retries. Default is `Infinity`.
    -- `randomize`: Randomizes the timeouts by multiplying with a factor between `1` to `2`. Default is `false`.
    -
    -
    -The `fn` function will receive a `retry` function as its first argument that should be called with an error whenever you want to retry `fn`. The `retry` function will always throw an error.   
    -If there are retries left, it will throw a special `retry` error that will be handled internally to call `fn` again.
    -If there are no retries left, it will throw the actual error passed to it.
    -
    -If you prefer, you can pass the options first using the alternative function signature `promiseRetry([options], fn)`.
    -
    -## Example
    -```js
    -var promiseRetry = require('promise-retry');
    -
    -// Simple example
    -promiseRetry(function (retry, number) {
    -    console.log('attempt number', number);
    -
    -    return doSomething()
    -    .catch(retry);
    -})
    -.then(function (value) {
    -    // ..
    -}, function (err) {
    -    // ..
    -});
    -
    -// Conditional example
    -promiseRetry(function (retry, number) {
    -    console.log('attempt number', number);
    -
    -    return doSomething()
    -    .catch(function (err) {
    -        if (err.code === 'ETIMEDOUT') {
    -            retry(err);
    -        }
    -
    -        throw err;
    -    });
    -})
    -.then(function (value) {
    -    // ..
    -}, function (err) {
    -    // ..
    -});
    -```
    -
    -
    -## Tests
    -
    -`$ npm test`
    -
    -
    -## License
    -
    -Released under the [MIT License](http://www.opensource.org/licenses/mit-license.php).
    diff --git a/deps/npm/node_modules/promzard/.npmignore b/deps/npm/node_modules/promzard/.npmignore
    deleted file mode 100644
    index 15a1789a695f37..00000000000000
    --- a/deps/npm/node_modules/promzard/.npmignore
    +++ /dev/null
    @@ -1 +0,0 @@
    -example/npm-init/package.json
    diff --git a/deps/npm/node_modules/promzard/README.md b/deps/npm/node_modules/promzard/README.md
    deleted file mode 100644
    index 93c0418a6c6b74..00000000000000
    --- a/deps/npm/node_modules/promzard/README.md
    +++ /dev/null
    @@ -1,133 +0,0 @@
    -# promzard
    -
    -A prompting wizard for building files from specialized PromZard modules.
    -Used by `npm init`.
    -
    -A reimplementation of @SubStack's
    -[prompter](https://github.com/substack/node-prompter), which does not
    -use AST traversal.
    -
    -From another point of view, it's a reimplementation of
    -[@Marak](https://github.com/marak)'s
    -[wizard](https://github.com/Marak/wizard) which doesn't use schemas.
    -
    -The goal is a nice drop-in enhancement for `npm init`.
    -
    -## Usage
    -
    -```javascript
    -var promzard = require('promzard')
    -promzard(inputFile, optionalContextAdditions, function (er, data) {
    -  // .. you know what you doing ..
    -})
    -```
    -
    -In the `inputFile` you can have something like this:
    -
    -```javascript
    -var fs = require('fs')
    -module.exports = {
    -  "greeting": prompt("Who shall you greet?", "world", function (who) {
    -    return "Hello, " + who
    -  }),
    -  "filename": __filename,
    -  "directory": function (cb) {
    -    fs.readdir(__dirname, cb)
    -  }
    -}
    -```
    -
    -When run, promzard will display the prompts and resolve the async
    -functions in order, and then either give you an error, or the resolved
    -data, ready to be dropped into a JSON file or some other place.
    -
    -
    -### promzard(inputFile, ctx, callback)
    -
    -The inputFile is just a node module.  You can require() things, set
    -module.exports, etc.  Whatever that module exports is the result, and it
    -is walked over to call any functions as described below.
    -
    -The only caveat is that you must give PromZard the full absolute path
    -to the module (you can get this via Node's `require.resolve`.)  Also,
    -the `prompt` function is injected into the context object, so watch out.
    -
    -Whatever you put in that `ctx` will of course also be available in the
    -module.  You can get quite fancy with this, passing in existing configs
    -and so on.
    -
    -### Class: promzard.PromZard(file, ctx)
    -
    -Just like the `promzard` function, but the EventEmitter that makes it
    -all happen.  Emits either a `data` event with the data, or a `error`
    -event if it blows up.
    -
    -If `error` is emitted, then `data` never will be.
    -
    -### prompt(...)
    -
    -In the promzard input module, you can call the `prompt` function.
    -This prompts the user to input some data.  The arguments are interpreted
    -based on type:
    -
    -1. `string`  The first string encountered is the prompt.  The second is
    -   the default value.
    -2. `function` A transformer function which receives the data and returns
    -   something else.  More than meets the eye.
    -3. `object` The `prompt` member is the prompt, the `default` member is
    -   the default value, and the `transform` is the transformer.
    -
    -Whatever the final value is, that's what will be put on the resulting
    -object.
    -
    -### Functions
    -
    -If there are any functions on the promzard input module's exports, then
    -promzard will call each of them with a callback.  This way, your module
    -can do asynchronous actions if necessary to validate or ascertain
    -whatever needs verification.
    -
    -The functions are called in the context of the ctx object, and are given
    -a single argument, which is a callback that should be called with either
    -an error, or the result to assign to that spot.
    -
    -In the async function, you can also call prompt() and return the result
    -of the prompt in the callback.
    -
    -For example, this works fine in a promzard module:
    -
    -```
    -exports.asyncPrompt = function (cb) {
    -  fs.stat(someFile, function (er, st) {
    -    // if there's an error, no prompt, just error
    -    // otherwise prompt and use the actual file size as the default
    -    cb(er, prompt('file size', st.size))
    -  })
    -}
    -```
    -
    -You can also return other async functions in the async function
    -callback.  Though that's a bit silly, it could be a handy way to reuse
    -functionality in some cases.
    -
    -### Sync vs Async
    -
    -The `prompt()` function is not synchronous, though it appears that way.
    -It just returns a token that is swapped out when the data object is
    -walked over asynchronously later, and returns a token.
    -
    -For that reason, prompt() calls whose results don't end up on the data
    -object are never shown to the user.  For example, this will only prompt
    -once:
    -
    -```
    -exports.promptThreeTimes = prompt('prompt me once', 'shame on you')
    -exports.promptThreeTimes = prompt('prompt me twice', 'um....')
    -exports.promptThreeTimes = prompt('you cant prompt me again')
    -```
    -
    -### Isn't this exactly the sort of 'looks sync' that you said was bad about other libraries?
    -
    -Yeah, sorta.  I wouldn't use promzard for anything more complicated than
    -a wizard that spits out prompts to set up a config file or something.
    -Maybe there are other use cases I haven't considered.
    diff --git a/deps/npm/node_modules/promzard/example/npm-init/README.md b/deps/npm/node_modules/promzard/example/npm-init/README.md
    deleted file mode 100644
    index 46e5592c304f5d..00000000000000
    --- a/deps/npm/node_modules/promzard/example/npm-init/README.md
    +++ /dev/null
    @@ -1,8 +0,0 @@
    -# npm-init
    -
    -An initter you init wit, innit?
    -
    -## More stuff here
    -
    -Blerp derp herp lerg borgle pop munch efemerate baz foo a gandt synergy
    -jorka chatt slurm.
    diff --git a/deps/npm/node_modules/psl/README.md b/deps/npm/node_modules/psl/README.md
    deleted file mode 100644
    index e876c3d6f64c4d..00000000000000
    --- a/deps/npm/node_modules/psl/README.md
    +++ /dev/null
    @@ -1,215 +0,0 @@
    -# psl (Public Suffix List)
    -
    -[![NPM](https://nodei.co/npm/psl.png?downloads=true&downloadRank=true)](https://nodei.co/npm/psl/)
    -
    -[![Greenkeeper badge](https://badges.greenkeeper.io/lupomontero/psl.svg)](https://greenkeeper.io/)
    -[![Build Status](https://travis-ci.org/lupomontero/psl.svg?branch=master)](https://travis-ci.org/lupomontero/psl)
    -[![devDependency Status](https://david-dm.org/lupomontero/psl/dev-status.png)](https://david-dm.org/lupomontero/psl#info=devDependencies)
    -
    -`psl` is a `JavaScript` domain name parser based on the
    -[Public Suffix List](https://publicsuffix.org/).
    -
    -This implementation is tested against the
    -[test data hosted by Mozilla](http://mxr.mozilla.org/mozilla-central/source/netwerk/test/unit/data/test_psl.txt?raw=1)
    -and kindly provided by [Comodo](https://www.comodo.com/).
    -
    -Cross browser testing provided by
    -[BrowserStack](https://www.browserstack.com/)
    -
    -## What is the Public Suffix List?
    -
    -The Public Suffix List is a cross-vendor initiative to provide an accurate list
    -of domain name suffixes.
    -
    -The Public Suffix List is an initiative of the Mozilla Project, but is
    -maintained as a community resource. It is available for use in any software,
    -but was originally created to meet the needs of browser manufacturers.
    -
    -A "public suffix" is one under which Internet users can directly register names.
    -Some examples of public suffixes are ".com", ".co.uk" and "pvt.k12.wy.us". The
    -Public Suffix List is a list of all known public suffixes.
    -
    -Source: http://publicsuffix.org
    -
    -
    -## Installation
    -
    -### Node.js
    -
    -```sh
    -npm install --save psl
    -```
    -
    -### Browser
    -
    -Download [psl.min.js](https://raw.githubusercontent.com/lupomontero/psl/master/dist/psl.min.js)
    -and include it in a script tag.
    -
    -```html
    -
    -```
    -
    -This script is browserified and wrapped in a [umd](https://github.com/umdjs/umd)
    -wrapper so you should be able to use it standalone or together with a module
    -loader.
    -
    -## API
    -
    -### `psl.parse(domain)`
    -
    -Parse domain based on Public Suffix List. Returns an `Object` with the following
    -properties:
    -
    -* `tld`: Top level domain (this is the _public suffix_).
    -* `sld`: Second level domain (the first private part of the domain name).
    -* `domain`: The domain name is the `sld` + `tld`.
    -* `subdomain`: Optional parts left of the domain.
    -
    -#### Example:
    -
    -```js
    -var psl = require('psl');
    -
    -// Parse domain without subdomain
    -var parsed = psl.parse('google.com');
    -console.log(parsed.tld); // 'com'
    -console.log(parsed.sld); // 'google'
    -console.log(parsed.domain); // 'google.com'
    -console.log(parsed.subdomain); // null
    -
    -// Parse domain with subdomain
    -var parsed = psl.parse('www.google.com');
    -console.log(parsed.tld); // 'com'
    -console.log(parsed.sld); // 'google'
    -console.log(parsed.domain); // 'google.com'
    -console.log(parsed.subdomain); // 'www'
    -
    -// Parse domain with nested subdomains
    -var parsed = psl.parse('a.b.c.d.foo.com');
    -console.log(parsed.tld); // 'com'
    -console.log(parsed.sld); // 'foo'
    -console.log(parsed.domain); // 'foo.com'
    -console.log(parsed.subdomain); // 'a.b.c.d'
    -```
    -
    -### `psl.get(domain)`
    -
    -Get domain name, `sld` + `tld`. Returns `null` if not valid.
    -
    -#### Example:
    -
    -```js
    -var psl = require('psl');
    -
    -// null input.
    -psl.get(null); // null
    -
    -// Mixed case.
    -psl.get('COM'); // null
    -psl.get('example.COM'); // 'example.com'
    -psl.get('WwW.example.COM'); // 'example.com'
    -
    -// Unlisted TLD.
    -psl.get('example'); // null
    -psl.get('example.example'); // 'example.example'
    -psl.get('b.example.example'); // 'example.example'
    -psl.get('a.b.example.example'); // 'example.example'
    -
    -// TLD with only 1 rule.
    -psl.get('biz'); // null
    -psl.get('domain.biz'); // 'domain.biz'
    -psl.get('b.domain.biz'); // 'domain.biz'
    -psl.get('a.b.domain.biz'); // 'domain.biz'
    -
    -// TLD with some 2-level rules.
    -psl.get('uk.com'); // null);
    -psl.get('example.uk.com'); // 'example.uk.com');
    -psl.get('b.example.uk.com'); // 'example.uk.com');
    -
    -// More complex TLD.
    -psl.get('c.kobe.jp'); // null
    -psl.get('b.c.kobe.jp'); // 'b.c.kobe.jp'
    -psl.get('a.b.c.kobe.jp'); // 'b.c.kobe.jp'
    -psl.get('city.kobe.jp'); // 'city.kobe.jp'
    -psl.get('www.city.kobe.jp'); // 'city.kobe.jp'
    -
    -// IDN labels.
    -psl.get('食狮.com.cn'); // '食狮.com.cn'
    -psl.get('食狮.公司.cn'); // '食狮.公司.cn'
    -psl.get('www.食狮.公司.cn'); // '食狮.公司.cn'
    -
    -// Same as above, but punycoded.
    -psl.get('xn--85x722f.com.cn'); // 'xn--85x722f.com.cn'
    -psl.get('xn--85x722f.xn--55qx5d.cn'); // 'xn--85x722f.xn--55qx5d.cn'
    -psl.get('www.xn--85x722f.xn--55qx5d.cn'); // 'xn--85x722f.xn--55qx5d.cn'
    -```
    -
    -### `psl.isValid(domain)`
    -
    -Check whether a domain has a valid Public Suffix. Returns a `Boolean` indicating
    -whether the domain has a valid Public Suffix.
    -
    -#### Example
    -
    -```js
    -var psl = require('psl');
    -
    -psl.isValid('google.com'); // true
    -psl.isValid('www.google.com'); // true
    -psl.isValid('x.yz'); // false
    -```
    -
    -
    -## Testing and Building
    -
    -Test are written using [`mocha`](https://mochajs.org/) and can be
    -run in two different environments: `node` and `phantomjs`.
    -
    -```sh
    -# This will run `eslint`, `mocha` and `karma`.
    -npm test
    -
    -# Individual test environments
    -# Run tests in node only.
    -./node_modules/.bin/mocha test
    -# Run tests in phantomjs only.
    -./node_modules/.bin/karma start ./karma.conf.js --single-run
    -
    -# Build data (parse raw list) and create dist files
    -npm run build
    -```
    -
    -Feel free to fork if you see possible improvements!
    -
    -
    -## Acknowledgements
    -
    -* Mozilla Foundation's [Public Suffix List](https://publicsuffix.org/)
    -* Thanks to Rob Stradling of [Comodo](https://www.comodo.com/) for providing
    -  test data.
    -* Inspired by [weppos/publicsuffix-ruby](https://github.com/weppos/publicsuffix-ruby)
    -
    -
    -## License
    -
    -The MIT License (MIT)
    -
    -Copyright (c) 2017 Lupo Montero 
    -
    -Permission is hereby granted, free of charge, to any person obtaining a copy
    -of this software and associated documentation files (the "Software"), to deal
    -in the Software without restriction, including without limitation the rights
    -to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
    -copies of the Software, and to permit persons to whom the Software is
    -furnished to do so, subject to the following conditions:
    -
    -The above copyright notice and this permission notice shall be included in
    -all copies or substantial portions of the Software.
    -
    -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
    -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
    -FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
    -AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
    -LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
    -OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
    -THE SOFTWARE.
    diff --git a/deps/npm/node_modules/punycode/README.md b/deps/npm/node_modules/punycode/README.md
    deleted file mode 100644
    index ee2f9d63320c0d..00000000000000
    --- a/deps/npm/node_modules/punycode/README.md
    +++ /dev/null
    @@ -1,122 +0,0 @@
    -# Punycode.js [![Build status](https://travis-ci.org/bestiejs/punycode.js.svg?branch=master)](https://travis-ci.org/bestiejs/punycode.js) [![Code coverage status](http://img.shields.io/codecov/c/github/bestiejs/punycode.js.svg)](https://codecov.io/gh/bestiejs/punycode.js) [![Dependency status](https://gemnasium.com/bestiejs/punycode.js.svg)](https://gemnasium.com/bestiejs/punycode.js)
    -
    -Punycode.js is a robust Punycode converter that fully complies to [RFC 3492](https://tools.ietf.org/html/rfc3492) and [RFC 5891](https://tools.ietf.org/html/rfc5891).
    -
    -This JavaScript library is the result of comparing, optimizing and documenting different open-source implementations of the Punycode algorithm:
    -
    -* [The C example code from RFC 3492](https://tools.ietf.org/html/rfc3492#appendix-C)
    -* [`punycode.c` by _Markus W. Scherer_ (IBM)](http://opensource.apple.com/source/ICU/ICU-400.42/icuSources/common/punycode.c)
    -* [`punycode.c` by _Ben Noordhuis_](https://github.com/bnoordhuis/punycode/blob/master/punycode.c)
    -* [JavaScript implementation by _some_](http://stackoverflow.com/questions/183485/can-anyone-recommend-a-good-free-javascript-for-punycode-to-unicode-conversion/301287#301287)
    -* [`punycode.js` by _Ben Noordhuis_](https://github.com/joyent/node/blob/426298c8c1c0d5b5224ac3658c41e7c2a3fe9377/lib/punycode.js) (note: [not fully compliant](https://github.com/joyent/node/issues/2072))
    -
    -This project was [bundled](https://github.com/joyent/node/blob/master/lib/punycode.js) with Node.js from [v0.6.2+](https://github.com/joyent/node/compare/975f1930b1...61e796decc) until [v7](https://github.com/nodejs/node/pull/7941) (soft-deprecated).
    -
    -The current version supports recent versions of Node.js only. It provides a CommonJS module and an ES6 module. For the old version that offers the same functionality with broader support, including Rhino, Ringo, Narwhal, and web browsers, see [v1.4.1](https://github.com/bestiejs/punycode.js/releases/tag/v1.4.1).
    -
    -## Installation
    -
    -Via [npm](https://www.npmjs.com/):
    -
    -```bash
    -npm install punycode --save
    -```
    -
    -In [Node.js](https://nodejs.org/):
    -
    -```js
    -const punycode = require('punycode');
    -```
    -
    -## API
    -
    -### `punycode.decode(string)`
    -
    -Converts a Punycode string of ASCII symbols to a string of Unicode symbols.
    -
    -```js
    -// decode domain name parts
    -punycode.decode('maana-pta'); // 'mañana'
    -punycode.decode('--dqo34k'); // '☃-⌘'
    -```
    -
    -### `punycode.encode(string)`
    -
    -Converts a string of Unicode symbols to a Punycode string of ASCII symbols.
    -
    -```js
    -// encode domain name parts
    -punycode.encode('mañana'); // 'maana-pta'
    -punycode.encode('☃-⌘'); // '--dqo34k'
    -```
    -
    -### `punycode.toUnicode(input)`
    -
    -Converts a Punycode string representing a domain name or an email address to Unicode. Only the Punycoded parts of the input will be converted, i.e. it doesn’t matter if you call it on a string that has already been converted to Unicode.
    -
    -```js
    -// decode domain names
    -punycode.toUnicode('xn--maana-pta.com');
    -// → 'mañana.com'
    -punycode.toUnicode('xn----dqo34k.com');
    -// → '☃-⌘.com'
    -
    -// decode email addresses
    -punycode.toUnicode('джумла@xn--p-8sbkgc5ag7bhce.xn--ba-lmcq');
    -// → 'джумла@джpумлатест.bрфa'
    -```
    -
    -### `punycode.toASCII(input)`
    -
    -Converts a lowercased Unicode string representing a domain name or an email address to Punycode. Only the non-ASCII parts of the input will be converted, i.e. it doesn’t matter if you call it with a domain that’s already in ASCII.
    -
    -```js
    -// encode domain names
    -punycode.toASCII('mañana.com');
    -// → 'xn--maana-pta.com'
    -punycode.toASCII('☃-⌘.com');
    -// → 'xn----dqo34k.com'
    -
    -// encode email addresses
    -punycode.toASCII('джумла@джpумлатест.bрфa');
    -// → 'джумла@xn--p-8sbkgc5ag7bhce.xn--ba-lmcq'
    -```
    -
    -### `punycode.ucs2`
    -
    -#### `punycode.ucs2.decode(string)`
    -
    -Creates an array containing the numeric code point values of each Unicode symbol in the string. While [JavaScript uses UCS-2 internally](https://mathiasbynens.be/notes/javascript-encoding), this function will convert a pair of surrogate halves (each of which UCS-2 exposes as separate characters) into a single code point, matching UTF-16.
    -
    -```js
    -punycode.ucs2.decode('abc');
    -// → [0x61, 0x62, 0x63]
    -// surrogate pair for U+1D306 TETRAGRAM FOR CENTRE:
    -punycode.ucs2.decode('\uD834\uDF06');
    -// → [0x1D306]
    -```
    -
    -#### `punycode.ucs2.encode(codePoints)`
    -
    -Creates a string based on an array of numeric code point values.
    -
    -```js
    -punycode.ucs2.encode([0x61, 0x62, 0x63]);
    -// → 'abc'
    -punycode.ucs2.encode([0x1D306]);
    -// → '\uD834\uDF06'
    -```
    -
    -### `punycode.version`
    -
    -A string representing the current Punycode.js version number.
    -
    -## Author
    -
    -| [![twitter/mathias](https://gravatar.com/avatar/24e08a9ea84deb17ae121074d0f17125?s=70)](https://twitter.com/mathias "Follow @mathias on Twitter") |
    -|---|
    -| [Mathias Bynens](https://mathiasbynens.be/) |
    -
    -## License
    -
    -Punycode.js is available under the [MIT](https://mths.be/mit) license.
    diff --git a/deps/npm/node_modules/qs/.editorconfig b/deps/npm/node_modules/qs/.editorconfig
    deleted file mode 100644
    index b2654e7ac5ca01..00000000000000
    --- a/deps/npm/node_modules/qs/.editorconfig
    +++ /dev/null
    @@ -1,30 +0,0 @@
    -root = true
    -
    -[*]
    -indent_style = space
    -indent_size = 4
    -end_of_line = lf
    -charset = utf-8
    -trim_trailing_whitespace = true
    -insert_final_newline = true
    -max_line_length = 140
    -
    -[test/*]
    -max_line_length = off
    -
    -[*.md]
    -max_line_length = off
    -
    -[*.json]
    -max_line_length = off
    -
    -[Makefile]
    -max_line_length = off
    -
    -[CHANGELOG.md]
    -indent_style = space
    -indent_size = 2
    -
    -[LICENSE]
    -indent_size = 2
    -max_line_length = off
    diff --git a/deps/npm/node_modules/qs/.eslintignore b/deps/npm/node_modules/qs/.eslintignore
    deleted file mode 100644
    index 1521c8b7652b1e..00000000000000
    --- a/deps/npm/node_modules/qs/.eslintignore
    +++ /dev/null
    @@ -1 +0,0 @@
    -dist
    diff --git a/deps/npm/node_modules/qs/CHANGELOG.md b/deps/npm/node_modules/qs/CHANGELOG.md
    deleted file mode 100644
    index fe523209123630..00000000000000
    --- a/deps/npm/node_modules/qs/CHANGELOG.md
    +++ /dev/null
    @@ -1,226 +0,0 @@
    -## **6.5.2**
    -- [Fix] use `safer-buffer` instead of `Buffer` constructor
    -- [Refactor] utils: `module.exports` one thing, instead of mutating `exports` (#230)
    -- [Dev Deps] update `browserify`, `eslint`, `iconv-lite`, `safer-buffer`, `tape`, `browserify`
    -
    -## **6.5.1**
    -- [Fix] Fix parsing & compacting very deep objects (#224)
    -- [Refactor] name utils functions
    -- [Dev Deps] update `eslint`, `@ljharb/eslint-config`, `tape`
    -- [Tests] up to `node` `v8.4`; use `nvm install-latest-npm` so newer npm doesn’t break older node
    -- [Tests] Use precise dist for Node.js 0.6 runtime (#225)
    -- [Tests] make 0.6 required, now that it’s passing
    -- [Tests] on `node` `v8.2`; fix npm on node 0.6
    -
    -## **6.5.0**
    -- [New] add `utils.assign`
    -- [New] pass default encoder/decoder to custom encoder/decoder functions (#206)
    -- [New] `parse`/`stringify`: add `ignoreQueryPrefix`/`addQueryPrefix` options, respectively (#213)
    -- [Fix] Handle stringifying empty objects with addQueryPrefix (#217)
    -- [Fix] do not mutate `options` argument (#207)
    -- [Refactor] `parse`: cache index to reuse in else statement (#182)
    -- [Docs] add various badges to readme (#208)
    -- [Dev Deps] update `eslint`, `browserify`, `iconv-lite`, `tape`
    -- [Tests] up to `node` `v8.1`, `v7.10`, `v6.11`; npm v4.6 breaks on node < v1; npm v5+ breaks on node < v4
    -- [Tests] add `editorconfig-tools`
    -
    -## **6.4.0**
    -- [New] `qs.stringify`: add `encodeValuesOnly` option
    -- [Fix] follow `allowPrototypes` option during merge (#201, #201)
    -- [Fix] support keys starting with brackets (#202, #200)
    -- [Fix] chmod a-x
    -- [Dev Deps] update `eslint`
    -- [Tests] up to `node` `v7.7`, `v6.10`,` v4.8`; disable osx builds since they block linux builds
    -- [eslint] reduce warnings
    -
    -## **6.3.2**
    -- [Fix] follow `allowPrototypes` option during merge (#201, #200)
    -- [Dev Deps] update `eslint`
    -- [Fix] chmod a-x
    -- [Fix] support keys starting with brackets (#202, #200)
    -- [Tests] up to `node` `v7.7`, `v6.10`,` v4.8`; disable osx builds since they block linux builds
    -
    -## **6.3.1**
    -- [Fix] ensure that `allowPrototypes: false` does not ever shadow Object.prototype properties (thanks, @snyk!)
    -- [Dev Deps] update `eslint`, `@ljharb/eslint-config`, `browserify`, `iconv-lite`, `qs-iconv`, `tape`
    -- [Tests] on all node minors; improve test matrix
    -- [Docs] document stringify option `allowDots` (#195)
    -- [Docs] add empty object and array values example (#195)
    -- [Docs] Fix minor inconsistency/typo (#192)
    -- [Docs] document stringify option `sort` (#191)
    -- [Refactor] `stringify`: throw faster with an invalid encoder
    -- [Refactor] remove unnecessary escapes (#184)
    -- Remove contributing.md, since `qs` is no longer part of `hapi` (#183)
    -
    -## **6.3.0**
    -- [New] Add support for RFC 1738 (#174, #173)
    -- [New] `stringify`: Add `serializeDate` option to customize Date serialization (#159)
    -- [Fix] ensure `utils.merge` handles merging two arrays
    -- [Refactor] only constructors should be capitalized
    -- [Refactor] capitalized var names are for constructors only
    -- [Refactor] avoid using a sparse array
    -- [Robustness] `formats`: cache `String#replace`
    -- [Dev Deps] update `browserify`, `eslint`, `@ljharb/eslint-config`; add `safe-publish-latest`
    -- [Tests] up to `node` `v6.8`, `v4.6`; improve test matrix
    -- [Tests] flesh out arrayLimit/arrayFormat tests (#107)
    -- [Tests] skip Object.create tests when null objects are not available
    -- [Tests] Turn on eslint for test files (#175)
    -
    -## **6.2.3**
    -- [Fix] follow `allowPrototypes` option during merge (#201, #200)
    -- [Fix] chmod a-x
    -- [Fix] support keys starting with brackets (#202, #200)
    -- [Tests] up to `node` `v7.7`, `v6.10`,` v4.8`; disable osx builds since they block linux builds
    -
    -## **6.2.2**
    -- [Fix] ensure that `allowPrototypes: false` does not ever shadow Object.prototype properties
    -
    -## **6.2.1**
    -- [Fix] ensure `key[]=x&key[]&key[]=y` results in 3, not 2, values
    -- [Refactor] Be explicit and use `Object.prototype.hasOwnProperty.call`
    -- [Tests] remove `parallelshell` since it does not reliably report failures
    -- [Tests] up to `node` `v6.3`, `v5.12`
    -- [Dev Deps] update `tape`, `eslint`, `@ljharb/eslint-config`, `qs-iconv`
    -
    -## [**6.2.0**](https://github.com/ljharb/qs/issues?milestone=36&state=closed)
    -- [New] pass Buffers to the encoder/decoder directly (#161)
    -- [New] add "encoder" and "decoder" options, for custom param encoding/decoding (#160)
    -- [Fix] fix compacting of nested sparse arrays (#150)
    -
    -## **6.1.2
    -- [Fix] follow `allowPrototypes` option during merge (#201, #200)
    -- [Fix] chmod a-x
    -- [Fix] support keys starting with brackets (#202, #200)
    -- [Tests] up to `node` `v7.7`, `v6.10`,` v4.8`; disable osx builds since they block linux builds
    -
    -## **6.1.1**
    -- [Fix] ensure that `allowPrototypes: false` does not ever shadow Object.prototype properties
    -
    -## [**6.1.0**](https://github.com/ljharb/qs/issues?milestone=35&state=closed)
    -- [New] allowDots option for `stringify` (#151)
    -- [Fix] "sort" option should work at a depth of 3 or more (#151)
    -- [Fix] Restore `dist` directory; will be removed in v7 (#148)
    -
    -## **6.0.4**
    -- [Fix] follow `allowPrototypes` option during merge (#201, #200)
    -- [Fix] chmod a-x
    -- [Fix] support keys starting with brackets (#202, #200)
    -- [Tests] up to `node` `v7.7`, `v6.10`,` v4.8`; disable osx builds since they block linux builds
    -
    -## **6.0.3**
    -- [Fix] ensure that `allowPrototypes: false` does not ever shadow Object.prototype properties
    -- [Fix] Restore `dist` directory; will be removed in v7 (#148)
    -
    -## [**6.0.2**](https://github.com/ljharb/qs/issues?milestone=33&state=closed)
    -- Revert ES6 requirement and restore support for node down to v0.8.
    -
    -## [**6.0.1**](https://github.com/ljharb/qs/issues?milestone=32&state=closed)
    -- [**#127**](https://github.com/ljharb/qs/pull/127) Fix engines definition in package.json
    -
    -## [**6.0.0**](https://github.com/ljharb/qs/issues?milestone=31&state=closed)
    -- [**#124**](https://github.com/ljharb/qs/issues/124) Use ES6 and drop support for node < v4
    -
    -## **5.2.1**
    -- [Fix] ensure `key[]=x&key[]&key[]=y` results in 3, not 2, values
    -
    -## [**5.2.0**](https://github.com/ljharb/qs/issues?milestone=30&state=closed)
    -- [**#64**](https://github.com/ljharb/qs/issues/64) Add option to sort object keys in the query string
    -
    -## [**5.1.0**](https://github.com/ljharb/qs/issues?milestone=29&state=closed)
    -- [**#117**](https://github.com/ljharb/qs/issues/117) make URI encoding stringified results optional
    -- [**#106**](https://github.com/ljharb/qs/issues/106) Add flag `skipNulls` to optionally skip null values in stringify
    -
    -## [**5.0.0**](https://github.com/ljharb/qs/issues?milestone=28&state=closed)
    -- [**#114**](https://github.com/ljharb/qs/issues/114) default allowDots to false
    -- [**#100**](https://github.com/ljharb/qs/issues/100) include dist to npm
    -
    -## [**4.0.0**](https://github.com/ljharb/qs/issues?milestone=26&state=closed)
    -- [**#98**](https://github.com/ljharb/qs/issues/98) make returning plain objects and allowing prototype overwriting properties optional
    -
    -## [**3.1.0**](https://github.com/ljharb/qs/issues?milestone=24&state=closed)
    -- [**#89**](https://github.com/ljharb/qs/issues/89) Add option to disable "Transform dot notation to bracket notation"
    -
    -## [**3.0.0**](https://github.com/ljharb/qs/issues?milestone=23&state=closed)
    -- [**#80**](https://github.com/ljharb/qs/issues/80) qs.parse silently drops properties
    -- [**#77**](https://github.com/ljharb/qs/issues/77) Perf boost
    -- [**#60**](https://github.com/ljharb/qs/issues/60) Add explicit option to disable array parsing
    -- [**#74**](https://github.com/ljharb/qs/issues/74) Bad parse when turning array into object
    -- [**#81**](https://github.com/ljharb/qs/issues/81) Add a `filter` option
    -- [**#68**](https://github.com/ljharb/qs/issues/68) Fixed issue with recursion and passing strings into objects.
    -- [**#66**](https://github.com/ljharb/qs/issues/66) Add mixed array and object dot notation support Closes: #47
    -- [**#76**](https://github.com/ljharb/qs/issues/76) RFC 3986
    -- [**#85**](https://github.com/ljharb/qs/issues/85) No equal sign
    -- [**#84**](https://github.com/ljharb/qs/issues/84) update license attribute
    -
    -## [**2.4.1**](https://github.com/ljharb/qs/issues?milestone=20&state=closed)
    -- [**#73**](https://github.com/ljharb/qs/issues/73) Property 'hasOwnProperty' of object # is not a function
    -
    -## [**2.4.0**](https://github.com/ljharb/qs/issues?milestone=19&state=closed)
    -- [**#70**](https://github.com/ljharb/qs/issues/70) Add arrayFormat option
    -
    -## [**2.3.3**](https://github.com/ljharb/qs/issues?milestone=18&state=closed)
    -- [**#59**](https://github.com/ljharb/qs/issues/59) make sure array indexes are >= 0, closes #57
    -- [**#58**](https://github.com/ljharb/qs/issues/58) make qs usable for browser loader
    -
    -## [**2.3.2**](https://github.com/ljharb/qs/issues?milestone=17&state=closed)
    -- [**#55**](https://github.com/ljharb/qs/issues/55) allow merging a string into an object
    -
    -## [**2.3.1**](https://github.com/ljharb/qs/issues?milestone=16&state=closed)
    -- [**#52**](https://github.com/ljharb/qs/issues/52) Return "undefined" and "false" instead of throwing "TypeError".
    -
    -## [**2.3.0**](https://github.com/ljharb/qs/issues?milestone=15&state=closed)
    -- [**#50**](https://github.com/ljharb/qs/issues/50) add option to omit array indices, closes #46
    -
    -## [**2.2.5**](https://github.com/ljharb/qs/issues?milestone=14&state=closed)
    -- [**#39**](https://github.com/ljharb/qs/issues/39) Is there an alternative to Buffer.isBuffer?
    -- [**#49**](https://github.com/ljharb/qs/issues/49) refactor utils.merge, fixes #45
    -- [**#41**](https://github.com/ljharb/qs/issues/41) avoid browserifying Buffer, for #39
    -
    -## [**2.2.4**](https://github.com/ljharb/qs/issues?milestone=13&state=closed)
    -- [**#38**](https://github.com/ljharb/qs/issues/38) how to handle object keys beginning with a number
    -
    -## [**2.2.3**](https://github.com/ljharb/qs/issues?milestone=12&state=closed)
    -- [**#37**](https://github.com/ljharb/qs/issues/37) parser discards first empty value in array
    -- [**#36**](https://github.com/ljharb/qs/issues/36) Update to lab 4.x
    -
    -## [**2.2.2**](https://github.com/ljharb/qs/issues?milestone=11&state=closed)
    -- [**#33**](https://github.com/ljharb/qs/issues/33) Error when plain object in a value
    -- [**#34**](https://github.com/ljharb/qs/issues/34) use Object.prototype.hasOwnProperty.call instead of obj.hasOwnProperty
    -- [**#24**](https://github.com/ljharb/qs/issues/24) Changelog? Semver?
    -
    -## [**2.2.1**](https://github.com/ljharb/qs/issues?milestone=10&state=closed)
    -- [**#32**](https://github.com/ljharb/qs/issues/32) account for circular references properly, closes #31
    -- [**#31**](https://github.com/ljharb/qs/issues/31) qs.parse stackoverflow on circular objects
    -
    -## [**2.2.0**](https://github.com/ljharb/qs/issues?milestone=9&state=closed)
    -- [**#26**](https://github.com/ljharb/qs/issues/26) Don't use Buffer global if it's not present
    -- [**#30**](https://github.com/ljharb/qs/issues/30) Bug when merging non-object values into arrays
    -- [**#29**](https://github.com/ljharb/qs/issues/29) Don't call Utils.clone at the top of Utils.merge
    -- [**#23**](https://github.com/ljharb/qs/issues/23) Ability to not limit parameters?
    -
    -## [**2.1.0**](https://github.com/ljharb/qs/issues?milestone=8&state=closed)
    -- [**#22**](https://github.com/ljharb/qs/issues/22) Enable using a RegExp as delimiter
    -
    -## [**2.0.0**](https://github.com/ljharb/qs/issues?milestone=7&state=closed)
    -- [**#18**](https://github.com/ljharb/qs/issues/18) Why is there arrayLimit?
    -- [**#20**](https://github.com/ljharb/qs/issues/20) Configurable parametersLimit
    -- [**#21**](https://github.com/ljharb/qs/issues/21) make all limits optional, for #18, for #20
    -
    -## [**1.2.2**](https://github.com/ljharb/qs/issues?milestone=6&state=closed)
    -- [**#19**](https://github.com/ljharb/qs/issues/19) Don't overwrite null values
    -
    -## [**1.2.1**](https://github.com/ljharb/qs/issues?milestone=5&state=closed)
    -- [**#16**](https://github.com/ljharb/qs/issues/16) ignore non-string delimiters
    -- [**#15**](https://github.com/ljharb/qs/issues/15) Close code block
    -
    -## [**1.2.0**](https://github.com/ljharb/qs/issues?milestone=4&state=closed)
    -- [**#12**](https://github.com/ljharb/qs/issues/12) Add optional delim argument
    -- [**#13**](https://github.com/ljharb/qs/issues/13) fix #11: flattened keys in array are now correctly parsed
    -
    -## [**1.1.0**](https://github.com/ljharb/qs/issues?milestone=3&state=closed)
    -- [**#7**](https://github.com/ljharb/qs/issues/7) Empty values of a POST array disappear after being submitted
    -- [**#9**](https://github.com/ljharb/qs/issues/9) Should not omit equals signs (=) when value is null
    -- [**#6**](https://github.com/ljharb/qs/issues/6) Minor grammar fix in README
    -
    -## [**1.0.2**](https://github.com/ljharb/qs/issues?milestone=2&state=closed)
    -- [**#5**](https://github.com/ljharb/qs/issues/5) array holes incorrectly copied into object on large index
    diff --git a/deps/npm/node_modules/qs/README.md b/deps/npm/node_modules/qs/README.md
    deleted file mode 100644
    index d81196662bc237..00000000000000
    --- a/deps/npm/node_modules/qs/README.md
    +++ /dev/null
    @@ -1,475 +0,0 @@
    -# qs [![Version Badge][2]][1]
    -
    -[![Build Status][3]][4]
    -[![dependency status][5]][6]
    -[![dev dependency status][7]][8]
    -[![License][license-image]][license-url]
    -[![Downloads][downloads-image]][downloads-url]
    -
    -[![npm badge][11]][1]
    -
    -A querystring parsing and stringifying library with some added security.
    -
    -Lead Maintainer: [Jordan Harband](https://github.com/ljharb)
    -
    -The **qs** module was originally created and maintained by [TJ Holowaychuk](https://github.com/visionmedia/node-querystring).
    -
    -## Usage
    -
    -```javascript
    -var qs = require('qs');
    -var assert = require('assert');
    -
    -var obj = qs.parse('a=c');
    -assert.deepEqual(obj, { a: 'c' });
    -
    -var str = qs.stringify(obj);
    -assert.equal(str, 'a=c');
    -```
    -
    -### Parsing Objects
    -
    -[](#preventEval)
    -```javascript
    -qs.parse(string, [options]);
    -```
    -
    -**qs** allows you to create nested objects within your query strings, by surrounding the name of sub-keys with square brackets `[]`.
    -For example, the string `'foo[bar]=baz'` converts to:
    -
    -```javascript
    -assert.deepEqual(qs.parse('foo[bar]=baz'), {
    -    foo: {
    -        bar: 'baz'
    -    }
    -});
    -```
    -
    -When using the `plainObjects` option the parsed value is returned as a null object, created via `Object.create(null)` and as such you should be aware that prototype methods will not exist on it and a user may set those names to whatever value they like:
    -
    -```javascript
    -var nullObject = qs.parse('a[hasOwnProperty]=b', { plainObjects: true });
    -assert.deepEqual(nullObject, { a: { hasOwnProperty: 'b' } });
    -```
    -
    -By default parameters that would overwrite properties on the object prototype are ignored, if you wish to keep the data from those fields either use `plainObjects` as mentioned above, or set `allowPrototypes` to `true` which will allow user input to overwrite those properties. *WARNING* It is generally a bad idea to enable this option as it can cause problems when attempting to use the properties that have been overwritten. Always be careful with this option.
    -
    -```javascript
    -var protoObject = qs.parse('a[hasOwnProperty]=b', { allowPrototypes: true });
    -assert.deepEqual(protoObject, { a: { hasOwnProperty: 'b' } });
    -```
    -
    -URI encoded strings work too:
    -
    -```javascript
    -assert.deepEqual(qs.parse('a%5Bb%5D=c'), {
    -    a: { b: 'c' }
    -});
    -```
    -
    -You can also nest your objects, like `'foo[bar][baz]=foobarbaz'`:
    -
    -```javascript
    -assert.deepEqual(qs.parse('foo[bar][baz]=foobarbaz'), {
    -    foo: {
    -        bar: {
    -            baz: 'foobarbaz'
    -        }
    -    }
    -});
    -```
    -
    -By default, when nesting objects **qs** will only parse up to 5 children deep. This means if you attempt to parse a string like
    -`'a[b][c][d][e][f][g][h][i]=j'` your resulting object will be:
    -
    -```javascript
    -var expected = {
    -    a: {
    -        b: {
    -            c: {
    -                d: {
    -                    e: {
    -                        f: {
    -                            '[g][h][i]': 'j'
    -                        }
    -                    }
    -                }
    -            }
    -        }
    -    }
    -};
    -var string = 'a[b][c][d][e][f][g][h][i]=j';
    -assert.deepEqual(qs.parse(string), expected);
    -```
    -
    -This depth can be overridden by passing a `depth` option to `qs.parse(string, [options])`:
    -
    -```javascript
    -var deep = qs.parse('a[b][c][d][e][f][g][h][i]=j', { depth: 1 });
    -assert.deepEqual(deep, { a: { b: { '[c][d][e][f][g][h][i]': 'j' } } });
    -```
    -
    -The depth limit helps mitigate abuse when **qs** is used to parse user input, and it is recommended to keep it a reasonably small number.
    -
    -For similar reasons, by default **qs** will only parse up to 1000 parameters. This can be overridden by passing a `parameterLimit` option:
    -
    -```javascript
    -var limited = qs.parse('a=b&c=d', { parameterLimit: 1 });
    -assert.deepEqual(limited, { a: 'b' });
    -```
    -
    -To bypass the leading question mark, use `ignoreQueryPrefix`:
    -
    -```javascript
    -var prefixed = qs.parse('?a=b&c=d', { ignoreQueryPrefix: true });
    -assert.deepEqual(prefixed, { a: 'b', c: 'd' });
    -```
    -
    -An optional delimiter can also be passed:
    -
    -```javascript
    -var delimited = qs.parse('a=b;c=d', { delimiter: ';' });
    -assert.deepEqual(delimited, { a: 'b', c: 'd' });
    -```
    -
    -Delimiters can be a regular expression too:
    -
    -```javascript
    -var regexed = qs.parse('a=b;c=d,e=f', { delimiter: /[;,]/ });
    -assert.deepEqual(regexed, { a: 'b', c: 'd', e: 'f' });
    -```
    -
    -Option `allowDots` can be used to enable dot notation:
    -
    -```javascript
    -var withDots = qs.parse('a.b=c', { allowDots: true });
    -assert.deepEqual(withDots, { a: { b: 'c' } });
    -```
    -
    -### Parsing Arrays
    -
    -**qs** can also parse arrays using a similar `[]` notation:
    -
    -```javascript
    -var withArray = qs.parse('a[]=b&a[]=c');
    -assert.deepEqual(withArray, { a: ['b', 'c'] });
    -```
    -
    -You may specify an index as well:
    -
    -```javascript
    -var withIndexes = qs.parse('a[1]=c&a[0]=b');
    -assert.deepEqual(withIndexes, { a: ['b', 'c'] });
    -```
    -
    -Note that the only difference between an index in an array and a key in an object is that the value between the brackets must be a number
    -to create an array. When creating arrays with specific indices, **qs** will compact a sparse array to only the existing values preserving
    -their order:
    -
    -```javascript
    -var noSparse = qs.parse('a[1]=b&a[15]=c');
    -assert.deepEqual(noSparse, { a: ['b', 'c'] });
    -```
    -
    -Note that an empty string is also a value, and will be preserved:
    -
    -```javascript
    -var withEmptyString = qs.parse('a[]=&a[]=b');
    -assert.deepEqual(withEmptyString, { a: ['', 'b'] });
    -
    -var withIndexedEmptyString = qs.parse('a[0]=b&a[1]=&a[2]=c');
    -assert.deepEqual(withIndexedEmptyString, { a: ['b', '', 'c'] });
    -```
    -
    -**qs** will also limit specifying indices in an array to a maximum index of `20`. Any array members with an index of greater than `20` will
    -instead be converted to an object with the index as the key:
    -
    -```javascript
    -var withMaxIndex = qs.parse('a[100]=b');
    -assert.deepEqual(withMaxIndex, { a: { '100': 'b' } });
    -```
    -
    -This limit can be overridden by passing an `arrayLimit` option:
    -
    -```javascript
    -var withArrayLimit = qs.parse('a[1]=b', { arrayLimit: 0 });
    -assert.deepEqual(withArrayLimit, { a: { '1': 'b' } });
    -```
    -
    -To disable array parsing entirely, set `parseArrays` to `false`.
    -
    -```javascript
    -var noParsingArrays = qs.parse('a[]=b', { parseArrays: false });
    -assert.deepEqual(noParsingArrays, { a: { '0': 'b' } });
    -```
    -
    -If you mix notations, **qs** will merge the two items into an object:
    -
    -```javascript
    -var mixedNotation = qs.parse('a[0]=b&a[b]=c');
    -assert.deepEqual(mixedNotation, { a: { '0': 'b', b: 'c' } });
    -```
    -
    -You can also create arrays of objects:
    -
    -```javascript
    -var arraysOfObjects = qs.parse('a[][b]=c');
    -assert.deepEqual(arraysOfObjects, { a: [{ b: 'c' }] });
    -```
    -
    -### Stringifying
    -
    -[](#preventEval)
    -```javascript
    -qs.stringify(object, [options]);
    -```
    -
    -When stringifying, **qs** by default URI encodes output. Objects are stringified as you would expect:
    -
    -```javascript
    -assert.equal(qs.stringify({ a: 'b' }), 'a=b');
    -assert.equal(qs.stringify({ a: { b: 'c' } }), 'a%5Bb%5D=c');
    -```
    -
    -This encoding can be disabled by setting the `encode` option to `false`:
    -
    -```javascript
    -var unencoded = qs.stringify({ a: { b: 'c' } }, { encode: false });
    -assert.equal(unencoded, 'a[b]=c');
    -```
    -
    -Encoding can be disabled for keys by setting the `encodeValuesOnly` option to `true`:
    -```javascript
    -var encodedValues = qs.stringify(
    -    { a: 'b', c: ['d', 'e=f'], f: [['g'], ['h']] },
    -    { encodeValuesOnly: true }
    -);
    -assert.equal(encodedValues,'a=b&c[0]=d&c[1]=e%3Df&f[0][0]=g&f[1][0]=h');
    -```
    -
    -This encoding can also be replaced by a custom encoding method set as `encoder` option:
    -
    -```javascript
    -var encoded = qs.stringify({ a: { b: 'c' } }, { encoder: function (str) {
    -    // Passed in values `a`, `b`, `c`
    -    return // Return encoded string
    -}})
    -```
    -
    -_(Note: the `encoder` option does not apply if `encode` is `false`)_
    -
    -Analogue to the `encoder` there is a `decoder` option for `parse` to override decoding of properties and values:
    -
    -```javascript
    -var decoded = qs.parse('x=z', { decoder: function (str) {
    -    // Passed in values `x`, `z`
    -    return // Return decoded string
    -}})
    -```
    -
    -Examples beyond this point will be shown as though the output is not URI encoded for clarity. Please note that the return values in these cases *will* be URI encoded during real usage.
    -
    -When arrays are stringified, by default they are given explicit indices:
    -
    -```javascript
    -qs.stringify({ a: ['b', 'c', 'd'] });
    -// 'a[0]=b&a[1]=c&a[2]=d'
    -```
    -
    -You may override this by setting the `indices` option to `false`:
    -
    -```javascript
    -qs.stringify({ a: ['b', 'c', 'd'] }, { indices: false });
    -// 'a=b&a=c&a=d'
    -```
    -
    -You may use the `arrayFormat` option to specify the format of the output array:
    -
    -```javascript
    -qs.stringify({ a: ['b', 'c'] }, { arrayFormat: 'indices' })
    -// 'a[0]=b&a[1]=c'
    -qs.stringify({ a: ['b', 'c'] }, { arrayFormat: 'brackets' })
    -// 'a[]=b&a[]=c'
    -qs.stringify({ a: ['b', 'c'] }, { arrayFormat: 'repeat' })
    -// 'a=b&a=c'
    -```
    -
    -When objects are stringified, by default they use bracket notation:
    -
    -```javascript
    -qs.stringify({ a: { b: { c: 'd', e: 'f' } } });
    -// 'a[b][c]=d&a[b][e]=f'
    -```
    -
    -You may override this to use dot notation by setting the `allowDots` option to `true`:
    -
    -```javascript
    -qs.stringify({ a: { b: { c: 'd', e: 'f' } } }, { allowDots: true });
    -// 'a.b.c=d&a.b.e=f'
    -```
    -
    -Empty strings and null values will omit the value, but the equals sign (=) remains in place:
    -
    -```javascript
    -assert.equal(qs.stringify({ a: '' }), 'a=');
    -```
    -
    -Key with no values (such as an empty object or array) will return nothing:
    -
    -```javascript
    -assert.equal(qs.stringify({ a: [] }), '');
    -assert.equal(qs.stringify({ a: {} }), '');
    -assert.equal(qs.stringify({ a: [{}] }), '');
    -assert.equal(qs.stringify({ a: { b: []} }), '');
    -assert.equal(qs.stringify({ a: { b: {}} }), '');
    -```
    -
    -Properties that are set to `undefined` will be omitted entirely:
    -
    -```javascript
    -assert.equal(qs.stringify({ a: null, b: undefined }), 'a=');
    -```
    -
    -The query string may optionally be prepended with a question mark:
    -
    -```javascript
    -assert.equal(qs.stringify({ a: 'b', c: 'd' }, { addQueryPrefix: true }), '?a=b&c=d');
    -```
    -
    -The delimiter may be overridden with stringify as well:
    -
    -```javascript
    -assert.equal(qs.stringify({ a: 'b', c: 'd' }, { delimiter: ';' }), 'a=b;c=d');
    -```
    -
    -If you only want to override the serialization of `Date` objects, you can provide a `serializeDate` option:
    -
    -```javascript
    -var date = new Date(7);
    -assert.equal(qs.stringify({ a: date }), 'a=1970-01-01T00:00:00.007Z'.replace(/:/g, '%3A'));
    -assert.equal(
    -    qs.stringify({ a: date }, { serializeDate: function (d) { return d.getTime(); } }),
    -    'a=7'
    -);
    -```
    -
    -You may use the `sort` option to affect the order of parameter keys:
    -
    -```javascript
    -function alphabeticalSort(a, b) {
    -    return a.localeCompare(b);
    -}
    -assert.equal(qs.stringify({ a: 'c', z: 'y', b : 'f' }, { sort: alphabeticalSort }), 'a=c&b=f&z=y');
    -```
    -
    -Finally, you can use the `filter` option to restrict which keys will be included in the stringified output.
    -If you pass a function, it will be called for each key to obtain the replacement value. Otherwise, if you
    -pass an array, it will be used to select properties and array indices for stringification:
    -
    -```javascript
    -function filterFunc(prefix, value) {
    -    if (prefix == 'b') {
    -        // Return an `undefined` value to omit a property.
    -        return;
    -    }
    -    if (prefix == 'e[f]') {
    -        return value.getTime();
    -    }
    -    if (prefix == 'e[g][0]') {
    -        return value * 2;
    -    }
    -    return value;
    -}
    -qs.stringify({ a: 'b', c: 'd', e: { f: new Date(123), g: [2] } }, { filter: filterFunc });
    -// 'a=b&c=d&e[f]=123&e[g][0]=4'
    -qs.stringify({ a: 'b', c: 'd', e: 'f' }, { filter: ['a', 'e'] });
    -// 'a=b&e=f'
    -qs.stringify({ a: ['b', 'c', 'd'], e: 'f' }, { filter: ['a', 0, 2] });
    -// 'a[0]=b&a[2]=d'
    -```
    -
    -### Handling of `null` values
    -
    -By default, `null` values are treated like empty strings:
    -
    -```javascript
    -var withNull = qs.stringify({ a: null, b: '' });
    -assert.equal(withNull, 'a=&b=');
    -```
    -
    -Parsing does not distinguish between parameters with and without equal signs. Both are converted to empty strings.
    -
    -```javascript
    -var equalsInsensitive = qs.parse('a&b=');
    -assert.deepEqual(equalsInsensitive, { a: '', b: '' });
    -```
    -
    -To distinguish between `null` values and empty strings use the `strictNullHandling` flag. In the result string the `null`
    -values have no `=` sign:
    -
    -```javascript
    -var strictNull = qs.stringify({ a: null, b: '' }, { strictNullHandling: true });
    -assert.equal(strictNull, 'a&b=');
    -```
    -
    -To parse values without `=` back to `null` use the `strictNullHandling` flag:
    -
    -```javascript
    -var parsedStrictNull = qs.parse('a&b=', { strictNullHandling: true });
    -assert.deepEqual(parsedStrictNull, { a: null, b: '' });
    -```
    -
    -To completely skip rendering keys with `null` values, use the `skipNulls` flag:
    -
    -```javascript
    -var nullsSkipped = qs.stringify({ a: 'b', c: null}, { skipNulls: true });
    -assert.equal(nullsSkipped, 'a=b');
    -```
    -
    -### Dealing with special character sets
    -
    -By default the encoding and decoding of characters is done in `utf-8`. If you
    -wish to encode querystrings to a different character set (i.e.
    -[Shift JIS](https://en.wikipedia.org/wiki/Shift_JIS)) you can use the
    -[`qs-iconv`](https://github.com/martinheidegger/qs-iconv) library:
    -
    -```javascript
    -var encoder = require('qs-iconv/encoder')('shift_jis');
    -var shiftJISEncoded = qs.stringify({ a: 'こんにちは!' }, { encoder: encoder });
    -assert.equal(shiftJISEncoded, 'a=%82%B1%82%F1%82%C9%82%BF%82%CD%81I');
    -```
    -
    -This also works for decoding of query strings:
    -
    -```javascript
    -var decoder = require('qs-iconv/decoder')('shift_jis');
    -var obj = qs.parse('a=%82%B1%82%F1%82%C9%82%BF%82%CD%81I', { decoder: decoder });
    -assert.deepEqual(obj, { a: 'こんにちは!' });
    -```
    -
    -### RFC 3986 and RFC 1738 space encoding
    -
    -RFC3986 used as default option and encodes ' ' to *%20* which is backward compatible.
    -In the same time, output can be stringified as per RFC1738 with ' ' equal to '+'.
    -
    -```
    -assert.equal(qs.stringify({ a: 'b c' }), 'a=b%20c');
    -assert.equal(qs.stringify({ a: 'b c' }, { format : 'RFC3986' }), 'a=b%20c');
    -assert.equal(qs.stringify({ a: 'b c' }, { format : 'RFC1738' }), 'a=b+c');
    -```
    -
    -[1]: https://npmjs.org/package/qs
    -[2]: http://versionbadg.es/ljharb/qs.svg
    -[3]: https://api.travis-ci.org/ljharb/qs.svg
    -[4]: https://travis-ci.org/ljharb/qs
    -[5]: https://david-dm.org/ljharb/qs.svg
    -[6]: https://david-dm.org/ljharb/qs
    -[7]: https://david-dm.org/ljharb/qs/dev-status.svg
    -[8]: https://david-dm.org/ljharb/qs?type=dev
    -[9]: https://ci.testling.com/ljharb/qs.png
    -[10]: https://ci.testling.com/ljharb/qs
    -[11]: https://nodei.co/npm/qs.png?downloads=true&stars=true
    -[license-image]: http://img.shields.io/npm/l/qs.svg
    -[license-url]: LICENSE
    -[downloads-image]: http://img.shields.io/npm/dm/qs.svg
    -[downloads-url]: http://npm-stat.com/charts.html?package=qs
    diff --git a/deps/npm/node_modules/read-cmd-shim/README.md b/deps/npm/node_modules/read-cmd-shim/README.md
    deleted file mode 100644
    index 457e36e35fca55..00000000000000
    --- a/deps/npm/node_modules/read-cmd-shim/README.md
    +++ /dev/null
    @@ -1,36 +0,0 @@
    -# read-cmd-shim
    -
    -Figure out what a [`cmd-shim`](https://github.com/ForbesLindesay/cmd-shim)
    -is pointing at.  This acts as the equivalent of
    -[`fs.readlink`](https://nodejs.org/api/fs.html#fs_fs_readlink_path_callback).
    -
    -### Usage
    -
    -```
    -const readCmdShim = require('read-cmd-shim')
    -
    -readCmdShim('/path/to/shim.cmd').then(destination => {
    -  …
    -})
    -
    -const destination = readCmdShim.sync('/path/to/shim.cmd')
    -```
    -
    -### readCmdShim(path) -> Promise
    -
    -Reads the `cmd-shim` located at `path` and resolves with the _relative_
    -path that the shim points at. Consider this as roughly the equivalent of
    -`fs.readlink`.
    -
    -This can read both `.cmd` style that are run by the Windows Command Prompt
    -and Powershell, and the kind without any extension that are used by Cygwin.
    -
    -This can return errors that `fs.readFile` returns, except that they'll
    -include a stack trace from where `readCmdShim` was called.  Plus it can
    -return a special `ENOTASHIM` exception, when it can't find a cmd-shim in the
    -file referenced by `path`.  This should only happen if you pass in a
    -non-command shim.
    -
    -### readCmdShim.sync(path)
    -
    -Same as above but synchronous. Errors are thrown.
    diff --git a/deps/npm/node_modules/read-package-json-fast/README.md b/deps/npm/node_modules/read-package-json-fast/README.md
    deleted file mode 100644
    index 5ab6adbece8259..00000000000000
    --- a/deps/npm/node_modules/read-package-json-fast/README.md
    +++ /dev/null
    @@ -1,79 +0,0 @@
    -# read-package-json-fast
    -
    -Like [`read-package-json`](http://npm.im/read-package-json), but faster and
    -more accepting of "missing" data.
    -
    -This is only suitable for reading package.json files in a node_modules
    -tree, since it doesn't do the various cleanups, normalization, and warnings
    -that are beneficial at the root level in a package being published.
    -
    -## USAGE
    -
    -```js
    -const rpj = require('read-package-json-fast')
    -
    -// typical promisey type API
    -rpj('/path/to/package.json')
    -  .then(data => ...)
    -  .catch(er => ...)
    -
    -// or just normalize a package manifest
    -const normalized = rpj.normalize(packageJsonObject)
    -```
    -
    -Errors raised from parsing will use
    -[`json-parse-even-better-errors`](http://npm.im/json-parse-even-better-errors),
    -so they'll be of type `JSONParseError` and have a `code: 'EJSONPARSE'`
    -property.  Errors will also always have a `path` member referring to the
    -path originally passed into the function.
    -
    -## Indentation
    -
    -To preserve indentation when the file is saved back to disk, use
    -`data[Symbol.for('indent')]` as the third argument to `JSON.stringify`, and
    -if you want to preserve windows `\r\n` newlines, replace the `\n` chars in
    -the string with `data[Symbol.for('newline')]`.
    -
    -For example:
    -
    -```js
    -const data = await readPackageJsonFast('./package.json')
    -const indent = Symbol.for('indent')
    -const newline = Symbol.for('newline')
    -// .. do some stuff to the data ..
    -const string = JSON.stringify(data, null, data[indent]) + '\n'
    -const eolFixed = data[newline] === '\n' ? string
    -  : string.replace(/\n/g, data[newline])
    -await writeFile('./package.json', eolFixed)
    -```
    -
    -Indentation is determined by looking at the whitespace between the initial
    -`{` and the first `"` that follows it.  If you have lots of weird
    -inconsistent indentation, then it won't track that or give you any way to
    -preserve it.  Whether this is a bug or a feature is debatable ;)
    -
    -## WHAT THIS MODULE DOES
    -
    -- Parse JSON
    -- Normalize `bundledDependencies`/`bundleDependencies` naming to just
    -  `bundleDependencies` (without the extra `d`)
    -- Handle `true`, `false`, or object values passed to `bundleDependencies`
    -- Normalize `funding: ` to `funding: { url:  }`
    -- Remove any `scripts` members that are not a string value.
    -- Normalize a string `bin` member to `{ [name]: bin }`.
    -- Fold `optionalDependencies` into `dependencies`.
    -- Set the `_id` property if name and version are set.  (This is
    -  load-bearing in a few places within the npm CLI.)
    -
    -## WHAT THIS MODULE DOES NOT DO
    -
    -- Warn about invalid/missing name, version, repository, etc.
    -- Extract a description from the `README.md` file, or attach the readme to
    -  the parsed data object.
    -- Read the `HEAD` value out of the `.git` folder.
    -- Warn about potentially typo'ed scripts (eg, `tset` instead of `test`)
    -- Check to make sure that all the files in the `files` field exist and are
    -  valid files.
    -- Fix bundleDependencies that are not listed in `dependencies`.
    -- Fix `dependencies` fields that are not strictly objects of string values.
    -- Anything involving the `directories` field (ie, bins, mans, and so on).
    diff --git a/deps/npm/node_modules/read-package-json/CHANGELOG.md b/deps/npm/node_modules/read-package-json/CHANGELOG.md
    deleted file mode 100644
    index 929900482f110b..00000000000000
    --- a/deps/npm/node_modules/read-package-json/CHANGELOG.md
    +++ /dev/null
    @@ -1,61 +0,0 @@
    -# Change Log
    -
    -All notable changes to this project will be documented in this file. See [standard-version](https://github.com/conventional-changelog/standard-version) for commit guidelines.
    -
    -
    -## [3.0.1](https://github.com/npm/read-package-json/compare/v3.0.0...v3.0.1) (2021-02-22)
    -
    -
    -### Bug Fixes
    -
    -* Strip underscore prefixed fields from file contents ([ac771d8](https://github.com/npm/read-package-json/commit/ac771d8))
    -
    -
    -
    -
    -# [3.0.0](https://github.com/npm/read-package-json/compare/v2.1.2...v3.0.0) (2020-10-13)
    -
    -
    -### Bug Fixes
    -
    -* check-in updated lockfile ([19d9fbe](https://github.com/npm/read-package-json/commit/19d9fbe))
    -
    -
    -
    -
    -## [2.1.2](https://github.com/npm/read-package-json/compare/v2.1.1...v2.1.2) (2020-08-20)
    -
    -
    -### Bug Fixes
    -
    -* even better json errors, remove graceful-fs ([fdbf082](https://github.com/npm/read-package-json/commit/fdbf082))
    -
    -
    -
    -
    -## [2.1.1](https://github.com/npm/read-package-json/compare/v2.1.0...v2.1.1) (2019-12-09)
    -
    -
    -### Bug Fixes
    -
    -* normalize and sanitize pkg bin entries ([b8cb5fa](https://github.com/npm/read-package-json/commit/b8cb5fa))
    -
    -
    -
    -
    -# [2.1.0](https://github.com/npm/read-package-json/compare/v2.0.13...v2.1.0) (2019-08-13)
    -
    -
    -### Features
    -
    -* support bundleDependencies: true ([76f6f42](https://github.com/npm/read-package-json/commit/76f6f42))
    -
    -
    -
    -
    -## [2.0.13](https://github.com/npm/read-package-json/compare/v2.0.12...v2.0.13) (2018-03-08)
    -
    -
    -### Bug Fixes
    -
    -* **git:** support git packed refs --all mode ([#77](https://github.com/npm/read-package-json/issues/77)) ([1869940](https://github.com/npm/read-package-json/commit/1869940))
    diff --git a/deps/npm/node_modules/read-package-json/README.md b/deps/npm/node_modules/read-package-json/README.md
    deleted file mode 100644
    index da1f63dc8828bf..00000000000000
    --- a/deps/npm/node_modules/read-package-json/README.md
    +++ /dev/null
    @@ -1,151 +0,0 @@
    -# read-package-json
    -
    -This is the thing that npm uses to read package.json files.  It
    -validates some stuff, and loads some default things.
    -
    -It keeps a cache of the files you've read, so that you don't end
    -up reading the same package.json file multiple times.
    -
    -Note that if you just want to see what's literally in the package.json
    -file, you can usually do `var data = require('some-module/package.json')`.
    -
    -This module is basically only needed by npm, but it's handy to see what
    -npm will see when it looks at your package.
    -
    -## Usage
    -
    -```javascript
    -var readJson = require('read-package-json')
    -
    -// readJson(filename, [logFunction=noop], [strict=false], cb)
    -readJson('/path/to/package.json', console.error, false, function (er, data) {
    -  if (er) {
    -    console.error("There was an error reading the file")
    -    return
    -  }
    -
    -  console.error('the package data is', data)
    -});
    -```
    -
    -## readJson(file, [logFn = noop], [strict = false], cb)
    -
    -* `file` {String} The path to the package.json file
    -* `logFn` {Function} Function to handle logging.  Defaults to a noop.
    -* `strict` {Boolean} True to enforce SemVer 2.0 version strings, and
    -  other strict requirements.
    -* `cb` {Function} Gets called with `(er, data)`, as is The Node Way.
    -
    -Reads the JSON file and does the things.
    -
    -## `package.json` Fields
    -
    -See `man 5 package.json` or `npm help json`.
    -
    -## readJson.log
    -
    -By default this is a reference to the `npmlog` module.  But if that
    -module can't be found, then it'll be set to just a dummy thing that does
    -nothing.
    -
    -Replace with your own `{log,warn,error}` object for fun loggy time.
    -
    -## readJson.extras(file, data, cb)
    -
    -Run all the extra stuff relative to the file, with the parsed data.
    -
    -Modifies the data as it does stuff.  Calls the cb when it's done.
    -
    -## readJson.extraSet = [fn, fn, ...]
    -
    -Array of functions that are called by `extras`.  Each one receives the
    -arguments `fn(file, data, cb)` and is expected to call `cb(er, data)`
    -when done or when an error occurs.
    -
    -Order is indeterminate, so each function should be completely
    -independent.
    -
    -Mix and match!
    -
    -## Other Relevant Files Besides `package.json`
    -
    -Some other files have an effect on the resulting data object, in the
    -following ways:
    -
    -### `README?(.*)`
    -
    -If there is a `README` or `README.*` file present, then npm will attach
    -a `readme` field to the data with the contents of this file.
    -
    -Owing to the fact that roughly 100% of existing node modules have
    -Markdown README files, it will generally be assumed to be Markdown,
    -regardless of the extension.  Please plan accordingly.
    -
    -### `server.js`
    -
    -If there is a `server.js` file, and there is not already a
    -`scripts.start` field, then `scripts.start` will be set to `node
    -server.js`.
    -
    -### `AUTHORS`
    -
    -If there is not already a `contributors` field, then the `contributors`
    -field will be set to the contents of the `AUTHORS` file, split by lines,
    -and parsed.
    -
    -### `bindings.gyp`
    -
    -If a bindings.gyp file exists, and there is not already a
    -`scripts.install` field, then the `scripts.install` field will be set to
    -`node-gyp rebuild`.
    -
    -### `index.js`
    -
    -If the json file does not exist, but there is a `index.js` file
    -present instead, and that file has a package comment, then it will try
    -to parse the package comment, and use that as the data instead.
    -
    -A package comment looks like this:
    -
    -```javascript
    -/**package
    - * { "name": "my-bare-module"
    - * , "version": "1.2.3"
    - * , "description": "etc...." }
    - **/
    -
    -// or...
    -
    -/**package
    -{ "name": "my-bare-module"
    -, "version": "1.2.3"
    -, "description": "etc...." }
    -**/
    -```
    -
    -The important thing is that it starts with `/**package`, and ends with
    -`**/`.  If the package.json file exists, then the index.js is not
    -parsed.
    -
    -### `{directories.man}/*.[0-9]`
    -
    -If there is not already a `man` field defined as an array of files or a
    -single file, and
    -there is a `directories.man` field defined, then that directory will
    -be searched for manpages.
    -
    -Any valid manpages found in that directory will be assigned to the `man`
    -array, and installed in the appropriate man directory at package install
    -time, when installed globally on a Unix system.
    -
    -### `{directories.bin}/*`
    -
    -If there is not already a `bin` field defined as a string filename or a
    -hash of ` : ` pairs, then the `directories.bin`
    -directory will be searched and all the files within it will be linked as
    -executables at install time.
    -
    -When installing locally, npm links bins into `node_modules/.bin`, which
    -is in the `PATH` environ when npm runs scripts.  When
    -installing globally, they are linked into `{prefix}/bin`, which is
    -presumably in the `PATH` environment variable.
    diff --git a/deps/npm/node_modules/read/README.md b/deps/npm/node_modules/read/README.md
    deleted file mode 100644
    index 5967fad1180248..00000000000000
    --- a/deps/npm/node_modules/read/README.md
    +++ /dev/null
    @@ -1,53 +0,0 @@
    -## read
    -
    -For reading user input from stdin.
    -
    -Similar to the `readline` builtin's `question()` method, but with a
    -few more features.
    -
    -## USAGE
    -
    -```javascript
    -var read = require("read")
    -read(options, callback)
    -```
    -
    -The callback gets called with either the user input, or the default
    -specified, or an error, as `callback(error, result, isDefault)`
    -node style.
    -
    -## OPTIONS
    -
    -Every option is optional.
    -
    -* `prompt` What to write to stdout before reading input.
    -* `silent` Don't echo the output as the user types it.
    -* `replace` Replace silenced characters with the supplied character value.
    -* `timeout` Number of ms to wait for user input before giving up.
    -* `default` The default value if the user enters nothing.
    -* `edit` Allow the user to edit the default value.
    -* `terminal` Treat the output as a TTY, whether it is or not.
    -* `input` Readable stream to get input data from. (default `process.stdin`)
    -* `output` Writeable stream to write prompts to. (default: `process.stdout`)
    -
    -If silent is true, and the input is a TTY, then read will set raw
    -mode, and read character by character.
    -
    -## COMPATIBILITY
    -
    -This module works sort of with node 0.6.  It does not work with node
    -versions less than 0.6.  It is best on node 0.8.
    -
    -On node version 0.6, it will remove all listeners on the input
    -stream's `data` and `keypress` events, because the readline module did
    -not fully clean up after itself in that version of node, and did not
    -make it possible to clean up after it in a way that has no potential
    -for side effects.
    -
    -Additionally, some of the readline options (like `terminal`) will not
    -function in versions of node before 0.8, because they were not
    -implemented in the builtin readline module.
    -
    -## CONTRIBUTING
    -
    -Patches welcome.
    diff --git a/deps/npm/node_modules/readable-stream/.travis.yml b/deps/npm/node_modules/readable-stream/.travis.yml
    deleted file mode 100644
    index f62cdac0686da6..00000000000000
    --- a/deps/npm/node_modules/readable-stream/.travis.yml
    +++ /dev/null
    @@ -1,34 +0,0 @@
    -sudo: false
    -language: node_js
    -before_install:
    -  - (test $NPM_LEGACY && npm install -g npm@2 && npm install -g npm@3) || true
    -notifications:
    -  email: false
    -matrix:
    -  fast_finish: true
    -  include:
    -  - node_js: '0.8'
    -    env: NPM_LEGACY=true
    -  - node_js: '0.10'
    -    env: NPM_LEGACY=true
    -  - node_js: '0.11'
    -    env: NPM_LEGACY=true
    -  - node_js: '0.12'
    -    env: NPM_LEGACY=true
    -  - node_js: 1
    -    env: NPM_LEGACY=true
    -  - node_js: 2
    -    env: NPM_LEGACY=true
    -  - node_js: 3
    -    env: NPM_LEGACY=true
    -  - node_js: 4
    -  - node_js: 5
    -  - node_js: 6
    -  - node_js: 7
    -  - node_js: 8
    -  - node_js: 9
    -script: "npm run test"
    -env:
    -  global:
    -  - secure: rE2Vvo7vnjabYNULNyLFxOyt98BoJexDqsiOnfiD6kLYYsiQGfr/sbZkPMOFm9qfQG7pjqx+zZWZjGSswhTt+626C0t/njXqug7Yps4c3dFblzGfreQHp7wNX5TFsvrxd6dAowVasMp61sJcRnB2w8cUzoe3RAYUDHyiHktwqMc=
    -  - secure: g9YINaKAdMatsJ28G9jCGbSaguXCyxSTy+pBO6Ch0Cf57ZLOTka3HqDj8p3nV28LUIHZ3ut5WO43CeYKwt4AUtLpBS3a0dndHdY6D83uY6b2qh5hXlrcbeQTq2cvw2y95F7hm4D1kwrgZ7ViqaKggRcEupAL69YbJnxeUDKWEdI=
    diff --git a/deps/npm/node_modules/readable-stream/README.md b/deps/npm/node_modules/readable-stream/README.md
    deleted file mode 100644
    index 23fe3f3e3009a2..00000000000000
    --- a/deps/npm/node_modules/readable-stream/README.md
    +++ /dev/null
    @@ -1,58 +0,0 @@
    -# readable-stream
    -
    -***Node-core v8.11.1 streams for userland*** [![Build Status](https://travis-ci.org/nodejs/readable-stream.svg?branch=master)](https://travis-ci.org/nodejs/readable-stream)
    -
    -
    -[![NPM](https://nodei.co/npm/readable-stream.png?downloads=true&downloadRank=true)](https://nodei.co/npm/readable-stream/)
    -[![NPM](https://nodei.co/npm-dl/readable-stream.png?&months=6&height=3)](https://nodei.co/npm/readable-stream/)
    -
    -
    -[![Sauce Test Status](https://saucelabs.com/browser-matrix/readable-stream.svg)](https://saucelabs.com/u/readable-stream)
    -
    -```bash
    -npm install --save readable-stream
    -```
    -
    -***Node-core streams for userland***
    -
    -This package is a mirror of the Streams2 and Streams3 implementations in
    -Node-core.
    -
    -Full documentation may be found on the [Node.js website](https://nodejs.org/dist/v8.11.1/docs/api/stream.html).
    -
    -If you want to guarantee a stable streams base, regardless of what version of
    -Node you, or the users of your libraries are using, use **readable-stream** *only* and avoid the *"stream"* module in Node-core, for background see [this blogpost](http://r.va.gg/2014/06/why-i-dont-use-nodes-core-stream-module.html).
    -
    -As of version 2.0.0 **readable-stream** uses semantic versioning.
    -
    -# Streams Working Group
    -
    -`readable-stream` is maintained by the Streams Working Group, which
    -oversees the development and maintenance of the Streams API within
    -Node.js. The responsibilities of the Streams Working Group include:
    -
    -* Addressing stream issues on the Node.js issue tracker.
    -* Authoring and editing stream documentation within the Node.js project.
    -* Reviewing changes to stream subclasses within the Node.js project.
    -* Redirecting changes to streams from the Node.js project to this
    -  project.
    -* Assisting in the implementation of stream providers within Node.js.
    -* Recommending versions of `readable-stream` to be included in Node.js.
    -* Messaging about the future of streams to give the community advance
    -  notice of changes.
    -
    -
    -## Team Members
    -
    -* **Chris Dickinson** ([@chrisdickinson](https://github.com/chrisdickinson)) <christopher.s.dickinson@gmail.com>
    -  - Release GPG key: 9554F04D7259F04124DE6B476D5A82AC7E37093B
    -* **Calvin Metcalf** ([@calvinmetcalf](https://github.com/calvinmetcalf)) <calvin.metcalf@gmail.com>
    -  - Release GPG key: F3EF5F62A87FC27A22E643F714CE4FF5015AA242
    -* **Rod Vagg** ([@rvagg](https://github.com/rvagg)) <rod@vagg.org>
    -  - Release GPG key: DD8F2338BAE7501E3DD5AC78C273792F7D83545D
    -* **Sam Newman** ([@sonewman](https://github.com/sonewman)) <newmansam@outlook.com>
    -* **Mathias Buus** ([@mafintosh](https://github.com/mafintosh)) <mathiasbuus@gmail.com>
    -* **Domenic Denicola** ([@domenic](https://github.com/domenic)) <d@domenic.me>
    -* **Matteo Collina** ([@mcollina](https://github.com/mcollina)) <matteo.collina@gmail.com>
    -  - Release GPG key: 3ABC01543F22DD2239285CDD818674489FBC127E
    -* **Irina Shestak** ([@lrlna](https://github.com/lrlna)) <shestak.irina@gmail.com>
    diff --git a/deps/npm/node_modules/readdir-scoped-modules/README.md b/deps/npm/node_modules/readdir-scoped-modules/README.md
    deleted file mode 100644
    index ade57a186dc73a..00000000000000
    --- a/deps/npm/node_modules/readdir-scoped-modules/README.md
    +++ /dev/null
    @@ -1,17 +0,0 @@
    -# readdir-scoped-modules
    -
    -Like `fs.readdir` but handling `@org/module` dirs as if they were
    -a single entry.
    -
    -Used by npm.
    -
    -## USAGE
    -
    -```javascript
    -var readdir = require('readdir-scoped-modules')
    -
    -readdir('node_modules', function (er, entries) {
    -  // entries will be something like
    -  // ['a', '@org/foo', '@org/bar']
    -})
    -```
    diff --git a/deps/npm/node_modules/request/CHANGELOG.md b/deps/npm/node_modules/request/CHANGELOG.md
    deleted file mode 100644
    index d3ffcd00d2e623..00000000000000
    --- a/deps/npm/node_modules/request/CHANGELOG.md
    +++ /dev/null
    @@ -1,717 +0,0 @@
    -## Change Log
    -
    -### v2.88.0 (2018/08/10)
    -- [#2996](https://github.com/request/request/pull/2996) fix(uuid): import versioned uuid (@kwonoj)
    -- [#2994](https://github.com/request/request/pull/2994) Update to oauth-sign 0.9.0 (@dlecocq)
    -- [#2993](https://github.com/request/request/pull/2993) Fix header tests (@simov)
    -- [#2904](https://github.com/request/request/pull/2904) #515, #2894 Strip port suffix from Host header if the protocol is known. (#2904) (@paambaati)
    -- [#2791](https://github.com/request/request/pull/2791) Improve AWS SigV4 support. (#2791) (@vikhyat)
    -- [#2977](https://github.com/request/request/pull/2977) Update test certificates (@simov)
    -
    -### v2.87.0 (2018/05/21)
    -- [#2943](https://github.com/request/request/pull/2943) Replace hawk dependency with a local implemenation (#2943) (@hueniverse)
    -
    -### v2.86.0 (2018/05/15)
    -- [#2885](https://github.com/request/request/pull/2885) Remove redundant code (for Node.js 0.9.4 and below) and dependency (@ChALkeR)
    -- [#2942](https://github.com/request/request/pull/2942) Make Test GREEN Again! (@simov)
    -- [#2923](https://github.com/request/request/pull/2923) Alterations for failing CI tests (@gareth-robinson)
    -
    -### v2.85.0 (2018/03/12)
    -- [#2880](https://github.com/request/request/pull/2880) Revert "Update hawk to 7.0.7 (#2880)" (@simov)
    -
    -### v2.84.0 (2018/03/12)
    -- [#2793](https://github.com/request/request/pull/2793) Fixed calculation of oauth_body_hash, issue #2792 (@dvishniakov)
    -- [#2880](https://github.com/request/request/pull/2880) Update hawk to 7.0.7 (#2880) (@kornel-kedzierski)
    -
    -### v2.83.0 (2017/09/27)
    -- [#2776](https://github.com/request/request/pull/2776) Updating tough-cookie due to security fix. (#2776) (@karlnorling)
    -
    -### v2.82.0 (2017/09/19)
    -- [#2703](https://github.com/request/request/pull/2703) Add Node.js v8 to Travis CI (@ryysud)
    -- [#2751](https://github.com/request/request/pull/2751) Update of hawk and qs to latest version (#2751) (@Olivier-Moreau)
    -- [#2658](https://github.com/request/request/pull/2658) Fixed some text in README.md (#2658) (@Marketionist)
    -- [#2635](https://github.com/request/request/pull/2635) chore(package): update aws-sign2 to version 0.7.0 (#2635) (@greenkeeperio-bot)
    -- [#2641](https://github.com/request/request/pull/2641) Update README to simplify & update convenience methods (#2641) (@FredKSchott)
    -- [#2541](https://github.com/request/request/pull/2541) Add convenience method for HTTP OPTIONS (#2541) (@jamesseanwright)
    -- [#2605](https://github.com/request/request/pull/2605) Add promise support section to README (#2605) (@FredKSchott)
    -- [#2579](https://github.com/request/request/pull/2579) refactor(lint): replace eslint with standard (#2579) (@ahmadnassri)
    -- [#2598](https://github.com/request/request/pull/2598) Update codecov to version 2.0.2 🚀 (@greenkeeperio-bot)
    -- [#2590](https://github.com/request/request/pull/2590) Adds test-timing keepAlive test (@nicjansma)
    -- [#2589](https://github.com/request/request/pull/2589) fix tabulation on request example README.MD (@odykyi)
    -- [#2594](https://github.com/request/request/pull/2594) chore(dependencies): har-validator to 5.x [removes babel dep] (@ahmadnassri)
    -
    -### v2.81.0 (2017/03/09)
    -- [#2584](https://github.com/request/request/pull/2584) Security issue: Upgrade qs to version 6.4.0 (@sergejmueller)
    -- [#2578](https://github.com/request/request/pull/2578) safe-buffer doesn't zero-fill by default, its just a polyfill. (#2578) (@mikeal)
    -- [#2566](https://github.com/request/request/pull/2566) Timings: Tracks 'lookup', adds 'wait' time, fixes connection re-use (#2566) (@nicjansma)
    -- [#2574](https://github.com/request/request/pull/2574) Migrating to safe-buffer for improved security. (@mikeal)
    -- [#2573](https://github.com/request/request/pull/2573) fixes #2572 (@ahmadnassri)
    -
    -### v2.80.0 (2017/03/04)
    -- [#2571](https://github.com/request/request/pull/2571) Correctly format the Host header for IPv6 addresses (@JamesMGreene)
    -- [#2558](https://github.com/request/request/pull/2558) Update README.md example snippet (@FredKSchott)
    -- [#2221](https://github.com/request/request/pull/2221) Adding a simple Response object reference in argument specification (@calamarico)
    -- [#2452](https://github.com/request/request/pull/2452) Adds .timings array with DNC, TCP, request and response times (@nicjansma)
    -- [#2553](https://github.com/request/request/pull/2553) add ISSUE_TEMPLATE, move PR template (@FredKSchott)
    -- [#2539](https://github.com/request/request/pull/2539) Create PULL_REQUEST_TEMPLATE.md (@FredKSchott)
    -- [#2524](https://github.com/request/request/pull/2524) Update caseless to version 0.12.0 🚀 (@greenkeeperio-bot)
    -- [#2460](https://github.com/request/request/pull/2460) Fix wrong MIME type in example (@OwnageIsMagic)
    -- [#2514](https://github.com/request/request/pull/2514) Change tags to keywords in package.json (@humphd)
    -- [#2492](https://github.com/request/request/pull/2492) More lenient gzip decompression (@addaleax)
    -
    -### v2.79.0 (2016/11/18)
    -- [#2368](https://github.com/request/request/pull/2368) Fix typeof check in test-pool.js (@forivall)
    -- [#2394](https://github.com/request/request/pull/2394) Use `files` in package.json (@SimenB)
    -- [#2463](https://github.com/request/request/pull/2463) AWS support for session tokens for temporary credentials (@simov)
    -- [#2467](https://github.com/request/request/pull/2467) Migrate to uuid (@simov, @antialias)
    -- [#2459](https://github.com/request/request/pull/2459) Update taper to version 0.5.0 🚀 (@greenkeeperio-bot)
    -- [#2448](https://github.com/request/request/pull/2448) Make other connect timeout test more reliable too (@mscdex)
    -
    -### v2.78.0 (2016/11/03)
    -- [#2447](https://github.com/request/request/pull/2447) Always set request timeout on keep-alive connections (@mscdex)
    -
    -### v2.77.0 (2016/11/03)
    -- [#2439](https://github.com/request/request/pull/2439) Fix socket 'connect' listener handling (@mscdex)
    -- [#2442](https://github.com/request/request/pull/2442) 👻😱 Node.js 0.10 is unmaintained 😱👻 (@greenkeeperio-bot)
    -- [#2435](https://github.com/request/request/pull/2435) Add followOriginalHttpMethod to redirect to original HTTP method (@kirrg001)
    -- [#2414](https://github.com/request/request/pull/2414) Improve test-timeout reliability (@mscdex)
    -
    -### v2.76.0 (2016/10/25)
    -- [#2424](https://github.com/request/request/pull/2424) Handle buffers directly instead of using "bl" (@zertosh)
    -- [#2415](https://github.com/request/request/pull/2415) Re-enable timeout tests on Travis + other fixes (@mscdex)
    -- [#2431](https://github.com/request/request/pull/2431) Improve timeouts accuracy and node v6.8.0+ compatibility (@mscdex, @greenkeeperio-bot)
    -- [#2428](https://github.com/request/request/pull/2428) Update qs to version 6.3.0 🚀 (@greenkeeperio-bot)
    -- [#2420](https://github.com/request/request/pull/2420) change .on to .once, remove possible memory leaks (@duereg)
    -- [#2426](https://github.com/request/request/pull/2426) Remove "isFunction" helper in favor of "typeof" check (@zertosh)
    -- [#2425](https://github.com/request/request/pull/2425) Simplify "defer" helper creation (@zertosh)
    -- [#2402](https://github.com/request/request/pull/2402) form-data@2.1.1 breaks build 🚨 (@greenkeeperio-bot)
    -- [#2393](https://github.com/request/request/pull/2393) Update form-data to version 2.1.0 🚀 (@greenkeeperio-bot)
    -
    -### v2.75.0 (2016/09/17)
    -- [#2381](https://github.com/request/request/pull/2381) Drop support for Node 0.10 (@simov)
    -- [#2377](https://github.com/request/request/pull/2377) Update form-data to version 2.0.0 🚀 (@greenkeeperio-bot)
    -- [#2353](https://github.com/request/request/pull/2353) Add greenkeeper ignored packages (@simov)
    -- [#2351](https://github.com/request/request/pull/2351) Update karma-tap to version 3.0.1 🚀 (@greenkeeperio-bot)
    -- [#2348](https://github.com/request/request/pull/2348) form-data@1.0.1 breaks build 🚨 (@greenkeeperio-bot)
    -- [#2349](https://github.com/request/request/pull/2349) Check error type instead of string (@scotttrinh)
    -
    -### v2.74.0 (2016/07/22)
    -- [#2295](https://github.com/request/request/pull/2295) Update tough-cookie to 2.3.0 (@stash-sfdc)
    -- [#2280](https://github.com/request/request/pull/2280) Update karma-tap to version 2.0.1 🚀 (@greenkeeperio-bot)
    -
    -### v2.73.0 (2016/07/09)
    -- [#2240](https://github.com/request/request/pull/2240) Remove connectionErrorHandler to fix #1903 (@zarenner)
    -- [#2251](https://github.com/request/request/pull/2251) tape@4.6.0 breaks build 🚨 (@greenkeeperio-bot)
    -- [#2225](https://github.com/request/request/pull/2225) Update docs (@ArtskydJ)
    -- [#2203](https://github.com/request/request/pull/2203) Update browserify to version 13.0.1 🚀 (@greenkeeperio-bot)
    -- [#2275](https://github.com/request/request/pull/2275) Update karma to version 1.1.1 🚀 (@greenkeeperio-bot)
    -- [#2204](https://github.com/request/request/pull/2204) Add codecov.yml and disable PR comments (@simov)
    -- [#2212](https://github.com/request/request/pull/2212) Fix link to http.IncomingMessage documentation (@nazieb)
    -- [#2208](https://github.com/request/request/pull/2208) Update to form-data RC4 and pass null values to it (@simov)
    -- [#2207](https://github.com/request/request/pull/2207) Move aws4 require statement to the top (@simov)
    -- [#2199](https://github.com/request/request/pull/2199) Update karma-coverage to version 1.0.0 🚀 (@greenkeeperio-bot)
    -- [#2206](https://github.com/request/request/pull/2206) Update qs to version 6.2.0 🚀 (@greenkeeperio-bot)
    -- [#2205](https://github.com/request/request/pull/2205) Use server-destory to close hanging sockets in tests (@simov)
    -- [#2200](https://github.com/request/request/pull/2200) Update karma-cli to version 1.0.0 🚀 (@greenkeeperio-bot)
    -
    -### v2.72.0 (2016/04/17)
    -- [#2176](https://github.com/request/request/pull/2176) Do not try to pipe Gzip responses with no body (@simov)
    -- [#2175](https://github.com/request/request/pull/2175) Add 'delete' alias for the 'del' API method (@simov, @MuhanZou)
    -- [#2172](https://github.com/request/request/pull/2172) Add support for deflate content encoding (@czardoz)
    -- [#2169](https://github.com/request/request/pull/2169) Add callback option (@simov)
    -- [#2165](https://github.com/request/request/pull/2165) Check for self.req existence inside the write method (@simov)
    -- [#2167](https://github.com/request/request/pull/2167) Fix TravisCI badge reference master branch (@a0viedo)
    -
    -### v2.71.0 (2016/04/12)
    -- [#2164](https://github.com/request/request/pull/2164) Catch errors from the underlying http module (@simov)
    -
    -### v2.70.0 (2016/04/05)
    -- [#2147](https://github.com/request/request/pull/2147) Update eslint to version 2.5.3 🚀 (@simov, @greenkeeperio-bot)
    -- [#2009](https://github.com/request/request/pull/2009) Support JSON stringify replacer argument. (@elyobo)
    -- [#2142](https://github.com/request/request/pull/2142) Update eslint to version 2.5.1 🚀 (@greenkeeperio-bot)
    -- [#2128](https://github.com/request/request/pull/2128) Update browserify-istanbul to version 2.0.0 🚀 (@greenkeeperio-bot)
    -- [#2115](https://github.com/request/request/pull/2115) Update eslint to version 2.3.0 🚀 (@simov, @greenkeeperio-bot)
    -- [#2089](https://github.com/request/request/pull/2089) Fix badges (@simov)
    -- [#2092](https://github.com/request/request/pull/2092) Update browserify-istanbul to version 1.0.0 🚀 (@greenkeeperio-bot)
    -- [#2079](https://github.com/request/request/pull/2079) Accept read stream as body option (@simov)
    -- [#2070](https://github.com/request/request/pull/2070) Update bl to version 1.1.2 🚀 (@greenkeeperio-bot)
    -- [#2063](https://github.com/request/request/pull/2063) Up bluebird and oauth-sign (@simov)
    -- [#2058](https://github.com/request/request/pull/2058) Karma fixes for latest versions (@eiriksm)
    -- [#2057](https://github.com/request/request/pull/2057) Update contributing guidelines (@simov)
    -- [#2054](https://github.com/request/request/pull/2054) Update qs to version 6.1.0 🚀 (@greenkeeperio-bot)
    -
    -### v2.69.0 (2016/01/27)
    -- [#2041](https://github.com/request/request/pull/2041) restore aws4 as regular dependency (@rmg)
    -
    -### v2.68.0 (2016/01/27)
    -- [#2036](https://github.com/request/request/pull/2036) Add AWS Signature Version 4 (@simov, @mirkods)
    -- [#2022](https://github.com/request/request/pull/2022) Convert numeric multipart bodies to string (@simov, @feross)
    -- [#2024](https://github.com/request/request/pull/2024) Update har-validator dependency for nsp advisory #76 (@TylerDixon)
    -- [#2016](https://github.com/request/request/pull/2016) Update qs to version 6.0.2 🚀 (@greenkeeperio-bot)
    -- [#2007](https://github.com/request/request/pull/2007) Use the `extend` module instead of util._extend (@simov)
    -- [#2003](https://github.com/request/request/pull/2003) Update browserify to version 13.0.0 🚀 (@greenkeeperio-bot)
    -- [#1989](https://github.com/request/request/pull/1989) Update buffer-equal to version 1.0.0 🚀 (@greenkeeperio-bot)
    -- [#1956](https://github.com/request/request/pull/1956) Check form-data content-length value before setting up the header (@jongyoonlee)
    -- [#1958](https://github.com/request/request/pull/1958) Use IncomingMessage.destroy method (@simov)
    -- [#1952](https://github.com/request/request/pull/1952) Adds example for Tor proxy (@prometheansacrifice)
    -- [#1943](https://github.com/request/request/pull/1943) Update eslint to version 1.10.3 🚀 (@simov, @greenkeeperio-bot)
    -- [#1924](https://github.com/request/request/pull/1924) Update eslint to version 1.10.1 🚀 (@greenkeeperio-bot)
    -- [#1915](https://github.com/request/request/pull/1915) Remove content-length and transfer-encoding headers from defaultProxyHeaderWhiteList (@yaxia)
    -
    -### v2.67.0 (2015/11/19)
    -- [#1913](https://github.com/request/request/pull/1913) Update http-signature to version 1.1.0 🚀 (@greenkeeperio-bot)
    -
    -### v2.66.0 (2015/11/18)
    -- [#1906](https://github.com/request/request/pull/1906) Update README URLs based on HTTP redirects (@ReadmeCritic)
    -- [#1905](https://github.com/request/request/pull/1905) Convert typed arrays into regular buffers (@simov)
    -- [#1902](https://github.com/request/request/pull/1902) node-uuid@1.4.7 breaks build 🚨 (@greenkeeperio-bot)
    -- [#1894](https://github.com/request/request/pull/1894) Fix tunneling after redirection from https (Original: #1881) (@simov, @falms)
    -- [#1893](https://github.com/request/request/pull/1893) Update eslint to version 1.9.0 🚀 (@greenkeeperio-bot)
    -- [#1852](https://github.com/request/request/pull/1852) Update eslint to version 1.7.3 🚀 (@simov, @greenkeeperio-bot, @paulomcnally, @michelsalib, @arbaaz, @nsklkn, @LoicMahieu, @JoshWillik, @jzaefferer, @ryanwholey, @djchie, @thisconnect, @mgenereu, @acroca, @Sebmaster, @KoltesDigital)
    -- [#1876](https://github.com/request/request/pull/1876) Implement loose matching for har mime types (@simov)
    -- [#1875](https://github.com/request/request/pull/1875) Update bluebird to version 3.0.2 🚀 (@simov, @greenkeeperio-bot)
    -- [#1871](https://github.com/request/request/pull/1871) Update browserify to version 12.0.1 🚀 (@greenkeeperio-bot)
    -- [#1866](https://github.com/request/request/pull/1866) Add missing quotes on x-token property in README (@miguelmota)
    -- [#1874](https://github.com/request/request/pull/1874) Fix typo in README.md (@gswalden)
    -- [#1860](https://github.com/request/request/pull/1860) Improve referer header tests and docs (@simov)
    -- [#1861](https://github.com/request/request/pull/1861) Remove redundant call to Stream constructor (@watson)
    -- [#1857](https://github.com/request/request/pull/1857) Fix Referer header to point to the original host name (@simov)
    -- [#1850](https://github.com/request/request/pull/1850) Update karma-coverage to version 0.5.3 🚀 (@greenkeeperio-bot)
    -- [#1847](https://github.com/request/request/pull/1847) Use node's latest version when building (@simov)
    -- [#1836](https://github.com/request/request/pull/1836) Tunnel: fix wrong property name (@KoltesDigital)
    -- [#1820](https://github.com/request/request/pull/1820) Set href as request.js uses it (@mgenereu)
    -- [#1840](https://github.com/request/request/pull/1840) Update http-signature to version 1.0.2 🚀 (@greenkeeperio-bot)
    -- [#1845](https://github.com/request/request/pull/1845) Update istanbul to version 0.4.0 🚀 (@greenkeeperio-bot)
    -
    -### v2.65.0 (2015/10/11)
    -- [#1833](https://github.com/request/request/pull/1833) Update aws-sign2 to version 0.6.0 🚀 (@greenkeeperio-bot)
    -- [#1811](https://github.com/request/request/pull/1811) Enable loose cookie parsing in tough-cookie (@Sebmaster)
    -- [#1830](https://github.com/request/request/pull/1830) Bring back tilde ranges for all dependencies (@simov)
    -- [#1821](https://github.com/request/request/pull/1821) Implement support for RFC 2617 MD5-sess algorithm. (@BigDSK)
    -- [#1828](https://github.com/request/request/pull/1828) Updated qs dependency to 5.2.0 (@acroca)
    -- [#1818](https://github.com/request/request/pull/1818) Extract `readResponseBody` method out of `onRequestResponse` (@pvoisin)
    -- [#1819](https://github.com/request/request/pull/1819) Run stringify once (@mgenereu)
    -- [#1814](https://github.com/request/request/pull/1814) Updated har-validator to version 2.0.2 (@greenkeeperio-bot)
    -- [#1807](https://github.com/request/request/pull/1807) Updated tough-cookie to version 2.1.0 (@greenkeeperio-bot)
    -- [#1800](https://github.com/request/request/pull/1800) Add caret ranges for devDependencies, except eslint (@simov)
    -- [#1799](https://github.com/request/request/pull/1799) Updated karma-browserify to version 4.4.0 (@greenkeeperio-bot)
    -- [#1797](https://github.com/request/request/pull/1797) Updated tape to version 4.2.0 (@greenkeeperio-bot)
    -- [#1788](https://github.com/request/request/pull/1788) Pinned all dependencies (@greenkeeperio-bot)
    -
    -### v2.64.0 (2015/09/25)
    -- [#1787](https://github.com/request/request/pull/1787) npm ignore examples, release.sh and disabled.appveyor.yml (@thisconnect)
    -- [#1775](https://github.com/request/request/pull/1775) Fix typo in README.md (@djchie)
    -- [#1776](https://github.com/request/request/pull/1776) Changed word 'conjuction' to read 'conjunction' in README.md (@ryanwholey)
    -- [#1785](https://github.com/request/request/pull/1785) Revert: Set default application/json content-type when using json option #1772 (@simov)
    -
    -### v2.63.0 (2015/09/21)
    -- [#1772](https://github.com/request/request/pull/1772) Set default application/json content-type when using json option (@jzaefferer)
    -
    -### v2.62.0 (2015/09/15)
    -- [#1768](https://github.com/request/request/pull/1768) Add node 4.0 to the list of build targets (@simov)
    -- [#1767](https://github.com/request/request/pull/1767) Query strings now cooperate with unix sockets (@JoshWillik)
    -- [#1750](https://github.com/request/request/pull/1750) Revert doc about installation of tough-cookie added in #884 (@LoicMahieu)
    -- [#1746](https://github.com/request/request/pull/1746) Missed comma in Readme (@nsklkn)
    -- [#1743](https://github.com/request/request/pull/1743) Fix options not being initialized in defaults method (@simov)
    -
    -### v2.61.0 (2015/08/19)
    -- [#1721](https://github.com/request/request/pull/1721) Minor fix in README.md (@arbaaz)
    -- [#1733](https://github.com/request/request/pull/1733) Avoid useless Buffer transformation (@michelsalib)
    -- [#1726](https://github.com/request/request/pull/1726) Update README.md (@paulomcnally)
    -- [#1715](https://github.com/request/request/pull/1715) Fix forever option in node > 0.10 #1709 (@calibr)
    -- [#1716](https://github.com/request/request/pull/1716) Do not create Buffer from Object in setContentLength(iojs v3.0 issue) (@calibr)
    -- [#1711](https://github.com/request/request/pull/1711) Add ability to detect connect timeouts (@kevinburke)
    -- [#1712](https://github.com/request/request/pull/1712) Set certificate expiration to August 2, 2018 (@kevinburke)
    -- [#1700](https://github.com/request/request/pull/1700) debug() when JSON.parse() on a response body fails (@phillipj)
    -
    -### v2.60.0 (2015/07/21)
    -- [#1687](https://github.com/request/request/pull/1687) Fix caseless bug - content-type not being set for multipart/form-data (@simov, @garymathews)
    -
    -### v2.59.0 (2015/07/20)
    -- [#1671](https://github.com/request/request/pull/1671) Add tests and docs for using the agent, agentClass, agentOptions and forever options.
    - Forever option defaults to using http(s).Agent in node 0.12+ (@simov)
    -- [#1679](https://github.com/request/request/pull/1679) Fix - do not remove OAuth param when using OAuth realm (@simov, @jhalickman)
    -- [#1668](https://github.com/request/request/pull/1668) updated dependencies (@deamme)
    -- [#1656](https://github.com/request/request/pull/1656) Fix form method (@simov)
    -- [#1651](https://github.com/request/request/pull/1651) Preserve HEAD method when using followAllRedirects (@simov)
    -- [#1652](https://github.com/request/request/pull/1652) Update `encoding` option documentation in README.md (@daniel347x)
    -- [#1650](https://github.com/request/request/pull/1650) Allow content-type overriding when using the `form` option (@simov)
    -- [#1646](https://github.com/request/request/pull/1646) Clarify the nature of setting `ca` in `agentOptions` (@jeffcharles)
    -
    -### v2.58.0 (2015/06/16)
    -- [#1638](https://github.com/request/request/pull/1638) Use the `extend` module to deep extend in the defaults method (@simov)
    -- [#1631](https://github.com/request/request/pull/1631) Move tunnel logic into separate module (@simov)
    -- [#1634](https://github.com/request/request/pull/1634) Fix OAuth query transport_method (@simov)
    -- [#1603](https://github.com/request/request/pull/1603) Add codecov (@simov)
    -
    -### v2.57.0 (2015/05/31)
    -- [#1615](https://github.com/request/request/pull/1615) Replace '.client' with '.socket' as the former was deprecated in 2.2.0. (@ChALkeR)
    -
    -### v2.56.0 (2015/05/28)
    -- [#1610](https://github.com/request/request/pull/1610) Bump module dependencies (@simov)
    -- [#1600](https://github.com/request/request/pull/1600) Extract the querystring logic into separate module (@simov)
    -- [#1607](https://github.com/request/request/pull/1607) Re-generate certificates (@simov)
    -- [#1599](https://github.com/request/request/pull/1599) Move getProxyFromURI logic below the check for Invaild URI (#1595) (@simov)
    -- [#1598](https://github.com/request/request/pull/1598) Fix the way http verbs are defined in order to please intellisense IDEs (@simov, @flannelJesus)
    -- [#1591](https://github.com/request/request/pull/1591) A few minor fixes: (@simov)
    -- [#1584](https://github.com/request/request/pull/1584) Refactor test-default tests (according to comments in #1430) (@simov)
    -- [#1585](https://github.com/request/request/pull/1585) Fixing documentation regarding TLS options (#1583) (@mainakae)
    -- [#1574](https://github.com/request/request/pull/1574) Refresh the oauth_nonce on redirect (#1573) (@simov)
    -- [#1570](https://github.com/request/request/pull/1570) Discovered tests that weren't properly running (@seanstrom)
    -- [#1569](https://github.com/request/request/pull/1569) Fix pause before response arrives (@kevinoid)
    -- [#1558](https://github.com/request/request/pull/1558) Emit error instead of throw (@simov)
    -- [#1568](https://github.com/request/request/pull/1568) Fix stall when piping gzipped response (@kevinoid)
    -- [#1560](https://github.com/request/request/pull/1560) Update combined-stream (@apechimp)
    -- [#1543](https://github.com/request/request/pull/1543) Initial support for oauth_body_hash on json payloads (@simov, @aesopwolf)
    -- [#1541](https://github.com/request/request/pull/1541) Fix coveralls (@simov)
    -- [#1540](https://github.com/request/request/pull/1540) Fix recursive defaults for convenience methods (@simov)
    -- [#1536](https://github.com/request/request/pull/1536) More eslint style rules (@froatsnook)
    -- [#1533](https://github.com/request/request/pull/1533) Adding dependency status bar to README.md (@YasharF)
    -- [#1539](https://github.com/request/request/pull/1539) ensure the latest version of har-validator is included (@ahmadnassri)
    -- [#1516](https://github.com/request/request/pull/1516) forever+pool test (@devTristan)
    -
    -### v2.55.0 (2015/04/05)
    -- [#1520](https://github.com/request/request/pull/1520) Refactor defaults (@simov)
    -- [#1525](https://github.com/request/request/pull/1525) Delete request headers with undefined value. (@froatsnook)
    -- [#1521](https://github.com/request/request/pull/1521) Add promise tests (@simov)
    -- [#1518](https://github.com/request/request/pull/1518) Fix defaults (@simov)
    -- [#1515](https://github.com/request/request/pull/1515) Allow static invoking of convenience methods (@simov)
    -- [#1505](https://github.com/request/request/pull/1505) Fix multipart boundary extraction regexp (@simov)
    -- [#1510](https://github.com/request/request/pull/1510) Fix basic auth form data (@simov)
    -
    -### v2.54.0 (2015/03/24)
    -- [#1501](https://github.com/request/request/pull/1501) HTTP Archive 1.2 support (@ahmadnassri)
    -- [#1486](https://github.com/request/request/pull/1486) Add a test for the forever agent (@akshayp)
    -- [#1500](https://github.com/request/request/pull/1500) Adding handling for no auth method and null bearer (@philberg)
    -- [#1498](https://github.com/request/request/pull/1498) Add table of contents in readme (@simov)
    -- [#1477](https://github.com/request/request/pull/1477) Add support for qs options via qsOptions key (@simov)
    -- [#1496](https://github.com/request/request/pull/1496) Parameters encoded to base 64 should be decoded as UTF-8, not ASCII. (@albanm)
    -- [#1494](https://github.com/request/request/pull/1494) Update eslint (@froatsnook)
    -- [#1474](https://github.com/request/request/pull/1474) Require Colon in Basic Auth (@erykwalder)
    -- [#1481](https://github.com/request/request/pull/1481) Fix baseUrl and redirections. (@burningtree)
    -- [#1469](https://github.com/request/request/pull/1469) Feature/base url (@froatsnook)
    -- [#1459](https://github.com/request/request/pull/1459) Add option to time request/response cycle (including rollup of redirects) (@aaron-em)
    -- [#1468](https://github.com/request/request/pull/1468) Re-enable io.js/node 0.12 build (@simov, @mikeal, @BBB)
    -- [#1442](https://github.com/request/request/pull/1442) Fixed the issue with strictSSL tests on  0.12 & io.js by explicitly setting a cipher that matches the cert. (@BBB, @nickmccurdy, @demohi, @simov, @0x4139)
    -- [#1460](https://github.com/request/request/pull/1460) localAddress or proxy config is lost when redirecting (@simov, @0x4139)
    -- [#1453](https://github.com/request/request/pull/1453) Test on Node.js 0.12 and io.js with allowed failures (@nickmccurdy, @demohi)
    -- [#1426](https://github.com/request/request/pull/1426) Fixing tests to pass on io.js and node 0.12 (only test-https.js stiff failing) (@mikeal)
    -- [#1446](https://github.com/request/request/pull/1446) Missing HTTP referer header with redirects Fixes #1038 (@simov, @guimon)
    -- [#1428](https://github.com/request/request/pull/1428) Deprecate Node v0.8.x (@nylen)
    -- [#1436](https://github.com/request/request/pull/1436) Add ability to set a requester without setting default options (@tikotzky)
    -- [#1435](https://github.com/request/request/pull/1435) dry up verb methods (@sethpollack)
    -- [#1423](https://github.com/request/request/pull/1423) Allow fully qualified multipart content-type header (@simov)
    -- [#1430](https://github.com/request/request/pull/1430) Fix recursive requester (@tikotzky)
    -- [#1429](https://github.com/request/request/pull/1429) Throw error when making HEAD request with a body (@tikotzky)
    -- [#1419](https://github.com/request/request/pull/1419) Add note that the project is broken in 0.12.x (@nylen)
    -- [#1413](https://github.com/request/request/pull/1413) Fix basic auth (@simov)
    -- [#1397](https://github.com/request/request/pull/1397) Improve pipe-from-file tests (@nylen)
    -
    -### v2.53.0 (2015/02/02)
    -- [#1396](https://github.com/request/request/pull/1396) Do not rfc3986 escape JSON bodies (@nylen, @simov)
    -- [#1392](https://github.com/request/request/pull/1392) Improve `timeout` option description (@watson)
    -
    -### v2.52.0 (2015/02/02)
    -- [#1383](https://github.com/request/request/pull/1383) Add missing HTTPS options that were not being passed to tunnel (@brichard19) (@nylen)
    -- [#1388](https://github.com/request/request/pull/1388) Upgrade mime-types package version (@roderickhsiao)
    -- [#1389](https://github.com/request/request/pull/1389) Revise Setup Tunnel Function (@seanstrom)
    -- [#1374](https://github.com/request/request/pull/1374) Allow explicitly disabling tunneling for proxied https destinations (@nylen)
    -- [#1376](https://github.com/request/request/pull/1376) Use karma-browserify for tests. Add browser test coverage reporter. (@eiriksm)
    -- [#1366](https://github.com/request/request/pull/1366) Refactor OAuth into separate module (@simov)
    -- [#1373](https://github.com/request/request/pull/1373) Rewrite tunnel test to be pure Node.js (@nylen)
    -- [#1371](https://github.com/request/request/pull/1371) Upgrade test reporter (@nylen)
    -- [#1360](https://github.com/request/request/pull/1360) Refactor basic, bearer, digest auth logic into separate class (@simov)
    -- [#1354](https://github.com/request/request/pull/1354) Remove circular dependency from debugging code (@nylen)
    -- [#1351](https://github.com/request/request/pull/1351) Move digest auth into private prototype method (@simov)
    -- [#1352](https://github.com/request/request/pull/1352) Update hawk dependency to ~2.3.0 (@mridgway)
    -- [#1353](https://github.com/request/request/pull/1353) Correct travis-ci badge (@dogancelik)
    -- [#1349](https://github.com/request/request/pull/1349) Make sure we return on errored browser requests. (@eiriksm)
    -- [#1346](https://github.com/request/request/pull/1346) getProxyFromURI Extraction Refactor (@seanstrom)
    -- [#1337](https://github.com/request/request/pull/1337) Standardize test ports on 6767 (@nylen)
    -- [#1341](https://github.com/request/request/pull/1341) Emit FormData error events as Request error events (@nylen, @rwky)
    -- [#1343](https://github.com/request/request/pull/1343) Clean up readme badges, and add Travis and Coveralls badges (@nylen)
    -- [#1345](https://github.com/request/request/pull/1345) Update README.md (@Aaron-Hartwig)
    -- [#1338](https://github.com/request/request/pull/1338) Always wait for server.close() callback in tests (@nylen)
    -- [#1342](https://github.com/request/request/pull/1342) Add mock https server and redo start of browser tests for this purpose. (@eiriksm)
    -- [#1339](https://github.com/request/request/pull/1339) Improve auth docs (@nylen)
    -- [#1335](https://github.com/request/request/pull/1335) Add support for OAuth plaintext signature method (@simov)
    -- [#1332](https://github.com/request/request/pull/1332) Add clean script to remove test-browser.js after the tests run (@seanstrom)
    -- [#1327](https://github.com/request/request/pull/1327) Fix errors generating coverage reports. (@nylen)
    -- [#1330](https://github.com/request/request/pull/1330) Return empty buffer upon empty response body and encoding is set to null (@seanstrom)
    -- [#1326](https://github.com/request/request/pull/1326) Use faster container-based infrastructure on Travis (@nylen)
    -- [#1315](https://github.com/request/request/pull/1315) Implement rfc3986 option (@simov, @nylen, @apoco, @DullReferenceException, @mmalecki, @oliamb, @cliffcrosland, @LewisJEllis, @eiriksm, @poislagarde)
    -- [#1314](https://github.com/request/request/pull/1314) Detect urlencoded form data header via regex (@simov)
    -- [#1317](https://github.com/request/request/pull/1317) Improve OAuth1.0 server side flow example (@simov)
    -
    -### v2.51.0 (2014/12/10)
    -- [#1310](https://github.com/request/request/pull/1310) Revert changes introduced in https://github.com/request/request/pull/1282 (@simov)
    -
    -### v2.50.0 (2014/12/09)
    -- [#1308](https://github.com/request/request/pull/1308) Add browser test to keep track of browserify compability. (@eiriksm)
    -- [#1299](https://github.com/request/request/pull/1299) Add optional support for jsonReviver (@poislagarde)
    -- [#1277](https://github.com/request/request/pull/1277) Add Coveralls configuration (@simov)
    -- [#1307](https://github.com/request/request/pull/1307) Upgrade form-data, add back browserify compability. Fixes #455. (@eiriksm)
    -- [#1305](https://github.com/request/request/pull/1305) Fix typo in README.md (@LewisJEllis)
    -- [#1288](https://github.com/request/request/pull/1288) Update README.md to explain custom file use case (@cliffcrosland)
    -
    -### v2.49.0 (2014/11/28)
    -- [#1295](https://github.com/request/request/pull/1295) fix(proxy): no-proxy false positive (@oliamb)
    -- [#1292](https://github.com/request/request/pull/1292) Upgrade `caseless` to 0.8.1 (@mmalecki)
    -- [#1276](https://github.com/request/request/pull/1276) Set transfer encoding for multipart/related to chunked by default (@simov)
    -- [#1275](https://github.com/request/request/pull/1275) Fix multipart content-type headers detection (@simov)
    -- [#1269](https://github.com/request/request/pull/1269) adds streams example for review (@tbuchok)
    -- [#1238](https://github.com/request/request/pull/1238) Add examples README.md (@simov)
    -
    -### v2.48.0 (2014/11/12)
    -- [#1263](https://github.com/request/request/pull/1263) Fixed a syntax error / typo in README.md (@xna2)
    -- [#1253](https://github.com/request/request/pull/1253) Add multipart chunked flag (@simov, @nylen)
    -- [#1251](https://github.com/request/request/pull/1251) Clarify that defaults() does not modify global defaults (@nylen)
    -- [#1250](https://github.com/request/request/pull/1250) Improve documentation for pool and maxSockets options (@nylen)
    -- [#1237](https://github.com/request/request/pull/1237) Documenting error handling when using streams (@vmattos)
    -- [#1244](https://github.com/request/request/pull/1244) Finalize changelog command (@nylen)
    -- [#1241](https://github.com/request/request/pull/1241) Fix typo (@alexanderGugel)
    -- [#1223](https://github.com/request/request/pull/1223) Show latest version number instead of "upcoming" in changelog (@nylen)
    -- [#1236](https://github.com/request/request/pull/1236) Document how to use custom CA in README (#1229) (@hypesystem)
    -- [#1228](https://github.com/request/request/pull/1228) Support for oauth with RSA-SHA1 signing (@nylen)
    -- [#1216](https://github.com/request/request/pull/1216) Made json and multipart options coexist (@nylen, @simov)
    -- [#1225](https://github.com/request/request/pull/1225) Allow header white/exclusive lists in any case. (@RReverser)
    -
    -### v2.47.0 (2014/10/26)
    -- [#1222](https://github.com/request/request/pull/1222) Move from mikeal/request to request/request (@nylen)
    -- [#1220](https://github.com/request/request/pull/1220) update qs dependency to 2.3.1 (@FredKSchott)
    -- [#1212](https://github.com/request/request/pull/1212) Improve tests/test-timeout.js (@nylen)
    -- [#1219](https://github.com/request/request/pull/1219) remove old globalAgent workaround for node 0.4 (@request)
    -- [#1214](https://github.com/request/request/pull/1214) Remove cruft left over from optional dependencies (@nylen)
    -- [#1215](https://github.com/request/request/pull/1215) Add proxyHeaderExclusiveList option for proxy-only headers. (@RReverser)
    -- [#1211](https://github.com/request/request/pull/1211) Allow 'Host' header instead of 'host' and remember case across redirects (@nylen)
    -- [#1208](https://github.com/request/request/pull/1208) Improve release script (@nylen)
    -- [#1213](https://github.com/request/request/pull/1213) Support for custom cookie store (@nylen, @mitsuru)
    -- [#1197](https://github.com/request/request/pull/1197) Clean up some code around setting the agent (@FredKSchott)
    -- [#1209](https://github.com/request/request/pull/1209) Improve multipart form append test (@simov)
    -- [#1207](https://github.com/request/request/pull/1207) Update changelog (@nylen)
    -- [#1185](https://github.com/request/request/pull/1185) Stream multipart/related bodies (@simov)
    -
    -### v2.46.0 (2014/10/23)
    -- [#1198](https://github.com/request/request/pull/1198) doc for TLS/SSL protocol options (@shawnzhu)
    -- [#1200](https://github.com/request/request/pull/1200) Add a Gitter chat badge to README.md (@gitter-badger)
    -- [#1196](https://github.com/request/request/pull/1196) Upgrade taper test reporter to v0.3.0 (@nylen)
    -- [#1199](https://github.com/request/request/pull/1199) Fix lint error: undeclared var i (@nylen)
    -- [#1191](https://github.com/request/request/pull/1191) Move self.proxy decision logic out of init and into a helper (@FredKSchott)
    -- [#1190](https://github.com/request/request/pull/1190) Move _buildRequest() logic back into init (@FredKSchott)
    -- [#1186](https://github.com/request/request/pull/1186) Support Smarter Unix URL Scheme (@FredKSchott)
    -- [#1178](https://github.com/request/request/pull/1178) update form documentation for new usage (@FredKSchott)
    -- [#1180](https://github.com/request/request/pull/1180) Enable no-mixed-requires linting rule (@nylen)
    -- [#1184](https://github.com/request/request/pull/1184) Don't forward authorization header across redirects to different hosts (@nylen)
    -- [#1183](https://github.com/request/request/pull/1183) Correct README about pre and postamble CRLF using multipart and not mult... (@netpoetica)
    -- [#1179](https://github.com/request/request/pull/1179) Lint tests directory (@nylen)
    -- [#1169](https://github.com/request/request/pull/1169) add metadata for form-data file field (@dotcypress)
    -- [#1173](https://github.com/request/request/pull/1173) remove optional dependencies (@seanstrom)
    -- [#1165](https://github.com/request/request/pull/1165) Cleanup event listeners and remove function creation from init (@FredKSchott)
    -- [#1174](https://github.com/request/request/pull/1174) update the request.cookie docs to have a valid cookie example (@seanstrom)
    -- [#1168](https://github.com/request/request/pull/1168) create a detach helper and use detach helper in replace of nextTick (@seanstrom)
    -- [#1171](https://github.com/request/request/pull/1171) in post can send form data and use callback (@MiroRadenovic)
    -- [#1159](https://github.com/request/request/pull/1159) accept charset for x-www-form-urlencoded content-type (@seanstrom)
    -- [#1157](https://github.com/request/request/pull/1157) Update README.md: body with json=true (@Rob--W)
    -- [#1164](https://github.com/request/request/pull/1164) Disable tests/test-timeout.js on Travis (@nylen)
    -- [#1153](https://github.com/request/request/pull/1153) Document how to run a single test (@nylen)
    -- [#1144](https://github.com/request/request/pull/1144) adds documentation for the "response" event within the streaming section (@tbuchok)
    -- [#1162](https://github.com/request/request/pull/1162) Update eslintrc file to no longer allow past errors (@FredKSchott)
    -- [#1155](https://github.com/request/request/pull/1155) Support/use self everywhere (@seanstrom)
    -- [#1161](https://github.com/request/request/pull/1161) fix no-use-before-define lint warnings (@emkay)
    -- [#1156](https://github.com/request/request/pull/1156) adding curly brackets to get rid of lint errors (@emkay)
    -- [#1151](https://github.com/request/request/pull/1151) Fix localAddress test on OS X (@nylen)
    -- [#1145](https://github.com/request/request/pull/1145) documentation: fix outdated reference to setCookieSync old name in README (@FredKSchott)
    -- [#1131](https://github.com/request/request/pull/1131) Update pool documentation (@FredKSchott)
    -- [#1143](https://github.com/request/request/pull/1143) Rewrite all tests to use tape (@nylen)
    -- [#1137](https://github.com/request/request/pull/1137) Add ability to specifiy querystring lib in options. (@jgrund)
    -- [#1138](https://github.com/request/request/pull/1138) allow hostname and port in place of host on uri (@cappslock)
    -- [#1134](https://github.com/request/request/pull/1134) Fix multiple redirects and `self.followRedirect` (@blakeembrey)
    -- [#1130](https://github.com/request/request/pull/1130) documentation fix: add note about npm test for contributing (@FredKSchott)
    -- [#1120](https://github.com/request/request/pull/1120) Support/refactor request setup tunnel (@seanstrom)
    -- [#1129](https://github.com/request/request/pull/1129) linting fix: convert double quote strings to use single quotes (@FredKSchott)
    -- [#1124](https://github.com/request/request/pull/1124) linting fix: remove unneccesary semi-colons (@FredKSchott)
    -
    -### v2.45.0 (2014/10/06)
    -- [#1128](https://github.com/request/request/pull/1128) Add test for setCookie regression (@nylen)
    -- [#1127](https://github.com/request/request/pull/1127) added tests around using objects as values in a query string (@bcoe)
    -- [#1103](https://github.com/request/request/pull/1103) Support/refactor request constructor (@nylen, @seanstrom)
    -- [#1119](https://github.com/request/request/pull/1119) add basic linting to request library (@FredKSchott)
    -- [#1121](https://github.com/request/request/pull/1121) Revert "Explicitly use sync versions of cookie functions" (@nylen)
    -- [#1118](https://github.com/request/request/pull/1118) linting fix: Restructure bad empty if statement (@FredKSchott)
    -- [#1117](https://github.com/request/request/pull/1117) Fix a bad check for valid URIs (@FredKSchott)
    -- [#1113](https://github.com/request/request/pull/1113) linting fix: space out operators (@FredKSchott)
    -- [#1116](https://github.com/request/request/pull/1116) Fix typo in `noProxyHost` definition (@FredKSchott)
    -- [#1114](https://github.com/request/request/pull/1114) linting fix: Added a `new` operator that was missing when creating and throwing a new error (@FredKSchott)
    -- [#1096](https://github.com/request/request/pull/1096) No_proxy support (@samcday)
    -- [#1107](https://github.com/request/request/pull/1107) linting-fix: remove unused variables (@FredKSchott)
    -- [#1112](https://github.com/request/request/pull/1112) linting fix: Make return values consistent and more straitforward (@FredKSchott)
    -- [#1111](https://github.com/request/request/pull/1111) linting fix: authPieces was getting redeclared (@FredKSchott)
    -- [#1105](https://github.com/request/request/pull/1105) Use strict mode in request (@FredKSchott)
    -- [#1110](https://github.com/request/request/pull/1110) linting fix: replace lazy '==' with more strict '===' (@FredKSchott)
    -- [#1109](https://github.com/request/request/pull/1109) linting fix: remove function call from if-else conditional statement (@FredKSchott)
    -- [#1102](https://github.com/request/request/pull/1102) Fix to allow setting a `requester` on recursive calls to `request.defaults` (@tikotzky)
    -- [#1095](https://github.com/request/request/pull/1095) Tweaking engines in package.json (@pdehaan)
    -- [#1082](https://github.com/request/request/pull/1082) Forward the socket event from the httpModule request (@seanstrom)
    -- [#972](https://github.com/request/request/pull/972) Clarify gzip handling in the README (@kevinoid)
    -- [#1089](https://github.com/request/request/pull/1089) Mention that encoding defaults to utf8, not Buffer (@stuartpb)
    -- [#1088](https://github.com/request/request/pull/1088) Fix cookie example in README.md and make it more clear (@pipi32167)
    -- [#1027](https://github.com/request/request/pull/1027) Add support for multipart form data in request options. (@crocket)
    -- [#1076](https://github.com/request/request/pull/1076) use Request.abort() to abort the request when the request has timed-out (@seanstrom)
    -- [#1068](https://github.com/request/request/pull/1068) add optional postamble required by .NET multipart requests (@netpoetica)
    -
    -### v2.43.0 (2014/09/18)
    -- [#1057](https://github.com/request/request/pull/1057) Defaults should not overwrite defined options (@davidwood)
    -- [#1046](https://github.com/request/request/pull/1046) Propagate datastream errors, useful in case gzip fails. (@ZJONSSON, @Janpot)
    -- [#1063](https://github.com/request/request/pull/1063) copy the input headers object #1060 (@finnp)
    -- [#1031](https://github.com/request/request/pull/1031) Explicitly use sync versions of cookie functions (@ZJONSSON)
    -- [#1056](https://github.com/request/request/pull/1056) Fix redirects when passing url.parse(x) as URL to convenience method (@nylen)
    -
    -### v2.42.0 (2014/09/04)
    -- [#1053](https://github.com/request/request/pull/1053) Fix #1051 Parse auth properly when using non-tunneling proxy (@isaacs)
    -
    -### v2.41.0 (2014/09/04)
    -- [#1050](https://github.com/request/request/pull/1050) Pass whitelisted headers to tunneling proxy.  Organize all tunneling logic. (@isaacs, @Feldhacker)
    -- [#1035](https://github.com/request/request/pull/1035) souped up nodei.co badge (@rvagg)
    -- [#1048](https://github.com/request/request/pull/1048) Aws is now possible over a proxy (@steven-aerts)
    -- [#1039](https://github.com/request/request/pull/1039) extract out helper functions to a helper file (@seanstrom)
    -- [#1021](https://github.com/request/request/pull/1021) Support/refactor indexjs (@seanstrom)
    -- [#1033](https://github.com/request/request/pull/1033) Improve and document debug options (@nylen)
    -- [#1034](https://github.com/request/request/pull/1034) Fix readme headings (@nylen)
    -- [#1030](https://github.com/request/request/pull/1030) Allow recursive request.defaults (@tikotzky)
    -- [#1029](https://github.com/request/request/pull/1029) Fix a couple of typos (@nylen)
    -- [#675](https://github.com/request/request/pull/675) Checking for SSL fault on connection before reading SSL properties (@VRMink)
    -- [#989](https://github.com/request/request/pull/989) Added allowRedirect function. Should return true if redirect is allowed or false otherwise (@doronin)
    -- [#1025](https://github.com/request/request/pull/1025) [fixes #1023] Set self._ended to true once response has ended (@mridgway)
    -- [#1020](https://github.com/request/request/pull/1020) Add back removed debug metadata (@FredKSchott)
    -- [#1008](https://github.com/request/request/pull/1008) Moving to  module instead of cutomer buffer concatenation. (@mikeal)
    -- [#770](https://github.com/request/request/pull/770) Added dependency badge for README file; (@timgluz, @mafintosh, @lalitkapoor, @stash, @bobyrizov)
    -- [#1016](https://github.com/request/request/pull/1016) toJSON no longer results in an infinite loop, returns simple objects (@FredKSchott)
    -- [#1018](https://github.com/request/request/pull/1018) Remove pre-0.4.4 HTTPS fix (@mmalecki)
    -- [#1006](https://github.com/request/request/pull/1006) Migrate to caseless, fixes #1001 (@mikeal)
    -- [#995](https://github.com/request/request/pull/995) Fix parsing array of objects (@sjonnet19)
    -- [#999](https://github.com/request/request/pull/999) Fix fallback for browserify for optional modules. (@eiriksm)
    -- [#996](https://github.com/request/request/pull/996) Wrong oauth signature when multiple same param keys exist [updated] (@bengl)
    -
    -### v2.40.0 (2014/08/06)
    -- [#992](https://github.com/request/request/pull/992) Fix security vulnerability. Update qs (@poeticninja)
    -- [#988](https://github.com/request/request/pull/988) “--” -> “—” (@upisfree)
    -- [#987](https://github.com/request/request/pull/987) Show optional modules as being loaded by the module that reqeusted them (@iarna)
    -
    -### v2.39.0 (2014/07/24)
    -- [#976](https://github.com/request/request/pull/976) Update README.md (@pvoznenko)
    -
    -### v2.38.0 (2014/07/22)
    -- [#952](https://github.com/request/request/pull/952) Adding support to client certificate with proxy use case (@ofirshaked)
    -- [#884](https://github.com/request/request/pull/884) Documented tough-cookie installation. (@wbyoung)
    -- [#935](https://github.com/request/request/pull/935) Correct repository url (@fritx)
    -- [#963](https://github.com/request/request/pull/963) Update changelog (@nylen)
    -- [#960](https://github.com/request/request/pull/960) Support gzip with encoding on node pre-v0.9.4 (@kevinoid)
    -- [#953](https://github.com/request/request/pull/953) Add async Content-Length computation when using form-data (@LoicMahieu)
    -- [#844](https://github.com/request/request/pull/844) Add support for HTTP[S]_PROXY environment variables.  Fixes #595. (@jvmccarthy)
    -- [#946](https://github.com/request/request/pull/946) defaults: merge headers (@aj0strow)
    -
    -### v2.37.0 (2014/07/07)
    -- [#957](https://github.com/request/request/pull/957) Silence EventEmitter memory leak warning #311 (@watson)
    -- [#955](https://github.com/request/request/pull/955) check for content-length header before setting it in nextTick (@camilleanne)
    -- [#951](https://github.com/request/request/pull/951) Add support for gzip content decoding (@kevinoid)
    -- [#949](https://github.com/request/request/pull/949) Manually enter querystring in form option (@charlespwd)
    -- [#944](https://github.com/request/request/pull/944) Make request work with browserify (@eiriksm)
    -- [#943](https://github.com/request/request/pull/943) New mime module (@eiriksm)
    -- [#927](https://github.com/request/request/pull/927) Bump version of hawk dep. (@samccone)
    -- [#907](https://github.com/request/request/pull/907) append secureOptions to poolKey (@medovob)
    -
    -### v2.35.0 (2014/05/17)
    -- [#901](https://github.com/request/request/pull/901) Fixes #555 (@pigulla)
    -- [#897](https://github.com/request/request/pull/897) merge with default options (@vohof)
    -- [#891](https://github.com/request/request/pull/891) fixes 857 - options object is mutated by calling request (@lalitkapoor)
    -- [#869](https://github.com/request/request/pull/869) Pipefilter test (@tgohn)
    -- [#866](https://github.com/request/request/pull/866) Fix typo (@dandv)
    -- [#861](https://github.com/request/request/pull/861) Add support for RFC 6750 Bearer Tokens (@phedny)
    -- [#809](https://github.com/request/request/pull/809) upgrade tunnel-proxy to 0.4.0 (@ksato9700)
    -- [#850](https://github.com/request/request/pull/850) Fix word consistency in readme (@0xNobody)
    -- [#810](https://github.com/request/request/pull/810) add some exposition to mpu example in README.md (@mikermcneil)
    -- [#840](https://github.com/request/request/pull/840) improve error reporting for invalid protocols (@FND)
    -- [#821](https://github.com/request/request/pull/821) added secureOptions back (@nw)
    -- [#815](https://github.com/request/request/pull/815) Create changelog based on pull requests (@lalitkapoor)
    -
    -### v2.34.0 (2014/02/18)
    -- [#516](https://github.com/request/request/pull/516) UNIX Socket URL Support (@lyuzashi)
    -- [#801](https://github.com/request/request/pull/801) 794 ignore cookie parsing and domain errors (@lalitkapoor)
    -- [#802](https://github.com/request/request/pull/802) Added the Apache license to the package.json. (@keskival)
    -- [#793](https://github.com/request/request/pull/793) Adds content-length calculation when submitting forms using form-data li... (@Juul)
    -- [#785](https://github.com/request/request/pull/785) Provide ability to override content-type when `json` option used (@vvo)
    -- [#781](https://github.com/request/request/pull/781) simpler isReadStream function (@joaojeronimo)
    -
    -### v2.32.0 (2014/01/16)
    -- [#767](https://github.com/request/request/pull/767) Use tough-cookie CookieJar sync API (@stash)
    -- [#764](https://github.com/request/request/pull/764) Case-insensitive authentication scheme (@bobyrizov)
    -- [#763](https://github.com/request/request/pull/763) Upgrade tough-cookie to 0.10.0 (@stash)
    -- [#744](https://github.com/request/request/pull/744) Use Cookie.parse (@lalitkapoor)
    -- [#757](https://github.com/request/request/pull/757) require aws-sign2 (@mafintosh)
    -
    -### v2.31.0 (2014/01/08)
    -- [#645](https://github.com/request/request/pull/645) update twitter api url to v1.1 (@mick)
    -- [#746](https://github.com/request/request/pull/746) README: Markdown code highlight (@weakish)
    -- [#745](https://github.com/request/request/pull/745) updating setCookie example to make it clear that the callback is required (@emkay)
    -- [#742](https://github.com/request/request/pull/742) Add note about JSON output body type (@iansltx)
    -- [#741](https://github.com/request/request/pull/741) README example is using old cookie jar api (@emkay)
    -- [#736](https://github.com/request/request/pull/736) Fix callback arguments documentation (@mmalecki)
    -- [#732](https://github.com/request/request/pull/732) JSHINT: Creating global 'for' variable. Should be 'for (var ...'. (@Fritz-Lium)
    -- [#730](https://github.com/request/request/pull/730) better HTTP DIGEST support (@dai-shi)
    -- [#728](https://github.com/request/request/pull/728) Fix TypeError when calling request.cookie (@scarletmeow)
    -- [#727](https://github.com/request/request/pull/727) fix requester bug (@jchris)
    -- [#724](https://github.com/request/request/pull/724) README.md: add custom HTTP Headers example. (@tcort)
    -- [#719](https://github.com/request/request/pull/719) Made a comment gender neutral. (@unsetbit)
    -- [#715](https://github.com/request/request/pull/715) Request.multipart no longer crashes when header 'Content-type' present (@pastaclub)
    -- [#710](https://github.com/request/request/pull/710) Fixing listing in callback part of docs. (@lukasz-zak)
    -- [#696](https://github.com/request/request/pull/696) Edited README.md for formatting and clarity of phrasing (@Zearin)
    -- [#694](https://github.com/request/request/pull/694) Typo in README (@VRMink)
    -- [#690](https://github.com/request/request/pull/690) Handle blank password in basic auth. (@diversario)
    -- [#682](https://github.com/request/request/pull/682) Optional dependencies (@Turbo87)
    -- [#683](https://github.com/request/request/pull/683) Travis CI support (@Turbo87)
    -- [#674](https://github.com/request/request/pull/674) change cookie module,to tough-cookie.please check it . (@sxyizhiren)
    -- [#666](https://github.com/request/request/pull/666) make `ciphers` and `secureProtocol` to work in https request (@richarddong)
    -- [#656](https://github.com/request/request/pull/656) Test case for #304. (@diversario)
    -- [#662](https://github.com/request/request/pull/662) option.tunnel to explicitly disable tunneling (@seanmonstar)
    -- [#659](https://github.com/request/request/pull/659) fix failure when running with NODE_DEBUG=request, and a test for that (@jrgm)
    -- [#630](https://github.com/request/request/pull/630) Send random cnonce for HTTP Digest requests (@wprl)
    -- [#619](https://github.com/request/request/pull/619) decouple things a bit (@joaojeronimo)
    -- [#613](https://github.com/request/request/pull/613) Fixes #583, moved initialization of self.uri.pathname (@lexander)
    -- [#605](https://github.com/request/request/pull/605) Only include ":" + pass in Basic Auth if it's defined (fixes #602) (@bendrucker)
    -- [#596](https://github.com/request/request/pull/596) Global agent is being used when pool is specified (@Cauldrath)
    -- [#594](https://github.com/request/request/pull/594) Emit complete event when there is no callback (@RomainLK)
    -- [#601](https://github.com/request/request/pull/601) Fixed a small typo (@michalstanko)
    -- [#589](https://github.com/request/request/pull/589) Prevent setting headers after they are sent (@geek)
    -- [#587](https://github.com/request/request/pull/587) Global cookie jar disabled by default (@threepointone)
    -- [#544](https://github.com/request/request/pull/544) Update http-signature version. (@davidlehn)
    -- [#581](https://github.com/request/request/pull/581) Fix spelling of "ignoring." (@bigeasy)
    -- [#568](https://github.com/request/request/pull/568) use agentOptions to create agent when specified in request (@SamPlacette)
    -- [#564](https://github.com/request/request/pull/564) Fix redirections (@criloz)
    -- [#541](https://github.com/request/request/pull/541) The exported request function doesn't have an auth method (@tschaub)
    -- [#542](https://github.com/request/request/pull/542) Expose Request class (@regality)
    -- [#536](https://github.com/request/request/pull/536) Allow explicitly empty user field for basic authentication. (@mikeando)
    -- [#532](https://github.com/request/request/pull/532) fix typo (@fredericosilva)
    -- [#497](https://github.com/request/request/pull/497) Added redirect event (@Cauldrath)
    -- [#503](https://github.com/request/request/pull/503) Fix basic auth for passwords that contain colons (@tonistiigi)
    -- [#521](https://github.com/request/request/pull/521) Improving test-localAddress.js (@noway)
    -- [#529](https://github.com/request/request/pull/529) dependencies versions bump (@jodaka)
    -- [#523](https://github.com/request/request/pull/523) Updating dependencies (@noway)
    -- [#520](https://github.com/request/request/pull/520) Fixing test-tunnel.js (@noway)
    -- [#519](https://github.com/request/request/pull/519) Update internal path state on post-creation QS changes (@jblebrun)
    -- [#510](https://github.com/request/request/pull/510) Add HTTP Signature support. (@davidlehn)
    -- [#502](https://github.com/request/request/pull/502) Fix POST (and probably other) requests that are retried after 401 Unauthorized (@nylen)
    -- [#508](https://github.com/request/request/pull/508) Honor the .strictSSL option when using proxies (tunnel-agent) (@jhs)
    -- [#512](https://github.com/request/request/pull/512) Make password optional to support the format: http://username@hostname/ (@pajato1)
    -- [#513](https://github.com/request/request/pull/513) add 'localAddress' support (@yyfrankyy)
    -- [#498](https://github.com/request/request/pull/498) Moving response emit above setHeaders on destination streams (@kenperkins)
    -- [#490](https://github.com/request/request/pull/490) Empty response body (3-rd argument) must be passed to callback as an empty string (@Olegas)
    -- [#479](https://github.com/request/request/pull/479) Changing so if Accept header is explicitly set, sending json does not ov... (@RoryH)
    -- [#475](https://github.com/request/request/pull/475) Use `unescape` from `querystring` (@shimaore)
    -- [#473](https://github.com/request/request/pull/473) V0.10 compat (@isaacs)
    -- [#471](https://github.com/request/request/pull/471) Using querystring library from visionmedia (@kbackowski)
    -- [#461](https://github.com/request/request/pull/461) Strip the UTF8 BOM from a UTF encoded response (@kppullin)
    -- [#460](https://github.com/request/request/pull/460) hawk 0.10.0 (@hueniverse)
    -- [#462](https://github.com/request/request/pull/462) if query params are empty, then request path shouldn't end with a '?' (merges cleanly now) (@jaipandya)
    -- [#456](https://github.com/request/request/pull/456) hawk 0.9.0 (@hueniverse)
    -- [#429](https://github.com/request/request/pull/429) Copy options before adding callback. (@nrn, @nfriedly, @youurayy, @jplock, @kapetan, @landeiro, @othiym23, @mmalecki)
    -- [#454](https://github.com/request/request/pull/454) Destroy the response if present when destroying the request (clean merge) (@mafintosh)
    -- [#310](https://github.com/request/request/pull/310) Twitter Oauth Stuff Out of Date; Now Updated (@joemccann, @isaacs, @mscdex)
    -- [#413](https://github.com/request/request/pull/413) rename googledoodle.png to .jpg (@nfriedly, @youurayy, @jplock, @kapetan, @landeiro, @othiym23, @mmalecki)
    -- [#448](https://github.com/request/request/pull/448) Convenience method for PATCH (@mloar)
    -- [#444](https://github.com/request/request/pull/444) protect against double callbacks on error path (@spollack)
    -- [#433](https://github.com/request/request/pull/433) Added support for HTTPS cert & key (@mmalecki)
    -- [#430](https://github.com/request/request/pull/430) Respect specified {Host,host} headers, not just {host} (@andrewschaaf)
    -- [#415](https://github.com/request/request/pull/415) Fixed a typo. (@jerem)
    -- [#338](https://github.com/request/request/pull/338) Add more auth options, including digest support (@nylen)
    -- [#403](https://github.com/request/request/pull/403) Optimize environment lookup to happen once only (@mmalecki)
    -- [#398](https://github.com/request/request/pull/398) Add more reporting to tests (@mmalecki)
    -- [#388](https://github.com/request/request/pull/388) Ensure "safe" toJSON doesn't break EventEmitters (@othiym23)
    -- [#381](https://github.com/request/request/pull/381) Resolving "Invalid signature. Expected signature base string: " (@landeiro)
    -- [#380](https://github.com/request/request/pull/380) Fixes missing host header on retried request when using forever agent (@mac-)
    -- [#376](https://github.com/request/request/pull/376) Headers lost on redirect (@kapetan)
    -- [#375](https://github.com/request/request/pull/375) Fix for missing oauth_timestamp parameter (@jplock)
    -- [#374](https://github.com/request/request/pull/374) Correct Host header for proxy tunnel CONNECT (@youurayy)
    -- [#370](https://github.com/request/request/pull/370) Twitter reverse auth uses x_auth_mode not x_auth_type (@drudge)
    -- [#369](https://github.com/request/request/pull/369) Don't remove x_auth_mode for Twitter reverse auth (@drudge)
    -- [#344](https://github.com/request/request/pull/344) Make AWS auth signing find headers correctly (@nlf)
    -- [#363](https://github.com/request/request/pull/363) rfc3986 on base_uri, now passes tests (@jeffmarshall)
    -- [#362](https://github.com/request/request/pull/362) Running `rfc3986` on `base_uri` in `oauth.hmacsign` instead of just `encodeURIComponent` (@jeffmarshall)
    -- [#361](https://github.com/request/request/pull/361) Don't create a Content-Length header if we already have it set (@danjenkins)
    -- [#360](https://github.com/request/request/pull/360) Delete self._form along with everything else on redirect (@jgautier)
    -- [#355](https://github.com/request/request/pull/355) stop sending erroneous headers on redirected requests (@azylman)
    -- [#332](https://github.com/request/request/pull/332) Fix #296 - Only set Content-Type if body exists (@Marsup)
    -- [#343](https://github.com/request/request/pull/343) Allow AWS to work in more situations, added a note in the README on its usage (@nlf)
    -- [#320](https://github.com/request/request/pull/320) request.defaults() doesn't need to wrap jar() (@StuartHarris)
    -- [#322](https://github.com/request/request/pull/322) Fix + test for piped into request bumped into redirect. #321 (@alexindigo)
    -- [#326](https://github.com/request/request/pull/326) Do not try to remove listener from an undefined connection (@CartoDB)
    -- [#318](https://github.com/request/request/pull/318) Pass servername to tunneling secure socket creation (@isaacs)
    -- [#317](https://github.com/request/request/pull/317) Workaround for #313 (@isaacs)
    -- [#293](https://github.com/request/request/pull/293) Allow parser errors to bubble up to request (@mscdex)
    -- [#290](https://github.com/request/request/pull/290) A test for #289 (@isaacs)
    -- [#280](https://github.com/request/request/pull/280) Like in node.js print options if NODE_DEBUG contains the word request (@Filirom1)
    -- [#207](https://github.com/request/request/pull/207) Fix #206 Change HTTP/HTTPS agent when redirecting between protocols (@isaacs)
    -- [#214](https://github.com/request/request/pull/214) documenting additional behavior of json option (@jphaas, @vpulim)
    -- [#272](https://github.com/request/request/pull/272) Boundary begins with CRLF? (@elspoono, @timshadel, @naholyr, @nanodocumet, @TehShrike)
    -- [#284](https://github.com/request/request/pull/284) Remove stray `console.log()` call in multipart generator. (@bcherry)
    -- [#241](https://github.com/request/request/pull/241) Composability updates suggested by issue #239 (@polotek)
    -- [#282](https://github.com/request/request/pull/282) OAuth Authorization header contains non-"oauth_" parameters (@jplock)
    -- [#279](https://github.com/request/request/pull/279) fix tests with boundary by injecting boundry from header (@benatkin)
    -- [#273](https://github.com/request/request/pull/273) Pipe back pressure issue (@mafintosh)
    -- [#268](https://github.com/request/request/pull/268) I'm not OCD seriously (@TehShrike)
    -- [#263](https://github.com/request/request/pull/263) Bug in OAuth key generation for sha1 (@nanodocumet)
    -- [#265](https://github.com/request/request/pull/265) uncaughtException when redirected to invalid URI (@naholyr)
    -- [#262](https://github.com/request/request/pull/262) JSON test should check for equality (@timshadel)
    -- [#261](https://github.com/request/request/pull/261) Setting 'pool' to 'false' does NOT disable Agent pooling (@timshadel)
    -- [#249](https://github.com/request/request/pull/249) Fix for the fix of your (closed) issue #89 where self.headers[content-length] is set to 0 for all methods (@sethbridges, @polotek, @zephrax, @jeromegn)
    -- [#255](https://github.com/request/request/pull/255) multipart allow body === '' ( the empty string ) (@Filirom1)
    -- [#260](https://github.com/request/request/pull/260) fixed just another leak of 'i' (@sreuter)
    -- [#246](https://github.com/request/request/pull/246) Fixing the set-cookie header (@jeromegn)
    -- [#243](https://github.com/request/request/pull/243) Dynamic boundary (@zephrax)
    -- [#240](https://github.com/request/request/pull/240) don't error when null is passed for options (@polotek)
    -- [#211](https://github.com/request/request/pull/211) Replace all occurrences of special chars in RFC3986 (@chriso, @vpulim)
    -- [#224](https://github.com/request/request/pull/224) Multipart content-type change (@janjongboom)
    -- [#217](https://github.com/request/request/pull/217) need to use Authorization (titlecase) header with Tumblr OAuth (@visnup)
    -- [#203](https://github.com/request/request/pull/203) Fix cookie and redirect bugs and add auth support for HTTPS tunnel (@vpulim)
    -- [#199](https://github.com/request/request/pull/199) Tunnel (@isaacs)
    -- [#198](https://github.com/request/request/pull/198) Bugfix on forever usage of util.inherits (@isaacs)
    -- [#197](https://github.com/request/request/pull/197) Make ForeverAgent work with HTTPS (@isaacs)
    -- [#193](https://github.com/request/request/pull/193) Fixes GH-119 (@goatslacker)
    -- [#188](https://github.com/request/request/pull/188) Add abort support to the returned request (@itay)
    -- [#176](https://github.com/request/request/pull/176) Querystring option (@csainty)
    -- [#182](https://github.com/request/request/pull/182) Fix request.defaults to support (uri, options, callback) api (@twilson63)
    -- [#180](https://github.com/request/request/pull/180) Modified the post, put, head and del shortcuts to support uri optional param (@twilson63)
    -- [#179](https://github.com/request/request/pull/179) fix to add opts in .pipe(stream, opts) (@substack)
    -- [#177](https://github.com/request/request/pull/177) Issue #173 Support uri as first and optional config as second argument (@twilson63)
    -- [#170](https://github.com/request/request/pull/170) can't create a cookie in a wrapped request (defaults) (@fabianonunes)
    -- [#168](https://github.com/request/request/pull/168) Picking off an EasyFix by adding some missing mimetypes. (@serby)
    -- [#161](https://github.com/request/request/pull/161) Fix cookie jar/headers.cookie collision (#125) (@papandreou)
    -- [#162](https://github.com/request/request/pull/162) Fix issue #159 (@dpetukhov)
    -- [#90](https://github.com/request/request/pull/90) add option followAllRedirects to follow post/put redirects (@jroes)
    -- [#148](https://github.com/request/request/pull/148) Retry Agent (@thejh)
    -- [#146](https://github.com/request/request/pull/146) Multipart should respect content-type if previously set (@apeace)
    -- [#144](https://github.com/request/request/pull/144) added "form" option to readme (@petejkim)
    -- [#133](https://github.com/request/request/pull/133) Fixed cookies parsing (@afanasy)
    -- [#135](https://github.com/request/request/pull/135) host vs hostname (@iangreenleaf)
    -- [#132](https://github.com/request/request/pull/132) return the body as a Buffer when encoding is set to null (@jahewson)
    -- [#112](https://github.com/request/request/pull/112) Support using a custom http-like module (@jhs)
    -- [#104](https://github.com/request/request/pull/104) Cookie handling contains bugs (@janjongboom)
    -- [#121](https://github.com/request/request/pull/121) Another patch for cookie handling regression (@jhurliman)
    -- [#117](https://github.com/request/request/pull/117) Remove the global `i` (@3rd-Eden)
    -- [#110](https://github.com/request/request/pull/110) Update to Iris Couch URL (@jhs)
    -- [#86](https://github.com/request/request/pull/86) Can't post binary to multipart requests (@kkaefer)
    -- [#105](https://github.com/request/request/pull/105) added test for proxy option. (@dominictarr)
    -- [#102](https://github.com/request/request/pull/102) Implemented cookies - closes issue 82: https://github.com/mikeal/request/issues/82 (@alessioalex)
    -- [#97](https://github.com/request/request/pull/97) Typo in previous pull causes TypeError in non-0.5.11 versions (@isaacs)
    -- [#96](https://github.com/request/request/pull/96) Authless parsed url host support (@isaacs)
    -- [#81](https://github.com/request/request/pull/81) Enhance redirect handling (@danmactough)
    -- [#78](https://github.com/request/request/pull/78) Don't try to do strictSSL for non-ssl connections (@isaacs)
    -- [#76](https://github.com/request/request/pull/76) Bug when a request fails and a timeout is set (@Marsup)
    -- [#70](https://github.com/request/request/pull/70) add test script to package.json (@isaacs, @aheckmann)
    -- [#73](https://github.com/request/request/pull/73) Fix #71 Respect the strictSSL flag (@isaacs)
    -- [#69](https://github.com/request/request/pull/69) Flatten chunked requests properly (@isaacs)
    -- [#67](https://github.com/request/request/pull/67) fixed global variable leaks (@aheckmann)
    -- [#66](https://github.com/request/request/pull/66) Do not overwrite established content-type headers for read stream deliver (@voodootikigod)
    -- [#53](https://github.com/request/request/pull/53) Parse json: Issue #51 (@benatkin)
    -- [#45](https://github.com/request/request/pull/45) Added timeout option (@mbrevoort)
    -- [#35](https://github.com/request/request/pull/35) The "end" event isn't emitted for some responses (@voxpelli)
    -- [#31](https://github.com/request/request/pull/31) Error on piping a request to a destination (@tobowers)
    \ No newline at end of file
    diff --git a/deps/npm/node_modules/request/README.md b/deps/npm/node_modules/request/README.md
    deleted file mode 100644
    index 9da0eb7d893a33..00000000000000
    --- a/deps/npm/node_modules/request/README.md
    +++ /dev/null
    @@ -1,1133 +0,0 @@
    -# Deprecated!
    -
    -As of Feb 11th 2020, request is fully deprecated. No new changes are expected land. In fact, none have landed for some time.
    -
    -For more information about why request is deprecated and possible alternatives refer to
    -[this issue](https://github.com/request/request/issues/3142).
    -
    -# Request - Simplified HTTP client
    -
    -[![npm package](https://nodei.co/npm/request.png?downloads=true&downloadRank=true&stars=true)](https://nodei.co/npm/request/)
    -
    -[![Build status](https://img.shields.io/travis/request/request/master.svg?style=flat-square)](https://travis-ci.org/request/request)
    -[![Coverage](https://img.shields.io/codecov/c/github/request/request.svg?style=flat-square)](https://codecov.io/github/request/request?branch=master)
    -[![Coverage](https://img.shields.io/coveralls/request/request.svg?style=flat-square)](https://coveralls.io/r/request/request)
    -[![Dependency Status](https://img.shields.io/david/request/request.svg?style=flat-square)](https://david-dm.org/request/request)
    -[![Known Vulnerabilities](https://snyk.io/test/npm/request/badge.svg?style=flat-square)](https://snyk.io/test/npm/request)
    -[![Gitter](https://img.shields.io/badge/gitter-join_chat-blue.svg?style=flat-square)](https://gitter.im/request/request?utm_source=badge)
    -
    -
    -## Super simple to use
    -
    -Request is designed to be the simplest way possible to make http calls. It supports HTTPS and follows redirects by default.
    -
    -```js
    -const request = require('request');
    -request('http://www.google.com', function (error, response, body) {
    -  console.error('error:', error); // Print the error if one occurred
    -  console.log('statusCode:', response && response.statusCode); // Print the response status code if a response was received
    -  console.log('body:', body); // Print the HTML for the Google homepage.
    -});
    -```
    -
    -
    -## Table of contents
    -
    -- [Streaming](#streaming)
    -- [Promises & Async/Await](#promises--asyncawait)
    -- [Forms](#forms)
    -- [HTTP Authentication](#http-authentication)
    -- [Custom HTTP Headers](#custom-http-headers)
    -- [OAuth Signing](#oauth-signing)
    -- [Proxies](#proxies)
    -- [Unix Domain Sockets](#unix-domain-sockets)
    -- [TLS/SSL Protocol](#tlsssl-protocol)
    -- [Support for HAR 1.2](#support-for-har-12)
    -- [**All Available Options**](#requestoptions-callback)
    -
    -Request also offers [convenience methods](#convenience-methods) like
    -`request.defaults` and `request.post`, and there are
    -lots of [usage examples](#examples) and several
    -[debugging techniques](#debugging).
    -
    -
    ----
    -
    -
    -## Streaming
    -
    -You can stream any response to a file stream.
    -
    -```js
    -request('http://google.com/doodle.png').pipe(fs.createWriteStream('doodle.png'))
    -```
    -
    -You can also stream a file to a PUT or POST request. This method will also check the file extension against a mapping of file extensions to content-types (in this case `application/json`) and use the proper `content-type` in the PUT request (if the headers don’t already provide one).
    -
    -```js
    -fs.createReadStream('file.json').pipe(request.put('http://mysite.com/obj.json'))
    -```
    -
    -Request can also `pipe` to itself. When doing so, `content-type` and `content-length` are preserved in the PUT headers.
    -
    -```js
    -request.get('http://google.com/img.png').pipe(request.put('http://mysite.com/img.png'))
    -```
    -
    -Request emits a "response" event when a response is received. The `response` argument will be an instance of [http.IncomingMessage](https://nodejs.org/api/http.html#http_class_http_incomingmessage).
    -
    -```js
    -request
    -  .get('http://google.com/img.png')
    -  .on('response', function(response) {
    -    console.log(response.statusCode) // 200
    -    console.log(response.headers['content-type']) // 'image/png'
    -  })
    -  .pipe(request.put('http://mysite.com/img.png'))
    -```
    -
    -To easily handle errors when streaming requests, listen to the `error` event before piping:
    -
    -```js
    -request
    -  .get('http://mysite.com/doodle.png')
    -  .on('error', function(err) {
    -    console.error(err)
    -  })
    -  .pipe(fs.createWriteStream('doodle.png'))
    -```
    -
    -Now let’s get fancy.
    -
    -```js
    -http.createServer(function (req, resp) {
    -  if (req.url === '/doodle.png') {
    -    if (req.method === 'PUT') {
    -      req.pipe(request.put('http://mysite.com/doodle.png'))
    -    } else if (req.method === 'GET' || req.method === 'HEAD') {
    -      request.get('http://mysite.com/doodle.png').pipe(resp)
    -    }
    -  }
    -})
    -```
    -
    -You can also `pipe()` from `http.ServerRequest` instances, as well as to `http.ServerResponse` instances. The HTTP method, headers, and entity-body data will be sent. Which means that, if you don't really care about security, you can do:
    -
    -```js
    -http.createServer(function (req, resp) {
    -  if (req.url === '/doodle.png') {
    -    const x = request('http://mysite.com/doodle.png')
    -    req.pipe(x)
    -    x.pipe(resp)
    -  }
    -})
    -```
    -
    -And since `pipe()` returns the destination stream in ≥ Node 0.5.x you can do one line proxying. :)
    -
    -```js
    -req.pipe(request('http://mysite.com/doodle.png')).pipe(resp)
    -```
    -
    -Also, none of this new functionality conflicts with requests previous features, it just expands them.
    -
    -```js
    -const r = request.defaults({'proxy':'http://localproxy.com'})
    -
    -http.createServer(function (req, resp) {
    -  if (req.url === '/doodle.png') {
    -    r.get('http://google.com/doodle.png').pipe(resp)
    -  }
    -})
    -```
    -
    -You can still use intermediate proxies, the requests will still follow HTTP forwards, etc.
    -
    -[back to top](#table-of-contents)
    -
    -
    ----
    -
    -
    -## Promises & Async/Await
    -
    -`request` supports both streaming and callback interfaces natively. If you'd like `request` to return a Promise instead, you can use an alternative interface wrapper for `request`. These wrappers can be useful if you prefer to work with Promises, or if you'd like to use `async`/`await` in ES2017.
    -
    -Several alternative interfaces are provided by the request team, including:
    -- [`request-promise`](https://github.com/request/request-promise) (uses [Bluebird](https://github.com/petkaantonov/bluebird) Promises)
    -- [`request-promise-native`](https://github.com/request/request-promise-native) (uses native Promises)
    -- [`request-promise-any`](https://github.com/request/request-promise-any) (uses [any-promise](https://www.npmjs.com/package/any-promise) Promises)
    -
    -Also, [`util.promisify`](https://nodejs.org/api/util.html#util_util_promisify_original), which is available from Node.js v8.0 can be used to convert a regular function that takes a callback to return a promise instead.
    -
    -
    -[back to top](#table-of-contents)
    -
    -
    ----
    -
    -
    -## Forms
    -
    -`request` supports `application/x-www-form-urlencoded` and `multipart/form-data` form uploads. For `multipart/related` refer to the `multipart` API.
    -
    -
    -#### application/x-www-form-urlencoded (URL-Encoded Forms)
    -
    -URL-encoded forms are simple.
    -
    -```js
    -request.post('http://service.com/upload', {form:{key:'value'}})
    -// or
    -request.post('http://service.com/upload').form({key:'value'})
    -// or
    -request.post({url:'http://service.com/upload', form: {key:'value'}}, function(err,httpResponse,body){ /* ... */ })
    -```
    -
    -
    -#### multipart/form-data (Multipart Form Uploads)
    -
    -For `multipart/form-data` we use the [form-data](https://github.com/form-data/form-data) library by [@felixge](https://github.com/felixge). For the most cases, you can pass your upload form data via the `formData` option.
    -
    -
    -```js
    -const formData = {
    -  // Pass a simple key-value pair
    -  my_field: 'my_value',
    -  // Pass data via Buffers
    -  my_buffer: Buffer.from([1, 2, 3]),
    -  // Pass data via Streams
    -  my_file: fs.createReadStream(__dirname + '/unicycle.jpg'),
    -  // Pass multiple values /w an Array
    -  attachments: [
    -    fs.createReadStream(__dirname + '/attachment1.jpg'),
    -    fs.createReadStream(__dirname + '/attachment2.jpg')
    -  ],
    -  // Pass optional meta-data with an 'options' object with style: {value: DATA, options: OPTIONS}
    -  // Use case: for some types of streams, you'll need to provide "file"-related information manually.
    -  // See the `form-data` README for more information about options: https://github.com/form-data/form-data
    -  custom_file: {
    -    value:  fs.createReadStream('/dev/urandom'),
    -    options: {
    -      filename: 'topsecret.jpg',
    -      contentType: 'image/jpeg'
    -    }
    -  }
    -};
    -request.post({url:'http://service.com/upload', formData: formData}, function optionalCallback(err, httpResponse, body) {
    -  if (err) {
    -    return console.error('upload failed:', err);
    -  }
    -  console.log('Upload successful!  Server responded with:', body);
    -});
    -```
    -
    -For advanced cases, you can access the form-data object itself via `r.form()`. This can be modified until the request is fired on the next cycle of the event-loop. (Note that this calling `form()` will clear the currently set form data for that request.)
    -
    -```js
    -// NOTE: Advanced use-case, for normal use see 'formData' usage above
    -const r = request.post('http://service.com/upload', function optionalCallback(err, httpResponse, body) {...})
    -const form = r.form();
    -form.append('my_field', 'my_value');
    -form.append('my_buffer', Buffer.from([1, 2, 3]));
    -form.append('custom_file', fs.createReadStream(__dirname + '/unicycle.jpg'), {filename: 'unicycle.jpg'});
    -```
    -See the [form-data README](https://github.com/form-data/form-data) for more information & examples.
    -
    -
    -#### multipart/related
    -
    -Some variations in different HTTP implementations require a newline/CRLF before, after, or both before and after the boundary of a `multipart/related` request (using the multipart option). This has been observed in the .NET WebAPI version 4.0. You can turn on a boundary preambleCRLF or postamble by passing them as `true` to your request options.
    -
    -```js
    -  request({
    -    method: 'PUT',
    -    preambleCRLF: true,
    -    postambleCRLF: true,
    -    uri: 'http://service.com/upload',
    -    multipart: [
    -      {
    -        'content-type': 'application/json',
    -        body: JSON.stringify({foo: 'bar', _attachments: {'message.txt': {follows: true, length: 18, 'content_type': 'text/plain' }}})
    -      },
    -      { body: 'I am an attachment' },
    -      { body: fs.createReadStream('image.png') }
    -    ],
    -    // alternatively pass an object containing additional options
    -    multipart: {
    -      chunked: false,
    -      data: [
    -        {
    -          'content-type': 'application/json',
    -          body: JSON.stringify({foo: 'bar', _attachments: {'message.txt': {follows: true, length: 18, 'content_type': 'text/plain' }}})
    -        },
    -        { body: 'I am an attachment' }
    -      ]
    -    }
    -  },
    -  function (error, response, body) {
    -    if (error) {
    -      return console.error('upload failed:', error);
    -    }
    -    console.log('Upload successful!  Server responded with:', body);
    -  })
    -```
    -
    -[back to top](#table-of-contents)
    -
    -
    ----
    -
    -
    -## HTTP Authentication
    -
    -```js
    -request.get('http://some.server.com/').auth('username', 'password', false);
    -// or
    -request.get('http://some.server.com/', {
    -  'auth': {
    -    'user': 'username',
    -    'pass': 'password',
    -    'sendImmediately': false
    -  }
    -});
    -// or
    -request.get('http://some.server.com/').auth(null, null, true, 'bearerToken');
    -// or
    -request.get('http://some.server.com/', {
    -  'auth': {
    -    'bearer': 'bearerToken'
    -  }
    -});
    -```
    -
    -If passed as an option, `auth` should be a hash containing values:
    -
    -- `user` || `username`
    -- `pass` || `password`
    -- `sendImmediately` (optional)
    -- `bearer` (optional)
    -
    -The method form takes parameters
    -`auth(username, password, sendImmediately, bearer)`.
    -
    -`sendImmediately` defaults to `true`, which causes a basic or bearer
    -authentication header to be sent. If `sendImmediately` is `false`, then
    -`request` will retry with a proper authentication header after receiving a
    -`401` response from the server (which must contain a `WWW-Authenticate` header
    -indicating the required authentication method).
    -
    -Note that you can also specify basic authentication using the URL itself, as
    -detailed in [RFC 1738](http://www.ietf.org/rfc/rfc1738.txt). Simply pass the
    -`user:password` before the host with an `@` sign:
    -
    -```js
    -const username = 'username',
    -    password = 'password',
    -    url = 'http://' + username + ':' + password + '@some.server.com';
    -
    -request({url}, function (error, response, body) {
    -   // Do more stuff with 'body' here
    -});
    -```
    -
    -Digest authentication is supported, but it only works with `sendImmediately`
    -set to `false`; otherwise `request` will send basic authentication on the
    -initial request, which will probably cause the request to fail.
    -
    -Bearer authentication is supported, and is activated when the `bearer` value is
    -available. The value may be either a `String` or a `Function` returning a
    -`String`. Using a function to supply the bearer token is particularly useful if
    -used in conjunction with `defaults` to allow a single function to supply the
    -last known token at the time of sending a request, or to compute one on the fly.
    -
    -[back to top](#table-of-contents)
    -
    -
    ----
    -
    -
    -## Custom HTTP Headers
    -
    -HTTP Headers, such as `User-Agent`, can be set in the `options` object.
    -In the example below, we call the github API to find out the number
    -of stars and forks for the request repository. This requires a
    -custom `User-Agent` header as well as https.
    -
    -```js
    -const request = require('request');
    -
    -const options = {
    -  url: 'https://api.github.com/repos/request/request',
    -  headers: {
    -    'User-Agent': 'request'
    -  }
    -};
    -
    -function callback(error, response, body) {
    -  if (!error && response.statusCode == 200) {
    -    const info = JSON.parse(body);
    -    console.log(info.stargazers_count + " Stars");
    -    console.log(info.forks_count + " Forks");
    -  }
    -}
    -
    -request(options, callback);
    -```
    -
    -[back to top](#table-of-contents)
    -
    -
    ----
    -
    -
    -## OAuth Signing
    -
    -[OAuth version 1.0](https://tools.ietf.org/html/rfc5849) is supported. The
    -default signing algorithm is
    -[HMAC-SHA1](https://tools.ietf.org/html/rfc5849#section-3.4.2):
    -
    -```js
    -// OAuth1.0 - 3-legged server side flow (Twitter example)
    -// step 1
    -const qs = require('querystring')
    -  , oauth =
    -    { callback: 'http://mysite.com/callback/'
    -    , consumer_key: CONSUMER_KEY
    -    , consumer_secret: CONSUMER_SECRET
    -    }
    -  , url = 'https://api.twitter.com/oauth/request_token'
    -  ;
    -request.post({url:url, oauth:oauth}, function (e, r, body) {
    -  // Ideally, you would take the body in the response
    -  // and construct a URL that a user clicks on (like a sign in button).
    -  // The verifier is only available in the response after a user has
    -  // verified with twitter that they are authorizing your app.
    -
    -  // step 2
    -  const req_data = qs.parse(body)
    -  const uri = 'https://api.twitter.com/oauth/authenticate'
    -    + '?' + qs.stringify({oauth_token: req_data.oauth_token})
    -  // redirect the user to the authorize uri
    -
    -  // step 3
    -  // after the user is redirected back to your server
    -  const auth_data = qs.parse(body)
    -    , oauth =
    -      { consumer_key: CONSUMER_KEY
    -      , consumer_secret: CONSUMER_SECRET
    -      , token: auth_data.oauth_token
    -      , token_secret: req_data.oauth_token_secret
    -      , verifier: auth_data.oauth_verifier
    -      }
    -    , url = 'https://api.twitter.com/oauth/access_token'
    -    ;
    -  request.post({url:url, oauth:oauth}, function (e, r, body) {
    -    // ready to make signed requests on behalf of the user
    -    const perm_data = qs.parse(body)
    -      , oauth =
    -        { consumer_key: CONSUMER_KEY
    -        , consumer_secret: CONSUMER_SECRET
    -        , token: perm_data.oauth_token
    -        , token_secret: perm_data.oauth_token_secret
    -        }
    -      , url = 'https://api.twitter.com/1.1/users/show.json'
    -      , qs =
    -        { screen_name: perm_data.screen_name
    -        , user_id: perm_data.user_id
    -        }
    -      ;
    -    request.get({url:url, oauth:oauth, qs:qs, json:true}, function (e, r, user) {
    -      console.log(user)
    -    })
    -  })
    -})
    -```
    -
    -For [RSA-SHA1 signing](https://tools.ietf.org/html/rfc5849#section-3.4.3), make
    -the following changes to the OAuth options object:
    -* Pass `signature_method : 'RSA-SHA1'`
    -* Instead of `consumer_secret`, specify a `private_key` string in
    -  [PEM format](http://how2ssl.com/articles/working_with_pem_files/)
    -
    -For [PLAINTEXT signing](http://oauth.net/core/1.0/#anchor22), make
    -the following changes to the OAuth options object:
    -* Pass `signature_method : 'PLAINTEXT'`
    -
    -To send OAuth parameters via query params or in a post body as described in The
    -[Consumer Request Parameters](http://oauth.net/core/1.0/#consumer_req_param)
    -section of the oauth1 spec:
    -* Pass `transport_method : 'query'` or `transport_method : 'body'` in the OAuth
    -  options object.
    -* `transport_method` defaults to `'header'`
    -
    -To use [Request Body Hash](https://oauth.googlecode.com/svn/spec/ext/body_hash/1.0/oauth-bodyhash.html) you can either
    -* Manually generate the body hash and pass it as a string `body_hash: '...'`
    -* Automatically generate the body hash by passing `body_hash: true`
    -
    -[back to top](#table-of-contents)
    -
    -
    ----
    -
    -
    -## Proxies
    -
    -If you specify a `proxy` option, then the request (and any subsequent
    -redirects) will be sent via a connection to the proxy server.
    -
    -If your endpoint is an `https` url, and you are using a proxy, then
    -request will send a `CONNECT` request to the proxy server *first*, and
    -then use the supplied connection to connect to the endpoint.
    -
    -That is, first it will make a request like:
    -
    -```
    -HTTP/1.1 CONNECT endpoint-server.com:80
    -Host: proxy-server.com
    -User-Agent: whatever user agent you specify
    -```
    -
    -and then the proxy server make a TCP connection to `endpoint-server`
    -on port `80`, and return a response that looks like:
    -
    -```
    -HTTP/1.1 200 OK
    -```
    -
    -At this point, the connection is left open, and the client is
    -communicating directly with the `endpoint-server.com` machine.
    -
    -See [the wikipedia page on HTTP Tunneling](https://en.wikipedia.org/wiki/HTTP_tunnel)
    -for more information.
    -
    -By default, when proxying `http` traffic, request will simply make a
    -standard proxied `http` request. This is done by making the `url`
    -section of the initial line of the request a fully qualified url to
    -the endpoint.
    -
    -For example, it will make a single request that looks like:
    -
    -```
    -HTTP/1.1 GET http://endpoint-server.com/some-url
    -Host: proxy-server.com
    -Other-Headers: all go here
    -
    -request body or whatever
    -```
    -
    -Because a pure "http over http" tunnel offers no additional security
    -or other features, it is generally simpler to go with a
    -straightforward HTTP proxy in this case. However, if you would like
    -to force a tunneling proxy, you may set the `tunnel` option to `true`.
    -
    -You can also make a standard proxied `http` request by explicitly setting
    -`tunnel : false`, but **note that this will allow the proxy to see the traffic
    -to/from the destination server**.
    -
    -If you are using a tunneling proxy, you may set the
    -`proxyHeaderWhiteList` to share certain headers with the proxy.
    -
    -You can also set the `proxyHeaderExclusiveList` to share certain
    -headers only with the proxy and not with destination host.
    -
    -By default, this set is:
    -
    -```
    -accept
    -accept-charset
    -accept-encoding
    -accept-language
    -accept-ranges
    -cache-control
    -content-encoding
    -content-language
    -content-length
    -content-location
    -content-md5
    -content-range
    -content-type
    -connection
    -date
    -expect
    -max-forwards
    -pragma
    -proxy-authorization
    -referer
    -te
    -transfer-encoding
    -user-agent
    -via
    -```
    -
    -Note that, when using a tunneling proxy, the `proxy-authorization`
    -header and any headers from custom `proxyHeaderExclusiveList` are
    -*never* sent to the endpoint server, but only to the proxy server.
    -
    -
    -### Controlling proxy behaviour using environment variables
    -
    -The following environment variables are respected by `request`:
    -
    - * `HTTP_PROXY` / `http_proxy`
    - * `HTTPS_PROXY` / `https_proxy`
    - * `NO_PROXY` / `no_proxy`
    -
    -When `HTTP_PROXY` / `http_proxy` are set, they will be used to proxy non-SSL requests that do not have an explicit `proxy` configuration option present. Similarly, `HTTPS_PROXY` / `https_proxy` will be respected for SSL requests that do not have an explicit `proxy` configuration option. It is valid to define a proxy in one of the environment variables, but then override it for a specific request, using the `proxy` configuration option. Furthermore, the `proxy` configuration option can be explicitly set to false / null to opt out of proxying altogether for that request.
    -
    -`request` is also aware of the `NO_PROXY`/`no_proxy` environment variables. These variables provide a granular way to opt out of proxying, on a per-host basis. It should contain a comma separated list of hosts to opt out of proxying. It is also possible to opt of proxying when a particular destination port is used. Finally, the variable may be set to `*` to opt out of the implicit proxy configuration of the other environment variables.
    -
    -Here's some examples of valid `no_proxy` values:
    -
    - * `google.com` - don't proxy HTTP/HTTPS requests to Google.
    - * `google.com:443` - don't proxy HTTPS requests to Google, but *do* proxy HTTP requests to Google.
    - * `google.com:443, yahoo.com:80` - don't proxy HTTPS requests to Google, and don't proxy HTTP requests to Yahoo!
    - * `*` - ignore `https_proxy`/`http_proxy` environment variables altogether.
    -
    -[back to top](#table-of-contents)
    -
    -
    ----
    -
    -
    -## UNIX Domain Sockets
    -
    -`request` supports making requests to [UNIX Domain Sockets](https://en.wikipedia.org/wiki/Unix_domain_socket). To make one, use the following URL scheme:
    -
    -```js
    -/* Pattern */ 'http://unix:SOCKET:PATH'
    -/* Example */ request.get('http://unix:/absolute/path/to/unix.socket:/request/path')
    -```
    -
    -Note: The `SOCKET` path is assumed to be absolute to the root of the host file system.
    -
    -[back to top](#table-of-contents)
    -
    -
    ----
    -
    -
    -## TLS/SSL Protocol
    -
    -TLS/SSL Protocol options, such as `cert`, `key` and `passphrase`, can be
    -set directly in `options` object, in the `agentOptions` property of the `options` object, or even in `https.globalAgent.options`. Keep in mind that, although `agentOptions` allows for a slightly wider range of configurations, the recommended way is via `options` object directly, as using `agentOptions` or `https.globalAgent.options` would not be applied in the same way in proxied environments (as data travels through a TLS connection instead of an http/https agent).
    -
    -```js
    -const fs = require('fs')
    -    , path = require('path')
    -    , certFile = path.resolve(__dirname, 'ssl/client.crt')
    -    , keyFile = path.resolve(__dirname, 'ssl/client.key')
    -    , caFile = path.resolve(__dirname, 'ssl/ca.cert.pem')
    -    , request = require('request');
    -
    -const options = {
    -    url: 'https://api.some-server.com/',
    -    cert: fs.readFileSync(certFile),
    -    key: fs.readFileSync(keyFile),
    -    passphrase: 'password',
    -    ca: fs.readFileSync(caFile)
    -};
    -
    -request.get(options);
    -```
    -
    -### Using `options.agentOptions`
    -
    -In the example below, we call an API that requires client side SSL certificate
    -(in PEM format) with passphrase protected private key (in PEM format) and disable the SSLv3 protocol:
    -
    -```js
    -const fs = require('fs')
    -    , path = require('path')
    -    , certFile = path.resolve(__dirname, 'ssl/client.crt')
    -    , keyFile = path.resolve(__dirname, 'ssl/client.key')
    -    , request = require('request');
    -
    -const options = {
    -    url: 'https://api.some-server.com/',
    -    agentOptions: {
    -        cert: fs.readFileSync(certFile),
    -        key: fs.readFileSync(keyFile),
    -        // Or use `pfx` property replacing `cert` and `key` when using private key, certificate and CA certs in PFX or PKCS12 format:
    -        // pfx: fs.readFileSync(pfxFilePath),
    -        passphrase: 'password',
    -        securityOptions: 'SSL_OP_NO_SSLv3'
    -    }
    -};
    -
    -request.get(options);
    -```
    -
    -It is able to force using SSLv3 only by specifying `secureProtocol`:
    -
    -```js
    -request.get({
    -    url: 'https://api.some-server.com/',
    -    agentOptions: {
    -        secureProtocol: 'SSLv3_method'
    -    }
    -});
    -```
    -
    -It is possible to accept other certificates than those signed by generally allowed Certificate Authorities (CAs).
    -This can be useful, for example,  when using self-signed certificates.
    -To require a different root certificate, you can specify the signing CA by adding the contents of the CA's certificate file to the `agentOptions`.
    -The certificate the domain presents must be signed by the root certificate specified:
    -
    -```js
    -request.get({
    -    url: 'https://api.some-server.com/',
    -    agentOptions: {
    -        ca: fs.readFileSync('ca.cert.pem')
    -    }
    -});
    -```
    -
    -The `ca` value can be an array of certificates, in the event you have a private or internal corporate public-key infrastructure hierarchy. For example, if you want to connect to https://api.some-server.com which presents a key chain consisting of:
    -1. its own public key, which is signed by:
    -2. an intermediate "Corp Issuing Server", that is in turn signed by: 
    -3. a root CA "Corp Root CA";
    -
    -you can configure your request as follows:
    -
    -```js
    -request.get({
    -    url: 'https://api.some-server.com/',
    -    agentOptions: {
    -        ca: [
    -          fs.readFileSync('Corp Issuing Server.pem'),
    -          fs.readFileSync('Corp Root CA.pem')
    -        ]
    -    }
    -});
    -```
    -
    -[back to top](#table-of-contents)
    -
    -
    ----
    -
    -## Support for HAR 1.2
    -
    -The `options.har` property will override the values: `url`, `method`, `qs`, `headers`, `form`, `formData`, `body`, `json`, as well as construct multipart data and read files from disk when `request.postData.params[].fileName` is present without a matching `value`.
    -
    -A validation step will check if the HAR Request format matches the latest spec (v1.2) and will skip parsing if not matching.
    -
    -```js
    -  const request = require('request')
    -  request({
    -    // will be ignored
    -    method: 'GET',
    -    uri: 'http://www.google.com',
    -
    -    // HTTP Archive Request Object
    -    har: {
    -      url: 'http://www.mockbin.com/har',
    -      method: 'POST',
    -      headers: [
    -        {
    -          name: 'content-type',
    -          value: 'application/x-www-form-urlencoded'
    -        }
    -      ],
    -      postData: {
    -        mimeType: 'application/x-www-form-urlencoded',
    -        params: [
    -          {
    -            name: 'foo',
    -            value: 'bar'
    -          },
    -          {
    -            name: 'hello',
    -            value: 'world'
    -          }
    -        ]
    -      }
    -    }
    -  })
    -
    -  // a POST request will be sent to http://www.mockbin.com
    -  // with body an application/x-www-form-urlencoded body:
    -  // foo=bar&hello=world
    -```
    -
    -[back to top](#table-of-contents)
    -
    -
    ----
    -
    -## request(options, callback)
    -
    -The first argument can be either a `url` or an `options` object. The only required option is `uri`; all others are optional.
    -
    -- `uri` || `url` - fully qualified uri or a parsed url object from `url.parse()`
    -- `baseUrl` - fully qualified uri string used as the base url. Most useful with `request.defaults`, for example when you want to do many requests to the same domain. If `baseUrl` is `https://example.com/api/`, then requesting `/end/point?test=true` will fetch `https://example.com/api/end/point?test=true`. When `baseUrl` is given, `uri` must also be a string.
    -- `method` - http method (default: `"GET"`)
    -- `headers` - http headers (default: `{}`)
    -
    ----
    -
    -- `qs` - object containing querystring values to be appended to the `uri`
    -- `qsParseOptions` - object containing options to pass to the [qs.parse](https://github.com/hapijs/qs#parsing-objects) method. Alternatively pass options to the [querystring.parse](https://nodejs.org/docs/v0.12.0/api/querystring.html#querystring_querystring_parse_str_sep_eq_options) method using this format `{sep:';', eq:':', options:{}}`
    -- `qsStringifyOptions` - object containing options to pass to the [qs.stringify](https://github.com/hapijs/qs#stringifying) method. Alternatively pass options to the  [querystring.stringify](https://nodejs.org/docs/v0.12.0/api/querystring.html#querystring_querystring_stringify_obj_sep_eq_options) method using this format `{sep:';', eq:':', options:{}}`. For example, to change the way arrays are converted to query strings using the `qs` module pass the `arrayFormat` option with one of `indices|brackets|repeat`
    -- `useQuerystring` - if true, use `querystring` to stringify and parse
    -  querystrings, otherwise use `qs` (default: `false`). Set this option to
    -  `true` if you need arrays to be serialized as `foo=bar&foo=baz` instead of the
    -  default `foo[0]=bar&foo[1]=baz`.
    -
    ----
    -
    -- `body` - entity body for PATCH, POST and PUT requests. Must be a `Buffer`, `String` or `ReadStream`. If `json` is `true`, then `body` must be a JSON-serializable object.
    -- `form` - when passed an object or a querystring, this sets `body` to a querystring representation of value, and adds `Content-type: application/x-www-form-urlencoded` header. When passed no options, a `FormData` instance is returned (and is piped to request). See "Forms" section above.
    -- `formData` - data to pass for a `multipart/form-data` request. See
    -  [Forms](#forms) section above.
    -- `multipart` - array of objects which contain their own headers and `body`
    -  attributes. Sends a `multipart/related` request. See [Forms](#forms) section
    -  above.
    -  - Alternatively you can pass in an object `{chunked: false, data: []}` where
    -    `chunked` is used to specify whether the request is sent in
    -    [chunked transfer encoding](https://en.wikipedia.org/wiki/Chunked_transfer_encoding)
    -    In non-chunked requests, data items with body streams are not allowed.
    -- `preambleCRLF` - append a newline/CRLF before the boundary of your `multipart/form-data` request.
    -- `postambleCRLF` - append a newline/CRLF at the end of the boundary of your `multipart/form-data` request.
    -- `json` - sets `body` to JSON representation of value and adds `Content-type: application/json` header. Additionally, parses the response body as JSON.
    -- `jsonReviver` - a [reviver function](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/JSON/parse) that will be passed to `JSON.parse()` when parsing a JSON response body.
    -- `jsonReplacer` - a [replacer function](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/JSON/stringify) that will be passed to `JSON.stringify()` when stringifying a JSON request body.
    -
    ----
    -
    -- `auth` - a hash containing values `user` || `username`, `pass` || `password`, and `sendImmediately` (optional). See documentation above.
    -- `oauth` - options for OAuth HMAC-SHA1 signing. See documentation above.
    -- `hawk` - options for [Hawk signing](https://github.com/hueniverse/hawk). The `credentials` key must contain the necessary signing info, [see hawk docs for details](https://github.com/hueniverse/hawk#usage-example).
    -- `aws` - `object` containing AWS signing information. Should have the properties `key`, `secret`, and optionally `session` (note that this only works for services that require session as part of the canonical string). Also requires the property `bucket`, unless you’re specifying your `bucket` as part of the path, or the request doesn’t use a bucket (i.e. GET Services). If you want to use AWS sign version 4 use the parameter `sign_version` with value `4` otherwise the default is version 2. If you are using SigV4, you can also include a `service` property that specifies the service name. **Note:** you need to `npm install aws4` first.
    -- `httpSignature` - options for the [HTTP Signature Scheme](https://github.com/joyent/node-http-signature/blob/master/http_signing.md) using [Joyent's library](https://github.com/joyent/node-http-signature). The `keyId` and `key` properties must be specified. See the docs for other options.
    -
    ----
    -
    -- `followRedirect` - follow HTTP 3xx responses as redirects (default: `true`). This property can also be implemented as function which gets `response` object as a single argument and should return `true` if redirects should continue or `false` otherwise.
    -- `followAllRedirects` - follow non-GET HTTP 3xx responses as redirects (default: `false`)
    -- `followOriginalHttpMethod` - by default we redirect to HTTP method GET. you can enable this property to redirect to the original HTTP method (default: `false`)
    -- `maxRedirects` - the maximum number of redirects to follow (default: `10`)
    -- `removeRefererHeader` - removes the referer header when a redirect happens (default: `false`). **Note:** if true, referer header set in the initial request is preserved during redirect chain.
    -
    ----
    -
    -- `encoding` - encoding to be used on `setEncoding` of response data. If `null`, the `body` is returned as a `Buffer`. Anything else **(including the default value of `undefined`)** will be passed as the [encoding](http://nodejs.org/api/buffer.html#buffer_buffer) parameter to `toString()` (meaning this is effectively `utf8` by default). (**Note:** if you expect binary data, you should set `encoding: null`.)
    -- `gzip` - if `true`, add an `Accept-Encoding` header to request compressed content encodings from the server (if not already present) and decode supported content encodings in the response. **Note:** Automatic decoding of the response content is performed on the body data returned through `request` (both through the `request` stream and passed to the callback function) but is not performed on the `response` stream (available from the `response` event) which is the unmodified `http.IncomingMessage` object which may contain compressed data. See example below.
    -- `jar` - if `true`, remember cookies for future use (or define your custom cookie jar; see examples section)
    -
    ----
    -
    -- `agent` - `http(s).Agent` instance to use
    -- `agentClass` - alternatively specify your agent's class name
    -- `agentOptions` - and pass its options. **Note:** for HTTPS see [tls API doc for TLS/SSL options](http://nodejs.org/api/tls.html#tls_tls_connect_options_callback) and the [documentation above](#using-optionsagentoptions).
    -- `forever` - set to `true` to use the [forever-agent](https://github.com/request/forever-agent) **Note:** Defaults to `http(s).Agent({keepAlive:true})` in node 0.12+
    -- `pool` - an object describing which agents to use for the request. If this option is omitted the request will use the global agent (as long as your options allow for it). Otherwise, request will search the pool for your custom agent. If no custom agent is found, a new agent will be created and added to the pool. **Note:** `pool` is used only when the `agent` option is not specified.
    -  - A `maxSockets` property can also be provided on the `pool` object to set the max number of sockets for all agents created (ex: `pool: {maxSockets: Infinity}`).
    -  - Note that if you are sending multiple requests in a loop and creating
    -    multiple new `pool` objects, `maxSockets` will not work as intended. To
    -    work around this, either use [`request.defaults`](#requestdefaultsoptions)
    -    with your pool options or create the pool object with the `maxSockets`
    -    property outside of the loop.
    -- `timeout` - integer containing number of milliseconds, controls two timeouts.
    -  - **Read timeout**: Time to wait for a server to send response headers (and start the response body) before aborting the request.
    -  - **Connection timeout**: Sets the socket to timeout after `timeout` milliseconds of inactivity. Note that increasing the timeout beyond the OS-wide TCP connection timeout will not have any effect ([the default in Linux can be anywhere from 20-120 seconds][linux-timeout])
    -
    -[linux-timeout]: http://www.sekuda.com/overriding_the_default_linux_kernel_20_second_tcp_socket_connect_timeout
    -
    ----
    -
    -- `localAddress` - local interface to bind for network connections.
    -- `proxy` - an HTTP proxy to be used. Supports proxy Auth with Basic Auth, identical to support for the `url` parameter (by embedding the auth info in the `uri`)
    -- `strictSSL` - if `true`, requires SSL certificates be valid. **Note:** to use your own certificate authority, you need to specify an agent that was created with that CA as an option.
    -- `tunnel` - controls the behavior of
    -  [HTTP `CONNECT` tunneling](https://en.wikipedia.org/wiki/HTTP_tunnel#HTTP_CONNECT_tunneling)
    -  as follows:
    -   - `undefined` (default) - `true` if the destination is `https`, `false` otherwise
    -   - `true` - always tunnel to the destination by making a `CONNECT` request to
    -     the proxy
    -   - `false` - request the destination as a `GET` request.
    -- `proxyHeaderWhiteList` - a whitelist of headers to send to a
    -  tunneling proxy.
    -- `proxyHeaderExclusiveList` - a whitelist of headers to send
    -  exclusively to a tunneling proxy and not to destination.
    -
    ----
    -
    -- `time` - if `true`, the request-response cycle (including all redirects) is timed at millisecond resolution. When set, the following properties are added to the response object:
    -  - `elapsedTime` Duration of the entire request/response in milliseconds (*deprecated*).
    -  - `responseStartTime` Timestamp when the response began (in Unix Epoch milliseconds) (*deprecated*).
    -  - `timingStart` Timestamp of the start of the request (in Unix Epoch milliseconds).
    -  - `timings` Contains event timestamps in millisecond resolution relative to `timingStart`. If there were redirects, the properties reflect the timings of the final request in the redirect chain:
    -    - `socket` Relative timestamp when the [`http`](https://nodejs.org/api/http.html#http_event_socket) module's `socket` event fires. This happens when the socket is assigned to the request.
    -    - `lookup` Relative timestamp when the [`net`](https://nodejs.org/api/net.html#net_event_lookup) module's `lookup` event fires. This happens when the DNS has been resolved.
    -    - `connect`: Relative timestamp when the [`net`](https://nodejs.org/api/net.html#net_event_connect) module's `connect` event fires. This happens when the server acknowledges the TCP connection.
    -    - `response`: Relative timestamp when the [`http`](https://nodejs.org/api/http.html#http_event_response) module's `response` event fires. This happens when the first bytes are received from the server.
    -    - `end`: Relative timestamp when the last bytes of the response are received.
    -  - `timingPhases` Contains the durations of each request phase. If there were redirects, the properties reflect the timings of the final request in the redirect chain:
    -    - `wait`: Duration of socket initialization (`timings.socket`)
    -    - `dns`: Duration of DNS lookup (`timings.lookup` - `timings.socket`)
    -    - `tcp`: Duration of TCP connection (`timings.connect` - `timings.socket`)
    -    - `firstByte`: Duration of HTTP server response (`timings.response` - `timings.connect`)
    -    - `download`: Duration of HTTP download (`timings.end` - `timings.response`)
    -    - `total`: Duration entire HTTP round-trip (`timings.end`)
    -
    -- `har` - a [HAR 1.2 Request Object](http://www.softwareishard.com/blog/har-12-spec/#request), will be processed from HAR format into options overwriting matching values *(see the [HAR 1.2 section](#support-for-har-12) for details)*
    -- `callback` - alternatively pass the request's callback in the options object
    -
    -The callback argument gets 3 arguments:
    -
    -1. An `error` when applicable (usually from [`http.ClientRequest`](http://nodejs.org/api/http.html#http_class_http_clientrequest) object)
    -2. An [`http.IncomingMessage`](https://nodejs.org/api/http.html#http_class_http_incomingmessage) object (Response object)
    -3. The third is the `response` body (`String` or `Buffer`, or JSON object if the `json` option is supplied)
    -
    -[back to top](#table-of-contents)
    -
    -
    ----
    -
    -## Convenience methods
    -
    -There are also shorthand methods for different HTTP METHODs and some other conveniences.
    -
    -
    -### request.defaults(options)
    -
    -This method **returns a wrapper** around the normal request API that defaults
    -to whatever options you pass to it.
    -
    -**Note:** `request.defaults()` **does not** modify the global request API;
    -instead, it **returns a wrapper** that has your default settings applied to it.
    -
    -**Note:** You can call `.defaults()` on the wrapper that is returned from
    -`request.defaults` to add/override defaults that were previously defaulted.
    -
    -For example:
    -```js
    -//requests using baseRequest() will set the 'x-token' header
    -const baseRequest = request.defaults({
    -  headers: {'x-token': 'my-token'}
    -})
    -
    -//requests using specialRequest() will include the 'x-token' header set in
    -//baseRequest and will also include the 'special' header
    -const specialRequest = baseRequest.defaults({
    -  headers: {special: 'special value'}
    -})
    -```
    -
    -### request.METHOD()
    -
    -These HTTP method convenience functions act just like `request()` but with a default method already set for you:
    -
    -- *request.get()*: Defaults to `method: "GET"`.
    -- *request.post()*: Defaults to `method: "POST"`.
    -- *request.put()*: Defaults to `method: "PUT"`.
    -- *request.patch()*: Defaults to `method: "PATCH"`.
    -- *request.del() / request.delete()*: Defaults to `method: "DELETE"`.
    -- *request.head()*: Defaults to `method: "HEAD"`.
    -- *request.options()*: Defaults to `method: "OPTIONS"`.
    -
    -### request.cookie()
    -
    -Function that creates a new cookie.
    -
    -```js
    -request.cookie('key1=value1')
    -```
    -### request.jar()
    -
    -Function that creates a new cookie jar.
    -
    -```js
    -request.jar()
    -```
    -
    -### response.caseless.get('header-name')
    -
    -Function that returns the specified response header field using a [case-insensitive match](https://tools.ietf.org/html/rfc7230#section-3.2)
    -
    -```js
    -request('http://www.google.com', function (error, response, body) {
    -  // print the Content-Type header even if the server returned it as 'content-type' (lowercase)
    -  console.log('Content-Type is:', response.caseless.get('Content-Type')); 
    -});
    -```
    -
    -[back to top](#table-of-contents)
    -
    -
    ----
    -
    -
    -## Debugging
    -
    -There are at least three ways to debug the operation of `request`:
    -
    -1. Launch the node process like `NODE_DEBUG=request node script.js`
    -   (`lib,request,otherlib` works too).
    -
    -2. Set `require('request').debug = true` at any time (this does the same thing
    -   as #1).
    -
    -3. Use the [request-debug module](https://github.com/request/request-debug) to
    -   view request and response headers and bodies.
    -
    -[back to top](#table-of-contents)
    -
    -
    ----
    -
    -## Timeouts
    -
    -Most requests to external servers should have a timeout attached, in case the
    -server is not responding in a timely manner. Without a timeout, your code may
    -have a socket open/consume resources for minutes or more.
    -
    -There are two main types of timeouts: **connection timeouts** and **read
    -timeouts**. A connect timeout occurs if the timeout is hit while your client is
    -attempting to establish a connection to a remote machine (corresponding to the
    -[connect() call][connect] on the socket). A read timeout occurs any time the
    -server is too slow to send back a part of the response.
    -
    -These two situations have widely different implications for what went wrong
    -with the request, so it's useful to be able to distinguish them. You can detect
    -timeout errors by checking `err.code` for an 'ETIMEDOUT' value. Further, you
    -can detect whether the timeout was a connection timeout by checking if the
    -`err.connect` property is set to `true`.
    -
    -```js
    -request.get('http://10.255.255.1', {timeout: 1500}, function(err) {
    -    console.log(err.code === 'ETIMEDOUT');
    -    // Set to `true` if the timeout was a connection timeout, `false` or
    -    // `undefined` otherwise.
    -    console.log(err.connect === true);
    -    process.exit(0);
    -});
    -```
    -
    -[connect]: http://linux.die.net/man/2/connect
    -
    -## Examples:
    -
    -```js
    -  const request = require('request')
    -    , rand = Math.floor(Math.random()*100000000).toString()
    -    ;
    -  request(
    -    { method: 'PUT'
    -    , uri: 'http://mikeal.iriscouch.com/testjs/' + rand
    -    , multipart:
    -      [ { 'content-type': 'application/json'
    -        ,  body: JSON.stringify({foo: 'bar', _attachments: {'message.txt': {follows: true, length: 18, 'content_type': 'text/plain' }}})
    -        }
    -      , { body: 'I am an attachment' }
    -      ]
    -    }
    -  , function (error, response, body) {
    -      if(response.statusCode == 201){
    -        console.log('document saved as: http://mikeal.iriscouch.com/testjs/'+ rand)
    -      } else {
    -        console.log('error: '+ response.statusCode)
    -        console.log(body)
    -      }
    -    }
    -  )
    -```
    -
    -For backwards-compatibility, response compression is not supported by default.
    -To accept gzip-compressed responses, set the `gzip` option to `true`. Note
    -that the body data passed through `request` is automatically decompressed
    -while the response object is unmodified and will contain compressed data if
    -the server sent a compressed response.
    -
    -```js
    -  const request = require('request')
    -  request(
    -    { method: 'GET'
    -    , uri: 'http://www.google.com'
    -    , gzip: true
    -    }
    -  , function (error, response, body) {
    -      // body is the decompressed response body
    -      console.log('server encoded the data as: ' + (response.headers['content-encoding'] || 'identity'))
    -      console.log('the decoded data is: ' + body)
    -    }
    -  )
    -  .on('data', function(data) {
    -    // decompressed data as it is received
    -    console.log('decoded chunk: ' + data)
    -  })
    -  .on('response', function(response) {
    -    // unmodified http.IncomingMessage object
    -    response.on('data', function(data) {
    -      // compressed data as it is received
    -      console.log('received ' + data.length + ' bytes of compressed data')
    -    })
    -  })
    -```
    -
    -Cookies are disabled by default (else, they would be used in subsequent requests). To enable cookies, set `jar` to `true` (either in `defaults` or `options`).
    -
    -```js
    -const request = request.defaults({jar: true})
    -request('http://www.google.com', function () {
    -  request('http://images.google.com')
    -})
    -```
    -
    -To use a custom cookie jar (instead of `request`’s global cookie jar), set `jar` to an instance of `request.jar()` (either in `defaults` or `options`)
    -
    -```js
    -const j = request.jar()
    -const request = request.defaults({jar:j})
    -request('http://www.google.com', function () {
    -  request('http://images.google.com')
    -})
    -```
    -
    -OR
    -
    -```js
    -const j = request.jar();
    -const cookie = request.cookie('key1=value1');
    -const url = 'http://www.google.com';
    -j.setCookie(cookie, url);
    -request({url: url, jar: j}, function () {
    -  request('http://images.google.com')
    -})
    -```
    -
    -To use a custom cookie store (such as a
    -[`FileCookieStore`](https://github.com/mitsuru/tough-cookie-filestore)
    -which supports saving to and restoring from JSON files), pass it as a parameter
    -to `request.jar()`:
    -
    -```js
    -const FileCookieStore = require('tough-cookie-filestore');
    -// NOTE - currently the 'cookies.json' file must already exist!
    -const j = request.jar(new FileCookieStore('cookies.json'));
    -request = request.defaults({ jar : j })
    -request('http://www.google.com', function() {
    -  request('http://images.google.com')
    -})
    -```
    -
    -The cookie store must be a
    -[`tough-cookie`](https://github.com/SalesforceEng/tough-cookie)
    -store and it must support synchronous operations; see the
    -[`CookieStore` API docs](https://github.com/SalesforceEng/tough-cookie#api)
    -for details.
    -
    -To inspect your cookie jar after a request:
    -
    -```js
    -const j = request.jar()
    -request({url: 'http://www.google.com', jar: j}, function () {
    -  const cookie_string = j.getCookieString(url); // "key1=value1; key2=value2; ..."
    -  const cookies = j.getCookies(url);
    -  // [{key: 'key1', value: 'value1', domain: "www.google.com", ...}, ...]
    -})
    -```
    -
    -[back to top](#table-of-contents)
    diff --git a/deps/npm/node_modules/request/node_modules/form-data/README.md b/deps/npm/node_modules/request/node_modules/form-data/README.md
    deleted file mode 100644
    index d7809364fba882..00000000000000
    --- a/deps/npm/node_modules/request/node_modules/form-data/README.md
    +++ /dev/null
    @@ -1,234 +0,0 @@
    -# Form-Data [![NPM Module](https://img.shields.io/npm/v/form-data.svg)](https://www.npmjs.com/package/form-data) [![Join the chat at https://gitter.im/form-data/form-data](http://form-data.github.io/images/gitterbadge.svg)](https://gitter.im/form-data/form-data)
    -
    -A library to create readable ```"multipart/form-data"``` streams. Can be used to submit forms and file uploads to other web applications.
    -
    -The API of this library is inspired by the [XMLHttpRequest-2 FormData Interface][xhr2-fd].
    -
    -[xhr2-fd]: http://dev.w3.org/2006/webapi/XMLHttpRequest-2/Overview.html#the-formdata-interface
    -
    -[![Linux Build](https://img.shields.io/travis/form-data/form-data/v2.3.3.svg?label=linux:4.x-9.x)](https://travis-ci.org/form-data/form-data)
    -[![MacOS Build](https://img.shields.io/travis/form-data/form-data/v2.3.3.svg?label=macos:4.x-9.x)](https://travis-ci.org/form-data/form-data)
    -[![Windows Build](https://img.shields.io/appveyor/ci/alexindigo/form-data/v2.3.3.svg?label=windows:4.x-9.x)](https://ci.appveyor.com/project/alexindigo/form-data)
    -
    -[![Coverage Status](https://img.shields.io/coveralls/form-data/form-data/v2.3.3.svg?label=code+coverage)](https://coveralls.io/github/form-data/form-data?branch=master)
    -[![Dependency Status](https://img.shields.io/david/form-data/form-data.svg)](https://david-dm.org/form-data/form-data)
    -[![bitHound Overall Score](https://www.bithound.io/github/form-data/form-data/badges/score.svg)](https://www.bithound.io/github/form-data/form-data)
    -
    -## Install
    -
    -```
    -npm install --save form-data
    -```
    -
    -## Usage
    -
    -In this example we are constructing a form with 3 fields that contain a string,
    -a buffer and a file stream.
    -
    -``` javascript
    -var FormData = require('form-data');
    -var fs = require('fs');
    -
    -var form = new FormData();
    -form.append('my_field', 'my value');
    -form.append('my_buffer', new Buffer(10));
    -form.append('my_file', fs.createReadStream('/foo/bar.jpg'));
    -```
    -
    -Also you can use http-response stream:
    -
    -``` javascript
    -var FormData = require('form-data');
    -var http = require('http');
    -
    -var form = new FormData();
    -
    -http.request('http://nodejs.org/images/logo.png', function(response) {
    -  form.append('my_field', 'my value');
    -  form.append('my_buffer', new Buffer(10));
    -  form.append('my_logo', response);
    -});
    -```
    -
    -Or @mikeal's [request](https://github.com/request/request) stream:
    -
    -``` javascript
    -var FormData = require('form-data');
    -var request = require('request');
    -
    -var form = new FormData();
    -
    -form.append('my_field', 'my value');
    -form.append('my_buffer', new Buffer(10));
    -form.append('my_logo', request('http://nodejs.org/images/logo.png'));
    -```
    -
    -In order to submit this form to a web application, call ```submit(url, [callback])``` method:
    -
    -``` javascript
    -form.submit('http://example.org/', function(err, res) {
    -  // res – response object (http.IncomingMessage)  //
    -  res.resume();
    -});
    -
    -```
    -
    -For more advanced request manipulations ```submit()``` method returns ```http.ClientRequest``` object, or you can choose from one of the alternative submission methods.
    -
    -### Custom options
    -
    -You can provide custom options, such as `maxDataSize`:
    -
    -``` javascript
    -var FormData = require('form-data');
    -
    -var form = new FormData({ maxDataSize: 20971520 });
    -form.append('my_field', 'my value');
    -form.append('my_buffer', /* something big */);
    -```
    -
    -List of available options could be found in [combined-stream](https://github.com/felixge/node-combined-stream/blob/master/lib/combined_stream.js#L7-L15)
    -
    -### Alternative submission methods
    -
    -You can use node's http client interface:
    -
    -``` javascript
    -var http = require('http');
    -
    -var request = http.request({
    -  method: 'post',
    -  host: 'example.org',
    -  path: '/upload',
    -  headers: form.getHeaders()
    -});
    -
    -form.pipe(request);
    -
    -request.on('response', function(res) {
    -  console.log(res.statusCode);
    -});
    -```
    -
    -Or if you would prefer the `'Content-Length'` header to be set for you:
    -
    -``` javascript
    -form.submit('example.org/upload', function(err, res) {
    -  console.log(res.statusCode);
    -});
    -```
    -
    -To use custom headers and pre-known length in parts:
    -
    -``` javascript
    -var CRLF = '\r\n';
    -var form = new FormData();
    -
    -var options = {
    -  header: CRLF + '--' + form.getBoundary() + CRLF + 'X-Custom-Header: 123' + CRLF + CRLF,
    -  knownLength: 1
    -};
    -
    -form.append('my_buffer', buffer, options);
    -
    -form.submit('http://example.com/', function(err, res) {
    -  if (err) throw err;
    -  console.log('Done');
    -});
    -```
    -
    -Form-Data can recognize and fetch all the required information from common types of streams (```fs.readStream```, ```http.response``` and ```mikeal's request```), for some other types of streams you'd need to provide "file"-related information manually:
    -
    -``` javascript
    -someModule.stream(function(err, stdout, stderr) {
    -  if (err) throw err;
    -
    -  var form = new FormData();
    -
    -  form.append('file', stdout, {
    -    filename: 'unicycle.jpg', // ... or:
    -    filepath: 'photos/toys/unicycle.jpg',
    -    contentType: 'image/jpeg',
    -    knownLength: 19806
    -  });
    -
    -  form.submit('http://example.com/', function(err, res) {
    -    if (err) throw err;
    -    console.log('Done');
    -  });
    -});
    -```
    -
    -The `filepath` property overrides `filename` and may contain a relative path. This is typically used when uploading [multiple files from a directory](https://wicg.github.io/entries-api/#dom-htmlinputelement-webkitdirectory).
    -
    -For edge cases, like POST request to URL with query string or to pass HTTP auth credentials, object can be passed to `form.submit()` as first parameter:
    -
    -``` javascript
    -form.submit({
    -  host: 'example.com',
    -  path: '/probably.php?extra=params',
    -  auth: 'username:password'
    -}, function(err, res) {
    -  console.log(res.statusCode);
    -});
    -```
    -
    -In case you need to also send custom HTTP headers with the POST request, you can use the `headers` key in first parameter of `form.submit()`:
    -
    -``` javascript
    -form.submit({
    -  host: 'example.com',
    -  path: '/surelynot.php',
    -  headers: {'x-test-header': 'test-header-value'}
    -}, function(err, res) {
    -  console.log(res.statusCode);
    -});
    -```
    -
    -### Integration with other libraries
    -
    -#### Request
    -
    -Form submission using  [request](https://github.com/request/request):
    -
    -```javascript
    -var formData = {
    -  my_field: 'my_value',
    -  my_file: fs.createReadStream(__dirname + '/unicycle.jpg'),
    -};
    -
    -request.post({url:'http://service.com/upload', formData: formData}, function(err, httpResponse, body) {
    -  if (err) {
    -    return console.error('upload failed:', err);
    -  }
    -  console.log('Upload successful!  Server responded with:', body);
    -});
    -```
    -
    -For more details see [request readme](https://github.com/request/request#multipartform-data-multipart-form-uploads).
    -
    -#### node-fetch
    -
    -You can also submit a form using [node-fetch](https://github.com/bitinn/node-fetch):
    -
    -```javascript
    -var form = new FormData();
    -
    -form.append('a', 1);
    -
    -fetch('http://example.com', { method: 'POST', body: form })
    -    .then(function(res) {
    -        return res.json();
    -    }).then(function(json) {
    -        console.log(json);
    -    });
    -```
    -
    -## Notes
    -
    -- ```getLengthSync()``` method DOESN'T calculate length for streams, use ```knownLength``` options as workaround.
    -- Starting version `2.x` FormData has dropped support for `node@0.10.x`.
    -
    -## License
    -
    -Form-Data is released under the [MIT](License) license.
    diff --git a/deps/npm/node_modules/request/node_modules/form-data/README.md.bak b/deps/npm/node_modules/request/node_modules/form-data/README.md.bak
    deleted file mode 100644
    index 0524d60288a137..00000000000000
    --- a/deps/npm/node_modules/request/node_modules/form-data/README.md.bak
    +++ /dev/null
    @@ -1,234 +0,0 @@
    -# Form-Data [![NPM Module](https://img.shields.io/npm/v/form-data.svg)](https://www.npmjs.com/package/form-data) [![Join the chat at https://gitter.im/form-data/form-data](http://form-data.github.io/images/gitterbadge.svg)](https://gitter.im/form-data/form-data)
    -
    -A library to create readable ```"multipart/form-data"``` streams. Can be used to submit forms and file uploads to other web applications.
    -
    -The API of this library is inspired by the [XMLHttpRequest-2 FormData Interface][xhr2-fd].
    -
    -[xhr2-fd]: http://dev.w3.org/2006/webapi/XMLHttpRequest-2/Overview.html#the-formdata-interface
    -
    -[![Linux Build](https://img.shields.io/travis/form-data/form-data/master.svg?label=linux:4.x-9.x)](https://travis-ci.org/form-data/form-data)
    -[![MacOS Build](https://img.shields.io/travis/form-data/form-data/master.svg?label=macos:4.x-9.x)](https://travis-ci.org/form-data/form-data)
    -[![Windows Build](https://img.shields.io/appveyor/ci/alexindigo/form-data/master.svg?label=windows:4.x-9.x)](https://ci.appveyor.com/project/alexindigo/form-data)
    -
    -[![Coverage Status](https://img.shields.io/coveralls/form-data/form-data/master.svg?label=code+coverage)](https://coveralls.io/github/form-data/form-data?branch=master)
    -[![Dependency Status](https://img.shields.io/david/form-data/form-data.svg)](https://david-dm.org/form-data/form-data)
    -[![bitHound Overall Score](https://www.bithound.io/github/form-data/form-data/badges/score.svg)](https://www.bithound.io/github/form-data/form-data)
    -
    -## Install
    -
    -```
    -npm install --save form-data
    -```
    -
    -## Usage
    -
    -In this example we are constructing a form with 3 fields that contain a string,
    -a buffer and a file stream.
    -
    -``` javascript
    -var FormData = require('form-data');
    -var fs = require('fs');
    -
    -var form = new FormData();
    -form.append('my_field', 'my value');
    -form.append('my_buffer', new Buffer(10));
    -form.append('my_file', fs.createReadStream('/foo/bar.jpg'));
    -```
    -
    -Also you can use http-response stream:
    -
    -``` javascript
    -var FormData = require('form-data');
    -var http = require('http');
    -
    -var form = new FormData();
    -
    -http.request('http://nodejs.org/images/logo.png', function(response) {
    -  form.append('my_field', 'my value');
    -  form.append('my_buffer', new Buffer(10));
    -  form.append('my_logo', response);
    -});
    -```
    -
    -Or @mikeal's [request](https://github.com/request/request) stream:
    -
    -``` javascript
    -var FormData = require('form-data');
    -var request = require('request');
    -
    -var form = new FormData();
    -
    -form.append('my_field', 'my value');
    -form.append('my_buffer', new Buffer(10));
    -form.append('my_logo', request('http://nodejs.org/images/logo.png'));
    -```
    -
    -In order to submit this form to a web application, call ```submit(url, [callback])``` method:
    -
    -``` javascript
    -form.submit('http://example.org/', function(err, res) {
    -  // res – response object (http.IncomingMessage)  //
    -  res.resume();
    -});
    -
    -```
    -
    -For more advanced request manipulations ```submit()``` method returns ```http.ClientRequest``` object, or you can choose from one of the alternative submission methods.
    -
    -### Custom options
    -
    -You can provide custom options, such as `maxDataSize`:
    -
    -``` javascript
    -var FormData = require('form-data');
    -
    -var form = new FormData({ maxDataSize: 20971520 });
    -form.append('my_field', 'my value');
    -form.append('my_buffer', /* something big */);
    -```
    -
    -List of available options could be found in [combined-stream](https://github.com/felixge/node-combined-stream/blob/master/lib/combined_stream.js#L7-L15)
    -
    -### Alternative submission methods
    -
    -You can use node's http client interface:
    -
    -``` javascript
    -var http = require('http');
    -
    -var request = http.request({
    -  method: 'post',
    -  host: 'example.org',
    -  path: '/upload',
    -  headers: form.getHeaders()
    -});
    -
    -form.pipe(request);
    -
    -request.on('response', function(res) {
    -  console.log(res.statusCode);
    -});
    -```
    -
    -Or if you would prefer the `'Content-Length'` header to be set for you:
    -
    -``` javascript
    -form.submit('example.org/upload', function(err, res) {
    -  console.log(res.statusCode);
    -});
    -```
    -
    -To use custom headers and pre-known length in parts:
    -
    -``` javascript
    -var CRLF = '\r\n';
    -var form = new FormData();
    -
    -var options = {
    -  header: CRLF + '--' + form.getBoundary() + CRLF + 'X-Custom-Header: 123' + CRLF + CRLF,
    -  knownLength: 1
    -};
    -
    -form.append('my_buffer', buffer, options);
    -
    -form.submit('http://example.com/', function(err, res) {
    -  if (err) throw err;
    -  console.log('Done');
    -});
    -```
    -
    -Form-Data can recognize and fetch all the required information from common types of streams (```fs.readStream```, ```http.response``` and ```mikeal's request```), for some other types of streams you'd need to provide "file"-related information manually:
    -
    -``` javascript
    -someModule.stream(function(err, stdout, stderr) {
    -  if (err) throw err;
    -
    -  var form = new FormData();
    -
    -  form.append('file', stdout, {
    -    filename: 'unicycle.jpg', // ... or:
    -    filepath: 'photos/toys/unicycle.jpg',
    -    contentType: 'image/jpeg',
    -    knownLength: 19806
    -  });
    -
    -  form.submit('http://example.com/', function(err, res) {
    -    if (err) throw err;
    -    console.log('Done');
    -  });
    -});
    -```
    -
    -The `filepath` property overrides `filename` and may contain a relative path. This is typically used when uploading [multiple files from a directory](https://wicg.github.io/entries-api/#dom-htmlinputelement-webkitdirectory).
    -
    -For edge cases, like POST request to URL with query string or to pass HTTP auth credentials, object can be passed to `form.submit()` as first parameter:
    -
    -``` javascript
    -form.submit({
    -  host: 'example.com',
    -  path: '/probably.php?extra=params',
    -  auth: 'username:password'
    -}, function(err, res) {
    -  console.log(res.statusCode);
    -});
    -```
    -
    -In case you need to also send custom HTTP headers with the POST request, you can use the `headers` key in first parameter of `form.submit()`:
    -
    -``` javascript
    -form.submit({
    -  host: 'example.com',
    -  path: '/surelynot.php',
    -  headers: {'x-test-header': 'test-header-value'}
    -}, function(err, res) {
    -  console.log(res.statusCode);
    -});
    -```
    -
    -### Integration with other libraries
    -
    -#### Request
    -
    -Form submission using  [request](https://github.com/request/request):
    -
    -```javascript
    -var formData = {
    -  my_field: 'my_value',
    -  my_file: fs.createReadStream(__dirname + '/unicycle.jpg'),
    -};
    -
    -request.post({url:'http://service.com/upload', formData: formData}, function(err, httpResponse, body) {
    -  if (err) {
    -    return console.error('upload failed:', err);
    -  }
    -  console.log('Upload successful!  Server responded with:', body);
    -});
    -```
    -
    -For more details see [request readme](https://github.com/request/request#multipartform-data-multipart-form-uploads).
    -
    -#### node-fetch
    -
    -You can also submit a form using [node-fetch](https://github.com/bitinn/node-fetch):
    -
    -```javascript
    -var form = new FormData();
    -
    -form.append('a', 1);
    -
    -fetch('http://example.com', { method: 'POST', body: form })
    -    .then(function(res) {
    -        return res.json();
    -    }).then(function(json) {
    -        console.log(json);
    -    });
    -```
    -
    -## Notes
    -
    -- ```getLengthSync()``` method DOESN'T calculate length for streams, use ```knownLength``` options as workaround.
    -- Starting version `2.x` FormData has dropped support for `node@0.10.x`.
    -
    -## License
    -
    -Form-Data is released under the [MIT](License) license.
    diff --git a/deps/npm/node_modules/request/node_modules/tough-cookie/README.md b/deps/npm/node_modules/request/node_modules/tough-cookie/README.md
    deleted file mode 100644
    index 656a25556c3c50..00000000000000
    --- a/deps/npm/node_modules/request/node_modules/tough-cookie/README.md
    +++ /dev/null
    @@ -1,527 +0,0 @@
    -[RFC6265](https://tools.ietf.org/html/rfc6265) Cookies and CookieJar for Node.js
    -
    -[![npm package](https://nodei.co/npm/tough-cookie.png?downloads=true&downloadRank=true&stars=true)](https://nodei.co/npm/tough-cookie/)
    -
    -[![Build Status](https://travis-ci.org/salesforce/tough-cookie.png?branch=master)](https://travis-ci.org/salesforce/tough-cookie)
    -
    -# Synopsis
    -
    -``` javascript
    -var tough = require('tough-cookie');
    -var Cookie = tough.Cookie;
    -var cookie = Cookie.parse(header);
    -cookie.value = 'somethingdifferent';
    -header = cookie.toString();
    -
    -var cookiejar = new tough.CookieJar();
    -cookiejar.setCookie(cookie, 'http://currentdomain.example.com/path', cb);
    -// ...
    -cookiejar.getCookies('http://example.com/otherpath',function(err,cookies) {
    -  res.headers['cookie'] = cookies.join('; ');
    -});
    -```
    -
    -# Installation
    -
    -It's _so_ easy!
    -
    -`npm install tough-cookie`
    -
    -Why the name?  NPM modules `cookie`, `cookies` and `cookiejar` were already taken.
    -
    -## Version Support
    -
    -Support for versions of node.js will follow that of the [request](https://www.npmjs.com/package/request) module.
    -
    -# API
    -
    -## tough
    -
    -Functions on the module you get from `require('tough-cookie')`.  All can be used as pure functions and don't need to be "bound".
    -
    -**Note**: prior to 1.0.x, several of these functions took a `strict` parameter. This has since been removed from the API as it was no longer necessary.
    -
    -### `parseDate(string)`
    -
    -Parse a cookie date string into a `Date`.  Parses according to RFC6265 Section 5.1.1, not `Date.parse()`.
    -
    -### `formatDate(date)`
    -
    -Format a Date into a RFC1123 string (the RFC6265-recommended format).
    -
    -### `canonicalDomain(str)`
    -
    -Transforms a domain-name into a canonical domain-name.  The canonical domain-name is a trimmed, lowercased, stripped-of-leading-dot and optionally punycode-encoded domain-name (Section 5.1.2 of RFC6265).  For the most part, this function is idempotent (can be run again on its output without ill effects).
    -
    -### `domainMatch(str,domStr[,canonicalize=true])`
    -
    -Answers "does this real domain match the domain in a cookie?".  The `str` is the "current" domain-name and the `domStr` is the "cookie" domain-name.  Matches according to RFC6265 Section 5.1.3, but it helps to think of it as a "suffix match".
    -
    -The `canonicalize` parameter will run the other two parameters through `canonicalDomain` or not.
    -
    -### `defaultPath(path)`
    -
    -Given a current request/response path, gives the Path apropriate for storing in a cookie.  This is basically the "directory" of a "file" in the path, but is specified by Section 5.1.4 of the RFC.
    -
    -The `path` parameter MUST be _only_ the pathname part of a URI (i.e. excludes the hostname, query, fragment, etc.).  This is the `.pathname` property of node's `uri.parse()` output.
    -
    -### `pathMatch(reqPath,cookiePath)`
    -
    -Answers "does the request-path path-match a given cookie-path?" as per RFC6265 Section 5.1.4.  Returns a boolean.
    -
    -This is essentially a prefix-match where `cookiePath` is a prefix of `reqPath`.
    -
    -### `parse(cookieString[, options])`
    -
    -alias for `Cookie.parse(cookieString[, options])`
    -
    -### `fromJSON(string)`
    -
    -alias for `Cookie.fromJSON(string)`
    -
    -### `getPublicSuffix(hostname)`
    -
    -Returns the public suffix of this hostname.  The public suffix is the shortest domain-name upon which a cookie can be set.  Returns `null` if the hostname cannot have cookies set for it.
    -
    -For example: `www.example.com` and `www.subdomain.example.com` both have public suffix `example.com`.
    -
    -For further information, see http://publicsuffix.org/.  This module derives its list from that site. This call is currently a wrapper around [`psl`](https://www.npmjs.com/package/psl)'s [get() method](https://www.npmjs.com/package/psl#pslgetdomain).
    -
    -### `cookieCompare(a,b)`
    -
    -For use with `.sort()`, sorts a list of cookies into the recommended order given in the RFC (Section 5.4 step 2). The sort algorithm is, in order of precedence:
    -
    -* Longest `.path`
    -* oldest `.creation` (which has a 1ms precision, same as `Date`)
    -* lowest `.creationIndex` (to get beyond the 1ms precision)
    -
    -``` javascript
    -var cookies = [ /* unsorted array of Cookie objects */ ];
    -cookies = cookies.sort(cookieCompare);
    -```
    -
    -**Note**: Since JavaScript's `Date` is limited to a 1ms precision, cookies within the same milisecond are entirely possible. This is especially true when using the `now` option to `.setCookie()`. The `.creationIndex` property is a per-process global counter, assigned during construction with `new Cookie()`. This preserves the spirit of the RFC sorting: older cookies go first. This works great for `MemoryCookieStore`, since `Set-Cookie` headers are parsed in order, but may not be so great for distributed systems. Sophisticated `Store`s may wish to set this to some other _logical clock_ such that if cookies A and B are created in the same millisecond, but cookie A is created before cookie B, then `A.creationIndex < B.creationIndex`. If you want to alter the global counter, which you probably _shouldn't_ do, it's stored in `Cookie.cookiesCreated`.
    -
    -### `permuteDomain(domain)`
    -
    -Generates a list of all possible domains that `domainMatch()` the parameter.  May be handy for implementing cookie stores.
    -
    -### `permutePath(path)`
    -
    -Generates a list of all possible paths that `pathMatch()` the parameter.  May be handy for implementing cookie stores.
    -
    -
    -## Cookie
    -
    -Exported via `tough.Cookie`.
    -
    -### `Cookie.parse(cookieString[, options])`
    -
    -Parses a single Cookie or Set-Cookie HTTP header into a `Cookie` object.  Returns `undefined` if the string can't be parsed.
    -
    -The options parameter is not required and currently has only one property:
    -
    -  * _loose_ - boolean - if `true` enable parsing of key-less cookies like `=abc` and `=`, which are not RFC-compliant.
    -
    -If options is not an object, it is ignored, which means you can use `Array#map` with it.
    -
    -Here's how to process the Set-Cookie header(s) on a node HTTP/HTTPS response:
    -
    -``` javascript
    -if (res.headers['set-cookie'] instanceof Array)
    -  cookies = res.headers['set-cookie'].map(Cookie.parse);
    -else
    -  cookies = [Cookie.parse(res.headers['set-cookie'])];
    -```
    -
    -_Note:_ in version 2.3.3, tough-cookie limited the number of spaces before the `=` to 256 characters. This limitation has since been removed.
    -See [Issue 92](https://github.com/salesforce/tough-cookie/issues/92)
    -
    -### Properties
    -
    -Cookie object properties:
    -
    -  * _key_ - string - the name or key of the cookie (default "")
    -  * _value_ - string - the value of the cookie (default "")
    -  * _expires_ - `Date` - if set, the `Expires=` attribute of the cookie (defaults to the string `"Infinity"`). See `setExpires()`
    -  * _maxAge_ - seconds - if set, the `Max-Age=` attribute _in seconds_ of the cookie.  May also be set to strings `"Infinity"` and `"-Infinity"` for non-expiry and immediate-expiry, respectively.  See `setMaxAge()`
    -  * _domain_ - string - the `Domain=` attribute of the cookie
    -  * _path_ - string - the `Path=` of the cookie
    -  * _secure_ - boolean - the `Secure` cookie flag
    -  * _httpOnly_ - boolean - the `HttpOnly` cookie flag
    -  * _extensions_ - `Array` - any unrecognized cookie attributes as strings (even if equal-signs inside)
    -  * _creation_ - `Date` - when this cookie was constructed
    -  * _creationIndex_ - number - set at construction, used to provide greater sort precision (please see `cookieCompare(a,b)` for a full explanation)
    -
    -After a cookie has been passed through `CookieJar.setCookie()` it will have the following additional attributes:
    -
    -  * _hostOnly_ - boolean - is this a host-only cookie (i.e. no Domain field was set, but was instead implied)
    -  * _pathIsDefault_ - boolean - if true, there was no Path field on the cookie and `defaultPath()` was used to derive one.
    -  * _creation_ - `Date` - **modified** from construction to when the cookie was added to the jar
    -  * _lastAccessed_ - `Date` - last time the cookie got accessed. Will affect cookie cleaning once implemented.  Using `cookiejar.getCookies(...)` will update this attribute.
    -
    -### `Cookie([{properties}])`
    -
    -Receives an options object that can contain any of the above Cookie properties, uses the default for unspecified properties.
    -
    -### `.toString()`
    -
    -encode to a Set-Cookie header value.  The Expires cookie field is set using `formatDate()`, but is omitted entirely if `.expires` is `Infinity`.
    -
    -### `.cookieString()`
    -
    -encode to a Cookie header value (i.e. the `.key` and `.value` properties joined with '=').
    -
    -### `.setExpires(String)`
    -
    -sets the expiry based on a date-string passed through `parseDate()`.  If parseDate returns `null` (i.e. can't parse this date string), `.expires` is set to `"Infinity"` (a string) is set.
    -
    -### `.setMaxAge(number)`
    -
    -sets the maxAge in seconds.  Coerces `-Infinity` to `"-Infinity"` and `Infinity` to `"Infinity"` so it JSON serializes correctly.
    -
    -### `.expiryTime([now=Date.now()])`
    -
    -### `.expiryDate([now=Date.now()])`
    -
    -expiryTime() Computes the absolute unix-epoch milliseconds that this cookie expires. expiryDate() works similarly, except it returns a `Date` object.  Note that in both cases the `now` parameter should be milliseconds.
    -
    -Max-Age takes precedence over Expires (as per the RFC). The `.creation` attribute -- or, by default, the `now` parameter -- is used to offset the `.maxAge` attribute.
    -
    -If Expires (`.expires`) is set, that's returned.
    -
    -Otherwise, `expiryTime()` returns `Infinity` and `expiryDate()` returns a `Date` object for "Tue, 19 Jan 2038 03:14:07 GMT" (latest date that can be expressed by a 32-bit `time_t`; the common limit for most user-agents).
    -
    -### `.TTL([now=Date.now()])`
    -
    -compute the TTL relative to `now` (milliseconds).  The same precedence rules as for `expiryTime`/`expiryDate` apply.
    -
    -The "number" `Infinity` is returned for cookies without an explicit expiry and `0` is returned if the cookie is expired.  Otherwise a time-to-live in milliseconds is returned.
    -
    -### `.canonicalizedDomain()`
    -
    -### `.cdomain()`
    -
    -return the canonicalized `.domain` field.  This is lower-cased and punycode (RFC3490) encoded if the domain has any non-ASCII characters.
    -
    -### `.toJSON()`
    -
    -For convenience in using `JSON.serialize(cookie)`. Returns a plain-old `Object` that can be JSON-serialized.
    -
    -Any `Date` properties (i.e., `.expires`, `.creation`, and `.lastAccessed`) are exported in ISO format (`.toISOString()`).
    -
    -**NOTE**: Custom `Cookie` properties will be discarded. In tough-cookie 1.x, since there was no `.toJSON` method explicitly defined, all enumerable properties were captured. If you want a property to be serialized, add the property name to the `Cookie.serializableProperties` Array.
    -
    -### `Cookie.fromJSON(strOrObj)`
    -
    -Does the reverse of `cookie.toJSON()`. If passed a string, will `JSON.parse()` that first.
    -
    -Any `Date` properties (i.e., `.expires`, `.creation`, and `.lastAccessed`) are parsed via `Date.parse()`, not the tough-cookie `parseDate`, since it's JavaScript/JSON-y timestamps being handled at this layer.
    -
    -Returns `null` upon JSON parsing error.
    -
    -### `.clone()`
    -
    -Does a deep clone of this cookie, exactly implemented as `Cookie.fromJSON(cookie.toJSON())`.
    -
    -### `.validate()`
    -
    -Status: *IN PROGRESS*. Works for a few things, but is by no means comprehensive.
    -
    -validates cookie attributes for semantic correctness.  Useful for "lint" checking any Set-Cookie headers you generate.  For now, it returns a boolean, but eventually could return a reason string -- you can future-proof with this construct:
    -
    -``` javascript
    -if (cookie.validate() === true) {
    -  // it's tasty
    -} else {
    -  // yuck!
    -}
    -```
    -
    -
    -## CookieJar
    -
    -Exported via `tough.CookieJar`.
    -
    -### `CookieJar([store],[options])`
    -
    -Simply use `new CookieJar()`.  If you'd like to use a custom store, pass that to the constructor otherwise a `MemoryCookieStore` will be created and used.
    -
    -The `options` object can be omitted and can have the following properties:
    -
    -  * _rejectPublicSuffixes_ - boolean - default `true` - reject cookies with domains like "com" and "co.uk"
    -  * _looseMode_ - boolean - default `false` - accept malformed cookies like `bar` and `=bar`, which have an implied empty name.
    -    This is not in the standard, but is used sometimes on the web and is accepted by (most) browsers.
    -
    -Since eventually this module would like to support database/remote/etc. CookieJars, continuation passing style is used for CookieJar methods.
    -
    -### `.setCookie(cookieOrString, currentUrl, [{options},] cb(err,cookie))`
    -
    -Attempt to set the cookie in the cookie jar.  If the operation fails, an error will be given to the callback `cb`, otherwise the cookie is passed through.  The cookie will have updated `.creation`, `.lastAccessed` and `.hostOnly` properties.
    -
    -The `options` object can be omitted and can have the following properties:
    -
    -  * _http_ - boolean - default `true` - indicates if this is an HTTP or non-HTTP API.  Affects HttpOnly cookies.
    -  * _secure_ - boolean - autodetect from url - indicates if this is a "Secure" API.  If the currentUrl starts with `https:` or `wss:` then this is defaulted to `true`, otherwise `false`.
    -  * _now_ - Date - default `new Date()` - what to use for the creation/access time of cookies
    -  * _ignoreError_ - boolean - default `false` - silently ignore things like parse errors and invalid domains.  `Store` errors aren't ignored by this option.
    -
    -As per the RFC, the `.hostOnly` property is set if there was no "Domain=" parameter in the cookie string (or `.domain` was null on the Cookie object).  The `.domain` property is set to the fully-qualified hostname of `currentUrl` in this case.  Matching this cookie requires an exact hostname match (not a `domainMatch` as per usual).
    -
    -### `.setCookieSync(cookieOrString, currentUrl, [{options}])`
    -
    -Synchronous version of `setCookie`; only works with synchronous stores (e.g. the default `MemoryCookieStore`).
    -
    -### `.getCookies(currentUrl, [{options},] cb(err,cookies))`
    -
    -Retrieve the list of cookies that can be sent in a Cookie header for the current url.
    -
    -If an error is encountered, that's passed as `err` to the callback, otherwise an `Array` of `Cookie` objects is passed.  The array is sorted with `cookieCompare()` unless the `{sort:false}` option is given.
    -
    -The `options` object can be omitted and can have the following properties:
    -
    -  * _http_ - boolean - default `true` - indicates if this is an HTTP or non-HTTP API.  Affects HttpOnly cookies.
    -  * _secure_ - boolean - autodetect from url - indicates if this is a "Secure" API.  If the currentUrl starts with `https:` or `wss:` then this is defaulted to `true`, otherwise `false`.
    -  * _now_ - Date - default `new Date()` - what to use for the creation/access time of cookies
    -  * _expire_ - boolean - default `true` - perform expiry-time checking of cookies and asynchronously remove expired cookies from the store.  Using `false` will return expired cookies and **not** remove them from the store (which is useful for replaying Set-Cookie headers, potentially).
    -  * _allPaths_ - boolean - default `false` - if `true`, do not scope cookies by path. The default uses RFC-compliant path scoping. **Note**: may not be supported by the underlying store (the default `MemoryCookieStore` supports it).
    -
    -The `.lastAccessed` property of the returned cookies will have been updated.
    -
    -### `.getCookiesSync(currentUrl, [{options}])`
    -
    -Synchronous version of `getCookies`; only works with synchronous stores (e.g. the default `MemoryCookieStore`).
    -
    -### `.getCookieString(...)`
    -
    -Accepts the same options as `.getCookies()` but passes a string suitable for a Cookie header rather than an array to the callback.  Simply maps the `Cookie` array via `.cookieString()`.
    -
    -### `.getCookieStringSync(...)`
    -
    -Synchronous version of `getCookieString`; only works with synchronous stores (e.g. the default `MemoryCookieStore`).
    -
    -### `.getSetCookieStrings(...)`
    -
    -Returns an array of strings suitable for **Set-Cookie** headers. Accepts the same options as `.getCookies()`.  Simply maps the cookie array via `.toString()`.
    -
    -### `.getSetCookieStringsSync(...)`
    -
    -Synchronous version of `getSetCookieStrings`; only works with synchronous stores (e.g. the default `MemoryCookieStore`).
    -
    -### `.serialize(cb(err,serializedObject))`
    -
    -Serialize the Jar if the underlying store supports `.getAllCookies`.
    -
    -**NOTE**: Custom `Cookie` properties will be discarded. If you want a property to be serialized, add the property name to the `Cookie.serializableProperties` Array.
    -
    -See [Serialization Format].
    -
    -### `.serializeSync()`
    -
    -Sync version of .serialize
    -
    -### `.toJSON()`
    -
    -Alias of .serializeSync() for the convenience of `JSON.stringify(cookiejar)`.
    -
    -### `CookieJar.deserialize(serialized, [store], cb(err,object))`
    -
    -A new Jar is created and the serialized Cookies are added to the underlying store. Each `Cookie` is added via `store.putCookie` in the order in which they appear in the serialization.
    -
    -The `store` argument is optional, but should be an instance of `Store`. By default, a new instance of `MemoryCookieStore` is created.
    -
    -As a convenience, if `serialized` is a string, it is passed through `JSON.parse` first. If that throws an error, this is passed to the callback.
    -
    -### `CookieJar.deserializeSync(serialized, [store])`
    -
    -Sync version of `.deserialize`.  _Note_ that the `store` must be synchronous for this to work.
    -
    -### `CookieJar.fromJSON(string)`
    -
    -Alias of `.deserializeSync` to provide consistency with `Cookie.fromJSON()`.
    -
    -### `.clone([store,]cb(err,newJar))`
    -
    -Produces a deep clone of this jar. Modifications to the original won't affect the clone, and vice versa.
    -
    -The `store` argument is optional, but should be an instance of `Store`. By default, a new instance of `MemoryCookieStore` is created. Transferring between store types is supported so long as the source implements `.getAllCookies()` and the destination implements `.putCookie()`.
    -
    -### `.cloneSync([store])`
    -
    -Synchronous version of `.clone`, returning a new `CookieJar` instance.
    -
    -The `store` argument is optional, but must be a _synchronous_ `Store` instance if specified. If not passed, a new instance of `MemoryCookieStore` is used.
    -
    -The _source_ and _destination_ must both be synchronous `Store`s. If one or both stores are asynchronous, use `.clone` instead. Recall that `MemoryCookieStore` supports both synchronous and asynchronous API calls.
    -
    -### `.removeAllCookies(cb(err))`
    -
    -Removes all cookies from the jar.
    -
    -This is a new backwards-compatible feature of `tough-cookie` version 2.5, so not all Stores will implement it efficiently. For Stores that do not implement `removeAllCookies`, the fallback is to call `removeCookie` after `getAllCookies`. If `getAllCookies` fails or isn't implemented in the Store, that error is returned. If one or more of the `removeCookie` calls fail, only the first error is returned.
    -
    -### `.removeAllCookiesSync()`
    -
    -Sync version of `.removeAllCookies()`
    -
    -## Store
    -
    -Base class for CookieJar stores. Available as `tough.Store`.
    -
    -## Store API
    -
    -The storage model for each `CookieJar` instance can be replaced with a custom implementation.  The default is `MemoryCookieStore` which can be found in the `lib/memstore.js` file.  The API uses continuation-passing-style to allow for asynchronous stores.
    -
    -Stores should inherit from the base `Store` class, which is available as `require('tough-cookie').Store`.
    -
    -Stores are asynchronous by default, but if `store.synchronous` is set to `true`, then the `*Sync` methods on the of the containing `CookieJar` can be used (however, the continuation-passing style
    -
    -All `domain` parameters will have been normalized before calling.
    -
    -The Cookie store must have all of the following methods.
    -
    -### `store.findCookie(domain, path, key, cb(err,cookie))`
    -
    -Retrieve a cookie with the given domain, path and key (a.k.a. name).  The RFC maintains that exactly one of these cookies should exist in a store.  If the store is using versioning, this means that the latest/newest such cookie should be returned.
    -
    -Callback takes an error and the resulting `Cookie` object.  If no cookie is found then `null` MUST be passed instead (i.e. not an error).
    -
    -### `store.findCookies(domain, path, cb(err,cookies))`
    -
    -Locates cookies matching the given domain and path.  This is most often called in the context of `cookiejar.getCookies()` above.
    -
    -If no cookies are found, the callback MUST be passed an empty array.
    -
    -The resulting list will be checked for applicability to the current request according to the RFC (domain-match, path-match, http-only-flag, secure-flag, expiry, etc.), so it's OK to use an optimistic search algorithm when implementing this method.  However, the search algorithm used SHOULD try to find cookies that `domainMatch()` the domain and `pathMatch()` the path in order to limit the amount of checking that needs to be done.
    -
    -As of version 0.9.12, the `allPaths` option to `cookiejar.getCookies()` above will cause the path here to be `null`.  If the path is `null`, path-matching MUST NOT be performed (i.e. domain-matching only).
    -
    -### `store.putCookie(cookie, cb(err))`
    -
    -Adds a new cookie to the store.  The implementation SHOULD replace any existing cookie with the same `.domain`, `.path`, and `.key` properties -- depending on the nature of the implementation, it's possible that between the call to `fetchCookie` and `putCookie` that a duplicate `putCookie` can occur.
    -
    -The `cookie` object MUST NOT be modified; the caller will have already updated the `.creation` and `.lastAccessed` properties.
    -
    -Pass an error if the cookie cannot be stored.
    -
    -### `store.updateCookie(oldCookie, newCookie, cb(err))`
    -
    -Update an existing cookie.  The implementation MUST update the `.value` for a cookie with the same `domain`, `.path` and `.key`.  The implementation SHOULD check that the old value in the store is equivalent to `oldCookie` - how the conflict is resolved is up to the store.
    -
    -The `.lastAccessed` property will always be different between the two objects (to the precision possible via JavaScript's clock).  Both `.creation` and `.creationIndex` are guaranteed to be the same.  Stores MAY ignore or defer the `.lastAccessed` change at the cost of affecting how cookies are selected for automatic deletion (e.g., least-recently-used, which is up to the store to implement).
    -
    -Stores may wish to optimize changing the `.value` of the cookie in the store versus storing a new cookie.  If the implementation doesn't define this method a stub that calls `putCookie(newCookie,cb)` will be added to the store object.
    -
    -The `newCookie` and `oldCookie` objects MUST NOT be modified.
    -
    -Pass an error if the newCookie cannot be stored.
    -
    -### `store.removeCookie(domain, path, key, cb(err))`
    -
    -Remove a cookie from the store (see notes on `findCookie` about the uniqueness constraint).
    -
    -The implementation MUST NOT pass an error if the cookie doesn't exist; only pass an error due to the failure to remove an existing cookie.
    -
    -### `store.removeCookies(domain, path, cb(err))`
    -
    -Removes matching cookies from the store.  The `path` parameter is optional, and if missing means all paths in a domain should be removed.
    -
    -Pass an error ONLY if removing any existing cookies failed.
    -
    -### `store.removeAllCookies(cb(err))`
    -
    -_Optional_. Removes all cookies from the store.
    -
    -Pass an error if one or more cookies can't be removed.
    -
    -**Note**: New method as of `tough-cookie` version 2.5, so not all Stores will implement this, plus some stores may choose not to implement this.
    -
    -### `store.getAllCookies(cb(err, cookies))`
    -
    -_Optional_. Produces an `Array` of all cookies during `jar.serialize()`. The items in the array can be true `Cookie` objects or generic `Object`s with the [Serialization Format] data structure.
    -
    -Cookies SHOULD be returned in creation order to preserve sorting via `compareCookies()`. For reference, `MemoryCookieStore` will sort by `.creationIndex` since it uses true `Cookie` objects internally. If you don't return the cookies in creation order, they'll still be sorted by creation time, but this only has a precision of 1ms.  See `compareCookies` for more detail.
    -
    -Pass an error if retrieval fails.
    -
    -**Note**: not all Stores can implement this due to technical limitations, so it is optional.
    -
    -## MemoryCookieStore
    -
    -Inherits from `Store`.
    -
    -A just-in-memory CookieJar synchronous store implementation, used by default. Despite being a synchronous implementation, it's usable with both the synchronous and asynchronous forms of the `CookieJar` API. Supports serialization, `getAllCookies`, and `removeAllCookies`.
    -
    -## Community Cookie Stores
    -
    -These are some Store implementations authored and maintained by the community. They aren't official and we don't vouch for them but you may be interested to have a look:
    -
    -- [`db-cookie-store`](https://github.com/JSBizon/db-cookie-store): SQL including SQLite-based databases
    -- [`file-cookie-store`](https://github.com/JSBizon/file-cookie-store): Netscape cookie file format on disk
    -- [`redis-cookie-store`](https://github.com/benkroeger/redis-cookie-store): Redis
    -- [`tough-cookie-filestore`](https://github.com/mitsuru/tough-cookie-filestore): JSON on disk
    -- [`tough-cookie-web-storage-store`](https://github.com/exponentjs/tough-cookie-web-storage-store): DOM localStorage and sessionStorage
    -
    -
    -# Serialization Format
    -
    -**NOTE**: if you want to have custom `Cookie` properties serialized, add the property name to `Cookie.serializableProperties`.
    -
    -```js
    -  {
    -    // The version of tough-cookie that serialized this jar.
    -    version: 'tough-cookie@1.x.y',
    -
    -    // add the store type, to make humans happy:
    -    storeType: 'MemoryCookieStore',
    -
    -    // CookieJar configuration:
    -    rejectPublicSuffixes: true,
    -    // ... future items go here
    -
    -    // Gets filled from jar.store.getAllCookies():
    -    cookies: [
    -      {
    -        key: 'string',
    -        value: 'string',
    -        // ...
    -        /* other Cookie.serializableProperties go here */
    -      }
    -    ]
    -  }
    -```
    -
    -# Copyright and License
    -
    -BSD-3-Clause:
    -
    -```text
    - Copyright (c) 2015, Salesforce.com, Inc.
    - All rights reserved.
    -
    - Redistribution and use in source and binary forms, with or without
    - modification, are permitted provided that the following conditions are met:
    -
    - 1. Redistributions of source code must retain the above copyright notice,
    - this list of conditions and the following disclaimer.
    -
    - 2. Redistributions in binary form must reproduce the above copyright notice,
    - this list of conditions and the following disclaimer in the documentation
    - and/or other materials provided with the distribution.
    -
    - 3. Neither the name of Salesforce.com nor the names of its contributors may
    - be used to endorse or promote products derived from this software without
    - specific prior written permission.
    -
    - THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
    - AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
    - IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
    - ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE
    - LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
    - CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
    - SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
    - INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
    - CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
    - ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
    - POSSIBILITY OF SUCH DAMAGE.
    -```
    diff --git a/deps/npm/node_modules/resolve/.editorconfig b/deps/npm/node_modules/resolve/.editorconfig
    deleted file mode 100644
    index d63f0bb6cdfb9b..00000000000000
    --- a/deps/npm/node_modules/resolve/.editorconfig
    +++ /dev/null
    @@ -1,37 +0,0 @@
    -root = true
    -
    -[*]
    -indent_style = space
    -indent_size = 2
    -end_of_line = lf
    -charset = utf-8
    -trim_trailing_whitespace = true
    -insert_final_newline = true
    -max_line_length = 200
    -
    -[*.js]
    -block_comment_start = /*
    -block_comment = *
    -block_comment_end = */
    -
    -[*.yml]
    -indent_size = 1
    -
    -[package.json]
    -indent_style = tab
    -
    -[lib/core.json]
    -indent_style = tab
    -
    -[CHANGELOG.md]
    -indent_style = space
    -indent_size = 2
    -
    -[{*.json,Makefile}]
    -max_line_length = off
    -
    -[test/{dotdot,resolver,module_dir,multirepo,node_path,pathfilter,precedence}/**/*]
    -indent_style = off
    -indent_size = off
    -max_line_length = off
    -insert_final_newline = off
    diff --git a/deps/npm/node_modules/resolve/.eslintignore b/deps/npm/node_modules/resolve/.eslintignore
    deleted file mode 100644
    index 3c3629e647f5dd..00000000000000
    --- a/deps/npm/node_modules/resolve/.eslintignore
    +++ /dev/null
    @@ -1 +0,0 @@
    -node_modules
    diff --git a/deps/npm/node_modules/resolve/test/resolver/symlinked/_/symlink_target/.gitkeep b/deps/npm/node_modules/resolve/test/resolver/symlinked/_/symlink_target/.gitkeep
    deleted file mode 100644
    index e69de29bb2d1d6..00000000000000
    diff --git a/deps/npm/node_modules/retry/.npmignore b/deps/npm/node_modules/retry/.npmignore
    deleted file mode 100644
    index 432f2855d6839d..00000000000000
    --- a/deps/npm/node_modules/retry/.npmignore
    +++ /dev/null
    @@ -1,3 +0,0 @@
    -/node_modules/*
    -npm-debug.log
    -coverage
    diff --git a/deps/npm/node_modules/retry/.travis.yml b/deps/npm/node_modules/retry/.travis.yml
    deleted file mode 100644
    index bcde2122b90065..00000000000000
    --- a/deps/npm/node_modules/retry/.travis.yml
    +++ /dev/null
    @@ -1,15 +0,0 @@
    -language: node_js
    -node_js:
    -  - "4"
    -before_install:
    -  - pip install --user codecov
    -after_success:
    -  - codecov --file coverage/lcov.info --disable search
    -# travis encrypt [subdomain]:[api token]@[room id]
    -# notifications:
    -#   email: false
    -#   campfire:
    -#     rooms:
    -#       secure: xyz
    -#     on_failure: always
    -#     on_success: always
    diff --git a/deps/npm/node_modules/retry/README.md b/deps/npm/node_modules/retry/README.md
    deleted file mode 100644
    index 1c888deee9c9d4..00000000000000
    --- a/deps/npm/node_modules/retry/README.md
    +++ /dev/null
    @@ -1,227 +0,0 @@
    -
    -[![Build Status](https://secure.travis-ci.org/tim-kos/node-retry.png?branch=master)](http://travis-ci.org/tim-kos/node-retry "Check this project's build status on TravisCI")
    -[![codecov](https://codecov.io/gh/tim-kos/node-retry/branch/master/graph/badge.svg)](https://codecov.io/gh/tim-kos/node-retry)
    -
    -
    -# retry
    -
    -Abstraction for exponential and custom retry strategies for failed operations.
    -
    -## Installation
    -
    -    npm install retry
    -
    -## Current Status
    -
    -This module has been tested and is ready to be used.
    -
    -## Tutorial
    -
    -The example below will retry a potentially failing `dns.resolve` operation
    -`10` times using an exponential backoff strategy. With the default settings, this
    -means the last attempt is made after `17 minutes and 3 seconds`.
    -
    -``` javascript
    -var dns = require('dns');
    -var retry = require('retry');
    -
    -function faultTolerantResolve(address, cb) {
    -  var operation = retry.operation();
    -
    -  operation.attempt(function(currentAttempt) {
    -    dns.resolve(address, function(err, addresses) {
    -      if (operation.retry(err)) {
    -        return;
    -      }
    -
    -      cb(err ? operation.mainError() : null, addresses);
    -    });
    -  });
    -}
    -
    -faultTolerantResolve('nodejs.org', function(err, addresses) {
    -  console.log(err, addresses);
    -});
    -```
    -
    -Of course you can also configure the factors that go into the exponential
    -backoff. See the API documentation below for all available settings.
    -currentAttempt is an int representing the number of attempts so far.
    -
    -``` javascript
    -var operation = retry.operation({
    -  retries: 5,
    -  factor: 3,
    -  minTimeout: 1 * 1000,
    -  maxTimeout: 60 * 1000,
    -  randomize: true,
    -});
    -```
    -
    -## API
    -
    -### retry.operation([options])
    -
    -Creates a new `RetryOperation` object. `options` is the same as `retry.timeouts()`'s `options`, with two additions:
    -
    -* `forever`: Whether to retry forever, defaults to `false`.
    -* `unref`: Whether to [unref](https://nodejs.org/api/timers.html#timers_unref) the setTimeout's, defaults to `false`.
    -* `maxRetryTime`: The maximum time (in milliseconds) that the retried operation is allowed to run. Default is `Infinity`.
    -
    -### retry.timeouts([options])
    -
    -Returns an array of timeouts. All time `options` and return values are in
    -milliseconds. If `options` is an array, a copy of that array is returned.
    -
    -`options` is a JS object that can contain any of the following keys:
    -
    -* `retries`: The maximum amount of times to retry the operation. Default is `10`. Seting this to `1` means `do it once, then retry it once`.
    -* `factor`: The exponential factor to use. Default is `2`.
    -* `minTimeout`: The number of milliseconds before starting the first retry. Default is `1000`.
    -* `maxTimeout`: The maximum number of milliseconds between two retries. Default is `Infinity`.
    -* `randomize`: Randomizes the timeouts by multiplying with a factor between `1` to `2`. Default is `false`.
    -
    -The formula used to calculate the individual timeouts is:
    -
    -```
    -Math.min(random * minTimeout * Math.pow(factor, attempt), maxTimeout)
    -```
    -
    -Have a look at [this article][article] for a better explanation of approach.
    -
    -If you want to tune your `factor` / `times` settings to attempt the last retry
    -after a certain amount of time, you can use wolfram alpha. For example in order
    -to tune for `10` attempts in `5 minutes`, you can use this equation:
    -
    -![screenshot](https://github.com/tim-kos/node-retry/raw/master/equation.gif)
    -
    -Explaining the various values from left to right:
    -
    -* `k = 0 ... 9`:  The `retries` value (10)
    -* `1000`: The `minTimeout` value in ms (1000)
    -* `x^k`: No need to change this, `x` will be your resulting factor
    -* `5 * 60 * 1000`: The desired total amount of time for retrying in ms (5 minutes)
    -
    -To make this a little easier for you, use wolfram alpha to do the calculations:
    -
    -
    -
    -[article]: http://dthain.blogspot.com/2009/02/exponential-backoff-in-distributed.html
    -
    -### retry.createTimeout(attempt, opts)
    -
    -Returns a new `timeout` (integer in milliseconds) based on the given parameters.
    -
    -`attempt` is an integer representing for which retry the timeout should be calculated. If your retry operation was executed 4 times you had one attempt and 3 retries. If you then want to calculate a new timeout, you should set `attempt` to 4 (attempts are zero-indexed).
    -
    -`opts` can include `factor`, `minTimeout`, `randomize` (boolean) and `maxTimeout`. They are documented above.
    -
    -`retry.createTimeout()` is used internally by `retry.timeouts()` and is public for you to be able to create your own timeouts for reinserting an item, see [issue #13](https://github.com/tim-kos/node-retry/issues/13).
    -
    -### retry.wrap(obj, [options], [methodNames])
    -
    -Wrap all functions of the `obj` with retry. Optionally you can pass operation options and
    -an array of method names which need to be wrapped.
    -
    -```
    -retry.wrap(obj)
    -
    -retry.wrap(obj, ['method1', 'method2'])
    -
    -retry.wrap(obj, {retries: 3})
    -
    -retry.wrap(obj, {retries: 3}, ['method1', 'method2'])
    -```
    -The `options` object can take any options that the usual call to `retry.operation` can take.
    -
    -### new RetryOperation(timeouts, [options])
    -
    -Creates a new `RetryOperation` where `timeouts` is an array where each value is
    -a timeout given in milliseconds.
    -
    -Available options:
    -* `forever`: Whether to retry forever, defaults to `false`.
    -* `unref`: Wether to [unref](https://nodejs.org/api/timers.html#timers_unref) the setTimeout's, defaults to `false`.
    -
    -If `forever` is true, the following changes happen:
    -* `RetryOperation.errors()` will only output an array of one item: the last error.
    -* `RetryOperation` will repeatedly use the `timeouts` array. Once all of its timeouts have been used up, it restarts with the first timeout, then uses the second and so on.
    -
    -#### retryOperation.errors()
    -
    -Returns an array of all errors that have been passed to `retryOperation.retry()` so far. The
    -returning array has the errors ordered chronologically based on when they were passed to
    -`retryOperation.retry()`, which means the first passed error is at index zero and the last is
    -at the last index.
    -
    -#### retryOperation.mainError()
    -
    -A reference to the error object that occured most frequently. Errors are
    -compared using the `error.message` property.
    -
    -If multiple error messages occured the same amount of time, the last error
    -object with that message is returned.
    -
    -If no errors occured so far, the value is `null`.
    -
    -#### retryOperation.attempt(fn, timeoutOps)
    -
    -Defines the function `fn` that is to be retried and executes it for the first
    -time right away. The `fn` function can receive an optional `currentAttempt` callback that represents the number of attempts to execute `fn` so far.
    -
    -Optionally defines `timeoutOps` which is an object having a property `timeout` in miliseconds and a property `cb` callback function.
    -Whenever your retry operation takes longer than `timeout` to execute, the timeout callback function `cb` is called.
    -
    -
    -#### retryOperation.try(fn)
    -
    -This is an alias for `retryOperation.attempt(fn)`. This is deprecated. Please use `retryOperation.attempt(fn)` instead.
    -
    -#### retryOperation.start(fn)
    -
    -This is an alias for `retryOperation.attempt(fn)`. This is deprecated. Please use `retryOperation.attempt(fn)` instead.
    -
    -#### retryOperation.retry(error)
    -
    -Returns `false` when no `error` value is given, or the maximum amount of retries
    -has been reached.
    -
    -Otherwise it returns `true`, and retries the operation after the timeout for
    -the current attempt number.
    -
    -#### retryOperation.stop()
    -
    -Allows you to stop the operation being retried. Useful for aborting the operation on a fatal error etc.
    -
    -#### retryOperation.reset()
    -
    -Resets the internal state of the operation object, so that you can call `attempt()` again as if this was a new operation object.
    -
    -#### retryOperation.attempts()
    -
    -Returns an int representing the number of attempts it took to call `fn` before it was successful.
    -
    -## License
    -
    -retry is licensed under the MIT license.
    -
    -
    -# Changelog
    -
    -0.10.0 Adding `stop` functionality, thanks to @maxnachlinger.
    -
    -0.9.0 Adding `unref` functionality, thanks to @satazor.
    -
    -0.8.0 Implementing retry.wrap.
    -
    -0.7.0 Some bug fixes and made retry.createTimeout() public. Fixed issues [#10](https://github.com/tim-kos/node-retry/issues/10), [#12](https://github.com/tim-kos/node-retry/issues/12), and [#13](https://github.com/tim-kos/node-retry/issues/13).
    -
    -0.6.0 Introduced optional timeOps parameter for the attempt() function which is an object having a property timeout in milliseconds and a property cb callback function. Whenever your retry operation takes longer than timeout to execute, the timeout callback function cb is called.
    -
    -0.5.0 Some minor refactoring.
    -
    -0.4.0 Changed retryOperation.try() to retryOperation.attempt(). Deprecated the aliases start() and try() for it.
    -
    -0.3.0 Added retryOperation.start() which is an alias for retryOperation.try().
    -
    -0.2.0 Added attempts() function and parameter to retryOperation.try() representing the number of attempts it took to call fn().
    diff --git a/deps/npm/node_modules/safe-buffer/README.md b/deps/npm/node_modules/safe-buffer/README.md
    deleted file mode 100644
    index e9a81afd0406f0..00000000000000
    --- a/deps/npm/node_modules/safe-buffer/README.md
    +++ /dev/null
    @@ -1,584 +0,0 @@
    -# safe-buffer [![travis][travis-image]][travis-url] [![npm][npm-image]][npm-url] [![downloads][downloads-image]][downloads-url] [![javascript style guide][standard-image]][standard-url]
    -
    -[travis-image]: https://img.shields.io/travis/feross/safe-buffer/master.svg
    -[travis-url]: https://travis-ci.org/feross/safe-buffer
    -[npm-image]: https://img.shields.io/npm/v/safe-buffer.svg
    -[npm-url]: https://npmjs.org/package/safe-buffer
    -[downloads-image]: https://img.shields.io/npm/dm/safe-buffer.svg
    -[downloads-url]: https://npmjs.org/package/safe-buffer
    -[standard-image]: https://img.shields.io/badge/code_style-standard-brightgreen.svg
    -[standard-url]: https://standardjs.com
    -
    -#### Safer Node.js Buffer API
    -
    -**Use the new Node.js Buffer APIs (`Buffer.from`, `Buffer.alloc`,
    -`Buffer.allocUnsafe`, `Buffer.allocUnsafeSlow`) in all versions of Node.js.**
    -
    -**Uses the built-in implementation when available.**
    -
    -## install
    -
    -```
    -npm install safe-buffer
    -```
    -
    -## usage
    -
    -The goal of this package is to provide a safe replacement for the node.js `Buffer`.
    -
    -It's a drop-in replacement for `Buffer`. You can use it by adding one `require` line to
    -the top of your node.js modules:
    -
    -```js
    -var Buffer = require('safe-buffer').Buffer
    -
    -// Existing buffer code will continue to work without issues:
    -
    -new Buffer('hey', 'utf8')
    -new Buffer([1, 2, 3], 'utf8')
    -new Buffer(obj)
    -new Buffer(16) // create an uninitialized buffer (potentially unsafe)
    -
    -// But you can use these new explicit APIs to make clear what you want:
    -
    -Buffer.from('hey', 'utf8') // convert from many types to a Buffer
    -Buffer.alloc(16) // create a zero-filled buffer (safe)
    -Buffer.allocUnsafe(16) // create an uninitialized buffer (potentially unsafe)
    -```
    -
    -## api
    -
    -### Class Method: Buffer.from(array)
    -
    -
    -* `array` {Array}
    -
    -Allocates a new `Buffer` using an `array` of octets.
    -
    -```js
    -const buf = Buffer.from([0x62,0x75,0x66,0x66,0x65,0x72]);
    -  // creates a new Buffer containing ASCII bytes
    -  // ['b','u','f','f','e','r']
    -```
    -
    -A `TypeError` will be thrown if `array` is not an `Array`.
    -
    -### Class Method: Buffer.from(arrayBuffer[, byteOffset[, length]])
    -
    -
    -* `arrayBuffer` {ArrayBuffer} The `.buffer` property of a `TypedArray` or
    -  a `new ArrayBuffer()`
    -* `byteOffset` {Number} Default: `0`
    -* `length` {Number} Default: `arrayBuffer.length - byteOffset`
    -
    -When passed a reference to the `.buffer` property of a `TypedArray` instance,
    -the newly created `Buffer` will share the same allocated memory as the
    -TypedArray.
    -
    -```js
    -const arr = new Uint16Array(2);
    -arr[0] = 5000;
    -arr[1] = 4000;
    -
    -const buf = Buffer.from(arr.buffer); // shares the memory with arr;
    -
    -console.log(buf);
    -  // Prints: 
    -
    -// changing the TypedArray changes the Buffer also
    -arr[1] = 6000;
    -
    -console.log(buf);
    -  // Prints: 
    -```
    -
    -The optional `byteOffset` and `length` arguments specify a memory range within
    -the `arrayBuffer` that will be shared by the `Buffer`.
    -
    -```js
    -const ab = new ArrayBuffer(10);
    -const buf = Buffer.from(ab, 0, 2);
    -console.log(buf.length);
    -  // Prints: 2
    -```
    -
    -A `TypeError` will be thrown if `arrayBuffer` is not an `ArrayBuffer`.
    -
    -### Class Method: Buffer.from(buffer)
    -
    -
    -* `buffer` {Buffer}
    -
    -Copies the passed `buffer` data onto a new `Buffer` instance.
    -
    -```js
    -const buf1 = Buffer.from('buffer');
    -const buf2 = Buffer.from(buf1);
    -
    -buf1[0] = 0x61;
    -console.log(buf1.toString());
    -  // 'auffer'
    -console.log(buf2.toString());
    -  // 'buffer' (copy is not changed)
    -```
    -
    -A `TypeError` will be thrown if `buffer` is not a `Buffer`.
    -
    -### Class Method: Buffer.from(str[, encoding])
    -
    -
    -* `str` {String} String to encode.
    -* `encoding` {String} Encoding to use, Default: `'utf8'`
    -
    -Creates a new `Buffer` containing the given JavaScript string `str`. If
    -provided, the `encoding` parameter identifies the character encoding.
    -If not provided, `encoding` defaults to `'utf8'`.
    -
    -```js
    -const buf1 = Buffer.from('this is a tést');
    -console.log(buf1.toString());
    -  // prints: this is a tést
    -console.log(buf1.toString('ascii'));
    -  // prints: this is a tC)st
    -
    -const buf2 = Buffer.from('7468697320697320612074c3a97374', 'hex');
    -console.log(buf2.toString());
    -  // prints: this is a tést
    -```
    -
    -A `TypeError` will be thrown if `str` is not a string.
    -
    -### Class Method: Buffer.alloc(size[, fill[, encoding]])
    -
    -
    -* `size` {Number}
    -* `fill` {Value} Default: `undefined`
    -* `encoding` {String} Default: `utf8`
    -
    -Allocates a new `Buffer` of `size` bytes. If `fill` is `undefined`, the
    -`Buffer` will be *zero-filled*.
    -
    -```js
    -const buf = Buffer.alloc(5);
    -console.log(buf);
    -  // 
    -```
    -
    -The `size` must be less than or equal to the value of
    -`require('buffer').kMaxLength` (on 64-bit architectures, `kMaxLength` is
    -`(2^31)-1`). Otherwise, a [`RangeError`][] is thrown. A zero-length Buffer will
    -be created if a `size` less than or equal to 0 is specified.
    -
    -If `fill` is specified, the allocated `Buffer` will be initialized by calling
    -`buf.fill(fill)`. See [`buf.fill()`][] for more information.
    -
    -```js
    -const buf = Buffer.alloc(5, 'a');
    -console.log(buf);
    -  // 
    -```
    -
    -If both `fill` and `encoding` are specified, the allocated `Buffer` will be
    -initialized by calling `buf.fill(fill, encoding)`. For example:
    -
    -```js
    -const buf = Buffer.alloc(11, 'aGVsbG8gd29ybGQ=', 'base64');
    -console.log(buf);
    -  // 
    -```
    -
    -Calling `Buffer.alloc(size)` can be significantly slower than the alternative
    -`Buffer.allocUnsafe(size)` but ensures that the newly created `Buffer` instance
    -contents will *never contain sensitive data*.
    -
    -A `TypeError` will be thrown if `size` is not a number.
    -
    -### Class Method: Buffer.allocUnsafe(size)
    -
    -
    -* `size` {Number}
    -
    -Allocates a new *non-zero-filled* `Buffer` of `size` bytes.  The `size` must
    -be less than or equal to the value of `require('buffer').kMaxLength` (on 64-bit
    -architectures, `kMaxLength` is `(2^31)-1`). Otherwise, a [`RangeError`][] is
    -thrown. A zero-length Buffer will be created if a `size` less than or equal to
    -0 is specified.
    -
    -The underlying memory for `Buffer` instances created in this way is *not
    -initialized*. The contents of the newly created `Buffer` are unknown and
    -*may contain sensitive data*. Use [`buf.fill(0)`][] to initialize such
    -`Buffer` instances to zeroes.
    -
    -```js
    -const buf = Buffer.allocUnsafe(5);
    -console.log(buf);
    -  // 
    -  // (octets will be different, every time)
    -buf.fill(0);
    -console.log(buf);
    -  // 
    -```
    -
    -A `TypeError` will be thrown if `size` is not a number.
    -
    -Note that the `Buffer` module pre-allocates an internal `Buffer` instance of
    -size `Buffer.poolSize` that is used as a pool for the fast allocation of new
    -`Buffer` instances created using `Buffer.allocUnsafe(size)` (and the deprecated
    -`new Buffer(size)` constructor) only when `size` is less than or equal to
    -`Buffer.poolSize >> 1` (floor of `Buffer.poolSize` divided by two). The default
    -value of `Buffer.poolSize` is `8192` but can be modified.
    -
    -Use of this pre-allocated internal memory pool is a key difference between
    -calling `Buffer.alloc(size, fill)` vs. `Buffer.allocUnsafe(size).fill(fill)`.
    -Specifically, `Buffer.alloc(size, fill)` will *never* use the internal Buffer
    -pool, while `Buffer.allocUnsafe(size).fill(fill)` *will* use the internal
    -Buffer pool if `size` is less than or equal to half `Buffer.poolSize`. The
    -difference is subtle but can be important when an application requires the
    -additional performance that `Buffer.allocUnsafe(size)` provides.
    -
    -### Class Method: Buffer.allocUnsafeSlow(size)
    -
    -
    -* `size` {Number}
    -
    -Allocates a new *non-zero-filled* and non-pooled `Buffer` of `size` bytes.  The
    -`size` must be less than or equal to the value of
    -`require('buffer').kMaxLength` (on 64-bit architectures, `kMaxLength` is
    -`(2^31)-1`). Otherwise, a [`RangeError`][] is thrown. A zero-length Buffer will
    -be created if a `size` less than or equal to 0 is specified.
    -
    -The underlying memory for `Buffer` instances created in this way is *not
    -initialized*. The contents of the newly created `Buffer` are unknown and
    -*may contain sensitive data*. Use [`buf.fill(0)`][] to initialize such
    -`Buffer` instances to zeroes.
    -
    -When using `Buffer.allocUnsafe()` to allocate new `Buffer` instances,
    -allocations under 4KB are, by default, sliced from a single pre-allocated
    -`Buffer`. This allows applications to avoid the garbage collection overhead of
    -creating many individually allocated Buffers. This approach improves both
    -performance and memory usage by eliminating the need to track and cleanup as
    -many `Persistent` objects.
    -
    -However, in the case where a developer may need to retain a small chunk of
    -memory from a pool for an indeterminate amount of time, it may be appropriate
    -to create an un-pooled Buffer instance using `Buffer.allocUnsafeSlow()` then
    -copy out the relevant bits.
    -
    -```js
    -// need to keep around a few small chunks of memory
    -const store = [];
    -
    -socket.on('readable', () => {
    -  const data = socket.read();
    -  // allocate for retained data
    -  const sb = Buffer.allocUnsafeSlow(10);
    -  // copy the data into the new allocation
    -  data.copy(sb, 0, 0, 10);
    -  store.push(sb);
    -});
    -```
    -
    -Use of `Buffer.allocUnsafeSlow()` should be used only as a last resort *after*
    -a developer has observed undue memory retention in their applications.
    -
    -A `TypeError` will be thrown if `size` is not a number.
    -
    -### All the Rest
    -
    -The rest of the `Buffer` API is exactly the same as in node.js.
    -[See the docs](https://nodejs.org/api/buffer.html).
    -
    -
    -## Related links
    -
    -- [Node.js issue: Buffer(number) is unsafe](https://github.com/nodejs/node/issues/4660)
    -- [Node.js Enhancement Proposal: Buffer.from/Buffer.alloc/Buffer.zalloc/Buffer() soft-deprecate](https://github.com/nodejs/node-eps/pull/4)
    -
    -## Why is `Buffer` unsafe?
    -
    -Today, the node.js `Buffer` constructor is overloaded to handle many different argument
    -types like `String`, `Array`, `Object`, `TypedArrayView` (`Uint8Array`, etc.),
    -`ArrayBuffer`, and also `Number`.
    -
    -The API is optimized for convenience: you can throw any type at it, and it will try to do
    -what you want.
    -
    -Because the Buffer constructor is so powerful, you often see code like this:
    -
    -```js
    -// Convert UTF-8 strings to hex
    -function toHex (str) {
    -  return new Buffer(str).toString('hex')
    -}
    -```
    -
    -***But what happens if `toHex` is called with a `Number` argument?***
    -
    -### Remote Memory Disclosure
    -
    -If an attacker can make your program call the `Buffer` constructor with a `Number`
    -argument, then they can make it allocate uninitialized memory from the node.js process.
    -This could potentially disclose TLS private keys, user data, or database passwords.
    -
    -When the `Buffer` constructor is passed a `Number` argument, it returns an
    -**UNINITIALIZED** block of memory of the specified `size`. When you create a `Buffer` like
    -this, you **MUST** overwrite the contents before returning it to the user.
    -
    -From the [node.js docs](https://nodejs.org/api/buffer.html#buffer_new_buffer_size):
    -
    -> `new Buffer(size)`
    ->
    -> - `size` Number
    ->
    -> The underlying memory for `Buffer` instances created in this way is not initialized.
    -> **The contents of a newly created `Buffer` are unknown and could contain sensitive
    -> data.** Use `buf.fill(0)` to initialize a Buffer to zeroes.
    -
    -(Emphasis our own.)
    -
    -Whenever the programmer intended to create an uninitialized `Buffer` you often see code
    -like this:
    -
    -```js
    -var buf = new Buffer(16)
    -
    -// Immediately overwrite the uninitialized buffer with data from another buffer
    -for (var i = 0; i < buf.length; i++) {
    -  buf[i] = otherBuf[i]
    -}
    -```
    -
    -
    -### Would this ever be a problem in real code?
    -
    -Yes. It's surprisingly common to forget to check the type of your variables in a
    -dynamically-typed language like JavaScript.
    -
    -Usually the consequences of assuming the wrong type is that your program crashes with an
    -uncaught exception. But the failure mode for forgetting to check the type of arguments to
    -the `Buffer` constructor is more catastrophic.
    -
    -Here's an example of a vulnerable service that takes a JSON payload and converts it to
    -hex:
    -
    -```js
    -// Take a JSON payload {str: "some string"} and convert it to hex
    -var server = http.createServer(function (req, res) {
    -  var data = ''
    -  req.setEncoding('utf8')
    -  req.on('data', function (chunk) {
    -    data += chunk
    -  })
    -  req.on('end', function () {
    -    var body = JSON.parse(data)
    -    res.end(new Buffer(body.str).toString('hex'))
    -  })
    -})
    -
    -server.listen(8080)
    -```
    -
    -In this example, an http client just has to send:
    -
    -```json
    -{
    -  "str": 1000
    -}
    -```
    -
    -and it will get back 1,000 bytes of uninitialized memory from the server.
    -
    -This is a very serious bug. It's similar in severity to the
    -[the Heartbleed bug](http://heartbleed.com/) that allowed disclosure of OpenSSL process
    -memory by remote attackers.
    -
    -
    -### Which real-world packages were vulnerable?
    -
    -#### [`bittorrent-dht`](https://www.npmjs.com/package/bittorrent-dht)
    -
    -[Mathias Buus](https://github.com/mafintosh) and I
    -([Feross Aboukhadijeh](http://feross.org/)) found this issue in one of our own packages,
    -[`bittorrent-dht`](https://www.npmjs.com/package/bittorrent-dht). The bug would allow
    -anyone on the internet to send a series of messages to a user of `bittorrent-dht` and get
    -them to reveal 20 bytes at a time of uninitialized memory from the node.js process.
    -
    -Here's
    -[the commit](https://github.com/feross/bittorrent-dht/commit/6c7da04025d5633699800a99ec3fbadf70ad35b8)
    -that fixed it. We released a new fixed version, created a
    -[Node Security Project disclosure](https://nodesecurity.io/advisories/68), and deprecated all
    -vulnerable versions on npm so users will get a warning to upgrade to a newer version.
    -
    -#### [`ws`](https://www.npmjs.com/package/ws)
    -
    -That got us wondering if there were other vulnerable packages. Sure enough, within a short
    -period of time, we found the same issue in [`ws`](https://www.npmjs.com/package/ws), the
    -most popular WebSocket implementation in node.js.
    -
    -If certain APIs were called with `Number` parameters instead of `String` or `Buffer` as
    -expected, then uninitialized server memory would be disclosed to the remote peer.
    -
    -These were the vulnerable methods:
    -
    -```js
    -socket.send(number)
    -socket.ping(number)
    -socket.pong(number)
    -```
    -
    -Here's a vulnerable socket server with some echo functionality:
    -
    -```js
    -server.on('connection', function (socket) {
    -  socket.on('message', function (message) {
    -    message = JSON.parse(message)
    -    if (message.type === 'echo') {
    -      socket.send(message.data) // send back the user's message
    -    }
    -  })
    -})
    -```
    -
    -`socket.send(number)` called on the server, will disclose server memory.
    -
    -Here's [the release](https://github.com/websockets/ws/releases/tag/1.0.1) where the issue
    -was fixed, with a more detailed explanation. Props to
    -[Arnout Kazemier](https://github.com/3rd-Eden) for the quick fix. Here's the
    -[Node Security Project disclosure](https://nodesecurity.io/advisories/67).
    -
    -
    -### What's the solution?
    -
    -It's important that node.js offers a fast way to get memory otherwise performance-critical
    -applications would needlessly get a lot slower.
    -
    -But we need a better way to *signal our intent* as programmers. **When we want
    -uninitialized memory, we should request it explicitly.**
    -
    -Sensitive functionality should not be packed into a developer-friendly API that loosely
    -accepts many different types. This type of API encourages the lazy practice of passing
    -variables in without checking the type very carefully.
    -
    -#### A new API: `Buffer.allocUnsafe(number)`
    -
    -The functionality of creating buffers with uninitialized memory should be part of another
    -API. We propose `Buffer.allocUnsafe(number)`. This way, it's not part of an API that
    -frequently gets user input of all sorts of different types passed into it.
    -
    -```js
    -var buf = Buffer.allocUnsafe(16) // careful, uninitialized memory!
    -
    -// Immediately overwrite the uninitialized buffer with data from another buffer
    -for (var i = 0; i < buf.length; i++) {
    -  buf[i] = otherBuf[i]
    -}
    -```
    -
    -
    -### How do we fix node.js core?
    -
    -We sent [a PR to node.js core](https://github.com/nodejs/node/pull/4514) (merged as
    -`semver-major`) which defends against one case:
    -
    -```js
    -var str = 16
    -new Buffer(str, 'utf8')
    -```
    -
    -In this situation, it's implied that the programmer intended the first argument to be a
    -string, since they passed an encoding as a second argument. Today, node.js will allocate
    -uninitialized memory in the case of `new Buffer(number, encoding)`, which is probably not
    -what the programmer intended.
    -
    -But this is only a partial solution, since if the programmer does `new Buffer(variable)`
    -(without an `encoding` parameter) there's no way to know what they intended. If `variable`
    -is sometimes a number, then uninitialized memory will sometimes be returned.
    -
    -### What's the real long-term fix?
    -
    -We could deprecate and remove `new Buffer(number)` and use `Buffer.allocUnsafe(number)` when
    -we need uninitialized memory. But that would break 1000s of packages.
    -
    -~~We believe the best solution is to:~~
    -
    -~~1. Change `new Buffer(number)` to return safe, zeroed-out memory~~
    -
    -~~2. Create a new API for creating uninitialized Buffers. We propose: `Buffer.allocUnsafe(number)`~~
    -
    -#### Update
    -
    -We now support adding three new APIs:
    -
    -- `Buffer.from(value)` - convert from any type to a buffer
    -- `Buffer.alloc(size)` - create a zero-filled buffer
    -- `Buffer.allocUnsafe(size)` - create an uninitialized buffer with given size
    -
    -This solves the core problem that affected `ws` and `bittorrent-dht` which is
    -`Buffer(variable)` getting tricked into taking a number argument.
    -
    -This way, existing code continues working and the impact on the npm ecosystem will be
    -minimal. Over time, npm maintainers can migrate performance-critical code to use
    -`Buffer.allocUnsafe(number)` instead of `new Buffer(number)`.
    -
    -
    -### Conclusion
    -
    -We think there's a serious design issue with the `Buffer` API as it exists today. It
    -promotes insecure software by putting high-risk functionality into a convenient API
    -with friendly "developer ergonomics".
    -
    -This wasn't merely a theoretical exercise because we found the issue in some of the
    -most popular npm packages.
    -
    -Fortunately, there's an easy fix that can be applied today. Use `safe-buffer` in place of
    -`buffer`.
    -
    -```js
    -var Buffer = require('safe-buffer').Buffer
    -```
    -
    -Eventually, we hope that node.js core can switch to this new, safer behavior. We believe
    -the impact on the ecosystem would be minimal since it's not a breaking change.
    -Well-maintained, popular packages would be updated to use `Buffer.alloc` quickly, while
    -older, insecure packages would magically become safe from this attack vector.
    -
    -
    -## links
    -
    -- [Node.js PR: buffer: throw if both length and enc are passed](https://github.com/nodejs/node/pull/4514)
    -- [Node Security Project disclosure for `ws`](https://nodesecurity.io/advisories/67)
    -- [Node Security Project disclosure for`bittorrent-dht`](https://nodesecurity.io/advisories/68)
    -
    -
    -## credit
    -
    -The original issues in `bittorrent-dht`
    -([disclosure](https://nodesecurity.io/advisories/68)) and
    -`ws` ([disclosure](https://nodesecurity.io/advisories/67)) were discovered by
    -[Mathias Buus](https://github.com/mafintosh) and
    -[Feross Aboukhadijeh](http://feross.org/).
    -
    -Thanks to [Adam Baldwin](https://github.com/evilpacket) for helping disclose these issues
    -and for his work running the [Node Security Project](https://nodesecurity.io/).
    -
    -Thanks to [John Hiesey](https://github.com/jhiesey) for proofreading this README and
    -auditing the code.
    -
    -
    -## license
    -
    -MIT. Copyright (C) [Feross Aboukhadijeh](http://feross.org)
    diff --git a/deps/npm/node_modules/set-blocking/CHANGELOG.md b/deps/npm/node_modules/set-blocking/CHANGELOG.md
    deleted file mode 100644
    index 03bf591923d782..00000000000000
    --- a/deps/npm/node_modules/set-blocking/CHANGELOG.md
    +++ /dev/null
    @@ -1,26 +0,0 @@
    -# Change Log
    -
    -All notable changes to this project will be documented in this file. See [standard-version](https://github.com/conventional-changelog/standard-version) for commit guidelines.
    -
    -
    -# [2.0.0](https://github.com/yargs/set-blocking/compare/v1.0.0...v2.0.0) (2016-05-17)
    -
    -
    -### Features
    -
    -* add an isTTY check ([#3](https://github.com/yargs/set-blocking/issues/3)) ([66ce277](https://github.com/yargs/set-blocking/commit/66ce277))
    -
    -
    -### BREAKING CHANGES
    -
    -* stdio/stderr will not be set to blocking if isTTY === false
    -
    -
    -
    -
    -# 1.0.0 (2016-05-14)
    -
    -
    -### Features
    -
    -* implemented shim for stream._handle.setBlocking ([6bde0c0](https://github.com/yargs/set-blocking/commit/6bde0c0))
    diff --git a/deps/npm/node_modules/set-blocking/README.md b/deps/npm/node_modules/set-blocking/README.md
    deleted file mode 100644
    index e93b4202b59d65..00000000000000
    --- a/deps/npm/node_modules/set-blocking/README.md
    +++ /dev/null
    @@ -1,31 +0,0 @@
    -# set-blocking
    -
    -[![Build Status](https://travis-ci.org/yargs/set-blocking.svg)](https://travis-ci.org/yargs/set-blocking)
    -[![NPM version](https://img.shields.io/npm/v/set-blocking.svg)](https://www.npmjs.com/package/set-blocking)
    -[![Coverage Status](https://coveralls.io/repos/yargs/set-blocking/badge.svg?branch=)](https://coveralls.io/r/yargs/set-blocking?branch=master)
    -[![Standard Version](https://img.shields.io/badge/release-standard%20version-brightgreen.svg)](https://github.com/conventional-changelog/standard-version)
    -
    -set blocking `stdio` and `stderr` ensuring that terminal output does not truncate.
    -
    -```js
    -const setBlocking = require('set-blocking')
    -setBlocking(true)
    -console.log(someLargeStringToOutput)
    -```
    -
    -## Historical Context/Word of Warning
    -
    -This was created as a shim to address the bug discussed in [node #6456](https://github.com/nodejs/node/issues/6456). This bug crops up on
    -newer versions of Node.js (`0.12+`), truncating terminal output.
    -
    -You should be mindful of the side-effects caused by using `set-blocking`:
    -
    -* if your module sets blocking to `true`, it will effect other modules
    -  consuming your library. In [yargs](https://github.com/yargs/yargs/blob/master/yargs.js#L653) we only call
    -  `setBlocking(true)` once we already know we are about to call `process.exit(code)`.
    -* this patch will not apply to subprocesses spawned with `isTTY = true`, this is
    -  the [default `spawn()` behavior](https://nodejs.org/api/child_process.html#child_process_child_process_spawn_command_args_options).
    -
    -## License
    -
    -ISC
    diff --git a/deps/npm/node_modules/signal-exit/CHANGELOG.md b/deps/npm/node_modules/signal-exit/CHANGELOG.md
    deleted file mode 100644
    index ed104f41bb71b6..00000000000000
    --- a/deps/npm/node_modules/signal-exit/CHANGELOG.md
    +++ /dev/null
    @@ -1,35 +0,0 @@
    -# Changelog
    -
    -All notable changes to this project will be documented in this file. See [standard-version](https://github.com/conventional-changelog/standard-version) for commit guidelines.
    -
    -### [3.0.3](https://github.com/tapjs/signal-exit/compare/v3.0.2...v3.0.3) (2020-03-26)
    -
    -
    -### Bug Fixes
    -
    -* patch `SIGHUP` to `SIGINT` when on Windows ([cfd1046](https://github.com/tapjs/signal-exit/commit/cfd1046079af4f0e44f93c69c237a09de8c23ef2))
    -* **ci:** use Travis for Windows builds ([007add7](https://github.com/tapjs/signal-exit/commit/007add793d2b5ae3c382512103adbf321768a0b8))
    -
    -
    -## [3.0.1](https://github.com/tapjs/signal-exit/compare/v3.0.0...v3.0.1) (2016-09-08)
    -
    -
    -### Bug Fixes
    -
    -* do not listen on SIGBUS, SIGFPE, SIGSEGV and SIGILL ([#40](https://github.com/tapjs/signal-exit/issues/40)) ([5b105fb](https://github.com/tapjs/signal-exit/commit/5b105fb))
    -
    -
    -
    -
    -# [3.0.0](https://github.com/tapjs/signal-exit/compare/v2.1.2...v3.0.0) (2016-06-13)
    -
    -
    -### Bug Fixes
    -
    -* get our test suite running on Windows ([#23](https://github.com/tapjs/signal-exit/issues/23)) ([6f3eda8](https://github.com/tapjs/signal-exit/commit/6f3eda8))
    -* hooking SIGPROF was interfering with profilers see [#21](https://github.com/tapjs/signal-exit/issues/21) ([#24](https://github.com/tapjs/signal-exit/issues/24)) ([1248a4c](https://github.com/tapjs/signal-exit/commit/1248a4c))
    -
    -
    -### BREAKING CHANGES
    -
    -* signal-exit no longer wires into SIGPROF
    diff --git a/deps/npm/node_modules/signal-exit/README.md b/deps/npm/node_modules/signal-exit/README.md
    deleted file mode 100644
    index 9f8eb5917dc790..00000000000000
    --- a/deps/npm/node_modules/signal-exit/README.md
    +++ /dev/null
    @@ -1,39 +0,0 @@
    -# signal-exit
    -
    -[![Build Status](https://travis-ci.org/tapjs/signal-exit.png)](https://travis-ci.org/tapjs/signal-exit)
    -[![Coverage](https://coveralls.io/repos/tapjs/signal-exit/badge.svg?branch=master)](https://coveralls.io/r/tapjs/signal-exit?branch=master)
    -[![NPM version](https://img.shields.io/npm/v/signal-exit.svg)](https://www.npmjs.com/package/signal-exit)
    -[![Standard Version](https://img.shields.io/badge/release-standard%20version-brightgreen.svg)](https://github.com/conventional-changelog/standard-version)
    -
    -When you want to fire an event no matter how a process exits:
    -
    -* reaching the end of execution.
    -* explicitly having `process.exit(code)` called.
    -* having `process.kill(pid, sig)` called.
    -* receiving a fatal signal from outside the process
    -
    -Use `signal-exit`.
    -
    -```js
    -var onExit = require('signal-exit')
    -
    -onExit(function (code, signal) {
    -  console.log('process exited!')
    -})
    -```
    -
    -## API
    -
    -`var remove = onExit(function (code, signal) {}, options)`
    -
    -The return value of the function is a function that will remove the
    -handler.
    -
    -Note that the function *only* fires for signals if the signal would
    -cause the proces to exit.  That is, there are no other listeners, and
    -it is a fatal signal.
    -
    -## Options
    -
    -* `alwaysLast`: Run this handler after any other signal or exit
    -  handlers.  This causes `process.emit` to be monkeypatched.
    diff --git a/deps/npm/node_modules/smart-buffer/.prettierrc.yaml b/deps/npm/node_modules/smart-buffer/.prettierrc.yaml
    deleted file mode 100644
    index 9a4f5ed754dd24..00000000000000
    --- a/deps/npm/node_modules/smart-buffer/.prettierrc.yaml
    +++ /dev/null
    @@ -1,5 +0,0 @@
    -parser: typescript
    -printWidth: 120
    -tabWidth: 2
    -singleQuote: true
    -trailingComma: none
    \ No newline at end of file
    diff --git a/deps/npm/node_modules/smart-buffer/.travis.yml b/deps/npm/node_modules/smart-buffer/.travis.yml
    deleted file mode 100644
    index eec71cecaab482..00000000000000
    --- a/deps/npm/node_modules/smart-buffer/.travis.yml
    +++ /dev/null
    @@ -1,13 +0,0 @@
    -language: node_js
    -node_js:
    -  - 6
    -  - 8
    -  - 10
    -  - 12
    -  - stable
    -
    -before_script:
    -  - npm install -g typescript
    -  - tsc -p ./
    -
    -script: "npm run coveralls"
    \ No newline at end of file
    diff --git a/deps/npm/node_modules/smart-buffer/README.md b/deps/npm/node_modules/smart-buffer/README.md
    deleted file mode 100644
    index 4cd328d9e0c3db..00000000000000
    --- a/deps/npm/node_modules/smart-buffer/README.md
    +++ /dev/null
    @@ -1,632 +0,0 @@
    -smart-buffer  [![Build Status](https://travis-ci.org/JoshGlazebrook/smart-buffer.svg?branch=master)](https://travis-ci.org/JoshGlazebrook/smart-buffer)  [![Coverage Status](https://coveralls.io/repos/github/JoshGlazebrook/smart-buffer/badge.svg?branch=master)](https://coveralls.io/github/JoshGlazebrook/smart-buffer?branch=master)
    -=============
    -
    -smart-buffer is a Buffer wrapper that adds automatic read & write offset tracking, string operations, data insertions, and more.
    -
    -![stats](https://nodei.co/npm/smart-buffer.png?downloads=true&downloadRank=true&stars=true "stats")
    -
    -**Key Features**:
    -* Proxies all of the Buffer write and read functions
    -* Keeps track of read and write offsets automatically
    -* Grows the internal Buffer as needed
    -* Useful string operations. (Null terminating strings)
    -* Allows for inserting values at specific points in the Buffer
    -* Built in TypeScript
    -* Type Definitions Provided
    -* Browser Support (using Webpack/Browserify)
    -* Full test coverage
    -
    -**Requirements**:
    -* Node v4.0+ is supported at this time.  (Versions prior to 2.0 will work on node 0.10)
    -
    -
    -
    -## Breaking Changes in v4.0
    -
    -* Old constructor patterns have been completely removed. It's now required to use the SmartBuffer.fromXXX() factory constructors.
    -* rewind(), skip(), moveTo() have been removed. (see [offsets](#offsets))
    -* Internal private properties are now prefixed with underscores (_)
    -* **All** writeXXX() methods that are given an offset will now **overwrite data** instead of insert. (see [write vs insert](#write-vs-insert))
    -* insertXXX() methods have been added for when you want to insert data at a specific offset (this replaces the old behavior of writeXXX() when an offset was provided)
    -
    -
    -## Looking for v3 docs?
    -
    -Legacy documentation for version 3 and prior can be found [here](https://github.com/JoshGlazebrook/smart-buffer/blob/master/docs/README_v3.md).
    -
    -## Installing:
    -
    -`yarn add smart-buffer`
    -
    -or
    -
    -`npm install smart-buffer`
    -
    -Note: The published NPM package includes the built javascript library.
    -If you cloned this repo and wish to build the library manually use:
    -
    -`npm run build`
    -
    -## Using smart-buffer
    -
    -```javascript
    -// Javascript
    -const SmartBuffer = require('smart-buffer').SmartBuffer;
    -
    -// Typescript
    -import { SmartBuffer, SmartBufferOptions} from 'smart-buffer';
    -```
    -
    -### Simple Example
    -
    -Building a packet that uses the following protocol specification:
    -
    -`[PacketType:2][PacketLength:2][Data:XX]`
    -
    -To build this packet using the vanilla Buffer class, you would have to count up the length of the data payload beforehand. You would also need to keep track of the current "cursor" position in your Buffer so you write everything in the right places. With smart-buffer you don't have to do either of those things.
    -
    -```javascript
    -function createLoginPacket(username, password, age, country) {
    -    const packet = new SmartBuffer();
    -    packet.writeUInt16LE(0x0060); // Some packet type
    -    packet.writeStringNT(username);
    -    packet.writeStringNT(password);
    -    packet.writeUInt8(age);
    -    packet.writeStringNT(country);
    -    packet.insertUInt16LE(packet.length - 2, 2);
    -
    -    return packet.toBuffer();
    -}
    -```
    -With the above function, you now can do this:
    -```javascript
    -const login = createLoginPacket("Josh", "secret123", 22, "United States");
    -
    -// 
    -```
    -Notice that the `[PacketLength:2]` value (1e 00) was inserted at position 2.
    -
    -Reading back the packet we created above is just as easy:
    -```javascript
    -
    -const reader = SmartBuffer.fromBuffer(login);
    -
    -const logininfo = {
    -    packetType: reader.readUInt16LE(),
    -    packetLength: reader.readUInt16LE(),
    -    username: reader.readStringNT(),
    -    password: reader.readStringNT(),
    -    age: reader.readUInt8(),
    -    country: reader.readStringNT()
    -};
    -
    -/*
    -{
    -    packetType: 96, (0x0060)
    -    packetLength: 30,
    -    username: 'Josh',
    -    password: 'secret123',
    -    age: 22,
    -    country: 'United States'
    -}
    -*/
    -```
    -
    -
    -## Write vs Insert
    -In prior versions of SmartBuffer, .writeXXX(value, offset) calls would insert data when an offset was provided. In version 4, this will now overwrite the data at the offset position. To insert data there are now corresponding .insertXXX(value, offset) methods.
    -
    -**SmartBuffer v3**:
    -```javascript
    -const buff = SmartBuffer.fromBuffer(new Buffer([1,2,3,4,5,6]));
    -buff.writeInt8(7, 2);
    -console.log(buff.toBuffer())
    -
    -// 
    -```
    -
    -**SmartBuffer v4**:
    -```javascript
    -const buff = SmartBuffer.fromBuffer(new Buffer([1,2,3,4,5,6]));
    -buff.writeInt8(7, 2);
    -console.log(buff.toBuffer());
    -
    -// 
    -```
    -
    -To insert you instead should use:
    -```javascript
    -const buff = SmartBuffer.fromBuffer(new Buffer([1,2,3,4,5,6]));
    -buff.insertInt8(7, 2);
    -console.log(buff.toBuffer());
    -
    -// 
    -```
    -
    -**Note:** Insert/Writing to a position beyond the currently tracked internal Buffer will zero pad to your offset.
    -
    -## Constructing a smart-buffer
    -
    -There are a few different ways to construct a SmartBuffer instance.
    -
    -```javascript
    -// Creating SmartBuffer from existing Buffer
    -const buff = SmartBuffer.fromBuffer(buffer); // Creates instance from buffer. (Uses default utf8 encoding)
    -const buff = SmartBuffer.fromBuffer(buffer, 'ascii'); // Creates instance from buffer with ascii encoding for strings.
    -
    -// Creating SmartBuffer with specified internal Buffer size. (Note: this is not a hard cap, the internal buffer will grow as needed).
    -const buff = SmartBuffer.fromSize(1024); // Creates instance with internal Buffer size of 1024.
    -const buff = SmartBuffer.fromSize(1024, 'utf8'); // Creates instance with internal Buffer size of 1024, and utf8 encoding for strings.
    -
    -// Creating SmartBuffer with options object. This one specifies size and encoding.
    -const buff = SmartBuffer.fromOptions({
    -    size: 1024,
    -    encoding: 'ascii'
    -});
    -
    -// Creating SmartBuffer with options object. This one specified an existing Buffer.
    -const buff = SmartBuffer.fromOptions({
    -    buff: buffer
    -});
    -
    -// Creating SmartBuffer from a string.
    -const buff = SmartBuffer.fromBuffer(Buffer.from('some string', 'utf8'));
    -
    -// Just want a regular SmartBuffer with all default options?
    -const buff = new SmartBuffer();
    -```
    -
    -# Api Reference:
    -
    -**Note:** SmartBuffer is fully documented with Typescript definitions as well as jsdocs so your favorite editor/IDE will have intellisense.
    -
    -**Table of Contents**
    -
    -1. [Constructing](#constructing)
    -2. **Numbers**
    -    1. [Integers](#integers)
    -    2. [Floating Points](#floating-point-numbers)
    -3. **Strings**
    -    1. [Strings](#strings)
    -    2. [Null Terminated Strings](#null-terminated-strings)
    -4. [Buffers](#buffers)
    -5. [Offsets](#offsets)
    -6. [Other](#other)
    -
    -
    -## Constructing
    -
    -### constructor()
    -### constructor([options])
    -- ```options``` *{SmartBufferOptions}* An optional options object to construct a SmartBuffer with.
    -
    -Examples:
    -```javascript
    -const buff = new SmartBuffer();
    -const buff = new SmartBuffer({
    -    size: 1024,
    -    encoding: 'ascii'
    -});
    -```
    -
    -### Class Method: fromBuffer(buffer[, encoding])
    -- ```buffer``` *{Buffer}* The Buffer instance to wrap.
    -- ```encoding``` *{string}* The string encoding to use. ```Default: 'utf8'```
    -
    -Examples:
    -```javascript
    -const someBuffer = Buffer.from('some string');
    -const buff = SmartBuffer.fromBuffer(someBuffer); // Defaults to utf8
    -const buff = SmartBuffer.fromBuffer(someBuffer, 'ascii');
    -```
    -
    -### Class Method: fromSize(size[, encoding])
    -- ```size``` *{number}* The size to initialize the internal Buffer.
    -- ```encoding``` *{string}* The string encoding to use. ```Default: 'utf8'```
    -
    -Examples:
    -```javascript
    -const buff = SmartBuffer.fromSize(1024); // Defaults to utf8
    -const buff = SmartBuffer.fromSize(1024, 'ascii');
    -```
    -
    -### Class Method: fromOptions(options)
    -- ```options``` *{SmartBufferOptions}* The Buffer instance to wrap.
    -
    -```typescript
    -interface SmartBufferOptions {
    -    encoding?: BufferEncoding; // Defaults to utf8
    -    size?: number; // Defaults to 4096
    -    buff?: Buffer;
    -}
    -```
    -
    -Examples:
    -```javascript
    -const buff = SmartBuffer.fromOptions({
    -    size: 1024
    -};
    -const buff = SmartBuffer.fromOptions({
    -    size: 1024,
    -    encoding: 'utf8'
    -});
    -const buff = SmartBuffer.fromOptions({
    -    encoding: 'utf8'
    -});
    -
    -const someBuff = Buffer.from('some string', 'utf8');
    -const buff = SmartBuffer.fromOptions({
    -    buffer: someBuff,
    -    encoding: 'utf8'
    -});
    -```
    -
    -## Integers
    -
    -### readInt8([offset])
    -- ```offset``` *{number}* Optional position to start reading data from. **Default**: ```Auto managed offset```
    -- Returns *{number}*
    -
    -Read a Int8 value.
    -
    -### buff.readInt16BE([offset])
    -### buff.readInt16LE([offset])
    -### buff.readUInt16BE([offset])
    -### buff.readUInt16LE([offset])
    -- ```offset``` *{number}* Optional position to start reading data from. **Default**: ```Auto managed offset```
    -- Returns *{number}*
    -
    -Read a 16 bit integer value.
    -
    -### buff.readInt32BE([offset])
    -### buff.readInt32LE([offset])
    -### buff.readUInt32BE([offset])
    -### buff.readUInt32LE([offset])
    -- ```offset``` *{number}* Optional position to start reading data from. **Default**: ```Auto managed offset```
    -- Returns *{number}*
    -
    -Read a 32 bit integer value.
    -
    -
    -### buff.writeInt8(value[, offset])
    -### buff.writeUInt8(value[, offset])
    -- ```value``` *{number}* The value to write.
    -- ```offset``` *{number}* An optional offset to write this value to. **Default:** ```Auto managed offset```
    -- Returns *{this}*
    -
    -Write a Int8 value.
    -
    -### buff.insertInt8(value, offset)
    -### buff.insertUInt8(value, offset)
    -- ```value``` *{number}* The value to insert.
    -- ```offset``` *{number}* The offset to insert this data at.
    -- Returns *{this}*
    -
    -Insert a Int8 value.
    -
    -
    -### buff.writeInt16BE(value[, offset])
    -### buff.writeInt16LE(value[, offset])
    -### buff.writeUInt16BE(value[, offset])
    -### buff.writeUInt16LE(value[, offset])
    -- ```value``` *{number}* The value to write.
    -- ```offset``` *{number}* An optional offset to write this value to. **Default:** ```Auto managed offset```
    -- Returns *{this}*
    -
    -Write a 16 bit integer value.
    -
    -### buff.insertInt16BE(value, offset)
    -### buff.insertInt16LE(value, offset)
    -### buff.insertUInt16BE(value, offset)
    -### buff.insertUInt16LE(value, offset)
    -- ```value``` *{number}* The value to insert.
    -- ```offset``` *{number}* The offset to insert this data at.
    -- Returns *{this}*
    -
    -Insert a 16 bit integer value.
    -
    -
    -### buff.writeInt32BE(value[, offset])
    -### buff.writeInt32LE(value[, offset])
    -### buff.writeUInt32BE(value[, offset])
    -### buff.writeUInt32LE(value[, offset])
    -- ```value``` *{number}* The value to write.
    -- ```offset``` *{number}* An optional offset to write this value to. **Default:** ```Auto managed offset```
    -- Returns *{this}*
    -
    -Write a 32 bit integer value.
    -
    -### buff.insertInt32BE(value, offset)
    -### buff.insertInt32LE(value, offset)
    -### buff.insertUInt32BE(value, offset)
    -### buff.nsertUInt32LE(value, offset)
    -- ```value``` *{number}* The value to insert.
    -- ```offset``` *{number}* The offset to insert this data at.
    -- Returns *{this}*
    -
    -Insert a 32 bit integer value.
    -
    -
    -## Floating Point Numbers
    -
    -### buff.readFloatBE([offset])
    -### buff.readFloatLE([offset])
    -- ```offset``` *{number}* Optional position to start reading data from. **Default**: ```Auto managed offset```
    -- Returns *{number}*
    -
    -Read a Float value.
    -
    -### buff.eadDoubleBE([offset])
    -### buff.readDoubleLE([offset])
    -- ```offset``` *{number}* Optional position to start reading data from. **Default**: ```Auto managed offset```
    -- Returns *{number}*
    -
    -Read a Double value.
    -
    -
    -### buff.writeFloatBE(value[, offset])
    -### buff.writeFloatLE(value[, offset])
    -- ```value``` *{number}* The value to write.
    -- ```offset``` *{number}* An optional offset to write this value to. **Default:** ```Auto managed offset```
    -- Returns *{this}*
    -
    -Write a Float value.
    -
    -### buff.insertFloatBE(value, offset)
    -### buff.insertFloatLE(value, offset)
    -- ```value``` *{number}* The value to insert.
    -- ```offset``` *{number}* The offset to insert this data at.
    -- Returns *{this}*
    -
    -Insert a Float value.
    -
    -
    -### buff.writeDoubleBE(value[, offset])
    -### buff.writeDoubleLE(value[, offset])
    -- ```value``` *{number}* The value to write.
    -- ```offset``` *{number}* An optional offset to write this value to. **Default:** ```Auto managed offset```
    -- Returns *{this}*
    -
    -Write a Double value.
    -
    -### buff.insertDoubleBE(value, offset)
    -### buff.insertDoubleLE(value, offset)
    -- ```value``` *{number}* The value to insert.
    -- ```offset``` *{number}* The offset to insert this data at.
    -- Returns *{this}*
    -
    -Insert a Double value.
    -
    -## Strings
    -
    -### buff.readString()
    -### buff.readString(size[, encoding])
    -### buff.readString(encoding)
    -- ```size``` *{number}* The number of bytes to read. **Default:** ```Reads to the end of the Buffer.```
    -- ```encoding``` *{string}* The string encoding to use. **Default:** ```utf8```.
    -
    -Read a string value.
    -
    -Examples:
    -```javascript
    -const buff = SmartBuffer.fromBuffer(Buffer.from('hello there', 'utf8'));
    -buff.readString(); // 'hello there'
    -buff.readString(2); // 'he'
    -buff.readString(2, 'utf8'); // 'he'
    -buff.readString('utf8'); // 'hello there'
    -```
    -
    -### buff.writeString(value)
    -### buff.writeString(value[, offset])
    -### buff.writeString(value[, encoding])
    -### buff.writeString(value[, offset[, encoding]])
    -- ```value``` *{string}* The string value to write.
    -- ```offset``` *{number}* The offset to write this value to. **Default:** ```Auto managed offset```
    -- ```encoding``` *{string}* An optional string encoding to use. **Default:** ```utf8```
    -
    -Write a string value.
    -
    -Examples:
    -```javascript
    -buff.writeString('hello'); // Auto managed offset
    -buff.writeString('hello', 2);
    -buff.writeString('hello', 'utf8') // Auto managed offset
    -buff.writeString('hello', 2, 'utf8');
    -```
    -
    -### buff.insertString(value, offset[, encoding])
    -- ```value``` *{string}* The string value to write.
    -- ```offset``` *{number}* The offset to write this value to.
    -- ```encoding``` *{string}* An optional string encoding to use. **Default:** ```utf8```
    -
    -Insert a string value.
    -
    -Examples:
    -```javascript
    -buff.insertString('hello', 2);
    -buff.insertString('hello', 2, 'utf8');
    -```
    -
    -## Null Terminated Strings
    -
    -### buff.readStringNT()
    -### buff.readStringNT(encoding)
    -- ```encoding``` *{string}* The string encoding to use. **Default:** ```utf8```.
    -
    -Read a null terminated string value. (If a null is not found, it will read to the end of the Buffer).
    -
    -Examples:
    -```javascript
    -const buff = SmartBuffer.fromBuffer(Buffer.from('hello\0 there', 'utf8'));
    -buff.readStringNT(); // 'hello'
    -
    -// If we called this again:
    -buff.readStringNT(); // ' there'
    -```
    -
    -### buff.writeStringNT(value)
    -### buff.writeStringNT(value[, offset])
    -### buff.writeStringNT(value[, encoding])
    -### buff.writeStringNT(value[, offset[, encoding]])
    -- ```value``` *{string}* The string value to write.
    -- ```offset``` *{number}* The offset to write this value to. **Default:** ```Auto managed offset```
    -- ```encoding``` *{string}* An optional string encoding to use. **Default:** ```utf8```
    -
    -Write a null terminated string value.
    -
    -Examples:
    -```javascript
    -buff.writeStringNT('hello'); // Auto managed offset   
    -buff.writeStringNT('hello', 2); // 
    -buff.writeStringNT('hello', 'utf8') // Auto managed offset
    -buff.writeStringNT('hello', 2, 'utf8');
    -```
    -
    -### buff.insertStringNT(value, offset[, encoding])
    -- ```value``` *{string}* The string value to write.
    -- ```offset``` *{number}* The offset to write this value to.
    -- ```encoding``` *{string}* An optional string encoding to use. **Default:** ```utf8```
    -
    -Insert a null terminated string value.
    -
    -Examples:
    -```javascript
    -buff.insertStringNT('hello', 2);
    -buff.insertStringNT('hello', 2, 'utf8');
    -```
    -
    -## Buffers
    -
    -### buff.readBuffer([length])
    -- ```length``` *{number}* The number of bytes to read into a Buffer. **Default:** ```Reads to the end of the Buffer```
    -
    -Read a Buffer of a specified size.
    -
    -### buff.writeBuffer(value[, offset])
    -- ```value``` *{Buffer}* The buffer value to write.
    -- ```offset``` *{number}* An optional offset to write the value to. **Default:** ```Auto managed offset```
    -
    -### buff.insertBuffer(value, offset)
    -- ```value``` *{Buffer}* The buffer value to write.
    -- ```offset``` *{number}* The offset to write the value to.
    -
    -
    -### buff.readBufferNT()
    -
    -Read a null terminated Buffer.
    -
    -### buff.writeBufferNT(value[, offset])
    -- ```value``` *{Buffer}* The buffer value to write.
    -- ```offset``` *{number}* An optional offset to write the value to. **Default:** ```Auto managed offset```
    -
    -Write a null terminated Buffer.
    -
    -
    -### buff.insertBufferNT(value, offset)
    -- ```value``` *{Buffer}* The buffer value to write.
    -- ```offset``` *{number}* The offset to write the value to.
    -
    -Insert a null terminated Buffer.
    -
    -
    -## Offsets
    -
    -### buff.readOffset
    -### buff.readOffset(offset)
    -- ```offset``` *{number}* The new read offset value to set.
    -- Returns: ```The current read offset```
    -
    -Gets or sets the current read offset.
    -
    -Examples:
    -```javascript
    -const currentOffset = buff.readOffset; // 5
    -
    -buff.readOffset = 10;
    -
    -console.log(buff.readOffset) // 10
    -```
    -
    -### buff.writeOffset
    -### buff.writeOffset(offset)
    -- ```offset``` *{number}* The new write offset value to set.
    -- Returns: ```The current write offset```
    -
    -Gets or sets the current write offset.
    -
    -Examples:
    -```javascript
    -const currentOffset = buff.writeOffset; // 5
    -
    -buff.writeOffset = 10;
    -
    -console.log(buff.writeOffset) // 10
    -```
    -
    -### buff.encoding
    -### buff.encoding(encoding)
    -- ```encoding``` *{string}* The new string encoding to set.
    -- Returns: ```The current string encoding```
    -
    -Gets or sets the current string encoding.
    -
    -Examples:
    -```javascript
    -const currentEncoding = buff.encoding; // 'utf8'
    -
    -buff.encoding = 'ascii';
    -
    -console.log(buff.encoding) // 'ascii'
    -```
    -
    -## Other
    -
    -### buff.clear()
    -
    -Clear and resets the SmartBuffer instance.
    -
    -### buff.remaining()
    -- Returns ```Remaining data left to be read```
    -
    -Gets the number of remaining bytes to be read.
    -
    -
    -### buff.internalBuffer
    -- Returns: *{Buffer}*
    -
    -Gets the internally managed Buffer (Includes unmanaged data).
    -
    -Examples:
    -```javascript
    -const buff = SmartBuffer.fromSize(16);
    -buff.writeString('hello');
    -console.log(buff.InternalBuffer); // 
    -```
    -
    -### buff.toBuffer()
    -- Returns: *{Buffer}*
    -
    -Gets a sliced Buffer instance of the internally managed Buffer. (Only includes managed data)
    -
    -Examples:
    -```javascript
    -const buff = SmartBuffer.fromSize(16);
    -buff.writeString('hello');
    -console.log(buff.toBuffer()); // 
    -```
    -
    -### buff.toString([encoding])
    -- ```encoding``` *{string}* The string encoding to use when converting to a string. **Default:** ```utf8```
    -- Returns *{string}*
    -
    -Gets a string representation of all data in the SmartBuffer.
    -
    -### buff.destroy()
    -
    -Destroys the SmartBuffer instance.
    -
    -
    -
    -## License
    -
    -This work is licensed under the [MIT license](http://en.wikipedia.org/wiki/MIT_License).
    \ No newline at end of file
    diff --git a/deps/npm/node_modules/smart-buffer/docs/CHANGELOG.md b/deps/npm/node_modules/smart-buffer/docs/CHANGELOG.md
    deleted file mode 100644
    index 1199a4d6d2353a..00000000000000
    --- a/deps/npm/node_modules/smart-buffer/docs/CHANGELOG.md
    +++ /dev/null
    @@ -1,70 +0,0 @@
    -# Change Log
    -## 4.1.0
    -> Released 07/24/2019
    -* Adds int64 support for node v12+
    -* Drops support for node v4
    -
    -## 4.0
    -> Released 10/21/2017
    -* Major breaking changes arriving in v4.
    -
    -### New Features
    -* Ability to read data from a specific offset. ex: readInt8(5)
    -* Ability to write over data when an offset is given (see breaking changes) ex:  writeInt8(5, 0);
    -* Ability to set internal read and write offsets.
    -
    -
    -
    -### Breaking Changes
    -
    -* Old constructor patterns have been completely removed. It's now required to use the SmartBuffer.fromXXX() factory constructors. Read more on the v4 docs.
    -* rewind(), skip(), moveTo() have been removed.
    -* Internal private properties are now prefixed with underscores (_).
    -* **All** writeXXX() methods that are given an offset will now **overwrite data** instead of insert
    -* insertXXX() methods have been added for when you want to insert data at a specific offset (this replaces the old behavior of writeXXX() when an offset was provided)
    -
    -
    -### Other Changes
    -* Standardizd error messaging
    -* Standardized offset/length bounds and sanity checking
    -* General overall cleanup of code.
    -
    -## 3.0.3
    -> Released 02/19/2017
    -* Adds missing type definitions for some internal functions.
    -
    -## 3.0.2
    -> Released 02/17/2017
    -
    -### Bug Fixes
    -* Fixes a bug where using readString with a length of zero resulted in reading the remaining data instead of returning an empty string. (Fixed by Seldszar)
    -
    -## 3.0.1
    -> Released 02/15/2017
    -
    -### Bug Fixes
    -* Fixes a bug leftover from the TypeScript refactor where .readIntXXX() resulted in .readUIntXXX() being called by mistake.
    -
    -## 3.0
    -> Released 02/12/2017
    -
    -### Bug Fixes
    -* readUIntXXXX() methods will now throw an exception if they attempt to read beyond the bounds of the valid buffer data available.
    -    * **Note** This is technically a breaking change, so version is bumped to 3.x.
    -
    -## 2.0
    -> Relased 01/30/2017
    -
    -### New Features:
    -
    -* Entire package re-written in TypeScript (2.1)
    -* Backwards compatibility is preserved for now
    -* New factory methods for creating SmartBuffer instances
    -    * SmartBuffer.fromSize()
    -    * SmartBuffer.fromBuffer()
    -    * SmartBuffer.fromOptions()
    -* New SmartBufferOptions constructor options
    -* Added additional tests
    -
    -### Bug Fixes:
    -* Fixes a bug where reading null terminated strings may result in an exception.
    diff --git a/deps/npm/node_modules/smart-buffer/docs/README_v3.md b/deps/npm/node_modules/smart-buffer/docs/README_v3.md
    deleted file mode 100644
    index b7c48b8b5444ee..00000000000000
    --- a/deps/npm/node_modules/smart-buffer/docs/README_v3.md
    +++ /dev/null
    @@ -1,367 +0,0 @@
    -smart-buffer  [![Build Status](https://travis-ci.org/JoshGlazebrook/smart-buffer.svg?branch=master)](https://travis-ci.org/JoshGlazebrook/smart-buffer)  [![Coverage Status](https://coveralls.io/repos/github/JoshGlazebrook/smart-buffer/badge.svg?branch=master)](https://coveralls.io/github/JoshGlazebrook/smart-buffer?branch=master)
    -=============
    -
    -smart-buffer is a light Buffer wrapper that takes away the need to keep track of what position to read and write data to and from the underlying Buffer. It also adds null terminating string operations and **grows** as you add more data.
    -
    -![stats](https://nodei.co/npm/smart-buffer.png?downloads=true&downloadRank=true&stars=true "stats")
    -
    -### What it's useful for:
    -
    -I created smart-buffer because I wanted to simplify the process of using Buffer for building and reading network packets to send over a socket. Rather than having to keep track of which position I need to write a UInt16 to after adding a string of variable length, I simply don't have to.
    -
    -Key Features:
    -* Proxies all of the Buffer write and read functions.
    -* Keeps track of read and write positions for you.
    -* Grows the internal Buffer as you add data to it. 
    -* Useful string operations. (Null terminating strings)
    -* Allows for inserting values at specific points in the internal Buffer.
    -* Built in TypeScript
    -* Type Definitions Provided
    -
    -Requirements:
    -* Node v4.0+ is supported at this time.  (Versions prior to 2.0 will work on node 0.10)
    -
    -
    -#### Note:
    -smart-buffer can be used for writing to an underlying buffer as well as reading from it. It however does not function correctly if you're mixing both read and write operations with each other.
    -
    -## Breaking Changes with 2.0
    -The latest version (2.0+) is written in TypeScript, and are compiled to ES6 Javascript. This means the earliest Node.js it supports will be 4.x (in strict mode.) If you're using version 6 and above it will work without any issues. From an API standpoint, 2.0 is backwards compatible. The only difference is SmartBuffer is not exported directly as the root module.
    -
    -## Breaking Changes with 3.0
    -Starting with 3.0, if any of the readIntXXXX() methods are called and the requested data is larger than the bounds of the internally managed valid buffer data, an exception will now be thrown.
    -
    -## Installing:
    -
    -`npm install smart-buffer`
    -
    -or
    -
    -`yarn add smart-buffer`
    -
    -Note: The published NPM package includes the built javascript library. 
    -If you cloned this repo and wish to build the library manually use:
    -
    -`tsc -p ./`
    -
    -## Using smart-buffer
    -
    -### Example
    -
    -Say you were building a packet that had to conform to the following protocol:
    -
    -`[PacketType:2][PacketLength:2][Data:XX]`
    -
    -To build this packet using the vanilla Buffer class, you would have to count up the length of the data payload beforehand. You would also need to keep track of the current "cursor" position in your Buffer so you write everything in the right places. With smart-buffer you don't have to do either of those things.
    -
    -```javascript
    -// 1.x (javascript)
    -var SmartBuffer = require('smart-buffer');
    -
    -// 1.x (typescript)
    -import SmartBuffer = require('smart-buffer');
    -
    -// 2.x+ (javascript)
    -const SmartBuffer = require('smart-buffer').SmartBuffer;
    -
    -// 2.x+ (typescript)
    -import { SmartBuffer, SmartBufferOptions} from 'smart-buffer';
    -
    -function createLoginPacket(username, password, age, country) {
    -    let packet = new SmartBuffer();
    -    packet.writeUInt16LE(0x0060); // Login Packet Type/ID
    -    packet.writeStringNT(username);
    -    packet.writeStringNT(password);
    -    packet.writeUInt8(age);
    -    packet.writeStringNT(country);
    -    packet.writeUInt16LE(packet.length - 2, 2);
    -    
    -    return packet.toBuffer();
    -}
    -```
    -With the above function, you now can do this:
    -```javascript
    -let login = createLoginPacket("Josh", "secret123", 22, "United States");
    -
    -// 
    -```
    -Notice that the `[PacketLength:2]` part of the packet was inserted after we had added everything else, and as shown in the Buffer dump above, is in the correct location along with everything else.
    -
    -Reading back the packet we created above is just as easy:
    -```javascript
    -
    -let reader = SmartBuffer.fromBuffer(login);
    -
    -let logininfo = {
    -    packetType: reader.readUInt16LE(),
    -    packetLength: reader.readUInt16LE(),
    -    username: reader.readStringNT(),
    -    password: reader.readStringNT(),
    -    age: reader.readUInt8(),
    -    country: reader.readStringNT()
    -};
    -
    -/*
    -{ 
    -    packetType: 96, (0x0060)
    -    packetLength: 30,
    -    username: 'Josh',
    -    password: 'secret123',
    -    age: 22,
    -    country: 'United States' 
    -};
    -*/
    -```
    -
    -# Api Reference:
    -
    -### Constructing a smart-buffer
    -
    -smart-buffer has a few different ways to construct an instance. Starting with version 2.0, the following factory methods are preffered.
    -
    -```javascript
    -let SmartBuffer = require('smart-buffer');
    -
    -// Creating SmartBuffer from existing Buffer
    -let buff = SmartBuffer.fromBuffer(buffer); // Creates instance from buffer. (Uses default utf8 encoding)
    -let buff = SmartBuffer.fromBuffer(buffer, 'ascii'); // Creates instance from buffer with ascii encoding for Strings. 
    -
    -// Creating SmartBuffer with specified internal Buffer size.
    -let buff = SmartBuffer.fromSize(1024); // Creates instance with internal Buffer size of 1024.
    -let buff = SmartBuffer.fromSize(1024, 'utf8'); // Creates instance with intenral Buffer size of 1024, and utf8 encoding. 
    -
    -// Creating SmartBuffer with options object. This one specifies size and encoding.
    -let buff = SmartBuffer.fromOptions({
    -    size: 1024,
    -    encoding: 'ascii'
    -});
    -
    -// Creating SmartBuffer with options object. This one specified an existing Buffer.
    -let buff = SmartBuffer.fromOptions({
    -    buff: buffer
    -});
    -
    -// Just want a regular SmartBuffer with all default options?
    -let buff = new SmartBuffer();
    -```
    -
    -## Backwards Compatibility:
    -
    -All constructors used prior to 2.0 still are supported. However it's not recommended to use these.
    -
    -```javascript
    -let writer = new SmartBuffer();               // Defaults to utf8, 4096 length internal Buffer.
    -let writer = new SmartBuffer(1024);           // Defaults to utf8, 1024 length internal Buffer.
    -let writer = new SmartBuffer('ascii');         // Sets to ascii encoding, 4096 length internal buffer.
    -let writer = new SmartBuffer(1024, 'ascii');  // Sets to ascii encoding, 1024 length internal buffer.
    -```
    -
    -## Reading Data
    -
    -smart-buffer supports all of the common read functions you will find in the vanilla Buffer class. The only difference is, you do not need to specify which location to start reading from. This is possible because as you read data out of a smart-buffer, it automatically progresses an internal read offset/position to know where to pick up from on the next read.
    -
    -## Reading Numeric Values
    -
    -When numeric values, you simply need to call the function you want, and the data is returned.
    -
    -Supported Operations:
    -* readInt8
    -* readInt16BE
    -* readInt16LE
    -* readInt32BE
    -* readInt32LE
    -* readBigInt64LE
    -* readBigInt64BE
    -* readUInt8
    -* readUInt16BE
    -* readUInt16LE
    -* readUInt32BE
    -* readUInt32LE
    -* readBigUInt64LE
    -* readBigUInt64BE
    -* readFloatBE
    -* readFloatLE
    -* readDoubleBE
    -* readDoubleLE
    -
    -```javascript
    -let reader = new SmartBuffer(somebuffer);
    -let num = reader.readInt8();
    -```
    -
    -## Reading String Values
    -
    -When reading String values, you can either choose to read a null terminated string, or a string of a specified length.
    -
    -### SmartBuffer.readStringNT( [encoding] )
    -> `String` **String encoding to use**  - Defaults to the encoding set in the constructor. 
    -
    -returns `String`
    -
    -> Note: When readStringNT is called and there is no null character found, smart-buffer will read to the end of the internal Buffer.
    -
    -### SmartBuffer.readString( [length] )
    -### SmartBuffer.readString( [encoding] )
    -### SmartBuffer.readString( [length], [encoding] )
    -> `Number` **Length of the string to read**
    -
    -> `String` **String encoding to use** - Defaults to the encoding set in the constructor, or utf8.
    -
    -returns `String`
    -
    -> Note: When readString is called without a specified length, smart-buffer will read to the end of the internal Buffer.
    -
    -
    -
    -## Reading Buffer Values
    -
    -### SmartBuffer.readBuffer( length )
    -> `Number` **Length of data to read into a Buffer**
    -
    -returns `Buffer`
    -
    -> Note: This function uses `slice` to retrieve the Buffer.
    -
    -
    -### SmartBuffer.readBufferNT()
    -
    -returns `Buffer`
    -
    -> Note: This reads the next sequence of bytes in the buffer until a null (0x00) value is found. (Null terminated buffer)
    -> Note: This function uses `slice` to retrieve the Buffer.
    -
    -
    -## Writing Data
    -
    -smart-buffer supports all of the common write functions you will find in the vanilla Buffer class. The only difference is, you do not need to specify which location to write to in your Buffer by default. You do however have the option of **inserting** a piece of data into your smart-buffer at a given location. 
    -
    -
    -## Writing Numeric Values
    -
    -
    -For numeric values, you simply need to call the function you want, and the data is written at the end of the internal Buffer's current write position. You can specify a offset/position to **insert** the given value at, but keep in mind this does not override data at the given position. This feature also does not work properly when inserting a value beyond the current internal length of the smart-buffer (length being the .length property of the smart-buffer instance you're writing to)
    -
    -Supported Operations:
    -* writeInt8
    -* writeInt16BE
    -* writeInt16LE
    -* writeInt32BE
    -* writeInt32LE
    -* writeBigInt64BE
    -* writeBigInt64LE
    -* writeUInt8
    -* writeUInt16BE
    -* writeUInt16LE
    -* writeUInt32BE
    -* writeUInt32LE
    -* writeBigUInt64BE
    -* writeBigUInt64LE
    -* writeFloatBE
    -* writeFloatLE
    -* writeDoubleBE
    -* writeDoubleLE
    -
    -The following signature is the same for all the above functions:
    -
    -### SmartBuffer.writeInt8( value, [offset] )
    -> `Number` **A valid Int8 number**
    -
    -> `Number` **The position to insert this value at** 
    -
    -returns this 
    -
    -> Note: All write operations return `this` to allow for chaining.
    -
    -## Writing String Values
    -
    -When reading String values, you can either choose to write a null terminated string, or a non null terminated string.
    -
    -### SmartBuffer.writeStringNT( value, [offset], [encoding] )
    -### SmartBuffer.writeStringNT( value, [offset] )
    -### SmartBuffer.writeStringNT( value, [encoding] )
    -> `String` **String value to write**
    -
    -> `Number` **The position to insert this String at**
    -
    -> `String` **The String encoding to use.** - Defaults to the encoding set in the constructor, or utf8.
    -
    -returns this
    -
    -### SmartBuffer.writeString( value, [offset], [encoding] )
    -### SmartBuffer.writeString( value, [offset] )
    -### SmartBuffer.writeString( value, [encoding] )
    -> `String` **String value to write**
    -
    -> `Number` **The position to insert this String at**
    -
    -> `String` **The String encoding to use** - Defaults to the encoding set in the constructor, or utf8.
    -
    -returns this
    -
    -
    -## Writing Buffer Values
    -
    -### SmartBuffer.writeBuffer( value, [offset] )
    -> `Buffer` **Buffer value to write**
    -
    -> `Number` **The position to insert this Buffer's content at**
    -
    -returns this
    -
    -### SmartBuffer.writeBufferNT( value, [offset] )
    -> `Buffer` **Buffer value to write**
    -
    -> `Number` **The position to insert this Buffer's content at**
    -
    -returns this
    -
    -
    -## Utility Functions
    -
    -### SmartBuffer.clear()
    -Resets the SmartBuffer to its default state where it can be reused for reading or writing.
    -
    -### SmartBuffer.remaining()
    -
    -returns `Number` The amount of data left to read based on the current read Position.
    -
    -### SmartBuffer.skip( value )
    -> `Number` **The amount of bytes to skip ahead**
    -
    -Skips the read position ahead by the given value.
    -
    -returns this
    -
    -### SmartBuffer.rewind( value )
    -> `Number` **The amount of bytes to reward backwards**
    -
    -Rewinds the read position backwards by the given value.
    -
    -returns this
    -
    -### SmartBuffer.moveTo( position )
    -> `Number` **The point to skip the read position to**
    -
    -Moves the read position to the given point.
    -returns this
    -
    -### SmartBuffer.toBuffer()
    -
    -returns `Buffer` A Buffer containing the contents of the internal Buffer.
    -
    -> Note: This uses the slice function.
    -
    -### SmartBuffer.toString( [encoding] )
    -> `String` **The String encoding to use** - Defaults to the encoding set in the constructor, or utf8.
    -
    -returns `String` The internal Buffer in String representation.
    -
    -## Properties
    -
    -### SmartBuffer.length
    -
    -returns `Number` **The length of the data that is being tracked in the internal Buffer** - Does NOT return the absolute length of the internal Buffer being written to.
    -
    -## License
    -
    -This work is licensed under the [MIT license](http://en.wikipedia.org/wiki/MIT_License).
    \ No newline at end of file
    diff --git a/deps/npm/node_modules/socks-proxy-agent/README.md b/deps/npm/node_modules/socks-proxy-agent/README.md
    deleted file mode 100644
    index 4df184ffaac8a4..00000000000000
    --- a/deps/npm/node_modules/socks-proxy-agent/README.md
    +++ /dev/null
    @@ -1,152 +0,0 @@
    -socks-proxy-agent
    -================
    -### A SOCKS proxy `http.Agent` implementation for HTTP and HTTPS
    -[![Build Status](https://github.com/TooTallNate/node-socks-proxy-agent/workflows/Node%20CI/badge.svg)](https://github.com/TooTallNate/node-socks-proxy-agent/actions?workflow=Node+CI)
    -
    -This module provides an `http.Agent` implementation that connects to a
    -specified SOCKS proxy server, and can be used with the built-in `http`
    -and `https` modules.
    -
    -It can also be used in conjunction with the `ws` module to establish a WebSocket
    -connection over a SOCKS proxy. See the "Examples" section below.
    -
    -Installation
    -------------
    -
    -Install with `npm`:
    -
    -``` bash
    -$ npm install socks-proxy-agent
    -```
    -
    -
    -Examples
    ---------
    -
    -#### TypeScript example
    -
    -```ts
    -import https from 'https';
    -import { SocksProxyAgent } from 'socks-proxy-agent';
    -
    -const info = {
    -	host: 'br41.nordvpn.com',
    -	userId: 'your-name@gmail.com',
    -	password: 'abcdef12345124'
    -};
    -const agent = new SocksProxyAgent(info);
    -
    -https.get('https://jsonip.org', { agent }, (res) => {
    -	console.log(res.headers);
    -	res.pipe(process.stdout);
    -});
    -```
    -
    -#### `http` module example
    -
    -```js
    -var url = require('url');
    -var http = require('http');
    -var SocksProxyAgent = require('socks-proxy-agent');
    -
    -// SOCKS proxy to connect to
    -var proxy = process.env.socks_proxy || 'socks://127.0.0.1:1080';
    -console.log('using proxy server %j', proxy);
    -
    -// HTTP endpoint for the proxy to connect to
    -var endpoint = process.argv[2] || 'http://nodejs.org/api/';
    -console.log('attempting to GET %j', endpoint);
    -var opts = url.parse(endpoint);
    -
    -// create an instance of the `SocksProxyAgent` class with the proxy server information
    -var agent = new SocksProxyAgent(proxy);
    -opts.agent = agent;
    -
    -http.get(opts, function (res) {
    -	console.log('"response" event!', res.headers);
    -	res.pipe(process.stdout);
    -});
    -```
    -
    -#### `https` module example
    -
    -```js
    -var url = require('url');
    -var https = require('https');
    -var SocksProxyAgent = require('socks-proxy-agent');
    -
    -// SOCKS proxy to connect to
    -var proxy = process.env.socks_proxy || 'socks://127.0.0.1:1080';
    -console.log('using proxy server %j', proxy);
    -
    -// HTTP endpoint for the proxy to connect to
    -var endpoint = process.argv[2] || 'https://encrypted.google.com/';
    -console.log('attempting to GET %j', endpoint);
    -var opts = url.parse(endpoint);
    -
    -// create an instance of the `SocksProxyAgent` class with the proxy server information
    -var agent = new SocksProxyAgent(proxy);
    -opts.agent = agent;
    -
    -https.get(opts, function (res) {
    -	console.log('"response" event!', res.headers);
    -	res.pipe(process.stdout);
    -});
    -```
    -
    -#### `ws` WebSocket connection example
    -
    -``` js
    -var WebSocket = require('ws');
    -var SocksProxyAgent = require('socks-proxy-agent');
    -
    -// SOCKS proxy to connect to
    -var proxy = process.env.socks_proxy || 'socks://127.0.0.1:1080';
    -console.log('using proxy server %j', proxy);
    -
    -// WebSocket endpoint for the proxy to connect to
    -var endpoint = process.argv[2] || 'ws://echo.websocket.org';
    -console.log('attempting to connect to WebSocket %j', endpoint);
    -
    -// create an instance of the `SocksProxyAgent` class with the proxy server information
    -var agent = new SocksProxyAgent(proxy);
    -
    -// initiate the WebSocket connection
    -var socket = new WebSocket(endpoint, { agent: agent });
    -
    -socket.on('open', function () {
    -	console.log('"open" event!');
    -	socket.send('hello world');
    -});
    -
    -socket.on('message', function (data, flags) {
    -	console.log('"message" event! %j %j', data, flags);
    -	socket.close();
    -});
    -```
    -
    -License
    --------
    -
    -(The MIT License)
    -
    -Copyright (c) 2013 Nathan Rajlich <nathan@tootallnate.net>
    -
    -Permission is hereby granted, free of charge, to any person obtaining
    -a copy of this software and associated documentation files (the
    -'Software'), to deal in the Software without restriction, including
    -without limitation the rights to use, copy, modify, merge, publish,
    -distribute, sublicense, and/or sell copies of the Software, and to
    -permit persons to whom the Software is furnished to do so, subject to
    -the following conditions:
    -
    -The above copyright notice and this permission notice shall be
    -included in all copies or substantial portions of the Software.
    -
    -THE SOFTWARE IS PROVIDED 'AS IS', WITHOUT WARRANTY OF ANY KIND,
    -EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
    -MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.
    -IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY
    -CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT,
    -TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE
    -SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
    diff --git a/deps/npm/node_modules/socks/.prettierrc.yaml b/deps/npm/node_modules/socks/.prettierrc.yaml
    deleted file mode 100644
    index d7b7335049b99b..00000000000000
    --- a/deps/npm/node_modules/socks/.prettierrc.yaml
    +++ /dev/null
    @@ -1,7 +0,0 @@
    -parser: typescript
    -printWidth: 80
    -tabWidth: 2
    -singleQuote: true
    -trailingComma: all
    -arrowParens: always
    -bracketSpacing: false
    \ No newline at end of file
    diff --git a/deps/npm/node_modules/socks/.travis.yml b/deps/npm/node_modules/socks/.travis.yml
    deleted file mode 100644
    index 2c6099bcdc2be1..00000000000000
    --- a/deps/npm/node_modules/socks/.travis.yml
    +++ /dev/null
    @@ -1,11 +0,0 @@
    -language: node_js
    -node_js:
    -  - 10
    -  - 12
    -  - 14
    -  - stable
    -
    -before_install:
    -  - npm add -g typescript prettier tslint coveralls
    -
    -script: "npm run build && npm run coveralls"
    \ No newline at end of file
    diff --git a/deps/npm/node_modules/socks/README.md b/deps/npm/node_modules/socks/README.md
    deleted file mode 100644
    index f5a7244e9f2421..00000000000000
    --- a/deps/npm/node_modules/socks/README.md
    +++ /dev/null
    @@ -1,684 +0,0 @@
    -# socks  [![Build Status](https://travis-ci.org/JoshGlazebrook/socks.svg?branch=master)](https://travis-ci.org/JoshGlazebrook/socks)  [![Coverage Status](https://coveralls.io/repos/github/JoshGlazebrook/socks/badge.svg?branch=master)](https://coveralls.io/github/JoshGlazebrook/socks?branch=v2)
    -
    -Fully featured SOCKS proxy client supporting SOCKSv4, SOCKSv4a, and SOCKSv5. Includes Bind and Associate functionality.
    -
    -### Features
    -
    -* Supports SOCKS v4, v4a, v5, and v5h protocols.
    -* Supports the CONNECT, BIND, and ASSOCIATE commands.
    -* Supports callbacks, promises, and events for proxy connection creation async flow control.
    -* Supports proxy chaining (CONNECT only).
    -* Supports user/password authentication.
    -* Supports custom authentication.
    -* Built in UDP frame creation & parse functions.
    -* Created with TypeScript, type definitions are provided.
    -
    -### Requirements
    -
    -* Node.js v10.0+  (Please use [v1](https://github.com/JoshGlazebrook/socks/tree/82d83923ad960693d8b774cafe17443ded7ed584) for older versions of Node.js)
    -
    -### Looking for v1?
    -* Docs for v1 are available [here](https://github.com/JoshGlazebrook/socks/tree/82d83923ad960693d8b774cafe17443ded7ed584)
    -
    -## Installation
    -
    -`yarn add socks`
    -
    -or
    -
    -`npm install --save socks`
    -
    -## Usage
    -
    -```typescript
    -// TypeScript
    -import { SocksClient, SocksClientOptions, SocksClientChainOptions } from 'socks';
    -
    -// ES6 JavaScript
    -import { SocksClient } from 'socks';
    -
    -// Legacy JavaScript
    -const SocksClient = require('socks').SocksClient;
    -```
    -
    -## Quick Start Example
    -
    -Connect to github.com (192.30.253.113) on port 80, using a SOCKS proxy.
    -
    -```javascript
    -const options = {
    -  proxy: {
    -    host: '159.203.75.200', // ipv4 or ipv6 or hostname
    -    port: 1080,
    -    type: 5 // Proxy version (4 or 5)
    -  },
    -
    -  command: 'connect', // SOCKS command (createConnection factory function only supports the connect command)
    -
    -  destination: {
    -    host: '192.30.253.113', // github.com (hostname lookups are supported with SOCKS v4a and 5)
    -    port: 80
    -  }
    -};
    -
    -// Async/Await
    -try {
    -  const info = await SocksClient.createConnection(options);
    -
    -  console.log(info.socket);
    -  //   (this is a raw net.Socket that is established to the destination host through the given proxy server)
    -} catch (err) {
    -  // Handle errors
    -}
    -
    -// Promises
    -SocksClient.createConnection(options)
    -.then(info => {
    -  console.log(info.socket);
    -  //   (this is a raw net.Socket that is established to the destination host through the given proxy server)
    -})
    -.catch(err => {
    -  // Handle errors
    -});
    -
    -// Callbacks
    -SocksClient.createConnection(options, (err, info) => {
    -  if (!err) {
    -    console.log(info.socket);
    -    //   (this is a raw net.Socket that is established to the destination host through the given proxy server)
    -  } else {
    -    // Handle errors
    -  }
    -});
    -```
    -
    -## Chaining Proxies
    -
    -**Note:** Chaining is only supported when using the SOCKS connect command, and chaining can only be done through the special factory chaining function.
    -
    -This example makes a proxy chain through two SOCKS proxies to ip-api.com. Once the connection to the destination is established it sends an HTTP request to get a JSON response that returns ip info for the requesting ip.
    -
    -```javascript
    -const options = {
    -  destination: {
    -    host: 'ip-api.com', // host names are supported with SOCKS v4a and SOCKS v5.
    -    port: 80
    -  },
    -  command: 'connect', // Only the connect command is supported when chaining proxies.
    -  proxies: [ // The chain order is the order in the proxies array, meaning the last proxy will establish a connection to the destination.
    -    {
    -      host: '159.203.75.235', // ipv4, ipv6, or hostname
    -      port: 1081,
    -      type: 5
    -    },
    -    {
    -      host: '104.131.124.203', // ipv4, ipv6, or hostname
    -      port: 1081,
    -      type: 5
    -    }
    -  ]
    -}
    -
    -// Async/Await
    -try {
    -  const info = await SocksClient.createConnectionChain(options);
    -
    -  console.log(info.socket);
    -  //   (this is a raw net.Socket that is established to the destination host through the given proxy servers)
    -
    -  console.log(info.socket.remoteAddress) // The remote address of the returned socket is the first proxy in the chain.
    -  // 159.203.75.235
    -
    -  info.socket.write('GET /json HTTP/1.1\nHost: ip-api.com\n\n');
    -  info.socket.on('data', (data) => {
    -    console.log(data.toString()); // ip-api.com sees that the last proxy in the chain (104.131.124.203) is connected to it.
    -    /*
    -      HTTP/1.1 200 OK
    -      Access-Control-Allow-Origin: *
    -      Content-Type: application/json; charset=utf-8
    -      Date: Sun, 24 Dec 2017 03:47:51 GMT
    -      Content-Length: 300
    -
    -      {
    -        "as":"AS14061 Digital Ocean, Inc.",
    -        "city":"Clifton",
    -        "country":"United States",
    -        "countryCode":"US",
    -        "isp":"Digital Ocean",
    -        "lat":40.8326,
    -        "lon":-74.1307,
    -        "org":"Digital Ocean",
    -        "query":"104.131.124.203",
    -        "region":"NJ",
    -        "regionName":"New Jersey",
    -        "status":"success",
    -        "timezone":"America/New_York",
    -        "zip":"07014"
    -      }
    -    */
    -  });
    -} catch (err) {
    -  // Handle errors
    -}
    -
    -// Promises
    -SocksClient.createConnectionChain(options)
    -.then(info => {
    -  console.log(info.socket);
    -  //   (this is a raw net.Socket that is established to the destination host through the given proxy server)
    -
    -  console.log(info.socket.remoteAddress) // The remote address of the returned socket is the first proxy in the chain.
    -  // 159.203.75.235
    -
    -  info.socket.write('GET /json HTTP/1.1\nHost: ip-api.com\n\n');
    -  info.socket.on('data', (data) => {
    -    console.log(data.toString()); // ip-api.com sees that the last proxy in the chain (104.131.124.203) is connected to it.
    -    /*
    -      HTTP/1.1 200 OK
    -      Access-Control-Allow-Origin: *
    -      Content-Type: application/json; charset=utf-8
    -      Date: Sun, 24 Dec 2017 03:47:51 GMT
    -      Content-Length: 300
    -
    -      {
    -        "as":"AS14061 Digital Ocean, Inc.",
    -        "city":"Clifton",
    -        "country":"United States",
    -        "countryCode":"US",
    -        "isp":"Digital Ocean",
    -        "lat":40.8326,
    -        "lon":-74.1307,
    -        "org":"Digital Ocean",
    -        "query":"104.131.124.203",
    -        "region":"NJ",
    -        "regionName":"New Jersey",
    -        "status":"success",
    -        "timezone":"America/New_York",
    -        "zip":"07014"
    -      }
    -    */
    -  });
    -})
    -.catch(err => {
    -  // Handle errors
    -});
    -
    -// Callbacks
    -SocksClient.createConnectionChain(options, (err, info) => {
    -  if (!err) {
    -    console.log(info.socket);
    -    //   (this is a raw net.Socket that is established to the destination host through the given proxy server)
    -
    -    console.log(info.socket.remoteAddress) // The remote address of the returned socket is the first proxy in the chain.
    -  // 159.203.75.235
    -
    -  info.socket.write('GET /json HTTP/1.1\nHost: ip-api.com\n\n');
    -  info.socket.on('data', (data) => {
    -    console.log(data.toString()); // ip-api.com sees that the last proxy in the chain (104.131.124.203) is connected to it.
    -    /*
    -      HTTP/1.1 200 OK
    -      Access-Control-Allow-Origin: *
    -      Content-Type: application/json; charset=utf-8
    -      Date: Sun, 24 Dec 2017 03:47:51 GMT
    -      Content-Length: 300
    -
    -      {
    -        "as":"AS14061 Digital Ocean, Inc.",
    -        "city":"Clifton",
    -        "country":"United States",
    -        "countryCode":"US",
    -        "isp":"Digital Ocean",
    -        "lat":40.8326,
    -        "lon":-74.1307,
    -        "org":"Digital Ocean",
    -        "query":"104.131.124.203",
    -        "region":"NJ",
    -        "regionName":"New Jersey",
    -        "status":"success",
    -        "timezone":"America/New_York",
    -        "zip":"07014"
    -      }
    -    */
    -  });
    -  } else {
    -    // Handle errors
    -  }
    -});
    -```
    -
    -## Bind Example (TCP Relay)
    -
    -When the bind command is sent to a SOCKS v4/v5 proxy server, the proxy server starts listening on a new TCP port and the proxy relays then remote host information back to the client. When another remote client connects to the proxy server on this port the SOCKS proxy sends a notification that an incoming connection has been accepted to the initial client and a full duplex stream is now established to the initial client and the client that connected to that special port.
    -
    -```javascript
    -const options = {
    -  proxy: {
    -    host: '159.203.75.235', // ipv4, ipv6, or hostname
    -    port: 1081,
    -    type: 5
    -  },
    -
    -  command: 'bind',
    -
    -  // When using BIND, the destination should be the remote client that is expected to connect to the SOCKS proxy. Using 0.0.0.0 makes the Proxy accept any incoming connection on that port.
    -  destination: {
    -    host: '0.0.0.0',
    -    port: 0
    -  }
    -};
    -
    -// Creates a new SocksClient instance.
    -const client = new SocksClient(options);
    -
    -// When the SOCKS proxy has bound a new port and started listening, this event is fired.
    -client.on('bound', info => {
    -  console.log(info.remoteHost);
    -  /*
    -  {
    -    host: "159.203.75.235",
    -    port: 57362
    -  }
    -  */
    -});
    -
    -// When a client connects to the newly bound port on the SOCKS proxy, this event is fired.
    -client.on('established', info => {
    -  // info.remoteHost is the remote address of the client that connected to the SOCKS proxy.
    -  console.log(info.remoteHost);
    -  /*
    -    host: 67.171.34.23,
    -    port: 49823
    -  */
    -
    -  console.log(info.socket);
    -  //   (This is a raw net.Socket that is a connection between the initial client and the remote client that connected to the proxy)
    -
    -  // Handle received data...
    -  info.socket.on('data', data => {
    -    console.log('recv', data);
    -  });
    -});
    -
    -// An error occurred trying to establish this SOCKS connection.
    -client.on('error', err => {
    -  console.error(err);
    -});
    -
    -// Start connection to proxy
    -client.connect();
    -```
    -
    -## Associate Example (UDP Relay)
    -
    -When the associate command is sent to a SOCKS v5 proxy server, it sets up a UDP relay that allows the client to send UDP packets to a remote host through the proxy server, and also receive UDP packet responses back through the proxy server.
    -
    -```javascript
    -const options = {
    -  proxy: {
    -    host: '159.203.75.235', // ipv4, ipv6, or hostname
    -    port: 1081,
    -    type: 5
    -  },
    -
    -  command: 'associate',
    -
    -  // When using associate, the destination should be the remote client that is expected to send UDP packets to the proxy server to be forwarded. This should be your local ip, or optionally the wildcard address (0.0.0.0)  UDP Client <-> Proxy <-> UDP Client
    -  destination: {
    -    host: '0.0.0.0',
    -    port: 0
    -  }
    -};
    -
    -// Create a local UDP socket for sending packets to the proxy.
    -const udpSocket = dgram.createSocket('udp4');
    -udpSocket.bind();
    -
    -// Listen for incoming UDP packets from the proxy server.
    -udpSocket.on('message', (message, rinfo) => {
    -  console.log(SocksClient.parseUDPFrame(message));
    -  /*
    -  { frameNumber: 0,
    -    remoteHost: { host: '165.227.108.231', port: 4444 }, // The remote host that replied with a UDP packet
    -    data:  // The data
    -  }
    -  */
    -});
    -
    -let client = new SocksClient(associateOptions);
    -
    -// When the UDP relay is established, this event is fired and includes the UDP relay port to send data to on the proxy server.
    -client.on('established', info => {
    -  console.log(info.remoteHost);
    -  /*
    -    {
    -      host: '159.203.75.235',
    -      port: 44711
    -    }
    -  */
    -
    -  // Send 'hello' to 165.227.108.231:4444
    -  const packet = SocksClient.createUDPFrame({
    -    remoteHost: { host: '165.227.108.231', port: 4444 },
    -    data: Buffer.from(line)
    -  });
    -  udpSocket.send(packet, info.remoteHost.port, info.remoteHost.host);
    -});
    -
    -// Start connection
    -client.connect();
    -```
    -
    -**Note:** The associate TCP connection to the proxy must remain open for the UDP relay to work.
    -
    -## Additional Examples
    -
    -[Documentation](docs/index.md)
    -
    -
    -## Migrating from v1
    -
    -Looking for a guide to migrate from v1? Look [here](docs/migratingFromV1.md)
    -
    -## Api Reference:
    -
    -**Note:** socks includes full TypeScript definitions. These can even be used without using TypeScript as most IDEs (such as VS Code) will use these type definition files for auto completion intellisense even in JavaScript files.
    -
    -* Class: SocksClient
    -  * [new SocksClient(options[, callback])](#new-socksclientoptions)
    -  * [Class Method: SocksClient.createConnection(options[, callback])](#class-method-socksclientcreateconnectionoptions-callback)
    -  * [Class Method: SocksClient.createConnectionChain(options[, callback])](#class-method-socksclientcreateconnectionchainoptions-callback)
    -  * [Class Method: SocksClient.createUDPFrame(options)](#class-method-socksclientcreateudpframedetails)
    -  * [Class Method: SocksClient.parseUDPFrame(data)](#class-method-socksclientparseudpframedata)
    -  * [Event: 'error'](#event-error)
    -  * [Event: 'bound'](#event-bound)
    -  * [Event: 'established'](#event-established)
    -  * [client.connect()](#clientconnect)
    -  * [client.socksClientOptions](#clientconnect)
    -
    -### SocksClient
    -
    -SocksClient establishes SOCKS proxy connections to remote destination hosts. These proxy connections are fully transparent to the server and once established act as full duplex streams. SOCKS v4, v4a, v5, and v5h are supported, as well as the connect, bind, and associate commands.
    -
    -SocksClient supports creating connections using callbacks, promises, and async/await flow control using two static factory functions createConnection and createConnectionChain. It also internally extends EventEmitter which results in allowing event handling based async flow control.
    -
    -**SOCKS Compatibility Table**
    -
    -Note: When using 4a please specify type: 4, and when using 5h please specify type 5.
    -
    -| Socks Version | TCP | UDP | IPv4 | IPv6 | Hostname |
    -| --- | :---: | :---: | :---: | :---: | :---: |
    -| SOCKS v4 | ✅ | ❌ | ✅ | ❌ | ❌ |
    -| SOCKS v4a | ✅ | ❌ | ✅ | ❌ | ✅ |
    -| SOCKS v5 (includes v5h) | ✅ | ✅ | ✅ | ✅ | ✅ |
    -
    -### new SocksClient(options)
    -
    -* ```options``` {SocksClientOptions} - An object describing the SOCKS proxy to use, the command to send and establish, and the destination host to connect to.
    -
    -### SocksClientOptions
    -
    -```typescript
    -{
    -  proxy: {
    -    host: '159.203.75.200', // ipv4, ipv6, or hostname
    -    port: 1080,
    -    type: 5 // Proxy version (4 or 5). For v4a use 4, for v5h use 5.
    -
    -    // Optional fields
    -    userId: 'some username', // Used for SOCKS4 userId auth, and SOCKS5 user/pass auth in conjunction with password.
    -    password: 'some password', // Used in conjunction with userId for user/pass auth for SOCKS5 proxies.
    -    custom_auth_method: 0x80,  // If using a custom auth method, specify the type here. If this is set, ALL other custom_auth_*** options must be set as well.
    -    custom_auth_request_handler: async () =>. {
    -      // This will be called when it's time to send the custom auth handshake. You must return a Buffer containing the data to send as your authentication.
    -      return Buffer.from([0x01,0x02,0x03]);
    -    },
    -    // This is the expected size (bytes) of the custom auth response from the proxy server.
    -    custom_auth_response_size: 2,
    -    // This is called when the auth response is received. The received packet is passed in as a Buffer, and you must return a boolean indicating the response from the server said your custom auth was successful or failed.
    -    custom_auth_response_handler: async (data) => {
    -      return data[1] === 0x00;
    -    }
    -  },
    -
    -  command: 'connect', // connect, bind, associate
    -
    -  destination: {
    -    host: '192.30.253.113', // ipv4, ipv6, hostname. Hostnames work with v4a and v5.
    -    port: 80
    -  },
    -
    -  // Optional fields
    -  timeout: 30000, // How long to wait to establish a proxy connection. (defaults to 30 seconds)
    -
    -  set_tcp_nodelay: true // If true, will turn on the underlying sockets TCP_NODELAY option.
    -}
    -```
    -
    -### Class Method: SocksClient.createConnection(options[, callback])
    -* ```options``` { SocksClientOptions } - An object describing the SOCKS proxy to use, the command to send and establish, and the destination host to connect to.
    -* ```callback``` { Function } - Optional callback function that is called when the proxy connection is established, or an error occurs.
    -* ```returns``` { Promise } - A Promise is returned that is resolved when the proxy connection is established, or rejected when an error occurs.
    -
    -Creates a new proxy connection through the given proxy to the given destination host. This factory function supports callbacks and promises for async flow control.
    -
    -**Note:** If a callback function is provided, the promise will always resolve regardless of an error occurring. Please be sure to exclusively use either promises or callbacks when using this factory function.
    -
    -```typescript
    -const options = {
    -  proxy: {
    -    host: '159.203.75.200', // ipv4, ipv6, or hostname
    -    port: 1080,
    -    type: 5 // Proxy version (4 or 5)
    -  },
    -
    -  command: 'connect', // connect, bind, associate
    -
    -  destination: {
    -    host: '192.30.253.113', // ipv4, ipv6, or hostname
    -    port: 80
    -  }
    -}
    -
    -// Await/Async (uses a Promise)
    -try {
    -  const info = await SocksClient.createConnection(options);
    -  console.log(info);
    -  /*
    -  {
    -    socket: ,  // Raw net.Socket
    -  }
    -  */
    -  /   (this is a raw net.Socket that is established to the destination host through the given proxy server)
    -
    -} catch (err) {
    -  // Handle error...
    -}
    -
    -// Promise
    -SocksClient.createConnection(options)
    -.then(info => {
    -  console.log(info);
    -  /*
    -  {
    -    socket: ,  // Raw net.Socket
    -  }
    -  */
    -})
    -.catch(err => {
    -  // Handle error...
    -});
    -
    -// Callback
    -SocksClient.createConnection(options, (err, info) => {
    -  if (!err) {
    -    console.log(info);
    -  /*
    -  {
    -    socket: ,  // Raw net.Socket
    -  }
    -  */
    -  } else {
    -    // Handle error...
    -  }
    -});
    -```
    -
    -### Class Method: SocksClient.createConnectionChain(options[, callback])
    -* ```options``` { SocksClientChainOptions } - An object describing a list of SOCKS proxies to use, the command to send and establish, and the destination host to connect to.
    -* ```callback``` { Function } - Optional callback function that is called when the proxy connection chain is established, or an error occurs.
    -* ```returns``` { Promise } - A Promise is returned that is resolved when the proxy connection chain is established, or rejected when an error occurs.
    -
    -Creates a new proxy connection chain through a list of at least two SOCKS proxies to the given destination host. This factory method supports callbacks and promises for async flow control.
    -
    -**Note:** If a callback function is provided, the promise will always resolve regardless of an error occurring. Please be sure to exclusively use either promises or callbacks when using this factory function.
    -
    -**Note:** At least two proxies must be provided for the chain to be established.
    -
    -```typescript
    -const options = {
    -  proxies: [ // The chain order is the order in the proxies array, meaning the last proxy will establish a connection to the destination.
    -    {
    -      host: '159.203.75.235', // ipv4, ipv6, or hostname
    -      port: 1081,
    -      type: 5
    -    },
    -    {
    -      host: '104.131.124.203', // ipv4, ipv6, or hostname
    -      port: 1081,
    -      type: 5
    -    }
    -  ]
    -
    -  command: 'connect', // Only connect is supported in chaining mode.
    -
    -  destination: {
    -    host: '192.30.253.113', // ipv4, ipv6, hostname
    -    port: 80
    -  }
    -}
    -```
    -
    -### Class Method: SocksClient.createUDPFrame(details)
    -* ```details``` { SocksUDPFrameDetails } - An object containing the remote host, frame number, and frame data to use when creating a SOCKS UDP frame packet.
    -* ```returns``` { Buffer } - A Buffer containing all of the UDP frame data.
    -
    -Creates a SOCKS UDP frame relay packet that is sent and received via a SOCKS proxy when using the associate command for UDP packet forwarding.
    -
    -**SocksUDPFrameDetails**
    -
    -```typescript
    -{
    -  frameNumber: 0, // The frame number (used for breaking up larger packets)
    -
    -  remoteHost: { // The remote host to have the proxy send data to, or the remote host that send this data.
    -    host: '1.2.3.4',
    -    port: 1234
    -  },
    -
    -  data:  // A Buffer instance of data to include in the packet (actual data sent to the remote host)
    -}
    -interface SocksUDPFrameDetails {
    -  // The frame number of the packet.
    -  frameNumber?: number;
    -
    -  // The remote host.
    -  remoteHost: SocksRemoteHost;
    -
    -  // The packet data.
    -  data: Buffer;
    -}
    -```
    -
    -### Class Method: SocksClient.parseUDPFrame(data)
    -* ```data``` { Buffer } - A Buffer instance containing SOCKS UDP frame data to parse.
    -* ```returns``` { SocksUDPFrameDetails } - An object containing the remote host, frame number, and frame data of the SOCKS UDP frame.
    -
    -```typescript
    -const frame = SocksClient.parseUDPFrame(data);
    -console.log(frame);
    -/*
    -{
    -  frameNumber: 0,
    -  remoteHost: {
    -    host: '1.2.3.4',
    -    port: 1234
    -  },
    -  data: 
    -}
    -*/
    -```
    -
    -Parses a Buffer instance and returns the parsed SocksUDPFrameDetails object.
    -
    -## Event: 'error'
    -* ```err``` { SocksClientError } - An Error object containing an error message and the original SocksClientOptions.
    -
    -This event is emitted if an error occurs when trying to establish the proxy connection.
    -
    -## Event: 'bound'
    -* ```info``` { SocksClientBoundEvent } An object containing a Socket and SocksRemoteHost info.
    -
    -This event is emitted when using the BIND command on a remote SOCKS proxy server. This event indicates the proxy server is now listening for incoming connections on a specified port.
    -
    -**SocksClientBoundEvent**
    -```typescript
    -{
    -  socket: net.Socket, // The underlying raw Socket
    -  remoteHost: {
    -    host: '1.2.3.4', // The remote host that is listening (usually the proxy itself)
    -    port: 4444 // The remote port the proxy is listening on for incoming connections (when using BIND).
    -  }
    -}
    -```
    -
    -## Event: 'established'
    -* ```info``` { SocksClientEstablishedEvent } An object containing a Socket and SocksRemoteHost info.
    -
    -This event is emitted when the following conditions are met:
    -1. When using the CONNECT command, and a proxy connection has been established to the remote host.
    -2. When using the BIND command, and an incoming connection has been accepted by the proxy and a TCP relay has been established.
    -3. When using the ASSOCIATE command, and a UDP relay has been established.
    -
    -When using BIND, 'bound' is first emitted to indicate the SOCKS server is waiting for an incoming connection, and provides the remote port the SOCKS server is listening on.
    -
    -When using ASSOCIATE, 'established' is emitted with the remote UDP port the SOCKS server is accepting UDP frame packets on.
    -
    -**SocksClientEstablishedEvent**
    -```typescript
    -{
    -  socket: net.Socket, // The underlying raw Socket
    -  remoteHost: {
    -    host: '1.2.3.4', // The remote host that is listening (usually the proxy itself)
    -    port: 52738 // The remote port the proxy is listening on for incoming connections (when using BIND).
    -  }
    -}
    -```
    -
    -## client.connect()
    -
    -Starts connecting to the remote SOCKS proxy server to establish a proxy connection to the destination host.
    -
    -## client.socksClientOptions
    -* ```returns``` { SocksClientOptions } The options that were passed to the SocksClient.
    -
    -Gets the options that were passed to the SocksClient when it was created.
    -
    -
    -**SocksClientError**
    -```typescript
    -{ // Subclassed from Error.
    -  message: 'An error has occurred',
    -  options: {
    -    // SocksClientOptions
    -  }
    -}
    -```
    -
    -# Further Reading:
    -
    -Please read the SOCKS 5 specifications for more information on how to use BIND and Associate.
    -http://www.ietf.org/rfc/rfc1928.txt
    -
    -# License
    -
    -This work is licensed under the [MIT license](http://en.wikipedia.org/wiki/MIT_License).
    diff --git a/deps/npm/node_modules/spdx-correct/README.md b/deps/npm/node_modules/spdx-correct/README.md
    deleted file mode 100644
    index ab388cf9406486..00000000000000
    --- a/deps/npm/node_modules/spdx-correct/README.md
    +++ /dev/null
    @@ -1,14 +0,0 @@
    -```javascript
    -var correct = require('spdx-correct')
    -var assert = require('assert')
    -
    -assert.equal(correct('mit'), 'MIT')
    -
    -assert.equal(correct('Apache 2'), 'Apache-2.0')
    -
    -assert(correct('No idea what license') === null)
    -
    -// disable upgrade option
    -assert(correct('GPL-3.0'), 'GPL-3.0-or-later')
    -assert(correct('GPL-3.0', { upgrade: false }), 'GPL-3.0')
    -```
    diff --git a/deps/npm/node_modules/spdx-exceptions/README.md b/deps/npm/node_modules/spdx-exceptions/README.md
    deleted file mode 100644
    index 6c927ecc691192..00000000000000
    --- a/deps/npm/node_modules/spdx-exceptions/README.md
    +++ /dev/null
    @@ -1,36 +0,0 @@
    -The package exports an array of strings. Each string is an identifier
    -for a license exception under the [Software Package Data Exchange
    -(SPDX)][SPDX] software license metadata standard.
    -
    -[SPDX]: https://spdx.org
    -
    -## Copyright and Licensing
    -
    -### SPDX
    -
    -"SPDX" is a federally registered United States trademark of The Linux
    -Foundation Corporation.
    -
    -From version 2.0 of the [SPDX] specification:
    -
    -> Copyright © 2010-2015 Linux Foundation and its Contributors. Licensed
    -> under the Creative Commons Attribution License 3.0 Unported. All other
    -> rights are expressly reserved.
    -
    -The Linux Foundation and the SPDX working groups are good people. Only
    -they decide what "SPDX" means, as a standard and otherwise. I respect
    -their work and their rights. You should, too.
    -
    -### This Package
    -
    -> I created this package by copying exception identifiers out of the
    -> SPDX specification. That work was mechanical, routine, and required no
    -> creativity whatsoever. - Kyle Mitchell, package author
    -
    -United States users concerned about intellectual property may wish to
    -discuss the following Supreme Court decisions with their attorneys:
    -
    -- _Baker v. Selden_, 101 U.S. 99 (1879)
    -
    -- _Feist Publications, Inc., v. Rural Telephone Service Co._,
    -  499 U.S. 340 (1991)
    diff --git a/deps/npm/node_modules/spdx-expression-parse/README.md b/deps/npm/node_modules/spdx-expression-parse/README.md
    deleted file mode 100644
    index 9406462e3cff33..00000000000000
    --- a/deps/npm/node_modules/spdx-expression-parse/README.md
    +++ /dev/null
    @@ -1,91 +0,0 @@
    -This package parses [SPDX license expression](https://spdx.org/spdx-specification-21-web-version#h.jxpfx0ykyb60) strings describing license terms, like [package.json license strings](https://docs.npmjs.com/files/package.json#license), into consistently structured ECMAScript objects.  The npm command-line interface depends on this package, as do many automatic license-audit tools.
    -
    -In a nutshell:
    -
    -```javascript
    -var parse = require('spdx-expression-parse')
    -var assert = require('assert')
    -
    -assert.deepEqual(
    -  // Licensed under the terms of the Two-Clause BSD License.
    -  parse('BSD-2-Clause'),
    -  {license: 'BSD-2-Clause'}
    -)
    -
    -assert.throws(function () {
    -  // An invalid SPDX license expression.
    -  // Should be `Apache-2.0`.
    -  parse('Apache 2')
    -})
    -
    -assert.deepEqual(
    -  // Dual licensed under either:
    -  // - LGPL 2.1
    -  // - a combination of Three-Clause BSD and MIT
    -  parse('(LGPL-2.1 OR BSD-3-Clause AND MIT)'),
    -  {
    -    left: {license: 'LGPL-2.1'},
    -    conjunction: 'or',
    -    right: {
    -      left: {license: 'BSD-3-Clause'},
    -      conjunction: 'and',
    -      right: {license: 'MIT'}
    -    }
    -  }
    -)
    -```
    -
    -The syntax comes from the [Software Package Data eXchange (SPDX)](https://spdx.org/), a standard from the [Linux Foundation](https://www.linuxfoundation.org) for shareable data about software package license terms.  SPDX aims to make sharing and auditing license data easy, especially for users of open-source software.
    -
    -The bulk of the SPDX standard describes syntax and semantics of XML metadata files.  This package implements two lightweight, plain-text components of that larger standard:
    -
    -1.  The [license list](https://spdx.org/licenses), a mapping from specific string identifiers, like `Apache-2.0`, to standard form license texts and bolt-on license exceptions.  The [spdx-license-ids](https://www.npmjs.com/package/spdx-license-ids) and [spdx-exceptions](https://www.npmjs.com/package/spdx-exceptions) packages implement the license list.  `spdx-expression-parse` depends on and `require()`s them.
    -
    -    Any license identifier from the license list is a valid license expression:
    -
    -    ```javascript
    -    var identifiers = []
    -      .concat(require('spdx-license-ids'))
    -      .concat(require('spdx-license-ids/deprecated'))
    -
    -    identifiers.forEach(function (id) {
    -      assert.deepEqual(parse(id), {license: id})
    -    })
    -    ```
    -
    -    So is any license identifier `WITH` a standardized license exception:
    -
    -    ```javascript
    -    identifiers.forEach(function (id) {
    -      require('spdx-exceptions').forEach(function (e) {
    -        assert.deepEqual(
    -          parse(id + ' WITH ' + e),
    -          {license: id, exception: e}
    -        )
    -      })
    -    })
    -    ```
    -
    -2.  The license expression language, for describing simple and complex license terms, like `MIT` for MIT-licensed and `(GPL-2.0 OR Apache-2.0)` for dual-licensing under GPL 2.0 and Apache 2.0.  `spdx-expression-parse` itself implements license expression language, exporting a parser.
    -
    -    ```javascript
    -    assert.deepEqual(
    -      // Licensed under a combination of:
    -      // - the MIT License AND
    -      // - a combination of:
    -      //   - LGPL 2.1 (or a later version) AND
    -      //   - Three-Clause BSD
    -      parse('(MIT AND (LGPL-2.1+ AND BSD-3-Clause))'),
    -      {
    -        left: {license: 'MIT'},
    -        conjunction: 'and',
    -        right: {
    -          left: {license: 'LGPL-2.1', plus: true},
    -          conjunction: 'and',
    -          right: {license: 'BSD-3-Clause'}
    -        }
    -      }
    -    )
    -    ```
    -
    -The Linux Foundation and its contributors license the SPDX standard under the terms of [the Creative Commons Attribution License 3.0 Unported (SPDX: "CC-BY-3.0")](http://spdx.org/licenses/CC-BY-3.0).  "SPDX" is a United States federally registered trademark of the Linux Foundation.  The authors of this package license their work under the terms of the MIT License.
    diff --git a/deps/npm/node_modules/spdx-license-ids/README.md b/deps/npm/node_modules/spdx-license-ids/README.md
    deleted file mode 100644
    index e9b5aa6372c9c7..00000000000000
    --- a/deps/npm/node_modules/spdx-license-ids/README.md
    +++ /dev/null
    @@ -1,52 +0,0 @@
    -# spdx-license-ids
    -
    -[![npm version](https://img.shields.io/npm/v/spdx-license-ids.svg)](https://www.npmjs.com/package/spdx-license-ids)
    -[![Github Actions](https://action-badges.now.sh/shinnn/spdx-license-ids)](https://wdp9fww0r9.execute-api.us-west-2.amazonaws.com/production/results/shinnn/spdx-license-ids)
    -
    -A list of [SPDX license](https://spdx.org/licenses/) identifiers
    -
    -## Installation
    -
    -[Download JSON directly](https://raw.githubusercontent.com/shinnn/spdx-license-ids/main/index.json), or [use](https://docs.npmjs.com/cli/install) [npm](https://docs.npmjs.com/about-npm/):
    -
    -```
    -npm install spdx-license-ids
    -```
    -
    -## [Node.js](https://nodejs.org/) API
    -
    -### require('spdx-license-ids')
    -
    -Type: `string[]`
    -
    -All license IDs except for the currently deprecated ones.
    -
    -```javascript
    -const ids = require('spdx-license-ids');
    -//=> ['0BSD', 'AAL', 'ADSL', 'AFL-1.1', 'AFL-1.2', 'AFL-2.0', 'AFL-2.1', 'AFL-3.0', 'AGPL-1.0-only', ...]
    -
    -ids.includes('BSD-3-Clause'); //=> true
    -ids.includes('CC-BY-1.0'); //=> true
    -
    -ids.includes('GPL-3.0'); //=> false
    -```
    -
    -### require('spdx-license-ids/deprecated')
    -
    -Type: `string[]`
    -
    -Deprecated license IDs.
    -
    -```javascript
    -const deprecatedIds = require('spdx-license-ids/deprecated');
    -//=> ['AGPL-1.0', 'AGPL-3.0', 'GFDL-1.1', 'GFDL-1.2', 'GFDL-1.3', 'GPL-1.0', 'GPL-2.0', ...]
    -
    -deprecatedIds.includes('BSD-3-Clause'); //=> false
    -deprecatedIds.includes('CC-BY-1.0'); //=> false
    -
    -deprecatedIds.includes('GPL-3.0'); //=> true
    -```
    -
    -## License
    -
    -[Creative Commons Zero v1.0 Universal](https://creativecommons.org/publicdomain/zero/1.0/deed)
    diff --git a/deps/npm/node_modules/sshpk/.npmignore b/deps/npm/node_modules/sshpk/.npmignore
    deleted file mode 100644
    index 8000b595bb4e27..00000000000000
    --- a/deps/npm/node_modules/sshpk/.npmignore
    +++ /dev/null
    @@ -1,9 +0,0 @@
    -.gitmodules
    -deps
    -docs
    -Makefile
    -node_modules
    -test
    -tools
    -coverage
    -man/src
    diff --git a/deps/npm/node_modules/sshpk/.travis.yml b/deps/npm/node_modules/sshpk/.travis.yml
    deleted file mode 100644
    index c3394c258fc2aa..00000000000000
    --- a/deps/npm/node_modules/sshpk/.travis.yml
    +++ /dev/null
    @@ -1,11 +0,0 @@
    -language: node_js
    -node_js:
    -  - "5.10"
    -  - "4.4"
    -  - "4.1"
    -  - "0.12"
    -  - "0.10"
    -before_install:
    -  - "make check"
    -after_success:
    -  - '[ "${TRAVIS_NODE_VERSION}" = "4.4" ] && make codecovio'
    diff --git a/deps/npm/node_modules/sshpk/README.md b/deps/npm/node_modules/sshpk/README.md
    deleted file mode 100644
    index 5740f74d17327a..00000000000000
    --- a/deps/npm/node_modules/sshpk/README.md
    +++ /dev/null
    @@ -1,804 +0,0 @@
    -sshpk
    -=========
    -
    -Parse, convert, fingerprint and use SSH keys (both public and private) in pure
    -node -- no `ssh-keygen` or other external dependencies.
    -
    -Supports RSA, DSA, ECDSA (nistp-\*) and ED25519 key types, in PEM (PKCS#1, 
    -PKCS#8) and OpenSSH formats.
    -
    -This library has been extracted from
    -[`node-http-signature`](https://github.com/joyent/node-http-signature)
    -(work by [Mark Cavage](https://github.com/mcavage) and
    -[Dave Eddy](https://github.com/bahamas10)) and
    -[`node-ssh-fingerprint`](https://github.com/bahamas10/node-ssh-fingerprint)
    -(work by Dave Eddy), with additions (including ECDSA support) by
    -[Alex Wilson](https://github.com/arekinath).
    -
    -Install
    --------
    -
    -```
    -npm install sshpk
    -```
    -
    -Examples
    ---------
    -
    -```js
    -var sshpk = require('sshpk');
    -
    -var fs = require('fs');
    -
    -/* Read in an OpenSSH-format public key */
    -var keyPub = fs.readFileSync('id_rsa.pub');
    -var key = sshpk.parseKey(keyPub, 'ssh');
    -
    -/* Get metadata about the key */
    -console.log('type => %s', key.type);
    -console.log('size => %d bits', key.size);
    -console.log('comment => %s', key.comment);
    -
    -/* Compute key fingerprints, in new OpenSSH (>6.7) format, and old MD5 */
    -console.log('fingerprint => %s', key.fingerprint().toString());
    -console.log('old-style fingerprint => %s', key.fingerprint('md5').toString());
    -```
    -
    -Example output:
    -
    -```
    -type => rsa
    -size => 2048 bits
    -comment => foo@foo.com
    -fingerprint => SHA256:PYC9kPVC6J873CSIbfp0LwYeczP/W4ffObNCuDJ1u5w
    -old-style fingerprint => a0:c8:ad:6c:32:9a:32:fa:59:cc:a9:8c:0a:0d:6e:bd
    -```
    -
    -More examples: converting between formats:
    -
    -```js
    -/* Read in a PEM public key */
    -var keyPem = fs.readFileSync('id_rsa.pem');
    -var key = sshpk.parseKey(keyPem, 'pem');
    -
    -/* Convert to PEM PKCS#8 public key format */
    -var pemBuf = key.toBuffer('pkcs8');
    -
    -/* Convert to SSH public key format (and return as a string) */
    -var sshKey = key.toString('ssh');
    -```
    -
    -Signing and verifying:
    -
    -```js
    -/* Read in an OpenSSH/PEM *private* key */
    -var keyPriv = fs.readFileSync('id_ecdsa');
    -var key = sshpk.parsePrivateKey(keyPriv, 'pem');
    -
    -var data = 'some data';
    -
    -/* Sign some data with the key */
    -var s = key.createSign('sha1');
    -s.update(data);
    -var signature = s.sign();
    -
    -/* Now load the public key (could also use just key.toPublic()) */
    -var keyPub = fs.readFileSync('id_ecdsa.pub');
    -key = sshpk.parseKey(keyPub, 'ssh');
    -
    -/* Make a crypto.Verifier with this key */
    -var v = key.createVerify('sha1');
    -v.update(data);
    -var valid = v.verify(signature);
    -/* => true! */
    -```
    -
    -Matching fingerprints with keys:
    -
    -```js
    -var fp = sshpk.parseFingerprint('SHA256:PYC9kPVC6J873CSIbfp0LwYeczP/W4ffObNCuDJ1u5w');
    -
    -var keys = [sshpk.parseKey(...), sshpk.parseKey(...), ...];
    -
    -keys.forEach(function (key) {
    -	if (fp.matches(key))
    -		console.log('found it!');
    -});
    -```
    -
    -Usage
    ------
    -
    -## Public keys
    -
    -### `parseKey(data[, format = 'auto'[, options]])`
    -
    -Parses a key from a given data format and returns a new `Key` object.
    -
    -Parameters
    -
    -- `data` -- Either a Buffer or String, containing the key
    -- `format` -- String name of format to use, valid options are:
    -  - `auto`: choose automatically from all below
    -  - `pem`: supports both PKCS#1 and PKCS#8
    -  - `ssh`: standard OpenSSH format,
    -  - `pkcs1`, `pkcs8`: variants of `pem`
    -  - `rfc4253`: raw OpenSSH wire format
    -  - `openssh`: new post-OpenSSH 6.5 internal format, produced by 
    -               `ssh-keygen -o`
    -  - `dnssec`: `.key` file format output by `dnssec-keygen` etc
    -  - `putty`: the PuTTY `.ppk` file format (supports truncated variant without
    -             all the lines from `Private-Lines:` onwards)
    -- `options` -- Optional Object, extra options, with keys:
    -  - `filename` -- Optional String, name for the key being parsed 
    -                  (eg. the filename that was opened). Used to generate
    -                  Error messages
    -  - `passphrase` -- Optional String, encryption passphrase used to decrypt an
    -                    encrypted PEM file
    -
    -### `Key.isKey(obj)`
    -
    -Returns `true` if the given object is a valid `Key` object created by a version
    -of `sshpk` compatible with this one.
    -
    -Parameters
    -
    -- `obj` -- Object to identify
    -
    -### `Key#type`
    -
    -String, the type of key. Valid options are `rsa`, `dsa`, `ecdsa`.
    -
    -### `Key#size`
    -
    -Integer, "size" of the key in bits. For RSA/DSA this is the size of the modulus;
    -for ECDSA this is the bit size of the curve in use.
    -
    -### `Key#comment`
    -
    -Optional string, a key comment used by some formats (eg the `ssh` format).
    -
    -### `Key#curve`
    -
    -Only present if `this.type === 'ecdsa'`, string containing the name of the
    -named curve used with this key. Possible values include `nistp256`, `nistp384`
    -and `nistp521`.
    -
    -### `Key#toBuffer([format = 'ssh'])`
    -
    -Convert the key into a given data format and return the serialized key as
    -a Buffer.
    -
    -Parameters
    -
    -- `format` -- String name of format to use, for valid options see `parseKey()`
    -
    -### `Key#toString([format = 'ssh])`
    -
    -Same as `this.toBuffer(format).toString()`.
    -
    -### `Key#fingerprint([algorithm = 'sha256'[, hashType = 'ssh']])`
    -
    -Creates a new `Fingerprint` object representing this Key's fingerprint.
    -
    -Parameters
    -
    -- `algorithm` -- String name of hash algorithm to use, valid options are `md5`,
    -                 `sha1`, `sha256`, `sha384`, `sha512`
    -- `hashType` -- String name of fingerprint hash type to use, valid options are
    -                `ssh` (the type of fingerprint used by OpenSSH, e.g. in
    -                `ssh-keygen`), `spki` (used by HPKP, some OpenSSL applications)
    -
    -### `Key#createVerify([hashAlgorithm])`
    -
    -Creates a `crypto.Verifier` specialized to use this Key (and the correct public
    -key algorithm to match it). The returned Verifier has the same API as a regular
    -one, except that the `verify()` function takes only the target signature as an
    -argument.
    -
    -Parameters
    -
    -- `hashAlgorithm` -- optional String name of hash algorithm to use, any
    -                     supported by OpenSSL are valid, usually including
    -                     `sha1`, `sha256`.
    -
    -`v.verify(signature[, format])` Parameters
    -
    -- `signature` -- either a Signature object, or a Buffer or String
    -- `format` -- optional String, name of format to interpret given String with.
    -              Not valid if `signature` is a Signature or Buffer.
    -
    -### `Key#createDiffieHellman()`
    -### `Key#createDH()`
    -
    -Creates a Diffie-Hellman key exchange object initialized with this key and all
    -necessary parameters. This has the same API as a `crypto.DiffieHellman`
    -instance, except that functions take `Key` and `PrivateKey` objects as
    -arguments, and return them where indicated for.
    -
    -This is only valid for keys belonging to a cryptosystem that supports DHE
    -or a close analogue (i.e. `dsa`, `ecdsa` and `curve25519` keys). An attempt
    -to call this function on other keys will yield an `Error`.
    -
    -## Private keys
    -
    -### `parsePrivateKey(data[, format = 'auto'[, options]])`
    -
    -Parses a private key from a given data format and returns a new
    -`PrivateKey` object.
    -
    -Parameters
    -
    -- `data` -- Either a Buffer or String, containing the key
    -- `format` -- String name of format to use, valid options are:
    -  - `auto`: choose automatically from all below
    -  - `pem`: supports both PKCS#1 and PKCS#8
    -  - `ssh`, `openssh`: new post-OpenSSH 6.5 internal format, produced by
    -                      `ssh-keygen -o`
    -  - `pkcs1`, `pkcs8`: variants of `pem`
    -  - `rfc4253`: raw OpenSSH wire format
    -  - `dnssec`: `.private` format output by `dnssec-keygen` etc.
    -- `options` -- Optional Object, extra options, with keys:
    -  - `filename` -- Optional String, name for the key being parsed
    -                  (eg. the filename that was opened). Used to generate
    -                  Error messages
    -  - `passphrase` -- Optional String, encryption passphrase used to decrypt an
    -                    encrypted PEM file
    -
    -### `generatePrivateKey(type[, options])`
    -
    -Generates a new private key of a certain key type, from random data.
    -
    -Parameters
    -
    -- `type` -- String, type of key to generate. Currently supported are `'ecdsa'`
    -            and `'ed25519'`
    -- `options` -- optional Object, with keys:
    -  - `curve` -- optional String, for `'ecdsa'` keys, specifies the curve to use.
    -               If ECDSA is specified and this option is not given, defaults to
    -               using `'nistp256'`.
    -
    -### `PrivateKey.isPrivateKey(obj)`
    -
    -Returns `true` if the given object is a valid `PrivateKey` object created by a
    -version of `sshpk` compatible with this one.
    -
    -Parameters
    -
    -- `obj` -- Object to identify
    -
    -### `PrivateKey#type`
    -
    -String, the type of key. Valid options are `rsa`, `dsa`, `ecdsa`.
    -
    -### `PrivateKey#size`
    -
    -Integer, "size" of the key in bits. For RSA/DSA this is the size of the modulus;
    -for ECDSA this is the bit size of the curve in use.
    -
    -### `PrivateKey#curve`
    -
    -Only present if `this.type === 'ecdsa'`, string containing the name of the
    -named curve used with this key. Possible values include `nistp256`, `nistp384`
    -and `nistp521`.
    -
    -### `PrivateKey#toBuffer([format = 'pkcs1'])`
    -
    -Convert the key into a given data format and return the serialized key as
    -a Buffer.
    -
    -Parameters
    -
    -- `format` -- String name of format to use, valid options are listed under 
    -              `parsePrivateKey`. Note that ED25519 keys default to `openssh`
    -              format instead (as they have no `pkcs1` representation).
    -
    -### `PrivateKey#toString([format = 'pkcs1'])`
    -
    -Same as `this.toBuffer(format).toString()`.
    -
    -### `PrivateKey#toPublic()`
    -
    -Extract just the public part of this private key, and return it as a `Key`
    -object.
    -
    -### `PrivateKey#fingerprint([algorithm = 'sha256'])`
    -
    -Same as `this.toPublic().fingerprint()`.
    -
    -### `PrivateKey#createVerify([hashAlgorithm])`
    -
    -Same as `this.toPublic().createVerify()`.
    -
    -### `PrivateKey#createSign([hashAlgorithm])`
    -
    -Creates a `crypto.Sign` specialized to use this PrivateKey (and the correct
    -key algorithm to match it). The returned Signer has the same API as a regular
    -one, except that the `sign()` function takes no arguments, and returns a
    -`Signature` object.
    -
    -Parameters
    -
    -- `hashAlgorithm` -- optional String name of hash algorithm to use, any
    -                     supported by OpenSSL are valid, usually including
    -                     `sha1`, `sha256`.
    -
    -`v.sign()` Parameters
    -
    -- none
    -
    -### `PrivateKey#derive(newType)`
    -
    -Derives a related key of type `newType` from this key. Currently this is
    -only supported to change between `ed25519` and `curve25519` keys which are
    -stored with the same private key (but usually distinct public keys in order
    -to avoid degenerate keys that lead to a weak Diffie-Hellman exchange).
    -
    -Parameters
    -
    -- `newType` -- String, type of key to derive, either `ed25519` or `curve25519`
    -
    -## Fingerprints
    -
    -### `parseFingerprint(fingerprint[, options])`
    -
    -Pre-parses a fingerprint, creating a `Fingerprint` object that can be used to
    -quickly locate a key by using the `Fingerprint#matches` function.
    -
    -Parameters
    -
    -- `fingerprint` -- String, the fingerprint value, in any supported format
    -- `options` -- Optional Object, with properties:
    -  - `algorithms` -- Array of strings, names of hash algorithms to limit
    -                support to. If `fingerprint` uses a hash algorithm not on
    -                this list, throws `InvalidAlgorithmError`.
    -  - `hashType` -- String, the type of hash the fingerprint uses, either `ssh`
    -                  or `spki` (normally auto-detected based on the format, but
    -                  can be overridden)
    -  - `type` -- String, the entity this fingerprint identifies, either `key` or
    -              `certificate`
    -
    -### `Fingerprint.isFingerprint(obj)`
    -
    -Returns `true` if the given object is a valid `Fingerprint` object created by a
    -version of `sshpk` compatible with this one.
    -
    -Parameters
    -
    -- `obj` -- Object to identify
    -
    -### `Fingerprint#toString([format])`
    -
    -Returns a fingerprint as a string, in the given format.
    -
    -Parameters
    -
    -- `format` -- Optional String, format to use, valid options are `hex` and
    -              `base64`. If this `Fingerprint` uses the `md5` algorithm, the
    -              default format is `hex`. Otherwise, the default is `base64`.
    -
    -### `Fingerprint#matches(keyOrCertificate)`
    -
    -Verifies whether or not this `Fingerprint` matches a given `Key` or
    -`Certificate`. This function uses double-hashing to avoid leaking timing
    -information. Returns a boolean.
    -
    -Note that a `Key`-type Fingerprint will always return `false` if asked to match
    -a `Certificate` and vice versa.
    -
    -Parameters
    -
    -- `keyOrCertificate` -- a `Key` object or `Certificate` object, the entity to
    -                        match this fingerprint against
    -
    -## Signatures
    -
    -### `parseSignature(signature, algorithm, format)`
    -
    -Parses a signature in a given format, creating a `Signature` object. Useful
    -for converting between the SSH and ASN.1 (PKCS/OpenSSL) signature formats, and
    -also returned as output from `PrivateKey#createSign().sign()`.
    -
    -A Signature object can also be passed to a verifier produced by
    -`Key#createVerify()` and it will automatically be converted internally into the
    -correct format for verification.
    -
    -Parameters
    -
    -- `signature` -- a Buffer (binary) or String (base64), data of the actual
    -                 signature in the given format
    -- `algorithm` -- a String, name of the algorithm to be used, possible values
    -                 are `rsa`, `dsa`, `ecdsa`
    -- `format` -- a String, either `asn1` or `ssh`
    -
    -### `Signature.isSignature(obj)`
    -
    -Returns `true` if the given object is a valid `Signature` object created by a
    -version of `sshpk` compatible with this one.
    -
    -Parameters
    -
    -- `obj` -- Object to identify
    -
    -### `Signature#toBuffer([format = 'asn1'])`
    -
    -Converts a Signature to the given format and returns it as a Buffer.
    -
    -Parameters
    -
    -- `format` -- a String, either `asn1` or `ssh`
    -
    -### `Signature#toString([format = 'asn1'])`
    -
    -Same as `this.toBuffer(format).toString('base64')`.
    -
    -## Certificates
    -
    -`sshpk` includes basic support for parsing certificates in X.509 (PEM) format
    -and the OpenSSH certificate format. This feature is intended to be used mainly
    -to access basic metadata about certificates, extract public keys from them, and
    -also to generate simple self-signed certificates from an existing key.
    -
    -Notably, there is no implementation of CA chain-of-trust verification, and only
    -very minimal support for key usage restrictions. Please do the security world
    -a favour, and DO NOT use this code for certificate verification in the
    -traditional X.509 CA chain style.
    -
    -### `parseCertificate(data, format)`
    -
    -Parameters
    -
    - - `data` -- a Buffer or String
    - - `format` -- a String, format to use, one of `'openssh'`, `'pem'` (X.509 in a
    -               PEM wrapper), or `'x509'` (raw DER encoded)
    -
    -### `createSelfSignedCertificate(subject, privateKey[, options])`
    -
    -Parameters
    -
    - - `subject` -- an Identity, the subject of the certificate
    - - `privateKey` -- a PrivateKey, the key of the subject: will be used both to be
    -                   placed in the certificate and also to sign it (since this is
    -                   a self-signed certificate)
    - - `options` -- optional Object, with keys:
    -   - `lifetime` -- optional Number, lifetime of the certificate from now in
    -                   seconds
    -   - `validFrom`, `validUntil` -- optional Dates, beginning and end of
    -                                  certificate validity period. If given
    -                                  `lifetime` will be ignored
    -   - `serial` -- optional Buffer, the serial number of the certificate
    -   - `purposes` -- optional Array of String, X.509 key usage restrictions
    -
    -### `createCertificate(subject, key, issuer, issuerKey[, options])`
    -
    -Parameters
    -
    - - `subject` -- an Identity, the subject of the certificate
    - - `key` -- a Key, the public key of the subject
    - - `issuer` -- an Identity, the issuer of the certificate who will sign it
    - - `issuerKey` -- a PrivateKey, the issuer's private key for signing
    - - `options` -- optional Object, with keys:
    -   - `lifetime` -- optional Number, lifetime of the certificate from now in
    -                   seconds
    -   - `validFrom`, `validUntil` -- optional Dates, beginning and end of
    -                                  certificate validity period. If given
    -                                  `lifetime` will be ignored
    -   - `serial` -- optional Buffer, the serial number of the certificate
    -   - `purposes` -- optional Array of String, X.509 key usage restrictions
    -
    -### `Certificate#subjects`
    -
    -Array of `Identity` instances describing the subject of this certificate.
    -
    -### `Certificate#issuer`
    -
    -The `Identity` of the Certificate's issuer (signer).
    -
    -### `Certificate#subjectKey`
    -
    -The public key of the subject of the certificate, as a `Key` instance.
    -
    -### `Certificate#issuerKey`
    -
    -The public key of the signing issuer of this certificate, as a `Key` instance.
    -May be `undefined` if the issuer's key is unknown (e.g. on an X509 certificate).
    -
    -### `Certificate#serial`
    -
    -The serial number of the certificate. As this is normally a 64-bit or wider
    -integer, it is returned as a Buffer.
    -
    -### `Certificate#purposes`
    -
    -Array of Strings indicating the X.509 key usage purposes that this certificate
    -is valid for. The possible strings at the moment are:
    -
    - * `'signature'` -- key can be used for digital signatures
    - * `'identity'` -- key can be used to attest about the identity of the signer
    -                   (X.509 calls this `nonRepudiation`)
    - * `'codeSigning'` -- key can be used to sign executable code
    - * `'keyEncryption'` -- key can be used to encrypt other keys
    - * `'encryption'` -- key can be used to encrypt data (only applies for RSA)
    - * `'keyAgreement'` -- key can be used for key exchange protocols such as
    -                       Diffie-Hellman
    - * `'ca'` -- key can be used to sign other certificates (is a Certificate
    -             Authority)
    - * `'crl'` -- key can be used to sign Certificate Revocation Lists (CRLs)
    -
    -### `Certificate#getExtension(nameOrOid)`
    -
    -Retrieves information about a certificate extension, if present, or returns
    -`undefined` if not. The string argument `nameOrOid` should be either the OID
    -(for X509 extensions) or the name (for OpenSSH extensions) of the extension
    -to retrieve.
    -
    -The object returned will have the following properties:
    -
    - * `format` -- String, set to either `'x509'` or `'openssh'`
    - * `name` or `oid` -- String, only one set based on value of `format`
    - * `data` -- Buffer, the raw data inside the extension
    -
    -### `Certificate#getExtensions()`
    -
    -Returns an Array of all present certificate extensions, in the same manner and
    -format as `getExtension()`.
    -
    -### `Certificate#isExpired([when])`
    -
    -Tests whether the Certificate is currently expired (i.e. the `validFrom` and
    -`validUntil` dates specify a range of time that does not include the current
    -time).
    -
    -Parameters
    -
    - - `when` -- optional Date, if specified, tests whether the Certificate was or
    -             will be expired at the specified time instead of now
    -
    -Returns a Boolean.
    -
    -### `Certificate#isSignedByKey(key)`
    -
    -Tests whether the Certificate was validly signed by the given (public) Key.
    -
    -Parameters
    -
    - - `key` -- a Key instance
    -
    -Returns a Boolean.
    -
    -### `Certificate#isSignedBy(certificate)`
    -
    -Tests whether this Certificate was validly signed by the subject of the given
    -certificate. Also tests that the issuer Identity of this Certificate and the
    -subject Identity of the other Certificate are equivalent.
    -
    -Parameters
    -
    - - `certificate` -- another Certificate instance
    -
    -Returns a Boolean.
    -
    -### `Certificate#fingerprint([hashAlgo])`
    -
    -Returns the X509-style fingerprint of the entire certificate (as a Fingerprint
    -instance). This matches what a web-browser or similar would display as the
    -certificate fingerprint and should not be confused with the fingerprint of the
    -subject's public key.
    -
    -Parameters
    -
    - - `hashAlgo` -- an optional String, any hash function name
    -
    -### `Certificate#toBuffer([format])`
    -
    -Serializes the Certificate to a Buffer and returns it.
    -
    -Parameters
    -
    - - `format` -- an optional String, output format, one of `'openssh'`, `'pem'` or
    -               `'x509'`. Defaults to `'x509'`.
    -
    -Returns a Buffer.
    -
    -### `Certificate#toString([format])`
    -
    - - `format` -- an optional String, output format, one of `'openssh'`, `'pem'` or
    -               `'x509'`. Defaults to `'pem'`.
    -
    -Returns a String.
    -
    -## Certificate identities
    -
    -### `identityForHost(hostname)`
    -
    -Constructs a host-type Identity for a given hostname.
    -
    -Parameters
    -
    - - `hostname` -- the fully qualified DNS name of the host
    -
    -Returns an Identity instance.
    -
    -### `identityForUser(uid)`
    -
    -Constructs a user-type Identity for a given UID.
    -
    -Parameters
    -
    - - `uid` -- a String, user identifier (login name)
    -
    -Returns an Identity instance.
    -
    -### `identityForEmail(email)`
    -
    -Constructs an email-type Identity for a given email address.
    -
    -Parameters
    -
    - - `email` -- a String, email address
    -
    -Returns an Identity instance.
    -
    -### `identityFromDN(dn)`
    -
    -Parses an LDAP-style DN string (e.g. `'CN=foo, C=US'`) and turns it into an
    -Identity instance.
    -
    -Parameters
    -
    - - `dn` -- a String
    -
    -Returns an Identity instance.
    -
    -### `identityFromArray(arr)`
    -
    -Constructs an Identity from an array of DN components (see `Identity#toArray()`
    -for the format).
    -
    -Parameters
    -
    - - `arr` -- an Array of Objects, DN components with `name` and `value`
    -
    -Returns an Identity instance.
    -
    -
    -Supported attributes in DNs:
    -
    -| Attribute name | OID |
    -| -------------- | --- |
    -| `cn` | `2.5.4.3` |
    -| `o` | `2.5.4.10` |
    -| `ou` | `2.5.4.11` |
    -| `l` | `2.5.4.7` |
    -| `s` | `2.5.4.8` |
    -| `c` | `2.5.4.6` |
    -| `sn` | `2.5.4.4` |
    -| `postalCode` | `2.5.4.17` |
    -| `serialNumber` | `2.5.4.5` |
    -| `street` | `2.5.4.9` |
    -| `x500UniqueIdentifier` | `2.5.4.45` |
    -| `role` | `2.5.4.72` |
    -| `telephoneNumber` | `2.5.4.20` |
    -| `description` | `2.5.4.13` |
    -| `dc` | `0.9.2342.19200300.100.1.25` |
    -| `uid` | `0.9.2342.19200300.100.1.1` |
    -| `mail` | `0.9.2342.19200300.100.1.3` |
    -| `title` | `2.5.4.12` |
    -| `gn` | `2.5.4.42` |
    -| `initials` | `2.5.4.43` |
    -| `pseudonym` | `2.5.4.65` |
    -
    -### `Identity#toString()`
    -
    -Returns the identity as an LDAP-style DN string.
    -e.g. `'CN=foo, O=bar corp, C=us'`
    -
    -### `Identity#type`
    -
    -The type of identity. One of `'host'`, `'user'`, `'email'` or `'unknown'`
    -
    -### `Identity#hostname`
    -### `Identity#uid`
    -### `Identity#email`
    -
    -Set when `type` is `'host'`, `'user'`, or `'email'`, respectively. Strings.
    -
    -### `Identity#cn`
    -
    -The value of the first `CN=` in the DN, if any. It's probably better to use
    -the `#get()` method instead of this property.
    -
    -### `Identity#get(name[, asArray])`
    -
    -Returns the value of a named attribute in the Identity DN. If there is no
    -attribute of the given name, returns `undefined`. If multiple components
    -of the DN contain an attribute of this name, an exception is thrown unless
    -the `asArray` argument is given as `true` -- then they will be returned as
    -an Array in the same order they appear in the DN.
    -
    -Parameters
    -
    - - `name` -- a String
    - - `asArray` -- an optional Boolean
    -
    -### `Identity#toArray()`
    -
    -Returns the Identity as an Array of DN component objects. This looks like:
    -
    -```js
    -[ {
    -  "name": "cn",
    -  "value": "Joe Bloggs"
    -},
    -{
    -  "name": "o",
    -  "value": "Organisation Ltd"
    -} ]
    -```
    -
    -Each object has a `name` and a `value` property. The returned objects may be
    -safely modified.
    -
    -Errors
    -------
    -
    -### `InvalidAlgorithmError`
    -
    -The specified algorithm is not valid, either because it is not supported, or
    -because it was not included on a list of allowed algorithms.
    -
    -Thrown by `Fingerprint.parse`, `Key#fingerprint`.
    -
    -Properties
    -
    -- `algorithm` -- the algorithm that could not be validated
    -
    -### `FingerprintFormatError`
    -
    -The fingerprint string given could not be parsed as a supported fingerprint
    -format, or the specified fingerprint format is invalid.
    -
    -Thrown by `Fingerprint.parse`, `Fingerprint#toString`.
    -
    -Properties
    -
    -- `fingerprint` -- if caused by a fingerprint, the string value given
    -- `format` -- if caused by an invalid format specification, the string value given
    -
    -### `KeyParseError`
    -
    -The key data given could not be parsed as a valid key.
    -
    -Properties
    -
    -- `keyName` -- `filename` that was given to `parseKey`
    -- `format` -- the `format` that was trying to parse the key (see `parseKey`)
    -- `innerErr` -- the inner Error thrown by the format parser
    -
    -### `KeyEncryptedError`
    -
    -The key is encrypted with a symmetric key (ie, it is password protected). The
    -parsing operation would succeed if it was given the `passphrase` option.
    -
    -Properties
    -
    -- `keyName` -- `filename` that was given to `parseKey`
    -- `format` -- the `format` that was trying to parse the key (currently can only
    -              be `"pem"`)
    -
    -### `CertificateParseError`
    -
    -The certificate data given could not be parsed as a valid certificate.
    -
    -Properties
    -
    -- `certName` -- `filename` that was given to `parseCertificate`
    -- `format` -- the `format` that was trying to parse the key
    -              (see `parseCertificate`)
    -- `innerErr` -- the inner Error thrown by the format parser
    -
    -Friends of sshpk
    -----------------
    -
    - * [`sshpk-agent`](https://github.com/arekinath/node-sshpk-agent) is a library
    -   for speaking the `ssh-agent` protocol from node.js, which uses `sshpk`
    diff --git a/deps/npm/node_modules/ssri/CHANGELOG.md b/deps/npm/node_modules/ssri/CHANGELOG.md
    deleted file mode 100644
    index 3fea458e92ddff..00000000000000
    --- a/deps/npm/node_modules/ssri/CHANGELOG.md
    +++ /dev/null
    @@ -1,355 +0,0 @@
    -# Changelog
    -
    -All notable changes to this project will be documented in this file. See [standard-version](https://github.com/conventional-changelog/standard-version) for commit guidelines.
    -
    -### [8.0.1](https://github.com/npm/ssri/compare/v8.0.0...v8.0.1) (2021-01-27)
    -
    -
    -### Bug Fixes
    -
    -* simplify regex for strict mode, add tests ([76e2233](https://github.com/npm/ssri/commit/76e223317d971f19e4db8191865bdad5edee40d2))
    -
    -## [8.0.0](https://github.com/npm/ssri/compare/v7.1.0...v8.0.0) (2020-02-18)
    -
    -
    -### ⚠ BREAKING CHANGES
    -
    -* SRI values with `../` in the algorithm name now throw
    -as invalid (which they always probably should have!)
    -* adds a new error that will be thrown.  Empty SRIs are
    -no longer considered valid for checking, only when using integrityStream
    -to calculate the SRI value.
    -
    -PR-URL: https://github.com/npm/ssri/pull/12
    -Credit: @claudiahdz
    -
    -### Features
    -
    -* remove figgy-pudding ([0e78fd7](https://github.com/npm/ssri/commit/0e78fd7b754e2d098875eb4c57238709d96d7c27))
    -
    -
    -### Bug Fixes
    -
    -* harden SRI parsing against ../ funny business ([4062735](https://github.com/npm/ssri/commit/4062735d1281941fd32ac4320b9f9965fcec278b))
    -* IntegrityStream responds to mutating opts object mid-stream ([4a963e5](https://github.com/npm/ssri/commit/4a963e5982478c6b07f86848cdb72d142c765195))
    -* throw null when sri is empty or bad ([a6811cb](https://github.com/npm/ssri/commit/a6811cba71e20ea1fdefa6e50c9ea3c67efc2500)), closes [#12](https://github.com/npm/ssri/issues/12)
    -
    -## [7.1.0](https://github.com/npm/ssri/compare/v7.0.1...v7.1.0) (2019-10-24)
    -
    -
    -### Bug Fixes
    -
    -* Do not blow up if the opts object is mutated ([806e8c8](https://github.com/npm/ssri/commit/806e8c8))
    -
    -
    -### Features
    -
    -* Add Integrity#merge method ([0572c1d](https://github.com/npm/ssri/commit/0572c1d)), closes [#4](https://github.com/npm/ssri/issues/4)
    -
    -### [7.0.1](https://github.com/npm/ssri/compare/v7.0.0...v7.0.1) (2019-09-30)
    -
    -## [7.0.0](https://github.com/npm/ssri/compare/v6.0.1...v7.0.0) (2019-09-18)
    -
    -
    -### ⚠ BREAKING CHANGES
    -
    -* ssri no longer accepts a Promise option, and does not
    -use, return, or rely on Bluebird promises.
    -* drop support for Node.js v6.
    -
    -We knew this was coming, and the Stream changes are breaking anyway.
    -May as well do this now.
    -* **streams:** this replaces the Node.js stream with a Minipass
    -stream.  See http://npm.im/minipass for documentation.
    -
    -### Bug Fixes
    -
    -* return super.write() return value ([55b055d](https://github.com/npm/ssri/commit/55b055d))
    -
    -
    -* Use native promises only ([6d13165](https://github.com/npm/ssri/commit/6d13165))
    -* update tap, standard, standard-version, travis ([2e54956](https://github.com/npm/ssri/commit/2e54956))
    -* **streams:** replace transform streams with minipass ([363995e](https://github.com/npm/ssri/commit/363995e))
    -
    -
    -## [6.0.1](https://github.com/npm/ssri/compare/v6.0.0...v6.0.1) (2018-08-27)
    -
    -
    -### Bug Fixes
    -
    -* **opts:** use figgy-pudding to specify consumed opts ([cf86553](https://github.com/npm/ssri/commit/cf86553))
    -
    -
    -
    -
    -# [6.0.0](https://github.com/npm/ssri/compare/v5.3.0...v6.0.0) (2018-04-09)
    -
    -
    -### Bug Fixes
    -
    -* **docs:** minor typo ([b71ef17](https://github.com/npm/ssri/commit/b71ef17))
    -
    -
    -### meta
    -
    -* drop support for node@4 ([d9bf359](https://github.com/npm/ssri/commit/d9bf359))
    -
    -
    -### BREAKING CHANGES
    -
    -* node@4 is no longer supported
    -
    -
    -
    -
    -# [5.3.0](https://github.com/npm/ssri/compare/v5.2.4...v5.3.0) (2018-03-13)
    -
    -
    -### Features
    -
    -* **checkData:** optionally throw when checkData fails ([bf26b84](https://github.com/npm/ssri/commit/bf26b84))
    -
    -
    -
    -
    -## [5.2.4](https://github.com/npm/ssri/compare/v5.2.3...v5.2.4) (2018-02-16)
    -
    -
    -
    -
    -## [5.2.3](https://github.com/npm/ssri/compare/v5.2.2...v5.2.3) (2018-02-16)
    -
    -
    -### Bug Fixes
    -
    -* **hashes:** filter hash priority list by available hashes ([2fa30b8](https://github.com/npm/ssri/commit/2fa30b8))
    -* **integrityStream:** dedupe algorithms to generate ([d56c654](https://github.com/npm/ssri/commit/d56c654))
    -
    -
    -
    -
    -## [5.2.2](https://github.com/npm/ssri/compare/v5.2.1...v5.2.2) (2018-02-14)
    -
    -
    -### Bug Fixes
    -
    -* **security:** tweak strict SRI regex ([#10](https://github.com/npm/ssri/issues/10)) ([d0ebcdc](https://github.com/npm/ssri/commit/d0ebcdc))
    -
    -
    -
    -
    -## [5.2.1](https://github.com/npm/ssri/compare/v5.2.0...v5.2.1) (2018-02-06)
    -
    -
    -
    -
    -# [5.2.0](https://github.com/npm/ssri/compare/v5.1.0...v5.2.0) (2018-02-06)
    -
    -
    -### Features
    -
    -* **match:** add integrity.match() ([3c49cc4](https://github.com/npm/ssri/commit/3c49cc4))
    -
    -
    -
    -
    -# [5.1.0](https://github.com/npm/ssri/compare/v5.0.0...v5.1.0) (2018-01-18)
    -
    -
    -### Bug Fixes
    -
    -* **checkStream:** integrityStream now takes opts.integrity algos into account ([d262910](https://github.com/npm/ssri/commit/d262910))
    -
    -
    -### Features
    -
    -* **sha3:** do some guesswork about upcoming sha3 ([7fdd9df](https://github.com/npm/ssri/commit/7fdd9df))
    -
    -
    -
    -
    -# [5.0.0](https://github.com/npm/ssri/compare/v4.1.6...v5.0.0) (2017-10-23)
    -
    -
    -### Features
    -
    -* **license:** relicense to ISC (#9) ([c82983a](https://github.com/npm/ssri/commit/c82983a))
    -
    -
    -### BREAKING CHANGES
    -
    -* **license:** the license has been changed from CC0-1.0 to ISC.
    -
    -
    -
    -
    -## [4.1.6](https://github.com/npm/ssri/compare/v4.1.5...v4.1.6) (2017-06-07)
    -
    -
    -### Bug Fixes
    -
    -* **checkStream:** make sure to pass all opts through ([0b1bcbe](https://github.com/npm/ssri/commit/0b1bcbe))
    -
    -
    -
    -
    -## [4.1.5](https://github.com/npm/ssri/compare/v4.1.4...v4.1.5) (2017-06-05)
    -
    -
    -### Bug Fixes
    -
    -* **integrityStream:** stop crashing if opts.algorithms and opts.integrity have an algo mismatch ([fb1293e](https://github.com/npm/ssri/commit/fb1293e))
    -
    -
    -
    -
    -## [4.1.4](https://github.com/npm/ssri/compare/v4.1.3...v4.1.4) (2017-05-31)
    -
    -
    -### Bug Fixes
    -
    -* **node:** older versions of node[@4](https://github.com/4) do not support base64buffer string parsing ([513df4e](https://github.com/npm/ssri/commit/513df4e))
    -
    -
    -
    -
    -## [4.1.3](https://github.com/npm/ssri/compare/v4.1.2...v4.1.3) (2017-05-24)
    -
    -
    -### Bug Fixes
    -
    -* **check:** handle various bad hash corner cases better ([c2c262b](https://github.com/npm/ssri/commit/c2c262b))
    -
    -
    -
    -
    -## [4.1.2](https://github.com/npm/ssri/compare/v4.1.1...v4.1.2) (2017-04-18)
    -
    -
    -### Bug Fixes
    -
    -* **stream:** _flush can be called multiple times. use on("end") ([b1c4805](https://github.com/npm/ssri/commit/b1c4805))
    -
    -
    -
    -
    -## [4.1.1](https://github.com/npm/ssri/compare/v4.1.0...v4.1.1) (2017-04-12)
    -
    -
    -### Bug Fixes
    -
    -* **pickAlgorithm:** error if pickAlgorithm() is used in an empty Integrity ([fab470e](https://github.com/npm/ssri/commit/fab470e))
    -
    -
    -
    -
    -# [4.1.0](https://github.com/npm/ssri/compare/v4.0.0...v4.1.0) (2017-04-07)
    -
    -
    -### Features
    -
    -* adding ssri.create for a crypto style interface (#2) ([96f52ad](https://github.com/npm/ssri/commit/96f52ad))
    -
    -
    -
    -
    -# [4.0.0](https://github.com/npm/ssri/compare/v3.0.2...v4.0.0) (2017-04-03)
    -
    -
    -### Bug Fixes
    -
    -* **integrity:** should have changed the error code before. oops ([8381afa](https://github.com/npm/ssri/commit/8381afa))
    -
    -
    -### BREAKING CHANGES
    -
    -* **integrity:** EBADCHECKSUM -> EINTEGRITY for verification errors
    -
    -
    -
    -
    -## [3.0.2](https://github.com/npm/ssri/compare/v3.0.1...v3.0.2) (2017-04-03)
    -
    -
    -
    -
    -## [3.0.1](https://github.com/npm/ssri/compare/v3.0.0...v3.0.1) (2017-04-03)
    -
    -
    -### Bug Fixes
    -
    -* **package.json:** really should have these in the keywords because search ([a6ac6d0](https://github.com/npm/ssri/commit/a6ac6d0))
    -
    -
    -
    -
    -# [3.0.0](https://github.com/npm/ssri/compare/v2.0.0...v3.0.0) (2017-04-03)
    -
    -
    -### Bug Fixes
    -
    -* **hashes:** IntegrityMetadata -> Hash ([d04aa1f](https://github.com/npm/ssri/commit/d04aa1f))
    -
    -
    -### Features
    -
    -* **check:** return IntegrityMetadata on check success ([2301e74](https://github.com/npm/ssri/commit/2301e74))
    -* **fromHex:** ssri.fromHex to make it easier to generate them from hex valus ([049b89e](https://github.com/npm/ssri/commit/049b89e))
    -* **hex:** utility function for getting hex version of digest ([a9f021c](https://github.com/npm/ssri/commit/a9f021c))
    -* **hexDigest:** added hexDigest method to Integrity objects too ([85208ba](https://github.com/npm/ssri/commit/85208ba))
    -* **integrity:** add .isIntegrity and .isIntegrityMetadata ([1b29e6f](https://github.com/npm/ssri/commit/1b29e6f))
    -* **integrityStream:** new stream that can both generate and check streamed data ([fd23e1b](https://github.com/npm/ssri/commit/fd23e1b))
    -* **parse:** allow parsing straight into a single IntegrityMetadata object ([c8ddf48](https://github.com/npm/ssri/commit/c8ddf48))
    -* **pickAlgorithm:** Intergrity#pickAlgorithm() added ([b97a796](https://github.com/npm/ssri/commit/b97a796))
    -* **size:** calculate and update stream sizes ([02ed1ad](https://github.com/npm/ssri/commit/02ed1ad))
    -
    -
    -### BREAKING CHANGES
    -
    -* **hashes:** `.isIntegrityMetadata` is now `.isHash`. Also, any references to `IntegrityMetadata` now refer to `Hash`.
    -* **integrityStream:** createCheckerStream has been removed and replaced with a general-purpose integrityStream.
    -
    -To convert existing createCheckerStream code, move the `sri` argument into `opts.integrity` in integrityStream. All other options should be the same.
    -* **check:** `checkData`, `checkStream`, and `createCheckerStream` now yield a whole IntegrityMetadata instance representing the first successful hash match.
    -
    -
    -
    -
    -# [2.0.0](https://github.com/npm/ssri/compare/v1.0.0...v2.0.0) (2017-03-24)
    -
    -
    -### Bug Fixes
    -
    -* **strict-mode:** make regexes more rigid ([122a32c](https://github.com/npm/ssri/commit/122a32c))
    -
    -
    -### Features
    -
    -* **api:** added serialize alias for unparse ([999b421](https://github.com/npm/ssri/commit/999b421))
    -* **concat:** add Integrity#concat() ([cae12c7](https://github.com/npm/ssri/commit/cae12c7))
    -* **pickAlgo:** pick the strongest algorithm provided, by default ([58c18f7](https://github.com/npm/ssri/commit/58c18f7))
    -* **strict-mode:** strict SRI support ([3f0b64c](https://github.com/npm/ssri/commit/3f0b64c))
    -* **stringify:** replaced unparse/serialize with stringify ([4acad30](https://github.com/npm/ssri/commit/4acad30))
    -* **verification:** add opts.pickAlgorithm ([f72e658](https://github.com/npm/ssri/commit/f72e658))
    -
    -
    -### BREAKING CHANGES
    -
    -* **pickAlgo:** ssri will prioritize specific hashes now
    -* **stringify:** serialize and unparse have been removed. Use ssri.stringify instead.
    -* **strict-mode:** functions that accepted an optional `sep` argument now expect `opts.sep`.
    -
    -
    -
    -
    -# 1.0.0 (2017-03-23)
    -
    -
    -### Features
    -
    -* **api:** implemented initial api ([4fbb16b](https://github.com/npm/ssri/commit/4fbb16b))
    -
    -
    -### BREAKING CHANGES
    -
    -* **api:** Initial API established.
    diff --git a/deps/npm/node_modules/ssri/README.md b/deps/npm/node_modules/ssri/README.md
    deleted file mode 100644
    index 0cd41be8985966..00000000000000
    --- a/deps/npm/node_modules/ssri/README.md
    +++ /dev/null
    @@ -1,528 +0,0 @@
    -# ssri [![npm version](https://img.shields.io/npm/v/ssri.svg)](https://npm.im/ssri) [![license](https://img.shields.io/npm/l/ssri.svg)](https://npm.im/ssri) [![Travis](https://img.shields.io/travis/npm/ssri.svg)](https://travis-ci.org/npm/ssri) [![AppVeyor](https://ci.appveyor.com/api/projects/status/github/npm/ssri?svg=true)](https://ci.appveyor.com/project/npm/ssri) [![Coverage Status](https://coveralls.io/repos/github/npm/ssri/badge.svg?branch=latest)](https://coveralls.io/github/npm/ssri?branch=latest)
    -
    -[`ssri`](https://github.com/npm/ssri), short for Standard Subresource
    -Integrity, is a Node.js utility for parsing, manipulating, serializing,
    -generating, and verifying [Subresource
    -Integrity](https://w3c.github.io/webappsec/specs/subresourceintegrity/) hashes.
    -
    -## Install
    -
    -`$ npm install --save ssri`
    -
    -## Table of Contents
    -
    -* [Example](#example)
    -* [Features](#features)
    -* [Contributing](#contributing)
    -* [API](#api)
    -  * Parsing & Serializing
    -    * [`parse`](#parse)
    -    * [`stringify`](#stringify)
    -    * [`Integrity#concat`](#integrity-concat)
    -    * [`Integrity#merge`](#integrity-merge)
    -    * [`Integrity#toString`](#integrity-to-string)
    -    * [`Integrity#toJSON`](#integrity-to-json)
    -    * [`Integrity#match`](#integrity-match)
    -    * [`Integrity#pickAlgorithm`](#integrity-pick-algorithm)
    -    * [`Integrity#hexDigest`](#integrity-hex-digest)
    -  * Integrity Generation
    -    * [`fromHex`](#from-hex)
    -    * [`fromData`](#from-data)
    -    * [`fromStream`](#from-stream)
    -    * [`create`](#create)
    -  * Integrity Verification
    -    * [`checkData`](#check-data)
    -    * [`checkStream`](#check-stream)
    -    * [`integrityStream`](#integrity-stream)
    -
    -### Example
    -
    -```javascript
    -const ssri = require('ssri')
    -
    -const integrity = 'sha512-9KhgCRIx/AmzC8xqYJTZRrnO8OW2Pxyl2DIMZSBOr0oDvtEFyht3xpp71j/r/pAe1DM+JI/A+line3jUBgzQ7A==?foo'
    -
    -// Parsing and serializing
    -const parsed = ssri.parse(integrity)
    -ssri.stringify(parsed) // === integrity (works on non-Integrity objects)
    -parsed.toString() // === integrity
    -
    -// Async stream functions
    -ssri.checkStream(fs.createReadStream('./my-file'), integrity).then(...)
    -ssri.fromStream(fs.createReadStream('./my-file')).then(sri => {
    -  sri.toString() === integrity
    -})
    -fs.createReadStream('./my-file').pipe(ssri.createCheckerStream(sri))
    -
    -// Sync data functions
    -ssri.fromData(fs.readFileSync('./my-file')) // === parsed
    -ssri.checkData(fs.readFileSync('./my-file'), integrity) // => 'sha512'
    -```
    -
    -### Features
    -
    -* Parses and stringifies SRI strings.
    -* Generates SRI strings from raw data or Streams.
    -* Strict standard compliance.
    -* `?foo` metadata option support.
    -* Multiple entries for the same algorithm.
    -* Object-based integrity hash manipulation.
    -* Small footprint: no dependencies, concise implementation.
    -* Full test coverage.
    -* Customizable algorithm picker.
    -
    -### Contributing
    -
    -The ssri team enthusiastically welcomes contributions and project participation!
    -There's a bunch of things you can do if you want to contribute! The [Contributor
    -Guide](CONTRIBUTING.md) has all the information you need for everything from
    -reporting bugs to contributing entire new features. Please don't hesitate to
    -jump in if you'd like to, or even ask us questions if something isn't clear.
    -
    -### API
    -
    -####  `> ssri.parse(sri, [opts]) -> Integrity`
    -
    -Parses `sri` into an `Integrity` data structure. `sri` can be an integrity
    -string, an `Hash`-like with `digest` and `algorithm` fields and an optional
    -`options` field, or an `Integrity`-like object. The resulting object will be an
    -`Integrity` instance that has this shape:
    -
    -```javascript
    -{
    -  'sha1': [{algorithm: 'sha1', digest: 'deadbeef', options: []}],
    -  'sha512': [
    -    {algorithm: 'sha512', digest: 'c0ffee', options: []},
    -    {algorithm: 'sha512', digest: 'bad1dea', options: ['foo']}
    -  ],
    -}
    -```
    -
    -If `opts.single` is truthy, a single `Hash` object will be returned. That is, a
    -single object that looks like `{algorithm, digest, options}`, as opposed to a
    -larger object with multiple of these.
    -
    -If `opts.strict` is truthy, the resulting object will be filtered such that
    -it strictly follows the Subresource Integrity spec, throwing away any entries
    -with any invalid components. This also means a restricted set of algorithms
    -will be used -- the spec limits them to `sha256`, `sha384`, and `sha512`.
    -
    -Strict mode is recommended if the integrity strings are intended for use in
    -browsers, or in other situations where strict adherence to the spec is needed.
    -
    -##### Example
    -
    -```javascript
    -ssri.parse('sha512-9KhgCRIx/AmzC8xqYJTZRrnO8OW2Pxyl2DIMZSBOr0oDvtEFyht3xpp71j/r/pAe1DM+JI/A+line3jUBgzQ7A==?foo') // -> Integrity object
    -```
    -
    -####  `> ssri.stringify(sri, [opts]) -> String`
    -
    -This function is identical to [`Integrity#toString()`](#integrity-to-string),
    -except it can be used on _any_ object that [`parse`](#parse) can handle -- that
    -is, a string, an `Hash`-like, or an `Integrity`-like.
    -
    -The `opts.sep` option defines the string to use when joining multiple entries
    -together. To be spec-compliant, this _must_ be whitespace. The default is a
    -single space (`' '`).
    -
    -If `opts.strict` is true, the integrity string will be created using strict
    -parsing rules. See [`ssri.parse`](#parse).
    -
    -##### Example
    -
    -```javascript
    -// Useful for cleaning up input SRI strings:
    -ssri.stringify('\n\rsha512-foo\n\t\tsha384-bar')
    -// -> 'sha512-foo sha384-bar'
    -
    -// Hash-like: only a single entry.
    -ssri.stringify({
    -  algorithm: 'sha512',
    -  digest:'9KhgCRIx/AmzC8xqYJTZRrnO8OW2Pxyl2DIMZSBOr0oDvtEFyht3xpp71j/r/pAe1DM+JI/A+line3jUBgzQ7A==',
    -  options: ['foo']
    -})
    -// ->
    -// 'sha512-9KhgCRIx/AmzC8xqYJTZRrnO8OW2Pxyl2DIMZSBOr0oDvtEFyht3xpp71j/r/pAe1DM+JI/A+line3jUBgzQ7A==?foo'
    -
    -// Integrity-like: full multi-entry syntax. Similar to output of `ssri.parse`
    -ssri.stringify({
    -  'sha512': [
    -    {
    -      algorithm: 'sha512',
    -      digest:'9KhgCRIx/AmzC8xqYJTZRrnO8OW2Pxyl2DIMZSBOr0oDvtEFyht3xpp71j/r/pAe1DM+JI/A+line3jUBgzQ7A==',
    -      options: ['foo']
    -    }
    -  ]
    -})
    -// ->
    -// 'sha512-9KhgCRIx/AmzC8xqYJTZRrnO8OW2Pxyl2DIMZSBOr0oDvtEFyht3xpp71j/r/pAe1DM+JI/A+line3jUBgzQ7A==?foo'
    -```
    -
    -####  `> Integrity#concat(otherIntegrity, [opts]) -> Integrity`
    -
    -Concatenates an `Integrity` object with another IntegrityLike, or an integrity
    -string.
    -
    -This is functionally equivalent to concatenating the string format of both
    -integrity arguments, and calling [`ssri.parse`](#ssri-parse) on the new string.
    -
    -If `opts.strict` is true, the new `Integrity` will be created using strict
    -parsing rules. See [`ssri.parse`](#parse).
    -
    -##### Example
    -
    -```javascript
    -// This will combine the integrity checks for two different versions of
    -// your index.js file so you can use a single integrity string and serve
    -// either of these to clients, from a single `
    -      
    -
    -  or
    -
    -      var nacl = require('tweetnacl');
    -      nacl.util = require('tweetnacl-util');
    -
    -  However it is recommended to use better packages that have wider
    -  compatibility and better performance. Functions from `nacl.util` were never
    -  intended to be robust solution for string conversion and were included for
    -  convenience: cryptography library is not the right place for them.
    -
    -  Currently calling these functions will throw error pointing to
    -  `tweetnacl-util-js` (in the next version this error message will be removed).
    -
    -* Improved detection of available random number generators, making it possible
    -  to use `nacl.randomBytes` and related functions in Web Workers without
    -  changes.
    -
    -* Changes to testing (see README).
    -
    -
    -v0.13.3
    --------
    -
    -No code changes.
    -
    -* Reverted license field in package.json to "Public domain".
    -
    -* Fixed typo in README.
    -
    -
    -v0.13.2
    --------
    -
    -* Fixed undefined variable bug in fast version of Poly1305. No worries, this
    -  bug was *never* triggered.
    -
    -* Specified CC0 public domain dedication.
    -
    -* Updated development dependencies.
    -
    -
    -v0.13.1
    --------
    -
    -* Exclude `crypto` and `buffer` modules from browserify builds.
    -
    -
    -v0.13.0
    --------
    -
    -* Made `nacl-fast` the default version in NPM package. Now
    -  `require("tweetnacl")` will use fast version; to get the original version,
    -  use `require("tweetnacl/nacl.js")`.
    -
    -* Cleanup temporary array after generating random bytes.
    -
    -
    -v0.12.2
    --------
    -
    -* Improved performance of curve operations, making `nacl.scalarMult`, `nacl.box`,
    -  `nacl.sign` and related functions up to 3x faster in `nacl-fast` version.
    -
    -
    -v0.12.1
    --------
    -
    -* Significantly improved performance of Salsa20 (~1.5x faster) and
    -  Poly1305 (~3.5x faster) in `nacl-fast` version.
    -
    -
    -v0.12.0
    --------
    -
    -* Instead of using the given secret key directly, TweetNaCl.js now copies it to
    -  a new array in `nacl.box.keyPair.fromSecretKey` and
    -  `nacl.sign.keyPair.fromSecretKey`.
    -
    -
    -v0.11.2
    --------
    -
    -* Added new constant: `nacl.sign.seedLength`.
    -
    -
    -v0.11.1
    --------
    -
    -* Even faster hash for both short and long inputs (in `nacl-fast`).
    -
    -
    -v0.11.0
    --------
    -
    -* Implement `nacl.sign.keyPair.fromSeed` to enable creation of sign key pairs
    -  deterministically from a 32-byte seed. (It behaves like
    -  [libsodium's](http://doc.libsodium.org/public-key_cryptography/public-key_signatures.html)
    -  `crypto_sign_seed_keypair`: the seed becomes a secret part of the secret key.)
    -
    -* Fast version now has an improved hash implementation that is 2x-5x faster.
    -
    -* Fixed benchmarks, which may have produced incorrect measurements.
    -
    -
    -v0.10.1
    --------
    -
    -* Exported undocumented `nacl.lowlevel.crypto_core_hsalsa20`.
    -
    -
    -v0.10.0
    --------
    -
    -* **Signature API breaking change!** `nacl.sign` and `nacl.sign.open` now deal
    - with signed messages, and new `nacl.sign.detached` and
    - `nacl.sign.detached.verify` are available.
    - 
    - Previously, `nacl.sign` returned a signature, and `nacl.sign.open` accepted a
    - message and "detached" signature. This was unlike NaCl's API, which dealt with
    - signed messages (concatenation of signature and message).
    - 
    - The new API is:
    -
    -      nacl.sign(message, secretKey) -> signedMessage
    -      nacl.sign.open(signedMessage, publicKey) -> message | null
    -
    - Since detached signatures are common, two new API functions were introduced:
    - 
    -      nacl.sign.detached(message, secretKey) -> signature
    -      nacl.sign.detached.verify(message, signature, publicKey) -> true | false
    -
    - (Note that it's `verify`, not `open`, and it returns a boolean value, unlike
    - `open`, which returns an "unsigned" message.)
    -
    -* NPM package now comes without `test` directory to keep it small.
    -
    -
    -v0.9.2
    -------
    -
    -* Improved documentation.
    -* Fast version: increased theoretical message size limit from 2^32-1 to 2^52
    -  bytes in Poly1305 (and thus, secretbox and box). However this has no impact
    -  in practice since JavaScript arrays or ArrayBuffers are limited to 32-bit
    -  indexes, and most implementations won't allocate more than a gigabyte or so.
    -  (Obviously, there are no tests for the correctness of implementation.) Also,
    -  it's not recommended to use messages that large without splitting them into
    -  smaller packets anyway.
    -
    -
    -v0.9.1
    -------
    -
    -* Initial release
    diff --git a/deps/npm/node_modules/tweetnacl/README.md b/deps/npm/node_modules/tweetnacl/README.md
    deleted file mode 100644
    index ffb6871d36c1b4..00000000000000
    --- a/deps/npm/node_modules/tweetnacl/README.md
    +++ /dev/null
    @@ -1,459 +0,0 @@
    -TweetNaCl.js
    -============
    -
    -Port of [TweetNaCl](http://tweetnacl.cr.yp.to) / [NaCl](http://nacl.cr.yp.to/)
    -to JavaScript for modern browsers and Node.js. Public domain.
    -
    -[![Build Status](https://travis-ci.org/dchest/tweetnacl-js.svg?branch=master)
    -](https://travis-ci.org/dchest/tweetnacl-js)
    -
    -Demo: 
    -
    -**:warning: The library is stable and API is frozen, however it has not been
    -independently reviewed. If you can help reviewing it, please [contact
    -me](mailto:dmitry@codingrobots.com).**
    -
    -Documentation
    -=============
    -
    -* [Overview](#overview)
    -* [Installation](#installation)
    -* [Usage](#usage)
    -  * [Public-key authenticated encryption (box)](#public-key-authenticated-encryption-box)
    -  * [Secret-key authenticated encryption (secretbox)](#secret-key-authenticated-encryption-secretbox)
    -  * [Scalar multiplication](#scalar-multiplication)
    -  * [Signatures](#signatures)
    -  * [Hashing](#hashing)
    -  * [Random bytes generation](#random-bytes-generation)
    -  * [Constant-time comparison](#constant-time-comparison)
    -* [System requirements](#system-requirements)
    -* [Development and testing](#development-and-testing)
    -* [Benchmarks](#benchmarks)
    -* [Contributors](#contributors)
    -* [Who uses it](#who-uses-it)
    -
    -
    -Overview
    ---------
    -
    -The primary goal of this project is to produce a translation of TweetNaCl to
    -JavaScript which is as close as possible to the original C implementation, plus
    -a thin layer of idiomatic high-level API on top of it.
    -
    -There are two versions, you can use either of them:
    -
    -* `nacl.js` is the port of TweetNaCl with minimum differences from the
    -  original + high-level API.
    -
    -* `nacl-fast.js` is like `nacl.js`, but with some functions replaced with
    -  faster versions.
    -
    -
    -Installation
    -------------
    -
    -You can install TweetNaCl.js via a package manager:
    -
    -[Bower](http://bower.io):
    -
    -    $ bower install tweetnacl
    -
    -[NPM](https://www.npmjs.org/):
    -
    -    $ npm install tweetnacl
    -
    -or [download source code](https://github.com/dchest/tweetnacl-js/releases).
    -
    -
    -Usage
    ------
    -
    -All API functions accept and return bytes as `Uint8Array`s.  If you need to
    -encode or decode strings, use functions from
    - or one of the more robust codec
    -packages.
    -
    -In Node.js v4 and later `Buffer` objects are backed by `Uint8Array`s, so you
    -can freely pass them to TweetNaCl.js functions as arguments. The returned
    -objects are still `Uint8Array`s, so if you need `Buffer`s, you'll have to
    -convert them manually; make sure to convert using copying: `new Buffer(array)`,
    -instead of sharing: `new Buffer(array.buffer)`, because some functions return
    -subarrays of their buffers.
    -
    -
    -### Public-key authenticated encryption (box)
    -
    -Implements *curve25519-xsalsa20-poly1305*.
    -
    -#### nacl.box.keyPair()
    -
    -Generates a new random key pair for box and returns it as an object with
    -`publicKey` and `secretKey` members:
    -
    -    {
    -       publicKey: ...,  // Uint8Array with 32-byte public key
    -       secretKey: ...   // Uint8Array with 32-byte secret key
    -    }
    -
    -
    -#### nacl.box.keyPair.fromSecretKey(secretKey)
    -
    -Returns a key pair for box with public key corresponding to the given secret
    -key.
    -
    -#### nacl.box(message, nonce, theirPublicKey, mySecretKey)
    -
    -Encrypt and authenticates message using peer's public key, our secret key, and
    -the given nonce, which must be unique for each distinct message for a key pair.
    -
    -Returns an encrypted and authenticated message, which is
    -`nacl.box.overheadLength` longer than the original message.
    -
    -#### nacl.box.open(box, nonce, theirPublicKey, mySecretKey)
    -
    -Authenticates and decrypts the given box with peer's public key, our secret
    -key, and the given nonce.
    -
    -Returns the original message, or `false` if authentication fails.
    -
    -#### nacl.box.before(theirPublicKey, mySecretKey)
    -
    -Returns a precomputed shared key which can be used in `nacl.box.after` and
    -`nacl.box.open.after`.
    -
    -#### nacl.box.after(message, nonce, sharedKey)
    -
    -Same as `nacl.box`, but uses a shared key precomputed with `nacl.box.before`.
    -
    -#### nacl.box.open.after(box, nonce, sharedKey)
    -
    -Same as `nacl.box.open`, but uses a shared key precomputed with `nacl.box.before`.
    -
    -#### nacl.box.publicKeyLength = 32
    -
    -Length of public key in bytes.
    -
    -#### nacl.box.secretKeyLength = 32
    -
    -Length of secret key in bytes.
    -
    -#### nacl.box.sharedKeyLength = 32
    -
    -Length of precomputed shared key in bytes.
    -
    -#### nacl.box.nonceLength = 24
    -
    -Length of nonce in bytes.
    -
    -#### nacl.box.overheadLength = 16
    -
    -Length of overhead added to box compared to original message.
    -
    -
    -### Secret-key authenticated encryption (secretbox)
    -
    -Implements *xsalsa20-poly1305*.
    -
    -#### nacl.secretbox(message, nonce, key)
    -
    -Encrypt and authenticates message using the key and the nonce. The nonce must
    -be unique for each distinct message for this key.
    -
    -Returns an encrypted and authenticated message, which is
    -`nacl.secretbox.overheadLength` longer than the original message.
    -
    -#### nacl.secretbox.open(box, nonce, key)
    -
    -Authenticates and decrypts the given secret box using the key and the nonce.
    -
    -Returns the original message, or `false` if authentication fails.
    -
    -#### nacl.secretbox.keyLength = 32
    -
    -Length of key in bytes.
    -
    -#### nacl.secretbox.nonceLength = 24
    -
    -Length of nonce in bytes.
    -
    -#### nacl.secretbox.overheadLength = 16
    -
    -Length of overhead added to secret box compared to original message.
    -
    -
    -### Scalar multiplication
    -
    -Implements *curve25519*.
    -
    -#### nacl.scalarMult(n, p)
    -
    -Multiplies an integer `n` by a group element `p` and returns the resulting
    -group element.
    -
    -#### nacl.scalarMult.base(n)
    -
    -Multiplies an integer `n` by a standard group element and returns the resulting
    -group element.
    -
    -#### nacl.scalarMult.scalarLength = 32
    -
    -Length of scalar in bytes.
    -
    -#### nacl.scalarMult.groupElementLength = 32
    -
    -Length of group element in bytes.
    -
    -
    -### Signatures
    -
    -Implements [ed25519](http://ed25519.cr.yp.to).
    -
    -#### nacl.sign.keyPair()
    -
    -Generates new random key pair for signing and returns it as an object with
    -`publicKey` and `secretKey` members:
    -
    -    {
    -       publicKey: ...,  // Uint8Array with 32-byte public key
    -       secretKey: ...   // Uint8Array with 64-byte secret key
    -    }
    -
    -#### nacl.sign.keyPair.fromSecretKey(secretKey)
    -
    -Returns a signing key pair with public key corresponding to the given
    -64-byte secret key. The secret key must have been generated by
    -`nacl.sign.keyPair` or `nacl.sign.keyPair.fromSeed`.
    -
    -#### nacl.sign.keyPair.fromSeed(seed)
    -
    -Returns a new signing key pair generated deterministically from a 32-byte seed.
    -The seed must contain enough entropy to be secure. This method is not
    -recommended for general use: instead, use `nacl.sign.keyPair` to generate a new
    -key pair from a random seed.
    -
    -#### nacl.sign(message, secretKey)
    -
    -Signs the message using the secret key and returns a signed message.
    -
    -#### nacl.sign.open(signedMessage, publicKey)
    -
    -Verifies the signed message and returns the message without signature.
    -
    -Returns `null` if verification failed.
    -
    -#### nacl.sign.detached(message, secretKey)
    -
    -Signs the message using the secret key and returns a signature.
    -
    -#### nacl.sign.detached.verify(message, signature, publicKey)
    -
    -Verifies the signature for the message and returns `true` if verification
    -succeeded or `false` if it failed.
    -
    -#### nacl.sign.publicKeyLength = 32
    -
    -Length of signing public key in bytes.
    -
    -#### nacl.sign.secretKeyLength = 64
    -
    -Length of signing secret key in bytes.
    -
    -#### nacl.sign.seedLength = 32
    -
    -Length of seed for `nacl.sign.keyPair.fromSeed` in bytes.
    -
    -#### nacl.sign.signatureLength = 64
    -
    -Length of signature in bytes.
    -
    -
    -### Hashing
    -
    -Implements *SHA-512*.
    -
    -#### nacl.hash(message)
    -
    -Returns SHA-512 hash of the message.
    -
    -#### nacl.hash.hashLength = 64
    -
    -Length of hash in bytes.
    -
    -
    -### Random bytes generation
    -
    -#### nacl.randomBytes(length)
    -
    -Returns a `Uint8Array` of the given length containing random bytes of
    -cryptographic quality.
    -
    -**Implementation note**
    -
    -TweetNaCl.js uses the following methods to generate random bytes,
    -depending on the platform it runs on:
    -
    -* `window.crypto.getRandomValues` (WebCrypto standard)
    -* `window.msCrypto.getRandomValues` (Internet Explorer 11)
    -* `crypto.randomBytes` (Node.js)
    -
    -If the platform doesn't provide a suitable PRNG, the following functions,
    -which require random numbers, will throw exception:
    -
    -* `nacl.randomBytes`
    -* `nacl.box.keyPair`
    -* `nacl.sign.keyPair`
    -
    -Other functions are deterministic and will continue working.
    -
    -If a platform you are targeting doesn't implement secure random number
    -generator, but you somehow have a cryptographically-strong source of entropy
    -(not `Math.random`!), and you know what you are doing, you can plug it into
    -TweetNaCl.js like this:
    -
    -    nacl.setPRNG(function(x, n) {
    -      // ... copy n random bytes into x ...
    -    });
    -
    -Note that `nacl.setPRNG` *completely replaces* internal random byte generator
    -with the one provided.
    -
    -
    -### Constant-time comparison
    -
    -#### nacl.verify(x, y)
    -
    -Compares `x` and `y` in constant time and returns `true` if their lengths are
    -non-zero and equal, and their contents are equal.
    -
    -Returns `false` if either of the arguments has zero length, or arguments have
    -different lengths, or their contents differ.
    -
    -
    -System requirements
    --------------------
    -
    -TweetNaCl.js supports modern browsers that have a cryptographically secure
    -pseudorandom number generator and typed arrays, including the latest versions
    -of:
    -
    -* Chrome
    -* Firefox
    -* Safari (Mac, iOS)
    -* Internet Explorer 11
    -
    -Other systems:
    -
    -* Node.js
    -
    -
    -Development and testing
    -------------------------
    -
    -Install NPM modules needed for development:
    -
    -    $ npm install
    -
    -To build minified versions:
    -
    -    $ npm run build
    -
    -Tests use minified version, so make sure to rebuild it every time you change
    -`nacl.js` or `nacl-fast.js`.
    -
    -### Testing
    -
    -To run tests in Node.js:
    -
    -    $ npm run test-node
    -
    -By default all tests described here work on `nacl.min.js`. To test other
    -versions, set environment variable `NACL_SRC` to the file name you want to test.
    -For example, the following command will test fast minified version:
    -
    -    $ NACL_SRC=nacl-fast.min.js npm run test-node
    -
    -To run full suite of tests in Node.js, including comparing outputs of
    -JavaScript port to outputs of the original C version:
    -
    -    $ npm run test-node-all
    -
    -To prepare tests for browsers:
    -
    -    $ npm run build-test-browser
    -
    -and then open `test/browser/test.html` (or `test/browser/test-fast.html`) to
    -run them.
    -
    -To run headless browser tests with `tape-run` (powered by Electron):
    -
    -    $ npm run test-browser
    -
    -(If you get `Error: spawn ENOENT`, install *xvfb*: `sudo apt-get install xvfb`.)
    -
    -To run tests in both Node and Electron:
    -
    -    $ npm test
    -
    -### Benchmarking
    -
    -To run benchmarks in Node.js:
    -
    -    $ npm run bench
    -    $ NACL_SRC=nacl-fast.min.js npm run bench
    -
    -To run benchmarks in a browser, open `test/benchmark/bench.html` (or
    -`test/benchmark/bench-fast.html`).
    -
    -
    -Benchmarks
    -----------
    -
    -For reference, here are benchmarks from MacBook Pro (Retina, 13-inch, Mid 2014)
    -laptop with 2.6 GHz Intel Core i5 CPU (Intel) in Chrome 53/OS X and Xiaomi Redmi
    -Note 3 smartphone with 1.8 GHz Qualcomm Snapdragon 650 64-bit CPU (ARM) in
    -Chrome 52/Android:
    -
    -|               | nacl.js Intel | nacl-fast.js Intel  |   nacl.js ARM | nacl-fast.js ARM  |
    -| ------------- |:-------------:|:-------------------:|:-------------:|:-----------------:|
    -| salsa20       | 1.3 MB/s      | 128 MB/s            |  0.4 MB/s     |  43 MB/s          |
    -| poly1305      | 13 MB/s       | 171 MB/s            |  4 MB/s       |  52 MB/s          |
    -| hash          | 4 MB/s        | 34 MB/s             |  0.9 MB/s     |  12 MB/s          |
    -| secretbox 1K  | 1113 op/s     | 57583 op/s          |  334 op/s     |  14227 op/s       |
    -| box 1K        | 145 op/s      | 718 op/s            |  37 op/s      |  368 op/s         |
    -| scalarMult    | 171 op/s      | 733 op/s            |  56 op/s      |  380 op/s         |
    -| sign          | 77  op/s      | 200 op/s            |  20 op/s      |  61 op/s          |
    -| sign.open     | 39  op/s      | 102  op/s           |  11 op/s      |  31 op/s          |
    -
    -(You can run benchmarks on your devices by clicking on the links at the bottom
    -of the [home page](https://tweetnacl.js.org)).
    -
    -In short, with *nacl-fast.js* and 1024-byte messages you can expect to encrypt and
    -authenticate more than 57000 messages per second on a typical laptop or more than
    -14000 messages per second on a $170 smartphone, sign about 200 and verify 100
    -messages per second on a laptop or 60 and 30 messages per second on a smartphone,
    -per CPU core (with Web Workers you can do these operations in parallel),
    -which is good enough for most applications.
    -
    -
    -Contributors
    -------------
    -
    -See AUTHORS.md file.
    -
    -
    -Third-party libraries based on TweetNaCl.js
    --------------------------------------------
    -
    -* [forward-secrecy](https://github.com/alax/forward-secrecy) — Axolotl ratchet implementation
    -* [nacl-stream](https://github.com/dchest/nacl-stream-js) - streaming encryption
    -* [tweetnacl-auth-js](https://github.com/dchest/tweetnacl-auth-js) — implementation of [`crypto_auth`](http://nacl.cr.yp.to/auth.html)
    -* [chloride](https://github.com/dominictarr/chloride) - unified API for various NaCl modules
    -
    -
    -Who uses it
    ------------
    -
    -Some notable users of TweetNaCl.js:
    -
    -* [miniLock](http://minilock.io/)
    -* [Stellar](https://www.stellar.org/)
    diff --git a/deps/npm/node_modules/typedarray-to-buffer/.travis.yml b/deps/npm/node_modules/typedarray-to-buffer/.travis.yml
    deleted file mode 100644
    index f25afbd2f19c75..00000000000000
    --- a/deps/npm/node_modules/typedarray-to-buffer/.travis.yml
    +++ /dev/null
    @@ -1,11 +0,0 @@
    -language: node_js
    -node_js:
    -  - lts/*
    -addons:
    -  sauce_connect: true
    -  hosts:
    -    - airtap.local
    -env:
    -  global:
    -  - secure: i51rE9rZGHbcZWlL58j3H1qtL23OIV2r0X4TcQKNI3pw2mubdHFJmfPNNO19ItfReu8wwQMxOehKamwaNvqMiKWyHfn/QcThFQysqzgGZ6AgnUbYx9od6XFNDeWd1sVBf7QBAL07y7KWlYGWCwFwWjabSVySzQhEBdisPcskfkI=
    -  - secure: BKq6/5z9LK3KDkTjs7BGeBZ1KsWgz+MsAXZ4P64NSeVGFaBdXU45+ww1mwxXFt5l22/mhyOQZfebQl+kGVqRSZ+DEgQeCymkNZ6CD8c6w6cLuOJXiXwuu/cDM2DD0tfGeu2YZC7yEikP7BqEFwH3D324rRzSGLF2RSAAwkOI7bE=
    diff --git a/deps/npm/node_modules/typedarray-to-buffer/README.md b/deps/npm/node_modules/typedarray-to-buffer/README.md
    deleted file mode 100644
    index 35761fb5f8bbb0..00000000000000
    --- a/deps/npm/node_modules/typedarray-to-buffer/README.md
    +++ /dev/null
    @@ -1,85 +0,0 @@
    -# typedarray-to-buffer [![travis][travis-image]][travis-url] [![npm][npm-image]][npm-url] [![downloads][downloads-image]][downloads-url] [![javascript style guide][standard-image]][standard-url]
    -
    -[travis-image]: https://img.shields.io/travis/feross/typedarray-to-buffer/master.svg
    -[travis-url]: https://travis-ci.org/feross/typedarray-to-buffer
    -[npm-image]: https://img.shields.io/npm/v/typedarray-to-buffer.svg
    -[npm-url]: https://npmjs.org/package/typedarray-to-buffer
    -[downloads-image]: https://img.shields.io/npm/dm/typedarray-to-buffer.svg
    -[downloads-url]: https://npmjs.org/package/typedarray-to-buffer
    -[standard-image]: https://img.shields.io/badge/code_style-standard-brightgreen.svg
    -[standard-url]: https://standardjs.com
    -
    -#### Convert a typed array to a [Buffer](https://github.com/feross/buffer) without a copy.
    -
    -[![saucelabs][saucelabs-image]][saucelabs-url]
    -
    -[saucelabs-image]: https://saucelabs.com/browser-matrix/typedarray-to-buffer.svg
    -[saucelabs-url]: https://saucelabs.com/u/typedarray-to-buffer
    -
    -Say you're using the ['buffer'](https://github.com/feross/buffer) module on npm, or
    -[browserify](http://browserify.org/) and you're working with lots of binary data.
    -
    -Unfortunately, sometimes the browser or someone else's API gives you a typed array like
    -`Uint8Array` to work with and you need to convert it to a `Buffer`. What do you do?
    -
    -Of course: `Buffer.from(uint8array)`
    -
    -But, alas, every time you do `Buffer.from(uint8array)` **the entire array gets copied**.
    -The `Buffer` constructor does a copy; this is
    -defined by the [node docs](http://nodejs.org/api/buffer.html) and the 'buffer' module
    -matches the node API exactly.
    -
    -So, how can we avoid this expensive copy in
    -[performance critical applications](https://github.com/feross/buffer/issues/22)?
    -
    -***Simply use this module, of course!***
    -
    -If you have an `ArrayBuffer`, you don't need this module, because
    -`Buffer.from(arrayBuffer)`
    -[is already efficient](https://nodejs.org/api/buffer.html#buffer_class_method_buffer_from_arraybuffer_byteoffset_length).
    -
    -## install
    -
    -```bash
    -npm install typedarray-to-buffer
    -```
    -
    -## usage
    -
    -To convert a typed array to a `Buffer` **without a copy**, do this:
    -
    -```js
    -var toBuffer = require('typedarray-to-buffer')
    -
    -var arr = new Uint8Array([1, 2, 3])
    -arr = toBuffer(arr)
    -
    -// arr is a buffer now!
    -
    -arr.toString()  // '\u0001\u0002\u0003'
    -arr.readUInt16BE(0)  // 258
    -```
    -
    -## how it works
    -
    -If the browser supports typed arrays, then `toBuffer` will **augment the typed array** you
    -pass in with the `Buffer` methods and return it. See [how does Buffer
    -work?](https://github.com/feross/buffer#how-does-it-work) for more about how augmentation
    -works.
    -
    -This module uses the typed array's underlying `ArrayBuffer` to back the new `Buffer`. This
    -respects the "view" on the `ArrayBuffer`, i.e. `byteOffset` and `byteLength`. In other
    -words, if you do `toBuffer(new Uint32Array([1, 2, 3]))`, then the new `Buffer` will
    -contain `[1, 0, 0, 0, 2, 0, 0, 0, 3, 0, 0, 0]`, **not** `[1, 2, 3]`. And it still doesn't
    -require a copy.
    -
    -If the browser doesn't support typed arrays, then `toBuffer` will create a new `Buffer`
    -object, copy the data into it, and return it. There's no simple performance optimization
    -we can do for old browsers. Oh well.
    -
    -If this module is used in node, then it will just call `Buffer.from`. This is just for
    -the convenience of modules that work in both node and the browser.
    -
    -## license
    -
    -MIT. Copyright (C) [Feross Aboukhadijeh](http://feross.org).
    diff --git a/deps/npm/node_modules/unique-filename/README.md b/deps/npm/node_modules/unique-filename/README.md
    deleted file mode 100644
    index 74b62b2ab4426e..00000000000000
    --- a/deps/npm/node_modules/unique-filename/README.md
    +++ /dev/null
    @@ -1,33 +0,0 @@
    -unique-filename
    -===============
    -
    -Generate a unique filename for use in temporary directories or caches.
    -
    -```
    -var uniqueFilename = require('unique-filename')
    -
    -// returns something like: /tmp/912ec803b2ce49e4a541068d495ab570
    -var randomTmpfile = uniqueFilename(os.tmpdir())
    -
    -// returns something like: /tmp/my-test-912ec803b2ce49e4a541068d495ab570
    -var randomPrefixedTmpfile = uniqueFilename(os.tmpdir(), 'my-test')
    -
    -var uniqueTmpfile = uniqueFilename('/tmp', 'testing', '/my/thing/to/uniq/on')
    -```
    -
    -### uniqueFilename(*dir*, *fileprefix*, *uniqstr*) → String
    -
    -Returns the full path of a unique filename that looks like:
    -`dir/prefix-7ddd44c0`
    -or `dir/7ddd44c0`
    -
    -*dir* – The path you want the filename in. `os.tmpdir()` is a good choice for this.
    -
    -*fileprefix* – A string to append prior to the unique part of the filename.
    -The parameter is required if *uniqstr* is also passed in but is otherwise
    -optional and can be `undefined`/`null`/`''`. If present and not empty
    -then this string plus a hyphen are prepended to the unique part.
    -
    -*uniqstr* – Optional, if not passed the unique part of the resulting
    -filename will be random.  If passed in it will be generated from this string
    -in a reproducable way.
    diff --git a/deps/npm/node_modules/unique-slug/.travis.yml b/deps/npm/node_modules/unique-slug/.travis.yml
    deleted file mode 100644
    index 5651fce24d8989..00000000000000
    --- a/deps/npm/node_modules/unique-slug/.travis.yml
    +++ /dev/null
    @@ -1,10 +0,0 @@
    -language: node_js
    -sudo: false
    -before_install:
    -  - "npm -g install npm"
    -node_js:
    -  - "6"
    -  - "8"
    -  - "10"
    -  - "lts/*"
    -  - "node"
    diff --git a/deps/npm/node_modules/unique-slug/README.md b/deps/npm/node_modules/unique-slug/README.md
    deleted file mode 100644
    index 87f92f1d1b5f5c..00000000000000
    --- a/deps/npm/node_modules/unique-slug/README.md
    +++ /dev/null
    @@ -1,19 +0,0 @@
    -unique-slug
    -===========
    -
    -Generate a unique character string suitible for use in files and URLs.
    -
    -```
    -var uniqueSlug = require('unique-slug')
    -
    -var randomSlug = uniqueSlug()
    -var fileSlug = uniqueSlug('/etc/passwd')
    -```
    -
    -### uniqueSlug(*str*) → String (8 chars)
    -
    -If *str* is passed in then the return value will be its murmur hash in
    -hex.
    -
    -If *str* is not passed in, it will be 4 randomly generated bytes
    -converted into 8 hexadecimal characters.
    diff --git a/deps/npm/node_modules/uri-js/README.md b/deps/npm/node_modules/uri-js/README.md
    deleted file mode 100755
    index 43e648bbad5c85..00000000000000
    --- a/deps/npm/node_modules/uri-js/README.md
    +++ /dev/null
    @@ -1,203 +0,0 @@
    -# URI.js
    -
    -URI.js is an [RFC 3986](http://www.ietf.org/rfc/rfc3986.txt) compliant, scheme extendable URI parsing/validating/resolving library for all JavaScript environments (browsers, Node.js, etc).
    -It is also compliant with the IRI ([RFC 3987](http://www.ietf.org/rfc/rfc3987.txt)), IDNA ([RFC 5890](http://www.ietf.org/rfc/rfc5890.txt)), IPv6 Address ([RFC 5952](http://www.ietf.org/rfc/rfc5952.txt)), IPv6 Zone Identifier ([RFC 6874](http://www.ietf.org/rfc/rfc6874.txt)) specifications.
    -
    -URI.js has an extensive test suite, and works in all (Node.js, web) environments. It weighs in at 6.4kb (gzipped, 17kb deflated).
    -
    -## API
    -
    -### Parsing
    -
    -	URI.parse("uri://user:pass@example.com:123/one/two.three?q1=a1&q2=a2#body");
    -	//returns:
    -	//{
    -	//  scheme : "uri",
    -	//  userinfo : "user:pass",
    -	//  host : "example.com",
    -	//  port : 123,
    -	//  path : "/one/two.three",
    -	//  query : "q1=a1&q2=a2",
    -	//  fragment : "body"
    -	//}
    -
    -### Serializing
    -
    -	URI.serialize({scheme : "http", host : "example.com", fragment : "footer"}) === "http://example.com/#footer"
    -
    -### Resolving
    -
    -	URI.resolve("uri://a/b/c/d?q", "../../g") === "uri://a/g"
    -
    -### Normalizing
    -
    -	URI.normalize("HTTP://ABC.com:80/%7Esmith/home.html") === "http://abc.com/~smith/home.html"
    -
    -### Comparison
    -
    -	URI.equal("example://a/b/c/%7Bfoo%7D", "eXAMPLE://a/./b/../b/%63/%7bfoo%7d") === true
    -
    -### IP Support
    -
    -	//IPv4 normalization
    -	URI.normalize("//192.068.001.000") === "//192.68.1.0"
    -
    -	//IPv6 normalization
    -	URI.normalize("//[2001:0:0DB8::0:0001]") === "//[2001:0:db8::1]"
    -
    -	//IPv6 zone identifier support
    -	URI.parse("//[2001:db8::7%25en1]");
    -	//returns:
    -	//{
    -	//  host : "2001:db8::7%en1"
    -	//}
    -
    -### IRI Support
    -
    -	//convert IRI to URI
    -	URI.serialize(URI.parse("http://examplé.org/rosé")) === "http://xn--exampl-gva.org/ros%C3%A9"
    -	//convert URI to IRI
    -	URI.serialize(URI.parse("http://xn--exampl-gva.org/ros%C3%A9"), {iri:true}) === "http://examplé.org/rosé"
    -
    -### Options
    -
    -All of the above functions can accept an additional options argument that is an object that can contain one or more of the following properties:
    -
    -*	`scheme` (string)
    -
    -	Indicates the scheme that the URI should be treated as, overriding the URI's normal scheme parsing behavior.
    -
    -*	`reference` (string)
    -
    -	If set to `"suffix"`, it indicates that the URI is in the suffix format, and the validator will use the option's `scheme` property to determine the URI's scheme.
    -
    -*	`tolerant` (boolean, false)
    -
    -	If set to `true`, the parser will relax URI resolving rules.
    -
    -*	`absolutePath` (boolean, false)
    -
    -	If set to `true`, the serializer will not resolve a relative `path` component.
    -
    -*	`iri` (boolean, false)
    -
    -	If set to `true`, the serializer will unescape non-ASCII characters as per [RFC 3987](http://www.ietf.org/rfc/rfc3987.txt).
    -
    -*	`unicodeSupport` (boolean, false)
    -
    -	If set to `true`, the parser will unescape non-ASCII characters in the parsed output as per [RFC 3987](http://www.ietf.org/rfc/rfc3987.txt).
    -
    -*	`domainHost` (boolean, false)
    -
    -	If set to `true`, the library will treat the `host` component as a domain name, and convert IDNs (International Domain Names) as per [RFC 5891](http://www.ietf.org/rfc/rfc5891.txt).
    -
    -## Scheme Extendable
    -
    -URI.js supports inserting custom [scheme](http://en.wikipedia.org/wiki/URI_scheme) dependent processing rules. Currently, URI.js has built in support for the following schemes:
    -
    -*	http \[[RFC 2616](http://www.ietf.org/rfc/rfc2616.txt)\]
    -*	https \[[RFC 2818](http://www.ietf.org/rfc/rfc2818.txt)\]
    -*	ws \[[RFC 6455](http://www.ietf.org/rfc/rfc6455.txt)\]
    -*	wss \[[RFC 6455](http://www.ietf.org/rfc/rfc6455.txt)\]
    -*	mailto \[[RFC 6068](http://www.ietf.org/rfc/rfc6068.txt)\]
    -*	urn \[[RFC 2141](http://www.ietf.org/rfc/rfc2141.txt)\]
    -*	urn:uuid \[[RFC 4122](http://www.ietf.org/rfc/rfc4122.txt)\]
    -
    -### HTTP/HTTPS Support
    -
    -	URI.equal("HTTP://ABC.COM:80", "http://abc.com/") === true
    -	URI.equal("https://abc.com", "HTTPS://ABC.COM:443/") === true
    -
    -### WS/WSS Support
    -
    -	URI.parse("wss://example.com/foo?bar=baz");
    -	//returns:
    -	//{
    -	//	scheme : "wss",
    -	//	host: "example.com",
    -	//	resourceName: "/foo?bar=baz",
    -	//	secure: true,
    -	//}
    -
    -	URI.equal("WS://ABC.COM:80/chat#one", "ws://abc.com/chat") === true
    -
    -### Mailto Support
    -
    -	URI.parse("mailto:alpha@example.com,bravo@example.com?subject=SUBSCRIBE&body=Sign%20me%20up!");
    -	//returns:
    -	//{
    -	//	scheme : "mailto",
    -	//	to : ["alpha@example.com", "bravo@example.com"],
    -	//	subject : "SUBSCRIBE",
    -	//	body : "Sign me up!"
    -	//}
    -
    -	URI.serialize({
    -		scheme : "mailto",
    -		to : ["alpha@example.com"],
    -		subject : "REMOVE",
    -		body : "Please remove me",
    -		headers : {
    -			cc : "charlie@example.com"
    -		}
    -	}) === "mailto:alpha@example.com?cc=charlie@example.com&subject=REMOVE&body=Please%20remove%20me"
    -
    -### URN Support
    -
    -	URI.parse("urn:example:foo");
    -	//returns:
    -	//{
    -	//	scheme : "urn",
    -	//	nid : "example",
    -	//	nss : "foo",
    -	//}
    -
    -#### URN UUID Support
    -
    -	URI.parse("urn:uuid:f81d4fae-7dec-11d0-a765-00a0c91e6bf6");
    -	//returns:
    -	//{
    -	//	scheme : "urn",
    -	//	nid : "uuid",
    -	//	uuid : "f81d4fae-7dec-11d0-a765-00a0c91e6bf6",
    -	//}
    -
    -## Usage
    -
    -To load in a browser, use the following tag:
    -
    -	
    -
    -To load in a CommonJS/Module environment, first install with npm/yarn by running on the command line:
    -
    -	npm install uri-js
    -	# OR
    -	yarn add uri-js
    -
    -Then, in your code, load it using:
    -
    -	const URI = require("uri-js");
    -
    -If you are writing your code in ES6+ (ESNEXT) or TypeScript, you would load it using:
    -
    -	import * as URI from "uri-js";
    -
    -Or you can load just what you need using named exports:
    -
    -	import { parse, serialize, resolve, resolveComponents, normalize, equal, removeDotSegments, pctEncChar, pctDecChars, escapeComponent, unescapeComponent } from "uri-js";
    -
    -## Breaking changes
    -
    -### Breaking changes from 3.x
    -
    -URN parsing has been completely changed to better align with the specification. Scheme is now always `urn`, but has two new properties: `nid` which contains the Namspace Identifier, and `nss` which contains the Namespace Specific String. The `nss` property will be removed by higher order scheme handlers, such as the UUID URN scheme handler.
    -
    -The UUID of a URN can now be found in the `uuid` property.
    -
    -### Breaking changes from 2.x
    -
    -URI validation has been removed as it was slow, exposed a vulnerabilty, and was generally not useful.
    -
    -### Breaking changes from 1.x
    -
    -The `errors` array on parsed components is now an `error` string.
    diff --git a/deps/npm/node_modules/util-deprecate/README.md b/deps/npm/node_modules/util-deprecate/README.md
    deleted file mode 100644
    index 75622fa7c250a6..00000000000000
    --- a/deps/npm/node_modules/util-deprecate/README.md
    +++ /dev/null
    @@ -1,53 +0,0 @@
    -util-deprecate
    -==============
    -### The Node.js `util.deprecate()` function with browser support
    -
    -In Node.js, this module simply re-exports the `util.deprecate()` function.
    -
    -In the web browser (i.e. via browserify), a browser-specific implementation
    -of the `util.deprecate()` function is used.
    -
    -
    -## API
    -
    -A `deprecate()` function is the only thing exposed by this module.
    -
    -``` javascript
    -// setup:
    -exports.foo = deprecate(foo, 'foo() is deprecated, use bar() instead');
    -
    -
    -// users see:
    -foo();
    -// foo() is deprecated, use bar() instead
    -foo();
    -foo();
    -```
    -
    -
    -## License
    -
    -(The MIT License)
    -
    -Copyright (c) 2014 Nathan Rajlich 
    -
    -Permission is hereby granted, free of charge, to any person
    -obtaining a copy of this software and associated documentation
    -files (the "Software"), to deal in the Software without
    -restriction, including without limitation the rights to use,
    -copy, modify, merge, publish, distribute, sublicense, and/or sell
    -copies of the Software, and to permit persons to whom the
    -Software is furnished to do so, subject to the following
    -conditions:
    -
    -The above copyright notice and this permission notice shall be
    -included in all copies or substantial portions of the Software.
    -
    -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
    -EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES
    -OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
    -NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT
    -HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY,
    -WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
    -FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR
    -OTHER DEALINGS IN THE SOFTWARE.
    diff --git a/deps/npm/node_modules/validate-npm-package-license/README.md b/deps/npm/node_modules/validate-npm-package-license/README.md
    deleted file mode 100644
    index 702bc7b4f3ba3e..00000000000000
    --- a/deps/npm/node_modules/validate-npm-package-license/README.md
    +++ /dev/null
    @@ -1,113 +0,0 @@
    -validate-npm-package-license
    -============================
    -
    -Give me a string and I'll tell you if it's a valid npm package license string.
    -
    -```javascript
    -var valid = require('validate-npm-package-license');
    -```
    -
    -SPDX license identifiers are valid license strings:
    -
    -```javascript
    -
    -var assert = require('assert');
    -var validSPDXExpression = {
    -  validForNewPackages: true,
    -  validForOldPackages: true,
    -  spdx: true
    -};
    -
    -assert.deepEqual(valid('MIT'), validSPDXExpression);
    -assert.deepEqual(valid('BSD-2-Clause'), validSPDXExpression);
    -assert.deepEqual(valid('Apache-2.0'), validSPDXExpression);
    -assert.deepEqual(valid('ISC'), validSPDXExpression);
    -```
    -The function will return a warning and suggestion for nearly-correct license identifiers:
    -
    -```javascript
    -assert.deepEqual(
    -  valid('Apache 2.0'),
    -  {
    -    validForOldPackages: false,
    -    validForNewPackages: false,
    -    warnings: [
    -      'license should be ' +
    -      'a valid SPDX license expression (without "LicenseRef"), ' +
    -      '"UNLICENSED", or ' +
    -      '"SEE LICENSE IN "',
    -      'license is similar to the valid expression "Apache-2.0"'
    -    ]
    -  }
    -);
    -```
    -
    -SPDX expressions are valid, too ...
    -
    -```javascript
    -// Simple SPDX license expression for dual licensing
    -assert.deepEqual(
    -  valid('(GPL-3.0-only OR BSD-2-Clause)'),
    -  validSPDXExpression
    -);
    -```
    -
    -... except if they contain `LicenseRef`:
    -
    -```javascript
    -var warningAboutLicenseRef = {
    -  validForOldPackages: false,
    -  validForNewPackages: false,
    -  spdx: true,
    -  warnings: [
    -    'license should be ' +
    -    'a valid SPDX license expression (without "LicenseRef"), ' +
    -    '"UNLICENSED", or ' +
    -    '"SEE LICENSE IN "',
    -  ]
    -};
    -
    -assert.deepEqual(
    -  valid('LicenseRef-Made-Up'),
    -  warningAboutLicenseRef
    -);
    -
    -assert.deepEqual(
    -  valid('(MIT OR LicenseRef-Made-Up)'),
    -  warningAboutLicenseRef
    -);
    -```
    -
    -If you can't describe your licensing terms with standardized SPDX identifiers, put the terms in a file in the package and point users there:
    -
    -```javascript
    -assert.deepEqual(
    -  valid('SEE LICENSE IN LICENSE.txt'),
    -  {
    -    validForNewPackages: true,
    -    validForOldPackages: true,
    -    inFile: 'LICENSE.txt'
    -  }
    -);
    -
    -assert.deepEqual(
    -  valid('SEE LICENSE IN license.md'),
    -  {
    -    validForNewPackages: true,
    -    validForOldPackages: true,
    -    inFile: 'license.md'
    -  }
    -);
    -```
    -
    -If there aren't any licensing terms, use `UNLICENSED`:
    -
    -```javascript
    -var unlicensed = {
    -  validForNewPackages: true,
    -  validForOldPackages: true,
    -  unlicensed: true
    -};
    -assert.deepEqual(valid('UNLICENSED'), unlicensed);
    -assert.deepEqual(valid('UNLICENCED'), unlicensed);
    -```
    diff --git a/deps/npm/node_modules/validate-npm-package-name/.npmignore b/deps/npm/node_modules/validate-npm-package-name/.npmignore
    deleted file mode 100644
    index 3c3629e647f5dd..00000000000000
    --- a/deps/npm/node_modules/validate-npm-package-name/.npmignore
    +++ /dev/null
    @@ -1 +0,0 @@
    -node_modules
    diff --git a/deps/npm/node_modules/validate-npm-package-name/.travis.yml b/deps/npm/node_modules/validate-npm-package-name/.travis.yml
    deleted file mode 100644
    index 54de0d2d1590ec..00000000000000
    --- a/deps/npm/node_modules/validate-npm-package-name/.travis.yml
    +++ /dev/null
    @@ -1,6 +0,0 @@
    -sudo: false
    -language: node_js
    -node_js:
    -  - '0.10'
    -  - '4'
    -  - '6'
    diff --git a/deps/npm/node_modules/validate-npm-package-name/README.md b/deps/npm/node_modules/validate-npm-package-name/README.md
    deleted file mode 100644
    index 95d04a4c817177..00000000000000
    --- a/deps/npm/node_modules/validate-npm-package-name/README.md
    +++ /dev/null
    @@ -1,120 +0,0 @@
    -# validate-npm-package-name
    -
    -Give me a string and I'll tell you if it's a valid `npm` package name.
    -
    -This package exports a single synchronous function that takes a `string` as
    -input and returns an object with two properties:
    -
    -- `validForNewPackages` :: `Boolean`
    -- `validForOldPackages` :: `Boolean`
    -
    -## Contents
    -
    -- [Naming rules](#naming-rules)
    -- [Examples](#examples)
    -    + [Valid Names](#valid-names)
    -    + [Invalid Names](#invalid-names)
    -- [Legacy Names](#legacy-names)
    -- [Tests](#tests)
    -- [License](#license)
    -
    -## Naming Rules
    -
    -Below is a list of rules that valid `npm` package name should conform to.
    -
    -- package name length should be greater than zero
    -- all the characters in the package name must be lowercase i.e., no uppercase or mixed case names are allowed
    -- package name *can* consist of hyphens
    -- package name must *not* contain any non-url-safe characters (since name ends up being part of a URL)
    -- package name should not start with `.` or `_`
    -- package name should *not* contain any leading or trailing spaces
    -- package name should *not* contain any of the following characters: `~)('!*`
    -- package name *cannot* be the same as a node.js/io.js core module nor a reserved/blacklisted name. For example, the following names are invalid:
    -    + http
    -    + stream
    -    + node_modules
    -    + favicon.ico
    -- package name length cannot exceed 214
    -
    -
    -## Examples
    -
    -### Valid Names
    -
    -```js
    -var validate = require("validate-npm-package-name")
    -
    -validate("some-package")
    -validate("example.com")
    -validate("under_score")
    -validate("123numeric")
    -validate("excited!")
    -validate("@npm/thingy")
    -validate("@jane/foo.js")
    -```
    -
    -All of the above names are valid, so you'll get this object back:
    -
    -```js
    -{
    -  validForNewPackages: true,
    -  validForOldPackages: true
    -}
    -```
    -
    -### Invalid Names
    -
    -```js
    -validate(" leading-space:and:weirdchars")
    -```
    -
    -That was never a valid package name, so you get this:
    -
    -```js
    -{
    -  validForNewPackages: false,
    -  validForOldPackages: false,
    -  errors: [
    -    'name cannot contain leading or trailing spaces',
    -    'name can only contain URL-friendly characters'
    -  ]
    -}
    -```
    -
    -## Legacy Names
    -
    -In the old days of npm, package names were wild. They could have capital
    -letters in them. They could be really long. They could be the name of an
    -existing module in node core.
    -
    -If you give this function a package name that **used to be valid**, you'll see
    -a change in the value of `validForNewPackages` property, and a warnings array
    -will be present:
    -
    -```js
    -validate("eLaBorAtE-paCkAgE-with-mixed-case-and-more-than-214-characters-----------------------------------------------------------------------------------------------------------------------------------------------------------")
    -```
    -
    -returns:
    -
    -```js
    -{
    -  validForNewPackages: false,
    -  validForOldPackages: true,
    -  warnings: [
    -    "name can no longer contain capital letters",
    -    "name can no longer contain more than 214 characters"
    -  ]
    -}
    -```
    -
    -## Tests
    -
    -```sh
    -npm install
    -npm test
    -```
    -
    -## License
    -
    -ISC
    diff --git a/deps/npm/node_modules/verror/.npmignore b/deps/npm/node_modules/verror/.npmignore
    deleted file mode 100644
    index f14aec80430c62..00000000000000
    --- a/deps/npm/node_modules/verror/.npmignore
    +++ /dev/null
    @@ -1,9 +0,0 @@
    -.gitignore
    -.gitmodules
    -deps
    -examples
    -experiments
    -jsl.node.conf
    -Makefile
    -Makefile.targ
    -test
    diff --git a/deps/npm/node_modules/verror/README.md b/deps/npm/node_modules/verror/README.md
    deleted file mode 100644
    index c1f0635ef53b92..00000000000000
    --- a/deps/npm/node_modules/verror/README.md
    +++ /dev/null
    @@ -1,528 +0,0 @@
    -# verror: rich JavaScript errors
    -
    -This module provides several classes in support of Joyent's [Best Practices for
    -Error Handling in Node.js](http://www.joyent.com/developers/node/design/errors).
    -If you find any of the behavior here confusing or surprising, check out that
    -document first.
    -
    -The error classes here support:
    -
    -* printf-style arguments for the message
    -* chains of causes
    -* properties to provide extra information about the error
    -* creating your own subclasses that support all of these
    -
    -The classes here are:
    -
    -* **VError**, for chaining errors while preserving each one's error message.
    -  This is useful in servers and command-line utilities when you want to
    -  propagate an error up a call stack, but allow various levels to add their own
    -  context.  See examples below.
    -* **WError**, for wrapping errors while hiding the lower-level messages from the
    -  top-level error.  This is useful for API endpoints where you don't want to
    -  expose internal error messages, but you still want to preserve the error chain
    -  for logging and debugging.
    -* **SError**, which is just like VError but interprets printf-style arguments
    -  more strictly.
    -* **MultiError**, which is just an Error that encapsulates one or more other
    -  errors.  (This is used for parallel operations that return several errors.)
    -
    -
    -# Quick start
    -
    -First, install the package:
    -
    -    npm install verror
    -
    -If nothing else, you can use VError as a drop-in replacement for the built-in
    -JavaScript Error class, with the addition of printf-style messages:
    -
    -```javascript
    -var err = new VError('missing file: "%s"', '/etc/passwd');
    -console.log(err.message);
    -```
    -
    -This prints:
    -
    -    missing file: "/etc/passwd"
    -
    -You can also pass a `cause` argument, which is any other Error object:
    -
    -```javascript
    -var fs = require('fs');
    -var filename = '/nonexistent';
    -fs.stat(filename, function (err1) {
    -	var err2 = new VError(err1, 'stat "%s"', filename);
    -	console.error(err2.message);
    -});
    -```
    -
    -This prints out:
    -
    -    stat "/nonexistent": ENOENT, stat '/nonexistent'
    -
    -which resembles how Unix programs typically report errors:
    -
    -    $ sort /nonexistent
    -    sort: open failed: /nonexistent: No such file or directory
    -
    -To match the Unixy feel, when you print out the error, just prepend the
    -program's name to the VError's `message`.  Or just call
    -[node-cmdutil.fail(your_verror)](https://github.com/joyent/node-cmdutil), which
    -does this for you.
    -
    -You can get the next-level Error using `err.cause()`:
    -
    -```javascript
    -console.error(err2.cause().message);
    -```
    -
    -prints:
    -
    -    ENOENT, stat '/nonexistent'
    -
    -Of course, you can chain these as many times as you want, and it works with any
    -kind of Error:
    -
    -```javascript
    -var err1 = new Error('No such file or directory');
    -var err2 = new VError(err1, 'failed to stat "%s"', '/junk');
    -var err3 = new VError(err2, 'request failed');
    -console.error(err3.message);
    -```
    -
    -This prints:
    -
    -    request failed: failed to stat "/junk": No such file or directory
    -
    -The idea is that each layer in the stack annotates the error with a description
    -of what it was doing.  The end result is a message that explains what happened
    -at each level.
    -
    -You can also decorate Error objects with additional information so that callers
    -can not only handle each kind of error differently, but also construct their own
    -error messages (e.g., to localize them, format them, group them by type, and so
    -on).  See the example below.
    -
    -
    -# Deeper dive
    -
    -The two main goals for VError are:
    -
    -* **Make it easy to construct clear, complete error messages intended for
    -  people.**  Clear error messages greatly improve both user experience and
    -  debuggability, so we wanted to make it easy to build them.  That's why the
    -  constructor takes printf-style arguments.
    -* **Make it easy to construct objects with programmatically-accessible
    -  metadata** (which we call _informational properties_).  Instead of just saying
    -  "connection refused while connecting to 192.168.1.2:80", you can add
    -  properties like `"ip": "192.168.1.2"` and `"tcpPort": 80`.  This can be used
    -  for feeding into monitoring systems, analyzing large numbers of Errors (as
    -  from a log file), or localizing error messages.
    -
    -To really make this useful, it also needs to be easy to compose Errors:
    -higher-level code should be able to augment the Errors reported by lower-level
    -code to provide a more complete description of what happened.  Instead of saying
    -"connection refused", you can say "operation X failed: connection refused".
    -That's why VError supports `causes`.
    -
    -In order for all this to work, programmers need to know that it's generally safe
    -to wrap lower-level Errors with higher-level ones.  If you have existing code
    -that handles Errors produced by a library, you should be able to wrap those
    -Errors with a VError to add information without breaking the error handling
    -code.  There are two obvious ways that this could break such consumers:
    -
    -* The error's name might change.  People typically use `name` to determine what
    -  kind of Error they've got.  To ensure compatibility, you can create VErrors
    -  with custom names, but this approach isn't great because it prevents you from
    -  representing complex failures.  For this reason, VError provides
    -  `findCauseByName`, which essentially asks: does this Error _or any of its
    -  causes_ have this specific type?  If error handling code uses
    -  `findCauseByName`, then subsystems can construct very specific causal chains
    -  for debuggability and still let people handle simple cases easily.  There's an
    -  example below.
    -* The error's properties might change.  People often hang additional properties
    -  off of Error objects.  If we wrap an existing Error in a new Error, those
    -  properties would be lost unless we copied them.  But there are a variety of
    -  both standard and non-standard Error properties that should _not_ be copied in
    -  this way: most obviously `name`, `message`, and `stack`, but also `fileName`,
    -  `lineNumber`, and a few others.  Plus, it's useful for some Error subclasses
    -  to have their own private properties -- and there'd be no way to know whether
    -  these should be copied.  For these reasons, VError first-classes these
    -  information properties.  You have to provide them in the constructor, you can
    -  only fetch them with the `info()` function, and VError takes care of making
    -  sure properties from causes wind up in the `info()` output.
    -
    -Let's put this all together with an example from the node-fast RPC library.
    -node-fast implements a simple RPC protocol for Node programs.  There's a server
    -and client interface, and clients make RPC requests to servers.  Let's say the
    -server fails with an UnauthorizedError with message "user 'bob' is not
    -authorized".  The client wraps all server errors with a FastServerError.  The
    -client also wraps all request errors with a FastRequestError that includes the
    -name of the RPC call being made.  The result of this failed RPC might look like
    -this:
    -
    -    name: FastRequestError
    -    message: "request failed: server error: user 'bob' is not authorized"
    -    rpcMsgid: 
    -    rpcMethod: GetObject
    -    cause:
    -        name: FastServerError
    -        message: "server error: user 'bob' is not authorized"
    -        cause:
    -            name: UnauthorizedError
    -            message: "user 'bob' is not authorized"
    -            rpcUser: "bob"
    -
    -When the caller uses `VError.info()`, the information properties are collapsed
    -so that it looks like this:
    -
    -    message: "request failed: server error: user 'bob' is not authorized"
    -    rpcMsgid: 
    -    rpcMethod: GetObject
    -    rpcUser: "bob"
    -
    -Taking this apart:
    -
    -* The error's message is a complete description of the problem.  The caller can
    -  report this directly to its caller, which can potentially make its way back to
    -  an end user (if appropriate).  It can also be logged.
    -* The caller can tell that the request failed on the server, rather than as a
    -  result of a client problem (e.g., failure to serialize the request), a
    -  transport problem (e.g., failure to connect to the server), or something else
    -  (e.g., a timeout).  They do this using `findCauseByName('FastServerError')`
    -  rather than checking the `name` field directly.
    -* If the caller logs this error, the logs can be analyzed to aggregate
    -  errors by cause, by RPC method name, by user, or whatever.  Or the
    -  error can be correlated with other events for the same rpcMsgid.
    -* It wasn't very hard for any part of the code to contribute to this Error.
    -  Each part of the stack has just a few lines to provide exactly what it knows,
    -  with very little boilerplate.
    -
    -It's not expected that you'd use these complex forms all the time.  Despite
    -supporting the complex case above, you can still just do:
    -
    -   new VError("my service isn't working");
    -
    -for the simple cases.
    -
    -
    -# Reference: VError, WError, SError
    -
    -VError, WError, and SError are convenient drop-in replacements for `Error` that
    -support printf-style arguments, first-class causes, informational properties,
    -and other useful features.
    -
    -
    -## Constructors
    -
    -The VError constructor has several forms:
    -
    -```javascript
    -/*
    - * This is the most general form.  You can specify any supported options
    - * (including "cause" and "info") this way.
    - */
    -new VError(options, sprintf_args...)
    -
    -/*
    - * This is a useful shorthand when the only option you need is "cause".
    - */
    -new VError(cause, sprintf_args...)
    -
    -/*
    - * This is a useful shorthand when you don't need any options at all.
    - */
    -new VError(sprintf_args...)
    -```
    -
    -All of these forms construct a new VError that behaves just like the built-in
    -JavaScript `Error` class, with some additional methods described below.
    -
    -In the first form, `options` is a plain object with any of the following
    -optional properties:
    -
    -Option name      | Type             | Meaning
    ----------------- | ---------------- | -------
    -`name`           | string           | Describes what kind of error this is.  This is intended for programmatic use to distinguish between different kinds of errors.  Note that in modern versions of Node.js, this name is ignored in the `stack` property value, but callers can still use the `name` property to get at it.
    -`cause`          | any Error object | Indicates that the new error was caused by `cause`.  See `cause()` below.  If unspecified, the cause will be `null`.
    -`strict`         | boolean          | If true, then `null` and `undefined` values in `sprintf_args` are passed through to `sprintf()`.  Otherwise, these are replaced with the strings `'null'`, and '`undefined`', respectively.
    -`constructorOpt` | function         | If specified, then the stack trace for this error ends at function `constructorOpt`.  Functions called by `constructorOpt` will not show up in the stack.  This is useful when this class is subclassed.
    -`info`           | object           | Specifies arbitrary informational properties that are available through the `VError.info(err)` static class method.  See that method for details.
    -
    -The second form is equivalent to using the first form with the specified `cause`
    -as the error's cause.  This form is distinguished from the first form because
    -the first argument is an Error.
    -
    -The third form is equivalent to using the first form with all default option
    -values.  This form is distinguished from the other forms because the first
    -argument is not an object or an Error.
    -
    -The `WError` constructor is used exactly the same way as the `VError`
    -constructor.  The `SError` constructor is also used the same way as the
    -`VError` constructor except that in all cases, the `strict` property is
    -overriden to `true.
    -
    -
    -## Public properties
    -
    -`VError`, `WError`, and `SError` all provide the same public properties as
    -JavaScript's built-in Error objects.
    -
    -Property name | Type   | Meaning
    -------------- | ------ | -------
    -`name`        | string | Programmatically-usable name of the error.
    -`message`     | string | Human-readable summary of the failure.  Programmatically-accessible details are provided through `VError.info(err)` class method.
    -`stack`       | string | Human-readable stack trace where the Error was constructed.
    -
    -For all of these classes, the printf-style arguments passed to the constructor
    -are processed with `sprintf()` to form a message.  For `WError`, this becomes
    -the complete `message` property.  For `SError` and `VError`, this message is
    -prepended to the message of the cause, if any (with a suitable separator), and
    -the result becomes the `message` property.
    -
    -The `stack` property is managed entirely by the underlying JavaScript
    -implementation.  It's generally implemented using a getter function because
    -constructing the human-readable stack trace is somewhat expensive.
    -
    -## Class methods
    -
    -The following methods are defined on the `VError` class and as exported
    -functions on the `verror` module.  They're defined this way rather than using
    -methods on VError instances so that they can be used on Errors not created with
    -`VError`.
    -
    -### `VError.cause(err)`
    -
    -The `cause()` function returns the next Error in the cause chain for `err`, or
    -`null` if there is no next error.  See the `cause` argument to the constructor.
    -Errors can have arbitrarily long cause chains.  You can walk the `cause` chain
    -by invoking `VError.cause(err)` on each subsequent return value.  If `err` is
    -not a `VError`, the cause is `null`.
    -
    -### `VError.info(err)`
    -
    -Returns an object with all of the extra error information that's been associated
    -with this Error and all of its causes.  These are the properties passed in using
    -the `info` option to the constructor.  Properties not specified in the
    -constructor for this Error are implicitly inherited from this error's cause.
    -
    -These properties are intended to provide programmatically-accessible metadata
    -about the error.  For an error that indicates a failure to resolve a DNS name,
    -informational properties might include the DNS name to be resolved, or even the
    -list of resolvers used to resolve it.  The values of these properties should
    -generally be plain objects (i.e., consisting only of null, undefined, numbers,
    -booleans, strings, and objects and arrays containing only other plain objects).
    -
    -### `VError.fullStack(err)`
    -
    -Returns a string containing the full stack trace, with all nested errors recursively
    -reported as `'caused by:' + err.stack`.
    -
    -### `VError.findCauseByName(err, name)`
    -
    -The `findCauseByName()` function traverses the cause chain for `err`, looking
    -for an error whose `name` property matches the passed in `name` value. If no
    -match is found, `null` is returned.
    -
    -If all you want is to know _whether_ there's a cause (and you don't care what it
    -is), you can use `VError.hasCauseWithName(err, name)`.
    -
    -If a vanilla error or a non-VError error is passed in, then there is no cause
    -chain to traverse. In this scenario, the function will check the `name`
    -property of only `err`.
    -
    -### `VError.hasCauseWithName(err, name)`
    -
    -Returns true if and only if `VError.findCauseByName(err, name)` would return
    -a non-null value.  This essentially determines whether `err` has any cause in
    -its cause chain that has name `name`.
    -
    -### `VError.errorFromList(errors)`
    -
    -Given an array of Error objects (possibly empty), return a single error
    -representing the whole collection of errors.  If the list has:
    -
    -* 0 elements, returns `null`
    -* 1 element, returns the sole error
    -* more than 1 element, returns a MultiError referencing the whole list
    -
    -This is useful for cases where an operation may produce any number of errors,
    -and you ultimately want to implement the usual `callback(err)` pattern.  You can
    -accumulate the errors in an array and then invoke
    -`callback(VError.errorFromList(errors))` when the operation is complete.
    -
    -
    -### `VError.errorForEach(err, func)`
    -
    -Convenience function for iterating an error that may itself be a MultiError.
    -
    -In all cases, `err` must be an Error.  If `err` is a MultiError, then `func` is
    -invoked as `func(errorN)` for each of the underlying errors of the MultiError.
    -If `err` is any other kind of error, `func` is invoked once as `func(err)`.  In
    -all cases, `func` is invoked synchronously.
    -
    -This is useful for cases where an operation may produce any number of warnings
    -that may be encapsulated with a MultiError -- but may not be.
    -
    -This function does not iterate an error's cause chain.
    -
    -
    -## Examples
    -
    -The "Demo" section above covers several basic cases.  Here's a more advanced
    -case:
    -
    -```javascript
    -var err1 = new VError('something bad happened');
    -/* ... */
    -var err2 = new VError({
    -    'name': 'ConnectionError',
    -    'cause': err1,
    -    'info': {
    -        'errno': 'ECONNREFUSED',
    -        'remote_ip': '127.0.0.1',
    -        'port': 215
    -    }
    -}, 'failed to connect to "%s:%d"', '127.0.0.1', 215);
    -
    -console.log(err2.message);
    -console.log(err2.name);
    -console.log(VError.info(err2));
    -console.log(err2.stack);
    -```
    -
    -This outputs:
    -
    -    failed to connect to "127.0.0.1:215": something bad happened
    -    ConnectionError
    -    { errno: 'ECONNREFUSED', remote_ip: '127.0.0.1', port: 215 }
    -    ConnectionError: failed to connect to "127.0.0.1:215": something bad happened
    -        at Object. (/home/dap/node-verror/examples/info.js:5:12)
    -        at Module._compile (module.js:456:26)
    -        at Object.Module._extensions..js (module.js:474:10)
    -        at Module.load (module.js:356:32)
    -        at Function.Module._load (module.js:312:12)
    -        at Function.Module.runMain (module.js:497:10)
    -        at startup (node.js:119:16)
    -        at node.js:935:3
    -
    -Information properties are inherited up the cause chain, with values at the top
    -of the chain overriding same-named values lower in the chain.  To continue that
    -example:
    -
    -```javascript
    -var err3 = new VError({
    -    'name': 'RequestError',
    -    'cause': err2,
    -    'info': {
    -        'errno': 'EBADREQUEST'
    -    }
    -}, 'request failed');
    -
    -console.log(err3.message);
    -console.log(err3.name);
    -console.log(VError.info(err3));
    -console.log(err3.stack);
    -```
    -
    -This outputs:
    -
    -    request failed: failed to connect to "127.0.0.1:215": something bad happened
    -    RequestError
    -    { errno: 'EBADREQUEST', remote_ip: '127.0.0.1', port: 215 }
    -    RequestError: request failed: failed to connect to "127.0.0.1:215": something bad happened
    -        at Object. (/home/dap/node-verror/examples/info.js:20:12)
    -        at Module._compile (module.js:456:26)
    -        at Object.Module._extensions..js (module.js:474:10)
    -        at Module.load (module.js:356:32)
    -        at Function.Module._load (module.js:312:12)
    -        at Function.Module.runMain (module.js:497:10)
    -        at startup (node.js:119:16)
    -        at node.js:935:3
    -
    -You can also print the complete stack trace of combined `Error`s by using
    -`VError.fullStack(err).`
    -
    -```javascript
    -var err1 = new VError('something bad happened');
    -/* ... */
    -var err2 = new VError(err1, 'something really bad happened here');
    -
    -console.log(VError.fullStack(err2));
    -```
    -
    -This outputs:
    -
    -    VError: something really bad happened here: something bad happened
    -        at Object. (/home/dap/node-verror/examples/fullStack.js:5:12)
    -        at Module._compile (module.js:409:26)
    -        at Object.Module._extensions..js (module.js:416:10)
    -        at Module.load (module.js:343:32)
    -        at Function.Module._load (module.js:300:12)
    -        at Function.Module.runMain (module.js:441:10)
    -        at startup (node.js:139:18)
    -        at node.js:968:3
    -    caused by: VError: something bad happened
    -        at Object. (/home/dap/node-verror/examples/fullStack.js:3:12)
    -        at Module._compile (module.js:409:26)
    -        at Object.Module._extensions..js (module.js:416:10)
    -        at Module.load (module.js:343:32)
    -        at Function.Module._load (module.js:300:12)
    -        at Function.Module.runMain (module.js:441:10)
    -        at startup (node.js:139:18)
    -        at node.js:968:3
    -
    -`VError.fullStack` is also safe to use on regular `Error`s, so feel free to use
    -it whenever you need to extract the stack trace from an `Error`, regardless if
    -it's a `VError` or not.
    -
    -# Reference: MultiError
    -
    -MultiError is an Error class that represents a group of Errors.  This is used
    -when you logically need to provide a single Error, but you want to preserve
    -information about multiple underying Errors.  A common case is when you execute
    -several operations in parallel and some of them fail.
    -
    -MultiErrors are constructed as:
    -
    -```javascript
    -new MultiError(error_list)
    -```
    -
    -`error_list` is an array of at least one `Error` object.
    -
    -The cause of the MultiError is the first error provided.  None of the other
    -`VError` options are supported.  The `message` for a MultiError consists the
    -`message` from the first error, prepended with a message indicating that there
    -were other errors.
    -
    -For example:
    -
    -```javascript
    -err = new MultiError([
    -    new Error('failed to resolve DNS name "abc.example.com"'),
    -    new Error('failed to resolve DNS name "def.example.com"'),
    -]);
    -
    -console.error(err.message);
    -```
    -
    -outputs:
    -
    -    first of 2 errors: failed to resolve DNS name "abc.example.com"
    -
    -See the convenience function `VError.errorFromList`, which is sometimes simpler
    -to use than this constructor.
    -
    -## Public methods
    -
    -
    -### `errors()`
    -
    -Returns an array of the errors used to construct this MultiError.
    -
    -
    -# Contributing
    -
    -See separate [contribution guidelines](CONTRIBUTING.md).
    diff --git a/deps/npm/node_modules/walk-up-path/README.md b/deps/npm/node_modules/walk-up-path/README.md
    deleted file mode 100644
    index 6729745f8a6c74..00000000000000
    --- a/deps/npm/node_modules/walk-up-path/README.md
    +++ /dev/null
    @@ -1,46 +0,0 @@
    -# walk-up-path
    -
    -Given a path string, return a generator that walks up the path, emitting
    -each dirname.
    -
    -So, to get a platform-portable walk up, instead of doing something like
    -this:
    -
    -```js
    -for (let p = dirname(path); p;) {
    -
    -  // ... do stuff ...
    -
    -  const pp = dirname(p)
    -  if (p === pp)
    -    p = null
    -  else
    -    p = pp
    -}
    -```
    -
    -Or this:
    -
    -```js
    -for (let p = dirname(path); !isRoot(p); p = dirname(p)) {
    -  // ... do stuff ...
    -}
    -```
    -
    -You can do this:
    -
    -```js
    -const walkUpPath = require('walk-up-path')
    -for (const p of walkUpPath(path)) {
    -  // ... do stuff ..
    -}
    -```
    -
    -## API
    -
    -```js
    -const walkUpPath = require('walk-up-path')
    -```
    -
    -Give the fn a string, it'll yield all the directories walking up to the
    -root.
    diff --git a/deps/npm/node_modules/wcwidth/.npmignore b/deps/npm/node_modules/wcwidth/.npmignore
    deleted file mode 100644
    index 3c3629e647f5dd..00000000000000
    --- a/deps/npm/node_modules/wcwidth/.npmignore
    +++ /dev/null
    @@ -1 +0,0 @@
    -node_modules
    diff --git a/deps/npm/node_modules/wide-align/README.md b/deps/npm/node_modules/wide-align/README.md
    deleted file mode 100644
    index 32f1be04f09776..00000000000000
    --- a/deps/npm/node_modules/wide-align/README.md
    +++ /dev/null
    @@ -1,47 +0,0 @@
    -wide-align
    -----------
    -
    -A wide-character aware text alignment function for use in terminals / on the
    -console.
    -
    -### Usage
    -
    -```
    -var align = require('wide-align')
    -
    -// Note that if you view this on a unicode console, all of the slashes are
    -// aligned. This is because on a console, all narrow characters are
    -// an en wide and all wide characters are an em. In browsers, this isn't
    -// held to and wide characters like "古" can be less than two narrow
    -// characters even with a fixed width font.
    -
    -console.log(align.center('abc', 10))     // '   abc    '
    -console.log(align.center('古古古', 10))  // '  古古古  '
    -console.log(align.left('abc', 10))       // 'abc       '
    -console.log(align.left('古古古', 10))    // '古古古    '
    -console.log(align.right('abc', 10))      // '       abc'
    -console.log(align.right('古古古', 10))   // '    古古古'
    -```
    -
    -### Functions
    -
    -#### `align.center(str, length)` → `str`
    -
    -Returns *str* with spaces added to both sides such that that it is *length*
    -chars long and centered in the spaces.
    -
    -#### `align.left(str, length)` → `str`
    -
    -Returns *str* with spaces to the right such that it is *length* chars long.
    -
    -### `align.right(str, length)` → `str`
    -
    -Returns *str* with spaces to the left such that it is *length* chars long.
    -
    -### Origins
    -
    -These functions were originally taken from 
    -[cliui](https://npmjs.com/package/cliui). Changes include switching to the
    -MUCH faster pad generation function from
    -[lodash](https://npmjs.com/package/lodash), making center alignment pad
    -both sides and adding left alignment.
    diff --git a/deps/npm/node_modules/wrappy/README.md b/deps/npm/node_modules/wrappy/README.md
    deleted file mode 100644
    index 98eab2522b86e5..00000000000000
    --- a/deps/npm/node_modules/wrappy/README.md
    +++ /dev/null
    @@ -1,36 +0,0 @@
    -# wrappy
    -
    -Callback wrapping utility
    -
    -## USAGE
    -
    -```javascript
    -var wrappy = require("wrappy")
    -
    -// var wrapper = wrappy(wrapperFunction)
    -
    -// make sure a cb is called only once
    -// See also: http://npm.im/once for this specific use case
    -var once = wrappy(function (cb) {
    -  var called = false
    -  return function () {
    -    if (called) return
    -    called = true
    -    return cb.apply(this, arguments)
    -  }
    -})
    -
    -function printBoo () {
    -  console.log('boo')
    -}
    -// has some rando property
    -printBoo.iAmBooPrinter = true
    -
    -var onlyPrintOnce = once(printBoo)
    -
    -onlyPrintOnce() // prints 'boo'
    -onlyPrintOnce() // does nothing
    -
    -// random property is retained!
    -assert.equal(onlyPrintOnce.iAmBooPrinter, true)
    -```
    diff --git a/deps/npm/node_modules/write-file-atomic/CHANGELOG.md b/deps/npm/node_modules/write-file-atomic/CHANGELOG.md
    deleted file mode 100644
    index d1a6c1b862baa6..00000000000000
    --- a/deps/npm/node_modules/write-file-atomic/CHANGELOG.md
    +++ /dev/null
    @@ -1,32 +0,0 @@
    -# 3.0.0
    -
    -* Implement options.tmpfileCreated callback.
    -* Drop Node.js 6, modernize code, return Promise from async function.
    -* Support write TypedArray's like in node fs.writeFile.
    -* Remove graceful-fs dependency.
    -
    -# 2.4.3
    -
    -* Ignore errors raised by `fs.closeSync` when cleaning up after a write
    -  error.
    -
    -# 2.4.2
    -
    -* A pair of patches to fix some fd leaks.  We would leak fds with sync use
    -  when errors occured and with async use any time fsync was not in use. (#34)
    -
    -# 2.4.1
    -
    -* Fix a bug where `signal-exit` instances would be leaked. This was fixed when addressing #35.
    -
    -# 2.4.0
    -
    -## Features
    -
    -* Allow chown and mode options to be set to false to disable the defaulting behavior. (#20)
    -* Support passing encoding strings in options slot for compat with Node.js API. (#31)
    -* Add support for running inside of worker threads (#37)
    -
    -## Fixes
    -
    -* Remove unneeded call when returning success (#36)
    diff --git a/deps/npm/node_modules/write-file-atomic/README.md b/deps/npm/node_modules/write-file-atomic/README.md
    deleted file mode 100644
    index caea79956f8581..00000000000000
    --- a/deps/npm/node_modules/write-file-atomic/README.md
    +++ /dev/null
    @@ -1,72 +0,0 @@
    -write-file-atomic
    ------------------
    -
    -This is an extension for node's `fs.writeFile` that makes its operation
    -atomic and allows you set ownership (uid/gid of the file).
    -
    -### var writeFileAtomic = require('write-file-atomic')
    writeFileAtomic(filename, data, [options], [callback]) - -* filename **String** -* data **String** | **Buffer** -* options **Object** | **String** - * chown **Object** default, uid & gid of existing file, if any - * uid **Number** - * gid **Number** - * encoding **String** | **Null** default = 'utf8' - * fsync **Boolean** default = true - * mode **Number** default, from existing file, if any - * tmpfileCreated **Function** called when the tmpfile is created -* callback **Function** - -Atomically and asynchronously writes data to a file, replacing the file if it already -exists. data can be a string or a buffer. - -The file is initially named `filename + "." + murmurhex(__filename, process.pid, ++invocations)`. -Note that `require('worker_threads').threadId` is used in addition to `process.pid` if running inside of a worker thread. -If writeFile completes successfully then, if passed the **chown** option it will change -the ownership of the file. Finally it renames the file back to the filename you specified. If -it encounters errors at any of these steps it will attempt to unlink the temporary file and then -pass the error back to the caller. -If multiple writes are concurrently issued to the same file, the write operations are put into a queue and serialized in the order they were called, using Promises. Writes to different files are still executed in parallel. - -If provided, the **chown** option requires both **uid** and **gid** properties or else -you'll get an error. If **chown** is not specified it will default to using -the owner of the previous file. To prevent chown from being ran you can -also pass `false`, in which case the file will be created with the current user's credentials. - -If **mode** is not specified, it will default to using the permissions from -an existing file, if any. Expicitly setting this to `false` remove this default, resulting -in a file created with the system default permissions. - -If options is a String, it's assumed to be the **encoding** option. The **encoding** option is ignored if **data** is a buffer. It defaults to 'utf8'. - -If the **fsync** option is **false**, writeFile will skip the final fsync call. - -If the **tmpfileCreated** option is specified it will be called with the name of the tmpfile when created. - -Example: - -```javascript -writeFileAtomic('message.txt', 'Hello Node', {chown:{uid:100,gid:50}}, function (err) { - if (err) throw err; - console.log('It\'s saved!'); -}); -``` - -This function also supports async/await: - -```javascript -(async () => { - try { - await writeFileAtomic('message.txt', 'Hello Node', {chown:{uid:100,gid:50}}); - console.log('It\'s saved!'); - } catch (err) { - console.error(err); - process.exit(1); - } -})(); -``` - -### var writeFileAtomicSync = require('write-file-atomic').sync
    writeFileAtomicSync(filename, data, [options]) - -The synchronous version of **writeFileAtomic**. diff --git a/deps/npm/node_modules/yallist/README.md b/deps/npm/node_modules/yallist/README.md deleted file mode 100644 index f5861018696688..00000000000000 --- a/deps/npm/node_modules/yallist/README.md +++ /dev/null @@ -1,204 +0,0 @@ -# yallist - -Yet Another Linked List - -There are many doubly-linked list implementations like it, but this -one is mine. - -For when an array would be too big, and a Map can't be iterated in -reverse order. - - -[![Build Status](https://travis-ci.org/isaacs/yallist.svg?branch=master)](https://travis-ci.org/isaacs/yallist) [![Coverage Status](https://coveralls.io/repos/isaacs/yallist/badge.svg?service=github)](https://coveralls.io/github/isaacs/yallist) - -## basic usage - -```javascript -var yallist = require('yallist') -var myList = yallist.create([1, 2, 3]) -myList.push('foo') -myList.unshift('bar') -// of course pop() and shift() are there, too -console.log(myList.toArray()) // ['bar', 1, 2, 3, 'foo'] -myList.forEach(function (k) { - // walk the list head to tail -}) -myList.forEachReverse(function (k, index, list) { - // walk the list tail to head -}) -var myDoubledList = myList.map(function (k) { - return k + k -}) -// now myDoubledList contains ['barbar', 2, 4, 6, 'foofoo'] -// mapReverse is also a thing -var myDoubledListReverse = myList.mapReverse(function (k) { - return k + k -}) // ['foofoo', 6, 4, 2, 'barbar'] - -var reduced = myList.reduce(function (set, entry) { - set += entry - return set -}, 'start') -console.log(reduced) // 'startfoo123bar' -``` - -## api - -The whole API is considered "public". - -Functions with the same name as an Array method work more or less the -same way. - -There's reverse versions of most things because that's the point. - -### Yallist - -Default export, the class that holds and manages a list. - -Call it with either a forEach-able (like an array) or a set of -arguments, to initialize the list. - -The Array-ish methods all act like you'd expect. No magic length, -though, so if you change that it won't automatically prune or add -empty spots. - -### Yallist.create(..) - -Alias for Yallist function. Some people like factories. - -#### yallist.head - -The first node in the list - -#### yallist.tail - -The last node in the list - -#### yallist.length - -The number of nodes in the list. (Change this at your peril. It is -not magic like Array length.) - -#### yallist.toArray() - -Convert the list to an array. - -#### yallist.forEach(fn, [thisp]) - -Call a function on each item in the list. - -#### yallist.forEachReverse(fn, [thisp]) - -Call a function on each item in the list, in reverse order. - -#### yallist.get(n) - -Get the data at position `n` in the list. If you use this a lot, -probably better off just using an Array. - -#### yallist.getReverse(n) - -Get the data at position `n`, counting from the tail. - -#### yallist.map(fn, thisp) - -Create a new Yallist with the result of calling the function on each -item. - -#### yallist.mapReverse(fn, thisp) - -Same as `map`, but in reverse. - -#### yallist.pop() - -Get the data from the list tail, and remove the tail from the list. - -#### yallist.push(item, ...) - -Insert one or more items to the tail of the list. - -#### yallist.reduce(fn, initialValue) - -Like Array.reduce. - -#### yallist.reduceReverse - -Like Array.reduce, but in reverse. - -#### yallist.reverse - -Reverse the list in place. - -#### yallist.shift() - -Get the data from the list head, and remove the head from the list. - -#### yallist.slice([from], [to]) - -Just like Array.slice, but returns a new Yallist. - -#### yallist.sliceReverse([from], [to]) - -Just like yallist.slice, but the result is returned in reverse. - -#### yallist.toArray() - -Create an array representation of the list. - -#### yallist.toArrayReverse() - -Create a reversed array representation of the list. - -#### yallist.unshift(item, ...) - -Insert one or more items to the head of the list. - -#### yallist.unshiftNode(node) - -Move a Node object to the front of the list. (That is, pull it out of -wherever it lives, and make it the new head.) - -If the node belongs to a different list, then that list will remove it -first. - -#### yallist.pushNode(node) - -Move a Node object to the end of the list. (That is, pull it out of -wherever it lives, and make it the new tail.) - -If the node belongs to a list already, then that list will remove it -first. - -#### yallist.removeNode(node) - -Remove a node from the list, preserving referential integrity of head -and tail and other nodes. - -Will throw an error if you try to have a list remove a node that -doesn't belong to it. - -### Yallist.Node - -The class that holds the data and is actually the list. - -Call with `var n = new Node(value, previousNode, nextNode)` - -Note that if you do direct operations on Nodes themselves, it's very -easy to get into weird states where the list is broken. Be careful :) - -#### node.next - -The next node in the list. - -#### node.prev - -The previous node in the list. - -#### node.value - -The data the node contains. - -#### node.list - -The list to which this node belongs. (Null if it does not belong to -any list.) diff --git a/deps/npm/package.json b/deps/npm/package.json index 3f54979cb954ec..64568185861bd2 100644 --- a/deps/npm/package.json +++ b/deps/npm/package.json @@ -1,10 +1,17 @@ { - "version": "7.16.0", + "version": "7.17.0", "name": "npm", "description": "a package manager for JavaScript", "workspaces": [ "docs" ], + "files": [ + "bin", + "docs/content/**/*.md", + "docs/output/**/*.html", + "lib", + "man" + ], "keywords": [ "install", "modules", @@ -204,7 +211,7 @@ "sudotest:nocleanup": "sudo NO_TEST_CLEANUP=1 npm run test --", "posttest": "npm run lint", "eslint": "eslint", - "lint": "npm run eslint -- test/lib test/bin lib", + "lint": "npm run eslint -- test/lib test/bin lib scripts docs smoke-tests", "lintfix": "npm run lint -- --fix", "prelint": "rimraf test/npm_cache*", "resetdeps": "bash scripts/resetdeps.sh", diff --git a/deps/npm/tap-snapshots/test/lib/load-all-commands.js.test.cjs b/deps/npm/tap-snapshots/test/lib/load-all-commands.js.test.cjs index d40be42868184c..097123d46a3cc0 100644 --- a/deps/npm/tap-snapshots/test/lib/load-all-commands.js.test.cjs +++ b/deps/npm/tap-snapshots/test/lib/load-all-commands.js.test.cjs @@ -199,16 +199,14 @@ The registry diff command Usage: npm diff [...] -npm diff --diff= [...] -npm diff --diff= [--diff=] [...] -npm diff --diff= [--diff=] [...] -npm diff [--diff-ignore-all-space] [--diff-name-only] [...] [...] Options: -[--diff [--diff ...]] [--diff-name-only] -[--diff-unified ] [--diff-ignore-all-space] [--diff-no-prefix] -[--diff-src-prefix ] [--diff-dst-prefix ] +[--diff [--diff ...]] +[--diff-name-only] [--diff-unified ] [--diff-ignore-all-space] +[--diff-no-prefix] [--diff-src-prefix ] [--diff-dst-prefix ] [--diff-text] [-g|--global] [--tag ] +[-w|--workspace [-w|--workspace ...]] +[-ws|--workspaces] Run "npm help diff" for more info ` diff --git a/deps/npm/tap-snapshots/test/lib/utils/npm-usage.js.test.cjs b/deps/npm/tap-snapshots/test/lib/utils/npm-usage.js.test.cjs index 7fdcf0c5d2dba2..54f6c3d2feb2a1 100644 --- a/deps/npm/tap-snapshots/test/lib/utils/npm-usage.js.test.cjs +++ b/deps/npm/tap-snapshots/test/lib/utils/npm-usage.js.test.cjs @@ -336,16 +336,14 @@ All commands: Usage: npm diff [...] - npm diff --diff= [...] - npm diff --diff= [--diff=] [...] - npm diff --diff= [--diff=] [...] - npm diff [--diff-ignore-all-space] [--diff-name-only] [...] [...] Options: - [--diff [--diff ...]] [--diff-name-only] - [--diff-unified ] [--diff-ignore-all-space] [--diff-no-prefix] - [--diff-src-prefix ] [--diff-dst-prefix ] + [--diff [--diff ...]] + [--diff-name-only] [--diff-unified ] [--diff-ignore-all-space] + [--diff-no-prefix] [--diff-src-prefix ] [--diff-dst-prefix ] [--diff-text] [-g|--global] [--tag ] + [-w|--workspace [-w|--workspace ...]] + [-ws|--workspaces] Run "npm help diff" for more info diff --git a/deps/npm/test/lib/diff.js b/deps/npm/test/lib/diff.js index 7a52ea5ee0ae14..993dfa4d60718a 100644 --- a/deps/npm/test/lib/diff.js +++ b/deps/npm/test/lib/diff.js @@ -1,10 +1,9 @@ -const { resolve } = require('path') +const { resolve, join } = require('path') const t = require('tap') const mockNpm = require('../fixtures/mock-npm') const noop = () => null let libnpmdiff = noop -let rpn = () => 'foo' const config = { global: false, @@ -21,9 +20,11 @@ const flatOptions = { diffText: false, savePrefix: '^', } +const fooPath = t.testdir({ + 'package.json': JSON.stringify({ name: 'foo', version: '1.0.0' }), +}) const npm = mockNpm({ - globalDir: __dirname, - prefix: '.', + prefix: fooPath, config, flatOptions, output: noop, @@ -33,7 +34,6 @@ const mocks = { npmlog: { info: noop, verbose: noop }, libnpmdiff: (...args) => libnpmdiff(...args), 'npm-registry-fetch': async () => ({}), - '../../lib/utils/read-package-name.js': async (prefix) => rpn(prefix), '../../lib/utils/usage.js': () => 'usage instructions', } @@ -49,10 +49,11 @@ t.afterEach(() => { flatOptions.diffDstPrefix = '' flatOptions.diffText = false flatOptions.savePrefix = '^' - npm.globalDir = __dirname - npm.prefix = '..' + npm.globalDir = fooPath + npm.prefix = fooPath libnpmdiff = noop - rpn = () => 'foo' + diff.prefix = undefined + diff.top = undefined }) const Diff = t.mock('../../lib/diff.js', mocks) @@ -62,23 +63,23 @@ t.test('no args', t => { t.test('in a project dir', t => { t.plan(3) - const path = t.testdir({}) libnpmdiff = async ([a, b], opts) => { t.equal(a, 'foo@latest', 'should have default spec comparison') - t.equal(b, `file:${path}`, 'should compare to cwd') + t.equal(b, `file:${fooPath}`, 'should compare to cwd') t.match(opts, npm.flatOptions, 'should forward flat options') } - npm.prefix = path + npm.prefix = fooPath diff.exec([], err => { if (err) throw err + t.end() }) }) t.test('no args, missing package.json name in cwd', t => { - rpn = () => undefined - + const path = t.testdir({}) + npm.prefix = path diff.exec([], err => { t.match( err, @@ -89,10 +90,11 @@ t.test('no args', t => { }) }) - t.test('no args, missing package.json in cwd', t => { - rpn = () => { - throw new Error('ERR') - } + t.test('no args, bad package.json in cwd', t => { + const path = t.testdir({ + 'package.json': '{invalid"json', + }) + npm.prefix = path diff.exec([], err => { t.match( @@ -109,21 +111,16 @@ t.test('no args', t => { t.test('single arg', t => { t.test('spec using cwd package name', t => { - t.plan(4) + t.plan(3) - rpn = (prefix) => { - t.equal(prefix, path, 'read-package-name gets proper prefix') - return 'foo' - } - const path = t.testdir({}) libnpmdiff = async ([a, b], opts) => { t.equal(a, 'foo@1.0.0', 'should forward single spec') - t.equal(b, `file:${path}`, 'should compare to cwd') + t.equal(b, `file:${fooPath}`, 'should compare to cwd') t.match(opts, npm.flatOptions, 'should forward flat options') } config.diff = ['foo@1.0.0'] - npm.prefix = path + npm.prefix = fooPath diff.exec([], err => { if (err) throw err @@ -133,9 +130,6 @@ t.test('single arg', t => { t.test('unknown spec, no package.json', t => { const path = t.testdir({}) - rpn = () => { - throw new Error('ERR') - } config.diff = ['foo@1.0.0'] npm.prefix = path @@ -152,15 +146,13 @@ t.test('single arg', t => { t.test('spec using semver range', t => { t.plan(3) - const path = t.testdir({}) libnpmdiff = async ([a, b], opts) => { t.equal(a, 'foo@~1.0.0', 'should forward single spec') - t.equal(b, `file:${path}`, 'should compare to cwd') + t.equal(b, `file:${fooPath}`, 'should compare to cwd') t.match(opts, npm.flatOptions, 'should forward flat options') } config.diff = ['foo@~1.0.0'] - npm.prefix = path diff.exec([], err => { if (err) throw err @@ -170,15 +162,13 @@ t.test('single arg', t => { t.test('version', t => { t.plan(3) - const path = t.testdir({}) libnpmdiff = async ([a, b], opts) => { t.equal(a, 'foo@2.1.4', 'should convert to expected first spec') - t.equal(b, `file:${path}`, 'should compare to cwd') + t.equal(b, `file:${fooPath}`, 'should compare to cwd') t.match(opts, npm.flatOptions, 'should forward flat options') } config.diff = ['2.1.4'] - npm.prefix = path diff.exec([], err => { if (err) throw err @@ -186,10 +176,8 @@ t.test('single arg', t => { }) t.test('version, no package.json', t => { - rpn = () => { - throw new Error('ERR') - } - + const path = t.testdir({}) + npm.prefix = path config.diff = ['2.1.4'] diff.exec([], err => { t.match( @@ -204,10 +192,9 @@ t.test('single arg', t => { t.test('version, filtering by files', t => { t.plan(3) - const path = t.testdir({}) libnpmdiff = async ([a, b], opts) => { t.equal(a, 'foo@2.1.4', 'should use expected spec') - t.equal(b, `file:${path}`, 'should compare to cwd') + t.equal(b, `file:${fooPath}`, 'should compare to cwd') t.match(opts, { ...npm.flatOptions, diffFiles: [ @@ -218,7 +205,6 @@ t.test('single arg', t => { } config.diff = ['2.1.4'] - npm.prefix = path diff.exec(['./foo.js', './bar.js'], err => { if (err) throw err @@ -277,9 +263,6 @@ t.test('single arg', t => { t.test('unknown package name, no package.json', t => { const path = t.testdir({}) - rpn = () => { - throw new Error('ERR') - } config.diff = ['bar'] npm.prefix = path @@ -531,8 +514,9 @@ t.test('single arg', t => { t.test('unknown package name', t => { t.plan(2) - const path = t.testdir({}) - rpn = async () => undefined + const path = t.testdir({ + 'package.json': JSON.stringify({ version: '1.0.0' }), + }) libnpmdiff = async ([a, b], opts) => { t.equal(a, 'bar@latest', 'should target latest tag of name') t.equal(b, `file:${path}`, 'should compare to cwd') @@ -550,15 +534,12 @@ t.test('single arg', t => { t.test('use project name in project dir', t => { t.plan(2) - const path = t.testdir({}) - rpn = async () => 'my-project' libnpmdiff = async ([a, b], opts) => { - t.equal(a, 'my-project@latest', 'should target latest tag of name') - t.equal(b, `file:${path}`, 'should compare to cwd') + t.equal(a, 'foo@latest', 'should target latest tag of name') + t.equal(b, `file:${fooPath}`, 'should compare to cwd') } - config.diff = ['my-project'] - npm.prefix = path + config.diff = ['foo'] diff.exec([], err => { if (err) throw err @@ -568,15 +549,12 @@ t.test('single arg', t => { t.test('dir spec type', t => { t.plan(2) - const path = t.testdir({}) - rpn = async () => 'my-project' libnpmdiff = async ([a, b], opts) => { t.equal(a, 'file:/path/to/other-dir', 'should target dir') - t.equal(b, `file:${path}`, 'should compare to cwd') + t.equal(b, `file:${fooPath}`, 'should compare to cwd') } config.diff = ['/path/to/other-dir'] - npm.prefix = path diff.exec([], err => { if (err) throw err @@ -584,14 +562,11 @@ t.test('single arg', t => { }) t.test('unsupported spec type', t => { - rpn = async () => 'my-project' - config.diff = ['git+https://github.com/user/foo'] - diff.exec([], err => { t.match( err, - /Spec type not supported./, + /Spec type git not supported./, 'should throw spec type not supported error.' ) t.end() @@ -638,7 +613,6 @@ t.test('first arg is a qualified spec', t => { }), }) - rpn = async () => 'my-project' libnpmdiff = async ([a, b], opts) => { t.equal(a, 'bar@2.0.0', 'should set expected first spec') t.equal(b, `bar@file:${resolve(path, 'node_modules/bar')}`, 'should target local node_modules pkg') @@ -707,7 +681,6 @@ t.test('first arg is a known dependency name', t => { }), }) - rpn = async () => 'my-project' libnpmdiff = async ([a, b], opts) => { t.equal(a, `bar@file:${resolve(path, 'node_modules/bar')}`, 'should target local node_modules pkg') t.equal(b, 'bar@2.0.0', 'should set expected second spec') @@ -747,7 +720,6 @@ t.test('first arg is a known dependency name', t => { }), }) - rpn = async () => 'my-project' libnpmdiff = async ([a, b], opts) => { t.equal(a, `bar@file:${resolve(path, 'node_modules/bar')}`, 'should target local node_modules pkg') t.equal(b, `bar-fork@file:${resolve(path, 'node_modules/bar-fork')}`, 'should target fork local node_modules pkg') @@ -781,7 +753,6 @@ t.test('first arg is a known dependency name', t => { }), }) - rpn = async () => 'my-project' libnpmdiff = async ([a, b], opts) => { t.equal(a, `bar@file:${resolve(path, 'node_modules/bar')}`, 'should target local node_modules pkg') t.equal(b, 'bar@2.0.0', 'should use package name from first arg') @@ -815,7 +786,6 @@ t.test('first arg is a known dependency name', t => { }), }) - rpn = async () => 'my-project' libnpmdiff = async ([a, b], opts) => { t.equal(a, `bar@file:${resolve(path, 'node_modules/bar')}`, 'should target local node_modules pkg') t.equal(b, 'bar-fork@latest', 'should set expected second spec') @@ -869,7 +839,6 @@ t.test('first arg is a valid semver range', t => { }), }) - rpn = async () => 'my-project' libnpmdiff = async ([a, b], opts) => { t.equal(a, 'bar@1.0.0', 'should use name from second arg') t.equal(b, `bar@file:${resolve(path, 'node_modules/bar')}`, 'should set expected second spec from nm') @@ -886,10 +855,9 @@ t.test('first arg is a valid semver range', t => { t.test('second arg is ALSO a semver version', t => { t.plan(2) - rpn = async () => 'my-project' libnpmdiff = async ([a, b], opts) => { - t.equal(a, 'my-project@1.0.0', 'should use name from project dir') - t.equal(b, 'my-project@2.0.0', 'should use name from project dir') + t.equal(a, 'foo@1.0.0', 'should use name from project dir') + t.equal(b, 'foo@2.0.0', 'should use name from project dir') } config.diff = ['1.0.0', '2.0.0'] @@ -901,10 +869,6 @@ t.test('first arg is a valid semver range', t => { t.test('second arg is ALSO a semver version BUT cwd not a project dir', t => { const path = t.testdir({}) - rpn = () => { - throw new Error('ERR') - } - config.diff = ['1.0.0', '2.0.0'] npm.prefix = path diff.exec([], err => { @@ -920,7 +884,6 @@ t.test('first arg is a valid semver range', t => { t.test('second arg is an unknown dependency name', t => { t.plan(2) - rpn = async () => 'my-project' libnpmdiff = async ([a, b], opts) => { t.equal(a, 'bar@1.0.0', 'should use name from second arg') t.equal(b, 'bar@latest', 'should compare against latest tag') @@ -944,7 +907,6 @@ t.test('first arg is a valid semver range', t => { const Diff = t.mock('../../lib/diff.js', { ...mocks, - '../../lib/utils/read-package-name.js': async () => 'my-project', '@npmcli/arborist': class { constructor () { throw new Error('ERR') @@ -977,7 +939,7 @@ t.test('first arg is an unknown dependency name', t => { t.equal(a, 'bar@latest', 'should set expected first spec') t.equal(b, 'bar@2.0.0', 'should set expected second spec') t.match(opts, npm.flatOptions, 'should forward flat options') - t.match(opts, { where: '.' }, 'should forward pacote options') + t.match(opts, { where: fooPath }, 'should forward pacote options') } config.diff = ['bar', 'bar@2.0.0'] @@ -1007,7 +969,6 @@ t.test('first arg is an unknown dependency name', t => { }), }) - rpn = async () => 'my-project' libnpmdiff = async ([a, b], opts) => { t.equal(a, 'bar-fork@latest', 'should use latest tag') t.equal(b, `bar@file:${resolve(path, 'node_modules/bar')}`, 'should target local node_modules pkg') @@ -1055,9 +1016,6 @@ t.test('first arg is an unknown dependency name', t => { t.plan(2) const path = t.testdir({}) - rpn = () => { - throw new Error('ERR') - } libnpmdiff = async ([a, b], opts) => { t.equal(a, 'bar@latest', 'should use latest tag') t.equal(b, 'bar-fork@latest', 'should use latest tag') @@ -1120,11 +1078,9 @@ t.test('various options', t => { t.test('set files no diff args', t => { t.plan(3) - const path = t.testdir({}) - rpn = async () => 'my-project' libnpmdiff = async ([a, b], opts) => { - t.equal(a, 'my-project@latest', 'should have default spec') - t.equal(b, `file:${path}`, 'should compare to cwd') + t.equal(a, 'foo@latest', 'should have default spec') + t.equal(b, `file:${fooPath}`, 'should compare to cwd') t.match(opts, { ...npm.flatOptions, diffFiles: [ @@ -1134,7 +1090,6 @@ t.test('various options', t => { }, 'should forward all remaining items as filenames') } - npm.prefix = path diff.exec(['./foo.js', './bar.js'], err => { if (err) throw err @@ -1183,3 +1138,80 @@ t.test('too many args', t => { t.end() }) }) + +t.test('workspaces', t => { + const path = t.testdir({ + 'package.json': JSON.stringify({ + name: 'workspaces-test', + version: '1.2.3-test', + workspaces: ['workspace-a', 'workspace-b', 'workspace-c'], + }), + 'workspace-a': { + 'package.json': JSON.stringify({ + name: 'workspace-a', + version: '1.2.3-a', + }), + }, + 'workspace-b': { + 'package.json': JSON.stringify({ + name: 'workspace-b', + version: '1.2.3-b', + }), + }, + 'workspace-c': JSON.stringify({ + 'package.json': { + name: 'workspace-n', + version: '1.2.3-n', + }, + }), + }) + + t.test('all workspaces', t => { + const diffCalls = [] + libnpmdiff = async ([a, b]) => { + diffCalls.push([a, b]) + } + npm.prefix = path + npm.localPrefix = path + diff.execWorkspaces([], [], (err) => { + if (err) + throw err + t.same(diffCalls, [ + ['workspace-a@latest', join(`file:${path}`, 'workspace-a')], + ['workspace-b@latest', join(`file:${path}`, 'workspace-b')], + ], 'should call libnpmdiff with workspaces params') + t.end() + }) + }) + + t.test('one workspace', t => { + const diffCalls = [] + libnpmdiff = async ([a, b]) => { + diffCalls.push([a, b]) + } + npm.prefix = path + npm.localPrefix = path + diff.execWorkspaces([], ['workspace-a'], (err) => { + if (err) + throw err + t.same(diffCalls, [ + ['workspace-a@latest', join(`file:${path}`, 'workspace-a')], + ], 'should call libnpmdiff with workspaces params') + t.end() + }) + }) + + t.test('invalid workspace', t => { + libnpmdiff = () => { + t.fail('should not call libnpmdiff') + } + npm.prefix = path + npm.localPrefix = path + diff.execWorkspaces([], ['workspace-x'], (err) => { + t.match(err, /No workspaces found/) + t.match(err, /workspace-x/) + t.end() + }) + }) + t.end() +}) diff --git a/deps/npm/test/lib/pack.js b/deps/npm/test/lib/pack.js index ff7bef19d383a3..ad5bbf33591821 100644 --- a/deps/npm/test/lib/pack.js +++ b/deps/npm/test/lib/pack.js @@ -34,6 +34,9 @@ t.test('should pack current directory with no arguments', (t) => { showProgress: () => {}, clearProgress: () => {}, }, + fs: { + writeFile: (file, data, cb) => cb(), + }, }) const npm = mockNpm({ config: { @@ -69,6 +72,9 @@ t.test('should pack given directory', (t) => { showProgress: () => {}, clearProgress: () => {}, }, + fs: { + writeFile: (file, data, cb) => cb(), + }, }) const npm = mockNpm({ config: { @@ -104,6 +110,9 @@ t.test('should pack given directory for scoped package', (t) => { showProgress: () => {}, clearProgress: () => {}, }, + fs: { + writeFile: (file, data, cb) => cb(), + }, }) const npm = mockNpm({ config: { @@ -138,6 +147,9 @@ t.test('should log pack contents', (t) => { showProgress: () => {}, clearProgress: () => {}, }, + fs: { + writeFile: (file, data, cb) => cb(), + }, }) const npm = mockNpm({ config: { @@ -209,6 +221,9 @@ t.test('should log output as valid json', (t) => { showProgress: () => {}, clearProgress: () => {}, }, + fs: { + writeFile: (file, data, cb) => cb(), + }, }) const npm = mockNpm({ config: { @@ -259,6 +274,9 @@ t.test('invalid packument', (t) => { showProgress: () => {}, clearProgress: () => {}, }, + fs: { + writeFile: (file, data, cb) => cb(), + }, }) const npm = mockNpm({ config: { @@ -305,6 +323,9 @@ t.test('workspaces', (t) => { showProgress: () => {}, clearProgress: () => {}, }, + fs: { + writeFile: (file, data, cb) => cb(), + }, }) const npm = mockNpm({ localPrefix: testDir, From cf9d686c353c5658048e8cfa999363cc848d43a4 Mon Sep 17 00:00:00 2001 From: XadillaX Date: Thu, 3 Jun 2021 15:40:50 +0800 Subject: [PATCH 089/118] crypto: fix aes crash when tag length too small MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Fixes: https://github.com/nodejs/node/issues/38883 PR-URL: https://github.com/nodejs/node/pull/38914 Reviewed-By: Tobias Nießen Reviewed-By: James M Snell --- lib/internal/crypto/aes.js | 17 +++++++++-- ...pto-webcrypto-aes-decrypt-tag-too-small.js | 29 +++++++++++++++++++ 2 files changed, 44 insertions(+), 2 deletions(-) create mode 100644 test/parallel/test-crypto-webcrypto-aes-decrypt-tag-too-small.js diff --git a/lib/internal/crypto/aes.js b/lib/internal/crypto/aes.js index a35e3469a514bc..dd6aa49ff454ab 100644 --- a/lib/internal/crypto/aes.js +++ b/lib/internal/crypto/aes.js @@ -45,6 +45,8 @@ const { kKeyObject, } = require('internal/crypto/util'); +const { PromiseReject } = primordials; + const { codes: { ERR_INVALID_ARG_TYPE, @@ -167,9 +169,9 @@ function asyncAesGcmCipher( data, { iv, additionalData, tagLength = 128 }) { if (!ArrayPrototypeIncludes(kTagLengths, tagLength)) { - throw lazyDOMException( + return PromiseReject(lazyDOMException( `${tagLength} is not a valid AES-GCM tag length`, - 'OperationError'); + 'OperationError')); } iv = getArrayBufferOrView(iv, 'algorithm.iv'); @@ -188,6 +190,17 @@ function asyncAesGcmCipher( const slice = ArrayBufferIsView(data) ? TypedArrayPrototypeSlice : ArrayBufferPrototypeSlice; tag = slice(data, -tagByteLength); + + // Refs: https://www.w3.org/TR/WebCryptoAPI/#aes-gcm-operations + // + // > If *plaintext* has a length less than *tagLength* bits, then `throw` + // > an `OperationError`. + if (tagByteLength > tag.byteLength) { + return PromiseReject(lazyDOMException( + 'The provided data is too small.', + 'OperationError')); + } + data = slice(data, 0, -tagByteLength); break; case kWebCryptoCipherEncrypt: diff --git a/test/parallel/test-crypto-webcrypto-aes-decrypt-tag-too-small.js b/test/parallel/test-crypto-webcrypto-aes-decrypt-tag-too-small.js new file mode 100644 index 00000000000000..b9f9c74b2623ed --- /dev/null +++ b/test/parallel/test-crypto-webcrypto-aes-decrypt-tag-too-small.js @@ -0,0 +1,29 @@ +'use strict'; + +const common = require('../common'); + +if (!common.hasCrypto) + common.skip('missing crypto'); + +const assert = require('assert'); +const crypto = require('crypto').webcrypto; + +crypto.subtle.importKey( + 'raw', + new Uint8Array(32), + { + name: 'AES-GCM' + }, + false, + [ 'encrypt', 'decrypt' ]) + .then((k) => { + assert.rejects(() => { + return crypto.subtle.decrypt({ + name: 'AES-GCM', + iv: new Uint8Array(12), + }, k, new Uint8Array(0)); + }, { + name: 'OperationError', + message: /The provided data is too small/, + }); + }); From 7f225a05eefa6908890b0f09deae175ad3841bc5 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Micha=C3=ABl=20Zasso?= Date: Wed, 9 Jun 2021 08:32:46 +0200 Subject: [PATCH 090/118] Revert "build: work around bug in MSBuild v16.10.0" This reverts commit 3457130eb623dff8c40315401485fc368aad5bc1. Visual Studio v16.10.1 is out. Closes: https://github.com/nodejs/node/issues/38872 PR-URL: https://github.com/nodejs/node/pull/38977 Fixes: https://github.com/nodejs/node/issues/38872 Reviewed-By: Luigi Pinca Reviewed-By: Colin Ihrig Reviewed-By: James M Snell --- vcbuild.bat | 2 -- 1 file changed, 2 deletions(-) diff --git a/vcbuild.bat b/vcbuild.bat index 694277ff8829ac..254adfc9910f1d 100644 --- a/vcbuild.bat +++ b/vcbuild.bat @@ -334,8 +334,6 @@ if "%target%"=="Build" ( if defined cctest set target="Build" ) if "%target%"=="node" if exist "%config%\cctest.exe" del "%config%\cctest.exe" -@rem TODO(targos): Remove next line after MSBuild 16.10.1 is released. -if "%target%"=="node" set target="Build" if defined msbuild_args set "extra_msbuild_args=%extra_msbuild_args% %msbuild_args%" @rem Setup env variables to use multiprocessor build set UseMultiToolTask=True From 631856ea32052e0024255e908127e8eaf0bf3b38 Mon Sep 17 00:00:00 2001 From: Rich Trott Date: Sat, 12 Jun 2021 17:13:14 -0700 Subject: [PATCH 091/118] errors: add ERR_DEBUGGER_ERROR PR-URL: https://github.com/nodejs/node/pull/39024 Reviewed-By: Antoine du Hamel Reviewed-By: Luigi Pinca Reviewed-By: Jan Krems --- doc/api/errors.md | 9 +++++++++ lib/internal/errors.js | 1 + 2 files changed, 10 insertions(+) diff --git a/doc/api/errors.md b/doc/api/errors.md index 6698188c1305cc..33a1692fa07b58 100644 --- a/doc/api/errors.md +++ b/doc/api/errors.md @@ -1003,6 +1003,14 @@ added: v15.0.0 An attempt to invoke an unsupported crypto operation was made. + +### `ERR_DEBUGGER_ERROR` + + +An error occurred with the [debugger][]. + ### `ERR_DLOPEN_FAILED` + +The [debugger][] timed out waiting for the required host/port to be free. + ### `ERR_DLOPEN_FAILED`

    Platinum Sponsors

    Automattic

    Gold Sponsors

    -

    Nx (by Nrwl) Chrome's Web Framework & Tools Performance Fund Salesforce Airbnb Substack

    Silver Sponsors

    +

    Nx (by Nrwl) Chrome's Web Framework & Tools Performance Fund Salesforce Airbnb Coinbase Substack

    Silver Sponsors

    Retool Liftoff

    Bronze Sponsors

    -

    Anagram Solver Bugsnag Stability Monitoring Mixpanel VPS Server Icons8: free icons, photos, illustrations, and music Discord ThemeIsle Fire Stick Tricks

    +

    Anagram Solver Bugsnag Stability Monitoring Mixpanel VPS Server Icons8: free icons, photos, illustrations, and music Discord ThemeIsle Fire Stick Tricks Practice Ignition

    ## Technology Sponsors diff --git a/tools/node_modules/eslint/lib/eslint/eslint.js b/tools/node_modules/eslint/lib/eslint/eslint.js index ae2d2100861b4c..056e04b5945aa0 100644 --- a/tools/node_modules/eslint/lib/eslint/eslint.js +++ b/tools/node_modules/eslint/lib/eslint/eslint.js @@ -514,6 +514,39 @@ class ESLint { return CLIEngine.getErrorResults(results); } + /** + * Returns meta objects for each rule represented in the lint results. + * @param {LintResult[]} results The results to fetch rules meta for. + * @returns {Object} A mapping of ruleIds to rule meta objects. + */ + getRulesMetaForResults(results) { + + const resultRuleIds = new Set(); + + // first gather all ruleIds from all results + + for (const result of results) { + for (const { ruleId } of result.messages) { + resultRuleIds.add(ruleId); + } + } + + // create a map of all rules in the results + + const { cliEngine } = privateMembersMap.get(this); + const rules = cliEngine.getRules(); + const resultRules = new Map(); + + for (const [ruleId, rule] of rules) { + if (resultRuleIds.has(ruleId)) { + resultRules.set(ruleId, rule); + } + } + + return createRulesMeta(resultRules); + + } + /** * Executes the current configuration on an array of file and directory names. * @param {string[]} patterns An array of file and directory names. @@ -552,9 +585,12 @@ class ESLint { ...unknownOptions } = options || {}; - for (const key of Object.keys(unknownOptions)) { - throw new Error(`'options' must not include the unknown option '${key}'`); + const unknownOptionKeys = Object.keys(unknownOptions); + + if (unknownOptionKeys.length > 0) { + throw new Error(`'options' must not include the unknown option(s): ${unknownOptionKeys.join(", ")}`); } + if (filePath !== void 0 && !isNonEmptyString(filePath)) { throw new Error("'options.filePath' must be a non-empty string or undefined"); } diff --git a/tools/node_modules/eslint/lib/init/npm-utils.js b/tools/node_modules/eslint/lib/init/npm-utils.js index 35191cc08764c0..b91a824b1260ab 100644 --- a/tools/node_modules/eslint/lib/init/npm-utils.js +++ b/tools/node_modules/eslint/lib/init/npm-utils.js @@ -50,8 +50,7 @@ function findPackageJson(startDir) { */ function installSyncSaveDev(packages) { const packageList = Array.isArray(packages) ? packages : [packages]; - const npmProcess = spawn.sync("npm", ["i", "--save-dev"].concat(packageList), - { stdio: "inherit" }); + const npmProcess = spawn.sync("npm", ["i", "--save-dev"].concat(packageList), { stdio: "inherit" }); const error = npmProcess.error; if (error && error.code === "ENOENT") { diff --git a/tools/node_modules/eslint/lib/rule-tester/rule-tester.js b/tools/node_modules/eslint/lib/rule-tester/rule-tester.js index b08303c62b2626..cac81bc71d150f 100644 --- a/tools/node_modules/eslint/lib/rule-tester/rule-tester.js +++ b/tools/node_modules/eslint/lib/rule-tester/rule-tester.js @@ -71,6 +71,7 @@ const espreePath = require.resolve("espree"); * @property {{ [name: string]: any }} [parserOptions] Options for the parser. * @property {{ [name: string]: "readonly" | "writable" | "off" }} [globals] The additional global variables. * @property {{ [name: string]: boolean }} [env] Environments for the test case. + * @property {boolean} [only] Run only this test case or the subset of test cases with this property. */ /** @@ -86,6 +87,7 @@ const espreePath = require.resolve("espree"); * @property {{ [name: string]: any }} [parserOptions] Options for the parser. * @property {{ [name: string]: "readonly" | "writable" | "off" }} [globals] The additional global variables. * @property {{ [name: string]: boolean }} [env] Environments for the test case. + * @property {boolean} [only] Run only this test case or the subset of test cases with this property. */ /** @@ -121,7 +123,8 @@ const RuleTesterParameters = [ "filename", "options", "errors", - "output" + "output", + "only" ]; /* @@ -282,6 +285,7 @@ function wrapParser(parser) { // default separators for testing const DESCRIBE = Symbol("describe"); const IT = Symbol("it"); +const IT_ONLY = Symbol("itOnly"); /** * This is `it` default handler if `it` don't exist. @@ -400,6 +404,46 @@ class RuleTester { this[IT] = value; } + /** + * Adds the `only` property to a test to run it in isolation. + * @param {string | ValidTestCase | InvalidTestCase} item A single test to run by itself. + * @returns {ValidTestCase | InvalidTestCase} The test with `only` set. + */ + static only(item) { + if (typeof item === "string") { + return { code: item, only: true }; + } + + return { ...item, only: true }; + } + + static get itOnly() { + if (typeof this[IT_ONLY] === "function") { + return this[IT_ONLY]; + } + if (typeof this[IT] === "function" && typeof this[IT].only === "function") { + return Function.bind.call(this[IT].only, this[IT]); + } + if (typeof it === "function" && typeof it.only === "function") { + return Function.bind.call(it.only, it); + } + + if (typeof this[DESCRIBE] === "function" || typeof this[IT] === "function") { + throw new Error( + "Set `RuleTester.itOnly` to use `only` with a custom test framework.\n" + + "See https://eslint.org/docs/developer-guide/nodejs-api#customizing-ruletester for more." + ); + } + if (typeof it === "function") { + throw new Error("The current test framework does not support exclusive tests with `only`."); + } + throw new Error("To use `only`, use RuleTester with a test framework that provides `it.only()` like Mocha."); + } + + static set itOnly(value) { + this[IT_ONLY] = value; + } + /** * Define a rule for one particular run of tests. * @param {string} name The name of the rule to define. @@ -610,7 +654,8 @@ class RuleTester { const messages = result.messages; assert.strictEqual(messages.length, 0, util.format("Should have no errors but had %d: %s", - messages.length, util.inspect(messages))); + messages.length, + util.inspect(messages))); assertASTDidntChange(result.beforeAST, result.afterAST); } @@ -665,13 +710,18 @@ class RuleTester { } assert.strictEqual(messages.length, item.errors, util.format("Should have %d error%s but had %d: %s", - item.errors, item.errors === 1 ? "" : "s", messages.length, util.inspect(messages))); + item.errors, + item.errors === 1 ? "" : "s", + messages.length, + util.inspect(messages))); } else { assert.strictEqual( - messages.length, item.errors.length, - util.format( + messages.length, item.errors.length, util.format( "Should have %d error%s but had %d: %s", - item.errors.length, item.errors.length === 1 ? "" : "s", messages.length, util.inspect(messages) + item.errors.length, + item.errors.length === 1 ? "" : "s", + messages.length, + util.inspect(messages) ) ); @@ -885,23 +935,29 @@ class RuleTester { RuleTester.describe(ruleName, () => { RuleTester.describe("valid", () => { test.valid.forEach(valid => { - RuleTester.it(sanitize(typeof valid === "object" ? valid.code : valid), () => { - testValidTemplate(valid); - }); + RuleTester[valid.only ? "itOnly" : "it"]( + sanitize(typeof valid === "object" ? valid.code : valid), + () => { + testValidTemplate(valid); + } + ); }); }); RuleTester.describe("invalid", () => { test.invalid.forEach(invalid => { - RuleTester.it(sanitize(invalid.code), () => { - testInvalidTemplate(invalid); - }); + RuleTester[invalid.only ? "itOnly" : "it"]( + sanitize(invalid.code), + () => { + testInvalidTemplate(invalid); + } + ); }); }); }); } } -RuleTester[DESCRIBE] = RuleTester[IT] = null; +RuleTester[DESCRIBE] = RuleTester[IT] = RuleTester[IT_ONLY] = null; module.exports = RuleTester; diff --git a/tools/node_modules/eslint/lib/rules/comma-style.js b/tools/node_modules/eslint/lib/rules/comma-style.js index f1a23d63b786a0..fbdecccaac2589 100644 --- a/tools/node_modules/eslint/lib/rules/comma-style.js +++ b/tools/node_modules/eslint/lib/rules/comma-style.js @@ -207,8 +207,7 @@ module.exports = { * they are always valid regardless of an undefined item. */ if (astUtils.isCommaToken(commaToken)) { - validateCommaItemSpacing(previousItemToken, commaToken, - currentItemToken, reportItem); + validateCommaItemSpacing(previousItemToken, commaToken, currentItemToken, reportItem); } if (item) { diff --git a/tools/node_modules/eslint/lib/rules/indent.js b/tools/node_modules/eslint/lib/rules/indent.js index b1af2a73b33be2..04f41db9e26128 100644 --- a/tools/node_modules/eslint/lib/rules/indent.js +++ b/tools/node_modules/eslint/lib/rules/indent.js @@ -1177,8 +1177,7 @@ module.exports = { offsets.setDesiredOffset(questionMarkToken, firstToken, 1); offsets.setDesiredOffset(colonToken, firstToken, 1); - offsets.setDesiredOffset(firstConsequentToken, firstToken, - firstConsequentToken.type === "Punctuator" && + offsets.setDesiredOffset(firstConsequentToken, firstToken, firstConsequentToken.type === "Punctuator" && options.offsetTernaryExpressions ? 2 : 1); /* @@ -1204,8 +1203,7 @@ module.exports = { * If `baz` were aligned with `bar` rather than being offset by 1 from `foo`, `baz` would end up * having no expected indentation. */ - offsets.setDesiredOffset(firstAlternateToken, firstToken, - firstAlternateToken.type === "Punctuator" && + offsets.setDesiredOffset(firstAlternateToken, firstToken, firstAlternateToken.type === "Punctuator" && options.offsetTernaryExpressions ? 2 : 1); } } diff --git a/tools/node_modules/eslint/lib/rules/no-fallthrough.js b/tools/node_modules/eslint/lib/rules/no-fallthrough.js index e8016e93e59bc9..3b949acd1daf0b 100644 --- a/tools/node_modules/eslint/lib/rules/no-fallthrough.js +++ b/tools/node_modules/eslint/lib/rules/no-fallthrough.js @@ -11,15 +11,26 @@ const DEFAULT_FALLTHROUGH_COMMENT = /falls?\s?through/iu; /** - * Checks whether or not a given node has a fallthrough comment. - * @param {ASTNode} node A SwitchCase node to get comments. + * Checks whether or not a given case has a fallthrough comment. + * @param {ASTNode} caseWhichFallsThrough SwitchCase node which falls through. + * @param {ASTNode} subsequentCase The case after caseWhichFallsThrough. * @param {RuleContext} context A rule context which stores comments. * @param {RegExp} fallthroughCommentPattern A pattern to match comment to. - * @returns {boolean} `true` if the node has a valid fallthrough comment. + * @returns {boolean} `true` if the case has a valid fallthrough comment. */ -function hasFallthroughComment(node, context, fallthroughCommentPattern) { +function hasFallthroughComment(caseWhichFallsThrough, subsequentCase, context, fallthroughCommentPattern) { const sourceCode = context.getSourceCode(); - const comment = sourceCode.getCommentsBefore(node).pop(); + + if (caseWhichFallsThrough.consequent.length === 1 && caseWhichFallsThrough.consequent[0].type === "BlockStatement") { + const trailingCloseBrace = sourceCode.getLastToken(caseWhichFallsThrough.consequent[0]); + const commentInBlock = sourceCode.getCommentsBefore(trailingCloseBrace).pop(); + + if (commentInBlock && fallthroughCommentPattern.test(commentInBlock.value)) { + return true; + } + } + + const comment = sourceCode.getCommentsBefore(subsequentCase).pop(); return Boolean(comment && fallthroughCommentPattern.test(comment.value)); } @@ -108,7 +119,7 @@ module.exports = { * Checks whether or not there is a fallthrough comment. * And reports the previous fallthrough node if that does not exist. */ - if (fallthroughCase && !hasFallthroughComment(node, context, fallthroughCommentPattern)) { + if (fallthroughCase && !hasFallthroughComment(fallthroughCase, node, context, fallthroughCommentPattern)) { context.report({ messageId: node.test ? "case" : "default", node diff --git a/tools/node_modules/eslint/node_modules/@babel/helper-validator-identifier/package.json b/tools/node_modules/eslint/node_modules/@babel/helper-validator-identifier/package.json index 3e5438db25c4bf..80b8c9aeafd6a9 100644 --- a/tools/node_modules/eslint/node_modules/@babel/helper-validator-identifier/package.json +++ b/tools/node_modules/eslint/node_modules/@babel/helper-validator-identifier/package.json @@ -1,6 +1,6 @@ { "name": "@babel/helper-validator-identifier", - "version": "7.14.0", + "version": "7.14.5", "description": "Validate identifier/keywords name", "repository": { "type": "git", @@ -18,5 +18,9 @@ "@unicode/unicode-13.0.0": "^1.0.6", "benchmark": "^2.1.4", "charcodes": "^0.2.0" - } + }, + "engines": { + "node": ">=6.9.0" + }, + "author": "The Babel Team (https://babel.dev/team)" } \ No newline at end of file diff --git a/tools/node_modules/eslint/node_modules/@babel/highlight/lib/index.js b/tools/node_modules/eslint/node_modules/@babel/highlight/lib/index.js index 14ca2e36f86904..34e308f4ef9290 100644 --- a/tools/node_modules/eslint/node_modules/@babel/highlight/lib/index.js +++ b/tools/node_modules/eslint/node_modules/@babel/highlight/lib/index.js @@ -7,11 +7,11 @@ exports.shouldHighlight = shouldHighlight; exports.getChalk = getChalk; exports.default = highlight; -var _helperValidatorIdentifier = require("@babel/helper-validator-identifier"); +var _jsTokens = require("js-tokens"); -const jsTokens = require("js-tokens"); +var _helperValidatorIdentifier = require("@babel/helper-validator-identifier"); -const Chalk = require("chalk"); +var _chalk = require("chalk"); const sometimesKeywords = new Set(["as", "async", "from", "get", "of", "set"]); @@ -64,8 +64,9 @@ let tokenize; tokenize = function* (text) { let match; - while (match = jsTokens.default.exec(text)) { - const token = jsTokens.matchToToken(match); + while (match = _jsTokens.default.exec(text)) { + const token = _jsTokens.matchToToken(match); + yield { type: getTokenType(token, match.index, text), value: token.value @@ -94,14 +95,14 @@ function highlightTokens(defs, text) { } function shouldHighlight(options) { - return !!Chalk.supportsColor || options.forceColor; + return !!_chalk.supportsColor || options.forceColor; } function getChalk(options) { - return options.forceColor ? new Chalk.constructor({ + return options.forceColor ? new _chalk.constructor({ enabled: true, level: 1 - }) : Chalk; + }) : _chalk; } function highlight(code, options = {}) { diff --git a/tools/node_modules/eslint/node_modules/@babel/highlight/package.json b/tools/node_modules/eslint/node_modules/@babel/highlight/package.json index 6d177994476a36..210c22c5110bee 100644 --- a/tools/node_modules/eslint/node_modules/@babel/highlight/package.json +++ b/tools/node_modules/eslint/node_modules/@babel/highlight/package.json @@ -1,8 +1,8 @@ { "name": "@babel/highlight", - "version": "7.14.0", + "version": "7.14.5", "description": "Syntax highlight JavaScript strings for output in terminals.", - "author": "suchipi ", + "author": "The Babel Team (https://babel.dev/team)", "homepage": "https://babel.dev/docs/en/next/babel-highlight", "license": "MIT", "publishConfig": { @@ -13,14 +13,17 @@ "url": "https://github.com/babel/babel.git", "directory": "packages/babel-highlight" }, - "main": "lib/index.js", + "main": "./lib/index.js", "dependencies": { - "@babel/helper-validator-identifier": "^7.14.0", + "@babel/helper-validator-identifier": "^7.14.5", "chalk": "^2.0.0", "js-tokens": "^4.0.0" }, "devDependencies": { "@types/chalk": "^2.0.0", "strip-ansi": "^4.0.0" + }, + "engines": { + "node": ">=6.9.0" } } \ No newline at end of file diff --git a/tools/node_modules/eslint/node_modules/regexpp/index.js b/tools/node_modules/eslint/node_modules/regexpp/index.js index 12b4a5f40671af..cd0e165a08549a 100644 --- a/tools/node_modules/eslint/node_modules/regexpp/index.js +++ b/tools/node_modules/eslint/node_modules/regexpp/index.js @@ -47,10 +47,10 @@ function isLargeIdContinue(cp) { (largeIdContinueRanges = initLargeIdContinueRanges())); } function initLargeIdStartRanges() { - return restoreRanges("170 0 11 0 5 0 6 22 2 30 2 457 5 11 15 4 8 0 2 0 130 4 2 1 3 3 2 0 7 0 2 2 2 0 2 19 2 82 2 138 9 165 2 37 3 0 7 40 72 26 5 3 46 42 36 1 2 98 2 0 16 1 8 1 11 2 3 0 17 0 2 29 30 88 12 0 25 32 10 1 5 0 6 21 5 0 10 0 4 0 24 24 8 10 54 20 2 17 61 53 4 0 19 0 8 9 16 15 5 7 3 1 3 21 2 6 2 0 4 3 4 0 17 0 14 1 2 2 15 1 11 0 9 5 5 1 3 21 2 6 2 1 2 1 2 1 32 3 2 0 20 2 17 8 2 2 2 21 2 6 2 1 2 4 4 0 19 0 16 1 24 0 12 7 3 1 3 21 2 6 2 1 2 4 4 0 31 1 2 2 16 0 18 0 2 5 4 2 2 3 4 1 2 0 2 1 4 1 4 2 4 11 23 0 53 7 2 2 2 22 2 15 4 0 27 2 6 1 31 0 5 7 2 2 2 22 2 9 2 4 4 0 33 0 2 1 16 1 18 8 2 2 2 40 3 0 17 0 6 2 9 2 25 5 6 17 4 23 2 8 2 0 3 6 59 47 2 1 13 6 59 1 2 0 2 4 2 23 2 0 2 9 2 1 10 0 3 4 2 0 22 3 33 0 64 7 2 35 28 4 116 42 21 0 17 5 5 3 4 0 4 1 8 2 5 12 13 0 18 37 2 0 6 0 3 42 2 332 2 3 3 6 2 0 2 3 3 40 2 3 3 32 2 3 3 6 2 0 2 3 3 14 2 56 2 3 3 66 38 15 17 85 3 5 4 619 3 16 2 25 6 74 4 10 8 12 2 3 15 17 15 17 15 12 2 2 16 51 36 0 5 0 68 88 8 40 2 0 6 69 11 30 50 29 3 4 12 43 5 25 55 22 10 52 83 0 94 46 18 6 56 29 14 1 11 43 27 35 42 2 11 35 3 8 8 42 3 2 42 3 2 5 2 1 4 0 6 191 65 277 3 5 3 37 3 5 3 7 2 0 2 0 2 0 2 30 3 52 2 6 2 0 4 2 2 6 4 3 3 5 5 12 6 2 2 6 117 0 14 0 17 12 102 0 5 0 3 9 2 0 3 5 7 0 2 0 2 0 2 15 3 3 6 4 5 0 18 40 2680 46 2 46 2 132 7 3 4 1 13 37 2 0 6 0 3 55 8 0 17 22 10 6 2 6 2 6 2 6 2 6 2 6 2 6 2 6 551 2 26 8 8 4 3 4 5 85 5 4 2 89 2 3 6 42 2 93 18 31 49 15 513 6591 65 20988 4 1164 68 45 3 268 4 15 11 1 21 46 17 30 3 79 40 8 3 102 3 52 3 8 43 12 2 2 2 3 2 22 30 51 15 49 63 5 4 0 2 1 12 27 11 22 26 28 8 46 29 0 17 4 2 9 11 4 2 40 24 2 2 7 21 22 4 0 4 49 2 0 4 1 3 4 3 0 2 0 25 2 3 10 8 2 13 5 3 5 3 5 10 6 2 6 2 42 2 13 7 114 30 11171 13 22 5 48 8453 365 3 105 39 6 13 4 6 0 2 9 2 12 2 4 2 0 2 1 2 1 2 107 34 362 19 63 3 53 41 11 117 4 2 134 37 25 7 25 12 88 4 5 3 5 3 5 3 2 36 11 2 25 2 18 2 1 2 14 3 13 35 122 70 52 268 28 4 48 48 31 14 29 6 37 11 29 3 35 5 7 2 4 43 157 19 35 5 35 5 39 9 51 157 310 10 21 11 7 153 5 3 0 2 43 2 1 4 0 3 22 11 22 10 30 66 18 2 1 11 21 11 25 71 55 7 1 65 0 16 3 2 2 2 28 43 28 4 28 36 7 2 27 28 53 11 21 11 18 14 17 111 72 56 50 14 50 14 35 349 41 7 1 79 28 11 0 9 21 107 20 28 22 13 52 76 44 33 24 27 35 30 0 3 0 9 34 4 0 13 47 15 3 22 0 2 0 36 17 2 24 85 6 2 0 2 3 2 14 2 9 8 46 39 7 3 1 3 21 2 6 2 1 2 4 4 0 19 0 13 4 159 52 19 3 21 2 31 47 21 1 2 0 185 46 42 3 37 47 21 0 60 42 14 0 72 26 230 43 117 63 32 7 3 0 3 7 2 1 2 23 16 0 2 0 95 7 3 38 17 0 2 0 29 0 11 39 8 0 22 0 12 45 20 0 35 56 264 8 2 36 18 0 50 29 113 6 2 1 2 37 22 0 26 5 2 1 2 31 15 0 328 18 190 0 80 921 103 110 18 195 2749 1070 4050 582 8634 568 8 30 114 29 19 47 17 3 32 20 6 18 689 63 129 74 6 0 67 12 65 1 2 0 29 6135 9 1237 43 8 8952 286 50 2 18 3 9 395 2309 106 6 12 4 8 8 9 5991 84 2 70 2 1 3 0 3 1 3 3 2 11 2 0 2 6 2 64 2 3 3 7 2 6 2 27 2 3 2 4 2 0 4 6 2 339 3 24 2 24 2 30 2 24 2 30 2 24 2 30 2 24 2 30 2 24 2 7 2357 44 11 6 17 0 370 43 1301 196 60 67 8 0 1205 3 2 26 2 1 2 0 3 0 2 9 2 3 2 0 2 0 7 0 5 0 2 0 2 0 2 2 2 1 2 0 3 0 2 0 2 0 2 0 2 0 2 1 2 0 3 3 2 6 2 3 2 3 2 0 2 9 2 16 6 2 2 4 2 16 4421 42717 35 4148 12 221 3 5761 15 7472 3104 541 1507 4938"); + return restoreRanges("4q 0 b 0 5 0 6 m 2 u 2 cp 5 b f 4 8 0 2 0 3m 4 2 1 3 3 2 0 7 0 2 2 2 0 2 j 2 2a 2 3u 9 4l 2 11 3 0 7 14 20 q 5 3 1a 16 10 1 2 2q 2 0 g 1 8 1 b 2 3 0 h 0 2 t u 2g c 0 p w a 1 5 0 6 l 5 0 a 0 4 0 o o 8 a 1i k 2 h 1p 1h 4 0 j 0 8 9 g f 5 7 3 1 3 l 2 6 2 0 4 3 4 0 h 0 e 1 2 2 f 1 b 0 9 5 5 1 3 l 2 6 2 1 2 1 2 1 w 3 2 0 k 2 h 8 2 2 2 l 2 6 2 1 2 4 4 0 j 0 g 1 o 0 c 7 3 1 3 l 2 6 2 1 2 4 4 0 v 1 2 2 g 0 i 0 2 5 4 2 2 3 4 1 2 0 2 1 4 1 4 2 4 b n 0 1h 7 2 2 2 m 2 f 4 0 r 2 6 1 v 0 5 7 2 2 2 m 2 9 2 4 4 0 x 0 2 1 g 1 i 8 2 2 2 14 3 0 h 0 6 2 9 2 p 5 6 h 4 n 2 8 2 0 3 6 1n 1b 2 1 d 6 1n 1 2 0 2 4 2 n 2 0 2 9 2 1 a 0 3 4 2 0 m 3 x 0 1s 7 2 z s 4 38 16 l 0 h 5 5 3 4 0 4 1 8 2 5 c d 0 i 11 2 0 6 0 3 16 2 98 2 3 3 6 2 0 2 3 3 14 2 3 3 w 2 3 3 6 2 0 2 3 3 e 2 1k 2 3 3 1u 12 f h 2d 3 5 4 h7 3 g 2 p 6 22 4 a 8 c 2 3 f h f h f c 2 2 g 1f 10 0 5 0 1w 2g 8 14 2 0 6 1x b u 1e t 3 4 c 17 5 p 1j m a 1g 2b 0 2m 1a i 6 1k t e 1 b 17 r z 16 2 b z 3 8 8 16 3 2 16 3 2 5 2 1 4 0 6 5b 1t 7p 3 5 3 11 3 5 3 7 2 0 2 0 2 0 2 u 3 1g 2 6 2 0 4 2 2 6 4 3 3 5 5 c 6 2 2 6 39 0 e 0 h c 2u 0 5 0 3 9 2 0 3 5 7 0 2 0 2 0 2 f 3 3 6 4 5 0 i 14 22g 1a 2 1a 2 3o 7 3 4 1 d 11 2 0 6 0 3 1j 8 0 h m a 6 2 6 2 6 2 6 2 6 2 6 2 6 2 6 fb 2 q 8 8 4 3 4 5 2d 5 4 2 2h 2 3 6 16 2 2l i v 1d f e9 533 1t g70 4 wc 1w 19 3 7g 4 f b 1 l 1a h u 3 27 14 8 3 2u 3 1g 3 8 17 c 2 2 2 3 2 m u 1f f 1d 1r 5 4 0 2 1 c r b m q s 8 1a t 0 h 4 2 9 b 4 2 14 o 2 2 7 l m 4 0 4 1d 2 0 4 1 3 4 3 0 2 0 p 2 3 a 8 2 d 5 3 5 3 5 a 6 2 6 2 16 2 d 7 36 u 8mb d m 5 1c 6it a5 3 2x 13 6 d 4 6 0 2 9 2 c 2 4 2 0 2 1 2 1 2 2z y a2 j 1r 3 1h 15 b 39 4 2 3q 11 p 7 p c 2g 4 5 3 5 3 5 3 2 10 b 2 p 2 i 2 1 2 e 3 d z 3e 1y 1g 7g s 4 1c 1c v e t 6 11 b t 3 z 5 7 2 4 17 4d j z 5 z 5 13 9 1f 4d 8m a l b 7 49 5 3 0 2 17 2 1 4 0 3 m b m a u 1u i 2 1 b l b p 1z 1j 7 1 1t 0 g 3 2 2 2 s 17 s 4 s 10 7 2 r s 1h b l b i e h 33 20 1k 1e e 1e e z 9p 15 7 1 27 s b 0 9 l 2z k s m d 1g 24 18 x o r z u 0 3 0 9 y 4 0 d 1b f 3 m 0 2 0 10 h 2 o 2d 6 2 0 2 3 2 e 2 9 8 1a 13 7 3 1 3 l 2 6 2 1 2 4 4 0 j 0 d 4 4f 1g j 3 l 2 v 1b l 1 2 0 55 1a 16 3 11 1b l 0 1o 16 e 0 20 q 6e 17 39 1r w 7 3 0 3 7 2 1 2 n g 0 2 0 2n 7 3 12 h 0 2 0 t 0 b 13 8 0 m 0 c 19 k 0 z 1k 7c 8 2 10 i 0 1e t 35 6 2 1 2 11 m 0 q 5 2 1 2 v f 0 94 i 5a 0 28 pl 2v 32 i 5f 24d tq 34i g6 6nu fs 8 u 36 t j 1b h 3 w k 6 i j5 1r 3l 22 6 0 1v c 1t 1 2 0 t 4qf 9 yd 17 8 6wo 7y 1e 2 i 3 9 az 1s5 2y 6 c 4 8 8 9 4mf 2c 2 1y 2 1 3 0 3 1 3 3 2 b 2 0 2 6 2 1s 2 3 3 7 2 6 2 r 2 3 2 4 2 0 4 6 2 9f 3 o 2 o 2 u 2 o 2 u 2 o 2 u 2 o 2 u 2 o 2 7 1th 18 b 6 h 0 aa 17 105 5g 1o 1v 8 0 xh 3 2 q 2 1 2 0 3 0 2 9 2 3 2 0 2 0 7 0 5 0 2 0 2 0 2 2 2 1 2 0 3 0 2 0 2 0 2 0 2 0 2 1 2 0 3 3 2 6 2 3 2 3 2 0 2 9 2 g 6 2 2 4 2 g 3et wyl z 378 c 65 3 4g1 f 5rk 2e8 f1 15v 3t6"); } function initLargeIdContinueRanges() { - return restoreRanges("183 0 585 111 24 0 252 4 266 44 2 0 2 1 2 1 2 0 73 10 49 30 7 0 102 6 3 5 3 1 2 3 3 9 24 0 31 26 92 10 16 9 34 8 10 0 25 3 2 8 2 2 2 4 44 2 120 14 2 32 55 2 2 17 2 6 11 1 3 9 18 2 57 0 2 6 3 1 3 2 10 0 11 1 3 9 15 0 3 2 57 0 2 4 5 1 3 2 4 0 21 11 4 0 12 2 57 0 2 7 2 2 2 2 21 1 3 9 11 5 2 2 57 0 2 6 3 1 3 2 8 2 11 1 3 9 19 0 60 4 4 2 2 3 10 0 15 9 17 4 58 6 2 2 2 3 8 1 12 1 3 9 18 2 57 0 2 6 2 2 2 3 8 1 12 1 3 9 17 3 56 1 2 6 2 2 2 3 10 0 11 1 3 9 18 2 71 0 5 5 2 0 2 7 7 9 3 1 62 0 3 6 13 7 2 9 88 0 3 8 12 5 3 9 63 1 7 9 12 0 2 0 2 0 5 1 50 19 2 1 6 10 2 35 10 0 101 19 2 9 13 3 5 2 2 2 3 6 4 3 14 11 2 14 704 2 10 8 929 2 30 2 30 1 31 1 65 31 10 0 3 9 34 2 3 9 144 0 119 11 5 11 11 9 129 10 61 4 58 9 2 28 3 10 7 9 23 13 2 1 64 4 48 16 12 9 18 8 13 2 31 12 3 9 45 13 49 19 9 9 7 9 119 2 2 20 5 0 7 0 3 2 199 57 2 4 576 1 20 0 124 12 5 0 4 11 3071 2 142 0 97 31 555 5 106 1 30086 9 70 0 5 9 33 1 81 1 273 0 4 0 5 0 24 4 5 0 84 1 51 17 11 9 7 17 14 10 29 7 26 12 45 3 48 13 16 9 12 0 11 9 48 13 13 0 9 1 3 9 34 2 51 0 2 2 3 1 6 1 2 0 42 4 6 1 237 7 2 1 3 9 20261 0 738 15 17 15 4 1 25 2 193 9 38 0 702 0 227 0 150 4 294 9 1368 2 2 1 6 3 41 2 5 0 166 1 574 3 9 9 370 1 154 10 176 2 54 14 32 9 16 3 46 10 54 9 7 2 37 13 2 9 6 1 45 0 13 2 49 13 9 3 2 11 83 11 7 0 161 11 6 9 7 3 56 1 2 6 3 1 3 2 10 0 11 1 3 6 4 4 193 17 10 9 5 0 82 19 13 9 214 6 3 8 28 1 83 16 16 9 82 12 9 9 84 14 5 9 243 14 166 9 71 5 2 1 3 3 2 0 2 1 13 9 120 6 3 6 4 0 29 9 41 6 2 3 9 0 10 10 47 15 406 7 2 7 17 9 57 21 2 13 123 5 4 0 2 1 2 6 2 0 9 9 49 4 2 1 2 4 9 9 330 3 19306 9 135 4 60 6 26 9 1014 0 2 54 8 3 82 0 12 1 19628 1 5319 4 4 5 9 7 3 6 31 3 149 2 1418 49 513 54 5 49 9 0 15 0 23 4 2 14 1361 6 2 16 3 6 2 1 2 4 262 6 10 9 419 13 1495 6 110 6 6 9 4759 9 787719 239"); + return restoreRanges("53 0 g9 33 o 0 70 4 7e 18 2 0 2 1 2 1 2 0 21 a 1d u 7 0 2u 6 3 5 3 1 2 3 3 9 o 0 v q 2k a g 9 y 8 a 0 p 3 2 8 2 2 2 4 18 2 3c e 2 w 1j 2 2 h 2 6 b 1 3 9 i 2 1l 0 2 6 3 1 3 2 a 0 b 1 3 9 f 0 3 2 1l 0 2 4 5 1 3 2 4 0 l b 4 0 c 2 1l 0 2 7 2 2 2 2 l 1 3 9 b 5 2 2 1l 0 2 6 3 1 3 2 8 2 b 1 3 9 j 0 1o 4 4 2 2 3 a 0 f 9 h 4 1m 6 2 2 2 3 8 1 c 1 3 9 i 2 1l 0 2 6 2 2 2 3 8 1 c 1 3 9 h 3 1k 1 2 6 2 2 2 3 a 0 b 1 3 9 i 2 1z 0 5 5 2 0 2 7 7 9 3 1 1q 0 3 6 d 7 2 9 2g 0 3 8 c 5 3 9 1r 1 7 9 c 0 2 0 2 0 5 1 1e j 2 1 6 a 2 z a 0 2t j 2 9 d 3 5 2 2 2 3 6 4 3 e b 2 e jk 2 a 8 pt 2 u 2 u 1 v 1 1t v a 0 3 9 y 2 3 9 40 0 3b b 5 b b 9 3l a 1p 4 1m 9 2 s 3 a 7 9 n d 2 1 1s 4 1c g c 9 i 8 d 2 v c 3 9 19 d 1d j 9 9 7 9 3b 2 2 k 5 0 7 0 3 2 5j 1l 2 4 g0 1 k 0 3g c 5 0 4 b 2db 2 3y 0 2p v ff 5 2y 1 n7q 9 1y 0 5 9 x 1 29 1 7l 0 4 0 5 0 o 4 5 0 2c 1 1f h b 9 7 h e a t 7 q c 19 3 1c d g 9 c 0 b 9 1c d d 0 9 1 3 9 y 2 1f 0 2 2 3 1 6 1 2 0 16 4 6 1 6l 7 2 1 3 9 fmt 0 ki f h f 4 1 p 2 5d 9 12 0 ji 0 6b 0 46 4 86 9 120 2 2 1 6 3 15 2 5 0 4m 1 fy 3 9 9 aa 1 4a a 4w 2 1i e w 9 g 3 1a a 1i 9 7 2 11 d 2 9 6 1 19 0 d 2 1d d 9 3 2 b 2b b 7 0 4h b 6 9 7 3 1k 1 2 6 3 1 3 2 a 0 b 1 3 6 4 4 5d h a 9 5 0 2a j d 9 5y 6 3 8 s 1 2b g g 9 2a c 9 9 2c e 5 9 6r e 4m 9 1z 5 2 1 3 3 2 0 2 1 d 9 3c 6 3 6 4 0 t 9 15 6 2 3 9 0 a a 1b f ba 7 2 7 h 9 1l l 2 d 3f 5 4 0 2 1 2 6 2 0 9 9 1d 4 2 1 2 4 9 9 96 3 ewa 9 3r 4 1o 6 q 9 s6 0 2 1i 8 3 2a 0 c 1 f58 1 43r 4 4 5 9 7 3 6 v 3 45 2 13e 1d e9 1i 5 1d 9 0 f 0 n 4 2 e 11t 6 2 g 3 6 2 1 2 4 7a 6 a 9 bn d 15j 6 32 6 6 9 3o7 9 gvt3 6n"); } function isInRange(cp, ranges) { let l = 0, r = (ranges.length / 2) | 0, i = 0, min = 0, max = 0; @@ -72,14 +72,15 @@ function isInRange(cp, ranges) { } function restoreRanges(data) { let last = 0; - return data.split(" ").map(s => (last += parseInt(s, 10) | 0)); + return data.split(" ").map(s => (last += parseInt(s, 36) | 0)); } class DataSet { - constructor(raw2018, raw2019, raw2020) { + constructor(raw2018, raw2019, raw2020, raw2021) { this._raw2018 = raw2018; this._raw2019 = raw2019; this._raw2020 = raw2020; + this._raw2021 = raw2021; } get es2018() { return (this._set2018 || (this._set2018 = new Set(this._raw2018.split(" ")))); @@ -90,12 +91,15 @@ class DataSet { get es2020() { return (this._set2020 || (this._set2020 = new Set(this._raw2020.split(" ")))); } + get es2021() { + return (this._set2021 || (this._set2021 = new Set(this._raw2021.split(" ")))); + } } const gcNameSet = new Set(["General_Category", "gc"]); const scNameSet = new Set(["Script", "Script_Extensions", "sc", "scx"]); -const gcValueSets = new DataSet("C Cased_Letter Cc Cf Close_Punctuation Cn Co Combining_Mark Connector_Punctuation Control Cs Currency_Symbol Dash_Punctuation Decimal_Number Enclosing_Mark Final_Punctuation Format Initial_Punctuation L LC Letter Letter_Number Line_Separator Ll Lm Lo Lowercase_Letter Lt Lu M Mark Math_Symbol Mc Me Mn Modifier_Letter Modifier_Symbol N Nd Nl No Nonspacing_Mark Number Open_Punctuation Other Other_Letter Other_Number Other_Punctuation Other_Symbol P Paragraph_Separator Pc Pd Pe Pf Pi Po Private_Use Ps Punctuation S Sc Separator Sk Sm So Space_Separator Spacing_Mark Surrogate Symbol Titlecase_Letter Unassigned Uppercase_Letter Z Zl Zp Zs cntrl digit punct", "", ""); -const scValueSets = new DataSet("Adlam Adlm Aghb Ahom Anatolian_Hieroglyphs Arab Arabic Armenian Armi Armn Avestan Avst Bali Balinese Bamu Bamum Bass Bassa_Vah Batak Batk Beng Bengali Bhaiksuki Bhks Bopo Bopomofo Brah Brahmi Brai Braille Bugi Buginese Buhd Buhid Cakm Canadian_Aboriginal Cans Cari Carian Caucasian_Albanian Chakma Cham Cher Cherokee Common Copt Coptic Cprt Cuneiform Cypriot Cyrillic Cyrl Deseret Deva Devanagari Dsrt Dupl Duployan Egyp Egyptian_Hieroglyphs Elba Elbasan Ethi Ethiopic Geor Georgian Glag Glagolitic Gonm Goth Gothic Gran Grantha Greek Grek Gujarati Gujr Gurmukhi Guru Han Hang Hangul Hani Hano Hanunoo Hatr Hatran Hebr Hebrew Hira Hiragana Hluw Hmng Hung Imperial_Aramaic Inherited Inscriptional_Pahlavi Inscriptional_Parthian Ital Java Javanese Kaithi Kali Kana Kannada Katakana Kayah_Li Khar Kharoshthi Khmer Khmr Khoj Khojki Khudawadi Knda Kthi Lana Lao Laoo Latin Latn Lepc Lepcha Limb Limbu Lina Linb Linear_A Linear_B Lisu Lyci Lycian Lydi Lydian Mahajani Mahj Malayalam Mand Mandaic Mani Manichaean Marc Marchen Masaram_Gondi Meetei_Mayek Mend Mende_Kikakui Merc Mero Meroitic_Cursive Meroitic_Hieroglyphs Miao Mlym Modi Mong Mongolian Mro Mroo Mtei Mult Multani Myanmar Mymr Nabataean Narb Nbat New_Tai_Lue Newa Nko Nkoo Nshu Nushu Ogam Ogham Ol_Chiki Olck Old_Hungarian Old_Italic Old_North_Arabian Old_Permic Old_Persian Old_South_Arabian Old_Turkic Oriya Orkh Orya Osage Osge Osma Osmanya Pahawh_Hmong Palm Palmyrene Pau_Cin_Hau Pauc Perm Phag Phags_Pa Phli Phlp Phnx Phoenician Plrd Prti Psalter_Pahlavi Qaac Qaai Rejang Rjng Runic Runr Samaritan Samr Sarb Saur Saurashtra Sgnw Sharada Shavian Shaw Shrd Sidd Siddham SignWriting Sind Sinh Sinhala Sora Sora_Sompeng Soyo Soyombo Sund Sundanese Sylo Syloti_Nagri Syrc Syriac Tagalog Tagb Tagbanwa Tai_Le Tai_Tham Tai_Viet Takr Takri Tale Talu Tamil Taml Tang Tangut Tavt Telu Telugu Tfng Tglg Thaa Thaana Thai Tibetan Tibt Tifinagh Tirh Tirhuta Ugar Ugaritic Vai Vaii Wara Warang_Citi Xpeo Xsux Yi Yiii Zanabazar_Square Zanb Zinh Zyyy", "Dogr Dogra Gong Gunjala_Gondi Hanifi_Rohingya Maka Makasar Medefaidrin Medf Old_Sogdian Rohg Sogd Sogdian Sogo", "Elym Elymaic Hmnp Nand Nandinagari Nyiakeng_Puachue_Hmong Wancho Wcho"); -const binPropertySets = new DataSet("AHex ASCII ASCII_Hex_Digit Alpha Alphabetic Any Assigned Bidi_C Bidi_Control Bidi_M Bidi_Mirrored CI CWCF CWCM CWKCF CWL CWT CWU Case_Ignorable Cased Changes_When_Casefolded Changes_When_Casemapped Changes_When_Lowercased Changes_When_NFKC_Casefolded Changes_When_Titlecased Changes_When_Uppercased DI Dash Default_Ignorable_Code_Point Dep Deprecated Dia Diacritic Emoji Emoji_Component Emoji_Modifier Emoji_Modifier_Base Emoji_Presentation Ext Extender Gr_Base Gr_Ext Grapheme_Base Grapheme_Extend Hex Hex_Digit IDC IDS IDSB IDST IDS_Binary_Operator IDS_Trinary_Operator ID_Continue ID_Start Ideo Ideographic Join_C Join_Control LOE Logical_Order_Exception Lower Lowercase Math NChar Noncharacter_Code_Point Pat_Syn Pat_WS Pattern_Syntax Pattern_White_Space QMark Quotation_Mark RI Radical Regional_Indicator SD STerm Sentence_Terminal Soft_Dotted Term Terminal_Punctuation UIdeo Unified_Ideograph Upper Uppercase VS Variation_Selector White_Space XIDC XIDS XID_Continue XID_Start space", "Extended_Pictographic", ""); +const gcValueSets = new DataSet("C Cased_Letter Cc Cf Close_Punctuation Cn Co Combining_Mark Connector_Punctuation Control Cs Currency_Symbol Dash_Punctuation Decimal_Number Enclosing_Mark Final_Punctuation Format Initial_Punctuation L LC Letter Letter_Number Line_Separator Ll Lm Lo Lowercase_Letter Lt Lu M Mark Math_Symbol Mc Me Mn Modifier_Letter Modifier_Symbol N Nd Nl No Nonspacing_Mark Number Open_Punctuation Other Other_Letter Other_Number Other_Punctuation Other_Symbol P Paragraph_Separator Pc Pd Pe Pf Pi Po Private_Use Ps Punctuation S Sc Separator Sk Sm So Space_Separator Spacing_Mark Surrogate Symbol Titlecase_Letter Unassigned Uppercase_Letter Z Zl Zp Zs cntrl digit punct", "", "", ""); +const scValueSets = new DataSet("Adlam Adlm Aghb Ahom Anatolian_Hieroglyphs Arab Arabic Armenian Armi Armn Avestan Avst Bali Balinese Bamu Bamum Bass Bassa_Vah Batak Batk Beng Bengali Bhaiksuki Bhks Bopo Bopomofo Brah Brahmi Brai Braille Bugi Buginese Buhd Buhid Cakm Canadian_Aboriginal Cans Cari Carian Caucasian_Albanian Chakma Cham Cher Cherokee Common Copt Coptic Cprt Cuneiform Cypriot Cyrillic Cyrl Deseret Deva Devanagari Dsrt Dupl Duployan Egyp Egyptian_Hieroglyphs Elba Elbasan Ethi Ethiopic Geor Georgian Glag Glagolitic Gonm Goth Gothic Gran Grantha Greek Grek Gujarati Gujr Gurmukhi Guru Han Hang Hangul Hani Hano Hanunoo Hatr Hatran Hebr Hebrew Hira Hiragana Hluw Hmng Hung Imperial_Aramaic Inherited Inscriptional_Pahlavi Inscriptional_Parthian Ital Java Javanese Kaithi Kali Kana Kannada Katakana Kayah_Li Khar Kharoshthi Khmer Khmr Khoj Khojki Khudawadi Knda Kthi Lana Lao Laoo Latin Latn Lepc Lepcha Limb Limbu Lina Linb Linear_A Linear_B Lisu Lyci Lycian Lydi Lydian Mahajani Mahj Malayalam Mand Mandaic Mani Manichaean Marc Marchen Masaram_Gondi Meetei_Mayek Mend Mende_Kikakui Merc Mero Meroitic_Cursive Meroitic_Hieroglyphs Miao Mlym Modi Mong Mongolian Mro Mroo Mtei Mult Multani Myanmar Mymr Nabataean Narb Nbat New_Tai_Lue Newa Nko Nkoo Nshu Nushu Ogam Ogham Ol_Chiki Olck Old_Hungarian Old_Italic Old_North_Arabian Old_Permic Old_Persian Old_South_Arabian Old_Turkic Oriya Orkh Orya Osage Osge Osma Osmanya Pahawh_Hmong Palm Palmyrene Pau_Cin_Hau Pauc Perm Phag Phags_Pa Phli Phlp Phnx Phoenician Plrd Prti Psalter_Pahlavi Qaac Qaai Rejang Rjng Runic Runr Samaritan Samr Sarb Saur Saurashtra Sgnw Sharada Shavian Shaw Shrd Sidd Siddham SignWriting Sind Sinh Sinhala Sora Sora_Sompeng Soyo Soyombo Sund Sundanese Sylo Syloti_Nagri Syrc Syriac Tagalog Tagb Tagbanwa Tai_Le Tai_Tham Tai_Viet Takr Takri Tale Talu Tamil Taml Tang Tangut Tavt Telu Telugu Tfng Tglg Thaa Thaana Thai Tibetan Tibt Tifinagh Tirh Tirhuta Ugar Ugaritic Vai Vaii Wara Warang_Citi Xpeo Xsux Yi Yiii Zanabazar_Square Zanb Zinh Zyyy", "Dogr Dogra Gong Gunjala_Gondi Hanifi_Rohingya Maka Makasar Medefaidrin Medf Old_Sogdian Rohg Sogd Sogdian Sogo", "Elym Elymaic Hmnp Nand Nandinagari Nyiakeng_Puachue_Hmong Wancho Wcho", "Chorasmian Chrs Diak Dives_Akuru Khitan_Small_Script Kits Yezi Yezidi"); +const binPropertySets = new DataSet("AHex ASCII ASCII_Hex_Digit Alpha Alphabetic Any Assigned Bidi_C Bidi_Control Bidi_M Bidi_Mirrored CI CWCF CWCM CWKCF CWL CWT CWU Case_Ignorable Cased Changes_When_Casefolded Changes_When_Casemapped Changes_When_Lowercased Changes_When_NFKC_Casefolded Changes_When_Titlecased Changes_When_Uppercased DI Dash Default_Ignorable_Code_Point Dep Deprecated Dia Diacritic Emoji Emoji_Component Emoji_Modifier Emoji_Modifier_Base Emoji_Presentation Ext Extender Gr_Base Gr_Ext Grapheme_Base Grapheme_Extend Hex Hex_Digit IDC IDS IDSB IDST IDS_Binary_Operator IDS_Trinary_Operator ID_Continue ID_Start Ideo Ideographic Join_C Join_Control LOE Logical_Order_Exception Lower Lowercase Math NChar Noncharacter_Code_Point Pat_Syn Pat_WS Pattern_Syntax Pattern_White_Space QMark Quotation_Mark RI Radical Regional_Indicator SD STerm Sentence_Terminal Soft_Dotted Term Terminal_Punctuation UIdeo Unified_Ideograph Upper Uppercase VS Variation_Selector White_Space XIDC XIDS XID_Continue XID_Start space", "Extended_Pictographic", "", "EBase EComp EMod EPres ExtPict"); function isValidUnicodeProperty(version, name, value) { if (gcNameSet.has(name)) { return version >= 2018 && gcValueSets.es2018.has(value); @@ -103,13 +107,15 @@ function isValidUnicodeProperty(version, name, value) { if (scNameSet.has(name)) { return ((version >= 2018 && scValueSets.es2018.has(value)) || (version >= 2019 && scValueSets.es2019.has(value)) || - (version >= 2020 && scValueSets.es2020.has(value))); + (version >= 2020 && scValueSets.es2020.has(value)) || + (version >= 2021 && scValueSets.es2021.has(value))); } return false; } function isValidLoneUnicodeProperty(version, value) { return ((version >= 2018 && binPropertySets.es2018.has(value)) || - (version >= 2019 && binPropertySets.es2019.has(value))); + (version >= 2019 && binPropertySets.es2019.has(value)) || + (version >= 2021 && binPropertySets.es2021.has(value))); } const Backspace = 0x08; @@ -415,6 +421,7 @@ class RegExpValidator { let sticky = false; let unicode = false; let dotAll = false; + let hasIndices = false; for (let i = start; i < end; ++i) { const flag = source.charCodeAt(i); if (existingFlags.has(flag)) { @@ -439,11 +446,14 @@ class RegExpValidator { else if (flag === LatinSmallLetterS && this.ecmaVersion >= 2018) { dotAll = true; } + else if (flag === LatinSmallLetterD && this.ecmaVersion >= 2022) { + hasIndices = true; + } else { this.raise(`Invalid flag '${source[i]}'`); } } - this.onFlags(start, end, global, ignoreCase, multiline, unicode, sticky, dotAll); + this.onFlags(start, end, global, ignoreCase, multiline, unicode, sticky, dotAll, hasIndices); } validatePattern(source, start = 0, end = source.length, uFlag = false) { this._uFlag = uFlag && this.ecmaVersion >= 2015; @@ -462,7 +472,7 @@ class RegExpValidator { return Boolean(this._options.strict || this._uFlag); } get ecmaVersion() { - return this._options.ecmaVersion || 2020; + return this._options.ecmaVersion || 2022; } onLiteralEnter(start) { if (this._options.onLiteralEnter) { @@ -474,9 +484,9 @@ class RegExpValidator { this._options.onLiteralLeave(start, end); } } - onFlags(start, end, global, ignoreCase, multiline, unicode, sticky, dotAll) { + onFlags(start, end, global, ignoreCase, multiline, unicode, sticky, dotAll, hasIndices) { if (this._options.onFlags) { - this._options.onFlags(start, end, global, ignoreCase, multiline, unicode, sticky, dotAll); + this._options.onFlags(start, end, global, ignoreCase, multiline, unicode, sticky, dotAll, hasIndices); } } onPatternEnter(start) { @@ -1516,7 +1526,7 @@ class RegExpParserState { this._capturingGroups = []; this.source = ""; this.strict = Boolean(options && options.strict); - this.ecmaVersion = (options && options.ecmaVersion) || 2020; + this.ecmaVersion = (options && options.ecmaVersion) || 2022; } get pattern() { if (this._node.type !== "Pattern") { @@ -1530,7 +1540,7 @@ class RegExpParserState { } return this._flags; } - onFlags(start, end, global, ignoreCase, multiline, unicode, sticky, dotAll) { + onFlags(start, end, global, ignoreCase, multiline, unicode, sticky, dotAll, hasIndices) { this._flags = { type: "Flags", parent: null, @@ -1543,6 +1553,7 @@ class RegExpParserState { unicode, sticky, dotAll, + hasIndices, }; } onPatternEnter(start) { diff --git a/tools/node_modules/eslint/node_modules/regexpp/index.mjs b/tools/node_modules/eslint/node_modules/regexpp/index.mjs index d02491f0da334e..bc1f59c4efc76a 100644 --- a/tools/node_modules/eslint/node_modules/regexpp/index.mjs +++ b/tools/node_modules/eslint/node_modules/regexpp/index.mjs @@ -43,10 +43,10 @@ function isLargeIdContinue(cp) { (largeIdContinueRanges = initLargeIdContinueRanges())); } function initLargeIdStartRanges() { - return restoreRanges("170 0 11 0 5 0 6 22 2 30 2 457 5 11 15 4 8 0 2 0 130 4 2 1 3 3 2 0 7 0 2 2 2 0 2 19 2 82 2 138 9 165 2 37 3 0 7 40 72 26 5 3 46 42 36 1 2 98 2 0 16 1 8 1 11 2 3 0 17 0 2 29 30 88 12 0 25 32 10 1 5 0 6 21 5 0 10 0 4 0 24 24 8 10 54 20 2 17 61 53 4 0 19 0 8 9 16 15 5 7 3 1 3 21 2 6 2 0 4 3 4 0 17 0 14 1 2 2 15 1 11 0 9 5 5 1 3 21 2 6 2 1 2 1 2 1 32 3 2 0 20 2 17 8 2 2 2 21 2 6 2 1 2 4 4 0 19 0 16 1 24 0 12 7 3 1 3 21 2 6 2 1 2 4 4 0 31 1 2 2 16 0 18 0 2 5 4 2 2 3 4 1 2 0 2 1 4 1 4 2 4 11 23 0 53 7 2 2 2 22 2 15 4 0 27 2 6 1 31 0 5 7 2 2 2 22 2 9 2 4 4 0 33 0 2 1 16 1 18 8 2 2 2 40 3 0 17 0 6 2 9 2 25 5 6 17 4 23 2 8 2 0 3 6 59 47 2 1 13 6 59 1 2 0 2 4 2 23 2 0 2 9 2 1 10 0 3 4 2 0 22 3 33 0 64 7 2 35 28 4 116 42 21 0 17 5 5 3 4 0 4 1 8 2 5 12 13 0 18 37 2 0 6 0 3 42 2 332 2 3 3 6 2 0 2 3 3 40 2 3 3 32 2 3 3 6 2 0 2 3 3 14 2 56 2 3 3 66 38 15 17 85 3 5 4 619 3 16 2 25 6 74 4 10 8 12 2 3 15 17 15 17 15 12 2 2 16 51 36 0 5 0 68 88 8 40 2 0 6 69 11 30 50 29 3 4 12 43 5 25 55 22 10 52 83 0 94 46 18 6 56 29 14 1 11 43 27 35 42 2 11 35 3 8 8 42 3 2 42 3 2 5 2 1 4 0 6 191 65 277 3 5 3 37 3 5 3 7 2 0 2 0 2 0 2 30 3 52 2 6 2 0 4 2 2 6 4 3 3 5 5 12 6 2 2 6 117 0 14 0 17 12 102 0 5 0 3 9 2 0 3 5 7 0 2 0 2 0 2 15 3 3 6 4 5 0 18 40 2680 46 2 46 2 132 7 3 4 1 13 37 2 0 6 0 3 55 8 0 17 22 10 6 2 6 2 6 2 6 2 6 2 6 2 6 2 6 551 2 26 8 8 4 3 4 5 85 5 4 2 89 2 3 6 42 2 93 18 31 49 15 513 6591 65 20988 4 1164 68 45 3 268 4 15 11 1 21 46 17 30 3 79 40 8 3 102 3 52 3 8 43 12 2 2 2 3 2 22 30 51 15 49 63 5 4 0 2 1 12 27 11 22 26 28 8 46 29 0 17 4 2 9 11 4 2 40 24 2 2 7 21 22 4 0 4 49 2 0 4 1 3 4 3 0 2 0 25 2 3 10 8 2 13 5 3 5 3 5 10 6 2 6 2 42 2 13 7 114 30 11171 13 22 5 48 8453 365 3 105 39 6 13 4 6 0 2 9 2 12 2 4 2 0 2 1 2 1 2 107 34 362 19 63 3 53 41 11 117 4 2 134 37 25 7 25 12 88 4 5 3 5 3 5 3 2 36 11 2 25 2 18 2 1 2 14 3 13 35 122 70 52 268 28 4 48 48 31 14 29 6 37 11 29 3 35 5 7 2 4 43 157 19 35 5 35 5 39 9 51 157 310 10 21 11 7 153 5 3 0 2 43 2 1 4 0 3 22 11 22 10 30 66 18 2 1 11 21 11 25 71 55 7 1 65 0 16 3 2 2 2 28 43 28 4 28 36 7 2 27 28 53 11 21 11 18 14 17 111 72 56 50 14 50 14 35 349 41 7 1 79 28 11 0 9 21 107 20 28 22 13 52 76 44 33 24 27 35 30 0 3 0 9 34 4 0 13 47 15 3 22 0 2 0 36 17 2 24 85 6 2 0 2 3 2 14 2 9 8 46 39 7 3 1 3 21 2 6 2 1 2 4 4 0 19 0 13 4 159 52 19 3 21 2 31 47 21 1 2 0 185 46 42 3 37 47 21 0 60 42 14 0 72 26 230 43 117 63 32 7 3 0 3 7 2 1 2 23 16 0 2 0 95 7 3 38 17 0 2 0 29 0 11 39 8 0 22 0 12 45 20 0 35 56 264 8 2 36 18 0 50 29 113 6 2 1 2 37 22 0 26 5 2 1 2 31 15 0 328 18 190 0 80 921 103 110 18 195 2749 1070 4050 582 8634 568 8 30 114 29 19 47 17 3 32 20 6 18 689 63 129 74 6 0 67 12 65 1 2 0 29 6135 9 1237 43 8 8952 286 50 2 18 3 9 395 2309 106 6 12 4 8 8 9 5991 84 2 70 2 1 3 0 3 1 3 3 2 11 2 0 2 6 2 64 2 3 3 7 2 6 2 27 2 3 2 4 2 0 4 6 2 339 3 24 2 24 2 30 2 24 2 30 2 24 2 30 2 24 2 30 2 24 2 7 2357 44 11 6 17 0 370 43 1301 196 60 67 8 0 1205 3 2 26 2 1 2 0 3 0 2 9 2 3 2 0 2 0 7 0 5 0 2 0 2 0 2 2 2 1 2 0 3 0 2 0 2 0 2 0 2 0 2 1 2 0 3 3 2 6 2 3 2 3 2 0 2 9 2 16 6 2 2 4 2 16 4421 42717 35 4148 12 221 3 5761 15 7472 3104 541 1507 4938"); + return restoreRanges("4q 0 b 0 5 0 6 m 2 u 2 cp 5 b f 4 8 0 2 0 3m 4 2 1 3 3 2 0 7 0 2 2 2 0 2 j 2 2a 2 3u 9 4l 2 11 3 0 7 14 20 q 5 3 1a 16 10 1 2 2q 2 0 g 1 8 1 b 2 3 0 h 0 2 t u 2g c 0 p w a 1 5 0 6 l 5 0 a 0 4 0 o o 8 a 1i k 2 h 1p 1h 4 0 j 0 8 9 g f 5 7 3 1 3 l 2 6 2 0 4 3 4 0 h 0 e 1 2 2 f 1 b 0 9 5 5 1 3 l 2 6 2 1 2 1 2 1 w 3 2 0 k 2 h 8 2 2 2 l 2 6 2 1 2 4 4 0 j 0 g 1 o 0 c 7 3 1 3 l 2 6 2 1 2 4 4 0 v 1 2 2 g 0 i 0 2 5 4 2 2 3 4 1 2 0 2 1 4 1 4 2 4 b n 0 1h 7 2 2 2 m 2 f 4 0 r 2 6 1 v 0 5 7 2 2 2 m 2 9 2 4 4 0 x 0 2 1 g 1 i 8 2 2 2 14 3 0 h 0 6 2 9 2 p 5 6 h 4 n 2 8 2 0 3 6 1n 1b 2 1 d 6 1n 1 2 0 2 4 2 n 2 0 2 9 2 1 a 0 3 4 2 0 m 3 x 0 1s 7 2 z s 4 38 16 l 0 h 5 5 3 4 0 4 1 8 2 5 c d 0 i 11 2 0 6 0 3 16 2 98 2 3 3 6 2 0 2 3 3 14 2 3 3 w 2 3 3 6 2 0 2 3 3 e 2 1k 2 3 3 1u 12 f h 2d 3 5 4 h7 3 g 2 p 6 22 4 a 8 c 2 3 f h f h f c 2 2 g 1f 10 0 5 0 1w 2g 8 14 2 0 6 1x b u 1e t 3 4 c 17 5 p 1j m a 1g 2b 0 2m 1a i 6 1k t e 1 b 17 r z 16 2 b z 3 8 8 16 3 2 16 3 2 5 2 1 4 0 6 5b 1t 7p 3 5 3 11 3 5 3 7 2 0 2 0 2 0 2 u 3 1g 2 6 2 0 4 2 2 6 4 3 3 5 5 c 6 2 2 6 39 0 e 0 h c 2u 0 5 0 3 9 2 0 3 5 7 0 2 0 2 0 2 f 3 3 6 4 5 0 i 14 22g 1a 2 1a 2 3o 7 3 4 1 d 11 2 0 6 0 3 1j 8 0 h m a 6 2 6 2 6 2 6 2 6 2 6 2 6 2 6 fb 2 q 8 8 4 3 4 5 2d 5 4 2 2h 2 3 6 16 2 2l i v 1d f e9 533 1t g70 4 wc 1w 19 3 7g 4 f b 1 l 1a h u 3 27 14 8 3 2u 3 1g 3 8 17 c 2 2 2 3 2 m u 1f f 1d 1r 5 4 0 2 1 c r b m q s 8 1a t 0 h 4 2 9 b 4 2 14 o 2 2 7 l m 4 0 4 1d 2 0 4 1 3 4 3 0 2 0 p 2 3 a 8 2 d 5 3 5 3 5 a 6 2 6 2 16 2 d 7 36 u 8mb d m 5 1c 6it a5 3 2x 13 6 d 4 6 0 2 9 2 c 2 4 2 0 2 1 2 1 2 2z y a2 j 1r 3 1h 15 b 39 4 2 3q 11 p 7 p c 2g 4 5 3 5 3 5 3 2 10 b 2 p 2 i 2 1 2 e 3 d z 3e 1y 1g 7g s 4 1c 1c v e t 6 11 b t 3 z 5 7 2 4 17 4d j z 5 z 5 13 9 1f 4d 8m a l b 7 49 5 3 0 2 17 2 1 4 0 3 m b m a u 1u i 2 1 b l b p 1z 1j 7 1 1t 0 g 3 2 2 2 s 17 s 4 s 10 7 2 r s 1h b l b i e h 33 20 1k 1e e 1e e z 9p 15 7 1 27 s b 0 9 l 2z k s m d 1g 24 18 x o r z u 0 3 0 9 y 4 0 d 1b f 3 m 0 2 0 10 h 2 o 2d 6 2 0 2 3 2 e 2 9 8 1a 13 7 3 1 3 l 2 6 2 1 2 4 4 0 j 0 d 4 4f 1g j 3 l 2 v 1b l 1 2 0 55 1a 16 3 11 1b l 0 1o 16 e 0 20 q 6e 17 39 1r w 7 3 0 3 7 2 1 2 n g 0 2 0 2n 7 3 12 h 0 2 0 t 0 b 13 8 0 m 0 c 19 k 0 z 1k 7c 8 2 10 i 0 1e t 35 6 2 1 2 11 m 0 q 5 2 1 2 v f 0 94 i 5a 0 28 pl 2v 32 i 5f 24d tq 34i g6 6nu fs 8 u 36 t j 1b h 3 w k 6 i j5 1r 3l 22 6 0 1v c 1t 1 2 0 t 4qf 9 yd 17 8 6wo 7y 1e 2 i 3 9 az 1s5 2y 6 c 4 8 8 9 4mf 2c 2 1y 2 1 3 0 3 1 3 3 2 b 2 0 2 6 2 1s 2 3 3 7 2 6 2 r 2 3 2 4 2 0 4 6 2 9f 3 o 2 o 2 u 2 o 2 u 2 o 2 u 2 o 2 u 2 o 2 7 1th 18 b 6 h 0 aa 17 105 5g 1o 1v 8 0 xh 3 2 q 2 1 2 0 3 0 2 9 2 3 2 0 2 0 7 0 5 0 2 0 2 0 2 2 2 1 2 0 3 0 2 0 2 0 2 0 2 0 2 1 2 0 3 3 2 6 2 3 2 3 2 0 2 9 2 g 6 2 2 4 2 g 3et wyl z 378 c 65 3 4g1 f 5rk 2e8 f1 15v 3t6"); } function initLargeIdContinueRanges() { - return restoreRanges("183 0 585 111 24 0 252 4 266 44 2 0 2 1 2 1 2 0 73 10 49 30 7 0 102 6 3 5 3 1 2 3 3 9 24 0 31 26 92 10 16 9 34 8 10 0 25 3 2 8 2 2 2 4 44 2 120 14 2 32 55 2 2 17 2 6 11 1 3 9 18 2 57 0 2 6 3 1 3 2 10 0 11 1 3 9 15 0 3 2 57 0 2 4 5 1 3 2 4 0 21 11 4 0 12 2 57 0 2 7 2 2 2 2 21 1 3 9 11 5 2 2 57 0 2 6 3 1 3 2 8 2 11 1 3 9 19 0 60 4 4 2 2 3 10 0 15 9 17 4 58 6 2 2 2 3 8 1 12 1 3 9 18 2 57 0 2 6 2 2 2 3 8 1 12 1 3 9 17 3 56 1 2 6 2 2 2 3 10 0 11 1 3 9 18 2 71 0 5 5 2 0 2 7 7 9 3 1 62 0 3 6 13 7 2 9 88 0 3 8 12 5 3 9 63 1 7 9 12 0 2 0 2 0 5 1 50 19 2 1 6 10 2 35 10 0 101 19 2 9 13 3 5 2 2 2 3 6 4 3 14 11 2 14 704 2 10 8 929 2 30 2 30 1 31 1 65 31 10 0 3 9 34 2 3 9 144 0 119 11 5 11 11 9 129 10 61 4 58 9 2 28 3 10 7 9 23 13 2 1 64 4 48 16 12 9 18 8 13 2 31 12 3 9 45 13 49 19 9 9 7 9 119 2 2 20 5 0 7 0 3 2 199 57 2 4 576 1 20 0 124 12 5 0 4 11 3071 2 142 0 97 31 555 5 106 1 30086 9 70 0 5 9 33 1 81 1 273 0 4 0 5 0 24 4 5 0 84 1 51 17 11 9 7 17 14 10 29 7 26 12 45 3 48 13 16 9 12 0 11 9 48 13 13 0 9 1 3 9 34 2 51 0 2 2 3 1 6 1 2 0 42 4 6 1 237 7 2 1 3 9 20261 0 738 15 17 15 4 1 25 2 193 9 38 0 702 0 227 0 150 4 294 9 1368 2 2 1 6 3 41 2 5 0 166 1 574 3 9 9 370 1 154 10 176 2 54 14 32 9 16 3 46 10 54 9 7 2 37 13 2 9 6 1 45 0 13 2 49 13 9 3 2 11 83 11 7 0 161 11 6 9 7 3 56 1 2 6 3 1 3 2 10 0 11 1 3 6 4 4 193 17 10 9 5 0 82 19 13 9 214 6 3 8 28 1 83 16 16 9 82 12 9 9 84 14 5 9 243 14 166 9 71 5 2 1 3 3 2 0 2 1 13 9 120 6 3 6 4 0 29 9 41 6 2 3 9 0 10 10 47 15 406 7 2 7 17 9 57 21 2 13 123 5 4 0 2 1 2 6 2 0 9 9 49 4 2 1 2 4 9 9 330 3 19306 9 135 4 60 6 26 9 1014 0 2 54 8 3 82 0 12 1 19628 1 5319 4 4 5 9 7 3 6 31 3 149 2 1418 49 513 54 5 49 9 0 15 0 23 4 2 14 1361 6 2 16 3 6 2 1 2 4 262 6 10 9 419 13 1495 6 110 6 6 9 4759 9 787719 239"); + return restoreRanges("53 0 g9 33 o 0 70 4 7e 18 2 0 2 1 2 1 2 0 21 a 1d u 7 0 2u 6 3 5 3 1 2 3 3 9 o 0 v q 2k a g 9 y 8 a 0 p 3 2 8 2 2 2 4 18 2 3c e 2 w 1j 2 2 h 2 6 b 1 3 9 i 2 1l 0 2 6 3 1 3 2 a 0 b 1 3 9 f 0 3 2 1l 0 2 4 5 1 3 2 4 0 l b 4 0 c 2 1l 0 2 7 2 2 2 2 l 1 3 9 b 5 2 2 1l 0 2 6 3 1 3 2 8 2 b 1 3 9 j 0 1o 4 4 2 2 3 a 0 f 9 h 4 1m 6 2 2 2 3 8 1 c 1 3 9 i 2 1l 0 2 6 2 2 2 3 8 1 c 1 3 9 h 3 1k 1 2 6 2 2 2 3 a 0 b 1 3 9 i 2 1z 0 5 5 2 0 2 7 7 9 3 1 1q 0 3 6 d 7 2 9 2g 0 3 8 c 5 3 9 1r 1 7 9 c 0 2 0 2 0 5 1 1e j 2 1 6 a 2 z a 0 2t j 2 9 d 3 5 2 2 2 3 6 4 3 e b 2 e jk 2 a 8 pt 2 u 2 u 1 v 1 1t v a 0 3 9 y 2 3 9 40 0 3b b 5 b b 9 3l a 1p 4 1m 9 2 s 3 a 7 9 n d 2 1 1s 4 1c g c 9 i 8 d 2 v c 3 9 19 d 1d j 9 9 7 9 3b 2 2 k 5 0 7 0 3 2 5j 1l 2 4 g0 1 k 0 3g c 5 0 4 b 2db 2 3y 0 2p v ff 5 2y 1 n7q 9 1y 0 5 9 x 1 29 1 7l 0 4 0 5 0 o 4 5 0 2c 1 1f h b 9 7 h e a t 7 q c 19 3 1c d g 9 c 0 b 9 1c d d 0 9 1 3 9 y 2 1f 0 2 2 3 1 6 1 2 0 16 4 6 1 6l 7 2 1 3 9 fmt 0 ki f h f 4 1 p 2 5d 9 12 0 ji 0 6b 0 46 4 86 9 120 2 2 1 6 3 15 2 5 0 4m 1 fy 3 9 9 aa 1 4a a 4w 2 1i e w 9 g 3 1a a 1i 9 7 2 11 d 2 9 6 1 19 0 d 2 1d d 9 3 2 b 2b b 7 0 4h b 6 9 7 3 1k 1 2 6 3 1 3 2 a 0 b 1 3 6 4 4 5d h a 9 5 0 2a j d 9 5y 6 3 8 s 1 2b g g 9 2a c 9 9 2c e 5 9 6r e 4m 9 1z 5 2 1 3 3 2 0 2 1 d 9 3c 6 3 6 4 0 t 9 15 6 2 3 9 0 a a 1b f ba 7 2 7 h 9 1l l 2 d 3f 5 4 0 2 1 2 6 2 0 9 9 1d 4 2 1 2 4 9 9 96 3 ewa 9 3r 4 1o 6 q 9 s6 0 2 1i 8 3 2a 0 c 1 f58 1 43r 4 4 5 9 7 3 6 v 3 45 2 13e 1d e9 1i 5 1d 9 0 f 0 n 4 2 e 11t 6 2 g 3 6 2 1 2 4 7a 6 a 9 bn d 15j 6 32 6 6 9 3o7 9 gvt3 6n"); } function isInRange(cp, ranges) { let l = 0, r = (ranges.length / 2) | 0, i = 0, min = 0, max = 0; @@ -68,14 +68,15 @@ function isInRange(cp, ranges) { } function restoreRanges(data) { let last = 0; - return data.split(" ").map(s => (last += parseInt(s, 10) | 0)); + return data.split(" ").map(s => (last += parseInt(s, 36) | 0)); } class DataSet { - constructor(raw2018, raw2019, raw2020) { + constructor(raw2018, raw2019, raw2020, raw2021) { this._raw2018 = raw2018; this._raw2019 = raw2019; this._raw2020 = raw2020; + this._raw2021 = raw2021; } get es2018() { return (this._set2018 || (this._set2018 = new Set(this._raw2018.split(" ")))); @@ -86,12 +87,15 @@ class DataSet { get es2020() { return (this._set2020 || (this._set2020 = new Set(this._raw2020.split(" ")))); } + get es2021() { + return (this._set2021 || (this._set2021 = new Set(this._raw2021.split(" ")))); + } } const gcNameSet = new Set(["General_Category", "gc"]); const scNameSet = new Set(["Script", "Script_Extensions", "sc", "scx"]); -const gcValueSets = new DataSet("C Cased_Letter Cc Cf Close_Punctuation Cn Co Combining_Mark Connector_Punctuation Control Cs Currency_Symbol Dash_Punctuation Decimal_Number Enclosing_Mark Final_Punctuation Format Initial_Punctuation L LC Letter Letter_Number Line_Separator Ll Lm Lo Lowercase_Letter Lt Lu M Mark Math_Symbol Mc Me Mn Modifier_Letter Modifier_Symbol N Nd Nl No Nonspacing_Mark Number Open_Punctuation Other Other_Letter Other_Number Other_Punctuation Other_Symbol P Paragraph_Separator Pc Pd Pe Pf Pi Po Private_Use Ps Punctuation S Sc Separator Sk Sm So Space_Separator Spacing_Mark Surrogate Symbol Titlecase_Letter Unassigned Uppercase_Letter Z Zl Zp Zs cntrl digit punct", "", ""); -const scValueSets = new DataSet("Adlam Adlm Aghb Ahom Anatolian_Hieroglyphs Arab Arabic Armenian Armi Armn Avestan Avst Bali Balinese Bamu Bamum Bass Bassa_Vah Batak Batk Beng Bengali Bhaiksuki Bhks Bopo Bopomofo Brah Brahmi Brai Braille Bugi Buginese Buhd Buhid Cakm Canadian_Aboriginal Cans Cari Carian Caucasian_Albanian Chakma Cham Cher Cherokee Common Copt Coptic Cprt Cuneiform Cypriot Cyrillic Cyrl Deseret Deva Devanagari Dsrt Dupl Duployan Egyp Egyptian_Hieroglyphs Elba Elbasan Ethi Ethiopic Geor Georgian Glag Glagolitic Gonm Goth Gothic Gran Grantha Greek Grek Gujarati Gujr Gurmukhi Guru Han Hang Hangul Hani Hano Hanunoo Hatr Hatran Hebr Hebrew Hira Hiragana Hluw Hmng Hung Imperial_Aramaic Inherited Inscriptional_Pahlavi Inscriptional_Parthian Ital Java Javanese Kaithi Kali Kana Kannada Katakana Kayah_Li Khar Kharoshthi Khmer Khmr Khoj Khojki Khudawadi Knda Kthi Lana Lao Laoo Latin Latn Lepc Lepcha Limb Limbu Lina Linb Linear_A Linear_B Lisu Lyci Lycian Lydi Lydian Mahajani Mahj Malayalam Mand Mandaic Mani Manichaean Marc Marchen Masaram_Gondi Meetei_Mayek Mend Mende_Kikakui Merc Mero Meroitic_Cursive Meroitic_Hieroglyphs Miao Mlym Modi Mong Mongolian Mro Mroo Mtei Mult Multani Myanmar Mymr Nabataean Narb Nbat New_Tai_Lue Newa Nko Nkoo Nshu Nushu Ogam Ogham Ol_Chiki Olck Old_Hungarian Old_Italic Old_North_Arabian Old_Permic Old_Persian Old_South_Arabian Old_Turkic Oriya Orkh Orya Osage Osge Osma Osmanya Pahawh_Hmong Palm Palmyrene Pau_Cin_Hau Pauc Perm Phag Phags_Pa Phli Phlp Phnx Phoenician Plrd Prti Psalter_Pahlavi Qaac Qaai Rejang Rjng Runic Runr Samaritan Samr Sarb Saur Saurashtra Sgnw Sharada Shavian Shaw Shrd Sidd Siddham SignWriting Sind Sinh Sinhala Sora Sora_Sompeng Soyo Soyombo Sund Sundanese Sylo Syloti_Nagri Syrc Syriac Tagalog Tagb Tagbanwa Tai_Le Tai_Tham Tai_Viet Takr Takri Tale Talu Tamil Taml Tang Tangut Tavt Telu Telugu Tfng Tglg Thaa Thaana Thai Tibetan Tibt Tifinagh Tirh Tirhuta Ugar Ugaritic Vai Vaii Wara Warang_Citi Xpeo Xsux Yi Yiii Zanabazar_Square Zanb Zinh Zyyy", "Dogr Dogra Gong Gunjala_Gondi Hanifi_Rohingya Maka Makasar Medefaidrin Medf Old_Sogdian Rohg Sogd Sogdian Sogo", "Elym Elymaic Hmnp Nand Nandinagari Nyiakeng_Puachue_Hmong Wancho Wcho"); -const binPropertySets = new DataSet("AHex ASCII ASCII_Hex_Digit Alpha Alphabetic Any Assigned Bidi_C Bidi_Control Bidi_M Bidi_Mirrored CI CWCF CWCM CWKCF CWL CWT CWU Case_Ignorable Cased Changes_When_Casefolded Changes_When_Casemapped Changes_When_Lowercased Changes_When_NFKC_Casefolded Changes_When_Titlecased Changes_When_Uppercased DI Dash Default_Ignorable_Code_Point Dep Deprecated Dia Diacritic Emoji Emoji_Component Emoji_Modifier Emoji_Modifier_Base Emoji_Presentation Ext Extender Gr_Base Gr_Ext Grapheme_Base Grapheme_Extend Hex Hex_Digit IDC IDS IDSB IDST IDS_Binary_Operator IDS_Trinary_Operator ID_Continue ID_Start Ideo Ideographic Join_C Join_Control LOE Logical_Order_Exception Lower Lowercase Math NChar Noncharacter_Code_Point Pat_Syn Pat_WS Pattern_Syntax Pattern_White_Space QMark Quotation_Mark RI Radical Regional_Indicator SD STerm Sentence_Terminal Soft_Dotted Term Terminal_Punctuation UIdeo Unified_Ideograph Upper Uppercase VS Variation_Selector White_Space XIDC XIDS XID_Continue XID_Start space", "Extended_Pictographic", ""); +const gcValueSets = new DataSet("C Cased_Letter Cc Cf Close_Punctuation Cn Co Combining_Mark Connector_Punctuation Control Cs Currency_Symbol Dash_Punctuation Decimal_Number Enclosing_Mark Final_Punctuation Format Initial_Punctuation L LC Letter Letter_Number Line_Separator Ll Lm Lo Lowercase_Letter Lt Lu M Mark Math_Symbol Mc Me Mn Modifier_Letter Modifier_Symbol N Nd Nl No Nonspacing_Mark Number Open_Punctuation Other Other_Letter Other_Number Other_Punctuation Other_Symbol P Paragraph_Separator Pc Pd Pe Pf Pi Po Private_Use Ps Punctuation S Sc Separator Sk Sm So Space_Separator Spacing_Mark Surrogate Symbol Titlecase_Letter Unassigned Uppercase_Letter Z Zl Zp Zs cntrl digit punct", "", "", ""); +const scValueSets = new DataSet("Adlam Adlm Aghb Ahom Anatolian_Hieroglyphs Arab Arabic Armenian Armi Armn Avestan Avst Bali Balinese Bamu Bamum Bass Bassa_Vah Batak Batk Beng Bengali Bhaiksuki Bhks Bopo Bopomofo Brah Brahmi Brai Braille Bugi Buginese Buhd Buhid Cakm Canadian_Aboriginal Cans Cari Carian Caucasian_Albanian Chakma Cham Cher Cherokee Common Copt Coptic Cprt Cuneiform Cypriot Cyrillic Cyrl Deseret Deva Devanagari Dsrt Dupl Duployan Egyp Egyptian_Hieroglyphs Elba Elbasan Ethi Ethiopic Geor Georgian Glag Glagolitic Gonm Goth Gothic Gran Grantha Greek Grek Gujarati Gujr Gurmukhi Guru Han Hang Hangul Hani Hano Hanunoo Hatr Hatran Hebr Hebrew Hira Hiragana Hluw Hmng Hung Imperial_Aramaic Inherited Inscriptional_Pahlavi Inscriptional_Parthian Ital Java Javanese Kaithi Kali Kana Kannada Katakana Kayah_Li Khar Kharoshthi Khmer Khmr Khoj Khojki Khudawadi Knda Kthi Lana Lao Laoo Latin Latn Lepc Lepcha Limb Limbu Lina Linb Linear_A Linear_B Lisu Lyci Lycian Lydi Lydian Mahajani Mahj Malayalam Mand Mandaic Mani Manichaean Marc Marchen Masaram_Gondi Meetei_Mayek Mend Mende_Kikakui Merc Mero Meroitic_Cursive Meroitic_Hieroglyphs Miao Mlym Modi Mong Mongolian Mro Mroo Mtei Mult Multani Myanmar Mymr Nabataean Narb Nbat New_Tai_Lue Newa Nko Nkoo Nshu Nushu Ogam Ogham Ol_Chiki Olck Old_Hungarian Old_Italic Old_North_Arabian Old_Permic Old_Persian Old_South_Arabian Old_Turkic Oriya Orkh Orya Osage Osge Osma Osmanya Pahawh_Hmong Palm Palmyrene Pau_Cin_Hau Pauc Perm Phag Phags_Pa Phli Phlp Phnx Phoenician Plrd Prti Psalter_Pahlavi Qaac Qaai Rejang Rjng Runic Runr Samaritan Samr Sarb Saur Saurashtra Sgnw Sharada Shavian Shaw Shrd Sidd Siddham SignWriting Sind Sinh Sinhala Sora Sora_Sompeng Soyo Soyombo Sund Sundanese Sylo Syloti_Nagri Syrc Syriac Tagalog Tagb Tagbanwa Tai_Le Tai_Tham Tai_Viet Takr Takri Tale Talu Tamil Taml Tang Tangut Tavt Telu Telugu Tfng Tglg Thaa Thaana Thai Tibetan Tibt Tifinagh Tirh Tirhuta Ugar Ugaritic Vai Vaii Wara Warang_Citi Xpeo Xsux Yi Yiii Zanabazar_Square Zanb Zinh Zyyy", "Dogr Dogra Gong Gunjala_Gondi Hanifi_Rohingya Maka Makasar Medefaidrin Medf Old_Sogdian Rohg Sogd Sogdian Sogo", "Elym Elymaic Hmnp Nand Nandinagari Nyiakeng_Puachue_Hmong Wancho Wcho", "Chorasmian Chrs Diak Dives_Akuru Khitan_Small_Script Kits Yezi Yezidi"); +const binPropertySets = new DataSet("AHex ASCII ASCII_Hex_Digit Alpha Alphabetic Any Assigned Bidi_C Bidi_Control Bidi_M Bidi_Mirrored CI CWCF CWCM CWKCF CWL CWT CWU Case_Ignorable Cased Changes_When_Casefolded Changes_When_Casemapped Changes_When_Lowercased Changes_When_NFKC_Casefolded Changes_When_Titlecased Changes_When_Uppercased DI Dash Default_Ignorable_Code_Point Dep Deprecated Dia Diacritic Emoji Emoji_Component Emoji_Modifier Emoji_Modifier_Base Emoji_Presentation Ext Extender Gr_Base Gr_Ext Grapheme_Base Grapheme_Extend Hex Hex_Digit IDC IDS IDSB IDST IDS_Binary_Operator IDS_Trinary_Operator ID_Continue ID_Start Ideo Ideographic Join_C Join_Control LOE Logical_Order_Exception Lower Lowercase Math NChar Noncharacter_Code_Point Pat_Syn Pat_WS Pattern_Syntax Pattern_White_Space QMark Quotation_Mark RI Radical Regional_Indicator SD STerm Sentence_Terminal Soft_Dotted Term Terminal_Punctuation UIdeo Unified_Ideograph Upper Uppercase VS Variation_Selector White_Space XIDC XIDS XID_Continue XID_Start space", "Extended_Pictographic", "", "EBase EComp EMod EPres ExtPict"); function isValidUnicodeProperty(version, name, value) { if (gcNameSet.has(name)) { return version >= 2018 && gcValueSets.es2018.has(value); @@ -99,13 +103,15 @@ function isValidUnicodeProperty(version, name, value) { if (scNameSet.has(name)) { return ((version >= 2018 && scValueSets.es2018.has(value)) || (version >= 2019 && scValueSets.es2019.has(value)) || - (version >= 2020 && scValueSets.es2020.has(value))); + (version >= 2020 && scValueSets.es2020.has(value)) || + (version >= 2021 && scValueSets.es2021.has(value))); } return false; } function isValidLoneUnicodeProperty(version, value) { return ((version >= 2018 && binPropertySets.es2018.has(value)) || - (version >= 2019 && binPropertySets.es2019.has(value))); + (version >= 2019 && binPropertySets.es2019.has(value)) || + (version >= 2021 && binPropertySets.es2021.has(value))); } const Backspace = 0x08; @@ -411,6 +417,7 @@ class RegExpValidator { let sticky = false; let unicode = false; let dotAll = false; + let hasIndices = false; for (let i = start; i < end; ++i) { const flag = source.charCodeAt(i); if (existingFlags.has(flag)) { @@ -435,11 +442,14 @@ class RegExpValidator { else if (flag === LatinSmallLetterS && this.ecmaVersion >= 2018) { dotAll = true; } + else if (flag === LatinSmallLetterD && this.ecmaVersion >= 2022) { + hasIndices = true; + } else { this.raise(`Invalid flag '${source[i]}'`); } } - this.onFlags(start, end, global, ignoreCase, multiline, unicode, sticky, dotAll); + this.onFlags(start, end, global, ignoreCase, multiline, unicode, sticky, dotAll, hasIndices); } validatePattern(source, start = 0, end = source.length, uFlag = false) { this._uFlag = uFlag && this.ecmaVersion >= 2015; @@ -458,7 +468,7 @@ class RegExpValidator { return Boolean(this._options.strict || this._uFlag); } get ecmaVersion() { - return this._options.ecmaVersion || 2020; + return this._options.ecmaVersion || 2022; } onLiteralEnter(start) { if (this._options.onLiteralEnter) { @@ -470,9 +480,9 @@ class RegExpValidator { this._options.onLiteralLeave(start, end); } } - onFlags(start, end, global, ignoreCase, multiline, unicode, sticky, dotAll) { + onFlags(start, end, global, ignoreCase, multiline, unicode, sticky, dotAll, hasIndices) { if (this._options.onFlags) { - this._options.onFlags(start, end, global, ignoreCase, multiline, unicode, sticky, dotAll); + this._options.onFlags(start, end, global, ignoreCase, multiline, unicode, sticky, dotAll, hasIndices); } } onPatternEnter(start) { @@ -1512,7 +1522,7 @@ class RegExpParserState { this._capturingGroups = []; this.source = ""; this.strict = Boolean(options && options.strict); - this.ecmaVersion = (options && options.ecmaVersion) || 2020; + this.ecmaVersion = (options && options.ecmaVersion) || 2022; } get pattern() { if (this._node.type !== "Pattern") { @@ -1526,7 +1536,7 @@ class RegExpParserState { } return this._flags; } - onFlags(start, end, global, ignoreCase, multiline, unicode, sticky, dotAll) { + onFlags(start, end, global, ignoreCase, multiline, unicode, sticky, dotAll, hasIndices) { this._flags = { type: "Flags", parent: null, @@ -1539,6 +1549,7 @@ class RegExpParserState { unicode, sticky, dotAll, + hasIndices, }; } onPatternEnter(start) { diff --git a/tools/node_modules/eslint/node_modules/regexpp/package.json b/tools/node_modules/eslint/node_modules/regexpp/package.json index 029cbe74e37f60..92dadd8934cdd6 100644 --- a/tools/node_modules/eslint/node_modules/regexpp/package.json +++ b/tools/node_modules/eslint/node_modules/regexpp/package.json @@ -1,6 +1,6 @@ { "name": "regexpp", - "version": "3.1.0", + "version": "3.2.0", "description": "Regular expression parser for ECMAScript.", "engines": { "node": ">=8" @@ -9,6 +9,13 @@ "files": [ "index.*" ], + "exports": { + ".": { + "import": "./index.mjs", + "default": "./index.js" + }, + "./package.json": "./package.json" + }, "dependencies": {}, "devDependencies": { "@mysticatea/eslint-plugin": "^11.0.0", diff --git a/tools/node_modules/eslint/package.json b/tools/node_modules/eslint/package.json index 601033eb44e5da..f556a5503561e2 100644 --- a/tools/node_modules/eslint/package.json +++ b/tools/node_modules/eslint/package.json @@ -1,6 +1,6 @@ { "name": "eslint", - "version": "7.28.0", + "version": "7.29.0", "author": "Nicholas C. Zakas ", "description": "An AST-based pattern checker for JavaScript.", "bin": { From 3c7a7d9ee42d242a0f25f28f777daf9243d47be3 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Micha=C3=ABl=20Zasso?= Date: Sun, 13 Jun 2021 12:46:35 +0200 Subject: [PATCH 113/118] src: allow to negate boolean CLI flags This change allows all boolean flags to be negated using the `--no-` prefix. Flags that are `true` by default (for example `--deprecation`) are still documented as negations. With this change, it becomes possible to easily flip the default value of a boolean flag and to override the value of a flag passed in the NODE_OPTIONS environment variable. `process.allowedNodeEnvironmentFlags` contains both the negated and non-negated versions of boolean flags. Co-authored-by: Anna Henningsen PR-URL: https://github.com/nodejs/node/pull/39023 Reviewed-By: Franziska Hinkelmann Reviewed-By: Michael Dawson Reviewed-By: Ruben Bridgewater --- lib/internal/bootstrap/pre_execution.js | 2 +- lib/internal/main/print_help.js | 26 +++++++++++-- lib/internal/options.js | 9 ++++- lib/internal/process/per_thread.js | 7 +++- src/env.cc | 2 +- src/env.h | 1 + src/node.cc | 6 +-- src/node_options-inl.h | 36 ++++++++++++++--- src/node_options.cc | 29 ++++++++------ src/node_options.h | 12 +++--- test/parallel/test-cli-options-negation.js | 39 +++++++++++++++++++ ...rocess-env-allowed-flags-are-documented.js | 14 ++++++- 12 files changed, 150 insertions(+), 33 deletions(-) create mode 100644 test/parallel/test-cli-options-negation.js diff --git a/lib/internal/bootstrap/pre_execution.js b/lib/internal/bootstrap/pre_execution.js index 62ba7da371d39e..83ccfe90c11065 100644 --- a/lib/internal/bootstrap/pre_execution.js +++ b/lib/internal/bootstrap/pre_execution.js @@ -140,7 +140,7 @@ function setupWarningHandler() { const { onWarning } = require('internal/process/warning'); - if (!getOptionValue('--no-warnings') && + if (getOptionValue('--warnings') && process.env.NODE_NO_WARNINGS !== '1') { process.on('warning', onWarning); } diff --git a/lib/internal/main/print_help.js b/lib/internal/main/print_help.js index 029701307980b1..6aa422c657b2d0 100644 --- a/lib/internal/main/print_help.js +++ b/lib/internal/main/print_help.js @@ -8,6 +8,8 @@ const { MathMax, ObjectKeys, RegExp, + StringPrototypeLocaleCompare, + StringPrototypeSlice, StringPrototypeTrimLeft, StringPrototypeRepeat, StringPrototypeReplace, @@ -110,12 +112,30 @@ function format( let text = ''; let maxFirstColumnUsed = 0; + const sortedOptions = ArrayPrototypeSort( + [...options.entries()], + ({ 0: name1, 1: option1 }, { 0: name2, 1: option2 }) => { + if (option1.defaultIsTrue) { + name1 = `--no-${StringPrototypeSlice(name1, 2)}`; + } + if (option2.defaultIsTrue) { + name2 = `--no-${StringPrototypeSlice(name2, 2)}`; + } + return StringPrototypeLocaleCompare(name1, name2); + }, + ); + for (const { - 0: name, 1: { helpText, type, value } - } of ArrayPrototypeSort([...options.entries()])) { + 0: name, 1: { helpText, type, value, defaultIsTrue } + } of sortedOptions) { if (!helpText) continue; let displayName = name; + + if (defaultIsTrue) { + displayName = `--no-${StringPrototypeSlice(displayName, 2)}`; + } + const argDescription = getArgDescription(type); if (argDescription) displayName += `=${argDescription}`; @@ -138,7 +158,7 @@ function format( } let displayHelpText = helpText; - if (value === true) { + if (value === !defaultIsTrue) { // Mark boolean options we currently have enabled. // In particular, it indicates whether --use-openssl-ca // or --use-bundled-ca is the (current) default. diff --git a/lib/internal/options.js b/lib/internal/options.js index 1c97aaee97742d..aa9c52e6988d65 100644 --- a/lib/internal/options.js +++ b/lib/internal/options.js @@ -25,8 +25,13 @@ function getAliasesFromBinding() { return aliasesMap; } -function getOptionValue(option) { - return getOptionsFromBinding().get(option)?.value; +function getOptionValue(optionName) { + const options = getOptionsFromBinding(); + if (optionName.startsWith('--no-')) { + const option = options.get('--' + optionName.slice(5)); + return option && !option.value; + } + return options.get(optionName)?.value; } function getAllowUnauthorized() { diff --git a/lib/internal/process/per_thread.js b/lib/internal/process/per_thread.js index 8f35051041c9a3..f1d11911a4444a 100644 --- a/lib/internal/process/per_thread.js +++ b/lib/internal/process/per_thread.js @@ -259,7 +259,8 @@ const trailingValuesRegex = /=.*$/; // from data in the config binding. function buildAllowedFlags() { const { - envSettings: { kAllowedInEnvironment } + envSettings: { kAllowedInEnvironment }, + types: { kBoolean }, } = internalBinding('options'); const { options, aliases } = require('internal/options'); @@ -267,6 +268,10 @@ function buildAllowedFlags() { for (const { 0: name, 1: info } of options) { if (info.envVarSettings === kAllowedInEnvironment) { ArrayPrototypePush(allowedNodeEnvironmentFlags, name); + if (info.type === kBoolean) { + const negatedName = `--no-${name.slice(2)}`; + ArrayPrototypePush(allowedNodeEnvironmentFlags, negatedName); + } } } diff --git a/src/env.cc b/src/env.cc index 9f6172de82bd92..1cc7da1ce15f43 100644 --- a/src/env.cc +++ b/src/env.cc @@ -447,7 +447,7 @@ void Environment::InitializeMainContext(Local context, CreateProperties(); } - if (options_->no_force_async_hooks_checks) { + if (!options_->force_async_hooks_checks) { async_hooks_.no_force_checks(); } diff --git a/src/env.h b/src/env.h index 1dae1f710f8377..7b136f70fbad1e 100644 --- a/src/env.h +++ b/src/env.h @@ -211,6 +211,7 @@ constexpr size_t kFsStatsBufferLength = V(crypto_rsa_pss_string, "rsa-pss") \ V(cwd_string, "cwd") \ V(data_string, "data") \ + V(default_is_true_string, "defaultIsTrue") \ V(deserialize_info_string, "deserializeInfo") \ V(dest_string, "dest") \ V(destroyed_string, "destroyed") \ diff --git a/src/node.cc b/src/node.cc index 75ad5689fca209..b60be116b6139b 100644 --- a/src/node.cc +++ b/src/node.cc @@ -1132,9 +1132,9 @@ int Start(int argc, char** argv) { Isolate::CreateParams params; const std::vector* indices = nullptr; const EnvSerializeInfo* env_info = nullptr; - bool force_no_snapshot = - per_process::cli_options->per_isolate->no_node_snapshot; - if (!force_no_snapshot) { + bool use_node_snapshot = + per_process::cli_options->per_isolate->node_snapshot; + if (use_node_snapshot) { v8::StartupData* blob = NodeMainInstance::GetEmbeddedSnapshotBlob(); if (blob != nullptr) { params.snapshot_blob = blob; diff --git a/src/node_options-inl.h b/src/node_options-inl.h index 4e1a12296bc77e..7facb22afc3c9b 100644 --- a/src/node_options-inl.h +++ b/src/node_options-inl.h @@ -23,12 +23,14 @@ template void OptionsParser::AddOption(const char* name, const char* help_text, bool Options::* field, - OptionEnvvarSettings env_setting) { + OptionEnvvarSettings env_setting, + bool default_is_true) { options_.emplace(name, OptionInfo{kBoolean, std::make_shared>(field), env_setting, - help_text}); + help_text, + default_is_true}); } template @@ -186,7 +188,8 @@ auto OptionsParser::Convert( return OptionInfo{original.type, Convert(original.field, get_child), original.env_setting, - original.help_text}; + original.help_text, + original.default_is_true}; } template @@ -225,6 +228,10 @@ inline std::string RequiresArgumentErr(const std::string& arg) { return arg + " requires an argument"; } +inline std::string NegationImpliesBooleanError(const std::string& arg) { + return arg + " is an invalid negation because it is not a boolean option"; +} + // We store some of the basic information around a single Parse call inside // this struct, to separate storage of command line arguments and their // handling. In particular, this makes it easier to introduce 'synthetic' @@ -325,6 +332,13 @@ void OptionsParser::Parse( name[i] = '-'; } + // Convert --no-foo to --foo and keep in mind that we're negating. + bool is_negation = false; + if (name.find("--no-") == 0) { + name.erase(2, 3); // remove no- + is_negation = true; + } + { auto it = aliases_.end(); // Expand aliases: @@ -367,7 +381,12 @@ void OptionsParser::Parse( } { - auto implications = implications_.equal_range(name); + std::string implied_name = name; + if (is_negation) { + // Implications for negated options are defined with "--no-". + implied_name.insert(2, "no-"); + } + auto implications = implications_.equal_range(implied_name); for (auto it = implications.first; it != implications.second; ++it) { if (it->second.type == kV8Option) { v8_args->push_back(it->second.name); @@ -384,6 +403,13 @@ void OptionsParser::Parse( } const OptionInfo& info = it->second; + + // Some V8 options can be negated and they are validated by V8 later. + if (is_negation && info.type != kBoolean && info.type != kV8Option) { + errors->push_back(NegationImpliesBooleanError(arg)); + break; + } + std::string value; if (info.type != kBoolean && info.type != kNoOp && info.type != kV8Option) { if (equals_index != std::string::npos) { @@ -412,7 +438,7 @@ void OptionsParser::Parse( switch (info.type) { case kBoolean: - *Lookup(info.field, options) = true; + *Lookup(info.field, options) = !is_negation; break; case kInteger: *Lookup(info.field, options) = std::atoll(value.c_str()); diff --git a/src/node_options.cc b/src/node_options.cc index bf18d77d7d104b..1e3659cd00c843 100644 --- a/src/node_options.cc +++ b/src/node_options.cc @@ -391,18 +391,21 @@ EnvironmentOptionsParser::EnvironmentOptionsParser() { kAllowedInEnvironment); AddAlias("--es-module-specifier-resolution", "--experimental-specifier-resolution"); - AddOption("--no-deprecation", + AddOption("--deprecation", "silence deprecation warnings", - &EnvironmentOptions::no_deprecation, - kAllowedInEnvironment); - AddOption("--no-force-async-hooks-checks", + &EnvironmentOptions::deprecation, + kAllowedInEnvironment, + true); + AddOption("--force-async-hooks-checks", "disable checks for async_hooks", - &EnvironmentOptions::no_force_async_hooks_checks, - kAllowedInEnvironment); - AddOption("--no-warnings", + &EnvironmentOptions::force_async_hooks_checks, + kAllowedInEnvironment, + true); + AddOption("--warnings", "silence all process warnings", - &EnvironmentOptions::no_warnings, - kAllowedInEnvironment); + &EnvironmentOptions::warnings, + kAllowedInEnvironment, + true); AddOption("--force-context-aware", "disable loading non-context-aware addons", &EnvironmentOptions::force_context_aware, @@ -594,9 +597,9 @@ PerIsolateOptionsParser::PerIsolateOptionsParser( "track heap object allocations for heap snapshots", &PerIsolateOptions::track_heap_objects, kAllowedInEnvironment); - AddOption("--no-node-snapshot", + AddOption("--node-snapshot", "", // It's a debug-only option. - &PerIsolateOptions::no_node_snapshot, + &PerIsolateOptions::node_snapshot, kAllowedInEnvironment); // Explicitly add some V8 flags to mark them as allowed in NODE_OPTIONS. @@ -1014,6 +1017,10 @@ void GetOptions(const FunctionCallbackInfo& args) { env->type_string(), Integer::New(isolate, static_cast(option_info.type))) .FromMaybe(false) || + !info->Set(context, + env->default_is_true_string(), + Boolean::New(isolate, option_info.default_is_true)) + .FromMaybe(false) || info->Set(context, env->value_string(), value).IsNothing() || options->Set(context, name, info).IsEmpty()) { return; diff --git a/src/node_options.h b/src/node_options.h index a91dbd259784e0..d737c4f55aee36 100644 --- a/src/node_options.h +++ b/src/node_options.h @@ -119,9 +119,9 @@ class EnvironmentOptions : public Options { int64_t heap_snapshot_near_heap_limit = 0; std::string heap_snapshot_signal; uint64_t max_http_header_size = 16 * 1024; - bool no_deprecation = false; - bool no_force_async_hooks_checks = false; - bool no_warnings = false; + bool deprecation = true; + bool force_async_hooks_checks = true; + bool warnings = true; bool force_context_aware = false; bool pending_deprecation = false; bool preserve_symlinks = false; @@ -193,7 +193,7 @@ class PerIsolateOptions : public Options { public: std::shared_ptr per_env { new EnvironmentOptions() }; bool track_heap_objects = false; - bool no_node_snapshot = false; + bool node_snapshot = true; bool report_uncaught_exception = false; bool report_on_signal = false; bool experimental_top_level_await = true; @@ -301,7 +301,8 @@ class OptionsParser { void AddOption(const char* name, const char* help_text, bool Options::* field, - OptionEnvvarSettings env_setting = kDisallowedInEnvironment); + OptionEnvvarSettings env_setting = kDisallowedInEnvironment, + bool default_is_true = false); void AddOption(const char* name, const char* help_text, uint64_t Options::* field, @@ -424,6 +425,7 @@ class OptionsParser { std::shared_ptr field; OptionEnvvarSettings env_setting; std::string help_text; + bool default_is_true = false; }; // An implied option is composed of the information on where to store a diff --git a/test/parallel/test-cli-options-negation.js b/test/parallel/test-cli-options-negation.js new file mode 100644 index 00000000000000..bfbee635ab1a2e --- /dev/null +++ b/test/parallel/test-cli-options-negation.js @@ -0,0 +1,39 @@ +'use strict'; +require('../common'); +const assert = require('assert'); +const { spawnSync } = require('child_process'); + +// --warnings is on by default. +assertHasWarning(spawnWithFlags([])); + +// --warnings can be passed alone. +assertHasWarning(spawnWithFlags(['--warnings'])); + +// --no-warnings can be passed alone. +assertHasNoWarning(spawnWithFlags(['--no-warnings'])); + +// Last flag takes precedence. +assertHasWarning(spawnWithFlags(['--no-warnings', '--warnings'])); + +// Non-boolean flags cannot be negated. +assert(spawnWithFlags(['--no-max-http-header-size']).stderr.toString().includes( + '--no-max-http-header-size is an invalid negation because it is not ' + + 'a boolean option', +)); + +// Inexistant flags cannot be negated. +assert(spawnWithFlags(['--no-i-dont-exist']).stderr.toString().includes( + 'bad option: --no-i-dont-exist', +)); + +function spawnWithFlags(flags) { + return spawnSync(process.execPath, [...flags, '-e', 'new Buffer(0)']); +} + +function assertHasWarning(proc) { + assert(proc.stderr.toString().includes('Buffer() is deprecated')); +} + +function assertHasNoWarning(proc) { + assert(!proc.stderr.toString().includes('Buffer() is deprecated')); +} diff --git a/test/parallel/test-process-env-allowed-flags-are-documented.js b/test/parallel/test-process-env-allowed-flags-are-documented.js index 493017130167ab..64626b71f01902 100644 --- a/test/parallel/test-process-env-allowed-flags-are-documented.js +++ b/test/parallel/test-process-env-allowed-flags-are-documented.js @@ -31,7 +31,8 @@ assert.deepStrictEqual(v8OptionsLines, [...v8OptionsLines].sort()); const documented = new Set(); for (const line of [...nodeOptionsLines, ...v8OptionsLines]) { for (const match of line.matchAll(/`(-[^`]+)`/g)) { - const option = match[1]; + // Remove negation from the option's name. + const option = match[1].replace('--no-', '--'); assert(!documented.has(option), `Option '${option}' was documented more than once as an ` + `allowed option for NODE_OPTIONS in ${cliMd}.`); @@ -86,12 +87,23 @@ const undocumented = difference(process.allowedNodeEnvironmentFlags, documented); // Remove intentionally undocumented options. assert(undocumented.delete('--debug-arraybuffer-allocations')); +assert(undocumented.delete('--no-debug-arraybuffer-allocations')); assert(undocumented.delete('--es-module-specifier-resolution')); assert(undocumented.delete('--experimental-report')); assert(undocumented.delete('--experimental-worker')); +assert(undocumented.delete('--node-snapshot')); assert(undocumented.delete('--no-node-snapshot')); assert(undocumented.delete('--loader')); assert(undocumented.delete('--verify-base-objects')); +assert(undocumented.delete('--no-verify-base-objects')); + +// Remove negated versions of the flags. +for (const flag of undocumented) { + if (flag.startsWith('--no-')) { + assert(documented.has(`--${flag.slice(5)}`), flag); + undocumented.delete(flag); + } +} assert.strictEqual(undocumented.size, 0, 'The following options are not documented as allowed in ' + From c2b4fbba0ffc79a6c76ca0cecbf8c904a575e01e Mon Sep 17 00:00:00 2001 From: Rich Trott Date: Sat, 19 Jun 2021 09:25:40 -0700 Subject: [PATCH 114/118] lib: remove semicolon in preparation for babel/eslint-parser update MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit eslint-babel-plugin will complain about this semicolon when we update to 7.14.15. PR-URL: https://github.com/nodejs/node/pull/39094 Reviewed-By: Michaël Zasso Reviewed-By: Antoine du Hamel Reviewed-By: Luigi Pinca --- lib/internal/source_map/source_map.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/lib/internal/source_map/source_map.js b/lib/internal/source_map/source_map.js index f49de5d8c4deda..99091a48465d50 100644 --- a/lib/internal/source_map/source_map.js +++ b/lib/internal/source_map/source_map.js @@ -275,7 +275,7 @@ class SourceMap { sourceColumnNumber, name] ); } - }; + } } /** From 78d2e0ed8e763182e090be17d6fa280678411a54 Mon Sep 17 00:00:00 2001 From: Rich Trott Date: Sat, 19 Jun 2021 09:24:08 -0700 Subject: [PATCH 115/118] tools: update babel-eslint-parser to 7.14.5 MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit PR-URL: https://github.com/nodejs/node/pull/39094 Reviewed-By: Michaël Zasso Reviewed-By: Antoine du Hamel Reviewed-By: Luigi Pinca --- .../@babel/core/lib/config/cache-contexts.js | 0 .../@babel/core/lib/config/caching.js | 8 +- .../@babel/core/lib/config/config-chain.js | 84 +- .../core/lib/config/config-descriptors.js | 71 +- .../core/lib/config/files/configuration.js | 79 +- .../core/lib/config/files/index-browser.js | 3 +- .../core/lib/config/files/module-types.js | 24 +- .../@babel/core/lib/config/files/package.js | 14 +- .../@babel/core/lib/config/files/plugins.js | 44 +- .../@babel/core/lib/config/files/utils.js | 14 +- .../@babel/core/lib/config/full.js | 51 +- .../core/lib/config/helpers/config-api.js | 28 +- .../@babel/core/lib/config/index.js | 29 +- .../@babel/core/lib/config/item.js | 10 +- .../@babel/core/lib/config/partial.js | 54 +- .../core/lib/config/pattern-to-regex.js | 26 +- .../@babel/core/lib/config/printer.js | 26 +- .../lib/config/resolve-targets-browser.js | 42 + .../@babel/core/lib/config/resolve-targets.js | 68 + .../@babel/core/lib/config/util.js | 10 +- .../config/validation/option-assertions.js | 86 +- .../core/lib/config/validation/options.js | 27 +- .../@babel/core/lib/gensync-utils/async.js | 24 +- .../@babel/core/lib/gensync-utils/fs.js | 37 +- tools/node_modules/@babel/core/lib/index.js | 46 +- tools/node_modules/@babel/core/lib/parse.js | 12 +- .../@babel/core/lib/parser/index.js | 4 +- .../lib/parser/util/missing-plugin-helper.js | 6 + .../core/lib/tools/build-external-helpers.js | 16 +- .../@babel/core/lib/transform-ast.js | 8 +- .../@babel/core/lib/transform-file.js | 16 +- .../node_modules/@babel/core/lib/transform.js | 8 +- .../lib/transformation/block-hoist-plugin.js | 72 +- .../core/lib/transformation/file/file.js | 22 +- .../core/lib/transformation/file/generate.js | 10 +- .../core/lib/transformation/file/merge-map.js | 10 +- .../@babel/core/lib/transformation/index.js | 14 +- .../core/lib/transformation/normalize-file.js | 47 +- .../core/lib/transformation/normalize-opts.js | 13 +- .../core/lib/transformation/plugin-pass.js | 15 +- .../transformation/util/clone-deep-browser.js | 25 + .../lib/transformation/util/clone-deep.js | 26 + .../@babel/code-frame/lib/index.js | 14 +- .../@babel/code-frame/package.json | 14 +- .../{lodash => @babel/compat-data}/LICENSE | 29 +- .../@babel/compat-data/corejs2-built-ins.js | 1 + .../compat-data/corejs3-shipped-proposals.js | 1 + .../compat-data/data/corejs2-built-ins.json | 1695 ++ .../data/corejs3-shipped-proposals.json | 5 + .../compat-data/data/native-modules.json | 18 + .../compat-data/data/overlapping-plugins.json | 21 + .../compat-data/data/plugin-bugfixes.json | 141 + .../@babel/compat-data/data/plugins.json | 453 + .../@babel/compat-data/native-modules.js | 1 + .../@babel/compat-data/overlapping-plugins.js | 1 + .../@babel/compat-data/package.json | 39 + .../@babel/compat-data/plugin-bugfixes.js | 1 + .../@babel/compat-data/plugins.js | 1 + .../@babel/generator/lib/buffer.js | 4 +- .../@babel/generator/lib/generators/base.js | 5 +- .../generator/lib/generators/classes.js | 8 +- .../generator/lib/generators/expressions.js | 30 +- .../@babel/generator/lib/generators/flow.js | 51 +- .../@babel/generator/lib/generators/jsx.js | 2 + .../generator/lib/generators/methods.js | 32 +- .../generator/lib/generators/modules.js | 24 +- .../generator/lib/generators/statements.js | 12 +- .../lib/generators/template-literals.js | 2 + .../@babel/generator/lib/generators/types.js | 15 +- .../generator/lib/generators/typescript.js | 31 +- .../@babel/generator/lib/index.js | 14 +- .../@babel/generator/lib/node/index.js | 10 +- .../@babel/generator/lib/node/parentheses.js | 82 +- .../@babel/generator/lib/node/whitespace.js | 16 +- .../@babel/generator/lib/printer.js | 38 +- .../@babel/generator/lib/source-map.js | 13 +- .../@babel/generator/package.json | 20 +- .../@babel/helper-compilation-targets/LICENSE | 22 + .../helper-compilation-targets/README.md | 19 + .../helper-compilation-targets/lib/debug.js | 33 + .../lib/filter-items.js | 88 + .../helper-compilation-targets/lib/index.js | 254 + .../helper-compilation-targets/lib/options.js | 20 + .../helper-compilation-targets/lib/pretty.js | 47 + .../helper-compilation-targets/lib/targets.js | 27 + .../helper-compilation-targets/lib/types.js | 0 .../helper-compilation-targets/lib/utils.js | 69 + .../helper-compilation-targets/package.json | 40 + .../@babel/helper-function-name/lib/index.js | 12 +- .../@babel/helper-function-name/package.json | 17 +- .../helper-get-function-arity/lib/index.js | 6 +- .../helper-get-function-arity/package.json | 13 +- .../@babel/helper-hoist-variables/LICENSE | 22 + .../@babel/helper-hoist-variables/README.md | 19 + .../helper-hoist-variables/lib/index.js | 53 + .../helper-hoist-variables/package.json | 27 + .../lib/index.js | 81 +- .../package.json | 15 +- .../lib/import-builder.js | 52 +- .../lib/import-injector.js | 66 +- .../@babel/helper-module-imports/lib/index.js | 6 +- .../@babel/helper-module-imports/package.json | 16 +- .../@babel/helper-module-transforms/README.md | 2 +- .../lib/get-module-name.js | 26 +- .../helper-module-transforms/lib/index.js | 104 +- .../lib/normalize-and-load-metadata.js | 80 +- .../lib/rewrite-live-references.js | 40 +- .../lib/rewrite-this.js | 10 +- .../helper-module-transforms/package.json | 28 +- .../lib/index.js | 6 +- .../package.json | 17 +- .../@babel/helper-replace-supers/lib/index.js | 59 +- .../@babel/helper-replace-supers/package.json | 19 +- .../@babel/helper-simple-access/README.md | 2 +- .../@babel/helper-simple-access/lib/index.js | 6 +- .../@babel/helper-simple-access/package.json | 16 +- .../lib/index.js | 6 +- .../package.json | 13 +- .../lib/identifier.js | 17 +- .../helper-validator-identifier/package.json | 14 +- .../scripts/generate-identifier-regex.js | 4 +- .../@babel/helper-validator-option/LICENSE | 22 + .../@babel/helper-validator-option/README.md | 19 + .../lib/find-suggestion.js | 45 + .../helper-validator-option/lib/index.js | 21 + .../helper-validator-option/lib/validator.js | 58 + .../helper-validator-option/package.json | 20 + .../@babel/helpers/lib/helpers-generated.js | 29 + .../@babel/helpers/lib/helpers.js | 449 +- .../@babel/helpers/lib/helpers/jsx.js | 53 + .../helpers/lib/helpers/objectSpread2.js | 46 + .../@babel/helpers/lib/helpers/typeof.js | 22 + .../@babel/helpers/lib/helpers/wrapRegExp.js | 73 + .../node_modules/@babel/helpers/lib/index.js | 14 +- .../node_modules/@babel/helpers/package.json | 19 +- .../helpers/scripts/generate-helpers.js | 60 + .../@babel/helpers/scripts/package.json | 1 + .../node_modules/@babel/highlight/README.md | 2 +- .../@babel/highlight/lib/index.js | 99 +- .../@babel/highlight/package.json | 17 +- .../node_modules/@babel/parser/lib/index.js | 8667 ++++---- .../node_modules/@babel/parser/package.json | 19 +- .../@babel/template/lib/builder.js | 6 +- .../@babel/template/lib/formatters.js | 6 +- .../node_modules/@babel/template/lib/index.js | 10 +- .../@babel/template/lib/literal.js | 6 +- .../node_modules/@babel/template/lib/parse.js | 8 +- .../@babel/template/lib/populate.js | 6 +- .../@babel/template/lib/string.js | 6 +- .../node_modules/@babel/template/package.json | 18 +- .../@babel/traverse/lib/context.js | 13 +- .../node_modules/@babel/traverse/lib/index.js | 30 +- .../@babel/traverse/lib/path/ancestry.js | 14 +- .../@babel/traverse/lib/path/comments.js | 6 +- .../@babel/traverse/lib/path/context.js | 6 +- .../@babel/traverse/lib/path/conversion.js | 32 +- .../@babel/traverse/lib/path/evaluation.js | 37 +- .../@babel/traverse/lib/path/family.js | 218 +- .../traverse/lib/path/generated/asserts.js | 5 + .../traverse/lib/path/generated/validators.js | 5 + .../lib/path/generated/virtual-types.js | 3 + .../@babel/traverse/lib/path/index.js | 47 +- .../traverse/lib/path/inference/index.js | 16 +- .../lib/path/inference/inferer-reference.js | 6 +- .../traverse/lib/path/inference/inferers.js | 10 +- .../@babel/traverse/lib/path/introspection.js | 31 +- .../@babel/traverse/lib/path/lib/hoister.js | 15 +- .../traverse/lib/path/lib/virtual-types.js | 6 +- .../@babel/traverse/lib/path/modification.js | 51 +- .../@babel/traverse/lib/path/removal.js | 2 +- .../@babel/traverse/lib/path/replacement.js | 71 +- .../@babel/traverse/lib/scope/binding.js | 4 + .../@babel/traverse/lib/scope/index.js | 108 +- .../@babel/traverse/lib/scope/lib/renamer.js | 31 +- .../node_modules/@babel/traverse/lib/types.js | 7 + .../@babel/traverse/lib/visitors.js | 16 +- .../node_modules/@babel/traverse/package.json | 30 +- .../traverse/scripts/generators/asserts.js | 25 + .../traverse/scripts/generators/validators.js | 34 + .../scripts/generators/virtual-types.js | 24 + .../@babel/traverse/scripts/package.json | 1 + .../@babel/types/lib/asserts/assertNode.js | 4 +- .../types/lib/asserts/generated/index.js | 19 +- .../@babel/types/lib/builders/builder.js | 12 +- .../lib/builders/flow/createFlowUnionType.js | 4 +- .../flow/createTypeAnnotationBasedOnTypeof.js | 4 +- .../types/lib/builders/generated/index.js | 21 +- .../types/lib/builders/generated/uppercase.js | 18 + .../types/lib/builders/react/buildChildren.js | 4 +- .../builders/typescript/createTSUnionType.js | 4 +- .../@babel/types/lib/clone/clone.js | 4 +- .../@babel/types/lib/clone/cloneDeep.js | 4 +- .../types/lib/clone/cloneDeepWithoutLoc.js | 4 +- .../@babel/types/lib/clone/cloneNode.js | 29 +- .../@babel/types/lib/clone/cloneWithoutLoc.js | 4 +- .../@babel/types/lib/comments/addComment.js | 4 +- .../lib/comments/inheritInnerComments.js | 4 +- .../lib/comments/inheritLeadingComments.js | 4 +- .../lib/comments/inheritTrailingComments.js | 4 +- .../types/lib/comments/inheritsComments.js | 8 +- .../types/lib/converters/ensureBlock.js | 4 +- .../converters/gatherSequenceExpressions.js | 6 +- .../lib/converters/toBindingIdentifierName.js | 4 +- .../types/lib/converters/toIdentifier.js | 15 +- .../@babel/types/lib/converters/toKeyAlias.js | 6 +- .../lib/converters/toSequenceExpression.js | 6 +- .../types/lib/converters/valueToNode.js | 26 +- .../@babel/types/lib/definitions/core.js | 28 +- .../types/lib/definitions/experimental.js | 20 +- .../@babel/types/lib/definitions/flow.js | 36 +- .../@babel/types/lib/definitions/index.js | 26 +- .../@babel/types/lib/definitions/jsx.js | 6 +- .../@babel/types/lib/definitions/misc.js | 14 +- .../types/lib/definitions/placeholders.js | 2 +- .../types/lib/definitions/typescript.js | 28 +- .../@babel/types/lib/definitions/utils.js | 21 +- .../node_modules/@babel/types/lib/index.js | 123 +- .../@babel/types/lib/index.js.flow | 72 +- .../types/lib/modifications/inherits.js | 4 +- .../lib/modifications/removePropertiesDeep.js | 6 +- .../retrievers/getOuterBindingIdentifiers.js | 4 +- .../validators/buildMatchMemberExpression.js | 4 +- .../types/lib/validators/generated/index.js | 58 +- .../@babel/types/lib/validators/is.js | 8 +- .../@babel/types/lib/validators/isBinding.js | 4 +- .../types/lib/validators/isBlockScoped.js | 4 +- .../types/lib/validators/isImmutable.js | 4 +- .../types/lib/validators/isNodesEquivalent.js | 2 +- .../types/lib/validators/isReferenced.js | 2 +- .../lib/validators/isValidES3Identifier.js | 4 +- .../types/lib/validators/matchesPattern.js | 2 + .../lib/validators/react/isReactComponent.js | 4 +- .../@babel/types/lib/validators/validate.js | 2 +- .../node_modules/@babel/types/package.json | 22 +- .../types/scripts/generators/asserts.js | 7 +- .../types/scripts/generators/ast-types.js | 11 +- .../types/scripts/generators/builders.js | 16 +- .../types/scripts/generators/constants.js | 7 +- .../@babel/types/scripts/generators/docs.js | 248 +- .../@babel/types/scripts/generators/flow.js | 8 +- .../scripts/generators/typescript-legacy.js | 8 +- .../types/scripts/generators/validators.js | 7 +- .../@babel/types/scripts/package.json | 1 + .../types/scripts/utils/formatBuilderName.js | 6 +- .../@babel/types/scripts/utils/lowerFirst.js | 5 +- .../types/scripts/utils/stringifyValidator.js | 4 +- .../types/scripts/utils/toFunctionName.js | 4 +- .../core/node_modules/browserslist/LICENSE | 20 + .../core/node_modules/browserslist/README.md | 701 + .../core/node_modules/browserslist/browser.js | 46 + .../core/node_modules/browserslist/cli.js | 145 + .../core/node_modules/browserslist/error.js | 12 + .../core/node_modules/browserslist/index.js | 1215 ++ .../core/node_modules/browserslist/node.js | 386 + .../node_modules/browserslist/package.json | 35 + .../node_modules/browserslist/update-db.js | 296 + .../core/node_modules/caniuse-lite/LICENSE | 395 + .../core/node_modules/caniuse-lite/README.md | 92 + .../node_modules/caniuse-lite/data/agents.js | 1 + .../caniuse-lite/data/browserVersions.js | 1 + .../caniuse-lite/data/browsers.js | 1 + .../caniuse-lite/data/features.js | 1 + .../caniuse-lite/data/features/aac.js | 1 + .../data/features/abortcontroller.js | 1 + .../caniuse-lite/data/features/ac3-ec3.js | 1 + .../data/features/accelerometer.js | 1 + .../data/features/addeventlistener.js | 1 + .../data/features/alternate-stylesheet.js | 1 + .../data/features/ambient-light.js | 1 + .../caniuse-lite/data/features/apng.js | 1 + .../data/features/array-find-index.js | 1 + .../caniuse-lite/data/features/array-find.js | 1 + .../caniuse-lite/data/features/array-flat.js | 1 + .../data/features/array-includes.js | 1 + .../data/features/arrow-functions.js | 1 + .../caniuse-lite/data/features/asmjs.js | 1 + .../data/features/async-clipboard.js | 1 + .../data/features/async-functions.js | 1 + .../caniuse-lite/data/features/atob-btoa.js | 1 + .../caniuse-lite/data/features/audio-api.js | 1 + .../caniuse-lite/data/features/audio.js | 1 + .../caniuse-lite/data/features/audiotracks.js | 1 + .../caniuse-lite/data/features/autofocus.js | 1 + .../caniuse-lite/data/features/auxclick.js | 1 + .../caniuse-lite/data/features/av1.js | 1 + .../caniuse-lite/data/features/avif.js | 1 + .../data/features/background-attachment.js | 1 + .../data/features/background-clip-text.js | 1 + .../data/features/background-img-opts.js | 1 + .../data/features/background-position-x-y.js | 1 + .../features/background-repeat-round-space.js | 1 + .../data/features/background-sync.js | 1 + .../data/features/battery-status.js | 1 + .../caniuse-lite/data/features/beacon.js | 1 + .../data/features/beforeafterprint.js | 1 + .../caniuse-lite/data/features/bigint.js | 1 + .../caniuse-lite/data/features/blobbuilder.js | 1 + .../caniuse-lite/data/features/bloburls.js | 1 + .../data/features/border-image.js | 1 + .../data/features/border-radius.js | 1 + .../data/features/broadcastchannel.js | 1 + .../caniuse-lite/data/features/brotli.js | 1 + .../caniuse-lite/data/features/calc.js | 1 + .../data/features/canvas-blending.js | 1 + .../caniuse-lite/data/features/canvas-text.js | 1 + .../caniuse-lite/data/features/canvas.js | 1 + .../caniuse-lite/data/features/ch-unit.js | 1 + .../data/features/chacha20-poly1305.js | 1 + .../data/features/channel-messaging.js | 1 + .../data/features/childnode-remove.js | 1 + .../caniuse-lite/data/features/classlist.js | 1 + .../client-hints-dpr-width-viewport.js | 1 + .../caniuse-lite/data/features/clipboard.js | 1 + .../caniuse-lite/data/features/colr.js | 1 + .../data/features/comparedocumentposition.js | 1 + .../data/features/console-basic.js | 1 + .../data/features/console-time.js | 1 + .../caniuse-lite/data/features/const.js | 1 + .../data/features/constraint-validation.js | 1 + .../data/features/contenteditable.js | 1 + .../data/features/contentsecuritypolicy.js | 1 + .../data/features/contentsecuritypolicy2.js | 1 + .../data/features/cookie-store-api.js | 1 + .../caniuse-lite/data/features/cors.js | 1 + .../data/features/createimagebitmap.js | 1 + .../data/features/credential-management.js | 1 + .../data/features/cryptography.js | 1 + .../caniuse-lite/data/features/css-all.js | 1 + .../data/features/css-animation.js | 1 + .../data/features/css-any-link.js | 1 + .../data/features/css-appearance.js | 1 + .../data/features/css-apply-rule.js | 1 + .../data/features/css-at-counter-style.js | 1 + .../data/features/css-backdrop-filter.js | 1 + .../data/features/css-background-offsets.js | 1 + .../data/features/css-backgroundblendmode.js | 1 + .../data/features/css-boxdecorationbreak.js | 1 + .../data/features/css-boxshadow.js | 1 + .../caniuse-lite/data/features/css-canvas.js | 1 + .../data/features/css-caret-color.js | 1 + .../data/features/css-case-insensitive.js | 1 + .../data/features/css-clip-path.js | 1 + .../data/features/css-color-adjust.js | 1 + .../data/features/css-color-function.js | 1 + .../data/features/css-conic-gradients.js | 1 + .../data/features/css-container-queries.js | 1 + .../data/features/css-containment.js | 1 + .../data/features/css-content-visibility.js | 1 + .../data/features/css-counters.js | 1 + .../data/features/css-crisp-edges.js | 1 + .../data/features/css-cross-fade.js | 1 + .../data/features/css-default-pseudo.js | 1 + .../data/features/css-descendant-gtgt.js | 1 + .../data/features/css-deviceadaptation.js | 1 + .../data/features/css-dir-pseudo.js | 1 + .../data/features/css-display-contents.js | 1 + .../data/features/css-element-function.js | 1 + .../data/features/css-env-function.js | 1 + .../data/features/css-exclusions.js | 1 + .../data/features/css-featurequeries.js | 1 + .../data/features/css-filter-function.js | 1 + .../caniuse-lite/data/features/css-filters.js | 1 + .../data/features/css-first-letter.js | 1 + .../data/features/css-first-line.js | 1 + .../caniuse-lite/data/features/css-fixed.js | 1 + .../data/features/css-focus-visible.js | 1 + .../data/features/css-focus-within.js | 1 + .../features/css-font-rendering-controls.js | 1 + .../data/features/css-font-stretch.js | 1 + .../data/features/css-gencontent.js | 1 + .../data/features/css-gradients.js | 1 + .../caniuse-lite/data/features/css-grid.js | 1 + .../data/features/css-hanging-punctuation.js | 1 + .../caniuse-lite/data/features/css-has.js | 1 + .../data/features/css-hyphenate.js | 1 + .../caniuse-lite/data/features/css-hyphens.js | 1 + .../data/features/css-image-orientation.js | 1 + .../data/features/css-image-set.js | 1 + .../data/features/css-in-out-of-range.js | 1 + .../data/features/css-indeterminate-pseudo.js | 1 + .../data/features/css-initial-letter.js | 1 + .../data/features/css-initial-value.js | 1 + .../data/features/css-letter-spacing.js | 1 + .../data/features/css-line-clamp.js | 1 + .../data/features/css-logical-props.js | 1 + .../data/features/css-marker-pseudo.js | 1 + .../caniuse-lite/data/features/css-masks.js | 1 + .../data/features/css-matches-pseudo.js | 1 + .../data/features/css-math-functions.js | 1 + .../data/features/css-media-interaction.js | 1 + .../data/features/css-media-resolution.js | 1 + .../data/features/css-media-scripting.js | 1 + .../data/features/css-mediaqueries.js | 1 + .../data/features/css-mixblendmode.js | 1 + .../data/features/css-motion-paths.js | 1 + .../data/features/css-namespaces.js | 1 + .../data/features/css-not-sel-list.js | 1 + .../data/features/css-nth-child-of.js | 1 + .../caniuse-lite/data/features/css-opacity.js | 1 + .../data/features/css-optional-pseudo.js | 1 + .../data/features/css-overflow-anchor.js | 1 + .../data/features/css-overflow-overlay.js | 1 + .../data/features/css-overflow.js | 1 + .../data/features/css-overscroll-behavior.js | 1 + .../data/features/css-page-break.js | 1 + .../data/features/css-paged-media.js | 1 + .../data/features/css-paint-api.js | 1 + .../data/features/css-placeholder-shown.js | 1 + .../data/features/css-placeholder.js | 1 + .../data/features/css-read-only-write.js | 1 + .../data/features/css-rebeccapurple.js | 1 + .../data/features/css-reflections.js | 1 + .../caniuse-lite/data/features/css-regions.js | 1 + .../data/features/css-repeating-gradients.js | 1 + .../caniuse-lite/data/features/css-resize.js | 1 + .../data/features/css-revert-value.js | 1 + .../data/features/css-rrggbbaa.js | 1 + .../data/features/css-scroll-behavior.js | 1 + .../data/features/css-scroll-timeline.js | 1 + .../data/features/css-scrollbar.js | 1 + .../caniuse-lite/data/features/css-sel2.js | 1 + .../caniuse-lite/data/features/css-sel3.js | 1 + .../data/features/css-selection.js | 1 + .../caniuse-lite/data/features/css-shapes.js | 1 + .../data/features/css-snappoints.js | 1 + .../caniuse-lite/data/features/css-sticky.js | 1 + .../caniuse-lite/data/features/css-subgrid.js | 1 + .../data/features/css-supports-api.js | 1 + .../caniuse-lite/data/features/css-table.js | 1 + .../data/features/css-text-align-last.js | 1 + .../data/features/css-text-indent.js | 1 + .../data/features/css-text-justify.js | 1 + .../data/features/css-text-orientation.js | 1 + .../data/features/css-text-spacing.js | 1 + .../data/features/css-textshadow.js | 1 + .../data/features/css-touch-action-2.js | 1 + .../data/features/css-touch-action.js | 1 + .../data/features/css-transitions.js | 1 + .../data/features/css-unicode-bidi.js | 1 + .../data/features/css-unset-value.js | 1 + .../data/features/css-variables.js | 1 + .../data/features/css-widows-orphans.js | 1 + .../data/features/css-writing-mode.js | 1 + .../caniuse-lite/data/features/css-zoom.js | 1 + .../caniuse-lite/data/features/css3-attr.js | 1 + .../data/features/css3-boxsizing.js | 1 + .../caniuse-lite/data/features/css3-colors.js | 1 + .../data/features/css3-cursors-grab.js | 1 + .../data/features/css3-cursors-newer.js | 1 + .../data/features/css3-cursors.js | 1 + .../data/features/css3-tabsize.js | 1 + .../data/features/currentcolor.js | 1 + .../data/features/custom-elements.js | 1 + .../data/features/custom-elementsv1.js | 1 + .../caniuse-lite/data/features/customevent.js | 1 + .../caniuse-lite/data/features/datalist.js | 1 + .../caniuse-lite/data/features/dataset.js | 1 + .../caniuse-lite/data/features/datauri.js | 1 + .../data/features/date-tolocaledatestring.js | 1 + .../caniuse-lite/data/features/details.js | 1 + .../data/features/deviceorientation.js | 1 + .../data/features/devicepixelratio.js | 1 + .../caniuse-lite/data/features/dialog.js | 1 + .../data/features/dispatchevent.js | 1 + .../caniuse-lite/data/features/dnssec.js | 1 + .../data/features/do-not-track.js | 1 + .../data/features/document-currentscript.js | 1 + .../data/features/document-evaluate-xpath.js | 1 + .../data/features/document-execcommand.js | 1 + .../data/features/document-policy.js | 1 + .../features/document-scrollingelement.js | 1 + .../data/features/documenthead.js | 1 + .../data/features/dom-manip-convenience.js | 1 + .../caniuse-lite/data/features/dom-range.js | 1 + .../data/features/domcontentloaded.js | 1 + .../features/domfocusin-domfocusout-events.js | 1 + .../caniuse-lite/data/features/dommatrix.js | 1 + .../caniuse-lite/data/features/download.js | 1 + .../caniuse-lite/data/features/dragndrop.js | 1 + .../data/features/element-closest.js | 1 + .../data/features/element-from-point.js | 1 + .../data/features/element-scroll-methods.js | 1 + .../caniuse-lite/data/features/eme.js | 1 + .../caniuse-lite/data/features/eot.js | 1 + .../caniuse-lite/data/features/es5.js | 1 + .../caniuse-lite/data/features/es6-class.js | 1 + .../data/features/es6-generators.js | 1 + .../features/es6-module-dynamic-import.js | 1 + .../caniuse-lite/data/features/es6-module.js | 1 + .../caniuse-lite/data/features/es6-number.js | 1 + .../data/features/es6-string-includes.js | 1 + .../caniuse-lite/data/features/es6.js | 1 + .../caniuse-lite/data/features/eventsource.js | 1 + .../data/features/extended-system-fonts.js | 1 + .../data/features/feature-policy.js | 1 + .../caniuse-lite/data/features/fetch.js | 1 + .../data/features/fieldset-disabled.js | 1 + .../caniuse-lite/data/features/fileapi.js | 1 + .../caniuse-lite/data/features/filereader.js | 1 + .../data/features/filereadersync.js | 1 + .../caniuse-lite/data/features/filesystem.js | 1 + .../caniuse-lite/data/features/flac.js | 1 + .../caniuse-lite/data/features/flexbox-gap.js | 1 + .../caniuse-lite/data/features/flexbox.js | 1 + .../caniuse-lite/data/features/flow-root.js | 1 + .../data/features/focusin-focusout-events.js | 1 + .../features/focusoptions-preventscroll.js | 1 + .../data/features/font-family-system-ui.js | 1 + .../data/features/font-feature.js | 1 + .../data/features/font-kerning.js | 1 + .../data/features/font-loading.js | 1 + .../data/features/font-metrics-overrides.js | 1 + .../data/features/font-size-adjust.js | 1 + .../caniuse-lite/data/features/font-smooth.js | 1 + .../data/features/font-unicode-range.js | 1 + .../data/features/font-variant-alternates.js | 1 + .../data/features/font-variant-east-asian.js | 1 + .../data/features/font-variant-numeric.js | 1 + .../caniuse-lite/data/features/fontface.js | 1 + .../data/features/form-attribute.js | 1 + .../data/features/form-submit-attributes.js | 1 + .../data/features/form-validation.js | 1 + .../caniuse-lite/data/features/forms.js | 1 + .../caniuse-lite/data/features/fullscreen.js | 1 + .../caniuse-lite/data/features/gamepad.js | 1 + .../caniuse-lite/data/features/geolocation.js | 1 + .../data/features/getboundingclientrect.js | 1 + .../data/features/getcomputedstyle.js | 1 + .../data/features/getelementsbyclassname.js | 1 + .../data/features/getrandomvalues.js | 1 + .../caniuse-lite/data/features/gyroscope.js | 1 + .../data/features/hardwareconcurrency.js | 1 + .../caniuse-lite/data/features/hashchange.js | 1 + .../caniuse-lite/data/features/heif.js | 1 + .../caniuse-lite/data/features/hevc.js | 1 + .../caniuse-lite/data/features/hidden.js | 1 + .../data/features/high-resolution-time.js | 1 + .../caniuse-lite/data/features/history.js | 1 + .../data/features/html-media-capture.js | 1 + .../data/features/html5semantic.js | 1 + .../data/features/http-live-streaming.js | 1 + .../caniuse-lite/data/features/http2.js | 1 + .../caniuse-lite/data/features/http3.js | 1 + .../data/features/iframe-sandbox.js | 1 + .../data/features/iframe-seamless.js | 1 + .../data/features/iframe-srcdoc.js | 1 + .../data/features/imagecapture.js | 1 + .../caniuse-lite/data/features/ime.js | 1 + .../img-naturalwidth-naturalheight.js | 1 + .../caniuse-lite/data/features/import-maps.js | 1 + .../caniuse-lite/data/features/imports.js | 1 + .../data/features/indeterminate-checkbox.js | 1 + .../caniuse-lite/data/features/indexeddb.js | 1 + .../caniuse-lite/data/features/indexeddb2.js | 1 + .../data/features/inline-block.js | 1 + .../caniuse-lite/data/features/innertext.js | 1 + .../data/features/input-autocomplete-onoff.js | 1 + .../caniuse-lite/data/features/input-color.js | 1 + .../data/features/input-datetime.js | 1 + .../data/features/input-email-tel-url.js | 1 + .../caniuse-lite/data/features/input-event.js | 1 + .../data/features/input-file-accept.js | 1 + .../data/features/input-file-directory.js | 1 + .../data/features/input-file-multiple.js | 1 + .../data/features/input-inputmode.js | 1 + .../data/features/input-minlength.js | 1 + .../data/features/input-number.js | 1 + .../data/features/input-pattern.js | 1 + .../data/features/input-placeholder.js | 1 + .../caniuse-lite/data/features/input-range.js | 1 + .../data/features/input-search.js | 1 + .../data/features/input-selection.js | 1 + .../data/features/insert-adjacent.js | 1 + .../data/features/insertadjacenthtml.js | 1 + .../data/features/internationalization.js | 1 + .../data/features/intersectionobserver-v2.js | 1 + .../data/features/intersectionobserver.js | 1 + .../data/features/intl-pluralrules.js | 1 + .../data/features/intrinsic-width.js | 1 + .../caniuse-lite/data/features/jpeg2000.js | 1 + .../caniuse-lite/data/features/jpegxl.js | 1 + .../caniuse-lite/data/features/jpegxr.js | 1 + .../data/features/js-regexp-lookbehind.js | 1 + .../caniuse-lite/data/features/json.js | 1 + .../features/justify-content-space-evenly.js | 1 + .../data/features/kerning-pairs-ligatures.js | 1 + .../data/features/keyboardevent-charcode.js | 1 + .../data/features/keyboardevent-code.js | 1 + .../keyboardevent-getmodifierstate.js | 1 + .../data/features/keyboardevent-key.js | 1 + .../data/features/keyboardevent-location.js | 1 + .../data/features/keyboardevent-which.js | 1 + .../caniuse-lite/data/features/lazyload.js | 1 + .../caniuse-lite/data/features/let.js | 1 + .../data/features/link-icon-png.js | 1 + .../data/features/link-icon-svg.js | 1 + .../data/features/link-rel-dns-prefetch.js | 1 + .../data/features/link-rel-modulepreload.js | 1 + .../data/features/link-rel-preconnect.js | 1 + .../data/features/link-rel-prefetch.js | 1 + .../data/features/link-rel-preload.js | 1 + .../data/features/link-rel-prerender.js | 1 + .../data/features/loading-lazy-attr.js | 1 + .../data/features/localecompare.js | 1 + .../data/features/magnetometer.js | 1 + .../data/features/matchesselector.js | 1 + .../caniuse-lite/data/features/matchmedia.js | 1 + .../caniuse-lite/data/features/mathml.js | 1 + .../caniuse-lite/data/features/maxlength.js | 1 + .../data/features/media-attribute.js | 1 + .../data/features/media-fragments.js | 1 + .../data/features/media-session-api.js | 1 + .../data/features/mediacapture-fromelement.js | 1 + .../data/features/mediarecorder.js | 1 + .../caniuse-lite/data/features/mediasource.js | 1 + .../caniuse-lite/data/features/menu.js | 1 + .../data/features/meta-theme-color.js | 1 + .../caniuse-lite/data/features/meter.js | 1 + .../caniuse-lite/data/features/midi.js | 1 + .../caniuse-lite/data/features/minmaxwh.js | 1 + .../caniuse-lite/data/features/mp3.js | 1 + .../caniuse-lite/data/features/mpeg-dash.js | 1 + .../caniuse-lite/data/features/mpeg4.js | 1 + .../data/features/multibackgrounds.js | 1 + .../caniuse-lite/data/features/multicolumn.js | 1 + .../data/features/mutation-events.js | 1 + .../data/features/mutationobserver.js | 1 + .../data/features/namevalue-storage.js | 1 + .../data/features/native-filesystem-api.js | 1 + .../caniuse-lite/data/features/nav-timing.js | 1 + .../data/features/navigator-language.js | 1 + .../caniuse-lite/data/features/netinfo.js | 1 + .../data/features/notifications.js | 1 + .../data/features/object-entries.js | 1 + .../caniuse-lite/data/features/object-fit.js | 1 + .../data/features/object-observe.js | 1 + .../data/features/object-values.js | 1 + .../caniuse-lite/data/features/objectrtc.js | 1 + .../data/features/offline-apps.js | 1 + .../data/features/offscreencanvas.js | 1 + .../caniuse-lite/data/features/ogg-vorbis.js | 1 + .../caniuse-lite/data/features/ogv.js | 1 + .../caniuse-lite/data/features/ol-reversed.js | 1 + .../data/features/once-event-listener.js | 1 + .../data/features/online-status.js | 1 + .../caniuse-lite/data/features/opus.js | 1 + .../data/features/orientation-sensor.js | 1 + .../caniuse-lite/data/features/outline.js | 1 + .../data/features/pad-start-end.js | 1 + .../data/features/page-transition-events.js | 1 + .../data/features/pagevisibility.js | 1 + .../data/features/passive-event-listener.js | 1 + .../data/features/passwordrules.js | 1 + .../caniuse-lite/data/features/path2d.js | 1 + .../data/features/payment-request.js | 1 + .../caniuse-lite/data/features/pdf-viewer.js | 1 + .../data/features/permissions-api.js | 1 + .../data/features/permissions-policy.js | 1 + .../data/features/picture-in-picture.js | 1 + .../caniuse-lite/data/features/picture.js | 1 + .../caniuse-lite/data/features/ping.js | 1 + .../caniuse-lite/data/features/png-alpha.js | 1 + .../data/features/pointer-events.js | 1 + .../caniuse-lite/data/features/pointer.js | 1 + .../caniuse-lite/data/features/pointerlock.js | 1 + .../caniuse-lite/data/features/portals.js | 1 + .../data/features/prefers-color-scheme.js | 1 + .../data/features/prefers-reduced-motion.js | 1 + .../data/features/private-class-fields.js | 1 + .../features/private-methods-and-accessors.js | 1 + .../caniuse-lite/data/features/progress.js | 1 + .../data/features/promise-finally.js | 1 + .../caniuse-lite/data/features/promises.js | 1 + .../caniuse-lite/data/features/proximity.js | 1 + .../caniuse-lite/data/features/proxy.js | 1 + .../data/features/public-class-fields.js | 1 + .../data/features/publickeypinning.js | 1 + .../caniuse-lite/data/features/push-api.js | 1 + .../data/features/queryselector.js | 1 + .../data/features/readonly-attr.js | 1 + .../data/features/referrer-policy.js | 1 + .../data/features/registerprotocolhandler.js | 1 + .../data/features/rel-noopener.js | 1 + .../data/features/rel-noreferrer.js | 1 + .../caniuse-lite/data/features/rellist.js | 1 + .../caniuse-lite/data/features/rem.js | 1 + .../data/features/requestanimationframe.js | 1 + .../data/features/requestidlecallback.js | 1 + .../data/features/resizeobserver.js | 1 + .../data/features/resource-timing.js | 1 + .../data/features/rest-parameters.js | 1 + .../data/features/rtcpeerconnection.js | 1 + .../caniuse-lite/data/features/ruby.js | 1 + .../caniuse-lite/data/features/run-in.js | 1 + .../features/same-site-cookie-attribute.js | 1 + .../data/features/screen-orientation.js | 1 + .../data/features/script-async.js | 1 + .../data/features/script-defer.js | 1 + .../data/features/scrollintoview.js | 1 + .../data/features/scrollintoviewifneeded.js | 1 + .../caniuse-lite/data/features/sdch.js | 1 + .../data/features/selection-api.js | 1 + .../data/features/server-timing.js | 1 + .../data/features/serviceworkers.js | 1 + .../data/features/setimmediate.js | 1 + .../caniuse-lite/data/features/sha-2.js | 1 + .../caniuse-lite/data/features/shadowdom.js | 1 + .../caniuse-lite/data/features/shadowdomv1.js | 1 + .../data/features/sharedarraybuffer.js | 1 + .../data/features/sharedworkers.js | 1 + .../caniuse-lite/data/features/sni.js | 1 + .../caniuse-lite/data/features/spdy.js | 1 + .../data/features/speech-recognition.js | 1 + .../data/features/speech-synthesis.js | 1 + .../data/features/spellcheck-attribute.js | 1 + .../caniuse-lite/data/features/sql-storage.js | 1 + .../caniuse-lite/data/features/srcset.js | 1 + .../caniuse-lite/data/features/stream.js | 1 + .../caniuse-lite/data/features/streams.js | 1 + .../data/features/stricttransportsecurity.js | 1 + .../data/features/style-scoped.js | 1 + .../data/features/subresource-integrity.js | 1 + .../caniuse-lite/data/features/svg-css.js | 1 + .../caniuse-lite/data/features/svg-filters.js | 1 + .../caniuse-lite/data/features/svg-fonts.js | 1 + .../data/features/svg-fragment.js | 1 + .../caniuse-lite/data/features/svg-html.js | 1 + .../caniuse-lite/data/features/svg-html5.js | 1 + .../caniuse-lite/data/features/svg-img.js | 1 + .../caniuse-lite/data/features/svg-smil.js | 1 + .../caniuse-lite/data/features/svg.js | 1 + .../caniuse-lite/data/features/sxg.js | 1 + .../data/features/tabindex-attr.js | 1 + .../data/features/template-literals.js | 1 + .../caniuse-lite/data/features/template.js | 1 + .../caniuse-lite/data/features/testfeat.js | 1 + .../data/features/text-decoration.js | 1 + .../data/features/text-emphasis.js | 1 + .../data/features/text-overflow.js | 1 + .../data/features/text-size-adjust.js | 1 + .../caniuse-lite/data/features/text-stroke.js | 1 + .../data/features/text-underline-offset.js | 1 + .../caniuse-lite/data/features/textcontent.js | 1 + .../caniuse-lite/data/features/textencoder.js | 1 + .../caniuse-lite/data/features/tls1-1.js | 1 + .../caniuse-lite/data/features/tls1-2.js | 1 + .../caniuse-lite/data/features/tls1-3.js | 1 + .../data/features/token-binding.js | 1 + .../caniuse-lite/data/features/touch.js | 1 + .../data/features/transforms2d.js | 1 + .../data/features/transforms3d.js | 1 + .../data/features/trusted-types.js | 1 + .../caniuse-lite/data/features/ttf.js | 1 + .../caniuse-lite/data/features/typedarrays.js | 1 + .../caniuse-lite/data/features/u2f.js | 1 + .../data/features/unhandledrejection.js | 1 + .../data/features/upgradeinsecurerequests.js | 1 + .../features/url-scroll-to-text-fragment.js | 1 + .../caniuse-lite/data/features/url.js | 1 + .../data/features/urlsearchparams.js | 1 + .../caniuse-lite/data/features/use-strict.js | 1 + .../data/features/user-select-none.js | 1 + .../caniuse-lite/data/features/user-timing.js | 1 + .../data/features/variable-fonts.js | 1 + .../data/features/vector-effect.js | 1 + .../caniuse-lite/data/features/vibration.js | 1 + .../caniuse-lite/data/features/video.js | 1 + .../caniuse-lite/data/features/videotracks.js | 1 + .../data/features/viewport-units.js | 1 + .../caniuse-lite/data/features/wai-aria.js | 1 + .../caniuse-lite/data/features/wake-lock.js | 1 + .../caniuse-lite/data/features/wasm.js | 1 + .../caniuse-lite/data/features/wav.js | 1 + .../caniuse-lite/data/features/wbr-element.js | 1 + .../data/features/web-animation.js | 1 + .../data/features/web-app-manifest.js | 1 + .../data/features/web-bluetooth.js | 1 + .../caniuse-lite/data/features/web-serial.js | 1 + .../caniuse-lite/data/features/web-share.js | 1 + .../caniuse-lite/data/features/webauthn.js | 1 + .../caniuse-lite/data/features/webgl.js | 1 + .../caniuse-lite/data/features/webgl2.js | 1 + .../caniuse-lite/data/features/webgpu.js | 1 + .../caniuse-lite/data/features/webhid.js | 1 + .../data/features/webkit-user-drag.js | 1 + .../caniuse-lite/data/features/webm.js | 1 + .../caniuse-lite/data/features/webnfc.js | 1 + .../caniuse-lite/data/features/webp.js | 1 + .../caniuse-lite/data/features/websockets.js | 1 + .../caniuse-lite/data/features/webusb.js | 1 + .../caniuse-lite/data/features/webvr.js | 1 + .../caniuse-lite/data/features/webvtt.js | 1 + .../caniuse-lite/data/features/webworkers.js | 1 + .../caniuse-lite/data/features/webxr.js | 1 + .../caniuse-lite/data/features/will-change.js | 1 + .../caniuse-lite/data/features/woff.js | 1 + .../caniuse-lite/data/features/woff2.js | 1 + .../caniuse-lite/data/features/word-break.js | 1 + .../caniuse-lite/data/features/wordwrap.js | 1 + .../data/features/x-doc-messaging.js | 1 + .../data/features/x-frame-options.js | 1 + .../caniuse-lite/data/features/xhr2.js | 1 + .../caniuse-lite/data/features/xhtml.js | 1 + .../caniuse-lite/data/features/xhtmlsmil.js | 1 + .../data/features/xml-serializer.js | 1 + .../caniuse-lite/data/regions/AD.js | 1 + .../caniuse-lite/data/regions/AE.js | 1 + .../caniuse-lite/data/regions/AF.js | 1 + .../caniuse-lite/data/regions/AG.js | 1 + .../caniuse-lite/data/regions/AI.js | 1 + .../caniuse-lite/data/regions/AL.js | 1 + .../caniuse-lite/data/regions/AM.js | 1 + .../caniuse-lite/data/regions/AO.js | 1 + .../caniuse-lite/data/regions/AR.js | 1 + .../caniuse-lite/data/regions/AS.js | 1 + .../caniuse-lite/data/regions/AT.js | 1 + .../caniuse-lite/data/regions/AU.js | 1 + .../caniuse-lite/data/regions/AW.js | 1 + .../caniuse-lite/data/regions/AX.js | 1 + .../caniuse-lite/data/regions/AZ.js | 1 + .../caniuse-lite/data/regions/BA.js | 1 + .../caniuse-lite/data/regions/BB.js | 1 + .../caniuse-lite/data/regions/BD.js | 1 + .../caniuse-lite/data/regions/BE.js | 1 + .../caniuse-lite/data/regions/BF.js | 1 + .../caniuse-lite/data/regions/BG.js | 1 + .../caniuse-lite/data/regions/BH.js | 1 + .../caniuse-lite/data/regions/BI.js | 1 + .../caniuse-lite/data/regions/BJ.js | 1 + .../caniuse-lite/data/regions/BM.js | 1 + .../caniuse-lite/data/regions/BN.js | 1 + .../caniuse-lite/data/regions/BO.js | 1 + .../caniuse-lite/data/regions/BR.js | 1 + .../caniuse-lite/data/regions/BS.js | 1 + .../caniuse-lite/data/regions/BT.js | 1 + .../caniuse-lite/data/regions/BW.js | 1 + .../caniuse-lite/data/regions/BY.js | 1 + .../caniuse-lite/data/regions/BZ.js | 1 + .../caniuse-lite/data/regions/CA.js | 1 + .../caniuse-lite/data/regions/CD.js | 1 + .../caniuse-lite/data/regions/CF.js | 1 + .../caniuse-lite/data/regions/CG.js | 1 + .../caniuse-lite/data/regions/CH.js | 1 + .../caniuse-lite/data/regions/CI.js | 1 + .../caniuse-lite/data/regions/CK.js | 1 + .../caniuse-lite/data/regions/CL.js | 1 + .../caniuse-lite/data/regions/CM.js | 1 + .../caniuse-lite/data/regions/CN.js | 1 + .../caniuse-lite/data/regions/CO.js | 1 + .../caniuse-lite/data/regions/CR.js | 1 + .../caniuse-lite/data/regions/CU.js | 1 + .../caniuse-lite/data/regions/CV.js | 1 + .../caniuse-lite/data/regions/CX.js | 1 + .../caniuse-lite/data/regions/CY.js | 1 + .../caniuse-lite/data/regions/CZ.js | 1 + .../caniuse-lite/data/regions/DE.js | 1 + .../caniuse-lite/data/regions/DJ.js | 1 + .../caniuse-lite/data/regions/DK.js | 1 + .../caniuse-lite/data/regions/DM.js | 1 + .../caniuse-lite/data/regions/DO.js | 1 + .../caniuse-lite/data/regions/DZ.js | 1 + .../caniuse-lite/data/regions/EC.js | 1 + .../caniuse-lite/data/regions/EE.js | 1 + .../caniuse-lite/data/regions/EG.js | 1 + .../caniuse-lite/data/regions/ER.js | 1 + .../caniuse-lite/data/regions/ES.js | 1 + .../caniuse-lite/data/regions/ET.js | 1 + .../caniuse-lite/data/regions/FI.js | 1 + .../caniuse-lite/data/regions/FJ.js | 1 + .../caniuse-lite/data/regions/FK.js | 1 + .../caniuse-lite/data/regions/FM.js | 1 + .../caniuse-lite/data/regions/FO.js | 1 + .../caniuse-lite/data/regions/FR.js | 1 + .../caniuse-lite/data/regions/GA.js | 1 + .../caniuse-lite/data/regions/GB.js | 1 + .../caniuse-lite/data/regions/GD.js | 1 + .../caniuse-lite/data/regions/GE.js | 1 + .../caniuse-lite/data/regions/GF.js | 1 + .../caniuse-lite/data/regions/GG.js | 1 + .../caniuse-lite/data/regions/GH.js | 1 + .../caniuse-lite/data/regions/GI.js | 1 + .../caniuse-lite/data/regions/GL.js | 1 + .../caniuse-lite/data/regions/GM.js | 1 + .../caniuse-lite/data/regions/GN.js | 1 + .../caniuse-lite/data/regions/GP.js | 1 + .../caniuse-lite/data/regions/GQ.js | 1 + .../caniuse-lite/data/regions/GR.js | 1 + .../caniuse-lite/data/regions/GT.js | 1 + .../caniuse-lite/data/regions/GU.js | 1 + .../caniuse-lite/data/regions/GW.js | 1 + .../caniuse-lite/data/regions/GY.js | 1 + .../caniuse-lite/data/regions/HK.js | 1 + .../caniuse-lite/data/regions/HN.js | 1 + .../caniuse-lite/data/regions/HR.js | 1 + .../caniuse-lite/data/regions/HT.js | 1 + .../caniuse-lite/data/regions/HU.js | 1 + .../caniuse-lite/data/regions/ID.js | 1 + .../caniuse-lite/data/regions/IE.js | 1 + .../caniuse-lite/data/regions/IL.js | 1 + .../caniuse-lite/data/regions/IM.js | 1 + .../caniuse-lite/data/regions/IN.js | 1 + .../caniuse-lite/data/regions/IQ.js | 1 + .../caniuse-lite/data/regions/IR.js | 1 + .../caniuse-lite/data/regions/IS.js | 1 + .../caniuse-lite/data/regions/IT.js | 1 + .../caniuse-lite/data/regions/JE.js | 1 + .../caniuse-lite/data/regions/JM.js | 1 + .../caniuse-lite/data/regions/JO.js | 1 + .../caniuse-lite/data/regions/JP.js | 1 + .../caniuse-lite/data/regions/KE.js | 1 + .../caniuse-lite/data/regions/KG.js | 1 + .../caniuse-lite/data/regions/KH.js | 1 + .../caniuse-lite/data/regions/KI.js | 1 + .../caniuse-lite/data/regions/KM.js | 1 + .../caniuse-lite/data/regions/KN.js | 1 + .../caniuse-lite/data/regions/KP.js | 1 + .../caniuse-lite/data/regions/KR.js | 1 + .../caniuse-lite/data/regions/KW.js | 1 + .../caniuse-lite/data/regions/KY.js | 1 + .../caniuse-lite/data/regions/KZ.js | 1 + .../caniuse-lite/data/regions/LA.js | 1 + .../caniuse-lite/data/regions/LB.js | 1 + .../caniuse-lite/data/regions/LC.js | 1 + .../caniuse-lite/data/regions/LI.js | 1 + .../caniuse-lite/data/regions/LK.js | 1 + .../caniuse-lite/data/regions/LR.js | 1 + .../caniuse-lite/data/regions/LS.js | 1 + .../caniuse-lite/data/regions/LT.js | 1 + .../caniuse-lite/data/regions/LU.js | 1 + .../caniuse-lite/data/regions/LV.js | 1 + .../caniuse-lite/data/regions/LY.js | 1 + .../caniuse-lite/data/regions/MA.js | 1 + .../caniuse-lite/data/regions/MC.js | 1 + .../caniuse-lite/data/regions/MD.js | 1 + .../caniuse-lite/data/regions/ME.js | 1 + .../caniuse-lite/data/regions/MG.js | 1 + .../caniuse-lite/data/regions/MH.js | 1 + .../caniuse-lite/data/regions/MK.js | 1 + .../caniuse-lite/data/regions/ML.js | 1 + .../caniuse-lite/data/regions/MM.js | 1 + .../caniuse-lite/data/regions/MN.js | 1 + .../caniuse-lite/data/regions/MO.js | 1 + .../caniuse-lite/data/regions/MP.js | 1 + .../caniuse-lite/data/regions/MQ.js | 1 + .../caniuse-lite/data/regions/MR.js | 1 + .../caniuse-lite/data/regions/MS.js | 1 + .../caniuse-lite/data/regions/MT.js | 1 + .../caniuse-lite/data/regions/MU.js | 1 + .../caniuse-lite/data/regions/MV.js | 1 + .../caniuse-lite/data/regions/MW.js | 1 + .../caniuse-lite/data/regions/MX.js | 1 + .../caniuse-lite/data/regions/MY.js | 1 + .../caniuse-lite/data/regions/MZ.js | 1 + .../caniuse-lite/data/regions/NA.js | 1 + .../caniuse-lite/data/regions/NC.js | 1 + .../caniuse-lite/data/regions/NE.js | 1 + .../caniuse-lite/data/regions/NF.js | 1 + .../caniuse-lite/data/regions/NG.js | 1 + .../caniuse-lite/data/regions/NI.js | 1 + .../caniuse-lite/data/regions/NL.js | 1 + .../caniuse-lite/data/regions/NO.js | 1 + .../caniuse-lite/data/regions/NP.js | 1 + .../caniuse-lite/data/regions/NR.js | 1 + .../caniuse-lite/data/regions/NU.js | 1 + .../caniuse-lite/data/regions/NZ.js | 1 + .../caniuse-lite/data/regions/OM.js | 1 + .../caniuse-lite/data/regions/PA.js | 1 + .../caniuse-lite/data/regions/PE.js | 1 + .../caniuse-lite/data/regions/PF.js | 1 + .../caniuse-lite/data/regions/PG.js | 1 + .../caniuse-lite/data/regions/PH.js | 1 + .../caniuse-lite/data/regions/PK.js | 1 + .../caniuse-lite/data/regions/PL.js | 1 + .../caniuse-lite/data/regions/PM.js | 1 + .../caniuse-lite/data/regions/PN.js | 1 + .../caniuse-lite/data/regions/PR.js | 1 + .../caniuse-lite/data/regions/PS.js | 1 + .../caniuse-lite/data/regions/PT.js | 1 + .../caniuse-lite/data/regions/PW.js | 1 + .../caniuse-lite/data/regions/PY.js | 1 + .../caniuse-lite/data/regions/QA.js | 1 + .../caniuse-lite/data/regions/RE.js | 1 + .../caniuse-lite/data/regions/RO.js | 1 + .../caniuse-lite/data/regions/RS.js | 1 + .../caniuse-lite/data/regions/RU.js | 1 + .../caniuse-lite/data/regions/RW.js | 1 + .../caniuse-lite/data/regions/SA.js | 1 + .../caniuse-lite/data/regions/SB.js | 1 + .../caniuse-lite/data/regions/SC.js | 1 + .../caniuse-lite/data/regions/SD.js | 1 + .../caniuse-lite/data/regions/SE.js | 1 + .../caniuse-lite/data/regions/SG.js | 1 + .../caniuse-lite/data/regions/SH.js | 1 + .../caniuse-lite/data/regions/SI.js | 1 + .../caniuse-lite/data/regions/SK.js | 1 + .../caniuse-lite/data/regions/SL.js | 1 + .../caniuse-lite/data/regions/SM.js | 1 + .../caniuse-lite/data/regions/SN.js | 1 + .../caniuse-lite/data/regions/SO.js | 1 + .../caniuse-lite/data/regions/SR.js | 1 + .../caniuse-lite/data/regions/ST.js | 1 + .../caniuse-lite/data/regions/SV.js | 1 + .../caniuse-lite/data/regions/SY.js | 1 + .../caniuse-lite/data/regions/SZ.js | 1 + .../caniuse-lite/data/regions/TC.js | 1 + .../caniuse-lite/data/regions/TD.js | 1 + .../caniuse-lite/data/regions/TG.js | 1 + .../caniuse-lite/data/regions/TH.js | 1 + .../caniuse-lite/data/regions/TJ.js | 1 + .../caniuse-lite/data/regions/TK.js | 1 + .../caniuse-lite/data/regions/TL.js | 1 + .../caniuse-lite/data/regions/TM.js | 1 + .../caniuse-lite/data/regions/TN.js | 1 + .../caniuse-lite/data/regions/TO.js | 1 + .../caniuse-lite/data/regions/TR.js | 1 + .../caniuse-lite/data/regions/TT.js | 1 + .../caniuse-lite/data/regions/TV.js | 1 + .../caniuse-lite/data/regions/TW.js | 1 + .../caniuse-lite/data/regions/TZ.js | 1 + .../caniuse-lite/data/regions/UA.js | 1 + .../caniuse-lite/data/regions/UG.js | 1 + .../caniuse-lite/data/regions/US.js | 1 + .../caniuse-lite/data/regions/UY.js | 1 + .../caniuse-lite/data/regions/UZ.js | 1 + .../caniuse-lite/data/regions/VA.js | 1 + .../caniuse-lite/data/regions/VC.js | 1 + .../caniuse-lite/data/regions/VE.js | 1 + .../caniuse-lite/data/regions/VG.js | 1 + .../caniuse-lite/data/regions/VI.js | 1 + .../caniuse-lite/data/regions/VN.js | 1 + .../caniuse-lite/data/regions/VU.js | 1 + .../caniuse-lite/data/regions/WF.js | 1 + .../caniuse-lite/data/regions/WS.js | 1 + .../caniuse-lite/data/regions/YE.js | 1 + .../caniuse-lite/data/regions/YT.js | 1 + .../caniuse-lite/data/regions/ZA.js | 1 + .../caniuse-lite/data/regions/ZM.js | 1 + .../caniuse-lite/data/regions/ZW.js | 1 + .../caniuse-lite/data/regions/alt-af.js | 1 + .../caniuse-lite/data/regions/alt-an.js | 1 + .../caniuse-lite/data/regions/alt-as.js | 1 + .../caniuse-lite/data/regions/alt-eu.js | 1 + .../caniuse-lite/data/regions/alt-na.js | 1 + .../caniuse-lite/data/regions/alt-oc.js | 1 + .../caniuse-lite/data/regions/alt-sa.js | 1 + .../caniuse-lite/data/regions/alt-ww.js | 1 + .../caniuse-lite/dist/lib/statuses.js | 9 + .../caniuse-lite/dist/lib/supported.js | 9 + .../caniuse-lite/dist/unpacker/agents.js | 45 + .../dist/unpacker/browserVersions.js | 1 + .../caniuse-lite/dist/unpacker/browsers.js | 1 + .../caniuse-lite/dist/unpacker/feature.js | 46 + .../caniuse-lite/dist/unpacker/features.js | 6 + .../caniuse-lite/dist/unpacker/index.js | 4 + .../caniuse-lite/dist/unpacker/region.js | 20 + .../node_modules/caniuse-lite/package.json | 28 + .../core/node_modules/colorette/LICENSE.md | 7 + .../core/node_modules/colorette/README.md | 102 + .../core/node_modules/colorette/index.cjs | 73 + .../core/node_modules/colorette/index.js | 73 + .../core/node_modules/colorette/package.json | 39 + .../node_modules/convert-source-map/README.md | 5 - .../node_modules/convert-source-map/index.js | 4 +- .../convert-source-map/package.json | 2 +- .../node_modules/electron-to-chromium/LICENSE | 5 + .../electron-to-chromium/README.md | 186 + .../electron-to-chromium/chromium-versions.js | 38 + .../full-chromium-versions.js | 1385 ++ .../electron-to-chromium/full-versions.js | 989 + .../electron-to-chromium/index.js | 36 + .../electron-to-chromium/package.json | 38 + .../electron-to-chromium/versions.js | 68 + .../core/node_modules/escalade/dist/index.js | 22 + .../core/node_modules/escalade/dist/index.mjs | 22 + .../@babel/core/node_modules/escalade/license | 9 + .../core/node_modules/escalade/package.json | 61 + .../core/node_modules/escalade/readme.md | 211 + .../core/node_modules/escalade/sync/index.js | 18 + .../core/node_modules/escalade/sync/index.mjs | 18 + .../@babel/core/node_modules/json5/README.md | 4 +- .../core/node_modules/json5/package.json | 3 +- .../@babel/core/node_modules/lodash/README.md | 39 - .../core/node_modules/lodash/_DataView.js | 7 - .../@babel/core/node_modules/lodash/_Hash.js | 32 - .../core/node_modules/lodash/_LazyWrapper.js | 28 - .../core/node_modules/lodash/_ListCache.js | 32 - .../node_modules/lodash/_LodashWrapper.js | 22 - .../@babel/core/node_modules/lodash/_Map.js | 7 - .../core/node_modules/lodash/_MapCache.js | 32 - .../core/node_modules/lodash/_Promise.js | 7 - .../@babel/core/node_modules/lodash/_Set.js | 7 - .../core/node_modules/lodash/_SetCache.js | 27 - .../@babel/core/node_modules/lodash/_Stack.js | 27 - .../core/node_modules/lodash/_Symbol.js | 6 - .../core/node_modules/lodash/_Uint8Array.js | 6 - .../core/node_modules/lodash/_WeakMap.js | 7 - .../@babel/core/node_modules/lodash/_apply.js | 21 - .../node_modules/lodash/_arrayAggregator.js | 22 - .../core/node_modules/lodash/_arrayEach.js | 22 - .../node_modules/lodash/_arrayEachRight.js | 21 - .../core/node_modules/lodash/_arrayEvery.js | 23 - .../core/node_modules/lodash/_arrayFilter.js | 25 - .../node_modules/lodash/_arrayIncludes.js | 17 - .../node_modules/lodash/_arrayIncludesWith.js | 22 - .../node_modules/lodash/_arrayLikeKeys.js | 49 - .../core/node_modules/lodash/_arrayMap.js | 21 - .../core/node_modules/lodash/_arrayPush.js | 20 - .../core/node_modules/lodash/_arrayReduce.js | 26 - .../node_modules/lodash/_arrayReduceRight.js | 24 - .../core/node_modules/lodash/_arraySample.js | 15 - .../node_modules/lodash/_arraySampleSize.js | 17 - .../core/node_modules/lodash/_arrayShuffle.js | 15 - .../core/node_modules/lodash/_arraySome.js | 23 - .../core/node_modules/lodash/_asciiSize.js | 12 - .../core/node_modules/lodash/_asciiToArray.js | 12 - .../core/node_modules/lodash/_asciiWords.js | 15 - .../node_modules/lodash/_assignMergeValue.js | 20 - .../core/node_modules/lodash/_assignValue.js | 28 - .../core/node_modules/lodash/_assocIndexOf.js | 21 - .../node_modules/lodash/_baseAggregator.js | 21 - .../core/node_modules/lodash/_baseAssign.js | 17 - .../core/node_modules/lodash/_baseAssignIn.js | 17 - .../node_modules/lodash/_baseAssignValue.js | 25 - .../core/node_modules/lodash/_baseAt.js | 23 - .../core/node_modules/lodash/_baseClamp.js | 22 - .../core/node_modules/lodash/_baseClone.js | 166 - .../core/node_modules/lodash/_baseConforms.js | 18 - .../node_modules/lodash/_baseConformsTo.js | 27 - .../core/node_modules/lodash/_baseCreate.js | 30 - .../core/node_modules/lodash/_baseDelay.js | 21 - .../node_modules/lodash/_baseDifference.js | 67 - .../core/node_modules/lodash/_baseEach.js | 14 - .../node_modules/lodash/_baseEachRight.js | 14 - .../core/node_modules/lodash/_baseEvery.js | 21 - .../core/node_modules/lodash/_baseExtremum.js | 32 - .../core/node_modules/lodash/_baseFill.js | 32 - .../core/node_modules/lodash/_baseFilter.js | 21 - .../node_modules/lodash/_baseFindIndex.js | 24 - .../core/node_modules/lodash/_baseFindKey.js | 23 - .../core/node_modules/lodash/_baseFlatten.js | 38 - .../core/node_modules/lodash/_baseFor.js | 16 - .../core/node_modules/lodash/_baseForOwn.js | 16 - .../node_modules/lodash/_baseForOwnRight.js | 16 - .../core/node_modules/lodash/_baseForRight.js | 15 - .../node_modules/lodash/_baseFunctions.js | 19 - .../core/node_modules/lodash/_baseGet.js | 24 - .../node_modules/lodash/_baseGetAllKeys.js | 20 - .../core/node_modules/lodash/_baseGetTag.js | 28 - .../core/node_modules/lodash/_baseGt.js | 14 - .../core/node_modules/lodash/_baseHas.js | 19 - .../core/node_modules/lodash/_baseHasIn.js | 13 - .../core/node_modules/lodash/_baseInRange.js | 18 - .../core/node_modules/lodash/_baseIndexOf.js | 20 - .../node_modules/lodash/_baseIndexOfWith.js | 23 - .../node_modules/lodash/_baseIntersection.js | 74 - .../core/node_modules/lodash/_baseInverter.js | 21 - .../core/node_modules/lodash/_baseInvoke.js | 24 - .../node_modules/lodash/_baseIsArguments.js | 18 - .../node_modules/lodash/_baseIsArrayBuffer.js | 17 - .../core/node_modules/lodash/_baseIsDate.js | 18 - .../core/node_modules/lodash/_baseIsEqual.js | 28 - .../node_modules/lodash/_baseIsEqualDeep.js | 83 - .../core/node_modules/lodash/_baseIsMap.js | 18 - .../core/node_modules/lodash/_baseIsMatch.js | 62 - .../core/node_modules/lodash/_baseIsNaN.js | 12 - .../core/node_modules/lodash/_baseIsNative.js | 47 - .../core/node_modules/lodash/_baseIsRegExp.js | 18 - .../core/node_modules/lodash/_baseIsSet.js | 18 - .../node_modules/lodash/_baseIsTypedArray.js | 60 - .../core/node_modules/lodash/_baseIteratee.js | 31 - .../core/node_modules/lodash/_baseKeys.js | 30 - .../core/node_modules/lodash/_baseKeysIn.js | 33 - .../core/node_modules/lodash/_baseLodash.js | 10 - .../core/node_modules/lodash/_baseLt.js | 14 - .../core/node_modules/lodash/_baseMap.js | 22 - .../core/node_modules/lodash/_baseMatches.js | 22 - .../lodash/_baseMatchesProperty.js | 33 - .../core/node_modules/lodash/_baseMean.js | 20 - .../core/node_modules/lodash/_baseMerge.js | 42 - .../node_modules/lodash/_baseMergeDeep.js | 94 - .../core/node_modules/lodash/_baseNth.js | 20 - .../core/node_modules/lodash/_baseOrderBy.js | 49 - .../core/node_modules/lodash/_basePick.js | 19 - .../core/node_modules/lodash/_basePickBy.js | 30 - .../core/node_modules/lodash/_baseProperty.js | 14 - .../node_modules/lodash/_basePropertyDeep.js | 16 - .../node_modules/lodash/_basePropertyOf.js | 14 - .../core/node_modules/lodash/_basePullAll.js | 51 - .../core/node_modules/lodash/_basePullAt.js | 37 - .../core/node_modules/lodash/_baseRandom.js | 18 - .../core/node_modules/lodash/_baseRange.js | 28 - .../core/node_modules/lodash/_baseReduce.js | 23 - .../core/node_modules/lodash/_baseRepeat.js | 35 - .../core/node_modules/lodash/_baseRest.js | 17 - .../core/node_modules/lodash/_baseSample.js | 15 - .../node_modules/lodash/_baseSampleSize.js | 18 - .../core/node_modules/lodash/_baseSet.js | 51 - .../core/node_modules/lodash/_baseSetData.js | 17 - .../node_modules/lodash/_baseSetToString.js | 22 - .../core/node_modules/lodash/_baseShuffle.js | 15 - .../core/node_modules/lodash/_baseSlice.js | 31 - .../core/node_modules/lodash/_baseSome.js | 22 - .../core/node_modules/lodash/_baseSortBy.js | 21 - .../node_modules/lodash/_baseSortedIndex.js | 42 - .../node_modules/lodash/_baseSortedIndexBy.js | 67 - .../node_modules/lodash/_baseSortedUniq.js | 30 - .../core/node_modules/lodash/_baseSum.js | 24 - .../core/node_modules/lodash/_baseTimes.js | 20 - .../core/node_modules/lodash/_baseToNumber.js | 24 - .../core/node_modules/lodash/_baseToPairs.js | 18 - .../core/node_modules/lodash/_baseToString.js | 37 - .../core/node_modules/lodash/_baseUnary.js | 14 - .../core/node_modules/lodash/_baseUniq.js | 72 - .../core/node_modules/lodash/_baseUnset.js | 20 - .../core/node_modules/lodash/_baseUpdate.js | 18 - .../core/node_modules/lodash/_baseValues.js | 19 - .../core/node_modules/lodash/_baseWhile.js | 26 - .../node_modules/lodash/_baseWrapperValue.js | 25 - .../core/node_modules/lodash/_baseXor.js | 36 - .../node_modules/lodash/_baseZipObject.js | 23 - .../core/node_modules/lodash/_cacheHas.js | 13 - .../lodash/_castArrayLikeObject.js | 14 - .../core/node_modules/lodash/_castFunction.js | 14 - .../core/node_modules/lodash/_castPath.js | 21 - .../core/node_modules/lodash/_castRest.js | 14 - .../core/node_modules/lodash/_castSlice.js | 18 - .../node_modules/lodash/_charsEndIndex.js | 19 - .../node_modules/lodash/_charsStartIndex.js | 20 - .../node_modules/lodash/_cloneArrayBuffer.js | 16 - .../core/node_modules/lodash/_cloneBuffer.js | 35 - .../node_modules/lodash/_cloneDataView.js | 16 - .../core/node_modules/lodash/_cloneRegExp.js | 17 - .../core/node_modules/lodash/_cloneSymbol.js | 18 - .../node_modules/lodash/_cloneTypedArray.js | 16 - .../node_modules/lodash/_compareAscending.js | 41 - .../node_modules/lodash/_compareMultiple.js | 44 - .../core/node_modules/lodash/_composeArgs.js | 39 - .../node_modules/lodash/_composeArgsRight.js | 41 - .../core/node_modules/lodash/_copyArray.js | 20 - .../core/node_modules/lodash/_copyObject.js | 40 - .../core/node_modules/lodash/_copySymbols.js | 16 - .../node_modules/lodash/_copySymbolsIn.js | 16 - .../core/node_modules/lodash/_coreJsData.js | 6 - .../core/node_modules/lodash/_countHolders.js | 21 - .../node_modules/lodash/_createAggregator.js | 23 - .../node_modules/lodash/_createAssigner.js | 37 - .../node_modules/lodash/_createBaseEach.js | 32 - .../node_modules/lodash/_createBaseFor.js | 25 - .../core/node_modules/lodash/_createBind.js | 28 - .../node_modules/lodash/_createCaseFirst.js | 33 - .../node_modules/lodash/_createCompounder.js | 24 - .../core/node_modules/lodash/_createCtor.js | 37 - .../core/node_modules/lodash/_createCurry.js | 46 - .../core/node_modules/lodash/_createFind.js | 25 - .../core/node_modules/lodash/_createFlow.js | 78 - .../core/node_modules/lodash/_createHybrid.js | 92 - .../node_modules/lodash/_createInverter.js | 17 - .../lodash/_createMathOperation.js | 38 - .../core/node_modules/lodash/_createOver.js | 27 - .../node_modules/lodash/_createPadding.js | 33 - .../node_modules/lodash/_createPartial.js | 43 - .../core/node_modules/lodash/_createRange.js | 30 - .../node_modules/lodash/_createRecurry.js | 56 - .../lodash/_createRelationalOperation.js | 20 - .../core/node_modules/lodash/_createRound.js | 35 - .../core/node_modules/lodash/_createSet.js | 19 - .../node_modules/lodash/_createToPairs.js | 30 - .../core/node_modules/lodash/_createWrap.js | 106 - .../lodash/_customDefaultsAssignIn.js | 29 - .../lodash/_customDefaultsMerge.js | 28 - .../node_modules/lodash/_customOmitClone.js | 16 - .../core/node_modules/lodash/_deburrLetter.js | 71 - .../node_modules/lodash/_defineProperty.js | 11 - .../core/node_modules/lodash/_equalArrays.js | 84 - .../core/node_modules/lodash/_equalByTag.js | 112 - .../core/node_modules/lodash/_equalObjects.js | 90 - .../node_modules/lodash/_escapeHtmlChar.js | 21 - .../node_modules/lodash/_escapeStringChar.js | 22 - .../core/node_modules/lodash/_flatRest.js | 16 - .../core/node_modules/lodash/_freeGlobal.js | 4 - .../core/node_modules/lodash/_getAllKeys.js | 16 - .../core/node_modules/lodash/_getAllKeysIn.js | 17 - .../core/node_modules/lodash/_getData.js | 15 - .../core/node_modules/lodash/_getFuncName.js | 31 - .../core/node_modules/lodash/_getHolder.js | 13 - .../core/node_modules/lodash/_getMapData.js | 18 - .../core/node_modules/lodash/_getMatchData.js | 24 - .../core/node_modules/lodash/_getNative.js | 17 - .../core/node_modules/lodash/_getPrototype.js | 6 - .../core/node_modules/lodash/_getRawTag.js | 46 - .../core/node_modules/lodash/_getSymbols.js | 30 - .../core/node_modules/lodash/_getSymbolsIn.js | 25 - .../core/node_modules/lodash/_getTag.js | 58 - .../core/node_modules/lodash/_getValue.js | 13 - .../core/node_modules/lodash/_getView.js | 33 - .../node_modules/lodash/_getWrapDetails.js | 17 - .../core/node_modules/lodash/_hasPath.js | 39 - .../core/node_modules/lodash/_hasUnicode.js | 26 - .../node_modules/lodash/_hasUnicodeWord.js | 15 - .../core/node_modules/lodash/_hashClear.js | 15 - .../core/node_modules/lodash/_hashDelete.js | 17 - .../core/node_modules/lodash/_hashGet.js | 30 - .../core/node_modules/lodash/_hashHas.js | 23 - .../core/node_modules/lodash/_hashSet.js | 23 - .../node_modules/lodash/_initCloneArray.js | 26 - .../node_modules/lodash/_initCloneByTag.js | 77 - .../node_modules/lodash/_initCloneObject.js | 18 - .../node_modules/lodash/_insertWrapDetails.js | 23 - .../node_modules/lodash/_isFlattenable.js | 20 - .../core/node_modules/lodash/_isIndex.js | 25 - .../node_modules/lodash/_isIterateeCall.js | 30 - .../@babel/core/node_modules/lodash/_isKey.js | 29 - .../core/node_modules/lodash/_isKeyable.js | 15 - .../core/node_modules/lodash/_isLaziable.js | 28 - .../core/node_modules/lodash/_isMaskable.js | 14 - .../core/node_modules/lodash/_isMasked.js | 20 - .../core/node_modules/lodash/_isPrototype.js | 18 - .../lodash/_isStrictComparable.js | 15 - .../node_modules/lodash/_iteratorToArray.js | 18 - .../core/node_modules/lodash/_lazyClone.js | 23 - .../core/node_modules/lodash/_lazyReverse.js | 23 - .../core/node_modules/lodash/_lazyValue.js | 69 - .../node_modules/lodash/_listCacheClear.js | 13 - .../node_modules/lodash/_listCacheDelete.js | 35 - .../core/node_modules/lodash/_listCacheGet.js | 19 - .../core/node_modules/lodash/_listCacheHas.js | 16 - .../core/node_modules/lodash/_listCacheSet.js | 26 - .../node_modules/lodash/_mapCacheClear.js | 21 - .../node_modules/lodash/_mapCacheDelete.js | 18 - .../core/node_modules/lodash/_mapCacheGet.js | 16 - .../core/node_modules/lodash/_mapCacheHas.js | 16 - .../core/node_modules/lodash/_mapCacheSet.js | 22 - .../core/node_modules/lodash/_mapToArray.js | 18 - .../lodash/_matchesStrictComparable.js | 20 - .../node_modules/lodash/_memoizeCapped.js | 26 - .../core/node_modules/lodash/_mergeData.js | 90 - .../core/node_modules/lodash/_metaMap.js | 6 - .../core/node_modules/lodash/_nativeCreate.js | 6 - .../core/node_modules/lodash/_nativeKeys.js | 6 - .../core/node_modules/lodash/_nativeKeysIn.js | 20 - .../core/node_modules/lodash/_nodeUtil.js | 30 - .../node_modules/lodash/_objectToString.js | 22 - .../core/node_modules/lodash/_overArg.js | 15 - .../core/node_modules/lodash/_overRest.js | 36 - .../core/node_modules/lodash/_parent.js | 16 - .../core/node_modules/lodash/_reEscape.js | 4 - .../core/node_modules/lodash/_reEvaluate.js | 4 - .../node_modules/lodash/_reInterpolate.js | 4 - .../core/node_modules/lodash/_realNames.js | 4 - .../core/node_modules/lodash/_reorder.js | 29 - .../node_modules/lodash/_replaceHolders.js | 29 - .../@babel/core/node_modules/lodash/_root.js | 9 - .../core/node_modules/lodash/_safeGet.js | 21 - .../core/node_modules/lodash/_setCacheAdd.js | 19 - .../core/node_modules/lodash/_setCacheHas.js | 14 - .../core/node_modules/lodash/_setData.js | 20 - .../core/node_modules/lodash/_setToArray.js | 18 - .../core/node_modules/lodash/_setToPairs.js | 18 - .../core/node_modules/lodash/_setToString.js | 14 - .../node_modules/lodash/_setWrapToString.js | 21 - .../core/node_modules/lodash/_shortOut.js | 37 - .../core/node_modules/lodash/_shuffleSelf.js | 28 - .../core/node_modules/lodash/_stackClear.js | 15 - .../core/node_modules/lodash/_stackDelete.js | 18 - .../core/node_modules/lodash/_stackGet.js | 14 - .../core/node_modules/lodash/_stackHas.js | 14 - .../core/node_modules/lodash/_stackSet.js | 34 - .../node_modules/lodash/_strictIndexOf.js | 23 - .../node_modules/lodash/_strictLastIndexOf.js | 21 - .../core/node_modules/lodash/_stringSize.js | 18 - .../node_modules/lodash/_stringToArray.js | 18 - .../core/node_modules/lodash/_stringToPath.js | 27 - .../@babel/core/node_modules/lodash/_toKey.js | 21 - .../core/node_modules/lodash/_toSource.js | 26 - .../node_modules/lodash/_unescapeHtmlChar.js | 21 - .../core/node_modules/lodash/_unicodeSize.js | 44 - .../node_modules/lodash/_unicodeToArray.js | 40 - .../core/node_modules/lodash/_unicodeWords.js | 69 - .../node_modules/lodash/_updateWrapDetails.js | 46 - .../core/node_modules/lodash/_wrapperClone.js | 23 - .../@babel/core/node_modules/lodash/add.js | 22 - .../@babel/core/node_modules/lodash/after.js | 42 - .../@babel/core/node_modules/lodash/array.js | 67 - .../@babel/core/node_modules/lodash/ary.js | 29 - .../@babel/core/node_modules/lodash/assign.js | 58 - .../core/node_modules/lodash/assignIn.js | 40 - .../core/node_modules/lodash/assignInWith.js | 38 - .../core/node_modules/lodash/assignWith.js | 37 - .../@babel/core/node_modules/lodash/at.js | 23 - .../core/node_modules/lodash/attempt.js | 35 - .../@babel/core/node_modules/lodash/before.js | 40 - .../@babel/core/node_modules/lodash/bind.js | 57 - .../core/node_modules/lodash/bindAll.js | 41 - .../core/node_modules/lodash/bindKey.js | 68 - .../core/node_modules/lodash/camelCase.js | 29 - .../core/node_modules/lodash/capitalize.js | 23 - .../core/node_modules/lodash/castArray.js | 44 - .../@babel/core/node_modules/lodash/ceil.js | 26 - .../@babel/core/node_modules/lodash/chain.js | 38 - .../@babel/core/node_modules/lodash/chunk.js | 50 - .../@babel/core/node_modules/lodash/clamp.js | 39 - .../@babel/core/node_modules/lodash/clone.js | 36 - .../core/node_modules/lodash/cloneDeep.js | 29 - .../core/node_modules/lodash/cloneDeepWith.js | 40 - .../core/node_modules/lodash/cloneWith.js | 42 - .../core/node_modules/lodash/collection.js | 30 - .../@babel/core/node_modules/lodash/commit.js | 33 - .../core/node_modules/lodash/compact.js | 31 - .../@babel/core/node_modules/lodash/concat.js | 43 - .../@babel/core/node_modules/lodash/cond.js | 60 - .../core/node_modules/lodash/conforms.js | 35 - .../core/node_modules/lodash/conformsTo.js | 32 - .../core/node_modules/lodash/constant.js | 26 - .../@babel/core/node_modules/lodash/core.js | 3877 ---- .../core/node_modules/lodash/core.min.js | 30 - .../core/node_modules/lodash/countBy.js | 40 - .../@babel/core/node_modules/lodash/create.js | 43 - .../@babel/core/node_modules/lodash/curry.js | 57 - .../core/node_modules/lodash/curryRight.js | 54 - .../@babel/core/node_modules/lodash/date.js | 3 - .../core/node_modules/lodash/debounce.js | 191 - .../@babel/core/node_modules/lodash/deburr.js | 45 - .../core/node_modules/lodash/defaultTo.js | 25 - .../core/node_modules/lodash/defaults.js | 64 - .../core/node_modules/lodash/defaultsDeep.js | 30 - .../@babel/core/node_modules/lodash/defer.js | 26 - .../@babel/core/node_modules/lodash/delay.js | 28 - .../core/node_modules/lodash/difference.js | 33 - .../core/node_modules/lodash/differenceBy.js | 44 - .../node_modules/lodash/differenceWith.js | 40 - .../@babel/core/node_modules/lodash/divide.js | 22 - .../@babel/core/node_modules/lodash/drop.js | 38 - .../core/node_modules/lodash/dropRight.js | 39 - .../node_modules/lodash/dropRightWhile.js | 45 - .../core/node_modules/lodash/dropWhile.js | 45 - .../@babel/core/node_modules/lodash/each.js | 1 - .../core/node_modules/lodash/eachRight.js | 1 - .../core/node_modules/lodash/endsWith.js | 43 - .../core/node_modules/lodash/entries.js | 1 - .../core/node_modules/lodash/entriesIn.js | 1 - .../@babel/core/node_modules/lodash/eq.js | 37 - .../@babel/core/node_modules/lodash/escape.js | 43 - .../core/node_modules/lodash/escapeRegExp.js | 32 - .../@babel/core/node_modules/lodash/every.js | 56 - .../@babel/core/node_modules/lodash/extend.js | 1 - .../core/node_modules/lodash/extendWith.js | 1 - .../@babel/core/node_modules/lodash/fill.js | 45 - .../@babel/core/node_modules/lodash/filter.js | 52 - .../@babel/core/node_modules/lodash/find.js | 42 - .../core/node_modules/lodash/findIndex.js | 55 - .../core/node_modules/lodash/findKey.js | 44 - .../core/node_modules/lodash/findLast.js | 25 - .../core/node_modules/lodash/findLastIndex.js | 59 - .../core/node_modules/lodash/findLastKey.js | 44 - .../@babel/core/node_modules/lodash/first.js | 1 - .../core/node_modules/lodash/flatMap.js | 29 - .../core/node_modules/lodash/flatMapDeep.js | 31 - .../core/node_modules/lodash/flatMapDepth.js | 31 - .../core/node_modules/lodash/flatten.js | 22 - .../core/node_modules/lodash/flattenDeep.js | 25 - .../core/node_modules/lodash/flattenDepth.js | 33 - .../@babel/core/node_modules/lodash/flip.js | 28 - .../@babel/core/node_modules/lodash/floor.js | 26 - .../@babel/core/node_modules/lodash/flow.js | 27 - .../core/node_modules/lodash/flowRight.js | 26 - .../core/node_modules/lodash/forEach.js | 41 - .../core/node_modules/lodash/forEachRight.js | 31 - .../@babel/core/node_modules/lodash/forIn.js | 39 - .../core/node_modules/lodash/forInRight.js | 37 - .../@babel/core/node_modules/lodash/forOwn.js | 36 - .../core/node_modules/lodash/forOwnRight.js | 34 - .../@babel/core/node_modules/lodash/fp.js | 2 - .../@babel/core/node_modules/lodash/fp/F.js | 1 - .../@babel/core/node_modules/lodash/fp/T.js | 1 - .../@babel/core/node_modules/lodash/fp/__.js | 1 - .../node_modules/lodash/fp/_baseConvert.js | 569 - .../node_modules/lodash/fp/_convertBrowser.js | 18 - .../node_modules/lodash/fp/_falseOptions.js | 7 - .../core/node_modules/lodash/fp/_mapping.js | 358 - .../core/node_modules/lodash/fp/_util.js | 16 - .../@babel/core/node_modules/lodash/fp/add.js | 5 - .../core/node_modules/lodash/fp/after.js | 5 - .../@babel/core/node_modules/lodash/fp/all.js | 1 - .../core/node_modules/lodash/fp/allPass.js | 1 - .../core/node_modules/lodash/fp/always.js | 1 - .../@babel/core/node_modules/lodash/fp/any.js | 1 - .../core/node_modules/lodash/fp/anyPass.js | 1 - .../core/node_modules/lodash/fp/apply.js | 1 - .../core/node_modules/lodash/fp/array.js | 2 - .../@babel/core/node_modules/lodash/fp/ary.js | 5 - .../core/node_modules/lodash/fp/assign.js | 5 - .../core/node_modules/lodash/fp/assignAll.js | 5 - .../node_modules/lodash/fp/assignAllWith.js | 5 - .../core/node_modules/lodash/fp/assignIn.js | 5 - .../node_modules/lodash/fp/assignInAll.js | 5 - .../node_modules/lodash/fp/assignInAllWith.js | 5 - .../node_modules/lodash/fp/assignInWith.js | 5 - .../core/node_modules/lodash/fp/assignWith.js | 5 - .../core/node_modules/lodash/fp/assoc.js | 1 - .../core/node_modules/lodash/fp/assocPath.js | 1 - .../@babel/core/node_modules/lodash/fp/at.js | 5 - .../core/node_modules/lodash/fp/attempt.js | 5 - .../core/node_modules/lodash/fp/before.js | 5 - .../core/node_modules/lodash/fp/bind.js | 5 - .../core/node_modules/lodash/fp/bindAll.js | 5 - .../core/node_modules/lodash/fp/bindKey.js | 5 - .../core/node_modules/lodash/fp/camelCase.js | 5 - .../core/node_modules/lodash/fp/capitalize.js | 5 - .../core/node_modules/lodash/fp/castArray.js | 5 - .../core/node_modules/lodash/fp/ceil.js | 5 - .../core/node_modules/lodash/fp/chain.js | 5 - .../core/node_modules/lodash/fp/chunk.js | 5 - .../core/node_modules/lodash/fp/clamp.js | 5 - .../core/node_modules/lodash/fp/clone.js | 5 - .../core/node_modules/lodash/fp/cloneDeep.js | 5 - .../node_modules/lodash/fp/cloneDeepWith.js | 5 - .../core/node_modules/lodash/fp/cloneWith.js | 5 - .../core/node_modules/lodash/fp/collection.js | 2 - .../core/node_modules/lodash/fp/commit.js | 5 - .../core/node_modules/lodash/fp/compact.js | 5 - .../core/node_modules/lodash/fp/complement.js | 1 - .../core/node_modules/lodash/fp/compose.js | 1 - .../core/node_modules/lodash/fp/concat.js | 5 - .../core/node_modules/lodash/fp/cond.js | 5 - .../core/node_modules/lodash/fp/conforms.js | 1 - .../core/node_modules/lodash/fp/conformsTo.js | 5 - .../core/node_modules/lodash/fp/constant.js | 5 - .../core/node_modules/lodash/fp/contains.js | 1 - .../core/node_modules/lodash/fp/convert.js | 18 - .../core/node_modules/lodash/fp/countBy.js | 5 - .../core/node_modules/lodash/fp/create.js | 5 - .../core/node_modules/lodash/fp/curry.js | 5 - .../core/node_modules/lodash/fp/curryN.js | 5 - .../core/node_modules/lodash/fp/curryRight.js | 5 - .../node_modules/lodash/fp/curryRightN.js | 5 - .../core/node_modules/lodash/fp/date.js | 2 - .../core/node_modules/lodash/fp/debounce.js | 5 - .../core/node_modules/lodash/fp/deburr.js | 5 - .../core/node_modules/lodash/fp/defaultTo.js | 5 - .../core/node_modules/lodash/fp/defaults.js | 5 - .../node_modules/lodash/fp/defaultsAll.js | 5 - .../node_modules/lodash/fp/defaultsDeep.js | 5 - .../node_modules/lodash/fp/defaultsDeepAll.js | 5 - .../core/node_modules/lodash/fp/defer.js | 5 - .../core/node_modules/lodash/fp/delay.js | 5 - .../core/node_modules/lodash/fp/difference.js | 5 - .../node_modules/lodash/fp/differenceBy.js | 5 - .../node_modules/lodash/fp/differenceWith.js | 5 - .../core/node_modules/lodash/fp/dissoc.js | 1 - .../core/node_modules/lodash/fp/dissocPath.js | 1 - .../core/node_modules/lodash/fp/divide.js | 5 - .../core/node_modules/lodash/fp/drop.js | 5 - .../core/node_modules/lodash/fp/dropLast.js | 1 - .../node_modules/lodash/fp/dropLastWhile.js | 1 - .../core/node_modules/lodash/fp/dropRight.js | 5 - .../node_modules/lodash/fp/dropRightWhile.js | 5 - .../core/node_modules/lodash/fp/dropWhile.js | 5 - .../core/node_modules/lodash/fp/each.js | 1 - .../core/node_modules/lodash/fp/eachRight.js | 1 - .../core/node_modules/lodash/fp/endsWith.js | 5 - .../core/node_modules/lodash/fp/entries.js | 1 - .../core/node_modules/lodash/fp/entriesIn.js | 1 - .../@babel/core/node_modules/lodash/fp/eq.js | 5 - .../core/node_modules/lodash/fp/equals.js | 1 - .../core/node_modules/lodash/fp/escape.js | 5 - .../node_modules/lodash/fp/escapeRegExp.js | 5 - .../core/node_modules/lodash/fp/every.js | 5 - .../core/node_modules/lodash/fp/extend.js | 1 - .../core/node_modules/lodash/fp/extendAll.js | 1 - .../node_modules/lodash/fp/extendAllWith.js | 1 - .../core/node_modules/lodash/fp/extendWith.js | 1 - .../core/node_modules/lodash/fp/fill.js | 5 - .../core/node_modules/lodash/fp/filter.js | 5 - .../core/node_modules/lodash/fp/find.js | 5 - .../core/node_modules/lodash/fp/findFrom.js | 5 - .../core/node_modules/lodash/fp/findIndex.js | 5 - .../node_modules/lodash/fp/findIndexFrom.js | 5 - .../core/node_modules/lodash/fp/findKey.js | 5 - .../core/node_modules/lodash/fp/findLast.js | 5 - .../node_modules/lodash/fp/findLastFrom.js | 5 - .../node_modules/lodash/fp/findLastIndex.js | 5 - .../lodash/fp/findLastIndexFrom.js | 5 - .../node_modules/lodash/fp/findLastKey.js | 5 - .../core/node_modules/lodash/fp/first.js | 1 - .../core/node_modules/lodash/fp/flatMap.js | 5 - .../node_modules/lodash/fp/flatMapDeep.js | 5 - .../node_modules/lodash/fp/flatMapDepth.js | 5 - .../core/node_modules/lodash/fp/flatten.js | 5 - .../node_modules/lodash/fp/flattenDeep.js | 5 - .../node_modules/lodash/fp/flattenDepth.js | 5 - .../core/node_modules/lodash/fp/flip.js | 5 - .../core/node_modules/lodash/fp/floor.js | 5 - .../core/node_modules/lodash/fp/flow.js | 5 - .../core/node_modules/lodash/fp/flowRight.js | 5 - .../core/node_modules/lodash/fp/forEach.js | 5 - .../node_modules/lodash/fp/forEachRight.js | 5 - .../core/node_modules/lodash/fp/forIn.js | 5 - .../core/node_modules/lodash/fp/forInRight.js | 5 - .../core/node_modules/lodash/fp/forOwn.js | 5 - .../node_modules/lodash/fp/forOwnRight.js | 5 - .../core/node_modules/lodash/fp/fromPairs.js | 5 - .../core/node_modules/lodash/fp/function.js | 2 - .../core/node_modules/lodash/fp/functions.js | 5 - .../node_modules/lodash/fp/functionsIn.js | 5 - .../@babel/core/node_modules/lodash/fp/get.js | 5 - .../core/node_modules/lodash/fp/getOr.js | 5 - .../core/node_modules/lodash/fp/groupBy.js | 5 - .../@babel/core/node_modules/lodash/fp/gt.js | 5 - .../@babel/core/node_modules/lodash/fp/gte.js | 5 - .../@babel/core/node_modules/lodash/fp/has.js | 5 - .../core/node_modules/lodash/fp/hasIn.js | 5 - .../core/node_modules/lodash/fp/head.js | 5 - .../core/node_modules/lodash/fp/identical.js | 1 - .../core/node_modules/lodash/fp/identity.js | 5 - .../core/node_modules/lodash/fp/inRange.js | 5 - .../core/node_modules/lodash/fp/includes.js | 5 - .../node_modules/lodash/fp/includesFrom.js | 5 - .../core/node_modules/lodash/fp/indexBy.js | 1 - .../core/node_modules/lodash/fp/indexOf.js | 5 - .../node_modules/lodash/fp/indexOfFrom.js | 5 - .../core/node_modules/lodash/fp/init.js | 1 - .../core/node_modules/lodash/fp/initial.js | 5 - .../node_modules/lodash/fp/intersection.js | 5 - .../node_modules/lodash/fp/intersectionBy.js | 5 - .../lodash/fp/intersectionWith.js | 5 - .../core/node_modules/lodash/fp/invert.js | 5 - .../core/node_modules/lodash/fp/invertBy.js | 5 - .../core/node_modules/lodash/fp/invertObj.js | 1 - .../core/node_modules/lodash/fp/invoke.js | 5 - .../core/node_modules/lodash/fp/invokeArgs.js | 5 - .../node_modules/lodash/fp/invokeArgsMap.js | 5 - .../core/node_modules/lodash/fp/invokeMap.js | 5 - .../node_modules/lodash/fp/isArguments.js | 5 - .../core/node_modules/lodash/fp/isArray.js | 5 - .../node_modules/lodash/fp/isArrayBuffer.js | 5 - .../node_modules/lodash/fp/isArrayLike.js | 5 - .../lodash/fp/isArrayLikeObject.js | 5 - .../core/node_modules/lodash/fp/isBoolean.js | 5 - .../core/node_modules/lodash/fp/isBuffer.js | 5 - .../core/node_modules/lodash/fp/isDate.js | 5 - .../core/node_modules/lodash/fp/isElement.js | 5 - .../core/node_modules/lodash/fp/isEmpty.js | 5 - .../core/node_modules/lodash/fp/isEqual.js | 5 - .../node_modules/lodash/fp/isEqualWith.js | 5 - .../core/node_modules/lodash/fp/isError.js | 5 - .../core/node_modules/lodash/fp/isFinite.js | 5 - .../core/node_modules/lodash/fp/isFunction.js | 5 - .../core/node_modules/lodash/fp/isInteger.js | 5 - .../core/node_modules/lodash/fp/isLength.js | 5 - .../core/node_modules/lodash/fp/isMap.js | 5 - .../core/node_modules/lodash/fp/isMatch.js | 5 - .../node_modules/lodash/fp/isMatchWith.js | 5 - .../core/node_modules/lodash/fp/isNaN.js | 5 - .../core/node_modules/lodash/fp/isNative.js | 5 - .../core/node_modules/lodash/fp/isNil.js | 5 - .../core/node_modules/lodash/fp/isNull.js | 5 - .../core/node_modules/lodash/fp/isNumber.js | 5 - .../core/node_modules/lodash/fp/isObject.js | 5 - .../node_modules/lodash/fp/isObjectLike.js | 5 - .../node_modules/lodash/fp/isPlainObject.js | 5 - .../core/node_modules/lodash/fp/isRegExp.js | 5 - .../node_modules/lodash/fp/isSafeInteger.js | 5 - .../core/node_modules/lodash/fp/isSet.js | 5 - .../core/node_modules/lodash/fp/isString.js | 5 - .../core/node_modules/lodash/fp/isSymbol.js | 5 - .../node_modules/lodash/fp/isTypedArray.js | 5 - .../node_modules/lodash/fp/isUndefined.js | 5 - .../core/node_modules/lodash/fp/isWeakMap.js | 5 - .../core/node_modules/lodash/fp/isWeakSet.js | 5 - .../core/node_modules/lodash/fp/iteratee.js | 5 - .../core/node_modules/lodash/fp/join.js | 5 - .../core/node_modules/lodash/fp/juxt.js | 1 - .../core/node_modules/lodash/fp/kebabCase.js | 5 - .../core/node_modules/lodash/fp/keyBy.js | 5 - .../core/node_modules/lodash/fp/keys.js | 5 - .../core/node_modules/lodash/fp/keysIn.js | 5 - .../core/node_modules/lodash/fp/lang.js | 2 - .../core/node_modules/lodash/fp/last.js | 5 - .../node_modules/lodash/fp/lastIndexOf.js | 5 - .../node_modules/lodash/fp/lastIndexOfFrom.js | 5 - .../core/node_modules/lodash/fp/lowerCase.js | 5 - .../core/node_modules/lodash/fp/lowerFirst.js | 5 - .../@babel/core/node_modules/lodash/fp/lt.js | 5 - .../@babel/core/node_modules/lodash/fp/lte.js | 5 - .../@babel/core/node_modules/lodash/fp/map.js | 5 - .../core/node_modules/lodash/fp/mapKeys.js | 5 - .../core/node_modules/lodash/fp/mapValues.js | 5 - .../core/node_modules/lodash/fp/matches.js | 1 - .../node_modules/lodash/fp/matchesProperty.js | 5 - .../core/node_modules/lodash/fp/math.js | 2 - .../@babel/core/node_modules/lodash/fp/max.js | 5 - .../core/node_modules/lodash/fp/maxBy.js | 5 - .../core/node_modules/lodash/fp/mean.js | 5 - .../core/node_modules/lodash/fp/meanBy.js | 5 - .../core/node_modules/lodash/fp/memoize.js | 5 - .../core/node_modules/lodash/fp/merge.js | 5 - .../core/node_modules/lodash/fp/mergeAll.js | 5 - .../node_modules/lodash/fp/mergeAllWith.js | 5 - .../core/node_modules/lodash/fp/mergeWith.js | 5 - .../core/node_modules/lodash/fp/method.js | 5 - .../core/node_modules/lodash/fp/methodOf.js | 5 - .../@babel/core/node_modules/lodash/fp/min.js | 5 - .../core/node_modules/lodash/fp/minBy.js | 5 - .../core/node_modules/lodash/fp/mixin.js | 5 - .../core/node_modules/lodash/fp/multiply.js | 5 - .../core/node_modules/lodash/fp/nAry.js | 1 - .../core/node_modules/lodash/fp/negate.js | 5 - .../core/node_modules/lodash/fp/next.js | 5 - .../core/node_modules/lodash/fp/noop.js | 5 - .../@babel/core/node_modules/lodash/fp/now.js | 5 - .../@babel/core/node_modules/lodash/fp/nth.js | 5 - .../core/node_modules/lodash/fp/nthArg.js | 5 - .../core/node_modules/lodash/fp/number.js | 2 - .../core/node_modules/lodash/fp/object.js | 2 - .../core/node_modules/lodash/fp/omit.js | 5 - .../core/node_modules/lodash/fp/omitAll.js | 1 - .../core/node_modules/lodash/fp/omitBy.js | 5 - .../core/node_modules/lodash/fp/once.js | 5 - .../core/node_modules/lodash/fp/orderBy.js | 5 - .../core/node_modules/lodash/fp/over.js | 5 - .../core/node_modules/lodash/fp/overArgs.js | 5 - .../core/node_modules/lodash/fp/overEvery.js | 5 - .../core/node_modules/lodash/fp/overSome.js | 5 - .../@babel/core/node_modules/lodash/fp/pad.js | 5 - .../core/node_modules/lodash/fp/padChars.js | 5 - .../node_modules/lodash/fp/padCharsEnd.js | 5 - .../node_modules/lodash/fp/padCharsStart.js | 5 - .../core/node_modules/lodash/fp/padEnd.js | 5 - .../core/node_modules/lodash/fp/padStart.js | 5 - .../core/node_modules/lodash/fp/parseInt.js | 5 - .../core/node_modules/lodash/fp/partial.js | 5 - .../node_modules/lodash/fp/partialRight.js | 5 - .../core/node_modules/lodash/fp/partition.js | 5 - .../core/node_modules/lodash/fp/path.js | 1 - .../core/node_modules/lodash/fp/pathEq.js | 1 - .../core/node_modules/lodash/fp/pathOr.js | 1 - .../core/node_modules/lodash/fp/paths.js | 1 - .../core/node_modules/lodash/fp/pick.js | 5 - .../core/node_modules/lodash/fp/pickAll.js | 1 - .../core/node_modules/lodash/fp/pickBy.js | 5 - .../core/node_modules/lodash/fp/pipe.js | 1 - .../node_modules/lodash/fp/placeholder.js | 6 - .../core/node_modules/lodash/fp/plant.js | 5 - .../core/node_modules/lodash/fp/pluck.js | 1 - .../core/node_modules/lodash/fp/prop.js | 1 - .../core/node_modules/lodash/fp/propEq.js | 1 - .../core/node_modules/lodash/fp/propOr.js | 1 - .../core/node_modules/lodash/fp/property.js | 1 - .../core/node_modules/lodash/fp/propertyOf.js | 5 - .../core/node_modules/lodash/fp/props.js | 1 - .../core/node_modules/lodash/fp/pull.js | 5 - .../core/node_modules/lodash/fp/pullAll.js | 5 - .../core/node_modules/lodash/fp/pullAllBy.js | 5 - .../node_modules/lodash/fp/pullAllWith.js | 5 - .../core/node_modules/lodash/fp/pullAt.js | 5 - .../core/node_modules/lodash/fp/random.js | 5 - .../core/node_modules/lodash/fp/range.js | 5 - .../core/node_modules/lodash/fp/rangeRight.js | 5 - .../core/node_modules/lodash/fp/rangeStep.js | 5 - .../node_modules/lodash/fp/rangeStepRight.js | 5 - .../core/node_modules/lodash/fp/rearg.js | 5 - .../core/node_modules/lodash/fp/reduce.js | 5 - .../node_modules/lodash/fp/reduceRight.js | 5 - .../core/node_modules/lodash/fp/reject.js | 5 - .../core/node_modules/lodash/fp/remove.js | 5 - .../core/node_modules/lodash/fp/repeat.js | 5 - .../core/node_modules/lodash/fp/replace.js | 5 - .../core/node_modules/lodash/fp/rest.js | 5 - .../core/node_modules/lodash/fp/restFrom.js | 5 - .../core/node_modules/lodash/fp/result.js | 5 - .../core/node_modules/lodash/fp/reverse.js | 5 - .../core/node_modules/lodash/fp/round.js | 5 - .../core/node_modules/lodash/fp/sample.js | 5 - .../core/node_modules/lodash/fp/sampleSize.js | 5 - .../@babel/core/node_modules/lodash/fp/seq.js | 2 - .../@babel/core/node_modules/lodash/fp/set.js | 5 - .../core/node_modules/lodash/fp/setWith.js | 5 - .../core/node_modules/lodash/fp/shuffle.js | 5 - .../core/node_modules/lodash/fp/size.js | 5 - .../core/node_modules/lodash/fp/slice.js | 5 - .../core/node_modules/lodash/fp/snakeCase.js | 5 - .../core/node_modules/lodash/fp/some.js | 5 - .../core/node_modules/lodash/fp/sortBy.js | 5 - .../node_modules/lodash/fp/sortedIndex.js | 5 - .../node_modules/lodash/fp/sortedIndexBy.js | 5 - .../node_modules/lodash/fp/sortedIndexOf.js | 5 - .../node_modules/lodash/fp/sortedLastIndex.js | 5 - .../lodash/fp/sortedLastIndexBy.js | 5 - .../lodash/fp/sortedLastIndexOf.js | 5 - .../core/node_modules/lodash/fp/sortedUniq.js | 5 - .../node_modules/lodash/fp/sortedUniqBy.js | 5 - .../core/node_modules/lodash/fp/split.js | 5 - .../core/node_modules/lodash/fp/spread.js | 5 - .../core/node_modules/lodash/fp/spreadFrom.js | 5 - .../core/node_modules/lodash/fp/startCase.js | 5 - .../core/node_modules/lodash/fp/startsWith.js | 5 - .../core/node_modules/lodash/fp/string.js | 2 - .../core/node_modules/lodash/fp/stubArray.js | 5 - .../core/node_modules/lodash/fp/stubFalse.js | 5 - .../core/node_modules/lodash/fp/stubObject.js | 5 - .../core/node_modules/lodash/fp/stubString.js | 5 - .../core/node_modules/lodash/fp/stubTrue.js | 5 - .../core/node_modules/lodash/fp/subtract.js | 5 - .../@babel/core/node_modules/lodash/fp/sum.js | 5 - .../core/node_modules/lodash/fp/sumBy.js | 5 - .../lodash/fp/symmetricDifference.js | 1 - .../lodash/fp/symmetricDifferenceBy.js | 1 - .../lodash/fp/symmetricDifferenceWith.js | 1 - .../core/node_modules/lodash/fp/tail.js | 5 - .../core/node_modules/lodash/fp/take.js | 5 - .../core/node_modules/lodash/fp/takeLast.js | 1 - .../node_modules/lodash/fp/takeLastWhile.js | 1 - .../core/node_modules/lodash/fp/takeRight.js | 5 - .../node_modules/lodash/fp/takeRightWhile.js | 5 - .../core/node_modules/lodash/fp/takeWhile.js | 5 - .../@babel/core/node_modules/lodash/fp/tap.js | 5 - .../core/node_modules/lodash/fp/template.js | 5 - .../lodash/fp/templateSettings.js | 5 - .../core/node_modules/lodash/fp/throttle.js | 5 - .../core/node_modules/lodash/fp/thru.js | 5 - .../core/node_modules/lodash/fp/times.js | 5 - .../core/node_modules/lodash/fp/toArray.js | 5 - .../core/node_modules/lodash/fp/toFinite.js | 5 - .../core/node_modules/lodash/fp/toInteger.js | 5 - .../core/node_modules/lodash/fp/toIterator.js | 5 - .../core/node_modules/lodash/fp/toJSON.js | 5 - .../core/node_modules/lodash/fp/toLength.js | 5 - .../core/node_modules/lodash/fp/toLower.js | 5 - .../core/node_modules/lodash/fp/toNumber.js | 5 - .../core/node_modules/lodash/fp/toPairs.js | 5 - .../core/node_modules/lodash/fp/toPairsIn.js | 5 - .../core/node_modules/lodash/fp/toPath.js | 5 - .../node_modules/lodash/fp/toPlainObject.js | 5 - .../node_modules/lodash/fp/toSafeInteger.js | 5 - .../core/node_modules/lodash/fp/toString.js | 5 - .../core/node_modules/lodash/fp/toUpper.js | 5 - .../core/node_modules/lodash/fp/transform.js | 5 - .../core/node_modules/lodash/fp/trim.js | 5 - .../core/node_modules/lodash/fp/trimChars.js | 5 - .../node_modules/lodash/fp/trimCharsEnd.js | 5 - .../node_modules/lodash/fp/trimCharsStart.js | 5 - .../core/node_modules/lodash/fp/trimEnd.js | 5 - .../core/node_modules/lodash/fp/trimStart.js | 5 - .../core/node_modules/lodash/fp/truncate.js | 5 - .../core/node_modules/lodash/fp/unapply.js | 1 - .../core/node_modules/lodash/fp/unary.js | 5 - .../core/node_modules/lodash/fp/unescape.js | 5 - .../core/node_modules/lodash/fp/union.js | 5 - .../core/node_modules/lodash/fp/unionBy.js | 5 - .../core/node_modules/lodash/fp/unionWith.js | 5 - .../core/node_modules/lodash/fp/uniq.js | 5 - .../core/node_modules/lodash/fp/uniqBy.js | 5 - .../core/node_modules/lodash/fp/uniqWith.js | 5 - .../core/node_modules/lodash/fp/uniqueId.js | 5 - .../core/node_modules/lodash/fp/unnest.js | 1 - .../core/node_modules/lodash/fp/unset.js | 5 - .../core/node_modules/lodash/fp/unzip.js | 5 - .../core/node_modules/lodash/fp/unzipWith.js | 5 - .../core/node_modules/lodash/fp/update.js | 5 - .../core/node_modules/lodash/fp/updateWith.js | 5 - .../core/node_modules/lodash/fp/upperCase.js | 5 - .../core/node_modules/lodash/fp/upperFirst.js | 5 - .../core/node_modules/lodash/fp/useWith.js | 1 - .../core/node_modules/lodash/fp/util.js | 2 - .../core/node_modules/lodash/fp/value.js | 5 - .../core/node_modules/lodash/fp/valueOf.js | 5 - .../core/node_modules/lodash/fp/values.js | 5 - .../core/node_modules/lodash/fp/valuesIn.js | 5 - .../core/node_modules/lodash/fp/where.js | 1 - .../core/node_modules/lodash/fp/whereEq.js | 1 - .../core/node_modules/lodash/fp/without.js | 5 - .../core/node_modules/lodash/fp/words.js | 5 - .../core/node_modules/lodash/fp/wrap.js | 5 - .../core/node_modules/lodash/fp/wrapperAt.js | 5 - .../node_modules/lodash/fp/wrapperChain.js | 5 - .../node_modules/lodash/fp/wrapperLodash.js | 5 - .../node_modules/lodash/fp/wrapperReverse.js | 5 - .../node_modules/lodash/fp/wrapperValue.js | 5 - .../@babel/core/node_modules/lodash/fp/xor.js | 5 - .../core/node_modules/lodash/fp/xorBy.js | 5 - .../core/node_modules/lodash/fp/xorWith.js | 5 - .../@babel/core/node_modules/lodash/fp/zip.js | 5 - .../core/node_modules/lodash/fp/zipAll.js | 5 - .../core/node_modules/lodash/fp/zipObj.js | 1 - .../core/node_modules/lodash/fp/zipObject.js | 5 - .../node_modules/lodash/fp/zipObjectDeep.js | 5 - .../core/node_modules/lodash/fp/zipWith.js | 5 - .../core/node_modules/lodash/fromPairs.js | 28 - .../core/node_modules/lodash/function.js | 25 - .../core/node_modules/lodash/functions.js | 31 - .../core/node_modules/lodash/functionsIn.js | 31 - .../@babel/core/node_modules/lodash/get.js | 33 - .../core/node_modules/lodash/groupBy.js | 41 - .../@babel/core/node_modules/lodash/gt.js | 29 - .../@babel/core/node_modules/lodash/gte.js | 30 - .../@babel/core/node_modules/lodash/has.js | 35 - .../@babel/core/node_modules/lodash/hasIn.js | 34 - .../@babel/core/node_modules/lodash/head.js | 23 - .../core/node_modules/lodash/identity.js | 21 - .../core/node_modules/lodash/inRange.js | 55 - .../core/node_modules/lodash/includes.js | 53 - .../@babel/core/node_modules/lodash/index.js | 1 - .../core/node_modules/lodash/indexOf.js | 42 - .../core/node_modules/lodash/initial.js | 22 - .../core/node_modules/lodash/intersection.js | 30 - .../node_modules/lodash/intersectionBy.js | 45 - .../node_modules/lodash/intersectionWith.js | 41 - .../@babel/core/node_modules/lodash/invert.js | 42 - .../core/node_modules/lodash/invertBy.js | 56 - .../@babel/core/node_modules/lodash/invoke.js | 24 - .../core/node_modules/lodash/invokeMap.js | 41 - .../core/node_modules/lodash/isArguments.js | 36 - .../core/node_modules/lodash/isArray.js | 26 - .../core/node_modules/lodash/isArrayBuffer.js | 27 - .../core/node_modules/lodash/isArrayLike.js | 33 - .../node_modules/lodash/isArrayLikeObject.js | 33 - .../core/node_modules/lodash/isBoolean.js | 29 - .../core/node_modules/lodash/isBuffer.js | 38 - .../@babel/core/node_modules/lodash/isDate.js | 27 - .../core/node_modules/lodash/isElement.js | 25 - .../core/node_modules/lodash/isEmpty.js | 77 - .../core/node_modules/lodash/isEqual.js | 35 - .../core/node_modules/lodash/isEqualWith.js | 41 - .../core/node_modules/lodash/isError.js | 36 - .../core/node_modules/lodash/isFinite.js | 36 - .../core/node_modules/lodash/isFunction.js | 37 - .../core/node_modules/lodash/isInteger.js | 33 - .../core/node_modules/lodash/isLength.js | 35 - .../@babel/core/node_modules/lodash/isMap.js | 27 - .../core/node_modules/lodash/isMatch.js | 36 - .../core/node_modules/lodash/isMatchWith.js | 41 - .../@babel/core/node_modules/lodash/isNaN.js | 38 - .../core/node_modules/lodash/isNative.js | 40 - .../@babel/core/node_modules/lodash/isNil.js | 25 - .../@babel/core/node_modules/lodash/isNull.js | 22 - .../core/node_modules/lodash/isNumber.js | 38 - .../core/node_modules/lodash/isObject.js | 31 - .../core/node_modules/lodash/isObjectLike.js | 29 - .../core/node_modules/lodash/isPlainObject.js | 62 - .../core/node_modules/lodash/isRegExp.js | 27 - .../core/node_modules/lodash/isSafeInteger.js | 37 - .../@babel/core/node_modules/lodash/isSet.js | 27 - .../core/node_modules/lodash/isString.js | 30 - .../core/node_modules/lodash/isSymbol.js | 29 - .../core/node_modules/lodash/isTypedArray.js | 27 - .../core/node_modules/lodash/isUndefined.js | 22 - .../core/node_modules/lodash/isWeakMap.js | 28 - .../core/node_modules/lodash/isWeakSet.js | 28 - .../core/node_modules/lodash/iteratee.js | 53 - .../@babel/core/node_modules/lodash/join.js | 26 - .../core/node_modules/lodash/kebabCase.js | 28 - .../@babel/core/node_modules/lodash/keyBy.js | 36 - .../@babel/core/node_modules/lodash/keys.js | 37 - .../@babel/core/node_modules/lodash/keysIn.js | 32 - .../@babel/core/node_modules/lodash/lang.js | 58 - .../@babel/core/node_modules/lodash/last.js | 20 - .../core/node_modules/lodash/lastIndexOf.js | 46 - .../@babel/core/node_modules/lodash/lodash.js | 17161 ---------------- .../core/node_modules/lodash/lodash.min.js | 139 - .../core/node_modules/lodash/lowerCase.js | 27 - .../core/node_modules/lodash/lowerFirst.js | 22 - .../@babel/core/node_modules/lodash/lt.js | 29 - .../@babel/core/node_modules/lodash/lte.js | 30 - .../@babel/core/node_modules/lodash/map.js | 53 - .../core/node_modules/lodash/mapKeys.js | 36 - .../core/node_modules/lodash/mapValues.js | 43 - .../core/node_modules/lodash/matches.js | 46 - .../node_modules/lodash/matchesProperty.js | 44 - .../@babel/core/node_modules/lodash/math.js | 17 - .../@babel/core/node_modules/lodash/max.js | 29 - .../@babel/core/node_modules/lodash/maxBy.js | 34 - .../@babel/core/node_modules/lodash/mean.js | 22 - .../@babel/core/node_modules/lodash/meanBy.js | 31 - .../core/node_modules/lodash/memoize.js | 73 - .../@babel/core/node_modules/lodash/merge.js | 39 - .../core/node_modules/lodash/mergeWith.js | 39 - .../@babel/core/node_modules/lodash/method.js | 34 - .../core/node_modules/lodash/methodOf.js | 33 - .../@babel/core/node_modules/lodash/min.js | 29 - .../@babel/core/node_modules/lodash/minBy.js | 34 - .../@babel/core/node_modules/lodash/mixin.js | 74 - .../core/node_modules/lodash/multiply.js | 22 - .../@babel/core/node_modules/lodash/negate.js | 40 - .../@babel/core/node_modules/lodash/next.js | 35 - .../@babel/core/node_modules/lodash/noop.js | 17 - .../@babel/core/node_modules/lodash/now.js | 23 - .../@babel/core/node_modules/lodash/nth.js | 29 - .../@babel/core/node_modules/lodash/nthArg.js | 32 - .../@babel/core/node_modules/lodash/number.js | 5 - .../@babel/core/node_modules/lodash/object.js | 49 - .../@babel/core/node_modules/lodash/omit.js | 57 - .../@babel/core/node_modules/lodash/omitBy.js | 29 - .../@babel/core/node_modules/lodash/once.js | 25 - .../core/node_modules/lodash/orderBy.js | 47 - .../@babel/core/node_modules/lodash/over.js | 24 - .../core/node_modules/lodash/overArgs.js | 61 - .../core/node_modules/lodash/overEvery.js | 34 - .../core/node_modules/lodash/overSome.js | 37 - .../core/node_modules/lodash/package.json | 17 - .../@babel/core/node_modules/lodash/pad.js | 49 - .../@babel/core/node_modules/lodash/padEnd.js | 39 - .../core/node_modules/lodash/padStart.js | 39 - .../core/node_modules/lodash/parseInt.js | 43 - .../core/node_modules/lodash/partial.js | 50 - .../core/node_modules/lodash/partialRight.js | 49 - .../core/node_modules/lodash/partition.js | 43 - .../@babel/core/node_modules/lodash/pick.js | 25 - .../@babel/core/node_modules/lodash/pickBy.js | 37 - .../@babel/core/node_modules/lodash/plant.js | 48 - .../core/node_modules/lodash/property.js | 32 - .../core/node_modules/lodash/propertyOf.js | 30 - .../@babel/core/node_modules/lodash/pull.js | 29 - .../core/node_modules/lodash/pullAll.js | 29 - .../core/node_modules/lodash/pullAllBy.js | 33 - .../core/node_modules/lodash/pullAllWith.js | 32 - .../@babel/core/node_modules/lodash/pullAt.js | 43 - .../@babel/core/node_modules/lodash/random.js | 82 - .../@babel/core/node_modules/lodash/range.js | 46 - .../core/node_modules/lodash/rangeRight.js | 41 - .../@babel/core/node_modules/lodash/rearg.js | 33 - .../@babel/core/node_modules/lodash/reduce.js | 51 - .../core/node_modules/lodash/reduceRight.js | 36 - .../@babel/core/node_modules/lodash/reject.js | 46 - .../@babel/core/node_modules/lodash/remove.js | 53 - .../@babel/core/node_modules/lodash/repeat.js | 37 - .../core/node_modules/lodash/replace.js | 29 - .../@babel/core/node_modules/lodash/rest.js | 40 - .../@babel/core/node_modules/lodash/result.js | 56 - .../core/node_modules/lodash/reverse.js | 34 - .../@babel/core/node_modules/lodash/round.js | 26 - .../@babel/core/node_modules/lodash/sample.js | 24 - .../core/node_modules/lodash/sampleSize.js | 37 - .../@babel/core/node_modules/lodash/seq.js | 16 - .../@babel/core/node_modules/lodash/set.js | 35 - .../core/node_modules/lodash/setWith.js | 32 - .../core/node_modules/lodash/shuffle.js | 25 - .../@babel/core/node_modules/lodash/size.js | 46 - .../@babel/core/node_modules/lodash/slice.js | 37 - .../core/node_modules/lodash/snakeCase.js | 28 - .../@babel/core/node_modules/lodash/some.js | 51 - .../@babel/core/node_modules/lodash/sortBy.js | 48 - .../core/node_modules/lodash/sortedIndex.js | 24 - .../core/node_modules/lodash/sortedIndexBy.js | 33 - .../core/node_modules/lodash/sortedIndexOf.js | 31 - .../node_modules/lodash/sortedLastIndex.js | 25 - .../node_modules/lodash/sortedLastIndexBy.js | 33 - .../node_modules/lodash/sortedLastIndexOf.js | 31 - .../core/node_modules/lodash/sortedUniq.js | 24 - .../core/node_modules/lodash/sortedUniqBy.js | 26 - .../@babel/core/node_modules/lodash/split.js | 52 - .../@babel/core/node_modules/lodash/spread.js | 63 - .../core/node_modules/lodash/startCase.js | 29 - .../core/node_modules/lodash/startsWith.js | 39 - .../@babel/core/node_modules/lodash/string.js | 33 - .../core/node_modules/lodash/stubArray.js | 23 - .../core/node_modules/lodash/stubFalse.js | 18 - .../core/node_modules/lodash/stubObject.js | 23 - .../core/node_modules/lodash/stubString.js | 18 - .../core/node_modules/lodash/stubTrue.js | 18 - .../core/node_modules/lodash/subtract.js | 22 - .../@babel/core/node_modules/lodash/sum.js | 24 - .../@babel/core/node_modules/lodash/sumBy.js | 33 - .../@babel/core/node_modules/lodash/tail.js | 22 - .../@babel/core/node_modules/lodash/take.js | 37 - .../core/node_modules/lodash/takeRight.js | 39 - .../node_modules/lodash/takeRightWhile.js | 45 - .../core/node_modules/lodash/takeWhile.js | 45 - .../@babel/core/node_modules/lodash/tap.js | 29 - .../core/node_modules/lodash/template.js | 251 - .../node_modules/lodash/templateSettings.js | 67 - .../core/node_modules/lodash/throttle.js | 69 - .../@babel/core/node_modules/lodash/thru.js | 28 - .../@babel/core/node_modules/lodash/times.js | 51 - .../core/node_modules/lodash/toArray.js | 58 - .../core/node_modules/lodash/toFinite.js | 42 - .../core/node_modules/lodash/toInteger.js | 36 - .../core/node_modules/lodash/toIterator.js | 23 - .../@babel/core/node_modules/lodash/toJSON.js | 1 - .../core/node_modules/lodash/toLength.js | 38 - .../core/node_modules/lodash/toLower.js | 28 - .../core/node_modules/lodash/toNumber.js | 66 - .../core/node_modules/lodash/toPairs.js | 30 - .../core/node_modules/lodash/toPairsIn.js | 30 - .../@babel/core/node_modules/lodash/toPath.js | 33 - .../core/node_modules/lodash/toPlainObject.js | 32 - .../core/node_modules/lodash/toSafeInteger.js | 37 - .../core/node_modules/lodash/toString.js | 28 - .../core/node_modules/lodash/toUpper.js | 28 - .../core/node_modules/lodash/transform.js | 65 - .../@babel/core/node_modules/lodash/trim.js | 49 - .../core/node_modules/lodash/trimEnd.js | 43 - .../core/node_modules/lodash/trimStart.js | 43 - .../core/node_modules/lodash/truncate.js | 111 - .../@babel/core/node_modules/lodash/unary.js | 22 - .../core/node_modules/lodash/unescape.js | 34 - .../@babel/core/node_modules/lodash/union.js | 26 - .../core/node_modules/lodash/unionBy.js | 39 - .../core/node_modules/lodash/unionWith.js | 34 - .../@babel/core/node_modules/lodash/uniq.js | 25 - .../@babel/core/node_modules/lodash/uniqBy.js | 31 - .../core/node_modules/lodash/uniqWith.js | 28 - .../core/node_modules/lodash/uniqueId.js | 28 - .../@babel/core/node_modules/lodash/unset.js | 34 - .../@babel/core/node_modules/lodash/unzip.js | 45 - .../core/node_modules/lodash/unzipWith.js | 39 - .../@babel/core/node_modules/lodash/update.js | 35 - .../core/node_modules/lodash/updateWith.js | 33 - .../core/node_modules/lodash/upperCase.js | 27 - .../core/node_modules/lodash/upperFirst.js | 22 - .../@babel/core/node_modules/lodash/util.js | 34 - .../@babel/core/node_modules/lodash/value.js | 1 - .../core/node_modules/lodash/valueOf.js | 1 - .../@babel/core/node_modules/lodash/values.js | 34 - .../core/node_modules/lodash/valuesIn.js | 32 - .../core/node_modules/lodash/without.js | 31 - .../@babel/core/node_modules/lodash/words.js | 35 - .../@babel/core/node_modules/lodash/wrap.js | 30 - .../core/node_modules/lodash/wrapperAt.js | 48 - .../core/node_modules/lodash/wrapperChain.js | 34 - .../core/node_modules/lodash/wrapperLodash.js | 147 - .../node_modules/lodash/wrapperReverse.js | 44 - .../core/node_modules/lodash/wrapperValue.js | 21 - .../@babel/core/node_modules/lodash/xor.js | 28 - .../@babel/core/node_modules/lodash/xorBy.js | 39 - .../core/node_modules/lodash/xorWith.js | 34 - .../@babel/core/node_modules/lodash/zip.js | 22 - .../core/node_modules/lodash/zipObject.js | 24 - .../core/node_modules/lodash/zipObjectDeep.js | 23 - .../core/node_modules/lodash/zipWith.js | 32 - .../core/node_modules/node-releases/LICENSE | 21 + .../core/node_modules/node-releases/README.md | 31 + .../node-releases/data/processed/envs.json | 1545 ++ .../node-releases/data/raw/iojs.json | 43 + .../node-releases/data/raw/nodejs.json | 578 + .../release-schedule/release-schedule.json | 105 + .../node_modules/node-releases/package.json | 24 + .../@babel/core/node_modules/semver/README.md | 39 +- .../semver/bin/{semver => semver.js} | 18 +- .../core/node_modules/semver/package.json | 8 +- .../@babel/core/node_modules/semver/semver.js | 385 +- tools/node_modules/@babel/core/package.json | 47 +- .../{index-browser.js => index-browser.ts} | 53 +- .../src/config/files/{index.js => index.ts} | 8 +- .../src/config/resolve-targets-browser.ts | 33 + .../@babel/core/src/config/resolve-targets.ts | 49 + ...e-browser.js => transform-file-browser.ts} | 14 +- .../@babel/core/src/transform-file.js | 40 - .../@babel/core/src/transform-file.ts | 40 + .../transformation/util/clone-deep-browser.ts | 19 + .../src/transformation/util/clone-deep.ts | 9 + .../@babel/eslint-parser/README.md | 45 +- .../{analyze-scope.js => analyze-scope.cjs} | 82 +- .../@babel/eslint-parser/lib/client.cjs | 24 + .../eslint-parser/lib/configuration.cjs | 20 + .../@babel/eslint-parser/lib/configuration.js | 66 - .../eslint-parser/lib/convert/convertAST.cjs | 137 + .../eslint-parser/lib/convert/convertAST.js | 158 - ...convertComments.js => convertComments.cjs} | 11 +- .../{convertTokens.js => convertTokens.cjs} | 66 +- .../eslint-parser/lib/convert/index.cjs | 21 + .../@babel/eslint-parser/lib/convert/index.js | 20 - .../@babel/eslint-parser/lib/index.cjs | 70 + .../@babel/eslint-parser/lib/index.js | 68 - .../@babel/eslint-parser/lib/visitor-keys.js | 28 - .../eslint-parser/lib/worker/ast-info.cjs | 33 + .../eslint-parser/lib/worker/babel-core.cjs | 15 + .../lib/worker/configuration.cjs | 87 + .../worker/extract-parser-options-plugin.cjs | 8 + .../@babel/eslint-parser/lib/worker/index.cjs | 40 + .../eslint-parser/lib/worker/maybeParse.cjs | 49 + .../node_modules/eslint-scope/lib/scope.js | 2 +- .../node_modules/eslint-scope/package.json | 4 +- .../eslint-visitor-keys/README.md | 2 +- .../eslint-visitor-keys/lib/visitor-keys.json | 5 + .../eslint-visitor-keys/package.json | 5 +- .../@babel/eslint-parser/package.json | 19 +- .../plugin-syntax-class-properties/README.md | 2 +- .../@babel/helper-plugin-utils/README.md | 2 +- .../@babel/helper-plugin-utils/lib/index.js | 27 +- .../@babel/helper-plugin-utils/package.json | 14 +- .../package.json | 7 +- .../plugin-syntax-top-level-await/README.md | 2 +- .../@babel/helper-plugin-utils/README.md | 2 +- .../@babel/helper-plugin-utils/lib/index.js | 27 +- .../@babel/helper-plugin-utils/package.json | 14 +- .../package.json | 15 +- 2186 files changed, 22563 insertions(+), 50829 deletions(-) create mode 100644 tools/node_modules/@babel/core/lib/config/cache-contexts.js create mode 100644 tools/node_modules/@babel/core/lib/config/resolve-targets-browser.js create mode 100644 tools/node_modules/@babel/core/lib/config/resolve-targets.js create mode 100644 tools/node_modules/@babel/core/lib/transformation/util/clone-deep-browser.js create mode 100644 tools/node_modules/@babel/core/lib/transformation/util/clone-deep.js rename tools/node_modules/@babel/core/node_modules/{lodash => @babel/compat-data}/LICENSE (52%) create mode 100644 tools/node_modules/@babel/core/node_modules/@babel/compat-data/corejs2-built-ins.js create mode 100644 tools/node_modules/@babel/core/node_modules/@babel/compat-data/corejs3-shipped-proposals.js create mode 100644 tools/node_modules/@babel/core/node_modules/@babel/compat-data/data/corejs2-built-ins.json create mode 100644 tools/node_modules/@babel/core/node_modules/@babel/compat-data/data/corejs3-shipped-proposals.json create mode 100644 tools/node_modules/@babel/core/node_modules/@babel/compat-data/data/native-modules.json create mode 100644 tools/node_modules/@babel/core/node_modules/@babel/compat-data/data/overlapping-plugins.json create mode 100644 tools/node_modules/@babel/core/node_modules/@babel/compat-data/data/plugin-bugfixes.json create mode 100644 tools/node_modules/@babel/core/node_modules/@babel/compat-data/data/plugins.json create mode 100644 tools/node_modules/@babel/core/node_modules/@babel/compat-data/native-modules.js create mode 100644 tools/node_modules/@babel/core/node_modules/@babel/compat-data/overlapping-plugins.js create mode 100644 tools/node_modules/@babel/core/node_modules/@babel/compat-data/package.json create mode 100644 tools/node_modules/@babel/core/node_modules/@babel/compat-data/plugin-bugfixes.js create mode 100644 tools/node_modules/@babel/core/node_modules/@babel/compat-data/plugins.js create mode 100644 tools/node_modules/@babel/core/node_modules/@babel/helper-compilation-targets/LICENSE create mode 100644 tools/node_modules/@babel/core/node_modules/@babel/helper-compilation-targets/README.md create mode 100644 tools/node_modules/@babel/core/node_modules/@babel/helper-compilation-targets/lib/debug.js create mode 100644 tools/node_modules/@babel/core/node_modules/@babel/helper-compilation-targets/lib/filter-items.js create mode 100644 tools/node_modules/@babel/core/node_modules/@babel/helper-compilation-targets/lib/index.js create mode 100644 tools/node_modules/@babel/core/node_modules/@babel/helper-compilation-targets/lib/options.js create mode 100644 tools/node_modules/@babel/core/node_modules/@babel/helper-compilation-targets/lib/pretty.js create mode 100644 tools/node_modules/@babel/core/node_modules/@babel/helper-compilation-targets/lib/targets.js create mode 100644 tools/node_modules/@babel/core/node_modules/@babel/helper-compilation-targets/lib/types.js create mode 100644 tools/node_modules/@babel/core/node_modules/@babel/helper-compilation-targets/lib/utils.js create mode 100644 tools/node_modules/@babel/core/node_modules/@babel/helper-compilation-targets/package.json create mode 100644 tools/node_modules/@babel/core/node_modules/@babel/helper-hoist-variables/LICENSE create mode 100644 tools/node_modules/@babel/core/node_modules/@babel/helper-hoist-variables/README.md create mode 100644 tools/node_modules/@babel/core/node_modules/@babel/helper-hoist-variables/lib/index.js create mode 100644 tools/node_modules/@babel/core/node_modules/@babel/helper-hoist-variables/package.json create mode 100644 tools/node_modules/@babel/core/node_modules/@babel/helper-validator-option/LICENSE create mode 100644 tools/node_modules/@babel/core/node_modules/@babel/helper-validator-option/README.md create mode 100644 tools/node_modules/@babel/core/node_modules/@babel/helper-validator-option/lib/find-suggestion.js create mode 100644 tools/node_modules/@babel/core/node_modules/@babel/helper-validator-option/lib/index.js create mode 100644 tools/node_modules/@babel/core/node_modules/@babel/helper-validator-option/lib/validator.js create mode 100644 tools/node_modules/@babel/core/node_modules/@babel/helper-validator-option/package.json create mode 100644 tools/node_modules/@babel/core/node_modules/@babel/helpers/lib/helpers-generated.js create mode 100644 tools/node_modules/@babel/core/node_modules/@babel/helpers/lib/helpers/jsx.js create mode 100644 tools/node_modules/@babel/core/node_modules/@babel/helpers/lib/helpers/objectSpread2.js create mode 100644 tools/node_modules/@babel/core/node_modules/@babel/helpers/lib/helpers/typeof.js create mode 100644 tools/node_modules/@babel/core/node_modules/@babel/helpers/lib/helpers/wrapRegExp.js create mode 100644 tools/node_modules/@babel/core/node_modules/@babel/helpers/scripts/generate-helpers.js create mode 100644 tools/node_modules/@babel/core/node_modules/@babel/helpers/scripts/package.json create mode 100644 tools/node_modules/@babel/core/node_modules/@babel/traverse/lib/path/generated/asserts.js create mode 100644 tools/node_modules/@babel/core/node_modules/@babel/traverse/lib/path/generated/validators.js create mode 100644 tools/node_modules/@babel/core/node_modules/@babel/traverse/lib/path/generated/virtual-types.js create mode 100644 tools/node_modules/@babel/core/node_modules/@babel/traverse/lib/types.js create mode 100644 tools/node_modules/@babel/core/node_modules/@babel/traverse/scripts/generators/asserts.js create mode 100644 tools/node_modules/@babel/core/node_modules/@babel/traverse/scripts/generators/validators.js create mode 100644 tools/node_modules/@babel/core/node_modules/@babel/traverse/scripts/generators/virtual-types.js create mode 100644 tools/node_modules/@babel/core/node_modules/@babel/traverse/scripts/package.json create mode 100644 tools/node_modules/@babel/core/node_modules/@babel/types/scripts/package.json create mode 100644 tools/node_modules/@babel/core/node_modules/browserslist/LICENSE create mode 100644 tools/node_modules/@babel/core/node_modules/browserslist/README.md create mode 100644 tools/node_modules/@babel/core/node_modules/browserslist/browser.js create mode 100755 tools/node_modules/@babel/core/node_modules/browserslist/cli.js create mode 100644 tools/node_modules/@babel/core/node_modules/browserslist/error.js create mode 100644 tools/node_modules/@babel/core/node_modules/browserslist/index.js create mode 100644 tools/node_modules/@babel/core/node_modules/browserslist/node.js create mode 100644 tools/node_modules/@babel/core/node_modules/browserslist/package.json create mode 100644 tools/node_modules/@babel/core/node_modules/browserslist/update-db.js create mode 100644 tools/node_modules/@babel/core/node_modules/caniuse-lite/LICENSE create mode 100644 tools/node_modules/@babel/core/node_modules/caniuse-lite/README.md create mode 100644 tools/node_modules/@babel/core/node_modules/caniuse-lite/data/agents.js create mode 100644 tools/node_modules/@babel/core/node_modules/caniuse-lite/data/browserVersions.js create mode 100644 tools/node_modules/@babel/core/node_modules/caniuse-lite/data/browsers.js create mode 100644 tools/node_modules/@babel/core/node_modules/caniuse-lite/data/features.js create mode 100644 tools/node_modules/@babel/core/node_modules/caniuse-lite/data/features/aac.js create mode 100644 tools/node_modules/@babel/core/node_modules/caniuse-lite/data/features/abortcontroller.js create mode 100644 tools/node_modules/@babel/core/node_modules/caniuse-lite/data/features/ac3-ec3.js create mode 100644 tools/node_modules/@babel/core/node_modules/caniuse-lite/data/features/accelerometer.js create mode 100644 tools/node_modules/@babel/core/node_modules/caniuse-lite/data/features/addeventlistener.js create mode 100644 tools/node_modules/@babel/core/node_modules/caniuse-lite/data/features/alternate-stylesheet.js create mode 100644 tools/node_modules/@babel/core/node_modules/caniuse-lite/data/features/ambient-light.js create mode 100644 tools/node_modules/@babel/core/node_modules/caniuse-lite/data/features/apng.js create mode 100644 tools/node_modules/@babel/core/node_modules/caniuse-lite/data/features/array-find-index.js create mode 100644 tools/node_modules/@babel/core/node_modules/caniuse-lite/data/features/array-find.js create mode 100644 tools/node_modules/@babel/core/node_modules/caniuse-lite/data/features/array-flat.js create mode 100644 tools/node_modules/@babel/core/node_modules/caniuse-lite/data/features/array-includes.js create mode 100644 tools/node_modules/@babel/core/node_modules/caniuse-lite/data/features/arrow-functions.js create mode 100644 tools/node_modules/@babel/core/node_modules/caniuse-lite/data/features/asmjs.js create mode 100644 tools/node_modules/@babel/core/node_modules/caniuse-lite/data/features/async-clipboard.js create mode 100644 tools/node_modules/@babel/core/node_modules/caniuse-lite/data/features/async-functions.js create mode 100644 tools/node_modules/@babel/core/node_modules/caniuse-lite/data/features/atob-btoa.js create mode 100644 tools/node_modules/@babel/core/node_modules/caniuse-lite/data/features/audio-api.js create mode 100644 tools/node_modules/@babel/core/node_modules/caniuse-lite/data/features/audio.js create mode 100644 tools/node_modules/@babel/core/node_modules/caniuse-lite/data/features/audiotracks.js create mode 100644 tools/node_modules/@babel/core/node_modules/caniuse-lite/data/features/autofocus.js create mode 100644 tools/node_modules/@babel/core/node_modules/caniuse-lite/data/features/auxclick.js create mode 100644 tools/node_modules/@babel/core/node_modules/caniuse-lite/data/features/av1.js create mode 100644 tools/node_modules/@babel/core/node_modules/caniuse-lite/data/features/avif.js create mode 100644 tools/node_modules/@babel/core/node_modules/caniuse-lite/data/features/background-attachment.js create mode 100644 tools/node_modules/@babel/core/node_modules/caniuse-lite/data/features/background-clip-text.js create mode 100644 tools/node_modules/@babel/core/node_modules/caniuse-lite/data/features/background-img-opts.js create mode 100644 tools/node_modules/@babel/core/node_modules/caniuse-lite/data/features/background-position-x-y.js create mode 100644 tools/node_modules/@babel/core/node_modules/caniuse-lite/data/features/background-repeat-round-space.js create mode 100644 tools/node_modules/@babel/core/node_modules/caniuse-lite/data/features/background-sync.js create mode 100644 tools/node_modules/@babel/core/node_modules/caniuse-lite/data/features/battery-status.js create mode 100644 tools/node_modules/@babel/core/node_modules/caniuse-lite/data/features/beacon.js create mode 100644 tools/node_modules/@babel/core/node_modules/caniuse-lite/data/features/beforeafterprint.js create mode 100644 tools/node_modules/@babel/core/node_modules/caniuse-lite/data/features/bigint.js create mode 100644 tools/node_modules/@babel/core/node_modules/caniuse-lite/data/features/blobbuilder.js create mode 100644 tools/node_modules/@babel/core/node_modules/caniuse-lite/data/features/bloburls.js create mode 100644 tools/node_modules/@babel/core/node_modules/caniuse-lite/data/features/border-image.js create mode 100644 tools/node_modules/@babel/core/node_modules/caniuse-lite/data/features/border-radius.js create mode 100644 tools/node_modules/@babel/core/node_modules/caniuse-lite/data/features/broadcastchannel.js create mode 100644 tools/node_modules/@babel/core/node_modules/caniuse-lite/data/features/brotli.js create mode 100644 tools/node_modules/@babel/core/node_modules/caniuse-lite/data/features/calc.js create mode 100644 tools/node_modules/@babel/core/node_modules/caniuse-lite/data/features/canvas-blending.js create mode 100644 tools/node_modules/@babel/core/node_modules/caniuse-lite/data/features/canvas-text.js create mode 100644 tools/node_modules/@babel/core/node_modules/caniuse-lite/data/features/canvas.js create mode 100644 tools/node_modules/@babel/core/node_modules/caniuse-lite/data/features/ch-unit.js create mode 100644 tools/node_modules/@babel/core/node_modules/caniuse-lite/data/features/chacha20-poly1305.js create mode 100644 tools/node_modules/@babel/core/node_modules/caniuse-lite/data/features/channel-messaging.js create mode 100644 tools/node_modules/@babel/core/node_modules/caniuse-lite/data/features/childnode-remove.js create mode 100644 tools/node_modules/@babel/core/node_modules/caniuse-lite/data/features/classlist.js create mode 100644 tools/node_modules/@babel/core/node_modules/caniuse-lite/data/features/client-hints-dpr-width-viewport.js create mode 100644 tools/node_modules/@babel/core/node_modules/caniuse-lite/data/features/clipboard.js create mode 100644 tools/node_modules/@babel/core/node_modules/caniuse-lite/data/features/colr.js create mode 100644 tools/node_modules/@babel/core/node_modules/caniuse-lite/data/features/comparedocumentposition.js create mode 100644 tools/node_modules/@babel/core/node_modules/caniuse-lite/data/features/console-basic.js create mode 100644 tools/node_modules/@babel/core/node_modules/caniuse-lite/data/features/console-time.js create mode 100644 tools/node_modules/@babel/core/node_modules/caniuse-lite/data/features/const.js create mode 100644 tools/node_modules/@babel/core/node_modules/caniuse-lite/data/features/constraint-validation.js create mode 100644 tools/node_modules/@babel/core/node_modules/caniuse-lite/data/features/contenteditable.js create mode 100644 tools/node_modules/@babel/core/node_modules/caniuse-lite/data/features/contentsecuritypolicy.js create mode 100644 tools/node_modules/@babel/core/node_modules/caniuse-lite/data/features/contentsecuritypolicy2.js create mode 100644 tools/node_modules/@babel/core/node_modules/caniuse-lite/data/features/cookie-store-api.js create mode 100644 tools/node_modules/@babel/core/node_modules/caniuse-lite/data/features/cors.js create mode 100644 tools/node_modules/@babel/core/node_modules/caniuse-lite/data/features/createimagebitmap.js create mode 100644 tools/node_modules/@babel/core/node_modules/caniuse-lite/data/features/credential-management.js create mode 100644 tools/node_modules/@babel/core/node_modules/caniuse-lite/data/features/cryptography.js create mode 100644 tools/node_modules/@babel/core/node_modules/caniuse-lite/data/features/css-all.js create mode 100644 tools/node_modules/@babel/core/node_modules/caniuse-lite/data/features/css-animation.js create mode 100644 tools/node_modules/@babel/core/node_modules/caniuse-lite/data/features/css-any-link.js create mode 100644 tools/node_modules/@babel/core/node_modules/caniuse-lite/data/features/css-appearance.js create mode 100644 tools/node_modules/@babel/core/node_modules/caniuse-lite/data/features/css-apply-rule.js create mode 100644 tools/node_modules/@babel/core/node_modules/caniuse-lite/data/features/css-at-counter-style.js create mode 100644 tools/node_modules/@babel/core/node_modules/caniuse-lite/data/features/css-backdrop-filter.js create mode 100644 tools/node_modules/@babel/core/node_modules/caniuse-lite/data/features/css-background-offsets.js create mode 100644 tools/node_modules/@babel/core/node_modules/caniuse-lite/data/features/css-backgroundblendmode.js create mode 100644 tools/node_modules/@babel/core/node_modules/caniuse-lite/data/features/css-boxdecorationbreak.js create mode 100644 tools/node_modules/@babel/core/node_modules/caniuse-lite/data/features/css-boxshadow.js create mode 100644 tools/node_modules/@babel/core/node_modules/caniuse-lite/data/features/css-canvas.js create mode 100644 tools/node_modules/@babel/core/node_modules/caniuse-lite/data/features/css-caret-color.js create mode 100644 tools/node_modules/@babel/core/node_modules/caniuse-lite/data/features/css-case-insensitive.js create mode 100644 tools/node_modules/@babel/core/node_modules/caniuse-lite/data/features/css-clip-path.js create mode 100644 tools/node_modules/@babel/core/node_modules/caniuse-lite/data/features/css-color-adjust.js create mode 100644 tools/node_modules/@babel/core/node_modules/caniuse-lite/data/features/css-color-function.js create mode 100644 tools/node_modules/@babel/core/node_modules/caniuse-lite/data/features/css-conic-gradients.js create mode 100644 tools/node_modules/@babel/core/node_modules/caniuse-lite/data/features/css-container-queries.js create mode 100644 tools/node_modules/@babel/core/node_modules/caniuse-lite/data/features/css-containment.js create mode 100644 tools/node_modules/@babel/core/node_modules/caniuse-lite/data/features/css-content-visibility.js create mode 100644 tools/node_modules/@babel/core/node_modules/caniuse-lite/data/features/css-counters.js create mode 100644 tools/node_modules/@babel/core/node_modules/caniuse-lite/data/features/css-crisp-edges.js create mode 100644 tools/node_modules/@babel/core/node_modules/caniuse-lite/data/features/css-cross-fade.js create mode 100644 tools/node_modules/@babel/core/node_modules/caniuse-lite/data/features/css-default-pseudo.js create mode 100644 tools/node_modules/@babel/core/node_modules/caniuse-lite/data/features/css-descendant-gtgt.js create mode 100644 tools/node_modules/@babel/core/node_modules/caniuse-lite/data/features/css-deviceadaptation.js create mode 100644 tools/node_modules/@babel/core/node_modules/caniuse-lite/data/features/css-dir-pseudo.js create mode 100644 tools/node_modules/@babel/core/node_modules/caniuse-lite/data/features/css-display-contents.js create mode 100644 tools/node_modules/@babel/core/node_modules/caniuse-lite/data/features/css-element-function.js create mode 100644 tools/node_modules/@babel/core/node_modules/caniuse-lite/data/features/css-env-function.js create mode 100644 tools/node_modules/@babel/core/node_modules/caniuse-lite/data/features/css-exclusions.js create mode 100644 tools/node_modules/@babel/core/node_modules/caniuse-lite/data/features/css-featurequeries.js create mode 100644 tools/node_modules/@babel/core/node_modules/caniuse-lite/data/features/css-filter-function.js create mode 100644 tools/node_modules/@babel/core/node_modules/caniuse-lite/data/features/css-filters.js create mode 100644 tools/node_modules/@babel/core/node_modules/caniuse-lite/data/features/css-first-letter.js create mode 100644 tools/node_modules/@babel/core/node_modules/caniuse-lite/data/features/css-first-line.js create mode 100644 tools/node_modules/@babel/core/node_modules/caniuse-lite/data/features/css-fixed.js create mode 100644 tools/node_modules/@babel/core/node_modules/caniuse-lite/data/features/css-focus-visible.js create mode 100644 tools/node_modules/@babel/core/node_modules/caniuse-lite/data/features/css-focus-within.js create mode 100644 tools/node_modules/@babel/core/node_modules/caniuse-lite/data/features/css-font-rendering-controls.js create mode 100644 tools/node_modules/@babel/core/node_modules/caniuse-lite/data/features/css-font-stretch.js create mode 100644 tools/node_modules/@babel/core/node_modules/caniuse-lite/data/features/css-gencontent.js create mode 100644 tools/node_modules/@babel/core/node_modules/caniuse-lite/data/features/css-gradients.js create mode 100644 tools/node_modules/@babel/core/node_modules/caniuse-lite/data/features/css-grid.js create mode 100644 tools/node_modules/@babel/core/node_modules/caniuse-lite/data/features/css-hanging-punctuation.js create mode 100644 tools/node_modules/@babel/core/node_modules/caniuse-lite/data/features/css-has.js create mode 100644 tools/node_modules/@babel/core/node_modules/caniuse-lite/data/features/css-hyphenate.js create mode 100644 tools/node_modules/@babel/core/node_modules/caniuse-lite/data/features/css-hyphens.js create mode 100644 tools/node_modules/@babel/core/node_modules/caniuse-lite/data/features/css-image-orientation.js create mode 100644 tools/node_modules/@babel/core/node_modules/caniuse-lite/data/features/css-image-set.js create mode 100644 tools/node_modules/@babel/core/node_modules/caniuse-lite/data/features/css-in-out-of-range.js create mode 100644 tools/node_modules/@babel/core/node_modules/caniuse-lite/data/features/css-indeterminate-pseudo.js create mode 100644 tools/node_modules/@babel/core/node_modules/caniuse-lite/data/features/css-initial-letter.js create mode 100644 tools/node_modules/@babel/core/node_modules/caniuse-lite/data/features/css-initial-value.js create mode 100644 tools/node_modules/@babel/core/node_modules/caniuse-lite/data/features/css-letter-spacing.js create mode 100644 tools/node_modules/@babel/core/node_modules/caniuse-lite/data/features/css-line-clamp.js create mode 100644 tools/node_modules/@babel/core/node_modules/caniuse-lite/data/features/css-logical-props.js create mode 100644 tools/node_modules/@babel/core/node_modules/caniuse-lite/data/features/css-marker-pseudo.js create mode 100644 tools/node_modules/@babel/core/node_modules/caniuse-lite/data/features/css-masks.js create mode 100644 tools/node_modules/@babel/core/node_modules/caniuse-lite/data/features/css-matches-pseudo.js create mode 100644 tools/node_modules/@babel/core/node_modules/caniuse-lite/data/features/css-math-functions.js create mode 100644 tools/node_modules/@babel/core/node_modules/caniuse-lite/data/features/css-media-interaction.js create mode 100644 tools/node_modules/@babel/core/node_modules/caniuse-lite/data/features/css-media-resolution.js create mode 100644 tools/node_modules/@babel/core/node_modules/caniuse-lite/data/features/css-media-scripting.js create mode 100644 tools/node_modules/@babel/core/node_modules/caniuse-lite/data/features/css-mediaqueries.js create mode 100644 tools/node_modules/@babel/core/node_modules/caniuse-lite/data/features/css-mixblendmode.js create mode 100644 tools/node_modules/@babel/core/node_modules/caniuse-lite/data/features/css-motion-paths.js create mode 100644 tools/node_modules/@babel/core/node_modules/caniuse-lite/data/features/css-namespaces.js create mode 100644 tools/node_modules/@babel/core/node_modules/caniuse-lite/data/features/css-not-sel-list.js create mode 100644 tools/node_modules/@babel/core/node_modules/caniuse-lite/data/features/css-nth-child-of.js create mode 100644 tools/node_modules/@babel/core/node_modules/caniuse-lite/data/features/css-opacity.js create mode 100644 tools/node_modules/@babel/core/node_modules/caniuse-lite/data/features/css-optional-pseudo.js create mode 100644 tools/node_modules/@babel/core/node_modules/caniuse-lite/data/features/css-overflow-anchor.js create mode 100644 tools/node_modules/@babel/core/node_modules/caniuse-lite/data/features/css-overflow-overlay.js create mode 100644 tools/node_modules/@babel/core/node_modules/caniuse-lite/data/features/css-overflow.js create mode 100644 tools/node_modules/@babel/core/node_modules/caniuse-lite/data/features/css-overscroll-behavior.js create mode 100644 tools/node_modules/@babel/core/node_modules/caniuse-lite/data/features/css-page-break.js create mode 100644 tools/node_modules/@babel/core/node_modules/caniuse-lite/data/features/css-paged-media.js create mode 100644 tools/node_modules/@babel/core/node_modules/caniuse-lite/data/features/css-paint-api.js create mode 100644 tools/node_modules/@babel/core/node_modules/caniuse-lite/data/features/css-placeholder-shown.js create mode 100644 tools/node_modules/@babel/core/node_modules/caniuse-lite/data/features/css-placeholder.js create mode 100644 tools/node_modules/@babel/core/node_modules/caniuse-lite/data/features/css-read-only-write.js create mode 100644 tools/node_modules/@babel/core/node_modules/caniuse-lite/data/features/css-rebeccapurple.js create mode 100644 tools/node_modules/@babel/core/node_modules/caniuse-lite/data/features/css-reflections.js create mode 100644 tools/node_modules/@babel/core/node_modules/caniuse-lite/data/features/css-regions.js create mode 100644 tools/node_modules/@babel/core/node_modules/caniuse-lite/data/features/css-repeating-gradients.js create mode 100644 tools/node_modules/@babel/core/node_modules/caniuse-lite/data/features/css-resize.js create mode 100644 tools/node_modules/@babel/core/node_modules/caniuse-lite/data/features/css-revert-value.js create mode 100644 tools/node_modules/@babel/core/node_modules/caniuse-lite/data/features/css-rrggbbaa.js create mode 100644 tools/node_modules/@babel/core/node_modules/caniuse-lite/data/features/css-scroll-behavior.js create mode 100644 tools/node_modules/@babel/core/node_modules/caniuse-lite/data/features/css-scroll-timeline.js create mode 100644 tools/node_modules/@babel/core/node_modules/caniuse-lite/data/features/css-scrollbar.js create mode 100644 tools/node_modules/@babel/core/node_modules/caniuse-lite/data/features/css-sel2.js create mode 100644 tools/node_modules/@babel/core/node_modules/caniuse-lite/data/features/css-sel3.js create mode 100644 tools/node_modules/@babel/core/node_modules/caniuse-lite/data/features/css-selection.js create mode 100644 tools/node_modules/@babel/core/node_modules/caniuse-lite/data/features/css-shapes.js create mode 100644 tools/node_modules/@babel/core/node_modules/caniuse-lite/data/features/css-snappoints.js create mode 100644 tools/node_modules/@babel/core/node_modules/caniuse-lite/data/features/css-sticky.js create mode 100644 tools/node_modules/@babel/core/node_modules/caniuse-lite/data/features/css-subgrid.js create mode 100644 tools/node_modules/@babel/core/node_modules/caniuse-lite/data/features/css-supports-api.js create mode 100644 tools/node_modules/@babel/core/node_modules/caniuse-lite/data/features/css-table.js create mode 100644 tools/node_modules/@babel/core/node_modules/caniuse-lite/data/features/css-text-align-last.js create mode 100644 tools/node_modules/@babel/core/node_modules/caniuse-lite/data/features/css-text-indent.js create mode 100644 tools/node_modules/@babel/core/node_modules/caniuse-lite/data/features/css-text-justify.js create mode 100644 tools/node_modules/@babel/core/node_modules/caniuse-lite/data/features/css-text-orientation.js create mode 100644 tools/node_modules/@babel/core/node_modules/caniuse-lite/data/features/css-text-spacing.js create mode 100644 tools/node_modules/@babel/core/node_modules/caniuse-lite/data/features/css-textshadow.js create mode 100644 tools/node_modules/@babel/core/node_modules/caniuse-lite/data/features/css-touch-action-2.js create mode 100644 tools/node_modules/@babel/core/node_modules/caniuse-lite/data/features/css-touch-action.js create mode 100644 tools/node_modules/@babel/core/node_modules/caniuse-lite/data/features/css-transitions.js create mode 100644 tools/node_modules/@babel/core/node_modules/caniuse-lite/data/features/css-unicode-bidi.js create mode 100644 tools/node_modules/@babel/core/node_modules/caniuse-lite/data/features/css-unset-value.js create mode 100644 tools/node_modules/@babel/core/node_modules/caniuse-lite/data/features/css-variables.js create mode 100644 tools/node_modules/@babel/core/node_modules/caniuse-lite/data/features/css-widows-orphans.js create mode 100644 tools/node_modules/@babel/core/node_modules/caniuse-lite/data/features/css-writing-mode.js create mode 100644 tools/node_modules/@babel/core/node_modules/caniuse-lite/data/features/css-zoom.js create mode 100644 tools/node_modules/@babel/core/node_modules/caniuse-lite/data/features/css3-attr.js create mode 100644 tools/node_modules/@babel/core/node_modules/caniuse-lite/data/features/css3-boxsizing.js create mode 100644 tools/node_modules/@babel/core/node_modules/caniuse-lite/data/features/css3-colors.js create mode 100644 tools/node_modules/@babel/core/node_modules/caniuse-lite/data/features/css3-cursors-grab.js create mode 100644 tools/node_modules/@babel/core/node_modules/caniuse-lite/data/features/css3-cursors-newer.js create mode 100644 tools/node_modules/@babel/core/node_modules/caniuse-lite/data/features/css3-cursors.js create mode 100644 tools/node_modules/@babel/core/node_modules/caniuse-lite/data/features/css3-tabsize.js create mode 100644 tools/node_modules/@babel/core/node_modules/caniuse-lite/data/features/currentcolor.js create mode 100644 tools/node_modules/@babel/core/node_modules/caniuse-lite/data/features/custom-elements.js create mode 100644 tools/node_modules/@babel/core/node_modules/caniuse-lite/data/features/custom-elementsv1.js create mode 100644 tools/node_modules/@babel/core/node_modules/caniuse-lite/data/features/customevent.js create mode 100644 tools/node_modules/@babel/core/node_modules/caniuse-lite/data/features/datalist.js create mode 100644 tools/node_modules/@babel/core/node_modules/caniuse-lite/data/features/dataset.js create mode 100644 tools/node_modules/@babel/core/node_modules/caniuse-lite/data/features/datauri.js create mode 100644 tools/node_modules/@babel/core/node_modules/caniuse-lite/data/features/date-tolocaledatestring.js create mode 100644 tools/node_modules/@babel/core/node_modules/caniuse-lite/data/features/details.js create mode 100644 tools/node_modules/@babel/core/node_modules/caniuse-lite/data/features/deviceorientation.js create mode 100644 tools/node_modules/@babel/core/node_modules/caniuse-lite/data/features/devicepixelratio.js create mode 100644 tools/node_modules/@babel/core/node_modules/caniuse-lite/data/features/dialog.js create mode 100644 tools/node_modules/@babel/core/node_modules/caniuse-lite/data/features/dispatchevent.js create mode 100644 tools/node_modules/@babel/core/node_modules/caniuse-lite/data/features/dnssec.js create mode 100644 tools/node_modules/@babel/core/node_modules/caniuse-lite/data/features/do-not-track.js create mode 100644 tools/node_modules/@babel/core/node_modules/caniuse-lite/data/features/document-currentscript.js create mode 100644 tools/node_modules/@babel/core/node_modules/caniuse-lite/data/features/document-evaluate-xpath.js create mode 100644 tools/node_modules/@babel/core/node_modules/caniuse-lite/data/features/document-execcommand.js create mode 100644 tools/node_modules/@babel/core/node_modules/caniuse-lite/data/features/document-policy.js create mode 100644 tools/node_modules/@babel/core/node_modules/caniuse-lite/data/features/document-scrollingelement.js create mode 100644 tools/node_modules/@babel/core/node_modules/caniuse-lite/data/features/documenthead.js create mode 100644 tools/node_modules/@babel/core/node_modules/caniuse-lite/data/features/dom-manip-convenience.js create mode 100644 tools/node_modules/@babel/core/node_modules/caniuse-lite/data/features/dom-range.js create mode 100644 tools/node_modules/@babel/core/node_modules/caniuse-lite/data/features/domcontentloaded.js create mode 100644 tools/node_modules/@babel/core/node_modules/caniuse-lite/data/features/domfocusin-domfocusout-events.js create mode 100644 tools/node_modules/@babel/core/node_modules/caniuse-lite/data/features/dommatrix.js create mode 100644 tools/node_modules/@babel/core/node_modules/caniuse-lite/data/features/download.js create mode 100644 tools/node_modules/@babel/core/node_modules/caniuse-lite/data/features/dragndrop.js create mode 100644 tools/node_modules/@babel/core/node_modules/caniuse-lite/data/features/element-closest.js create mode 100644 tools/node_modules/@babel/core/node_modules/caniuse-lite/data/features/element-from-point.js create mode 100644 tools/node_modules/@babel/core/node_modules/caniuse-lite/data/features/element-scroll-methods.js create mode 100644 tools/node_modules/@babel/core/node_modules/caniuse-lite/data/features/eme.js create mode 100644 tools/node_modules/@babel/core/node_modules/caniuse-lite/data/features/eot.js create mode 100644 tools/node_modules/@babel/core/node_modules/caniuse-lite/data/features/es5.js create mode 100644 tools/node_modules/@babel/core/node_modules/caniuse-lite/data/features/es6-class.js create mode 100644 tools/node_modules/@babel/core/node_modules/caniuse-lite/data/features/es6-generators.js create mode 100644 tools/node_modules/@babel/core/node_modules/caniuse-lite/data/features/es6-module-dynamic-import.js create mode 100644 tools/node_modules/@babel/core/node_modules/caniuse-lite/data/features/es6-module.js create mode 100644 tools/node_modules/@babel/core/node_modules/caniuse-lite/data/features/es6-number.js create mode 100644 tools/node_modules/@babel/core/node_modules/caniuse-lite/data/features/es6-string-includes.js create mode 100644 tools/node_modules/@babel/core/node_modules/caniuse-lite/data/features/es6.js create mode 100644 tools/node_modules/@babel/core/node_modules/caniuse-lite/data/features/eventsource.js create mode 100644 tools/node_modules/@babel/core/node_modules/caniuse-lite/data/features/extended-system-fonts.js create mode 100644 tools/node_modules/@babel/core/node_modules/caniuse-lite/data/features/feature-policy.js create mode 100644 tools/node_modules/@babel/core/node_modules/caniuse-lite/data/features/fetch.js create mode 100644 tools/node_modules/@babel/core/node_modules/caniuse-lite/data/features/fieldset-disabled.js create mode 100644 tools/node_modules/@babel/core/node_modules/caniuse-lite/data/features/fileapi.js create mode 100644 tools/node_modules/@babel/core/node_modules/caniuse-lite/data/features/filereader.js create mode 100644 tools/node_modules/@babel/core/node_modules/caniuse-lite/data/features/filereadersync.js create mode 100644 tools/node_modules/@babel/core/node_modules/caniuse-lite/data/features/filesystem.js create mode 100644 tools/node_modules/@babel/core/node_modules/caniuse-lite/data/features/flac.js create mode 100644 tools/node_modules/@babel/core/node_modules/caniuse-lite/data/features/flexbox-gap.js create mode 100644 tools/node_modules/@babel/core/node_modules/caniuse-lite/data/features/flexbox.js create mode 100644 tools/node_modules/@babel/core/node_modules/caniuse-lite/data/features/flow-root.js create mode 100644 tools/node_modules/@babel/core/node_modules/caniuse-lite/data/features/focusin-focusout-events.js create mode 100644 tools/node_modules/@babel/core/node_modules/caniuse-lite/data/features/focusoptions-preventscroll.js create mode 100644 tools/node_modules/@babel/core/node_modules/caniuse-lite/data/features/font-family-system-ui.js create mode 100644 tools/node_modules/@babel/core/node_modules/caniuse-lite/data/features/font-feature.js create mode 100644 tools/node_modules/@babel/core/node_modules/caniuse-lite/data/features/font-kerning.js create mode 100644 tools/node_modules/@babel/core/node_modules/caniuse-lite/data/features/font-loading.js create mode 100644 tools/node_modules/@babel/core/node_modules/caniuse-lite/data/features/font-metrics-overrides.js create mode 100644 tools/node_modules/@babel/core/node_modules/caniuse-lite/data/features/font-size-adjust.js create mode 100644 tools/node_modules/@babel/core/node_modules/caniuse-lite/data/features/font-smooth.js create mode 100644 tools/node_modules/@babel/core/node_modules/caniuse-lite/data/features/font-unicode-range.js create mode 100644 tools/node_modules/@babel/core/node_modules/caniuse-lite/data/features/font-variant-alternates.js create mode 100644 tools/node_modules/@babel/core/node_modules/caniuse-lite/data/features/font-variant-east-asian.js create mode 100644 tools/node_modules/@babel/core/node_modules/caniuse-lite/data/features/font-variant-numeric.js create mode 100644 tools/node_modules/@babel/core/node_modules/caniuse-lite/data/features/fontface.js create mode 100644 tools/node_modules/@babel/core/node_modules/caniuse-lite/data/features/form-attribute.js create mode 100644 tools/node_modules/@babel/core/node_modules/caniuse-lite/data/features/form-submit-attributes.js create mode 100644 tools/node_modules/@babel/core/node_modules/caniuse-lite/data/features/form-validation.js create mode 100644 tools/node_modules/@babel/core/node_modules/caniuse-lite/data/features/forms.js create mode 100644 tools/node_modules/@babel/core/node_modules/caniuse-lite/data/features/fullscreen.js create mode 100644 tools/node_modules/@babel/core/node_modules/caniuse-lite/data/features/gamepad.js create mode 100644 tools/node_modules/@babel/core/node_modules/caniuse-lite/data/features/geolocation.js create mode 100644 tools/node_modules/@babel/core/node_modules/caniuse-lite/data/features/getboundingclientrect.js create mode 100644 tools/node_modules/@babel/core/node_modules/caniuse-lite/data/features/getcomputedstyle.js create mode 100644 tools/node_modules/@babel/core/node_modules/caniuse-lite/data/features/getelementsbyclassname.js create mode 100644 tools/node_modules/@babel/core/node_modules/caniuse-lite/data/features/getrandomvalues.js create mode 100644 tools/node_modules/@babel/core/node_modules/caniuse-lite/data/features/gyroscope.js create mode 100644 tools/node_modules/@babel/core/node_modules/caniuse-lite/data/features/hardwareconcurrency.js create mode 100644 tools/node_modules/@babel/core/node_modules/caniuse-lite/data/features/hashchange.js create mode 100644 tools/node_modules/@babel/core/node_modules/caniuse-lite/data/features/heif.js create mode 100644 tools/node_modules/@babel/core/node_modules/caniuse-lite/data/features/hevc.js create mode 100644 tools/node_modules/@babel/core/node_modules/caniuse-lite/data/features/hidden.js create mode 100644 tools/node_modules/@babel/core/node_modules/caniuse-lite/data/features/high-resolution-time.js create mode 100644 tools/node_modules/@babel/core/node_modules/caniuse-lite/data/features/history.js create mode 100644 tools/node_modules/@babel/core/node_modules/caniuse-lite/data/features/html-media-capture.js create mode 100644 tools/node_modules/@babel/core/node_modules/caniuse-lite/data/features/html5semantic.js create mode 100644 tools/node_modules/@babel/core/node_modules/caniuse-lite/data/features/http-live-streaming.js create mode 100644 tools/node_modules/@babel/core/node_modules/caniuse-lite/data/features/http2.js create mode 100644 tools/node_modules/@babel/core/node_modules/caniuse-lite/data/features/http3.js create mode 100644 tools/node_modules/@babel/core/node_modules/caniuse-lite/data/features/iframe-sandbox.js create mode 100644 tools/node_modules/@babel/core/node_modules/caniuse-lite/data/features/iframe-seamless.js create mode 100644 tools/node_modules/@babel/core/node_modules/caniuse-lite/data/features/iframe-srcdoc.js create mode 100644 tools/node_modules/@babel/core/node_modules/caniuse-lite/data/features/imagecapture.js create mode 100644 tools/node_modules/@babel/core/node_modules/caniuse-lite/data/features/ime.js create mode 100644 tools/node_modules/@babel/core/node_modules/caniuse-lite/data/features/img-naturalwidth-naturalheight.js create mode 100644 tools/node_modules/@babel/core/node_modules/caniuse-lite/data/features/import-maps.js create mode 100644 tools/node_modules/@babel/core/node_modules/caniuse-lite/data/features/imports.js create mode 100644 tools/node_modules/@babel/core/node_modules/caniuse-lite/data/features/indeterminate-checkbox.js create mode 100644 tools/node_modules/@babel/core/node_modules/caniuse-lite/data/features/indexeddb.js create mode 100644 tools/node_modules/@babel/core/node_modules/caniuse-lite/data/features/indexeddb2.js create mode 100644 tools/node_modules/@babel/core/node_modules/caniuse-lite/data/features/inline-block.js create mode 100644 tools/node_modules/@babel/core/node_modules/caniuse-lite/data/features/innertext.js create mode 100644 tools/node_modules/@babel/core/node_modules/caniuse-lite/data/features/input-autocomplete-onoff.js create mode 100644 tools/node_modules/@babel/core/node_modules/caniuse-lite/data/features/input-color.js create mode 100644 tools/node_modules/@babel/core/node_modules/caniuse-lite/data/features/input-datetime.js create mode 100644 tools/node_modules/@babel/core/node_modules/caniuse-lite/data/features/input-email-tel-url.js create mode 100644 tools/node_modules/@babel/core/node_modules/caniuse-lite/data/features/input-event.js create mode 100644 tools/node_modules/@babel/core/node_modules/caniuse-lite/data/features/input-file-accept.js create mode 100644 tools/node_modules/@babel/core/node_modules/caniuse-lite/data/features/input-file-directory.js create mode 100644 tools/node_modules/@babel/core/node_modules/caniuse-lite/data/features/input-file-multiple.js create mode 100644 tools/node_modules/@babel/core/node_modules/caniuse-lite/data/features/input-inputmode.js create mode 100644 tools/node_modules/@babel/core/node_modules/caniuse-lite/data/features/input-minlength.js create mode 100644 tools/node_modules/@babel/core/node_modules/caniuse-lite/data/features/input-number.js create mode 100644 tools/node_modules/@babel/core/node_modules/caniuse-lite/data/features/input-pattern.js create mode 100644 tools/node_modules/@babel/core/node_modules/caniuse-lite/data/features/input-placeholder.js create mode 100644 tools/node_modules/@babel/core/node_modules/caniuse-lite/data/features/input-range.js create mode 100644 tools/node_modules/@babel/core/node_modules/caniuse-lite/data/features/input-search.js create mode 100644 tools/node_modules/@babel/core/node_modules/caniuse-lite/data/features/input-selection.js create mode 100644 tools/node_modules/@babel/core/node_modules/caniuse-lite/data/features/insert-adjacent.js create mode 100644 tools/node_modules/@babel/core/node_modules/caniuse-lite/data/features/insertadjacenthtml.js create mode 100644 tools/node_modules/@babel/core/node_modules/caniuse-lite/data/features/internationalization.js create mode 100644 tools/node_modules/@babel/core/node_modules/caniuse-lite/data/features/intersectionobserver-v2.js create mode 100644 tools/node_modules/@babel/core/node_modules/caniuse-lite/data/features/intersectionobserver.js create mode 100644 tools/node_modules/@babel/core/node_modules/caniuse-lite/data/features/intl-pluralrules.js create mode 100644 tools/node_modules/@babel/core/node_modules/caniuse-lite/data/features/intrinsic-width.js create mode 100644 tools/node_modules/@babel/core/node_modules/caniuse-lite/data/features/jpeg2000.js create mode 100644 tools/node_modules/@babel/core/node_modules/caniuse-lite/data/features/jpegxl.js create mode 100644 tools/node_modules/@babel/core/node_modules/caniuse-lite/data/features/jpegxr.js create mode 100644 tools/node_modules/@babel/core/node_modules/caniuse-lite/data/features/js-regexp-lookbehind.js create mode 100644 tools/node_modules/@babel/core/node_modules/caniuse-lite/data/features/json.js create mode 100644 tools/node_modules/@babel/core/node_modules/caniuse-lite/data/features/justify-content-space-evenly.js create mode 100644 tools/node_modules/@babel/core/node_modules/caniuse-lite/data/features/kerning-pairs-ligatures.js create mode 100644 tools/node_modules/@babel/core/node_modules/caniuse-lite/data/features/keyboardevent-charcode.js create mode 100644 tools/node_modules/@babel/core/node_modules/caniuse-lite/data/features/keyboardevent-code.js create mode 100644 tools/node_modules/@babel/core/node_modules/caniuse-lite/data/features/keyboardevent-getmodifierstate.js create mode 100644 tools/node_modules/@babel/core/node_modules/caniuse-lite/data/features/keyboardevent-key.js create mode 100644 tools/node_modules/@babel/core/node_modules/caniuse-lite/data/features/keyboardevent-location.js create mode 100644 tools/node_modules/@babel/core/node_modules/caniuse-lite/data/features/keyboardevent-which.js create mode 100644 tools/node_modules/@babel/core/node_modules/caniuse-lite/data/features/lazyload.js create mode 100644 tools/node_modules/@babel/core/node_modules/caniuse-lite/data/features/let.js create mode 100644 tools/node_modules/@babel/core/node_modules/caniuse-lite/data/features/link-icon-png.js create mode 100644 tools/node_modules/@babel/core/node_modules/caniuse-lite/data/features/link-icon-svg.js create mode 100644 tools/node_modules/@babel/core/node_modules/caniuse-lite/data/features/link-rel-dns-prefetch.js create mode 100644 tools/node_modules/@babel/core/node_modules/caniuse-lite/data/features/link-rel-modulepreload.js create mode 100644 tools/node_modules/@babel/core/node_modules/caniuse-lite/data/features/link-rel-preconnect.js create mode 100644 tools/node_modules/@babel/core/node_modules/caniuse-lite/data/features/link-rel-prefetch.js create mode 100644 tools/node_modules/@babel/core/node_modules/caniuse-lite/data/features/link-rel-preload.js create mode 100644 tools/node_modules/@babel/core/node_modules/caniuse-lite/data/features/link-rel-prerender.js create mode 100644 tools/node_modules/@babel/core/node_modules/caniuse-lite/data/features/loading-lazy-attr.js create mode 100644 tools/node_modules/@babel/core/node_modules/caniuse-lite/data/features/localecompare.js create mode 100644 tools/node_modules/@babel/core/node_modules/caniuse-lite/data/features/magnetometer.js create mode 100644 tools/node_modules/@babel/core/node_modules/caniuse-lite/data/features/matchesselector.js create mode 100644 tools/node_modules/@babel/core/node_modules/caniuse-lite/data/features/matchmedia.js create mode 100644 tools/node_modules/@babel/core/node_modules/caniuse-lite/data/features/mathml.js create mode 100644 tools/node_modules/@babel/core/node_modules/caniuse-lite/data/features/maxlength.js create mode 100644 tools/node_modules/@babel/core/node_modules/caniuse-lite/data/features/media-attribute.js create mode 100644 tools/node_modules/@babel/core/node_modules/caniuse-lite/data/features/media-fragments.js create mode 100644 tools/node_modules/@babel/core/node_modules/caniuse-lite/data/features/media-session-api.js create mode 100644 tools/node_modules/@babel/core/node_modules/caniuse-lite/data/features/mediacapture-fromelement.js create mode 100644 tools/node_modules/@babel/core/node_modules/caniuse-lite/data/features/mediarecorder.js create mode 100644 tools/node_modules/@babel/core/node_modules/caniuse-lite/data/features/mediasource.js create mode 100644 tools/node_modules/@babel/core/node_modules/caniuse-lite/data/features/menu.js create mode 100644 tools/node_modules/@babel/core/node_modules/caniuse-lite/data/features/meta-theme-color.js create mode 100644 tools/node_modules/@babel/core/node_modules/caniuse-lite/data/features/meter.js create mode 100644 tools/node_modules/@babel/core/node_modules/caniuse-lite/data/features/midi.js create mode 100644 tools/node_modules/@babel/core/node_modules/caniuse-lite/data/features/minmaxwh.js create mode 100644 tools/node_modules/@babel/core/node_modules/caniuse-lite/data/features/mp3.js create mode 100644 tools/node_modules/@babel/core/node_modules/caniuse-lite/data/features/mpeg-dash.js create mode 100644 tools/node_modules/@babel/core/node_modules/caniuse-lite/data/features/mpeg4.js create mode 100644 tools/node_modules/@babel/core/node_modules/caniuse-lite/data/features/multibackgrounds.js create mode 100644 tools/node_modules/@babel/core/node_modules/caniuse-lite/data/features/multicolumn.js create mode 100644 tools/node_modules/@babel/core/node_modules/caniuse-lite/data/features/mutation-events.js create mode 100644 tools/node_modules/@babel/core/node_modules/caniuse-lite/data/features/mutationobserver.js create mode 100644 tools/node_modules/@babel/core/node_modules/caniuse-lite/data/features/namevalue-storage.js create mode 100644 tools/node_modules/@babel/core/node_modules/caniuse-lite/data/features/native-filesystem-api.js create mode 100644 tools/node_modules/@babel/core/node_modules/caniuse-lite/data/features/nav-timing.js create mode 100644 tools/node_modules/@babel/core/node_modules/caniuse-lite/data/features/navigator-language.js create mode 100644 tools/node_modules/@babel/core/node_modules/caniuse-lite/data/features/netinfo.js create mode 100644 tools/node_modules/@babel/core/node_modules/caniuse-lite/data/features/notifications.js create mode 100644 tools/node_modules/@babel/core/node_modules/caniuse-lite/data/features/object-entries.js create mode 100644 tools/node_modules/@babel/core/node_modules/caniuse-lite/data/features/object-fit.js create mode 100644 tools/node_modules/@babel/core/node_modules/caniuse-lite/data/features/object-observe.js create mode 100644 tools/node_modules/@babel/core/node_modules/caniuse-lite/data/features/object-values.js create mode 100644 tools/node_modules/@babel/core/node_modules/caniuse-lite/data/features/objectrtc.js create mode 100644 tools/node_modules/@babel/core/node_modules/caniuse-lite/data/features/offline-apps.js create mode 100644 tools/node_modules/@babel/core/node_modules/caniuse-lite/data/features/offscreencanvas.js create mode 100644 tools/node_modules/@babel/core/node_modules/caniuse-lite/data/features/ogg-vorbis.js create mode 100644 tools/node_modules/@babel/core/node_modules/caniuse-lite/data/features/ogv.js create mode 100644 tools/node_modules/@babel/core/node_modules/caniuse-lite/data/features/ol-reversed.js create mode 100644 tools/node_modules/@babel/core/node_modules/caniuse-lite/data/features/once-event-listener.js create mode 100644 tools/node_modules/@babel/core/node_modules/caniuse-lite/data/features/online-status.js create mode 100644 tools/node_modules/@babel/core/node_modules/caniuse-lite/data/features/opus.js create mode 100644 tools/node_modules/@babel/core/node_modules/caniuse-lite/data/features/orientation-sensor.js create mode 100644 tools/node_modules/@babel/core/node_modules/caniuse-lite/data/features/outline.js create mode 100644 tools/node_modules/@babel/core/node_modules/caniuse-lite/data/features/pad-start-end.js create mode 100644 tools/node_modules/@babel/core/node_modules/caniuse-lite/data/features/page-transition-events.js create mode 100644 tools/node_modules/@babel/core/node_modules/caniuse-lite/data/features/pagevisibility.js create mode 100644 tools/node_modules/@babel/core/node_modules/caniuse-lite/data/features/passive-event-listener.js create mode 100644 tools/node_modules/@babel/core/node_modules/caniuse-lite/data/features/passwordrules.js create mode 100644 tools/node_modules/@babel/core/node_modules/caniuse-lite/data/features/path2d.js create mode 100644 tools/node_modules/@babel/core/node_modules/caniuse-lite/data/features/payment-request.js create mode 100644 tools/node_modules/@babel/core/node_modules/caniuse-lite/data/features/pdf-viewer.js create mode 100644 tools/node_modules/@babel/core/node_modules/caniuse-lite/data/features/permissions-api.js create mode 100644 tools/node_modules/@babel/core/node_modules/caniuse-lite/data/features/permissions-policy.js create mode 100644 tools/node_modules/@babel/core/node_modules/caniuse-lite/data/features/picture-in-picture.js create mode 100644 tools/node_modules/@babel/core/node_modules/caniuse-lite/data/features/picture.js create mode 100644 tools/node_modules/@babel/core/node_modules/caniuse-lite/data/features/ping.js create mode 100644 tools/node_modules/@babel/core/node_modules/caniuse-lite/data/features/png-alpha.js create mode 100644 tools/node_modules/@babel/core/node_modules/caniuse-lite/data/features/pointer-events.js create mode 100644 tools/node_modules/@babel/core/node_modules/caniuse-lite/data/features/pointer.js create mode 100644 tools/node_modules/@babel/core/node_modules/caniuse-lite/data/features/pointerlock.js create mode 100644 tools/node_modules/@babel/core/node_modules/caniuse-lite/data/features/portals.js create mode 100644 tools/node_modules/@babel/core/node_modules/caniuse-lite/data/features/prefers-color-scheme.js create mode 100644 tools/node_modules/@babel/core/node_modules/caniuse-lite/data/features/prefers-reduced-motion.js create mode 100644 tools/node_modules/@babel/core/node_modules/caniuse-lite/data/features/private-class-fields.js create mode 100644 tools/node_modules/@babel/core/node_modules/caniuse-lite/data/features/private-methods-and-accessors.js create mode 100644 tools/node_modules/@babel/core/node_modules/caniuse-lite/data/features/progress.js create mode 100644 tools/node_modules/@babel/core/node_modules/caniuse-lite/data/features/promise-finally.js create mode 100644 tools/node_modules/@babel/core/node_modules/caniuse-lite/data/features/promises.js create mode 100644 tools/node_modules/@babel/core/node_modules/caniuse-lite/data/features/proximity.js create mode 100644 tools/node_modules/@babel/core/node_modules/caniuse-lite/data/features/proxy.js create mode 100644 tools/node_modules/@babel/core/node_modules/caniuse-lite/data/features/public-class-fields.js create mode 100644 tools/node_modules/@babel/core/node_modules/caniuse-lite/data/features/publickeypinning.js create mode 100644 tools/node_modules/@babel/core/node_modules/caniuse-lite/data/features/push-api.js create mode 100644 tools/node_modules/@babel/core/node_modules/caniuse-lite/data/features/queryselector.js create mode 100644 tools/node_modules/@babel/core/node_modules/caniuse-lite/data/features/readonly-attr.js create mode 100644 tools/node_modules/@babel/core/node_modules/caniuse-lite/data/features/referrer-policy.js create mode 100644 tools/node_modules/@babel/core/node_modules/caniuse-lite/data/features/registerprotocolhandler.js create mode 100644 tools/node_modules/@babel/core/node_modules/caniuse-lite/data/features/rel-noopener.js create mode 100644 tools/node_modules/@babel/core/node_modules/caniuse-lite/data/features/rel-noreferrer.js create mode 100644 tools/node_modules/@babel/core/node_modules/caniuse-lite/data/features/rellist.js create mode 100644 tools/node_modules/@babel/core/node_modules/caniuse-lite/data/features/rem.js create mode 100644 tools/node_modules/@babel/core/node_modules/caniuse-lite/data/features/requestanimationframe.js create mode 100644 tools/node_modules/@babel/core/node_modules/caniuse-lite/data/features/requestidlecallback.js create mode 100644 tools/node_modules/@babel/core/node_modules/caniuse-lite/data/features/resizeobserver.js create mode 100644 tools/node_modules/@babel/core/node_modules/caniuse-lite/data/features/resource-timing.js create mode 100644 tools/node_modules/@babel/core/node_modules/caniuse-lite/data/features/rest-parameters.js create mode 100644 tools/node_modules/@babel/core/node_modules/caniuse-lite/data/features/rtcpeerconnection.js create mode 100644 tools/node_modules/@babel/core/node_modules/caniuse-lite/data/features/ruby.js create mode 100644 tools/node_modules/@babel/core/node_modules/caniuse-lite/data/features/run-in.js create mode 100644 tools/node_modules/@babel/core/node_modules/caniuse-lite/data/features/same-site-cookie-attribute.js create mode 100644 tools/node_modules/@babel/core/node_modules/caniuse-lite/data/features/screen-orientation.js create mode 100644 tools/node_modules/@babel/core/node_modules/caniuse-lite/data/features/script-async.js create mode 100644 tools/node_modules/@babel/core/node_modules/caniuse-lite/data/features/script-defer.js create mode 100644 tools/node_modules/@babel/core/node_modules/caniuse-lite/data/features/scrollintoview.js create mode 100644 tools/node_modules/@babel/core/node_modules/caniuse-lite/data/features/scrollintoviewifneeded.js create mode 100644 tools/node_modules/@babel/core/node_modules/caniuse-lite/data/features/sdch.js create mode 100644 tools/node_modules/@babel/core/node_modules/caniuse-lite/data/features/selection-api.js create mode 100644 tools/node_modules/@babel/core/node_modules/caniuse-lite/data/features/server-timing.js create mode 100644 tools/node_modules/@babel/core/node_modules/caniuse-lite/data/features/serviceworkers.js create mode 100644 tools/node_modules/@babel/core/node_modules/caniuse-lite/data/features/setimmediate.js create mode 100644 tools/node_modules/@babel/core/node_modules/caniuse-lite/data/features/sha-2.js create mode 100644 tools/node_modules/@babel/core/node_modules/caniuse-lite/data/features/shadowdom.js create mode 100644 tools/node_modules/@babel/core/node_modules/caniuse-lite/data/features/shadowdomv1.js create mode 100644 tools/node_modules/@babel/core/node_modules/caniuse-lite/data/features/sharedarraybuffer.js create mode 100644 tools/node_modules/@babel/core/node_modules/caniuse-lite/data/features/sharedworkers.js create mode 100644 tools/node_modules/@babel/core/node_modules/caniuse-lite/data/features/sni.js create mode 100644 tools/node_modules/@babel/core/node_modules/caniuse-lite/data/features/spdy.js create mode 100644 tools/node_modules/@babel/core/node_modules/caniuse-lite/data/features/speech-recognition.js create mode 100644 tools/node_modules/@babel/core/node_modules/caniuse-lite/data/features/speech-synthesis.js create mode 100644 tools/node_modules/@babel/core/node_modules/caniuse-lite/data/features/spellcheck-attribute.js create mode 100644 tools/node_modules/@babel/core/node_modules/caniuse-lite/data/features/sql-storage.js create mode 100644 tools/node_modules/@babel/core/node_modules/caniuse-lite/data/features/srcset.js create mode 100644 tools/node_modules/@babel/core/node_modules/caniuse-lite/data/features/stream.js create mode 100644 tools/node_modules/@babel/core/node_modules/caniuse-lite/data/features/streams.js create mode 100644 tools/node_modules/@babel/core/node_modules/caniuse-lite/data/features/stricttransportsecurity.js create mode 100644 tools/node_modules/@babel/core/node_modules/caniuse-lite/data/features/style-scoped.js create mode 100644 tools/node_modules/@babel/core/node_modules/caniuse-lite/data/features/subresource-integrity.js create mode 100644 tools/node_modules/@babel/core/node_modules/caniuse-lite/data/features/svg-css.js create mode 100644 tools/node_modules/@babel/core/node_modules/caniuse-lite/data/features/svg-filters.js create mode 100644 tools/node_modules/@babel/core/node_modules/caniuse-lite/data/features/svg-fonts.js create mode 100644 tools/node_modules/@babel/core/node_modules/caniuse-lite/data/features/svg-fragment.js create mode 100644 tools/node_modules/@babel/core/node_modules/caniuse-lite/data/features/svg-html.js create mode 100644 tools/node_modules/@babel/core/node_modules/caniuse-lite/data/features/svg-html5.js create mode 100644 tools/node_modules/@babel/core/node_modules/caniuse-lite/data/features/svg-img.js create mode 100644 tools/node_modules/@babel/core/node_modules/caniuse-lite/data/features/svg-smil.js create mode 100644 tools/node_modules/@babel/core/node_modules/caniuse-lite/data/features/svg.js create mode 100644 tools/node_modules/@babel/core/node_modules/caniuse-lite/data/features/sxg.js create mode 100644 tools/node_modules/@babel/core/node_modules/caniuse-lite/data/features/tabindex-attr.js create mode 100644 tools/node_modules/@babel/core/node_modules/caniuse-lite/data/features/template-literals.js create mode 100644 tools/node_modules/@babel/core/node_modules/caniuse-lite/data/features/template.js create mode 100644 tools/node_modules/@babel/core/node_modules/caniuse-lite/data/features/testfeat.js create mode 100644 tools/node_modules/@babel/core/node_modules/caniuse-lite/data/features/text-decoration.js create mode 100644 tools/node_modules/@babel/core/node_modules/caniuse-lite/data/features/text-emphasis.js create mode 100644 tools/node_modules/@babel/core/node_modules/caniuse-lite/data/features/text-overflow.js create mode 100644 tools/node_modules/@babel/core/node_modules/caniuse-lite/data/features/text-size-adjust.js create mode 100644 tools/node_modules/@babel/core/node_modules/caniuse-lite/data/features/text-stroke.js create mode 100644 tools/node_modules/@babel/core/node_modules/caniuse-lite/data/features/text-underline-offset.js create mode 100644 tools/node_modules/@babel/core/node_modules/caniuse-lite/data/features/textcontent.js create mode 100644 tools/node_modules/@babel/core/node_modules/caniuse-lite/data/features/textencoder.js create mode 100644 tools/node_modules/@babel/core/node_modules/caniuse-lite/data/features/tls1-1.js create mode 100644 tools/node_modules/@babel/core/node_modules/caniuse-lite/data/features/tls1-2.js create mode 100644 tools/node_modules/@babel/core/node_modules/caniuse-lite/data/features/tls1-3.js create mode 100644 tools/node_modules/@babel/core/node_modules/caniuse-lite/data/features/token-binding.js create mode 100644 tools/node_modules/@babel/core/node_modules/caniuse-lite/data/features/touch.js create mode 100644 tools/node_modules/@babel/core/node_modules/caniuse-lite/data/features/transforms2d.js create mode 100644 tools/node_modules/@babel/core/node_modules/caniuse-lite/data/features/transforms3d.js create mode 100644 tools/node_modules/@babel/core/node_modules/caniuse-lite/data/features/trusted-types.js create mode 100644 tools/node_modules/@babel/core/node_modules/caniuse-lite/data/features/ttf.js create mode 100644 tools/node_modules/@babel/core/node_modules/caniuse-lite/data/features/typedarrays.js create mode 100644 tools/node_modules/@babel/core/node_modules/caniuse-lite/data/features/u2f.js create mode 100644 tools/node_modules/@babel/core/node_modules/caniuse-lite/data/features/unhandledrejection.js create mode 100644 tools/node_modules/@babel/core/node_modules/caniuse-lite/data/features/upgradeinsecurerequests.js create mode 100644 tools/node_modules/@babel/core/node_modules/caniuse-lite/data/features/url-scroll-to-text-fragment.js create mode 100644 tools/node_modules/@babel/core/node_modules/caniuse-lite/data/features/url.js create mode 100644 tools/node_modules/@babel/core/node_modules/caniuse-lite/data/features/urlsearchparams.js create mode 100644 tools/node_modules/@babel/core/node_modules/caniuse-lite/data/features/use-strict.js create mode 100644 tools/node_modules/@babel/core/node_modules/caniuse-lite/data/features/user-select-none.js create mode 100644 tools/node_modules/@babel/core/node_modules/caniuse-lite/data/features/user-timing.js create mode 100644 tools/node_modules/@babel/core/node_modules/caniuse-lite/data/features/variable-fonts.js create mode 100644 tools/node_modules/@babel/core/node_modules/caniuse-lite/data/features/vector-effect.js create mode 100644 tools/node_modules/@babel/core/node_modules/caniuse-lite/data/features/vibration.js create mode 100644 tools/node_modules/@babel/core/node_modules/caniuse-lite/data/features/video.js create mode 100644 tools/node_modules/@babel/core/node_modules/caniuse-lite/data/features/videotracks.js create mode 100644 tools/node_modules/@babel/core/node_modules/caniuse-lite/data/features/viewport-units.js create mode 100644 tools/node_modules/@babel/core/node_modules/caniuse-lite/data/features/wai-aria.js create mode 100644 tools/node_modules/@babel/core/node_modules/caniuse-lite/data/features/wake-lock.js create mode 100644 tools/node_modules/@babel/core/node_modules/caniuse-lite/data/features/wasm.js create mode 100644 tools/node_modules/@babel/core/node_modules/caniuse-lite/data/features/wav.js create mode 100644 tools/node_modules/@babel/core/node_modules/caniuse-lite/data/features/wbr-element.js create mode 100644 tools/node_modules/@babel/core/node_modules/caniuse-lite/data/features/web-animation.js create mode 100644 tools/node_modules/@babel/core/node_modules/caniuse-lite/data/features/web-app-manifest.js create mode 100644 tools/node_modules/@babel/core/node_modules/caniuse-lite/data/features/web-bluetooth.js create mode 100644 tools/node_modules/@babel/core/node_modules/caniuse-lite/data/features/web-serial.js create mode 100644 tools/node_modules/@babel/core/node_modules/caniuse-lite/data/features/web-share.js create mode 100644 tools/node_modules/@babel/core/node_modules/caniuse-lite/data/features/webauthn.js create mode 100644 tools/node_modules/@babel/core/node_modules/caniuse-lite/data/features/webgl.js create mode 100644 tools/node_modules/@babel/core/node_modules/caniuse-lite/data/features/webgl2.js create mode 100644 tools/node_modules/@babel/core/node_modules/caniuse-lite/data/features/webgpu.js create mode 100644 tools/node_modules/@babel/core/node_modules/caniuse-lite/data/features/webhid.js create mode 100644 tools/node_modules/@babel/core/node_modules/caniuse-lite/data/features/webkit-user-drag.js create mode 100644 tools/node_modules/@babel/core/node_modules/caniuse-lite/data/features/webm.js create mode 100644 tools/node_modules/@babel/core/node_modules/caniuse-lite/data/features/webnfc.js create mode 100644 tools/node_modules/@babel/core/node_modules/caniuse-lite/data/features/webp.js create mode 100644 tools/node_modules/@babel/core/node_modules/caniuse-lite/data/features/websockets.js create mode 100644 tools/node_modules/@babel/core/node_modules/caniuse-lite/data/features/webusb.js create mode 100644 tools/node_modules/@babel/core/node_modules/caniuse-lite/data/features/webvr.js create mode 100644 tools/node_modules/@babel/core/node_modules/caniuse-lite/data/features/webvtt.js create mode 100644 tools/node_modules/@babel/core/node_modules/caniuse-lite/data/features/webworkers.js create mode 100644 tools/node_modules/@babel/core/node_modules/caniuse-lite/data/features/webxr.js create mode 100644 tools/node_modules/@babel/core/node_modules/caniuse-lite/data/features/will-change.js create mode 100644 tools/node_modules/@babel/core/node_modules/caniuse-lite/data/features/woff.js create mode 100644 tools/node_modules/@babel/core/node_modules/caniuse-lite/data/features/woff2.js create mode 100644 tools/node_modules/@babel/core/node_modules/caniuse-lite/data/features/word-break.js create mode 100644 tools/node_modules/@babel/core/node_modules/caniuse-lite/data/features/wordwrap.js create mode 100644 tools/node_modules/@babel/core/node_modules/caniuse-lite/data/features/x-doc-messaging.js create mode 100644 tools/node_modules/@babel/core/node_modules/caniuse-lite/data/features/x-frame-options.js create mode 100644 tools/node_modules/@babel/core/node_modules/caniuse-lite/data/features/xhr2.js create mode 100644 tools/node_modules/@babel/core/node_modules/caniuse-lite/data/features/xhtml.js create mode 100644 tools/node_modules/@babel/core/node_modules/caniuse-lite/data/features/xhtmlsmil.js create mode 100644 tools/node_modules/@babel/core/node_modules/caniuse-lite/data/features/xml-serializer.js create mode 100644 tools/node_modules/@babel/core/node_modules/caniuse-lite/data/regions/AD.js create mode 100644 tools/node_modules/@babel/core/node_modules/caniuse-lite/data/regions/AE.js create mode 100644 tools/node_modules/@babel/core/node_modules/caniuse-lite/data/regions/AF.js create mode 100644 tools/node_modules/@babel/core/node_modules/caniuse-lite/data/regions/AG.js create mode 100644 tools/node_modules/@babel/core/node_modules/caniuse-lite/data/regions/AI.js create mode 100644 tools/node_modules/@babel/core/node_modules/caniuse-lite/data/regions/AL.js create mode 100644 tools/node_modules/@babel/core/node_modules/caniuse-lite/data/regions/AM.js create mode 100644 tools/node_modules/@babel/core/node_modules/caniuse-lite/data/regions/AO.js create mode 100644 tools/node_modules/@babel/core/node_modules/caniuse-lite/data/regions/AR.js create mode 100644 tools/node_modules/@babel/core/node_modules/caniuse-lite/data/regions/AS.js create mode 100644 tools/node_modules/@babel/core/node_modules/caniuse-lite/data/regions/AT.js create mode 100644 tools/node_modules/@babel/core/node_modules/caniuse-lite/data/regions/AU.js create mode 100644 tools/node_modules/@babel/core/node_modules/caniuse-lite/data/regions/AW.js create mode 100644 tools/node_modules/@babel/core/node_modules/caniuse-lite/data/regions/AX.js create mode 100644 tools/node_modules/@babel/core/node_modules/caniuse-lite/data/regions/AZ.js create mode 100644 tools/node_modules/@babel/core/node_modules/caniuse-lite/data/regions/BA.js create mode 100644 tools/node_modules/@babel/core/node_modules/caniuse-lite/data/regions/BB.js create mode 100644 tools/node_modules/@babel/core/node_modules/caniuse-lite/data/regions/BD.js create mode 100644 tools/node_modules/@babel/core/node_modules/caniuse-lite/data/regions/BE.js create mode 100644 tools/node_modules/@babel/core/node_modules/caniuse-lite/data/regions/BF.js create mode 100644 tools/node_modules/@babel/core/node_modules/caniuse-lite/data/regions/BG.js create mode 100644 tools/node_modules/@babel/core/node_modules/caniuse-lite/data/regions/BH.js create mode 100644 tools/node_modules/@babel/core/node_modules/caniuse-lite/data/regions/BI.js create mode 100644 tools/node_modules/@babel/core/node_modules/caniuse-lite/data/regions/BJ.js create mode 100644 tools/node_modules/@babel/core/node_modules/caniuse-lite/data/regions/BM.js create mode 100644 tools/node_modules/@babel/core/node_modules/caniuse-lite/data/regions/BN.js create mode 100644 tools/node_modules/@babel/core/node_modules/caniuse-lite/data/regions/BO.js create mode 100644 tools/node_modules/@babel/core/node_modules/caniuse-lite/data/regions/BR.js create mode 100644 tools/node_modules/@babel/core/node_modules/caniuse-lite/data/regions/BS.js create mode 100644 tools/node_modules/@babel/core/node_modules/caniuse-lite/data/regions/BT.js create mode 100644 tools/node_modules/@babel/core/node_modules/caniuse-lite/data/regions/BW.js create mode 100644 tools/node_modules/@babel/core/node_modules/caniuse-lite/data/regions/BY.js create mode 100644 tools/node_modules/@babel/core/node_modules/caniuse-lite/data/regions/BZ.js create mode 100644 tools/node_modules/@babel/core/node_modules/caniuse-lite/data/regions/CA.js create mode 100644 tools/node_modules/@babel/core/node_modules/caniuse-lite/data/regions/CD.js create mode 100644 tools/node_modules/@babel/core/node_modules/caniuse-lite/data/regions/CF.js create mode 100644 tools/node_modules/@babel/core/node_modules/caniuse-lite/data/regions/CG.js create mode 100644 tools/node_modules/@babel/core/node_modules/caniuse-lite/data/regions/CH.js create mode 100644 tools/node_modules/@babel/core/node_modules/caniuse-lite/data/regions/CI.js create mode 100644 tools/node_modules/@babel/core/node_modules/caniuse-lite/data/regions/CK.js create mode 100644 tools/node_modules/@babel/core/node_modules/caniuse-lite/data/regions/CL.js create mode 100644 tools/node_modules/@babel/core/node_modules/caniuse-lite/data/regions/CM.js create mode 100644 tools/node_modules/@babel/core/node_modules/caniuse-lite/data/regions/CN.js create mode 100644 tools/node_modules/@babel/core/node_modules/caniuse-lite/data/regions/CO.js create mode 100644 tools/node_modules/@babel/core/node_modules/caniuse-lite/data/regions/CR.js create mode 100644 tools/node_modules/@babel/core/node_modules/caniuse-lite/data/regions/CU.js create mode 100644 tools/node_modules/@babel/core/node_modules/caniuse-lite/data/regions/CV.js create mode 100644 tools/node_modules/@babel/core/node_modules/caniuse-lite/data/regions/CX.js create mode 100644 tools/node_modules/@babel/core/node_modules/caniuse-lite/data/regions/CY.js create mode 100644 tools/node_modules/@babel/core/node_modules/caniuse-lite/data/regions/CZ.js create mode 100644 tools/node_modules/@babel/core/node_modules/caniuse-lite/data/regions/DE.js create mode 100644 tools/node_modules/@babel/core/node_modules/caniuse-lite/data/regions/DJ.js create mode 100644 tools/node_modules/@babel/core/node_modules/caniuse-lite/data/regions/DK.js create mode 100644 tools/node_modules/@babel/core/node_modules/caniuse-lite/data/regions/DM.js create mode 100644 tools/node_modules/@babel/core/node_modules/caniuse-lite/data/regions/DO.js create mode 100644 tools/node_modules/@babel/core/node_modules/caniuse-lite/data/regions/DZ.js create mode 100644 tools/node_modules/@babel/core/node_modules/caniuse-lite/data/regions/EC.js create mode 100644 tools/node_modules/@babel/core/node_modules/caniuse-lite/data/regions/EE.js create mode 100644 tools/node_modules/@babel/core/node_modules/caniuse-lite/data/regions/EG.js create mode 100644 tools/node_modules/@babel/core/node_modules/caniuse-lite/data/regions/ER.js create mode 100644 tools/node_modules/@babel/core/node_modules/caniuse-lite/data/regions/ES.js create mode 100644 tools/node_modules/@babel/core/node_modules/caniuse-lite/data/regions/ET.js create mode 100644 tools/node_modules/@babel/core/node_modules/caniuse-lite/data/regions/FI.js create mode 100644 tools/node_modules/@babel/core/node_modules/caniuse-lite/data/regions/FJ.js create mode 100644 tools/node_modules/@babel/core/node_modules/caniuse-lite/data/regions/FK.js create mode 100644 tools/node_modules/@babel/core/node_modules/caniuse-lite/data/regions/FM.js create mode 100644 tools/node_modules/@babel/core/node_modules/caniuse-lite/data/regions/FO.js create mode 100644 tools/node_modules/@babel/core/node_modules/caniuse-lite/data/regions/FR.js create mode 100644 tools/node_modules/@babel/core/node_modules/caniuse-lite/data/regions/GA.js create mode 100644 tools/node_modules/@babel/core/node_modules/caniuse-lite/data/regions/GB.js create mode 100644 tools/node_modules/@babel/core/node_modules/caniuse-lite/data/regions/GD.js create mode 100644 tools/node_modules/@babel/core/node_modules/caniuse-lite/data/regions/GE.js create mode 100644 tools/node_modules/@babel/core/node_modules/caniuse-lite/data/regions/GF.js create mode 100644 tools/node_modules/@babel/core/node_modules/caniuse-lite/data/regions/GG.js create mode 100644 tools/node_modules/@babel/core/node_modules/caniuse-lite/data/regions/GH.js create mode 100644 tools/node_modules/@babel/core/node_modules/caniuse-lite/data/regions/GI.js create mode 100644 tools/node_modules/@babel/core/node_modules/caniuse-lite/data/regions/GL.js create mode 100644 tools/node_modules/@babel/core/node_modules/caniuse-lite/data/regions/GM.js create mode 100644 tools/node_modules/@babel/core/node_modules/caniuse-lite/data/regions/GN.js create mode 100644 tools/node_modules/@babel/core/node_modules/caniuse-lite/data/regions/GP.js create mode 100644 tools/node_modules/@babel/core/node_modules/caniuse-lite/data/regions/GQ.js create mode 100644 tools/node_modules/@babel/core/node_modules/caniuse-lite/data/regions/GR.js create mode 100644 tools/node_modules/@babel/core/node_modules/caniuse-lite/data/regions/GT.js create mode 100644 tools/node_modules/@babel/core/node_modules/caniuse-lite/data/regions/GU.js create mode 100644 tools/node_modules/@babel/core/node_modules/caniuse-lite/data/regions/GW.js create mode 100644 tools/node_modules/@babel/core/node_modules/caniuse-lite/data/regions/GY.js create mode 100644 tools/node_modules/@babel/core/node_modules/caniuse-lite/data/regions/HK.js create mode 100644 tools/node_modules/@babel/core/node_modules/caniuse-lite/data/regions/HN.js create mode 100644 tools/node_modules/@babel/core/node_modules/caniuse-lite/data/regions/HR.js create mode 100644 tools/node_modules/@babel/core/node_modules/caniuse-lite/data/regions/HT.js create mode 100644 tools/node_modules/@babel/core/node_modules/caniuse-lite/data/regions/HU.js create mode 100644 tools/node_modules/@babel/core/node_modules/caniuse-lite/data/regions/ID.js create mode 100644 tools/node_modules/@babel/core/node_modules/caniuse-lite/data/regions/IE.js create mode 100644 tools/node_modules/@babel/core/node_modules/caniuse-lite/data/regions/IL.js create mode 100644 tools/node_modules/@babel/core/node_modules/caniuse-lite/data/regions/IM.js create mode 100644 tools/node_modules/@babel/core/node_modules/caniuse-lite/data/regions/IN.js create mode 100644 tools/node_modules/@babel/core/node_modules/caniuse-lite/data/regions/IQ.js create mode 100644 tools/node_modules/@babel/core/node_modules/caniuse-lite/data/regions/IR.js create mode 100644 tools/node_modules/@babel/core/node_modules/caniuse-lite/data/regions/IS.js create mode 100644 tools/node_modules/@babel/core/node_modules/caniuse-lite/data/regions/IT.js create mode 100644 tools/node_modules/@babel/core/node_modules/caniuse-lite/data/regions/JE.js create mode 100644 tools/node_modules/@babel/core/node_modules/caniuse-lite/data/regions/JM.js create mode 100644 tools/node_modules/@babel/core/node_modules/caniuse-lite/data/regions/JO.js create mode 100644 tools/node_modules/@babel/core/node_modules/caniuse-lite/data/regions/JP.js create mode 100644 tools/node_modules/@babel/core/node_modules/caniuse-lite/data/regions/KE.js create mode 100644 tools/node_modules/@babel/core/node_modules/caniuse-lite/data/regions/KG.js create mode 100644 tools/node_modules/@babel/core/node_modules/caniuse-lite/data/regions/KH.js create mode 100644 tools/node_modules/@babel/core/node_modules/caniuse-lite/data/regions/KI.js create mode 100644 tools/node_modules/@babel/core/node_modules/caniuse-lite/data/regions/KM.js create mode 100644 tools/node_modules/@babel/core/node_modules/caniuse-lite/data/regions/KN.js create mode 100644 tools/node_modules/@babel/core/node_modules/caniuse-lite/data/regions/KP.js create mode 100644 tools/node_modules/@babel/core/node_modules/caniuse-lite/data/regions/KR.js create mode 100644 tools/node_modules/@babel/core/node_modules/caniuse-lite/data/regions/KW.js create mode 100644 tools/node_modules/@babel/core/node_modules/caniuse-lite/data/regions/KY.js create mode 100644 tools/node_modules/@babel/core/node_modules/caniuse-lite/data/regions/KZ.js create mode 100644 tools/node_modules/@babel/core/node_modules/caniuse-lite/data/regions/LA.js create mode 100644 tools/node_modules/@babel/core/node_modules/caniuse-lite/data/regions/LB.js create mode 100644 tools/node_modules/@babel/core/node_modules/caniuse-lite/data/regions/LC.js create mode 100644 tools/node_modules/@babel/core/node_modules/caniuse-lite/data/regions/LI.js create mode 100644 tools/node_modules/@babel/core/node_modules/caniuse-lite/data/regions/LK.js create mode 100644 tools/node_modules/@babel/core/node_modules/caniuse-lite/data/regions/LR.js create mode 100644 tools/node_modules/@babel/core/node_modules/caniuse-lite/data/regions/LS.js create mode 100644 tools/node_modules/@babel/core/node_modules/caniuse-lite/data/regions/LT.js create mode 100644 tools/node_modules/@babel/core/node_modules/caniuse-lite/data/regions/LU.js create mode 100644 tools/node_modules/@babel/core/node_modules/caniuse-lite/data/regions/LV.js create mode 100644 tools/node_modules/@babel/core/node_modules/caniuse-lite/data/regions/LY.js create mode 100644 tools/node_modules/@babel/core/node_modules/caniuse-lite/data/regions/MA.js create mode 100644 tools/node_modules/@babel/core/node_modules/caniuse-lite/data/regions/MC.js create mode 100644 tools/node_modules/@babel/core/node_modules/caniuse-lite/data/regions/MD.js create mode 100644 tools/node_modules/@babel/core/node_modules/caniuse-lite/data/regions/ME.js create mode 100644 tools/node_modules/@babel/core/node_modules/caniuse-lite/data/regions/MG.js create mode 100644 tools/node_modules/@babel/core/node_modules/caniuse-lite/data/regions/MH.js create mode 100644 tools/node_modules/@babel/core/node_modules/caniuse-lite/data/regions/MK.js create mode 100644 tools/node_modules/@babel/core/node_modules/caniuse-lite/data/regions/ML.js create mode 100644 tools/node_modules/@babel/core/node_modules/caniuse-lite/data/regions/MM.js create mode 100644 tools/node_modules/@babel/core/node_modules/caniuse-lite/data/regions/MN.js create mode 100644 tools/node_modules/@babel/core/node_modules/caniuse-lite/data/regions/MO.js create mode 100644 tools/node_modules/@babel/core/node_modules/caniuse-lite/data/regions/MP.js create mode 100644 tools/node_modules/@babel/core/node_modules/caniuse-lite/data/regions/MQ.js create mode 100644 tools/node_modules/@babel/core/node_modules/caniuse-lite/data/regions/MR.js create mode 100644 tools/node_modules/@babel/core/node_modules/caniuse-lite/data/regions/MS.js create mode 100644 tools/node_modules/@babel/core/node_modules/caniuse-lite/data/regions/MT.js create mode 100644 tools/node_modules/@babel/core/node_modules/caniuse-lite/data/regions/MU.js create mode 100644 tools/node_modules/@babel/core/node_modules/caniuse-lite/data/regions/MV.js create mode 100644 tools/node_modules/@babel/core/node_modules/caniuse-lite/data/regions/MW.js create mode 100644 tools/node_modules/@babel/core/node_modules/caniuse-lite/data/regions/MX.js create mode 100644 tools/node_modules/@babel/core/node_modules/caniuse-lite/data/regions/MY.js create mode 100644 tools/node_modules/@babel/core/node_modules/caniuse-lite/data/regions/MZ.js create mode 100644 tools/node_modules/@babel/core/node_modules/caniuse-lite/data/regions/NA.js create mode 100644 tools/node_modules/@babel/core/node_modules/caniuse-lite/data/regions/NC.js create mode 100644 tools/node_modules/@babel/core/node_modules/caniuse-lite/data/regions/NE.js create mode 100644 tools/node_modules/@babel/core/node_modules/caniuse-lite/data/regions/NF.js create mode 100644 tools/node_modules/@babel/core/node_modules/caniuse-lite/data/regions/NG.js create mode 100644 tools/node_modules/@babel/core/node_modules/caniuse-lite/data/regions/NI.js create mode 100644 tools/node_modules/@babel/core/node_modules/caniuse-lite/data/regions/NL.js create mode 100644 tools/node_modules/@babel/core/node_modules/caniuse-lite/data/regions/NO.js create mode 100644 tools/node_modules/@babel/core/node_modules/caniuse-lite/data/regions/NP.js create mode 100644 tools/node_modules/@babel/core/node_modules/caniuse-lite/data/regions/NR.js create mode 100644 tools/node_modules/@babel/core/node_modules/caniuse-lite/data/regions/NU.js create mode 100644 tools/node_modules/@babel/core/node_modules/caniuse-lite/data/regions/NZ.js create mode 100644 tools/node_modules/@babel/core/node_modules/caniuse-lite/data/regions/OM.js create mode 100644 tools/node_modules/@babel/core/node_modules/caniuse-lite/data/regions/PA.js create mode 100644 tools/node_modules/@babel/core/node_modules/caniuse-lite/data/regions/PE.js create mode 100644 tools/node_modules/@babel/core/node_modules/caniuse-lite/data/regions/PF.js create mode 100644 tools/node_modules/@babel/core/node_modules/caniuse-lite/data/regions/PG.js create mode 100644 tools/node_modules/@babel/core/node_modules/caniuse-lite/data/regions/PH.js create mode 100644 tools/node_modules/@babel/core/node_modules/caniuse-lite/data/regions/PK.js create mode 100644 tools/node_modules/@babel/core/node_modules/caniuse-lite/data/regions/PL.js create mode 100644 tools/node_modules/@babel/core/node_modules/caniuse-lite/data/regions/PM.js create mode 100644 tools/node_modules/@babel/core/node_modules/caniuse-lite/data/regions/PN.js create mode 100644 tools/node_modules/@babel/core/node_modules/caniuse-lite/data/regions/PR.js create mode 100644 tools/node_modules/@babel/core/node_modules/caniuse-lite/data/regions/PS.js create mode 100644 tools/node_modules/@babel/core/node_modules/caniuse-lite/data/regions/PT.js create mode 100644 tools/node_modules/@babel/core/node_modules/caniuse-lite/data/regions/PW.js create mode 100644 tools/node_modules/@babel/core/node_modules/caniuse-lite/data/regions/PY.js create mode 100644 tools/node_modules/@babel/core/node_modules/caniuse-lite/data/regions/QA.js create mode 100644 tools/node_modules/@babel/core/node_modules/caniuse-lite/data/regions/RE.js create mode 100644 tools/node_modules/@babel/core/node_modules/caniuse-lite/data/regions/RO.js create mode 100644 tools/node_modules/@babel/core/node_modules/caniuse-lite/data/regions/RS.js create mode 100644 tools/node_modules/@babel/core/node_modules/caniuse-lite/data/regions/RU.js create mode 100644 tools/node_modules/@babel/core/node_modules/caniuse-lite/data/regions/RW.js create mode 100644 tools/node_modules/@babel/core/node_modules/caniuse-lite/data/regions/SA.js create mode 100644 tools/node_modules/@babel/core/node_modules/caniuse-lite/data/regions/SB.js create mode 100644 tools/node_modules/@babel/core/node_modules/caniuse-lite/data/regions/SC.js create mode 100644 tools/node_modules/@babel/core/node_modules/caniuse-lite/data/regions/SD.js create mode 100644 tools/node_modules/@babel/core/node_modules/caniuse-lite/data/regions/SE.js create mode 100644 tools/node_modules/@babel/core/node_modules/caniuse-lite/data/regions/SG.js create mode 100644 tools/node_modules/@babel/core/node_modules/caniuse-lite/data/regions/SH.js create mode 100644 tools/node_modules/@babel/core/node_modules/caniuse-lite/data/regions/SI.js create mode 100644 tools/node_modules/@babel/core/node_modules/caniuse-lite/data/regions/SK.js create mode 100644 tools/node_modules/@babel/core/node_modules/caniuse-lite/data/regions/SL.js create mode 100644 tools/node_modules/@babel/core/node_modules/caniuse-lite/data/regions/SM.js create mode 100644 tools/node_modules/@babel/core/node_modules/caniuse-lite/data/regions/SN.js create mode 100644 tools/node_modules/@babel/core/node_modules/caniuse-lite/data/regions/SO.js create mode 100644 tools/node_modules/@babel/core/node_modules/caniuse-lite/data/regions/SR.js create mode 100644 tools/node_modules/@babel/core/node_modules/caniuse-lite/data/regions/ST.js create mode 100644 tools/node_modules/@babel/core/node_modules/caniuse-lite/data/regions/SV.js create mode 100644 tools/node_modules/@babel/core/node_modules/caniuse-lite/data/regions/SY.js create mode 100644 tools/node_modules/@babel/core/node_modules/caniuse-lite/data/regions/SZ.js create mode 100644 tools/node_modules/@babel/core/node_modules/caniuse-lite/data/regions/TC.js create mode 100644 tools/node_modules/@babel/core/node_modules/caniuse-lite/data/regions/TD.js create mode 100644 tools/node_modules/@babel/core/node_modules/caniuse-lite/data/regions/TG.js create mode 100644 tools/node_modules/@babel/core/node_modules/caniuse-lite/data/regions/TH.js create mode 100644 tools/node_modules/@babel/core/node_modules/caniuse-lite/data/regions/TJ.js create mode 100644 tools/node_modules/@babel/core/node_modules/caniuse-lite/data/regions/TK.js create mode 100644 tools/node_modules/@babel/core/node_modules/caniuse-lite/data/regions/TL.js create mode 100644 tools/node_modules/@babel/core/node_modules/caniuse-lite/data/regions/TM.js create mode 100644 tools/node_modules/@babel/core/node_modules/caniuse-lite/data/regions/TN.js create mode 100644 tools/node_modules/@babel/core/node_modules/caniuse-lite/data/regions/TO.js create mode 100644 tools/node_modules/@babel/core/node_modules/caniuse-lite/data/regions/TR.js create mode 100644 tools/node_modules/@babel/core/node_modules/caniuse-lite/data/regions/TT.js create mode 100644 tools/node_modules/@babel/core/node_modules/caniuse-lite/data/regions/TV.js create mode 100644 tools/node_modules/@babel/core/node_modules/caniuse-lite/data/regions/TW.js create mode 100644 tools/node_modules/@babel/core/node_modules/caniuse-lite/data/regions/TZ.js create mode 100644 tools/node_modules/@babel/core/node_modules/caniuse-lite/data/regions/UA.js create mode 100644 tools/node_modules/@babel/core/node_modules/caniuse-lite/data/regions/UG.js create mode 100644 tools/node_modules/@babel/core/node_modules/caniuse-lite/data/regions/US.js create mode 100644 tools/node_modules/@babel/core/node_modules/caniuse-lite/data/regions/UY.js create mode 100644 tools/node_modules/@babel/core/node_modules/caniuse-lite/data/regions/UZ.js create mode 100644 tools/node_modules/@babel/core/node_modules/caniuse-lite/data/regions/VA.js create mode 100644 tools/node_modules/@babel/core/node_modules/caniuse-lite/data/regions/VC.js create mode 100644 tools/node_modules/@babel/core/node_modules/caniuse-lite/data/regions/VE.js create mode 100644 tools/node_modules/@babel/core/node_modules/caniuse-lite/data/regions/VG.js create mode 100644 tools/node_modules/@babel/core/node_modules/caniuse-lite/data/regions/VI.js create mode 100644 tools/node_modules/@babel/core/node_modules/caniuse-lite/data/regions/VN.js create mode 100644 tools/node_modules/@babel/core/node_modules/caniuse-lite/data/regions/VU.js create mode 100644 tools/node_modules/@babel/core/node_modules/caniuse-lite/data/regions/WF.js create mode 100644 tools/node_modules/@babel/core/node_modules/caniuse-lite/data/regions/WS.js create mode 100644 tools/node_modules/@babel/core/node_modules/caniuse-lite/data/regions/YE.js create mode 100644 tools/node_modules/@babel/core/node_modules/caniuse-lite/data/regions/YT.js create mode 100644 tools/node_modules/@babel/core/node_modules/caniuse-lite/data/regions/ZA.js create mode 100644 tools/node_modules/@babel/core/node_modules/caniuse-lite/data/regions/ZM.js create mode 100644 tools/node_modules/@babel/core/node_modules/caniuse-lite/data/regions/ZW.js create mode 100644 tools/node_modules/@babel/core/node_modules/caniuse-lite/data/regions/alt-af.js create mode 100644 tools/node_modules/@babel/core/node_modules/caniuse-lite/data/regions/alt-an.js create mode 100644 tools/node_modules/@babel/core/node_modules/caniuse-lite/data/regions/alt-as.js create mode 100644 tools/node_modules/@babel/core/node_modules/caniuse-lite/data/regions/alt-eu.js create mode 100644 tools/node_modules/@babel/core/node_modules/caniuse-lite/data/regions/alt-na.js create mode 100644 tools/node_modules/@babel/core/node_modules/caniuse-lite/data/regions/alt-oc.js create mode 100644 tools/node_modules/@babel/core/node_modules/caniuse-lite/data/regions/alt-sa.js create mode 100644 tools/node_modules/@babel/core/node_modules/caniuse-lite/data/regions/alt-ww.js create mode 100644 tools/node_modules/@babel/core/node_modules/caniuse-lite/dist/lib/statuses.js create mode 100644 tools/node_modules/@babel/core/node_modules/caniuse-lite/dist/lib/supported.js create mode 100644 tools/node_modules/@babel/core/node_modules/caniuse-lite/dist/unpacker/agents.js create mode 100644 tools/node_modules/@babel/core/node_modules/caniuse-lite/dist/unpacker/browserVersions.js create mode 100644 tools/node_modules/@babel/core/node_modules/caniuse-lite/dist/unpacker/browsers.js create mode 100644 tools/node_modules/@babel/core/node_modules/caniuse-lite/dist/unpacker/feature.js create mode 100644 tools/node_modules/@babel/core/node_modules/caniuse-lite/dist/unpacker/features.js create mode 100644 tools/node_modules/@babel/core/node_modules/caniuse-lite/dist/unpacker/index.js create mode 100644 tools/node_modules/@babel/core/node_modules/caniuse-lite/dist/unpacker/region.js create mode 100644 tools/node_modules/@babel/core/node_modules/caniuse-lite/package.json create mode 100644 tools/node_modules/@babel/core/node_modules/colorette/LICENSE.md create mode 100644 tools/node_modules/@babel/core/node_modules/colorette/README.md create mode 100644 tools/node_modules/@babel/core/node_modules/colorette/index.cjs create mode 100644 tools/node_modules/@babel/core/node_modules/colorette/index.js create mode 100644 tools/node_modules/@babel/core/node_modules/colorette/package.json create mode 100644 tools/node_modules/@babel/core/node_modules/electron-to-chromium/LICENSE create mode 100644 tools/node_modules/@babel/core/node_modules/electron-to-chromium/README.md create mode 100644 tools/node_modules/@babel/core/node_modules/electron-to-chromium/chromium-versions.js create mode 100644 tools/node_modules/@babel/core/node_modules/electron-to-chromium/full-chromium-versions.js create mode 100644 tools/node_modules/@babel/core/node_modules/electron-to-chromium/full-versions.js create mode 100644 tools/node_modules/@babel/core/node_modules/electron-to-chromium/index.js create mode 100644 tools/node_modules/@babel/core/node_modules/electron-to-chromium/package.json create mode 100644 tools/node_modules/@babel/core/node_modules/electron-to-chromium/versions.js create mode 100644 tools/node_modules/@babel/core/node_modules/escalade/dist/index.js create mode 100644 tools/node_modules/@babel/core/node_modules/escalade/dist/index.mjs create mode 100644 tools/node_modules/@babel/core/node_modules/escalade/license create mode 100644 tools/node_modules/@babel/core/node_modules/escalade/package.json create mode 100644 tools/node_modules/@babel/core/node_modules/escalade/readme.md create mode 100644 tools/node_modules/@babel/core/node_modules/escalade/sync/index.js create mode 100644 tools/node_modules/@babel/core/node_modules/escalade/sync/index.mjs delete mode 100644 tools/node_modules/@babel/core/node_modules/lodash/README.md delete mode 100644 tools/node_modules/@babel/core/node_modules/lodash/_DataView.js delete mode 100644 tools/node_modules/@babel/core/node_modules/lodash/_Hash.js delete mode 100644 tools/node_modules/@babel/core/node_modules/lodash/_LazyWrapper.js delete mode 100644 tools/node_modules/@babel/core/node_modules/lodash/_ListCache.js delete mode 100644 tools/node_modules/@babel/core/node_modules/lodash/_LodashWrapper.js delete mode 100644 tools/node_modules/@babel/core/node_modules/lodash/_Map.js delete mode 100644 tools/node_modules/@babel/core/node_modules/lodash/_MapCache.js delete mode 100644 tools/node_modules/@babel/core/node_modules/lodash/_Promise.js delete mode 100644 tools/node_modules/@babel/core/node_modules/lodash/_Set.js delete mode 100644 tools/node_modules/@babel/core/node_modules/lodash/_SetCache.js delete mode 100644 tools/node_modules/@babel/core/node_modules/lodash/_Stack.js delete mode 100644 tools/node_modules/@babel/core/node_modules/lodash/_Symbol.js delete mode 100644 tools/node_modules/@babel/core/node_modules/lodash/_Uint8Array.js delete mode 100644 tools/node_modules/@babel/core/node_modules/lodash/_WeakMap.js delete mode 100644 tools/node_modules/@babel/core/node_modules/lodash/_apply.js delete mode 100644 tools/node_modules/@babel/core/node_modules/lodash/_arrayAggregator.js delete mode 100644 tools/node_modules/@babel/core/node_modules/lodash/_arrayEach.js delete mode 100644 tools/node_modules/@babel/core/node_modules/lodash/_arrayEachRight.js delete mode 100644 tools/node_modules/@babel/core/node_modules/lodash/_arrayEvery.js delete mode 100644 tools/node_modules/@babel/core/node_modules/lodash/_arrayFilter.js delete mode 100644 tools/node_modules/@babel/core/node_modules/lodash/_arrayIncludes.js delete mode 100644 tools/node_modules/@babel/core/node_modules/lodash/_arrayIncludesWith.js delete mode 100644 tools/node_modules/@babel/core/node_modules/lodash/_arrayLikeKeys.js delete mode 100644 tools/node_modules/@babel/core/node_modules/lodash/_arrayMap.js delete mode 100644 tools/node_modules/@babel/core/node_modules/lodash/_arrayPush.js delete mode 100644 tools/node_modules/@babel/core/node_modules/lodash/_arrayReduce.js delete mode 100644 tools/node_modules/@babel/core/node_modules/lodash/_arrayReduceRight.js delete mode 100644 tools/node_modules/@babel/core/node_modules/lodash/_arraySample.js delete mode 100644 tools/node_modules/@babel/core/node_modules/lodash/_arraySampleSize.js delete mode 100644 tools/node_modules/@babel/core/node_modules/lodash/_arrayShuffle.js delete mode 100644 tools/node_modules/@babel/core/node_modules/lodash/_arraySome.js delete mode 100644 tools/node_modules/@babel/core/node_modules/lodash/_asciiSize.js delete mode 100644 tools/node_modules/@babel/core/node_modules/lodash/_asciiToArray.js delete mode 100644 tools/node_modules/@babel/core/node_modules/lodash/_asciiWords.js delete mode 100644 tools/node_modules/@babel/core/node_modules/lodash/_assignMergeValue.js delete mode 100644 tools/node_modules/@babel/core/node_modules/lodash/_assignValue.js delete mode 100644 tools/node_modules/@babel/core/node_modules/lodash/_assocIndexOf.js delete mode 100644 tools/node_modules/@babel/core/node_modules/lodash/_baseAggregator.js delete mode 100644 tools/node_modules/@babel/core/node_modules/lodash/_baseAssign.js delete mode 100644 tools/node_modules/@babel/core/node_modules/lodash/_baseAssignIn.js delete mode 100644 tools/node_modules/@babel/core/node_modules/lodash/_baseAssignValue.js delete mode 100644 tools/node_modules/@babel/core/node_modules/lodash/_baseAt.js delete mode 100644 tools/node_modules/@babel/core/node_modules/lodash/_baseClamp.js delete mode 100644 tools/node_modules/@babel/core/node_modules/lodash/_baseClone.js delete mode 100644 tools/node_modules/@babel/core/node_modules/lodash/_baseConforms.js delete mode 100644 tools/node_modules/@babel/core/node_modules/lodash/_baseConformsTo.js delete mode 100644 tools/node_modules/@babel/core/node_modules/lodash/_baseCreate.js delete mode 100644 tools/node_modules/@babel/core/node_modules/lodash/_baseDelay.js delete mode 100644 tools/node_modules/@babel/core/node_modules/lodash/_baseDifference.js delete mode 100644 tools/node_modules/@babel/core/node_modules/lodash/_baseEach.js delete mode 100644 tools/node_modules/@babel/core/node_modules/lodash/_baseEachRight.js delete mode 100644 tools/node_modules/@babel/core/node_modules/lodash/_baseEvery.js delete mode 100644 tools/node_modules/@babel/core/node_modules/lodash/_baseExtremum.js delete mode 100644 tools/node_modules/@babel/core/node_modules/lodash/_baseFill.js delete mode 100644 tools/node_modules/@babel/core/node_modules/lodash/_baseFilter.js delete mode 100644 tools/node_modules/@babel/core/node_modules/lodash/_baseFindIndex.js delete mode 100644 tools/node_modules/@babel/core/node_modules/lodash/_baseFindKey.js delete mode 100644 tools/node_modules/@babel/core/node_modules/lodash/_baseFlatten.js delete mode 100644 tools/node_modules/@babel/core/node_modules/lodash/_baseFor.js delete mode 100644 tools/node_modules/@babel/core/node_modules/lodash/_baseForOwn.js delete mode 100644 tools/node_modules/@babel/core/node_modules/lodash/_baseForOwnRight.js delete mode 100644 tools/node_modules/@babel/core/node_modules/lodash/_baseForRight.js delete mode 100644 tools/node_modules/@babel/core/node_modules/lodash/_baseFunctions.js delete mode 100644 tools/node_modules/@babel/core/node_modules/lodash/_baseGet.js delete mode 100644 tools/node_modules/@babel/core/node_modules/lodash/_baseGetAllKeys.js delete mode 100644 tools/node_modules/@babel/core/node_modules/lodash/_baseGetTag.js delete mode 100644 tools/node_modules/@babel/core/node_modules/lodash/_baseGt.js delete mode 100644 tools/node_modules/@babel/core/node_modules/lodash/_baseHas.js delete mode 100644 tools/node_modules/@babel/core/node_modules/lodash/_baseHasIn.js delete mode 100644 tools/node_modules/@babel/core/node_modules/lodash/_baseInRange.js delete mode 100644 tools/node_modules/@babel/core/node_modules/lodash/_baseIndexOf.js delete mode 100644 tools/node_modules/@babel/core/node_modules/lodash/_baseIndexOfWith.js delete mode 100644 tools/node_modules/@babel/core/node_modules/lodash/_baseIntersection.js delete mode 100644 tools/node_modules/@babel/core/node_modules/lodash/_baseInverter.js delete mode 100644 tools/node_modules/@babel/core/node_modules/lodash/_baseInvoke.js delete mode 100644 tools/node_modules/@babel/core/node_modules/lodash/_baseIsArguments.js delete mode 100644 tools/node_modules/@babel/core/node_modules/lodash/_baseIsArrayBuffer.js delete mode 100644 tools/node_modules/@babel/core/node_modules/lodash/_baseIsDate.js delete mode 100644 tools/node_modules/@babel/core/node_modules/lodash/_baseIsEqual.js delete mode 100644 tools/node_modules/@babel/core/node_modules/lodash/_baseIsEqualDeep.js delete mode 100644 tools/node_modules/@babel/core/node_modules/lodash/_baseIsMap.js delete mode 100644 tools/node_modules/@babel/core/node_modules/lodash/_baseIsMatch.js delete mode 100644 tools/node_modules/@babel/core/node_modules/lodash/_baseIsNaN.js delete mode 100644 tools/node_modules/@babel/core/node_modules/lodash/_baseIsNative.js delete mode 100644 tools/node_modules/@babel/core/node_modules/lodash/_baseIsRegExp.js delete mode 100644 tools/node_modules/@babel/core/node_modules/lodash/_baseIsSet.js delete mode 100644 tools/node_modules/@babel/core/node_modules/lodash/_baseIsTypedArray.js delete mode 100644 tools/node_modules/@babel/core/node_modules/lodash/_baseIteratee.js delete mode 100644 tools/node_modules/@babel/core/node_modules/lodash/_baseKeys.js delete mode 100644 tools/node_modules/@babel/core/node_modules/lodash/_baseKeysIn.js delete mode 100644 tools/node_modules/@babel/core/node_modules/lodash/_baseLodash.js delete mode 100644 tools/node_modules/@babel/core/node_modules/lodash/_baseLt.js delete mode 100644 tools/node_modules/@babel/core/node_modules/lodash/_baseMap.js delete mode 100644 tools/node_modules/@babel/core/node_modules/lodash/_baseMatches.js delete mode 100644 tools/node_modules/@babel/core/node_modules/lodash/_baseMatchesProperty.js delete mode 100644 tools/node_modules/@babel/core/node_modules/lodash/_baseMean.js delete mode 100644 tools/node_modules/@babel/core/node_modules/lodash/_baseMerge.js delete mode 100644 tools/node_modules/@babel/core/node_modules/lodash/_baseMergeDeep.js delete mode 100644 tools/node_modules/@babel/core/node_modules/lodash/_baseNth.js delete mode 100644 tools/node_modules/@babel/core/node_modules/lodash/_baseOrderBy.js delete mode 100644 tools/node_modules/@babel/core/node_modules/lodash/_basePick.js delete mode 100644 tools/node_modules/@babel/core/node_modules/lodash/_basePickBy.js delete mode 100644 tools/node_modules/@babel/core/node_modules/lodash/_baseProperty.js delete mode 100644 tools/node_modules/@babel/core/node_modules/lodash/_basePropertyDeep.js delete mode 100644 tools/node_modules/@babel/core/node_modules/lodash/_basePropertyOf.js delete mode 100644 tools/node_modules/@babel/core/node_modules/lodash/_basePullAll.js delete mode 100644 tools/node_modules/@babel/core/node_modules/lodash/_basePullAt.js delete mode 100644 tools/node_modules/@babel/core/node_modules/lodash/_baseRandom.js delete mode 100644 tools/node_modules/@babel/core/node_modules/lodash/_baseRange.js delete mode 100644 tools/node_modules/@babel/core/node_modules/lodash/_baseReduce.js delete mode 100644 tools/node_modules/@babel/core/node_modules/lodash/_baseRepeat.js delete mode 100644 tools/node_modules/@babel/core/node_modules/lodash/_baseRest.js delete mode 100644 tools/node_modules/@babel/core/node_modules/lodash/_baseSample.js delete mode 100644 tools/node_modules/@babel/core/node_modules/lodash/_baseSampleSize.js delete mode 100644 tools/node_modules/@babel/core/node_modules/lodash/_baseSet.js delete mode 100644 tools/node_modules/@babel/core/node_modules/lodash/_baseSetData.js delete mode 100644 tools/node_modules/@babel/core/node_modules/lodash/_baseSetToString.js delete mode 100644 tools/node_modules/@babel/core/node_modules/lodash/_baseShuffle.js delete mode 100644 tools/node_modules/@babel/core/node_modules/lodash/_baseSlice.js delete mode 100644 tools/node_modules/@babel/core/node_modules/lodash/_baseSome.js delete mode 100644 tools/node_modules/@babel/core/node_modules/lodash/_baseSortBy.js delete mode 100644 tools/node_modules/@babel/core/node_modules/lodash/_baseSortedIndex.js delete mode 100644 tools/node_modules/@babel/core/node_modules/lodash/_baseSortedIndexBy.js delete mode 100644 tools/node_modules/@babel/core/node_modules/lodash/_baseSortedUniq.js delete mode 100644 tools/node_modules/@babel/core/node_modules/lodash/_baseSum.js delete mode 100644 tools/node_modules/@babel/core/node_modules/lodash/_baseTimes.js delete mode 100644 tools/node_modules/@babel/core/node_modules/lodash/_baseToNumber.js delete mode 100644 tools/node_modules/@babel/core/node_modules/lodash/_baseToPairs.js delete mode 100644 tools/node_modules/@babel/core/node_modules/lodash/_baseToString.js delete mode 100644 tools/node_modules/@babel/core/node_modules/lodash/_baseUnary.js delete mode 100644 tools/node_modules/@babel/core/node_modules/lodash/_baseUniq.js delete mode 100644 tools/node_modules/@babel/core/node_modules/lodash/_baseUnset.js delete mode 100644 tools/node_modules/@babel/core/node_modules/lodash/_baseUpdate.js delete mode 100644 tools/node_modules/@babel/core/node_modules/lodash/_baseValues.js delete mode 100644 tools/node_modules/@babel/core/node_modules/lodash/_baseWhile.js delete mode 100644 tools/node_modules/@babel/core/node_modules/lodash/_baseWrapperValue.js delete mode 100644 tools/node_modules/@babel/core/node_modules/lodash/_baseXor.js delete mode 100644 tools/node_modules/@babel/core/node_modules/lodash/_baseZipObject.js delete mode 100644 tools/node_modules/@babel/core/node_modules/lodash/_cacheHas.js delete mode 100644 tools/node_modules/@babel/core/node_modules/lodash/_castArrayLikeObject.js delete mode 100644 tools/node_modules/@babel/core/node_modules/lodash/_castFunction.js delete mode 100644 tools/node_modules/@babel/core/node_modules/lodash/_castPath.js delete mode 100644 tools/node_modules/@babel/core/node_modules/lodash/_castRest.js delete mode 100644 tools/node_modules/@babel/core/node_modules/lodash/_castSlice.js delete mode 100644 tools/node_modules/@babel/core/node_modules/lodash/_charsEndIndex.js delete mode 100644 tools/node_modules/@babel/core/node_modules/lodash/_charsStartIndex.js delete mode 100644 tools/node_modules/@babel/core/node_modules/lodash/_cloneArrayBuffer.js delete mode 100644 tools/node_modules/@babel/core/node_modules/lodash/_cloneBuffer.js delete mode 100644 tools/node_modules/@babel/core/node_modules/lodash/_cloneDataView.js delete mode 100644 tools/node_modules/@babel/core/node_modules/lodash/_cloneRegExp.js delete mode 100644 tools/node_modules/@babel/core/node_modules/lodash/_cloneSymbol.js delete mode 100644 tools/node_modules/@babel/core/node_modules/lodash/_cloneTypedArray.js delete mode 100644 tools/node_modules/@babel/core/node_modules/lodash/_compareAscending.js delete mode 100644 tools/node_modules/@babel/core/node_modules/lodash/_compareMultiple.js delete mode 100644 tools/node_modules/@babel/core/node_modules/lodash/_composeArgs.js delete mode 100644 tools/node_modules/@babel/core/node_modules/lodash/_composeArgsRight.js delete mode 100644 tools/node_modules/@babel/core/node_modules/lodash/_copyArray.js delete mode 100644 tools/node_modules/@babel/core/node_modules/lodash/_copyObject.js delete mode 100644 tools/node_modules/@babel/core/node_modules/lodash/_copySymbols.js delete mode 100644 tools/node_modules/@babel/core/node_modules/lodash/_copySymbolsIn.js delete mode 100644 tools/node_modules/@babel/core/node_modules/lodash/_coreJsData.js delete mode 100644 tools/node_modules/@babel/core/node_modules/lodash/_countHolders.js delete mode 100644 tools/node_modules/@babel/core/node_modules/lodash/_createAggregator.js delete mode 100644 tools/node_modules/@babel/core/node_modules/lodash/_createAssigner.js delete mode 100644 tools/node_modules/@babel/core/node_modules/lodash/_createBaseEach.js delete mode 100644 tools/node_modules/@babel/core/node_modules/lodash/_createBaseFor.js delete mode 100644 tools/node_modules/@babel/core/node_modules/lodash/_createBind.js delete mode 100644 tools/node_modules/@babel/core/node_modules/lodash/_createCaseFirst.js delete mode 100644 tools/node_modules/@babel/core/node_modules/lodash/_createCompounder.js delete mode 100644 tools/node_modules/@babel/core/node_modules/lodash/_createCtor.js delete mode 100644 tools/node_modules/@babel/core/node_modules/lodash/_createCurry.js delete mode 100644 tools/node_modules/@babel/core/node_modules/lodash/_createFind.js delete mode 100644 tools/node_modules/@babel/core/node_modules/lodash/_createFlow.js delete mode 100644 tools/node_modules/@babel/core/node_modules/lodash/_createHybrid.js delete mode 100644 tools/node_modules/@babel/core/node_modules/lodash/_createInverter.js delete mode 100644 tools/node_modules/@babel/core/node_modules/lodash/_createMathOperation.js delete mode 100644 tools/node_modules/@babel/core/node_modules/lodash/_createOver.js delete mode 100644 tools/node_modules/@babel/core/node_modules/lodash/_createPadding.js delete mode 100644 tools/node_modules/@babel/core/node_modules/lodash/_createPartial.js delete mode 100644 tools/node_modules/@babel/core/node_modules/lodash/_createRange.js delete mode 100644 tools/node_modules/@babel/core/node_modules/lodash/_createRecurry.js delete mode 100644 tools/node_modules/@babel/core/node_modules/lodash/_createRelationalOperation.js delete mode 100644 tools/node_modules/@babel/core/node_modules/lodash/_createRound.js delete mode 100644 tools/node_modules/@babel/core/node_modules/lodash/_createSet.js delete mode 100644 tools/node_modules/@babel/core/node_modules/lodash/_createToPairs.js delete mode 100644 tools/node_modules/@babel/core/node_modules/lodash/_createWrap.js delete mode 100644 tools/node_modules/@babel/core/node_modules/lodash/_customDefaultsAssignIn.js delete mode 100644 tools/node_modules/@babel/core/node_modules/lodash/_customDefaultsMerge.js delete mode 100644 tools/node_modules/@babel/core/node_modules/lodash/_customOmitClone.js delete mode 100644 tools/node_modules/@babel/core/node_modules/lodash/_deburrLetter.js delete mode 100644 tools/node_modules/@babel/core/node_modules/lodash/_defineProperty.js delete mode 100644 tools/node_modules/@babel/core/node_modules/lodash/_equalArrays.js delete mode 100644 tools/node_modules/@babel/core/node_modules/lodash/_equalByTag.js delete mode 100644 tools/node_modules/@babel/core/node_modules/lodash/_equalObjects.js delete mode 100644 tools/node_modules/@babel/core/node_modules/lodash/_escapeHtmlChar.js delete mode 100644 tools/node_modules/@babel/core/node_modules/lodash/_escapeStringChar.js delete mode 100644 tools/node_modules/@babel/core/node_modules/lodash/_flatRest.js delete mode 100644 tools/node_modules/@babel/core/node_modules/lodash/_freeGlobal.js delete mode 100644 tools/node_modules/@babel/core/node_modules/lodash/_getAllKeys.js delete mode 100644 tools/node_modules/@babel/core/node_modules/lodash/_getAllKeysIn.js delete mode 100644 tools/node_modules/@babel/core/node_modules/lodash/_getData.js delete mode 100644 tools/node_modules/@babel/core/node_modules/lodash/_getFuncName.js delete mode 100644 tools/node_modules/@babel/core/node_modules/lodash/_getHolder.js delete mode 100644 tools/node_modules/@babel/core/node_modules/lodash/_getMapData.js delete mode 100644 tools/node_modules/@babel/core/node_modules/lodash/_getMatchData.js delete mode 100644 tools/node_modules/@babel/core/node_modules/lodash/_getNative.js delete mode 100644 tools/node_modules/@babel/core/node_modules/lodash/_getPrototype.js delete mode 100644 tools/node_modules/@babel/core/node_modules/lodash/_getRawTag.js delete mode 100644 tools/node_modules/@babel/core/node_modules/lodash/_getSymbols.js delete mode 100644 tools/node_modules/@babel/core/node_modules/lodash/_getSymbolsIn.js delete mode 100644 tools/node_modules/@babel/core/node_modules/lodash/_getTag.js delete mode 100644 tools/node_modules/@babel/core/node_modules/lodash/_getValue.js delete mode 100644 tools/node_modules/@babel/core/node_modules/lodash/_getView.js delete mode 100644 tools/node_modules/@babel/core/node_modules/lodash/_getWrapDetails.js delete mode 100644 tools/node_modules/@babel/core/node_modules/lodash/_hasPath.js delete mode 100644 tools/node_modules/@babel/core/node_modules/lodash/_hasUnicode.js delete mode 100644 tools/node_modules/@babel/core/node_modules/lodash/_hasUnicodeWord.js delete mode 100644 tools/node_modules/@babel/core/node_modules/lodash/_hashClear.js delete mode 100644 tools/node_modules/@babel/core/node_modules/lodash/_hashDelete.js delete mode 100644 tools/node_modules/@babel/core/node_modules/lodash/_hashGet.js delete mode 100644 tools/node_modules/@babel/core/node_modules/lodash/_hashHas.js delete mode 100644 tools/node_modules/@babel/core/node_modules/lodash/_hashSet.js delete mode 100644 tools/node_modules/@babel/core/node_modules/lodash/_initCloneArray.js delete mode 100644 tools/node_modules/@babel/core/node_modules/lodash/_initCloneByTag.js delete mode 100644 tools/node_modules/@babel/core/node_modules/lodash/_initCloneObject.js delete mode 100644 tools/node_modules/@babel/core/node_modules/lodash/_insertWrapDetails.js delete mode 100644 tools/node_modules/@babel/core/node_modules/lodash/_isFlattenable.js delete mode 100644 tools/node_modules/@babel/core/node_modules/lodash/_isIndex.js delete mode 100644 tools/node_modules/@babel/core/node_modules/lodash/_isIterateeCall.js delete mode 100644 tools/node_modules/@babel/core/node_modules/lodash/_isKey.js delete mode 100644 tools/node_modules/@babel/core/node_modules/lodash/_isKeyable.js delete mode 100644 tools/node_modules/@babel/core/node_modules/lodash/_isLaziable.js delete mode 100644 tools/node_modules/@babel/core/node_modules/lodash/_isMaskable.js delete mode 100644 tools/node_modules/@babel/core/node_modules/lodash/_isMasked.js delete mode 100644 tools/node_modules/@babel/core/node_modules/lodash/_isPrototype.js delete mode 100644 tools/node_modules/@babel/core/node_modules/lodash/_isStrictComparable.js delete mode 100644 tools/node_modules/@babel/core/node_modules/lodash/_iteratorToArray.js delete mode 100644 tools/node_modules/@babel/core/node_modules/lodash/_lazyClone.js delete mode 100644 tools/node_modules/@babel/core/node_modules/lodash/_lazyReverse.js delete mode 100644 tools/node_modules/@babel/core/node_modules/lodash/_lazyValue.js delete mode 100644 tools/node_modules/@babel/core/node_modules/lodash/_listCacheClear.js delete mode 100644 tools/node_modules/@babel/core/node_modules/lodash/_listCacheDelete.js delete mode 100644 tools/node_modules/@babel/core/node_modules/lodash/_listCacheGet.js delete mode 100644 tools/node_modules/@babel/core/node_modules/lodash/_listCacheHas.js delete mode 100644 tools/node_modules/@babel/core/node_modules/lodash/_listCacheSet.js delete mode 100644 tools/node_modules/@babel/core/node_modules/lodash/_mapCacheClear.js delete mode 100644 tools/node_modules/@babel/core/node_modules/lodash/_mapCacheDelete.js delete mode 100644 tools/node_modules/@babel/core/node_modules/lodash/_mapCacheGet.js delete mode 100644 tools/node_modules/@babel/core/node_modules/lodash/_mapCacheHas.js delete mode 100644 tools/node_modules/@babel/core/node_modules/lodash/_mapCacheSet.js delete mode 100644 tools/node_modules/@babel/core/node_modules/lodash/_mapToArray.js delete mode 100644 tools/node_modules/@babel/core/node_modules/lodash/_matchesStrictComparable.js delete mode 100644 tools/node_modules/@babel/core/node_modules/lodash/_memoizeCapped.js delete mode 100644 tools/node_modules/@babel/core/node_modules/lodash/_mergeData.js delete mode 100644 tools/node_modules/@babel/core/node_modules/lodash/_metaMap.js delete mode 100644 tools/node_modules/@babel/core/node_modules/lodash/_nativeCreate.js delete mode 100644 tools/node_modules/@babel/core/node_modules/lodash/_nativeKeys.js delete mode 100644 tools/node_modules/@babel/core/node_modules/lodash/_nativeKeysIn.js delete mode 100644 tools/node_modules/@babel/core/node_modules/lodash/_nodeUtil.js delete mode 100644 tools/node_modules/@babel/core/node_modules/lodash/_objectToString.js delete mode 100644 tools/node_modules/@babel/core/node_modules/lodash/_overArg.js delete mode 100644 tools/node_modules/@babel/core/node_modules/lodash/_overRest.js delete mode 100644 tools/node_modules/@babel/core/node_modules/lodash/_parent.js delete mode 100644 tools/node_modules/@babel/core/node_modules/lodash/_reEscape.js delete mode 100644 tools/node_modules/@babel/core/node_modules/lodash/_reEvaluate.js delete mode 100644 tools/node_modules/@babel/core/node_modules/lodash/_reInterpolate.js delete mode 100644 tools/node_modules/@babel/core/node_modules/lodash/_realNames.js delete mode 100644 tools/node_modules/@babel/core/node_modules/lodash/_reorder.js delete mode 100644 tools/node_modules/@babel/core/node_modules/lodash/_replaceHolders.js delete mode 100644 tools/node_modules/@babel/core/node_modules/lodash/_root.js delete mode 100644 tools/node_modules/@babel/core/node_modules/lodash/_safeGet.js delete mode 100644 tools/node_modules/@babel/core/node_modules/lodash/_setCacheAdd.js delete mode 100644 tools/node_modules/@babel/core/node_modules/lodash/_setCacheHas.js delete mode 100644 tools/node_modules/@babel/core/node_modules/lodash/_setData.js delete mode 100644 tools/node_modules/@babel/core/node_modules/lodash/_setToArray.js delete mode 100644 tools/node_modules/@babel/core/node_modules/lodash/_setToPairs.js delete mode 100644 tools/node_modules/@babel/core/node_modules/lodash/_setToString.js delete mode 100644 tools/node_modules/@babel/core/node_modules/lodash/_setWrapToString.js delete mode 100644 tools/node_modules/@babel/core/node_modules/lodash/_shortOut.js delete mode 100644 tools/node_modules/@babel/core/node_modules/lodash/_shuffleSelf.js delete mode 100644 tools/node_modules/@babel/core/node_modules/lodash/_stackClear.js delete mode 100644 tools/node_modules/@babel/core/node_modules/lodash/_stackDelete.js delete mode 100644 tools/node_modules/@babel/core/node_modules/lodash/_stackGet.js delete mode 100644 tools/node_modules/@babel/core/node_modules/lodash/_stackHas.js delete mode 100644 tools/node_modules/@babel/core/node_modules/lodash/_stackSet.js delete mode 100644 tools/node_modules/@babel/core/node_modules/lodash/_strictIndexOf.js delete mode 100644 tools/node_modules/@babel/core/node_modules/lodash/_strictLastIndexOf.js delete mode 100644 tools/node_modules/@babel/core/node_modules/lodash/_stringSize.js delete mode 100644 tools/node_modules/@babel/core/node_modules/lodash/_stringToArray.js delete mode 100644 tools/node_modules/@babel/core/node_modules/lodash/_stringToPath.js delete mode 100644 tools/node_modules/@babel/core/node_modules/lodash/_toKey.js delete mode 100644 tools/node_modules/@babel/core/node_modules/lodash/_toSource.js delete mode 100644 tools/node_modules/@babel/core/node_modules/lodash/_unescapeHtmlChar.js delete mode 100644 tools/node_modules/@babel/core/node_modules/lodash/_unicodeSize.js delete mode 100644 tools/node_modules/@babel/core/node_modules/lodash/_unicodeToArray.js delete mode 100644 tools/node_modules/@babel/core/node_modules/lodash/_unicodeWords.js delete mode 100644 tools/node_modules/@babel/core/node_modules/lodash/_updateWrapDetails.js delete mode 100644 tools/node_modules/@babel/core/node_modules/lodash/_wrapperClone.js delete mode 100644 tools/node_modules/@babel/core/node_modules/lodash/add.js delete mode 100644 tools/node_modules/@babel/core/node_modules/lodash/after.js delete mode 100644 tools/node_modules/@babel/core/node_modules/lodash/array.js delete mode 100644 tools/node_modules/@babel/core/node_modules/lodash/ary.js delete mode 100644 tools/node_modules/@babel/core/node_modules/lodash/assign.js delete mode 100644 tools/node_modules/@babel/core/node_modules/lodash/assignIn.js delete mode 100644 tools/node_modules/@babel/core/node_modules/lodash/assignInWith.js delete mode 100644 tools/node_modules/@babel/core/node_modules/lodash/assignWith.js delete mode 100644 tools/node_modules/@babel/core/node_modules/lodash/at.js delete mode 100644 tools/node_modules/@babel/core/node_modules/lodash/attempt.js delete mode 100644 tools/node_modules/@babel/core/node_modules/lodash/before.js delete mode 100644 tools/node_modules/@babel/core/node_modules/lodash/bind.js delete mode 100644 tools/node_modules/@babel/core/node_modules/lodash/bindAll.js delete mode 100644 tools/node_modules/@babel/core/node_modules/lodash/bindKey.js delete mode 100644 tools/node_modules/@babel/core/node_modules/lodash/camelCase.js delete mode 100644 tools/node_modules/@babel/core/node_modules/lodash/capitalize.js delete mode 100644 tools/node_modules/@babel/core/node_modules/lodash/castArray.js delete mode 100644 tools/node_modules/@babel/core/node_modules/lodash/ceil.js delete mode 100644 tools/node_modules/@babel/core/node_modules/lodash/chain.js delete mode 100644 tools/node_modules/@babel/core/node_modules/lodash/chunk.js delete mode 100644 tools/node_modules/@babel/core/node_modules/lodash/clamp.js delete mode 100644 tools/node_modules/@babel/core/node_modules/lodash/clone.js delete mode 100644 tools/node_modules/@babel/core/node_modules/lodash/cloneDeep.js delete mode 100644 tools/node_modules/@babel/core/node_modules/lodash/cloneDeepWith.js delete mode 100644 tools/node_modules/@babel/core/node_modules/lodash/cloneWith.js delete mode 100644 tools/node_modules/@babel/core/node_modules/lodash/collection.js delete mode 100644 tools/node_modules/@babel/core/node_modules/lodash/commit.js delete mode 100644 tools/node_modules/@babel/core/node_modules/lodash/compact.js delete mode 100644 tools/node_modules/@babel/core/node_modules/lodash/concat.js delete mode 100644 tools/node_modules/@babel/core/node_modules/lodash/cond.js delete mode 100644 tools/node_modules/@babel/core/node_modules/lodash/conforms.js delete mode 100644 tools/node_modules/@babel/core/node_modules/lodash/conformsTo.js delete mode 100644 tools/node_modules/@babel/core/node_modules/lodash/constant.js delete mode 100644 tools/node_modules/@babel/core/node_modules/lodash/core.js delete mode 100644 tools/node_modules/@babel/core/node_modules/lodash/core.min.js delete mode 100644 tools/node_modules/@babel/core/node_modules/lodash/countBy.js delete mode 100644 tools/node_modules/@babel/core/node_modules/lodash/create.js delete mode 100644 tools/node_modules/@babel/core/node_modules/lodash/curry.js delete mode 100644 tools/node_modules/@babel/core/node_modules/lodash/curryRight.js delete mode 100644 tools/node_modules/@babel/core/node_modules/lodash/date.js delete mode 100644 tools/node_modules/@babel/core/node_modules/lodash/debounce.js delete mode 100644 tools/node_modules/@babel/core/node_modules/lodash/deburr.js delete mode 100644 tools/node_modules/@babel/core/node_modules/lodash/defaultTo.js delete mode 100644 tools/node_modules/@babel/core/node_modules/lodash/defaults.js delete mode 100644 tools/node_modules/@babel/core/node_modules/lodash/defaultsDeep.js delete mode 100644 tools/node_modules/@babel/core/node_modules/lodash/defer.js delete mode 100644 tools/node_modules/@babel/core/node_modules/lodash/delay.js delete mode 100644 tools/node_modules/@babel/core/node_modules/lodash/difference.js delete mode 100644 tools/node_modules/@babel/core/node_modules/lodash/differenceBy.js delete mode 100644 tools/node_modules/@babel/core/node_modules/lodash/differenceWith.js delete mode 100644 tools/node_modules/@babel/core/node_modules/lodash/divide.js delete mode 100644 tools/node_modules/@babel/core/node_modules/lodash/drop.js delete mode 100644 tools/node_modules/@babel/core/node_modules/lodash/dropRight.js delete mode 100644 tools/node_modules/@babel/core/node_modules/lodash/dropRightWhile.js delete mode 100644 tools/node_modules/@babel/core/node_modules/lodash/dropWhile.js delete mode 100644 tools/node_modules/@babel/core/node_modules/lodash/each.js delete mode 100644 tools/node_modules/@babel/core/node_modules/lodash/eachRight.js delete mode 100644 tools/node_modules/@babel/core/node_modules/lodash/endsWith.js delete mode 100644 tools/node_modules/@babel/core/node_modules/lodash/entries.js delete mode 100644 tools/node_modules/@babel/core/node_modules/lodash/entriesIn.js delete mode 100644 tools/node_modules/@babel/core/node_modules/lodash/eq.js delete mode 100644 tools/node_modules/@babel/core/node_modules/lodash/escape.js delete mode 100644 tools/node_modules/@babel/core/node_modules/lodash/escapeRegExp.js delete mode 100644 tools/node_modules/@babel/core/node_modules/lodash/every.js delete mode 100644 tools/node_modules/@babel/core/node_modules/lodash/extend.js delete mode 100644 tools/node_modules/@babel/core/node_modules/lodash/extendWith.js delete mode 100644 tools/node_modules/@babel/core/node_modules/lodash/fill.js delete mode 100644 tools/node_modules/@babel/core/node_modules/lodash/filter.js delete mode 100644 tools/node_modules/@babel/core/node_modules/lodash/find.js delete mode 100644 tools/node_modules/@babel/core/node_modules/lodash/findIndex.js delete mode 100644 tools/node_modules/@babel/core/node_modules/lodash/findKey.js delete mode 100644 tools/node_modules/@babel/core/node_modules/lodash/findLast.js delete mode 100644 tools/node_modules/@babel/core/node_modules/lodash/findLastIndex.js delete mode 100644 tools/node_modules/@babel/core/node_modules/lodash/findLastKey.js delete mode 100644 tools/node_modules/@babel/core/node_modules/lodash/first.js delete mode 100644 tools/node_modules/@babel/core/node_modules/lodash/flatMap.js delete mode 100644 tools/node_modules/@babel/core/node_modules/lodash/flatMapDeep.js delete mode 100644 tools/node_modules/@babel/core/node_modules/lodash/flatMapDepth.js delete mode 100644 tools/node_modules/@babel/core/node_modules/lodash/flatten.js delete mode 100644 tools/node_modules/@babel/core/node_modules/lodash/flattenDeep.js delete mode 100644 tools/node_modules/@babel/core/node_modules/lodash/flattenDepth.js delete mode 100644 tools/node_modules/@babel/core/node_modules/lodash/flip.js delete mode 100644 tools/node_modules/@babel/core/node_modules/lodash/floor.js delete mode 100644 tools/node_modules/@babel/core/node_modules/lodash/flow.js delete mode 100644 tools/node_modules/@babel/core/node_modules/lodash/flowRight.js delete mode 100644 tools/node_modules/@babel/core/node_modules/lodash/forEach.js delete mode 100644 tools/node_modules/@babel/core/node_modules/lodash/forEachRight.js delete mode 100644 tools/node_modules/@babel/core/node_modules/lodash/forIn.js delete mode 100644 tools/node_modules/@babel/core/node_modules/lodash/forInRight.js delete mode 100644 tools/node_modules/@babel/core/node_modules/lodash/forOwn.js delete mode 100644 tools/node_modules/@babel/core/node_modules/lodash/forOwnRight.js delete mode 100644 tools/node_modules/@babel/core/node_modules/lodash/fp.js delete mode 100644 tools/node_modules/@babel/core/node_modules/lodash/fp/F.js delete mode 100644 tools/node_modules/@babel/core/node_modules/lodash/fp/T.js delete mode 100644 tools/node_modules/@babel/core/node_modules/lodash/fp/__.js delete mode 100644 tools/node_modules/@babel/core/node_modules/lodash/fp/_baseConvert.js delete mode 100644 tools/node_modules/@babel/core/node_modules/lodash/fp/_convertBrowser.js delete mode 100644 tools/node_modules/@babel/core/node_modules/lodash/fp/_falseOptions.js delete mode 100644 tools/node_modules/@babel/core/node_modules/lodash/fp/_mapping.js delete mode 100644 tools/node_modules/@babel/core/node_modules/lodash/fp/_util.js delete mode 100644 tools/node_modules/@babel/core/node_modules/lodash/fp/add.js delete mode 100644 tools/node_modules/@babel/core/node_modules/lodash/fp/after.js delete mode 100644 tools/node_modules/@babel/core/node_modules/lodash/fp/all.js delete mode 100644 tools/node_modules/@babel/core/node_modules/lodash/fp/allPass.js delete mode 100644 tools/node_modules/@babel/core/node_modules/lodash/fp/always.js delete mode 100644 tools/node_modules/@babel/core/node_modules/lodash/fp/any.js delete mode 100644 tools/node_modules/@babel/core/node_modules/lodash/fp/anyPass.js delete mode 100644 tools/node_modules/@babel/core/node_modules/lodash/fp/apply.js delete mode 100644 tools/node_modules/@babel/core/node_modules/lodash/fp/array.js delete mode 100644 tools/node_modules/@babel/core/node_modules/lodash/fp/ary.js delete mode 100644 tools/node_modules/@babel/core/node_modules/lodash/fp/assign.js delete mode 100644 tools/node_modules/@babel/core/node_modules/lodash/fp/assignAll.js delete mode 100644 tools/node_modules/@babel/core/node_modules/lodash/fp/assignAllWith.js delete mode 100644 tools/node_modules/@babel/core/node_modules/lodash/fp/assignIn.js delete mode 100644 tools/node_modules/@babel/core/node_modules/lodash/fp/assignInAll.js delete mode 100644 tools/node_modules/@babel/core/node_modules/lodash/fp/assignInAllWith.js delete mode 100644 tools/node_modules/@babel/core/node_modules/lodash/fp/assignInWith.js delete mode 100644 tools/node_modules/@babel/core/node_modules/lodash/fp/assignWith.js delete mode 100644 tools/node_modules/@babel/core/node_modules/lodash/fp/assoc.js delete mode 100644 tools/node_modules/@babel/core/node_modules/lodash/fp/assocPath.js delete mode 100644 tools/node_modules/@babel/core/node_modules/lodash/fp/at.js delete mode 100644 tools/node_modules/@babel/core/node_modules/lodash/fp/attempt.js delete mode 100644 tools/node_modules/@babel/core/node_modules/lodash/fp/before.js delete mode 100644 tools/node_modules/@babel/core/node_modules/lodash/fp/bind.js delete mode 100644 tools/node_modules/@babel/core/node_modules/lodash/fp/bindAll.js delete mode 100644 tools/node_modules/@babel/core/node_modules/lodash/fp/bindKey.js delete mode 100644 tools/node_modules/@babel/core/node_modules/lodash/fp/camelCase.js delete mode 100644 tools/node_modules/@babel/core/node_modules/lodash/fp/capitalize.js delete mode 100644 tools/node_modules/@babel/core/node_modules/lodash/fp/castArray.js delete mode 100644 tools/node_modules/@babel/core/node_modules/lodash/fp/ceil.js delete mode 100644 tools/node_modules/@babel/core/node_modules/lodash/fp/chain.js delete mode 100644 tools/node_modules/@babel/core/node_modules/lodash/fp/chunk.js delete mode 100644 tools/node_modules/@babel/core/node_modules/lodash/fp/clamp.js delete mode 100644 tools/node_modules/@babel/core/node_modules/lodash/fp/clone.js delete mode 100644 tools/node_modules/@babel/core/node_modules/lodash/fp/cloneDeep.js delete mode 100644 tools/node_modules/@babel/core/node_modules/lodash/fp/cloneDeepWith.js delete mode 100644 tools/node_modules/@babel/core/node_modules/lodash/fp/cloneWith.js delete mode 100644 tools/node_modules/@babel/core/node_modules/lodash/fp/collection.js delete mode 100644 tools/node_modules/@babel/core/node_modules/lodash/fp/commit.js delete mode 100644 tools/node_modules/@babel/core/node_modules/lodash/fp/compact.js delete mode 100644 tools/node_modules/@babel/core/node_modules/lodash/fp/complement.js delete mode 100644 tools/node_modules/@babel/core/node_modules/lodash/fp/compose.js delete mode 100644 tools/node_modules/@babel/core/node_modules/lodash/fp/concat.js delete mode 100644 tools/node_modules/@babel/core/node_modules/lodash/fp/cond.js delete mode 100644 tools/node_modules/@babel/core/node_modules/lodash/fp/conforms.js delete mode 100644 tools/node_modules/@babel/core/node_modules/lodash/fp/conformsTo.js delete mode 100644 tools/node_modules/@babel/core/node_modules/lodash/fp/constant.js delete mode 100644 tools/node_modules/@babel/core/node_modules/lodash/fp/contains.js delete mode 100644 tools/node_modules/@babel/core/node_modules/lodash/fp/convert.js delete mode 100644 tools/node_modules/@babel/core/node_modules/lodash/fp/countBy.js delete mode 100644 tools/node_modules/@babel/core/node_modules/lodash/fp/create.js delete mode 100644 tools/node_modules/@babel/core/node_modules/lodash/fp/curry.js delete mode 100644 tools/node_modules/@babel/core/node_modules/lodash/fp/curryN.js delete mode 100644 tools/node_modules/@babel/core/node_modules/lodash/fp/curryRight.js delete mode 100644 tools/node_modules/@babel/core/node_modules/lodash/fp/curryRightN.js delete mode 100644 tools/node_modules/@babel/core/node_modules/lodash/fp/date.js delete mode 100644 tools/node_modules/@babel/core/node_modules/lodash/fp/debounce.js delete mode 100644 tools/node_modules/@babel/core/node_modules/lodash/fp/deburr.js delete mode 100644 tools/node_modules/@babel/core/node_modules/lodash/fp/defaultTo.js delete mode 100644 tools/node_modules/@babel/core/node_modules/lodash/fp/defaults.js delete mode 100644 tools/node_modules/@babel/core/node_modules/lodash/fp/defaultsAll.js delete mode 100644 tools/node_modules/@babel/core/node_modules/lodash/fp/defaultsDeep.js delete mode 100644 tools/node_modules/@babel/core/node_modules/lodash/fp/defaultsDeepAll.js delete mode 100644 tools/node_modules/@babel/core/node_modules/lodash/fp/defer.js delete mode 100644 tools/node_modules/@babel/core/node_modules/lodash/fp/delay.js delete mode 100644 tools/node_modules/@babel/core/node_modules/lodash/fp/difference.js delete mode 100644 tools/node_modules/@babel/core/node_modules/lodash/fp/differenceBy.js delete mode 100644 tools/node_modules/@babel/core/node_modules/lodash/fp/differenceWith.js delete mode 100644 tools/node_modules/@babel/core/node_modules/lodash/fp/dissoc.js delete mode 100644 tools/node_modules/@babel/core/node_modules/lodash/fp/dissocPath.js delete mode 100644 tools/node_modules/@babel/core/node_modules/lodash/fp/divide.js delete mode 100644 tools/node_modules/@babel/core/node_modules/lodash/fp/drop.js delete mode 100644 tools/node_modules/@babel/core/node_modules/lodash/fp/dropLast.js delete mode 100644 tools/node_modules/@babel/core/node_modules/lodash/fp/dropLastWhile.js delete mode 100644 tools/node_modules/@babel/core/node_modules/lodash/fp/dropRight.js delete mode 100644 tools/node_modules/@babel/core/node_modules/lodash/fp/dropRightWhile.js delete mode 100644 tools/node_modules/@babel/core/node_modules/lodash/fp/dropWhile.js delete mode 100644 tools/node_modules/@babel/core/node_modules/lodash/fp/each.js delete mode 100644 tools/node_modules/@babel/core/node_modules/lodash/fp/eachRight.js delete mode 100644 tools/node_modules/@babel/core/node_modules/lodash/fp/endsWith.js delete mode 100644 tools/node_modules/@babel/core/node_modules/lodash/fp/entries.js delete mode 100644 tools/node_modules/@babel/core/node_modules/lodash/fp/entriesIn.js delete mode 100644 tools/node_modules/@babel/core/node_modules/lodash/fp/eq.js delete mode 100644 tools/node_modules/@babel/core/node_modules/lodash/fp/equals.js delete mode 100644 tools/node_modules/@babel/core/node_modules/lodash/fp/escape.js delete mode 100644 tools/node_modules/@babel/core/node_modules/lodash/fp/escapeRegExp.js delete mode 100644 tools/node_modules/@babel/core/node_modules/lodash/fp/every.js delete mode 100644 tools/node_modules/@babel/core/node_modules/lodash/fp/extend.js delete mode 100644 tools/node_modules/@babel/core/node_modules/lodash/fp/extendAll.js delete mode 100644 tools/node_modules/@babel/core/node_modules/lodash/fp/extendAllWith.js delete mode 100644 tools/node_modules/@babel/core/node_modules/lodash/fp/extendWith.js delete mode 100644 tools/node_modules/@babel/core/node_modules/lodash/fp/fill.js delete mode 100644 tools/node_modules/@babel/core/node_modules/lodash/fp/filter.js delete mode 100644 tools/node_modules/@babel/core/node_modules/lodash/fp/find.js delete mode 100644 tools/node_modules/@babel/core/node_modules/lodash/fp/findFrom.js delete mode 100644 tools/node_modules/@babel/core/node_modules/lodash/fp/findIndex.js delete mode 100644 tools/node_modules/@babel/core/node_modules/lodash/fp/findIndexFrom.js delete mode 100644 tools/node_modules/@babel/core/node_modules/lodash/fp/findKey.js delete mode 100644 tools/node_modules/@babel/core/node_modules/lodash/fp/findLast.js delete mode 100644 tools/node_modules/@babel/core/node_modules/lodash/fp/findLastFrom.js delete mode 100644 tools/node_modules/@babel/core/node_modules/lodash/fp/findLastIndex.js delete mode 100644 tools/node_modules/@babel/core/node_modules/lodash/fp/findLastIndexFrom.js delete mode 100644 tools/node_modules/@babel/core/node_modules/lodash/fp/findLastKey.js delete mode 100644 tools/node_modules/@babel/core/node_modules/lodash/fp/first.js delete mode 100644 tools/node_modules/@babel/core/node_modules/lodash/fp/flatMap.js delete mode 100644 tools/node_modules/@babel/core/node_modules/lodash/fp/flatMapDeep.js delete mode 100644 tools/node_modules/@babel/core/node_modules/lodash/fp/flatMapDepth.js delete mode 100644 tools/node_modules/@babel/core/node_modules/lodash/fp/flatten.js delete mode 100644 tools/node_modules/@babel/core/node_modules/lodash/fp/flattenDeep.js delete mode 100644 tools/node_modules/@babel/core/node_modules/lodash/fp/flattenDepth.js delete mode 100644 tools/node_modules/@babel/core/node_modules/lodash/fp/flip.js delete mode 100644 tools/node_modules/@babel/core/node_modules/lodash/fp/floor.js delete mode 100644 tools/node_modules/@babel/core/node_modules/lodash/fp/flow.js delete mode 100644 tools/node_modules/@babel/core/node_modules/lodash/fp/flowRight.js delete mode 100644 tools/node_modules/@babel/core/node_modules/lodash/fp/forEach.js delete mode 100644 tools/node_modules/@babel/core/node_modules/lodash/fp/forEachRight.js delete mode 100644 tools/node_modules/@babel/core/node_modules/lodash/fp/forIn.js delete mode 100644 tools/node_modules/@babel/core/node_modules/lodash/fp/forInRight.js delete mode 100644 tools/node_modules/@babel/core/node_modules/lodash/fp/forOwn.js delete mode 100644 tools/node_modules/@babel/core/node_modules/lodash/fp/forOwnRight.js delete mode 100644 tools/node_modules/@babel/core/node_modules/lodash/fp/fromPairs.js delete mode 100644 tools/node_modules/@babel/core/node_modules/lodash/fp/function.js delete mode 100644 tools/node_modules/@babel/core/node_modules/lodash/fp/functions.js delete mode 100644 tools/node_modules/@babel/core/node_modules/lodash/fp/functionsIn.js delete mode 100644 tools/node_modules/@babel/core/node_modules/lodash/fp/get.js delete mode 100644 tools/node_modules/@babel/core/node_modules/lodash/fp/getOr.js delete mode 100644 tools/node_modules/@babel/core/node_modules/lodash/fp/groupBy.js delete mode 100644 tools/node_modules/@babel/core/node_modules/lodash/fp/gt.js delete mode 100644 tools/node_modules/@babel/core/node_modules/lodash/fp/gte.js delete mode 100644 tools/node_modules/@babel/core/node_modules/lodash/fp/has.js delete mode 100644 tools/node_modules/@babel/core/node_modules/lodash/fp/hasIn.js delete mode 100644 tools/node_modules/@babel/core/node_modules/lodash/fp/head.js delete mode 100644 tools/node_modules/@babel/core/node_modules/lodash/fp/identical.js delete mode 100644 tools/node_modules/@babel/core/node_modules/lodash/fp/identity.js delete mode 100644 tools/node_modules/@babel/core/node_modules/lodash/fp/inRange.js delete mode 100644 tools/node_modules/@babel/core/node_modules/lodash/fp/includes.js delete mode 100644 tools/node_modules/@babel/core/node_modules/lodash/fp/includesFrom.js delete mode 100644 tools/node_modules/@babel/core/node_modules/lodash/fp/indexBy.js delete mode 100644 tools/node_modules/@babel/core/node_modules/lodash/fp/indexOf.js delete mode 100644 tools/node_modules/@babel/core/node_modules/lodash/fp/indexOfFrom.js delete mode 100644 tools/node_modules/@babel/core/node_modules/lodash/fp/init.js delete mode 100644 tools/node_modules/@babel/core/node_modules/lodash/fp/initial.js delete mode 100644 tools/node_modules/@babel/core/node_modules/lodash/fp/intersection.js delete mode 100644 tools/node_modules/@babel/core/node_modules/lodash/fp/intersectionBy.js delete mode 100644 tools/node_modules/@babel/core/node_modules/lodash/fp/intersectionWith.js delete mode 100644 tools/node_modules/@babel/core/node_modules/lodash/fp/invert.js delete mode 100644 tools/node_modules/@babel/core/node_modules/lodash/fp/invertBy.js delete mode 100644 tools/node_modules/@babel/core/node_modules/lodash/fp/invertObj.js delete mode 100644 tools/node_modules/@babel/core/node_modules/lodash/fp/invoke.js delete mode 100644 tools/node_modules/@babel/core/node_modules/lodash/fp/invokeArgs.js delete mode 100644 tools/node_modules/@babel/core/node_modules/lodash/fp/invokeArgsMap.js delete mode 100644 tools/node_modules/@babel/core/node_modules/lodash/fp/invokeMap.js delete mode 100644 tools/node_modules/@babel/core/node_modules/lodash/fp/isArguments.js delete mode 100644 tools/node_modules/@babel/core/node_modules/lodash/fp/isArray.js delete mode 100644 tools/node_modules/@babel/core/node_modules/lodash/fp/isArrayBuffer.js delete mode 100644 tools/node_modules/@babel/core/node_modules/lodash/fp/isArrayLike.js delete mode 100644 tools/node_modules/@babel/core/node_modules/lodash/fp/isArrayLikeObject.js delete mode 100644 tools/node_modules/@babel/core/node_modules/lodash/fp/isBoolean.js delete mode 100644 tools/node_modules/@babel/core/node_modules/lodash/fp/isBuffer.js delete mode 100644 tools/node_modules/@babel/core/node_modules/lodash/fp/isDate.js delete mode 100644 tools/node_modules/@babel/core/node_modules/lodash/fp/isElement.js delete mode 100644 tools/node_modules/@babel/core/node_modules/lodash/fp/isEmpty.js delete mode 100644 tools/node_modules/@babel/core/node_modules/lodash/fp/isEqual.js delete mode 100644 tools/node_modules/@babel/core/node_modules/lodash/fp/isEqualWith.js delete mode 100644 tools/node_modules/@babel/core/node_modules/lodash/fp/isError.js delete mode 100644 tools/node_modules/@babel/core/node_modules/lodash/fp/isFinite.js delete mode 100644 tools/node_modules/@babel/core/node_modules/lodash/fp/isFunction.js delete mode 100644 tools/node_modules/@babel/core/node_modules/lodash/fp/isInteger.js delete mode 100644 tools/node_modules/@babel/core/node_modules/lodash/fp/isLength.js delete mode 100644 tools/node_modules/@babel/core/node_modules/lodash/fp/isMap.js delete mode 100644 tools/node_modules/@babel/core/node_modules/lodash/fp/isMatch.js delete mode 100644 tools/node_modules/@babel/core/node_modules/lodash/fp/isMatchWith.js delete mode 100644 tools/node_modules/@babel/core/node_modules/lodash/fp/isNaN.js delete mode 100644 tools/node_modules/@babel/core/node_modules/lodash/fp/isNative.js delete mode 100644 tools/node_modules/@babel/core/node_modules/lodash/fp/isNil.js delete mode 100644 tools/node_modules/@babel/core/node_modules/lodash/fp/isNull.js delete mode 100644 tools/node_modules/@babel/core/node_modules/lodash/fp/isNumber.js delete mode 100644 tools/node_modules/@babel/core/node_modules/lodash/fp/isObject.js delete mode 100644 tools/node_modules/@babel/core/node_modules/lodash/fp/isObjectLike.js delete mode 100644 tools/node_modules/@babel/core/node_modules/lodash/fp/isPlainObject.js delete mode 100644 tools/node_modules/@babel/core/node_modules/lodash/fp/isRegExp.js delete mode 100644 tools/node_modules/@babel/core/node_modules/lodash/fp/isSafeInteger.js delete mode 100644 tools/node_modules/@babel/core/node_modules/lodash/fp/isSet.js delete mode 100644 tools/node_modules/@babel/core/node_modules/lodash/fp/isString.js delete mode 100644 tools/node_modules/@babel/core/node_modules/lodash/fp/isSymbol.js delete mode 100644 tools/node_modules/@babel/core/node_modules/lodash/fp/isTypedArray.js delete mode 100644 tools/node_modules/@babel/core/node_modules/lodash/fp/isUndefined.js delete mode 100644 tools/node_modules/@babel/core/node_modules/lodash/fp/isWeakMap.js delete mode 100644 tools/node_modules/@babel/core/node_modules/lodash/fp/isWeakSet.js delete mode 100644 tools/node_modules/@babel/core/node_modules/lodash/fp/iteratee.js delete mode 100644 tools/node_modules/@babel/core/node_modules/lodash/fp/join.js delete mode 100644 tools/node_modules/@babel/core/node_modules/lodash/fp/juxt.js delete mode 100644 tools/node_modules/@babel/core/node_modules/lodash/fp/kebabCase.js delete mode 100644 tools/node_modules/@babel/core/node_modules/lodash/fp/keyBy.js delete mode 100644 tools/node_modules/@babel/core/node_modules/lodash/fp/keys.js delete mode 100644 tools/node_modules/@babel/core/node_modules/lodash/fp/keysIn.js delete mode 100644 tools/node_modules/@babel/core/node_modules/lodash/fp/lang.js delete mode 100644 tools/node_modules/@babel/core/node_modules/lodash/fp/last.js delete mode 100644 tools/node_modules/@babel/core/node_modules/lodash/fp/lastIndexOf.js delete mode 100644 tools/node_modules/@babel/core/node_modules/lodash/fp/lastIndexOfFrom.js delete mode 100644 tools/node_modules/@babel/core/node_modules/lodash/fp/lowerCase.js delete mode 100644 tools/node_modules/@babel/core/node_modules/lodash/fp/lowerFirst.js delete mode 100644 tools/node_modules/@babel/core/node_modules/lodash/fp/lt.js delete mode 100644 tools/node_modules/@babel/core/node_modules/lodash/fp/lte.js delete mode 100644 tools/node_modules/@babel/core/node_modules/lodash/fp/map.js delete mode 100644 tools/node_modules/@babel/core/node_modules/lodash/fp/mapKeys.js delete mode 100644 tools/node_modules/@babel/core/node_modules/lodash/fp/mapValues.js delete mode 100644 tools/node_modules/@babel/core/node_modules/lodash/fp/matches.js delete mode 100644 tools/node_modules/@babel/core/node_modules/lodash/fp/matchesProperty.js delete mode 100644 tools/node_modules/@babel/core/node_modules/lodash/fp/math.js delete mode 100644 tools/node_modules/@babel/core/node_modules/lodash/fp/max.js delete mode 100644 tools/node_modules/@babel/core/node_modules/lodash/fp/maxBy.js delete mode 100644 tools/node_modules/@babel/core/node_modules/lodash/fp/mean.js delete mode 100644 tools/node_modules/@babel/core/node_modules/lodash/fp/meanBy.js delete mode 100644 tools/node_modules/@babel/core/node_modules/lodash/fp/memoize.js delete mode 100644 tools/node_modules/@babel/core/node_modules/lodash/fp/merge.js delete mode 100644 tools/node_modules/@babel/core/node_modules/lodash/fp/mergeAll.js delete mode 100644 tools/node_modules/@babel/core/node_modules/lodash/fp/mergeAllWith.js delete mode 100644 tools/node_modules/@babel/core/node_modules/lodash/fp/mergeWith.js delete mode 100644 tools/node_modules/@babel/core/node_modules/lodash/fp/method.js delete mode 100644 tools/node_modules/@babel/core/node_modules/lodash/fp/methodOf.js delete mode 100644 tools/node_modules/@babel/core/node_modules/lodash/fp/min.js delete mode 100644 tools/node_modules/@babel/core/node_modules/lodash/fp/minBy.js delete mode 100644 tools/node_modules/@babel/core/node_modules/lodash/fp/mixin.js delete mode 100644 tools/node_modules/@babel/core/node_modules/lodash/fp/multiply.js delete mode 100644 tools/node_modules/@babel/core/node_modules/lodash/fp/nAry.js delete mode 100644 tools/node_modules/@babel/core/node_modules/lodash/fp/negate.js delete mode 100644 tools/node_modules/@babel/core/node_modules/lodash/fp/next.js delete mode 100644 tools/node_modules/@babel/core/node_modules/lodash/fp/noop.js delete mode 100644 tools/node_modules/@babel/core/node_modules/lodash/fp/now.js delete mode 100644 tools/node_modules/@babel/core/node_modules/lodash/fp/nth.js delete mode 100644 tools/node_modules/@babel/core/node_modules/lodash/fp/nthArg.js delete mode 100644 tools/node_modules/@babel/core/node_modules/lodash/fp/number.js delete mode 100644 tools/node_modules/@babel/core/node_modules/lodash/fp/object.js delete mode 100644 tools/node_modules/@babel/core/node_modules/lodash/fp/omit.js delete mode 100644 tools/node_modules/@babel/core/node_modules/lodash/fp/omitAll.js delete mode 100644 tools/node_modules/@babel/core/node_modules/lodash/fp/omitBy.js delete mode 100644 tools/node_modules/@babel/core/node_modules/lodash/fp/once.js delete mode 100644 tools/node_modules/@babel/core/node_modules/lodash/fp/orderBy.js delete mode 100644 tools/node_modules/@babel/core/node_modules/lodash/fp/over.js delete mode 100644 tools/node_modules/@babel/core/node_modules/lodash/fp/overArgs.js delete mode 100644 tools/node_modules/@babel/core/node_modules/lodash/fp/overEvery.js delete mode 100644 tools/node_modules/@babel/core/node_modules/lodash/fp/overSome.js delete mode 100644 tools/node_modules/@babel/core/node_modules/lodash/fp/pad.js delete mode 100644 tools/node_modules/@babel/core/node_modules/lodash/fp/padChars.js delete mode 100644 tools/node_modules/@babel/core/node_modules/lodash/fp/padCharsEnd.js delete mode 100644 tools/node_modules/@babel/core/node_modules/lodash/fp/padCharsStart.js delete mode 100644 tools/node_modules/@babel/core/node_modules/lodash/fp/padEnd.js delete mode 100644 tools/node_modules/@babel/core/node_modules/lodash/fp/padStart.js delete mode 100644 tools/node_modules/@babel/core/node_modules/lodash/fp/parseInt.js delete mode 100644 tools/node_modules/@babel/core/node_modules/lodash/fp/partial.js delete mode 100644 tools/node_modules/@babel/core/node_modules/lodash/fp/partialRight.js delete mode 100644 tools/node_modules/@babel/core/node_modules/lodash/fp/partition.js delete mode 100644 tools/node_modules/@babel/core/node_modules/lodash/fp/path.js delete mode 100644 tools/node_modules/@babel/core/node_modules/lodash/fp/pathEq.js delete mode 100644 tools/node_modules/@babel/core/node_modules/lodash/fp/pathOr.js delete mode 100644 tools/node_modules/@babel/core/node_modules/lodash/fp/paths.js delete mode 100644 tools/node_modules/@babel/core/node_modules/lodash/fp/pick.js delete mode 100644 tools/node_modules/@babel/core/node_modules/lodash/fp/pickAll.js delete mode 100644 tools/node_modules/@babel/core/node_modules/lodash/fp/pickBy.js delete mode 100644 tools/node_modules/@babel/core/node_modules/lodash/fp/pipe.js delete mode 100644 tools/node_modules/@babel/core/node_modules/lodash/fp/placeholder.js delete mode 100644 tools/node_modules/@babel/core/node_modules/lodash/fp/plant.js delete mode 100644 tools/node_modules/@babel/core/node_modules/lodash/fp/pluck.js delete mode 100644 tools/node_modules/@babel/core/node_modules/lodash/fp/prop.js delete mode 100644 tools/node_modules/@babel/core/node_modules/lodash/fp/propEq.js delete mode 100644 tools/node_modules/@babel/core/node_modules/lodash/fp/propOr.js delete mode 100644 tools/node_modules/@babel/core/node_modules/lodash/fp/property.js delete mode 100644 tools/node_modules/@babel/core/node_modules/lodash/fp/propertyOf.js delete mode 100644 tools/node_modules/@babel/core/node_modules/lodash/fp/props.js delete mode 100644 tools/node_modules/@babel/core/node_modules/lodash/fp/pull.js delete mode 100644 tools/node_modules/@babel/core/node_modules/lodash/fp/pullAll.js delete mode 100644 tools/node_modules/@babel/core/node_modules/lodash/fp/pullAllBy.js delete mode 100644 tools/node_modules/@babel/core/node_modules/lodash/fp/pullAllWith.js delete mode 100644 tools/node_modules/@babel/core/node_modules/lodash/fp/pullAt.js delete mode 100644 tools/node_modules/@babel/core/node_modules/lodash/fp/random.js delete mode 100644 tools/node_modules/@babel/core/node_modules/lodash/fp/range.js delete mode 100644 tools/node_modules/@babel/core/node_modules/lodash/fp/rangeRight.js delete mode 100644 tools/node_modules/@babel/core/node_modules/lodash/fp/rangeStep.js delete mode 100644 tools/node_modules/@babel/core/node_modules/lodash/fp/rangeStepRight.js delete mode 100644 tools/node_modules/@babel/core/node_modules/lodash/fp/rearg.js delete mode 100644 tools/node_modules/@babel/core/node_modules/lodash/fp/reduce.js delete mode 100644 tools/node_modules/@babel/core/node_modules/lodash/fp/reduceRight.js delete mode 100644 tools/node_modules/@babel/core/node_modules/lodash/fp/reject.js delete mode 100644 tools/node_modules/@babel/core/node_modules/lodash/fp/remove.js delete mode 100644 tools/node_modules/@babel/core/node_modules/lodash/fp/repeat.js delete mode 100644 tools/node_modules/@babel/core/node_modules/lodash/fp/replace.js delete mode 100644 tools/node_modules/@babel/core/node_modules/lodash/fp/rest.js delete mode 100644 tools/node_modules/@babel/core/node_modules/lodash/fp/restFrom.js delete mode 100644 tools/node_modules/@babel/core/node_modules/lodash/fp/result.js delete mode 100644 tools/node_modules/@babel/core/node_modules/lodash/fp/reverse.js delete mode 100644 tools/node_modules/@babel/core/node_modules/lodash/fp/round.js delete mode 100644 tools/node_modules/@babel/core/node_modules/lodash/fp/sample.js delete mode 100644 tools/node_modules/@babel/core/node_modules/lodash/fp/sampleSize.js delete mode 100644 tools/node_modules/@babel/core/node_modules/lodash/fp/seq.js delete mode 100644 tools/node_modules/@babel/core/node_modules/lodash/fp/set.js delete mode 100644 tools/node_modules/@babel/core/node_modules/lodash/fp/setWith.js delete mode 100644 tools/node_modules/@babel/core/node_modules/lodash/fp/shuffle.js delete mode 100644 tools/node_modules/@babel/core/node_modules/lodash/fp/size.js delete mode 100644 tools/node_modules/@babel/core/node_modules/lodash/fp/slice.js delete mode 100644 tools/node_modules/@babel/core/node_modules/lodash/fp/snakeCase.js delete mode 100644 tools/node_modules/@babel/core/node_modules/lodash/fp/some.js delete mode 100644 tools/node_modules/@babel/core/node_modules/lodash/fp/sortBy.js delete mode 100644 tools/node_modules/@babel/core/node_modules/lodash/fp/sortedIndex.js delete mode 100644 tools/node_modules/@babel/core/node_modules/lodash/fp/sortedIndexBy.js delete mode 100644 tools/node_modules/@babel/core/node_modules/lodash/fp/sortedIndexOf.js delete mode 100644 tools/node_modules/@babel/core/node_modules/lodash/fp/sortedLastIndex.js delete mode 100644 tools/node_modules/@babel/core/node_modules/lodash/fp/sortedLastIndexBy.js delete mode 100644 tools/node_modules/@babel/core/node_modules/lodash/fp/sortedLastIndexOf.js delete mode 100644 tools/node_modules/@babel/core/node_modules/lodash/fp/sortedUniq.js delete mode 100644 tools/node_modules/@babel/core/node_modules/lodash/fp/sortedUniqBy.js delete mode 100644 tools/node_modules/@babel/core/node_modules/lodash/fp/split.js delete mode 100644 tools/node_modules/@babel/core/node_modules/lodash/fp/spread.js delete mode 100644 tools/node_modules/@babel/core/node_modules/lodash/fp/spreadFrom.js delete mode 100644 tools/node_modules/@babel/core/node_modules/lodash/fp/startCase.js delete mode 100644 tools/node_modules/@babel/core/node_modules/lodash/fp/startsWith.js delete mode 100644 tools/node_modules/@babel/core/node_modules/lodash/fp/string.js delete mode 100644 tools/node_modules/@babel/core/node_modules/lodash/fp/stubArray.js delete mode 100644 tools/node_modules/@babel/core/node_modules/lodash/fp/stubFalse.js delete mode 100644 tools/node_modules/@babel/core/node_modules/lodash/fp/stubObject.js delete mode 100644 tools/node_modules/@babel/core/node_modules/lodash/fp/stubString.js delete mode 100644 tools/node_modules/@babel/core/node_modules/lodash/fp/stubTrue.js delete mode 100644 tools/node_modules/@babel/core/node_modules/lodash/fp/subtract.js delete mode 100644 tools/node_modules/@babel/core/node_modules/lodash/fp/sum.js delete mode 100644 tools/node_modules/@babel/core/node_modules/lodash/fp/sumBy.js delete mode 100644 tools/node_modules/@babel/core/node_modules/lodash/fp/symmetricDifference.js delete mode 100644 tools/node_modules/@babel/core/node_modules/lodash/fp/symmetricDifferenceBy.js delete mode 100644 tools/node_modules/@babel/core/node_modules/lodash/fp/symmetricDifferenceWith.js delete mode 100644 tools/node_modules/@babel/core/node_modules/lodash/fp/tail.js delete mode 100644 tools/node_modules/@babel/core/node_modules/lodash/fp/take.js delete mode 100644 tools/node_modules/@babel/core/node_modules/lodash/fp/takeLast.js delete mode 100644 tools/node_modules/@babel/core/node_modules/lodash/fp/takeLastWhile.js delete mode 100644 tools/node_modules/@babel/core/node_modules/lodash/fp/takeRight.js delete mode 100644 tools/node_modules/@babel/core/node_modules/lodash/fp/takeRightWhile.js delete mode 100644 tools/node_modules/@babel/core/node_modules/lodash/fp/takeWhile.js delete mode 100644 tools/node_modules/@babel/core/node_modules/lodash/fp/tap.js delete mode 100644 tools/node_modules/@babel/core/node_modules/lodash/fp/template.js delete mode 100644 tools/node_modules/@babel/core/node_modules/lodash/fp/templateSettings.js delete mode 100644 tools/node_modules/@babel/core/node_modules/lodash/fp/throttle.js delete mode 100644 tools/node_modules/@babel/core/node_modules/lodash/fp/thru.js delete mode 100644 tools/node_modules/@babel/core/node_modules/lodash/fp/times.js delete mode 100644 tools/node_modules/@babel/core/node_modules/lodash/fp/toArray.js delete mode 100644 tools/node_modules/@babel/core/node_modules/lodash/fp/toFinite.js delete mode 100644 tools/node_modules/@babel/core/node_modules/lodash/fp/toInteger.js delete mode 100644 tools/node_modules/@babel/core/node_modules/lodash/fp/toIterator.js delete mode 100644 tools/node_modules/@babel/core/node_modules/lodash/fp/toJSON.js delete mode 100644 tools/node_modules/@babel/core/node_modules/lodash/fp/toLength.js delete mode 100644 tools/node_modules/@babel/core/node_modules/lodash/fp/toLower.js delete mode 100644 tools/node_modules/@babel/core/node_modules/lodash/fp/toNumber.js delete mode 100644 tools/node_modules/@babel/core/node_modules/lodash/fp/toPairs.js delete mode 100644 tools/node_modules/@babel/core/node_modules/lodash/fp/toPairsIn.js delete mode 100644 tools/node_modules/@babel/core/node_modules/lodash/fp/toPath.js delete mode 100644 tools/node_modules/@babel/core/node_modules/lodash/fp/toPlainObject.js delete mode 100644 tools/node_modules/@babel/core/node_modules/lodash/fp/toSafeInteger.js delete mode 100644 tools/node_modules/@babel/core/node_modules/lodash/fp/toString.js delete mode 100644 tools/node_modules/@babel/core/node_modules/lodash/fp/toUpper.js delete mode 100644 tools/node_modules/@babel/core/node_modules/lodash/fp/transform.js delete mode 100644 tools/node_modules/@babel/core/node_modules/lodash/fp/trim.js delete mode 100644 tools/node_modules/@babel/core/node_modules/lodash/fp/trimChars.js delete mode 100644 tools/node_modules/@babel/core/node_modules/lodash/fp/trimCharsEnd.js delete mode 100644 tools/node_modules/@babel/core/node_modules/lodash/fp/trimCharsStart.js delete mode 100644 tools/node_modules/@babel/core/node_modules/lodash/fp/trimEnd.js delete mode 100644 tools/node_modules/@babel/core/node_modules/lodash/fp/trimStart.js delete mode 100644 tools/node_modules/@babel/core/node_modules/lodash/fp/truncate.js delete mode 100644 tools/node_modules/@babel/core/node_modules/lodash/fp/unapply.js delete mode 100644 tools/node_modules/@babel/core/node_modules/lodash/fp/unary.js delete mode 100644 tools/node_modules/@babel/core/node_modules/lodash/fp/unescape.js delete mode 100644 tools/node_modules/@babel/core/node_modules/lodash/fp/union.js delete mode 100644 tools/node_modules/@babel/core/node_modules/lodash/fp/unionBy.js delete mode 100644 tools/node_modules/@babel/core/node_modules/lodash/fp/unionWith.js delete mode 100644 tools/node_modules/@babel/core/node_modules/lodash/fp/uniq.js delete mode 100644 tools/node_modules/@babel/core/node_modules/lodash/fp/uniqBy.js delete mode 100644 tools/node_modules/@babel/core/node_modules/lodash/fp/uniqWith.js delete mode 100644 tools/node_modules/@babel/core/node_modules/lodash/fp/uniqueId.js delete mode 100644 tools/node_modules/@babel/core/node_modules/lodash/fp/unnest.js delete mode 100644 tools/node_modules/@babel/core/node_modules/lodash/fp/unset.js delete mode 100644 tools/node_modules/@babel/core/node_modules/lodash/fp/unzip.js delete mode 100644 tools/node_modules/@babel/core/node_modules/lodash/fp/unzipWith.js delete mode 100644 tools/node_modules/@babel/core/node_modules/lodash/fp/update.js delete mode 100644 tools/node_modules/@babel/core/node_modules/lodash/fp/updateWith.js delete mode 100644 tools/node_modules/@babel/core/node_modules/lodash/fp/upperCase.js delete mode 100644 tools/node_modules/@babel/core/node_modules/lodash/fp/upperFirst.js delete mode 100644 tools/node_modules/@babel/core/node_modules/lodash/fp/useWith.js delete mode 100644 tools/node_modules/@babel/core/node_modules/lodash/fp/util.js delete mode 100644 tools/node_modules/@babel/core/node_modules/lodash/fp/value.js delete mode 100644 tools/node_modules/@babel/core/node_modules/lodash/fp/valueOf.js delete mode 100644 tools/node_modules/@babel/core/node_modules/lodash/fp/values.js delete mode 100644 tools/node_modules/@babel/core/node_modules/lodash/fp/valuesIn.js delete mode 100644 tools/node_modules/@babel/core/node_modules/lodash/fp/where.js delete mode 100644 tools/node_modules/@babel/core/node_modules/lodash/fp/whereEq.js delete mode 100644 tools/node_modules/@babel/core/node_modules/lodash/fp/without.js delete mode 100644 tools/node_modules/@babel/core/node_modules/lodash/fp/words.js delete mode 100644 tools/node_modules/@babel/core/node_modules/lodash/fp/wrap.js delete mode 100644 tools/node_modules/@babel/core/node_modules/lodash/fp/wrapperAt.js delete mode 100644 tools/node_modules/@babel/core/node_modules/lodash/fp/wrapperChain.js delete mode 100644 tools/node_modules/@babel/core/node_modules/lodash/fp/wrapperLodash.js delete mode 100644 tools/node_modules/@babel/core/node_modules/lodash/fp/wrapperReverse.js delete mode 100644 tools/node_modules/@babel/core/node_modules/lodash/fp/wrapperValue.js delete mode 100644 tools/node_modules/@babel/core/node_modules/lodash/fp/xor.js delete mode 100644 tools/node_modules/@babel/core/node_modules/lodash/fp/xorBy.js delete mode 100644 tools/node_modules/@babel/core/node_modules/lodash/fp/xorWith.js delete mode 100644 tools/node_modules/@babel/core/node_modules/lodash/fp/zip.js delete mode 100644 tools/node_modules/@babel/core/node_modules/lodash/fp/zipAll.js delete mode 100644 tools/node_modules/@babel/core/node_modules/lodash/fp/zipObj.js delete mode 100644 tools/node_modules/@babel/core/node_modules/lodash/fp/zipObject.js delete mode 100644 tools/node_modules/@babel/core/node_modules/lodash/fp/zipObjectDeep.js delete mode 100644 tools/node_modules/@babel/core/node_modules/lodash/fp/zipWith.js delete mode 100644 tools/node_modules/@babel/core/node_modules/lodash/fromPairs.js delete mode 100644 tools/node_modules/@babel/core/node_modules/lodash/function.js delete mode 100644 tools/node_modules/@babel/core/node_modules/lodash/functions.js delete mode 100644 tools/node_modules/@babel/core/node_modules/lodash/functionsIn.js delete mode 100644 tools/node_modules/@babel/core/node_modules/lodash/get.js delete mode 100644 tools/node_modules/@babel/core/node_modules/lodash/groupBy.js delete mode 100644 tools/node_modules/@babel/core/node_modules/lodash/gt.js delete mode 100644 tools/node_modules/@babel/core/node_modules/lodash/gte.js delete mode 100644 tools/node_modules/@babel/core/node_modules/lodash/has.js delete mode 100644 tools/node_modules/@babel/core/node_modules/lodash/hasIn.js delete mode 100644 tools/node_modules/@babel/core/node_modules/lodash/head.js delete mode 100644 tools/node_modules/@babel/core/node_modules/lodash/identity.js delete mode 100644 tools/node_modules/@babel/core/node_modules/lodash/inRange.js delete mode 100644 tools/node_modules/@babel/core/node_modules/lodash/includes.js delete mode 100644 tools/node_modules/@babel/core/node_modules/lodash/index.js delete mode 100644 tools/node_modules/@babel/core/node_modules/lodash/indexOf.js delete mode 100644 tools/node_modules/@babel/core/node_modules/lodash/initial.js delete mode 100644 tools/node_modules/@babel/core/node_modules/lodash/intersection.js delete mode 100644 tools/node_modules/@babel/core/node_modules/lodash/intersectionBy.js delete mode 100644 tools/node_modules/@babel/core/node_modules/lodash/intersectionWith.js delete mode 100644 tools/node_modules/@babel/core/node_modules/lodash/invert.js delete mode 100644 tools/node_modules/@babel/core/node_modules/lodash/invertBy.js delete mode 100644 tools/node_modules/@babel/core/node_modules/lodash/invoke.js delete mode 100644 tools/node_modules/@babel/core/node_modules/lodash/invokeMap.js delete mode 100644 tools/node_modules/@babel/core/node_modules/lodash/isArguments.js delete mode 100644 tools/node_modules/@babel/core/node_modules/lodash/isArray.js delete mode 100644 tools/node_modules/@babel/core/node_modules/lodash/isArrayBuffer.js delete mode 100644 tools/node_modules/@babel/core/node_modules/lodash/isArrayLike.js delete mode 100644 tools/node_modules/@babel/core/node_modules/lodash/isArrayLikeObject.js delete mode 100644 tools/node_modules/@babel/core/node_modules/lodash/isBoolean.js delete mode 100644 tools/node_modules/@babel/core/node_modules/lodash/isBuffer.js delete mode 100644 tools/node_modules/@babel/core/node_modules/lodash/isDate.js delete mode 100644 tools/node_modules/@babel/core/node_modules/lodash/isElement.js delete mode 100644 tools/node_modules/@babel/core/node_modules/lodash/isEmpty.js delete mode 100644 tools/node_modules/@babel/core/node_modules/lodash/isEqual.js delete mode 100644 tools/node_modules/@babel/core/node_modules/lodash/isEqualWith.js delete mode 100644 tools/node_modules/@babel/core/node_modules/lodash/isError.js delete mode 100644 tools/node_modules/@babel/core/node_modules/lodash/isFinite.js delete mode 100644 tools/node_modules/@babel/core/node_modules/lodash/isFunction.js delete mode 100644 tools/node_modules/@babel/core/node_modules/lodash/isInteger.js delete mode 100644 tools/node_modules/@babel/core/node_modules/lodash/isLength.js delete mode 100644 tools/node_modules/@babel/core/node_modules/lodash/isMap.js delete mode 100644 tools/node_modules/@babel/core/node_modules/lodash/isMatch.js delete mode 100644 tools/node_modules/@babel/core/node_modules/lodash/isMatchWith.js delete mode 100644 tools/node_modules/@babel/core/node_modules/lodash/isNaN.js delete mode 100644 tools/node_modules/@babel/core/node_modules/lodash/isNative.js delete mode 100644 tools/node_modules/@babel/core/node_modules/lodash/isNil.js delete mode 100644 tools/node_modules/@babel/core/node_modules/lodash/isNull.js delete mode 100644 tools/node_modules/@babel/core/node_modules/lodash/isNumber.js delete mode 100644 tools/node_modules/@babel/core/node_modules/lodash/isObject.js delete mode 100644 tools/node_modules/@babel/core/node_modules/lodash/isObjectLike.js delete mode 100644 tools/node_modules/@babel/core/node_modules/lodash/isPlainObject.js delete mode 100644 tools/node_modules/@babel/core/node_modules/lodash/isRegExp.js delete mode 100644 tools/node_modules/@babel/core/node_modules/lodash/isSafeInteger.js delete mode 100644 tools/node_modules/@babel/core/node_modules/lodash/isSet.js delete mode 100644 tools/node_modules/@babel/core/node_modules/lodash/isString.js delete mode 100644 tools/node_modules/@babel/core/node_modules/lodash/isSymbol.js delete mode 100644 tools/node_modules/@babel/core/node_modules/lodash/isTypedArray.js delete mode 100644 tools/node_modules/@babel/core/node_modules/lodash/isUndefined.js delete mode 100644 tools/node_modules/@babel/core/node_modules/lodash/isWeakMap.js delete mode 100644 tools/node_modules/@babel/core/node_modules/lodash/isWeakSet.js delete mode 100644 tools/node_modules/@babel/core/node_modules/lodash/iteratee.js delete mode 100644 tools/node_modules/@babel/core/node_modules/lodash/join.js delete mode 100644 tools/node_modules/@babel/core/node_modules/lodash/kebabCase.js delete mode 100644 tools/node_modules/@babel/core/node_modules/lodash/keyBy.js delete mode 100644 tools/node_modules/@babel/core/node_modules/lodash/keys.js delete mode 100644 tools/node_modules/@babel/core/node_modules/lodash/keysIn.js delete mode 100644 tools/node_modules/@babel/core/node_modules/lodash/lang.js delete mode 100644 tools/node_modules/@babel/core/node_modules/lodash/last.js delete mode 100644 tools/node_modules/@babel/core/node_modules/lodash/lastIndexOf.js delete mode 100644 tools/node_modules/@babel/core/node_modules/lodash/lodash.js delete mode 100644 tools/node_modules/@babel/core/node_modules/lodash/lodash.min.js delete mode 100644 tools/node_modules/@babel/core/node_modules/lodash/lowerCase.js delete mode 100644 tools/node_modules/@babel/core/node_modules/lodash/lowerFirst.js delete mode 100644 tools/node_modules/@babel/core/node_modules/lodash/lt.js delete mode 100644 tools/node_modules/@babel/core/node_modules/lodash/lte.js delete mode 100644 tools/node_modules/@babel/core/node_modules/lodash/map.js delete mode 100644 tools/node_modules/@babel/core/node_modules/lodash/mapKeys.js delete mode 100644 tools/node_modules/@babel/core/node_modules/lodash/mapValues.js delete mode 100644 tools/node_modules/@babel/core/node_modules/lodash/matches.js delete mode 100644 tools/node_modules/@babel/core/node_modules/lodash/matchesProperty.js delete mode 100644 tools/node_modules/@babel/core/node_modules/lodash/math.js delete mode 100644 tools/node_modules/@babel/core/node_modules/lodash/max.js delete mode 100644 tools/node_modules/@babel/core/node_modules/lodash/maxBy.js delete mode 100644 tools/node_modules/@babel/core/node_modules/lodash/mean.js delete mode 100644 tools/node_modules/@babel/core/node_modules/lodash/meanBy.js delete mode 100644 tools/node_modules/@babel/core/node_modules/lodash/memoize.js delete mode 100644 tools/node_modules/@babel/core/node_modules/lodash/merge.js delete mode 100644 tools/node_modules/@babel/core/node_modules/lodash/mergeWith.js delete mode 100644 tools/node_modules/@babel/core/node_modules/lodash/method.js delete mode 100644 tools/node_modules/@babel/core/node_modules/lodash/methodOf.js delete mode 100644 tools/node_modules/@babel/core/node_modules/lodash/min.js delete mode 100644 tools/node_modules/@babel/core/node_modules/lodash/minBy.js delete mode 100644 tools/node_modules/@babel/core/node_modules/lodash/mixin.js delete mode 100644 tools/node_modules/@babel/core/node_modules/lodash/multiply.js delete mode 100644 tools/node_modules/@babel/core/node_modules/lodash/negate.js delete mode 100644 tools/node_modules/@babel/core/node_modules/lodash/next.js delete mode 100644 tools/node_modules/@babel/core/node_modules/lodash/noop.js delete mode 100644 tools/node_modules/@babel/core/node_modules/lodash/now.js delete mode 100644 tools/node_modules/@babel/core/node_modules/lodash/nth.js delete mode 100644 tools/node_modules/@babel/core/node_modules/lodash/nthArg.js delete mode 100644 tools/node_modules/@babel/core/node_modules/lodash/number.js delete mode 100644 tools/node_modules/@babel/core/node_modules/lodash/object.js delete mode 100644 tools/node_modules/@babel/core/node_modules/lodash/omit.js delete mode 100644 tools/node_modules/@babel/core/node_modules/lodash/omitBy.js delete mode 100644 tools/node_modules/@babel/core/node_modules/lodash/once.js delete mode 100644 tools/node_modules/@babel/core/node_modules/lodash/orderBy.js delete mode 100644 tools/node_modules/@babel/core/node_modules/lodash/over.js delete mode 100644 tools/node_modules/@babel/core/node_modules/lodash/overArgs.js delete mode 100644 tools/node_modules/@babel/core/node_modules/lodash/overEvery.js delete mode 100644 tools/node_modules/@babel/core/node_modules/lodash/overSome.js delete mode 100644 tools/node_modules/@babel/core/node_modules/lodash/package.json delete mode 100644 tools/node_modules/@babel/core/node_modules/lodash/pad.js delete mode 100644 tools/node_modules/@babel/core/node_modules/lodash/padEnd.js delete mode 100644 tools/node_modules/@babel/core/node_modules/lodash/padStart.js delete mode 100644 tools/node_modules/@babel/core/node_modules/lodash/parseInt.js delete mode 100644 tools/node_modules/@babel/core/node_modules/lodash/partial.js delete mode 100644 tools/node_modules/@babel/core/node_modules/lodash/partialRight.js delete mode 100644 tools/node_modules/@babel/core/node_modules/lodash/partition.js delete mode 100644 tools/node_modules/@babel/core/node_modules/lodash/pick.js delete mode 100644 tools/node_modules/@babel/core/node_modules/lodash/pickBy.js delete mode 100644 tools/node_modules/@babel/core/node_modules/lodash/plant.js delete mode 100644 tools/node_modules/@babel/core/node_modules/lodash/property.js delete mode 100644 tools/node_modules/@babel/core/node_modules/lodash/propertyOf.js delete mode 100644 tools/node_modules/@babel/core/node_modules/lodash/pull.js delete mode 100644 tools/node_modules/@babel/core/node_modules/lodash/pullAll.js delete mode 100644 tools/node_modules/@babel/core/node_modules/lodash/pullAllBy.js delete mode 100644 tools/node_modules/@babel/core/node_modules/lodash/pullAllWith.js delete mode 100644 tools/node_modules/@babel/core/node_modules/lodash/pullAt.js delete mode 100644 tools/node_modules/@babel/core/node_modules/lodash/random.js delete mode 100644 tools/node_modules/@babel/core/node_modules/lodash/range.js delete mode 100644 tools/node_modules/@babel/core/node_modules/lodash/rangeRight.js delete mode 100644 tools/node_modules/@babel/core/node_modules/lodash/rearg.js delete mode 100644 tools/node_modules/@babel/core/node_modules/lodash/reduce.js delete mode 100644 tools/node_modules/@babel/core/node_modules/lodash/reduceRight.js delete mode 100644 tools/node_modules/@babel/core/node_modules/lodash/reject.js delete mode 100644 tools/node_modules/@babel/core/node_modules/lodash/remove.js delete mode 100644 tools/node_modules/@babel/core/node_modules/lodash/repeat.js delete mode 100644 tools/node_modules/@babel/core/node_modules/lodash/replace.js delete mode 100644 tools/node_modules/@babel/core/node_modules/lodash/rest.js delete mode 100644 tools/node_modules/@babel/core/node_modules/lodash/result.js delete mode 100644 tools/node_modules/@babel/core/node_modules/lodash/reverse.js delete mode 100644 tools/node_modules/@babel/core/node_modules/lodash/round.js delete mode 100644 tools/node_modules/@babel/core/node_modules/lodash/sample.js delete mode 100644 tools/node_modules/@babel/core/node_modules/lodash/sampleSize.js delete mode 100644 tools/node_modules/@babel/core/node_modules/lodash/seq.js delete mode 100644 tools/node_modules/@babel/core/node_modules/lodash/set.js delete mode 100644 tools/node_modules/@babel/core/node_modules/lodash/setWith.js delete mode 100644 tools/node_modules/@babel/core/node_modules/lodash/shuffle.js delete mode 100644 tools/node_modules/@babel/core/node_modules/lodash/size.js delete mode 100644 tools/node_modules/@babel/core/node_modules/lodash/slice.js delete mode 100644 tools/node_modules/@babel/core/node_modules/lodash/snakeCase.js delete mode 100644 tools/node_modules/@babel/core/node_modules/lodash/some.js delete mode 100644 tools/node_modules/@babel/core/node_modules/lodash/sortBy.js delete mode 100644 tools/node_modules/@babel/core/node_modules/lodash/sortedIndex.js delete mode 100644 tools/node_modules/@babel/core/node_modules/lodash/sortedIndexBy.js delete mode 100644 tools/node_modules/@babel/core/node_modules/lodash/sortedIndexOf.js delete mode 100644 tools/node_modules/@babel/core/node_modules/lodash/sortedLastIndex.js delete mode 100644 tools/node_modules/@babel/core/node_modules/lodash/sortedLastIndexBy.js delete mode 100644 tools/node_modules/@babel/core/node_modules/lodash/sortedLastIndexOf.js delete mode 100644 tools/node_modules/@babel/core/node_modules/lodash/sortedUniq.js delete mode 100644 tools/node_modules/@babel/core/node_modules/lodash/sortedUniqBy.js delete mode 100644 tools/node_modules/@babel/core/node_modules/lodash/split.js delete mode 100644 tools/node_modules/@babel/core/node_modules/lodash/spread.js delete mode 100644 tools/node_modules/@babel/core/node_modules/lodash/startCase.js delete mode 100644 tools/node_modules/@babel/core/node_modules/lodash/startsWith.js delete mode 100644 tools/node_modules/@babel/core/node_modules/lodash/string.js delete mode 100644 tools/node_modules/@babel/core/node_modules/lodash/stubArray.js delete mode 100644 tools/node_modules/@babel/core/node_modules/lodash/stubFalse.js delete mode 100644 tools/node_modules/@babel/core/node_modules/lodash/stubObject.js delete mode 100644 tools/node_modules/@babel/core/node_modules/lodash/stubString.js delete mode 100644 tools/node_modules/@babel/core/node_modules/lodash/stubTrue.js delete mode 100644 tools/node_modules/@babel/core/node_modules/lodash/subtract.js delete mode 100644 tools/node_modules/@babel/core/node_modules/lodash/sum.js delete mode 100644 tools/node_modules/@babel/core/node_modules/lodash/sumBy.js delete mode 100644 tools/node_modules/@babel/core/node_modules/lodash/tail.js delete mode 100644 tools/node_modules/@babel/core/node_modules/lodash/take.js delete mode 100644 tools/node_modules/@babel/core/node_modules/lodash/takeRight.js delete mode 100644 tools/node_modules/@babel/core/node_modules/lodash/takeRightWhile.js delete mode 100644 tools/node_modules/@babel/core/node_modules/lodash/takeWhile.js delete mode 100644 tools/node_modules/@babel/core/node_modules/lodash/tap.js delete mode 100644 tools/node_modules/@babel/core/node_modules/lodash/template.js delete mode 100644 tools/node_modules/@babel/core/node_modules/lodash/templateSettings.js delete mode 100644 tools/node_modules/@babel/core/node_modules/lodash/throttle.js delete mode 100644 tools/node_modules/@babel/core/node_modules/lodash/thru.js delete mode 100644 tools/node_modules/@babel/core/node_modules/lodash/times.js delete mode 100644 tools/node_modules/@babel/core/node_modules/lodash/toArray.js delete mode 100644 tools/node_modules/@babel/core/node_modules/lodash/toFinite.js delete mode 100644 tools/node_modules/@babel/core/node_modules/lodash/toInteger.js delete mode 100644 tools/node_modules/@babel/core/node_modules/lodash/toIterator.js delete mode 100644 tools/node_modules/@babel/core/node_modules/lodash/toJSON.js delete mode 100644 tools/node_modules/@babel/core/node_modules/lodash/toLength.js delete mode 100644 tools/node_modules/@babel/core/node_modules/lodash/toLower.js delete mode 100644 tools/node_modules/@babel/core/node_modules/lodash/toNumber.js delete mode 100644 tools/node_modules/@babel/core/node_modules/lodash/toPairs.js delete mode 100644 tools/node_modules/@babel/core/node_modules/lodash/toPairsIn.js delete mode 100644 tools/node_modules/@babel/core/node_modules/lodash/toPath.js delete mode 100644 tools/node_modules/@babel/core/node_modules/lodash/toPlainObject.js delete mode 100644 tools/node_modules/@babel/core/node_modules/lodash/toSafeInteger.js delete mode 100644 tools/node_modules/@babel/core/node_modules/lodash/toString.js delete mode 100644 tools/node_modules/@babel/core/node_modules/lodash/toUpper.js delete mode 100644 tools/node_modules/@babel/core/node_modules/lodash/transform.js delete mode 100644 tools/node_modules/@babel/core/node_modules/lodash/trim.js delete mode 100644 tools/node_modules/@babel/core/node_modules/lodash/trimEnd.js delete mode 100644 tools/node_modules/@babel/core/node_modules/lodash/trimStart.js delete mode 100644 tools/node_modules/@babel/core/node_modules/lodash/truncate.js delete mode 100644 tools/node_modules/@babel/core/node_modules/lodash/unary.js delete mode 100644 tools/node_modules/@babel/core/node_modules/lodash/unescape.js delete mode 100644 tools/node_modules/@babel/core/node_modules/lodash/union.js delete mode 100644 tools/node_modules/@babel/core/node_modules/lodash/unionBy.js delete mode 100644 tools/node_modules/@babel/core/node_modules/lodash/unionWith.js delete mode 100644 tools/node_modules/@babel/core/node_modules/lodash/uniq.js delete mode 100644 tools/node_modules/@babel/core/node_modules/lodash/uniqBy.js delete mode 100644 tools/node_modules/@babel/core/node_modules/lodash/uniqWith.js delete mode 100644 tools/node_modules/@babel/core/node_modules/lodash/uniqueId.js delete mode 100644 tools/node_modules/@babel/core/node_modules/lodash/unset.js delete mode 100644 tools/node_modules/@babel/core/node_modules/lodash/unzip.js delete mode 100644 tools/node_modules/@babel/core/node_modules/lodash/unzipWith.js delete mode 100644 tools/node_modules/@babel/core/node_modules/lodash/update.js delete mode 100644 tools/node_modules/@babel/core/node_modules/lodash/updateWith.js delete mode 100644 tools/node_modules/@babel/core/node_modules/lodash/upperCase.js delete mode 100644 tools/node_modules/@babel/core/node_modules/lodash/upperFirst.js delete mode 100644 tools/node_modules/@babel/core/node_modules/lodash/util.js delete mode 100644 tools/node_modules/@babel/core/node_modules/lodash/value.js delete mode 100644 tools/node_modules/@babel/core/node_modules/lodash/valueOf.js delete mode 100644 tools/node_modules/@babel/core/node_modules/lodash/values.js delete mode 100644 tools/node_modules/@babel/core/node_modules/lodash/valuesIn.js delete mode 100644 tools/node_modules/@babel/core/node_modules/lodash/without.js delete mode 100644 tools/node_modules/@babel/core/node_modules/lodash/words.js delete mode 100644 tools/node_modules/@babel/core/node_modules/lodash/wrap.js delete mode 100644 tools/node_modules/@babel/core/node_modules/lodash/wrapperAt.js delete mode 100644 tools/node_modules/@babel/core/node_modules/lodash/wrapperChain.js delete mode 100644 tools/node_modules/@babel/core/node_modules/lodash/wrapperLodash.js delete mode 100644 tools/node_modules/@babel/core/node_modules/lodash/wrapperReverse.js delete mode 100644 tools/node_modules/@babel/core/node_modules/lodash/wrapperValue.js delete mode 100644 tools/node_modules/@babel/core/node_modules/lodash/xor.js delete mode 100644 tools/node_modules/@babel/core/node_modules/lodash/xorBy.js delete mode 100644 tools/node_modules/@babel/core/node_modules/lodash/xorWith.js delete mode 100644 tools/node_modules/@babel/core/node_modules/lodash/zip.js delete mode 100644 tools/node_modules/@babel/core/node_modules/lodash/zipObject.js delete mode 100644 tools/node_modules/@babel/core/node_modules/lodash/zipObjectDeep.js delete mode 100644 tools/node_modules/@babel/core/node_modules/lodash/zipWith.js create mode 100644 tools/node_modules/@babel/core/node_modules/node-releases/LICENSE create mode 100644 tools/node_modules/@babel/core/node_modules/node-releases/README.md create mode 100644 tools/node_modules/@babel/core/node_modules/node-releases/data/processed/envs.json create mode 100644 tools/node_modules/@babel/core/node_modules/node-releases/data/raw/iojs.json create mode 100644 tools/node_modules/@babel/core/node_modules/node-releases/data/raw/nodejs.json create mode 100644 tools/node_modules/@babel/core/node_modules/node-releases/data/release-schedule/release-schedule.json create mode 100644 tools/node_modules/@babel/core/node_modules/node-releases/package.json rename tools/node_modules/@babel/core/node_modules/semver/bin/{semver => semver.js} (92%) rename tools/node_modules/@babel/core/src/config/files/{index-browser.js => index-browser.ts} (57%) rename tools/node_modules/@babel/core/src/config/files/{index.js => index.ts} (77%) create mode 100644 tools/node_modules/@babel/core/src/config/resolve-targets-browser.ts create mode 100644 tools/node_modules/@babel/core/src/config/resolve-targets.ts rename tools/node_modules/@babel/core/src/{transform-file-browser.js => transform-file-browser.ts} (65%) delete mode 100644 tools/node_modules/@babel/core/src/transform-file.js create mode 100644 tools/node_modules/@babel/core/src/transform-file.ts create mode 100644 tools/node_modules/@babel/core/src/transformation/util/clone-deep-browser.ts create mode 100644 tools/node_modules/@babel/core/src/transformation/util/clone-deep.ts rename tools/node_modules/@babel/eslint-parser/lib/{analyze-scope.js => analyze-scope.cjs} (77%) create mode 100644 tools/node_modules/@babel/eslint-parser/lib/client.cjs create mode 100644 tools/node_modules/@babel/eslint-parser/lib/configuration.cjs delete mode 100644 tools/node_modules/@babel/eslint-parser/lib/configuration.js create mode 100644 tools/node_modules/@babel/eslint-parser/lib/convert/convertAST.cjs delete mode 100644 tools/node_modules/@babel/eslint-parser/lib/convert/convertAST.js rename tools/node_modules/@babel/eslint-parser/lib/convert/{convertComments.js => convertComments.cjs} (64%) rename tools/node_modules/@babel/eslint-parser/lib/convert/{convertTokens.js => convertTokens.cjs} (50%) create mode 100644 tools/node_modules/@babel/eslint-parser/lib/convert/index.cjs delete mode 100644 tools/node_modules/@babel/eslint-parser/lib/convert/index.js create mode 100644 tools/node_modules/@babel/eslint-parser/lib/index.cjs delete mode 100644 tools/node_modules/@babel/eslint-parser/lib/index.js delete mode 100644 tools/node_modules/@babel/eslint-parser/lib/visitor-keys.js create mode 100644 tools/node_modules/@babel/eslint-parser/lib/worker/ast-info.cjs create mode 100644 tools/node_modules/@babel/eslint-parser/lib/worker/babel-core.cjs create mode 100644 tools/node_modules/@babel/eslint-parser/lib/worker/configuration.cjs create mode 100644 tools/node_modules/@babel/eslint-parser/lib/worker/extract-parser-options-plugin.cjs create mode 100644 tools/node_modules/@babel/eslint-parser/lib/worker/index.cjs create mode 100644 tools/node_modules/@babel/eslint-parser/lib/worker/maybeParse.cjs diff --git a/tools/node_modules/@babel/core/lib/config/cache-contexts.js b/tools/node_modules/@babel/core/lib/config/cache-contexts.js new file mode 100644 index 00000000000000..e69de29bb2d1d6 diff --git a/tools/node_modules/@babel/core/lib/config/caching.js b/tools/node_modules/@babel/core/lib/config/caching.js index acd576b1cef295..7d70d65ba2dc65 100644 --- a/tools/node_modules/@babel/core/lib/config/caching.js +++ b/tools/node_modules/@babel/core/lib/config/caching.js @@ -10,7 +10,7 @@ exports.makeStrongCacheSync = makeStrongCacheSync; exports.assertSimpleType = assertSimpleType; function _gensync() { - const data = _interopRequireDefault(require("gensync")); + const data = require("gensync"); _gensync = function () { return data; @@ -23,13 +23,11 @@ var _async = require("../gensync-utils/async"); var _util = require("./util"); -function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } - const synchronize = gen => { - return (0, _gensync().default)(gen).sync; + return _gensync()(gen).sync; }; -function* genTrue(data) { +function* genTrue() { return true; } diff --git a/tools/node_modules/@babel/core/lib/config/config-chain.js b/tools/node_modules/@babel/core/lib/config/config-chain.js index 60116cb417eb79..999386168e55d9 100644 --- a/tools/node_modules/@babel/core/lib/config/config-chain.js +++ b/tools/node_modules/@babel/core/lib/config/config-chain.js @@ -8,7 +8,7 @@ exports.buildRootChain = buildRootChain; exports.buildPresetChainWalker = void 0; function _path() { - const data = _interopRequireDefault(require("path")); + const data = require("path"); _path = function () { return data; @@ -18,7 +18,7 @@ function _path() { } function _debug() { - const data = _interopRequireDefault(require("debug")); + const data = require("debug"); _debug = function () { return data; @@ -29,7 +29,7 @@ function _debug() { var _options = require("./validation/options"); -var _patternToRegex = _interopRequireDefault(require("./pattern-to-regex")); +var _patternToRegex = require("./pattern-to-regex"); var _printer = require("./printer"); @@ -39,9 +39,7 @@ var _caching = require("./caching"); var _configDescriptors = require("./config-descriptors"); -function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } - -const debug = (0, _debug().default)("babel:config:config-chain"); +const debug = _debug()("babel:config:config-chain"); function* buildPresetChain(arg, context) { const chain = yield* buildPresetChainWalker(arg, context); @@ -75,7 +73,7 @@ function* buildRootChain(opts, context) { dirname: context.cwd }, context, undefined, programmaticLogger); if (!programmaticChain) return null; - const programmaticReport = programmaticLogger.output(); + const programmaticReport = yield* programmaticLogger.output(); let configFile; if (typeof opts.configFile === "string") { @@ -96,7 +94,7 @@ function* buildRootChain(opts, context) { const validatedFile = validateConfigFile(configFile); const result = yield* loadFileChain(validatedFile, context, undefined, configFileLogger); if (!result) return null; - configReport = configFileLogger.output(); + configReport = yield* configFileLogger.output(); if (babelrc === undefined) { babelrc = validatedFile.options.babelrc; @@ -110,46 +108,48 @@ function* buildRootChain(opts, context) { mergeChain(configFileChain, result); } - const pkgData = typeof context.filename === "string" ? yield* (0, _files.findPackageData)(context.filename) : null; let ignoreFile, babelrcFile; let isIgnored = false; const fileChain = emptyChain(); - if ((babelrc === true || babelrc === undefined) && pkgData && babelrcLoadEnabled(context, pkgData, babelrcRoots, babelrcRootsDirectory)) { - ({ - ignore: ignoreFile, - config: babelrcFile - } = yield* (0, _files.findRelativeConfig)(pkgData, context.envName, context.caller)); - - if (ignoreFile) { - fileChain.files.add(ignoreFile.filepath); - } + if ((babelrc === true || babelrc === undefined) && typeof context.filename === "string") { + const pkgData = yield* (0, _files.findPackageData)(context.filename); - if (ignoreFile && shouldIgnore(context, ignoreFile.ignore, null, ignoreFile.dirname)) { - isIgnored = true; - } + if (pkgData && babelrcLoadEnabled(context, pkgData, babelrcRoots, babelrcRootsDirectory)) { + ({ + ignore: ignoreFile, + config: babelrcFile + } = yield* (0, _files.findRelativeConfig)(pkgData, context.envName, context.caller)); - if (babelrcFile && !isIgnored) { - const validatedFile = validateBabelrcFile(babelrcFile); - const babelrcLogger = new _printer.ConfigPrinter(); - const result = yield* loadFileChain(validatedFile, context, undefined, babelrcLogger); + if (ignoreFile) { + fileChain.files.add(ignoreFile.filepath); + } - if (!result) { + if (ignoreFile && shouldIgnore(context, ignoreFile.ignore, null, ignoreFile.dirname)) { isIgnored = true; - } else { - babelRcReport = babelrcLogger.output(); - mergeChain(fileChain, result); } - } - if (babelrcFile && isIgnored) { - fileChain.files.add(babelrcFile.filepath); + if (babelrcFile && !isIgnored) { + const validatedFile = validateBabelrcFile(babelrcFile); + const babelrcLogger = new _printer.ConfigPrinter(); + const result = yield* loadFileChain(validatedFile, context, undefined, babelrcLogger); + + if (!result) { + isIgnored = true; + } else { + babelRcReport = yield* babelrcLogger.output(); + mergeChain(fileChain, result); + } + } + + if (babelrcFile && isIgnored) { + fileChain.files.add(babelrcFile.filepath); + } } } if (context.showConfig) { - console.log(`Babel configs on "${context.filename}" (ascending priority):\n` + [configReport, babelRcReport, programmaticReport].filter(x => !!x).join("\n\n")); - return null; + console.log(`Babel configs on "${context.filename}" (ascending priority):\n` + [configReport, babelRcReport, programmaticReport].filter(x => !!x).join("\n\n") + "\n-----End Babel configs-----"); } const chain = mergeChain(mergeChain(mergeChain(emptyChain(), configFileChain), fileChain), programmaticChain); @@ -174,9 +174,13 @@ function babelrcLoadEnabled(context, pkgData, babelrcRoots, babelrcRootsDirector } let babelrcPatterns = babelrcRoots; - if (!Array.isArray(babelrcPatterns)) babelrcPatterns = [babelrcPatterns]; + + if (!Array.isArray(babelrcPatterns)) { + babelrcPatterns = [babelrcPatterns]; + } + babelrcPatterns = babelrcPatterns.map(pat => { - return typeof pat === "string" ? _path().default.resolve(babelrcRootsDirectory, pat) : pat; + return typeof pat === "string" ? _path().resolve(babelrcRootsDirectory, pat) : pat; }); if (babelrcPatterns.length === 1 && babelrcPatterns[0] === absoluteRoot) { @@ -371,7 +375,7 @@ function makeChainWalker({ } logger(config, index, envName); - mergeChainOpts(chain, config); + yield* mergeChainOpts(chain, config); } return chain; @@ -406,14 +410,14 @@ function mergeChain(target, source) { return target; } -function mergeChainOpts(target, { +function* mergeChainOpts(target, { options, plugins, presets }) { target.options.push(options); - target.plugins.push(...plugins()); - target.presets.push(...presets()); + target.plugins.push(...(yield* plugins())); + target.presets.push(...(yield* presets())); return target; } diff --git a/tools/node_modules/@babel/core/lib/config/config-descriptors.js b/tools/node_modules/@babel/core/lib/config/config-descriptors.js index 62efa71265ddb4..835ece110549ef 100644 --- a/tools/node_modules/@babel/core/lib/config/config-descriptors.js +++ b/tools/node_modules/@babel/core/lib/config/config-descriptors.js @@ -7,16 +7,40 @@ exports.createCachedDescriptors = createCachedDescriptors; exports.createUncachedDescriptors = createUncachedDescriptors; exports.createDescriptor = createDescriptor; +function _gensync() { + const data = require("gensync"); + + _gensync = function () { + return data; + }; + + return data; +} + var _files = require("./files"); var _item = require("./item"); var _caching = require("./caching"); +var _resolveTargets = require("./resolve-targets"); + function isEqualDescriptor(a, b) { return a.name === b.name && a.value === b.value && a.options === b.options && a.dirname === b.dirname && a.alias === b.alias && a.ownPass === b.ownPass && (a.file && a.file.request) === (b.file && b.file.request) && (a.file && a.file.resolved) === (b.file && b.file.resolved); } +function* handlerOf(value) { + return value; +} + +function optionsWithResolvedBrowserslistConfigFile(options, dirname) { + if (typeof options.browserslistConfigFile === "string") { + options.browserslistConfigFile = (0, _resolveTargets.resolveBrowserslistConfigFile)(options.browserslistConfigFile, dirname); + } + + return options; +} + function createCachedDescriptors(dirname, options, alias) { const { plugins, @@ -24,9 +48,9 @@ function createCachedDescriptors(dirname, options, alias) { passPerPreset } = options; return { - options, - plugins: plugins ? () => createCachedPluginDescriptors(plugins, dirname)(alias) : () => [], - presets: presets ? () => createCachedPresetDescriptors(presets, dirname)(alias)(!!passPerPreset) : () => [] + options: optionsWithResolvedBrowserslistConfigFile(options, dirname), + plugins: plugins ? () => createCachedPluginDescriptors(plugins, dirname)(alias) : () => handlerOf([]), + presets: presets ? () => createCachedPresetDescriptors(presets, dirname)(alias)(!!passPerPreset) : () => handlerOf([]) }; } @@ -34,33 +58,42 @@ function createUncachedDescriptors(dirname, options, alias) { let plugins; let presets; return { - options, - plugins: () => { + options: optionsWithResolvedBrowserslistConfigFile(options, dirname), + + *plugins() { if (!plugins) { - plugins = createPluginDescriptors(options.plugins || [], dirname, alias); + plugins = yield* createPluginDescriptors(options.plugins || [], dirname, alias); } return plugins; }, - presets: () => { + + *presets() { if (!presets) { - presets = createPresetDescriptors(options.presets || [], dirname, alias, !!options.passPerPreset); + presets = yield* createPresetDescriptors(options.presets || [], dirname, alias, !!options.passPerPreset); } return presets; } + }; } const PRESET_DESCRIPTOR_CACHE = new WeakMap(); const createCachedPresetDescriptors = (0, _caching.makeWeakCacheSync)((items, cache) => { const dirname = cache.using(dir => dir); - return (0, _caching.makeStrongCacheSync)(alias => (0, _caching.makeStrongCacheSync)(passPerPreset => createPresetDescriptors(items, dirname, alias, passPerPreset).map(desc => loadCachedDescriptor(PRESET_DESCRIPTOR_CACHE, desc)))); + return (0, _caching.makeStrongCacheSync)(alias => (0, _caching.makeStrongCache)(function* (passPerPreset) { + const descriptors = yield* createPresetDescriptors(items, dirname, alias, passPerPreset); + return descriptors.map(desc => loadCachedDescriptor(PRESET_DESCRIPTOR_CACHE, desc)); + })); }); const PLUGIN_DESCRIPTOR_CACHE = new WeakMap(); const createCachedPluginDescriptors = (0, _caching.makeWeakCacheSync)((items, cache) => { const dirname = cache.using(dir => dir); - return (0, _caching.makeStrongCacheSync)(alias => createPluginDescriptors(items, dirname, alias).map(desc => loadCachedDescriptor(PLUGIN_DESCRIPTOR_CACHE, desc))); + return (0, _caching.makeStrongCache)(function* (alias) { + const descriptors = yield* createPluginDescriptors(items, dirname, alias); + return descriptors.map(desc => loadCachedDescriptor(PLUGIN_DESCRIPTOR_CACHE, desc)); + }); }); const DEFAULT_OPTIONS = {}; @@ -97,25 +130,25 @@ function loadCachedDescriptor(cache, desc) { return desc; } -function createPresetDescriptors(items, dirname, alias, passPerPreset) { - return createDescriptors("preset", items, dirname, alias, passPerPreset); +function* createPresetDescriptors(items, dirname, alias, passPerPreset) { + return yield* createDescriptors("preset", items, dirname, alias, passPerPreset); } -function createPluginDescriptors(items, dirname, alias) { - return createDescriptors("plugin", items, dirname, alias); +function* createPluginDescriptors(items, dirname, alias) { + return yield* createDescriptors("plugin", items, dirname, alias); } -function createDescriptors(type, items, dirname, alias, ownPass) { - const descriptors = items.map((item, index) => createDescriptor(item, dirname, { +function* createDescriptors(type, items, dirname, alias, ownPass) { + const descriptors = yield* _gensync().all(items.map((item, index) => createDescriptor(item, dirname, { type, alias: `${alias}$${index}`, ownPass: !!ownPass - })); + }))); assertNoDuplicates(descriptors); return descriptors; } -function createDescriptor(pair, dirname, { +function* createDescriptor(pair, dirname, { type, alias, ownPass @@ -151,7 +184,7 @@ function createDescriptor(pair, dirname, { ({ filepath, value - } = resolver(value, dirname)); + } = yield* resolver(value, dirname)); file = { request, resolved: filepath diff --git a/tools/node_modules/@babel/core/lib/config/files/configuration.js b/tools/node_modules/@babel/core/lib/config/files/configuration.js index 4835fb31904706..889ed2ad560549 100644 --- a/tools/node_modules/@babel/core/lib/config/files/configuration.js +++ b/tools/node_modules/@babel/core/lib/config/files/configuration.js @@ -11,7 +11,7 @@ exports.resolveShowConfigPath = resolveShowConfigPath; exports.ROOT_CONFIG_FILENAMES = void 0; function _debug() { - const data = _interopRequireDefault(require("debug")); + const data = require("debug"); _debug = function () { return data; @@ -20,8 +20,18 @@ function _debug() { return data; } +function _fs() { + const data = require("fs"); + + _fs = function () { + return data; + }; + + return data; +} + function _path() { - const data = _interopRequireDefault(require("path")); + const data = require("path"); _path = function () { return data; @@ -31,7 +41,7 @@ function _path() { } function _json() { - const data = _interopRequireDefault(require("json5")); + const data = require("json5"); _json = function () { return data; @@ -41,7 +51,7 @@ function _json() { } function _gensync() { - const data = _interopRequireDefault(require("gensync")); + const data = require("gensync"); _gensync = function () { return data; @@ -52,39 +62,44 @@ function _gensync() { var _caching = require("../caching"); -var _configApi = _interopRequireDefault(require("../helpers/config-api")); +var _configApi = require("../helpers/config-api"); var _utils = require("./utils"); -var _moduleTypes = _interopRequireDefault(require("./module-types")); +var _moduleTypes = require("./module-types"); -var _patternToRegex = _interopRequireDefault(require("../pattern-to-regex")); +var _patternToRegex = require("../pattern-to-regex"); -var fs = _interopRequireWildcard(require("../../gensync-utils/fs")); +var fs = require("../../gensync-utils/fs"); -function _getRequireWildcardCache() { if (typeof WeakMap !== "function") return null; var cache = new WeakMap(); _getRequireWildcardCache = function () { return cache; }; return cache; } +function _module() { + const data = require("module"); -function _interopRequireWildcard(obj) { if (obj && obj.__esModule) { return obj; } if (obj === null || typeof obj !== "object" && typeof obj !== "function") { return { default: obj }; } var cache = _getRequireWildcardCache(); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj.default = obj; if (cache) { cache.set(obj, newObj); } return newObj; } + _module = function () { + return data; + }; + + return data; +} -function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } +const debug = _debug()("babel:config:loading:files:configuration"); -const debug = (0, _debug().default)("babel:config:loading:files:configuration"); const ROOT_CONFIG_FILENAMES = ["babel.config.js", "babel.config.cjs", "babel.config.mjs", "babel.config.json"]; exports.ROOT_CONFIG_FILENAMES = ROOT_CONFIG_FILENAMES; const RELATIVE_CONFIG_FILENAMES = [".babelrc", ".babelrc.js", ".babelrc.cjs", ".babelrc.mjs", ".babelrc.json"]; const BABELIGNORE_FILENAME = ".babelignore"; -function* findConfigUpwards(rootDir) { +function findConfigUpwards(rootDir) { let dirname = rootDir; - while (true) { + for (;;) { for (const filename of ROOT_CONFIG_FILENAMES) { - if (yield* fs.exists(_path().default.join(dirname, filename))) { + if (_fs().existsSync(_path().join(dirname, filename))) { return dirname; } } - const nextDir = _path().default.dirname(dirname); + const nextDir = _path().dirname(dirname); if (dirname === nextDir) break; dirname = nextDir; @@ -97,7 +112,7 @@ function* findRelativeConfig(packageData, envName, caller) { let config = null; let ignore = null; - const dirname = _path().default.dirname(packageData.filepath); + const dirname = _path().dirname(packageData.filepath); for (const loc of packageData.directories) { if (!config) { @@ -107,7 +122,7 @@ function* findRelativeConfig(packageData, envName, caller) { } if (!ignore) { - const ignoreLoc = _path().default.join(loc, BABELIGNORE_FILENAME); + const ignoreLoc = _path().join(loc, BABELIGNORE_FILENAME); ignore = yield* readIgnoreConfig(ignoreLoc); @@ -128,10 +143,10 @@ function findRootConfig(dirname, envName, caller) { } function* loadOneConfig(names, dirname, envName, caller, previousConfig = null) { - const configs = yield* _gensync().default.all(names.map(filename => readConfig(_path().default.join(dirname, filename), envName, caller))); + const configs = yield* _gensync().all(names.map(filename => readConfig(_path().join(dirname, filename), envName, caller))); const config = configs.reduce((previousConfig, config) => { if (config && previousConfig) { - throw new Error(`Multiple configuration files found. Please remove one:\n` + ` - ${_path().default.basename(previousConfig.filepath)}\n` + ` - ${config.filepath}\n` + `from ${dirname}`); + throw new Error(`Multiple configuration files found. Please remove one:\n` + ` - ${_path().basename(previousConfig.filepath)}\n` + ` - ${config.filepath}\n` + `from ${dirname}`); } return config || previousConfig; @@ -145,7 +160,7 @@ function* loadOneConfig(names, dirname, envName, caller, previousConfig = null) } function* loadConfig(name, dirname, envName, caller) { - const filepath = (parseFloat(process.versions.node) >= 8.9 ? require.resolve : (r, { + const filepath = (((v, w) => (v = v.split("."), w = w.split("."), +v[0] > +w[0] || v[0] == w[0] && +v[1] >= +w[1]))(process.versions.node, "8.9") ? require.resolve : (r, { paths: [b] }, M = require("module")) => { let f = M._findPath(r, M._nodeModulePaths(b).concat(b)); @@ -168,7 +183,7 @@ function* loadConfig(name, dirname, envName, caller) { } function readConfig(filepath, envName, caller) { - const ext = _path().default.extname(filepath); + const ext = _path().extname(filepath); return ext === ".js" || ext === ".cjs" || ext === ".mjs" ? readConfigJS(filepath, { envName, @@ -178,8 +193,8 @@ function readConfig(filepath, envName, caller) { const LOADING_CONFIGS = new Set(); const readConfigJS = (0, _caching.makeStrongCache)(function* readConfigJS(filepath, cache) { - if (!fs.exists.sync(filepath)) { - cache.forever(); + if (!_fs().existsSync(filepath)) { + cache.never(); return null; } @@ -188,7 +203,7 @@ const readConfigJS = (0, _caching.makeStrongCache)(function* readConfigJS(filepa debug("Auto-ignoring usage of config %o.", filepath); return { filepath, - dirname: _path().default.dirname(filepath), + dirname: _path().dirname(filepath), options: {} }; } @@ -209,7 +224,7 @@ const readConfigJS = (0, _caching.makeStrongCache)(function* readConfigJS(filepa if (typeof options === "function") { yield* []; - options = options((0, _configApi.default)(cache)); + options = options((0, _configApi.makeConfigAPI)(cache)); assertCache = true; } @@ -224,7 +239,7 @@ const readConfigJS = (0, _caching.makeStrongCache)(function* readConfigJS(filepa if (assertCache && !cache.configured()) throwConfigError(); return { filepath, - dirname: _path().default.dirname(filepath), + dirname: _path().dirname(filepath), options }; }); @@ -246,7 +261,7 @@ const readConfigJSON5 = (0, _utils.makeStaticFileCache)((filepath, content) => { let options; try { - options = _json().default.parse(content); + options = _json().parse(content); } catch (err) { err.message = `${filepath}: Error while parsing config - ${err.message}`; throw err; @@ -264,12 +279,12 @@ const readConfigJSON5 = (0, _utils.makeStaticFileCache)((filepath, content) => { return { filepath, - dirname: _path().default.dirname(filepath), + dirname: _path().dirname(filepath), options }; }); const readIgnoreConfig = (0, _utils.makeStaticFileCache)((filepath, content) => { - const ignoreDir = _path().default.dirname(filepath); + const ignoreDir = _path().dirname(filepath); const ignorePatterns = content.split("\n").map(line => line.replace(/#(.*?)$/, "").trim()).filter(line => !!line); @@ -281,7 +296,7 @@ const readIgnoreConfig = (0, _utils.makeStaticFileCache)((filepath, content) => return { filepath, - dirname: _path().default.dirname(filepath), + dirname: _path().dirname(filepath), ignore: ignorePatterns.map(pattern => (0, _patternToRegex.default)(pattern, ignoreDir)) }; }); @@ -290,7 +305,7 @@ function* resolveShowConfigPath(dirname) { const targetPath = process.env.BABEL_SHOW_CONFIG_FOR; if (targetPath != null) { - const absolutePath = _path().default.resolve(dirname, targetPath); + const absolutePath = _path().resolve(dirname, targetPath); const stats = yield* fs.stat(absolutePath); diff --git a/tools/node_modules/@babel/core/lib/config/files/index-browser.js b/tools/node_modules/@babel/core/lib/config/files/index-browser.js index abe5fbd1bf088a..5507edace2abbb 100644 --- a/tools/node_modules/@babel/core/lib/config/files/index-browser.js +++ b/tools/node_modules/@babel/core/lib/config/files/index-browser.js @@ -15,7 +15,7 @@ exports.loadPlugin = loadPlugin; exports.loadPreset = loadPreset; exports.ROOT_CONFIG_FILENAMES = void 0; -function* findConfigUpwards(rootDir) { +function findConfigUpwards(rootDir) { return null; } @@ -30,7 +30,6 @@ function* findPackageData(filepath) { function* findRelativeConfig(pkgData, envName, caller) { return { - pkg: null, config: null, ignore: null }; diff --git a/tools/node_modules/@babel/core/lib/config/files/module-types.js b/tools/node_modules/@babel/core/lib/config/files/module-types.js index 6c17b8e374bf88..9a3797364294bb 100644 --- a/tools/node_modules/@babel/core/lib/config/files/module-types.js +++ b/tools/node_modules/@babel/core/lib/config/files/module-types.js @@ -8,7 +8,7 @@ exports.default = loadCjsOrMjsDefault; var _async = require("../../gensync-utils/async"); function _path() { - const data = _interopRequireDefault(require("path")); + const data = require("path"); _path = function () { return data; @@ -27,7 +27,15 @@ function _url() { return data; } -function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } +function _module() { + const data = require("module"); + + _module = function () { + return data; + }; + + return data; +} function asyncGeneratorStep(gen, resolve, reject, _next, _throw, key, arg) { try { var info = gen[key](arg); var value = info.value; } catch (error) { reject(error); return; } if (info.done) { resolve(value); } else { Promise.resolve(value).then(_next, _throw); } } @@ -39,14 +47,14 @@ try { import_ = require("./import").default; } catch (_unused) {} -function* loadCjsOrMjsDefault(filepath, asyncError) { +function* loadCjsOrMjsDefault(filepath, asyncError, fallbackToTranspiledModule = false) { switch (guessJSModuleType(filepath)) { case "cjs": - return loadCjsDefault(filepath); + return loadCjsDefault(filepath, fallbackToTranspiledModule); case "unknown": try { - return loadCjsDefault(filepath); + return loadCjsDefault(filepath, fallbackToTranspiledModule); } catch (e) { if (e.code !== "ERR_REQUIRE_ESM") throw e; } @@ -61,7 +69,7 @@ function* loadCjsOrMjsDefault(filepath, asyncError) { } function guessJSModuleType(filename) { - switch (_path().default.extname(filename)) { + switch (_path().extname(filename)) { case ".cjs": return "cjs"; @@ -73,10 +81,10 @@ function guessJSModuleType(filename) { } } -function loadCjsDefault(filepath) { +function loadCjsDefault(filepath, fallbackToTranspiledModule) { const module = require(filepath); - return (module == null ? void 0 : module.__esModule) ? module.default || undefined : module; + return module != null && module.__esModule ? module.default || (fallbackToTranspiledModule ? module : undefined) : module; } function loadMjsDefault(_x) { diff --git a/tools/node_modules/@babel/core/lib/config/files/package.js b/tools/node_modules/@babel/core/lib/config/files/package.js index 095bc0e4a5f771..0e08bfe331ff76 100644 --- a/tools/node_modules/@babel/core/lib/config/files/package.js +++ b/tools/node_modules/@babel/core/lib/config/files/package.js @@ -6,7 +6,7 @@ Object.defineProperty(exports, "__esModule", { exports.findPackageData = findPackageData; function _path() { - const data = _interopRequireDefault(require("path")); + const data = require("path"); _path = function () { return data; @@ -17,8 +17,6 @@ function _path() { var _utils = require("./utils"); -function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } - const PACKAGE_FILENAME = "package.json"; function* findPackageData(filepath) { @@ -26,13 +24,13 @@ function* findPackageData(filepath) { const directories = []; let isPackage = true; - let dirname = _path().default.dirname(filepath); + let dirname = _path().dirname(filepath); - while (!pkg && _path().default.basename(dirname) !== "node_modules") { + while (!pkg && _path().basename(dirname) !== "node_modules") { directories.push(dirname); - pkg = yield* readConfigPackage(_path().default.join(dirname, PACKAGE_FILENAME)); + pkg = yield* readConfigPackage(_path().join(dirname, PACKAGE_FILENAME)); - const nextLoc = _path().default.dirname(dirname); + const nextLoc = _path().dirname(dirname); if (dirname === nextLoc) { isPackage = false; @@ -72,7 +70,7 @@ const readConfigPackage = (0, _utils.makeStaticFileCache)((filepath, content) => return { filepath, - dirname: _path().default.dirname(filepath), + dirname: _path().dirname(filepath), options }; }); \ No newline at end of file diff --git a/tools/node_modules/@babel/core/lib/config/files/plugins.js b/tools/node_modules/@babel/core/lib/config/files/plugins.js index eddce5f1715316..ae23378c9c2897 100644 --- a/tools/node_modules/@babel/core/lib/config/files/plugins.js +++ b/tools/node_modules/@babel/core/lib/config/files/plugins.js @@ -9,7 +9,7 @@ exports.loadPlugin = loadPlugin; exports.loadPreset = loadPreset; function _debug() { - const data = _interopRequireDefault(require("debug")); + const data = require("debug"); _debug = function () { return data; @@ -19,7 +19,7 @@ function _debug() { } function _path() { - const data = _interopRequireDefault(require("path")); + const data = require("path"); _path = function () { return data; @@ -28,9 +28,20 @@ function _path() { return data; } -function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } +var _moduleTypes = require("./module-types"); + +function _module() { + const data = require("module"); + + _module = function () { + return data; + }; + + return data; +} + +const debug = _debug()("babel:config:loading:files:plugins"); -const debug = (0, _debug().default)("babel:config:loading:files:plugins"); const EXACT_RE = /^module:/; const BABEL_PLUGIN_PREFIX_RE = /^(?!@|module:|[^/]+\/|babel-plugin-)/; const BABEL_PRESET_PREFIX_RE = /^(?!@|module:|[^/]+\/|babel-preset-)/; @@ -48,14 +59,14 @@ function resolvePreset(name, dirname) { return resolveStandardizedName("preset", name, dirname); } -function loadPlugin(name, dirname) { +function* loadPlugin(name, dirname) { const filepath = resolvePlugin(name, dirname); if (!filepath) { throw new Error(`Plugin ${name} not found relative to ${dirname}`); } - const value = requireModule("plugin", filepath); + const value = yield* requireModule("plugin", filepath); debug("Loaded plugin %o from %o.", name, dirname); return { filepath, @@ -63,14 +74,14 @@ function loadPlugin(name, dirname) { }; } -function loadPreset(name, dirname) { +function* loadPreset(name, dirname) { const filepath = resolvePreset(name, dirname); if (!filepath) { throw new Error(`Preset ${name} not found relative to ${dirname}`); } - const value = requireModule("preset", filepath); + const value = yield* requireModule("preset", filepath); debug("Loaded preset %o from %o.", name, dirname); return { filepath, @@ -79,7 +90,7 @@ function loadPreset(name, dirname) { } function standardizeName(type, name) { - if (_path().default.isAbsolute(name)) return name; + if (_path().isAbsolute(name)) return name; const isPreset = type === "preset"; return name.replace(isPreset ? BABEL_PRESET_PREFIX_RE : BABEL_PLUGIN_PREFIX_RE, `babel-${type}-`).replace(isPreset ? BABEL_PRESET_ORG_RE : BABEL_PLUGIN_ORG_RE, `$1${type}-`).replace(isPreset ? OTHER_PRESET_ORG_RE : OTHER_PLUGIN_ORG_RE, `$1babel-${type}-`).replace(OTHER_ORG_DEFAULT_RE, `$1/babel-${type}`).replace(EXACT_RE, ""); } @@ -88,7 +99,7 @@ function resolveStandardizedName(type, name, dirname = process.cwd()) { const standardizedName = standardizeName(type, name); try { - return (parseFloat(process.versions.node) >= 8.9 ? require.resolve : (r, { + return (((v, w) => (v = v.split("."), w = w.split("."), +v[0] > +w[0] || v[0] == w[0] && +v[1] >= +w[1]))(process.versions.node, "8.9") ? require.resolve : (r, { paths: [b] }, M = require("module")) => { let f = M._findPath(r, M._nodeModulePaths(b).concat(b)); @@ -107,7 +118,7 @@ function resolveStandardizedName(type, name, dirname = process.cwd()) { let resolvedOriginal = false; try { - (parseFloat(process.versions.node) >= 8.9 ? require.resolve : (r, { + (((v, w) => (v = v.split("."), w = w.split("."), +v[0] > +w[0] || v[0] == w[0] && +v[1] >= +w[1]))(process.versions.node, "8.9") ? require.resolve : (r, { paths: [b] }, M = require("module")) => { let f = M._findPath(r, M._nodeModulePaths(b).concat(b)); @@ -130,7 +141,7 @@ function resolveStandardizedName(type, name, dirname = process.cwd()) { let resolvedBabel = false; try { - (parseFloat(process.versions.node) >= 8.9 ? require.resolve : (r, { + (((v, w) => (v = v.split("."), w = w.split("."), +v[0] > +w[0] || v[0] == w[0] && +v[1] >= +w[1]))(process.versions.node, "8.9") ? require.resolve : (r, { paths: [b] }, M = require("module")) => { let f = M._findPath(r, M._nodeModulePaths(b).concat(b)); @@ -153,7 +164,7 @@ function resolveStandardizedName(type, name, dirname = process.cwd()) { const oppositeType = type === "preset" ? "plugin" : "preset"; try { - (parseFloat(process.versions.node) >= 8.9 ? require.resolve : (r, { + (((v, w) => (v = v.split("."), w = w.split("."), +v[0] > +w[0] || v[0] == w[0] && +v[1] >= +w[1]))(process.versions.node, "8.9") ? require.resolve : (r, { paths: [b] }, M = require("module")) => { let f = M._findPath(r, M._nodeModulePaths(b).concat(b)); @@ -178,14 +189,17 @@ function resolveStandardizedName(type, name, dirname = process.cwd()) { const LOADING_MODULES = new Set(); -function requireModule(type, name) { +function* requireModule(type, name) { if (LOADING_MODULES.has(name)) { throw new Error(`Reentrant ${type} detected trying to load "${name}". This module is not ignored ` + "and is trying to load itself while compiling itself, leading to a dependency cycle. " + 'We recommend adding it to your "ignore" list in your babelrc, or to a .babelignore.'); } try { LOADING_MODULES.add(name); - return require(name); + return yield* (0, _moduleTypes.default)(name, `You appear to be using a native ECMAScript module ${type}, ` + "which is only supported when running Babel asynchronously.", true); + } catch (err) { + err.message = `[BABEL]: ${err.message} (While processing: ${name})`; + throw err; } finally { LOADING_MODULES.delete(name); } diff --git a/tools/node_modules/@babel/core/lib/config/files/utils.js b/tools/node_modules/@babel/core/lib/config/files/utils.js index 0b08798146f7b8..6da68c0a7304df 100644 --- a/tools/node_modules/@babel/core/lib/config/files/utils.js +++ b/tools/node_modules/@babel/core/lib/config/files/utils.js @@ -7,10 +7,10 @@ exports.makeStaticFileCache = makeStaticFileCache; var _caching = require("../caching"); -var fs = _interopRequireWildcard(require("../../gensync-utils/fs")); +var fs = require("../../gensync-utils/fs"); function _fs2() { - const data = _interopRequireDefault(require("fs")); + const data = require("fs"); _fs2 = function () { return data; @@ -19,12 +19,6 @@ function _fs2() { return data; } -function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } - -function _getRequireWildcardCache() { if (typeof WeakMap !== "function") return null; var cache = new WeakMap(); _getRequireWildcardCache = function () { return cache; }; return cache; } - -function _interopRequireWildcard(obj) { if (obj && obj.__esModule) { return obj; } if (obj === null || typeof obj !== "object" && typeof obj !== "function") { return { default: obj }; } var cache = _getRequireWildcardCache(); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj.default = obj; if (cache) { cache.set(obj, newObj); } return newObj; } - function makeStaticFileCache(fn) { return (0, _caching.makeStrongCache)(function* (filepath, cache) { const cached = cache.invalidate(() => fileMtime(filepath)); @@ -38,8 +32,10 @@ function makeStaticFileCache(fn) { } function fileMtime(filepath) { + if (!_fs2().existsSync(filepath)) return null; + try { - return +_fs2().default.statSync(filepath).mtime; + return +_fs2().statSync(filepath).mtime; } catch (e) { if (e.code !== "ENOENT" && e.code !== "ENOTDIR") throw e; } diff --git a/tools/node_modules/@babel/core/lib/config/full.js b/tools/node_modules/@babel/core/lib/config/full.js index d817a1581242af..a583dd69084d79 100644 --- a/tools/node_modules/@babel/core/lib/config/full.js +++ b/tools/node_modules/@babel/core/lib/config/full.js @@ -6,7 +6,7 @@ Object.defineProperty(exports, "__esModule", { exports.default = void 0; function _gensync() { - const data = _interopRequireDefault(require("gensync")); + const data = require("gensync"); _gensync = function () { return data; @@ -19,16 +19,16 @@ var _async = require("../gensync-utils/async"); var _util = require("./util"); -var context = _interopRequireWildcard(require("../index")); +var context = require("../index"); -var _plugin = _interopRequireDefault(require("./plugin")); +var _plugin = require("./plugin"); var _item = require("./item"); var _configChain = require("./config-chain"); function _traverse() { - const data = _interopRequireDefault(require("@babel/traverse")); + const data = require("@babel/traverse"); _traverse = function () { return data; @@ -43,17 +43,15 @@ var _options = require("./validation/options"); var _plugins = require("./validation/plugins"); -var _configApi = _interopRequireDefault(require("./helpers/config-api")); +var _configApi = require("./helpers/config-api"); -var _partial = _interopRequireDefault(require("./partial")); +var _partial = require("./partial"); -function _getRequireWildcardCache() { if (typeof WeakMap !== "function") return null; var cache = new WeakMap(); _getRequireWildcardCache = function () { return cache; }; return cache; } +var Context = require("./cache-contexts"); -function _interopRequireWildcard(obj) { if (obj && obj.__esModule) { return obj; } if (obj === null || typeof obj !== "object" && typeof obj !== "function") { return { default: obj }; } var cache = _getRequireWildcardCache(); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj.default = obj; if (cache) { cache.set(obj, newObj); } return newObj; } +var _default = _gensync()(function* loadFullConfig(inputOpts) { + var _opts$assumptions; -function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } - -var _default = (0, _gensync().default)(function* loadFullConfig(inputOpts) { const result = yield* (0, _partial.default)(inputOpts); if (!result) { @@ -80,6 +78,10 @@ var _default = (0, _gensync().default)(function* loadFullConfig(inputOpts) { throw new Error("Assertion failure - plugins and presets exist"); } + const presetContext = Object.assign({}, context, { + targets: options.targets + }); + const toDescriptor = item => { const desc = (0, _item.getItemDescriptor)(item); @@ -104,12 +106,12 @@ var _default = (0, _gensync().default)(function* loadFullConfig(inputOpts) { try { if (descriptor.ownPass) { presets.push({ - preset: yield* loadPresetDescriptor(descriptor, context), + preset: yield* loadPresetDescriptor(descriptor, presetContext), pass: [] }); } else { presets.unshift({ - preset: yield* loadPresetDescriptor(descriptor, context), + preset: yield* loadPresetDescriptor(descriptor, presetContext), pass: pluginDescriptorsPass }); } @@ -143,6 +145,9 @@ var _default = (0, _gensync().default)(function* loadFullConfig(inputOpts) { if (ignored) return null; const opts = optionDefaults; (0, _util.mergeOptions)(opts, options); + const pluginContext = Object.assign({}, presetContext, { + assumptions: (_opts$assumptions = opts.assumptions) != null ? _opts$assumptions : {} + }); yield* enhanceError(context, function* loadPluginDescriptors() { pluginDescriptorsByPass[0].unshift(...initialPluginsDescriptors); @@ -155,7 +160,7 @@ var _default = (0, _gensync().default)(function* loadFullConfig(inputOpts) { if (descriptor.options !== false) { try { - pass.push(yield* loadPluginDescriptor(descriptor, context)); + pass.push(yield* loadPluginDescriptor(descriptor, pluginContext)); } catch (e) { if (e.code === "BABEL_UNKNOWN_PLUGIN_PROPERTY") { (0, _options.checkNoUnwrappedItemOptionPairs)(descs, i, "plugin", e); @@ -194,7 +199,7 @@ function enhanceError(context, fn) { }; } -const loadDescriptor = (0, _caching.makeWeakCache)(function* ({ +const makeDescriptorLoader = apiFactory => (0, _caching.makeWeakCache)(function* ({ value, options, dirname, @@ -205,10 +210,11 @@ const loadDescriptor = (0, _caching.makeWeakCache)(function* ({ let item = value; if (typeof value === "function") { - const api = Object.assign({}, context, (0, _configApi.default)(cache)); + const factory = (0, _async.maybeAsync)(value, `You appear to be using an async plugin/preset, but Babel has been called synchronously`); + const api = Object.assign({}, context, apiFactory(cache)); try { - item = value(api, options, dirname); + item = yield* factory(api, options, dirname); } catch (e) { if (alias) { e.message += ` (While processing: ${JSON.stringify(alias)})`; @@ -222,9 +228,9 @@ const loadDescriptor = (0, _caching.makeWeakCache)(function* ({ throw new Error("Plugin/Preset did not return an object."); } - if (typeof item.then === "function") { + if ((0, _async.isThenable)(item)) { yield* []; - throw new Error(`You appear to be using an async plugin, ` + `which your current version of Babel does not support. ` + `If you're using a published plugin, ` + `you may need to upgrade your @babel/core version.`); + throw new Error(`You appear to be using a promise as a plugin, ` + `which your current version of Babel does not support. ` + `If you're using a published plugin, ` + `you may need to upgrade your @babel/core version. ` + `As an alternative, you can prefix the promise with "await". ` + `(While processing: ${JSON.stringify(alias)})`); } return { @@ -235,6 +241,9 @@ const loadDescriptor = (0, _caching.makeWeakCache)(function* ({ }; }); +const pluginDescriptorLoader = makeDescriptorLoader(_configApi.makePluginAPI); +const presetDescriptorLoader = makeDescriptorLoader(_configApi.makePresetAPI); + function* loadPluginDescriptor(descriptor, context) { if (descriptor.value instanceof _plugin.default) { if (descriptor.options) { @@ -244,7 +253,7 @@ function* loadPluginDescriptor(descriptor, context) { return descriptor.value; } - return yield* instantiatePlugin(yield* loadDescriptor(descriptor, context), context); + return yield* instantiatePlugin(yield* pluginDescriptorLoader(descriptor, context), context); } const instantiatePlugin = (0, _caching.makeWeakCache)(function* ({ @@ -301,7 +310,7 @@ const validatePreset = (preset, context, descriptor) => { }; function* loadPresetDescriptor(descriptor, context) { - const preset = instantiatePreset(yield* loadDescriptor(descriptor, context)); + const preset = instantiatePreset(yield* presetDescriptorLoader(descriptor, context)); validatePreset(preset, context, descriptor); return yield* (0, _configChain.buildPresetChain)(preset, context); } diff --git a/tools/node_modules/@babel/core/lib/config/helpers/config-api.js b/tools/node_modules/@babel/core/lib/config/helpers/config-api.js index b94c05485863a4..35c614598ea305 100644 --- a/tools/node_modules/@babel/core/lib/config/helpers/config-api.js +++ b/tools/node_modules/@babel/core/lib/config/helpers/config-api.js @@ -3,10 +3,12 @@ Object.defineProperty(exports, "__esModule", { value: true }); -exports.default = makeAPI; +exports.makeConfigAPI = makeConfigAPI; +exports.makePresetAPI = makePresetAPI; +exports.makePluginAPI = makePluginAPI; function _semver() { - const data = _interopRequireDefault(require("semver")); + const data = require("semver"); _semver = function () { return data; @@ -19,9 +21,9 @@ var _ = require("../../"); var _caching = require("../caching"); -function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } +var Context = require("../cache-contexts"); -function makeAPI(cache) { +function makeConfigAPI(cache) { const env = value => cache.using(data => { if (typeof value === "undefined") return data.envName; @@ -51,6 +53,22 @@ function makeAPI(cache) { }; } +function makePresetAPI(cache) { + const targets = () => JSON.parse(cache.using(data => JSON.stringify(data.targets))); + + return Object.assign({}, makeConfigAPI(cache), { + targets + }); +} + +function makePluginAPI(cache) { + const assumption = name => cache.using(data => data.assumptions[name]); + + return Object.assign({}, makePresetAPI(cache), { + assumption + }); +} + function assertVersion(range) { if (typeof range === "number") { if (!Number.isInteger(range)) { @@ -64,7 +82,7 @@ function assertVersion(range) { throw new Error("Expected string or integer value."); } - if (_semver().default.satisfies(_.version, range)) return; + if (_semver().satisfies(_.version, range)) return; const limit = Error.stackTraceLimit; if (typeof limit === "number" && limit < 25) { diff --git a/tools/node_modules/@babel/core/lib/config/index.js b/tools/node_modules/@babel/core/lib/config/index.js index 9208224e071f65..13d7a96cc0bc03 100644 --- a/tools/node_modules/@babel/core/lib/config/index.js +++ b/tools/node_modules/@babel/core/lib/config/index.js @@ -3,16 +3,17 @@ Object.defineProperty(exports, "__esModule", { value: true }); +exports.createConfigItem = createConfigItem; Object.defineProperty(exports, "default", { enumerable: true, get: function () { return _full.default; } }); -exports.loadOptionsAsync = exports.loadOptionsSync = exports.loadOptions = exports.loadPartialConfigAsync = exports.loadPartialConfigSync = exports.loadPartialConfig = void 0; +exports.createConfigItemAsync = exports.createConfigItemSync = exports.loadOptionsAsync = exports.loadOptionsSync = exports.loadOptions = exports.loadPartialConfigAsync = exports.loadPartialConfigSync = exports.loadPartialConfig = void 0; function _gensync() { - const data = _interopRequireDefault(require("gensync")); + const data = require("gensync"); _gensync = function () { return data; @@ -21,19 +22,21 @@ function _gensync() { return data; } -var _full = _interopRequireDefault(require("./full")); +var _full = require("./full"); var _partial = require("./partial"); -function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } +var _item = require("./item"); -const loadOptionsRunner = (0, _gensync().default)(function* (opts) { +const loadOptionsRunner = _gensync()(function* (opts) { var _config$options; const config = yield* (0, _full.default)(opts); return (_config$options = config == null ? void 0 : config.options) != null ? _config$options : null; }); +const createConfigItemRunner = _gensync()(_item.createConfigItem); + const maybeErrback = runner => (opts, callback) => { if (callback === undefined && typeof opts === "function") { callback = opts; @@ -54,4 +57,18 @@ exports.loadOptions = loadOptions; const loadOptionsSync = loadOptionsRunner.sync; exports.loadOptionsSync = loadOptionsSync; const loadOptionsAsync = loadOptionsRunner.async; -exports.loadOptionsAsync = loadOptionsAsync; \ No newline at end of file +exports.loadOptionsAsync = loadOptionsAsync; +const createConfigItemSync = createConfigItemRunner.sync; +exports.createConfigItemSync = createConfigItemSync; +const createConfigItemAsync = createConfigItemRunner.async; +exports.createConfigItemAsync = createConfigItemAsync; + +function createConfigItem(target, options, callback) { + if (callback !== undefined) { + return createConfigItemRunner.errback(target, options, callback); + } else if (typeof options === "function") { + return createConfigItemRunner.errback(target, undefined, callback); + } else { + return createConfigItemRunner.sync(target, options); + } +} \ No newline at end of file diff --git a/tools/node_modules/@babel/core/lib/config/item.js b/tools/node_modules/@babel/core/lib/config/item.js index b4962a0d6edff3..170ec025e1ddd9 100644 --- a/tools/node_modules/@babel/core/lib/config/item.js +++ b/tools/node_modules/@babel/core/lib/config/item.js @@ -8,7 +8,7 @@ exports.createConfigItem = createConfigItem; exports.getItemDescriptor = getItemDescriptor; function _path() { - const data = _interopRequireDefault(require("path")); + const data = require("path"); _path = function () { return data; @@ -19,17 +19,15 @@ function _path() { var _configDescriptors = require("./config-descriptors"); -function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } - function createItemFromDescriptor(desc) { return new ConfigItem(desc); } -function createConfigItem(value, { +function* createConfigItem(value, { dirname = ".", type } = {}) { - const descriptor = (0, _configDescriptors.createDescriptor)(value, _path().default.resolve(dirname), { + const descriptor = yield* (0, _configDescriptors.createDescriptor)(value, _path().resolve(dirname), { type, alias: "programmatic item" }); @@ -37,7 +35,7 @@ function createConfigItem(value, { } function getItemDescriptor(item) { - if (item == null ? void 0 : item[CONFIG_ITEM_BRAND]) { + if (item != null && item[CONFIG_ITEM_BRAND]) { return item._descriptor; } diff --git a/tools/node_modules/@babel/core/lib/config/partial.js b/tools/node_modules/@babel/core/lib/config/partial.js index 229e06454e0896..cbe5e8dbadd3fd 100644 --- a/tools/node_modules/@babel/core/lib/config/partial.js +++ b/tools/node_modules/@babel/core/lib/config/partial.js @@ -7,7 +7,7 @@ exports.default = loadPrivatePartialConfig; exports.loadPartialConfig = void 0; function _path() { - const data = _interopRequireDefault(require("path")); + const data = require("path"); _path = function () { return data; @@ -17,7 +17,7 @@ function _path() { } function _gensync() { - const data = _interopRequireDefault(require("gensync")); + const data = require("gensync"); _gensync = function () { return data; @@ -26,7 +26,7 @@ function _gensync() { return data; } -var _plugin = _interopRequireDefault(require("./plugin")); +var _plugin = require("./plugin"); var _util = require("./util"); @@ -40,24 +40,24 @@ var _options = require("./validation/options"); var _files = require("./files"); -function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } +var _resolveTargets = require("./resolve-targets"); function _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; } -function* resolveRootMode(rootDir, rootMode) { +function resolveRootMode(rootDir, rootMode) { switch (rootMode) { case "root": return rootDir; case "upward-optional": { - const upwardRootDir = yield* (0, _files.findConfigUpwards)(rootDir); + const upwardRootDir = (0, _files.findConfigUpwards)(rootDir); return upwardRootDir === null ? rootDir : upwardRootDir; } case "upward": { - const upwardRootDir = yield* (0, _files.findConfigUpwards)(rootDir); + const upwardRootDir = (0, _files.findConfigUpwards)(rootDir); if (upwardRootDir !== null) return upwardRootDir; throw Object.assign(new Error(`Babel was run with rootMode:"upward" but a root could not ` + `be found when searching upward from "${rootDir}".\n` + `One of the following config files must be in the directory tree: ` + `"${_files.ROOT_CONFIG_FILENAMES.join(", ")}".`), { code: "BABEL_ROOT_NOT_FOUND", @@ -85,10 +85,10 @@ function* loadPrivatePartialConfig(inputOpts) { cloneInputAst = true } = args; - const absoluteCwd = _path().default.resolve(cwd); + const absoluteCwd = _path().resolve(cwd); - const absoluteRootDir = yield* resolveRootMode(_path().default.resolve(absoluteCwd, rootDir), rootMode); - const filename = typeof args.filename === "string" ? _path().default.resolve(cwd, args.filename) : undefined; + const absoluteRootDir = resolveRootMode(_path().resolve(absoluteCwd, rootDir), rootMode); + const filename = typeof args.filename === "string" ? _path().resolve(cwd, args.filename) : undefined; const showConfigPath = yield* (0, _files.resolveShowConfigPath)(absoluteCwd); const context = { filename, @@ -100,20 +100,27 @@ function* loadPrivatePartialConfig(inputOpts) { }; const configChain = yield* (0, _configChain.buildRootChain)(args, context); if (!configChain) return null; - const options = {}; + const merged = { + assumptions: {} + }; configChain.options.forEach(opts => { - (0, _util.mergeOptions)(options, opts); + (0, _util.mergeOptions)(merged, opts); + }); + const options = Object.assign({}, merged, { + targets: (0, _resolveTargets.resolveTargets)(merged, absoluteRootDir), + cloneInputAst, + babelrc: false, + configFile: false, + browserslistConfigFile: false, + passPerPreset: false, + envName: context.envName, + cwd: context.cwd, + root: context.root, + rootMode: "root", + filename: typeof context.filename === "string" ? context.filename : undefined, + plugins: configChain.plugins.map(descriptor => (0, _item.createItemFromDescriptor)(descriptor)), + presets: configChain.presets.map(descriptor => (0, _item.createItemFromDescriptor)(descriptor)) }); - options.cloneInputAst = cloneInputAst; - options.babelrc = false; - options.configFile = false; - options.passPerPreset = false; - options.envName = context.envName; - options.cwd = context.cwd; - options.root = context.root; - options.filename = typeof context.filename === "string" ? context.filename : undefined; - options.plugins = configChain.plugins.map(descriptor => (0, _item.createItemFromDescriptor)(descriptor)); - options.presets = configChain.presets.map(descriptor => (0, _item.createItemFromDescriptor)(descriptor)); return { options, context, @@ -125,7 +132,7 @@ function* loadPrivatePartialConfig(inputOpts) { }; } -const loadPartialConfig = (0, _gensync().default)(function* (opts) { +const loadPartialConfig = _gensync()(function* (opts) { let showIgnoredFiles = false; if (typeof opts === "object" && opts !== null && !Array.isArray(opts)) { @@ -159,6 +166,7 @@ const loadPartialConfig = (0, _gensync().default)(function* (opts) { }); return new PartialConfig(options, babelrc ? babelrc.filepath : undefined, ignore ? ignore.filepath : undefined, config ? config.filepath : undefined, fileHandling, files); }); + exports.loadPartialConfig = loadPartialConfig; class PartialConfig { diff --git a/tools/node_modules/@babel/core/lib/config/pattern-to-regex.js b/tools/node_modules/@babel/core/lib/config/pattern-to-regex.js index b80f4b6752a4da..ec5db8fd5d2ac2 100644 --- a/tools/node_modules/@babel/core/lib/config/pattern-to-regex.js +++ b/tools/node_modules/@babel/core/lib/config/pattern-to-regex.js @@ -6,7 +6,7 @@ Object.defineProperty(exports, "__esModule", { exports.default = pathToPattern; function _path() { - const data = _interopRequireDefault(require("path")); + const data = require("path"); _path = function () { return data; @@ -15,19 +15,7 @@ function _path() { return data; } -function _escapeRegExp() { - const data = _interopRequireDefault(require("lodash/escapeRegExp")); - - _escapeRegExp = function () { - return data; - }; - - return data; -} - -function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } - -const sep = `\\${_path().default.sep}`; +const sep = `\\${_path().sep}`; const endSep = `(?:${sep}|$)`; const substitution = `[^${sep}]+`; const starPat = `(?:${substitution}${sep})`; @@ -35,8 +23,12 @@ const starPatLast = `(?:${substitution}${endSep})`; const starStarPat = `${starPat}*?`; const starStarPatLast = `${starPat}*?${starPatLast}?`; +function escapeRegExp(string) { + return string.replace(/[|\\{}()[\]^$+*?.]/g, "\\$&"); +} + function pathToPattern(pattern, dirname) { - const parts = _path().default.resolve(dirname, pattern).split(_path().default.sep); + const parts = _path().resolve(dirname, pattern).split(_path().sep); return new RegExp(["^", ...parts.map((part, i) => { const last = i === parts.length - 1; @@ -44,9 +36,9 @@ function pathToPattern(pattern, dirname) { if (part === "*") return last ? starPatLast : starPat; if (part.indexOf("*.") === 0) { - return substitution + (0, _escapeRegExp().default)(part.slice(1)) + (last ? endSep : sep); + return substitution + escapeRegExp(part.slice(1)) + (last ? endSep : sep); } - return (0, _escapeRegExp().default)(part) + (last ? endSep : sep); + return escapeRegExp(part) + (last ? endSep : sep); })].join("")); } \ No newline at end of file diff --git a/tools/node_modules/@babel/core/lib/config/printer.js b/tools/node_modules/@babel/core/lib/config/printer.js index b007aa4c968d89..229fd9a3ce754c 100644 --- a/tools/node_modules/@babel/core/lib/config/printer.js +++ b/tools/node_modules/@babel/core/lib/config/printer.js @@ -4,6 +4,17 @@ Object.defineProperty(exports, "__esModule", { value: true }); exports.ConfigPrinter = exports.ChainFormatter = void 0; + +function _gensync() { + const data = require("gensync"); + + _gensync = function () { + return data; + }; + + return data; +} + const ChainFormatter = { Programmatic: 0, Config: 1 @@ -40,17 +51,17 @@ const Formatter = { return loc; }, - optionsAndDescriptors(opt) { + *optionsAndDescriptors(opt) { const content = Object.assign({}, opt.options); delete content.overrides; delete content.env; - const pluginDescriptors = [...opt.plugins()]; + const pluginDescriptors = [...(yield* opt.plugins())]; if (pluginDescriptors.length) { content.plugins = pluginDescriptors.map(d => descriptorToConfig(d)); } - const presetDescriptors = [...opt.presets()]; + const presetDescriptors = [...(yield* opt.presets())]; if (presetDescriptors.length) { content.presets = [...presetDescriptors].map(d => descriptorToConfig(d)); @@ -109,17 +120,18 @@ class ConfigPrinter { }; } - static format(config) { + static *format(config) { let title = Formatter.title(config.type, config.callerName, config.filepath); const loc = Formatter.loc(config.index, config.envName); if (loc) title += ` ${loc}`; - const content = Formatter.optionsAndDescriptors(config.content); + const content = yield* Formatter.optionsAndDescriptors(config.content); return `${title}\n${content}`; } - output() { + *output() { if (this._stack.length === 0) return ""; - return this._stack.map(s => ConfigPrinter.format(s)).join("\n\n"); + const configs = yield* _gensync().all(this._stack.map(s => ConfigPrinter.format(s))); + return configs.join("\n\n"); } } diff --git a/tools/node_modules/@babel/core/lib/config/resolve-targets-browser.js b/tools/node_modules/@babel/core/lib/config/resolve-targets-browser.js new file mode 100644 index 00000000000000..cc4e518029970e --- /dev/null +++ b/tools/node_modules/@babel/core/lib/config/resolve-targets-browser.js @@ -0,0 +1,42 @@ +"use strict"; + +Object.defineProperty(exports, "__esModule", { + value: true +}); +exports.resolveBrowserslistConfigFile = resolveBrowserslistConfigFile; +exports.resolveTargets = resolveTargets; + +function _helperCompilationTargets() { + const data = require("@babel/helper-compilation-targets"); + + _helperCompilationTargets = function () { + return data; + }; + + return data; +} + +function resolveBrowserslistConfigFile(browserslistConfigFile, configFilePath) { + return undefined; +} + +function resolveTargets(options, root) { + let targets = options.targets; + + if (typeof targets === "string" || Array.isArray(targets)) { + targets = { + browsers: targets + }; + } + + if (targets && targets.esmodules) { + targets = Object.assign({}, targets, { + esmodules: "intersect" + }); + } + + return (0, _helperCompilationTargets().default)(targets, { + ignoreBrowserslistConfig: true, + browserslistEnv: options.browserslistEnv + }); +} \ No newline at end of file diff --git a/tools/node_modules/@babel/core/lib/config/resolve-targets.js b/tools/node_modules/@babel/core/lib/config/resolve-targets.js new file mode 100644 index 00000000000000..973e3d57641df7 --- /dev/null +++ b/tools/node_modules/@babel/core/lib/config/resolve-targets.js @@ -0,0 +1,68 @@ +"use strict"; + +Object.defineProperty(exports, "__esModule", { + value: true +}); +exports.resolveBrowserslistConfigFile = resolveBrowserslistConfigFile; +exports.resolveTargets = resolveTargets; + +function _path() { + const data = require("path"); + + _path = function () { + return data; + }; + + return data; +} + +function _helperCompilationTargets() { + const data = require("@babel/helper-compilation-targets"); + + _helperCompilationTargets = function () { + return data; + }; + + return data; +} + +({}); + +function resolveBrowserslistConfigFile(browserslistConfigFile, configFileDir) { + return _path().resolve(configFileDir, browserslistConfigFile); +} + +function resolveTargets(options, root) { + let targets = options.targets; + + if (typeof targets === "string" || Array.isArray(targets)) { + targets = { + browsers: targets + }; + } + + if (targets && targets.esmodules) { + targets = Object.assign({}, targets, { + esmodules: "intersect" + }); + } + + const { + browserslistConfigFile + } = options; + let configFile; + let ignoreBrowserslistConfig = false; + + if (typeof browserslistConfigFile === "string") { + configFile = browserslistConfigFile; + } else { + ignoreBrowserslistConfig = browserslistConfigFile === false; + } + + return (0, _helperCompilationTargets().default)(targets, { + ignoreBrowserslistConfig, + configFile, + configPath: root, + browserslistEnv: options.browserslistEnv + }); +} \ No newline at end of file diff --git a/tools/node_modules/@babel/core/lib/config/util.js b/tools/node_modules/@babel/core/lib/config/util.js index 5608fb9d20b647..088eac6bda4629 100644 --- a/tools/node_modules/@babel/core/lib/config/util.js +++ b/tools/node_modules/@babel/core/lib/config/util.js @@ -8,14 +8,10 @@ exports.isIterableIterator = isIterableIterator; function mergeOptions(target, source) { for (const k of Object.keys(source)) { - if (k === "parserOpts" && source.parserOpts) { - const parserOpts = source.parserOpts; - const targetObj = target.parserOpts = target.parserOpts || {}; + if ((k === "parserOpts" || k === "generatorOpts" || k === "assumptions") && source[k]) { + const parserOpts = source[k]; + const targetObj = target[k] || (target[k] = {}); mergeDefaultFields(targetObj, parserOpts); - } else if (k === "generatorOpts" && source.generatorOpts) { - const generatorOpts = source.generatorOpts; - const targetObj = target.generatorOpts = target.generatorOpts || {}; - mergeDefaultFields(targetObj, generatorOpts); } else { const val = source[k]; if (val !== undefined) target[k] = val; diff --git a/tools/node_modules/@babel/core/lib/config/validation/option-assertions.js b/tools/node_modules/@babel/core/lib/config/validation/option-assertions.js index d339aad0827441..14e43ed97ee870 100644 --- a/tools/node_modules/@babel/core/lib/config/validation/option-assertions.js +++ b/tools/node_modules/@babel/core/lib/config/validation/option-assertions.js @@ -21,6 +21,20 @@ exports.assertConfigApplicableTest = assertConfigApplicableTest; exports.assertConfigFileSearch = assertConfigFileSearch; exports.assertBabelrcSearch = assertBabelrcSearch; exports.assertPluginList = assertPluginList; +exports.assertTargets = assertTargets; +exports.assertAssumptions = assertAssumptions; + +function _helperCompilationTargets() { + const data = require("@babel/helper-compilation-targets"); + + _helperCompilationTargets = function () { + return data; + }; + + return data; +} + +var _options = require("./options"); function msg(loc) { switch (loc.type) { @@ -88,7 +102,7 @@ function assertCallerMetadata(loc, value) { const obj = assertObject(loc, value); if (obj) { - if (typeof obj["name"] !== "string") { + if (typeof obj.name !== "string") { throw new Error(`${msg(loc)} set but does not contain "name" property string`); } @@ -264,5 +278,75 @@ function assertPluginTarget(loc, value) { throw new Error(`${msg(loc)} must be a string, object, function`); } + return value; +} + +function assertTargets(loc, value) { + if ((0, _helperCompilationTargets().isBrowsersQueryValid)(value)) return value; + + if (typeof value !== "object" || !value || Array.isArray(value)) { + throw new Error(`${msg(loc)} must be a string, an array of strings or an object`); + } + + const browsersLoc = access(loc, "browsers"); + const esmodulesLoc = access(loc, "esmodules"); + assertBrowsersList(browsersLoc, value.browsers); + assertBoolean(esmodulesLoc, value.esmodules); + + for (const key of Object.keys(value)) { + const val = value[key]; + const subLoc = access(loc, key); + if (key === "esmodules") assertBoolean(subLoc, val);else if (key === "browsers") assertBrowsersList(subLoc, val);else if (!Object.hasOwnProperty.call(_helperCompilationTargets().TargetNames, key)) { + const validTargets = Object.keys(_helperCompilationTargets().TargetNames).join(", "); + throw new Error(`${msg(subLoc)} is not a valid target. Supported targets are ${validTargets}`); + } else assertBrowserVersion(subLoc, val); + } + + return value; +} + +function assertBrowsersList(loc, value) { + if (value !== undefined && !(0, _helperCompilationTargets().isBrowsersQueryValid)(value)) { + throw new Error(`${msg(loc)} must be undefined, a string or an array of strings`); + } +} + +function assertBrowserVersion(loc, value) { + if (typeof value === "number" && Math.round(value) === value) return; + if (typeof value === "string") return; + throw new Error(`${msg(loc)} must be a string or an integer number`); +} + +function assertAssumptions(loc, value) { + if (value === undefined) return; + + if (typeof value !== "object" || value === null) { + throw new Error(`${msg(loc)} must be an object or undefined.`); + } + + let root = loc; + + do { + root = root.parent; + } while (root.type !== "root"); + + const inPreset = root.source === "preset"; + + for (const name of Object.keys(value)) { + const subLoc = access(loc, name); + + if (!_options.assumptionsNames.has(name)) { + throw new Error(`${msg(subLoc)} is not a supported assumption.`); + } + + if (typeof value[name] !== "boolean") { + throw new Error(`${msg(subLoc)} must be a boolean.`); + } + + if (inPreset && value[name] === false) { + throw new Error(`${msg(subLoc)} cannot be set to 'false' inside presets.`); + } + } + return value; } \ No newline at end of file diff --git a/tools/node_modules/@babel/core/lib/config/validation/options.js b/tools/node_modules/@babel/core/lib/config/validation/options.js index 04fb8bf5b6c2b9..7fadb16e17774b 100644 --- a/tools/node_modules/@babel/core/lib/config/validation/options.js +++ b/tools/node_modules/@babel/core/lib/config/validation/options.js @@ -5,15 +5,14 @@ Object.defineProperty(exports, "__esModule", { }); exports.validate = validate; exports.checkNoUnwrappedItemOptionPairs = checkNoUnwrappedItemOptionPairs; +exports.assumptionsNames = void 0; -var _plugin = _interopRequireDefault(require("../plugin")); +var _plugin = require("../plugin"); -var _removed = _interopRequireDefault(require("./removed")); +var _removed = require("./removed"); var _optionAssertions = require("./option-assertions"); -function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } - const ROOT_VALIDATORS = { cwd: _optionAssertions.assertString, root: _optionAssertions.assertString, @@ -34,13 +33,17 @@ const BABELRC_VALIDATORS = { const NONPRESET_VALIDATORS = { extends: _optionAssertions.assertString, ignore: _optionAssertions.assertIgnoreList, - only: _optionAssertions.assertIgnoreList + only: _optionAssertions.assertIgnoreList, + targets: _optionAssertions.assertTargets, + browserslistConfigFile: _optionAssertions.assertConfigFileSearch, + browserslistEnv: _optionAssertions.assertString }; const COMMON_VALIDATORS = { inputSourceMap: _optionAssertions.assertInputSourceMap, presets: _optionAssertions.assertPluginList, plugins: _optionAssertions.assertPluginList, passPerPreset: _optionAssertions.assertBoolean, + assumptions: _optionAssertions.assertAssumptions, env: assertEnvSet, overrides: assertOverridesList, test: _optionAssertions.assertConfigApplicableTest, @@ -60,13 +63,19 @@ const COMMON_VALIDATORS = { sourceMap: _optionAssertions.assertSourceMaps, sourceFileName: _optionAssertions.assertString, sourceRoot: _optionAssertions.assertString, - getModuleId: _optionAssertions.assertFunction, - moduleRoot: _optionAssertions.assertString, - moduleIds: _optionAssertions.assertBoolean, - moduleId: _optionAssertions.assertString, parserOpts: _optionAssertions.assertObject, generatorOpts: _optionAssertions.assertObject }; +{ + Object.assign(COMMON_VALIDATORS, { + getModuleId: _optionAssertions.assertFunction, + moduleRoot: _optionAssertions.assertString, + moduleIds: _optionAssertions.assertBoolean, + moduleId: _optionAssertions.assertString + }); +} +const assumptionsNames = new Set(["arrayLikeIsIterable", "constantReexports", "constantSuper", "enumerableModuleMeta", "ignoreFunctionLength", "ignoreToPrimitiveHint", "iterableIsArray", "mutableTemplateObject", "noClassCalls", "noDocumentAll", "noNewArrows", "objectRestNoSymbols", "privateFieldsAsProperties", "pureGetters", "setClassMethods", "setComputedProperties", "setPublicClassFields", "setSpreadProperties", "skipForOfIteratorClosing", "superIsCallableConstructor"]); +exports.assumptionsNames = assumptionsNames; function getSource(loc) { return loc.type === "root" ? loc.source : getSource(loc.parent); diff --git a/tools/node_modules/@babel/core/lib/gensync-utils/async.js b/tools/node_modules/@babel/core/lib/gensync-utils/async.js index 36b777d52712a4..fb11b976a78804 100644 --- a/tools/node_modules/@babel/core/lib/gensync-utils/async.js +++ b/tools/node_modules/@babel/core/lib/gensync-utils/async.js @@ -9,7 +9,7 @@ exports.isThenable = isThenable; exports.waitFor = exports.onFirstPause = exports.isAsync = void 0; function _gensync() { - const data = _interopRequireDefault(require("gensync")); + const data = require("gensync"); _gensync = function () { return data; @@ -18,21 +18,21 @@ function _gensync() { return data; } -function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } - const id = x => x; -const runGenerator = (0, _gensync().default)(function* (item) { +const runGenerator = _gensync()(function* (item) { return yield* item; }); -const isAsync = (0, _gensync().default)({ + +const isAsync = _gensync()({ sync: () => false, errback: cb => cb(null, true) }); + exports.isAsync = isAsync; function maybeAsync(fn, message) { - return (0, _gensync().default)({ + return _gensync()({ sync(...args) { const result = fn.apply(this, args); if (isThenable(result)) throw new Error(message); @@ -46,20 +46,21 @@ function maybeAsync(fn, message) { }); } -const withKind = (0, _gensync().default)({ +const withKind = _gensync()({ sync: cb => cb("sync"), async: cb => cb("async") }); function forwardAsync(action, cb) { - const g = (0, _gensync().default)(action); + const g = _gensync()(action); + return withKind(kind => { const adapted = g[kind]; return cb(adapted); }); } -const onFirstPause = (0, _gensync().default)({ +const onFirstPause = _gensync()({ name: "onFirstPause", arity: 2, sync: function (item) { @@ -77,11 +78,14 @@ const onFirstPause = (0, _gensync().default)({ } } }); + exports.onFirstPause = onFirstPause; -const waitFor = (0, _gensync().default)({ + +const waitFor = _gensync()({ sync: id, async: id }); + exports.waitFor = waitFor; function isThenable(val) { diff --git a/tools/node_modules/@babel/core/lib/gensync-utils/fs.js b/tools/node_modules/@babel/core/lib/gensync-utils/fs.js index 02f445387f63cc..056ae34da1bb6c 100644 --- a/tools/node_modules/@babel/core/lib/gensync-utils/fs.js +++ b/tools/node_modules/@babel/core/lib/gensync-utils/fs.js @@ -3,10 +3,10 @@ Object.defineProperty(exports, "__esModule", { value: true }); -exports.stat = exports.exists = exports.readFile = void 0; +exports.stat = exports.readFile = void 0; function _fs() { - const data = _interopRequireDefault(require("fs")); + const data = require("fs"); _fs = function () { return data; @@ -16,7 +16,7 @@ function _fs() { } function _gensync() { - const data = _interopRequireDefault(require("gensync")); + const data = require("gensync"); _gensync = function () { return data; @@ -25,29 +25,16 @@ function _gensync() { return data; } -function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } - -const readFile = (0, _gensync().default)({ - sync: _fs().default.readFileSync, - errback: _fs().default.readFile +const readFile = _gensync()({ + sync: _fs().readFileSync, + errback: _fs().readFile }); + exports.readFile = readFile; -const exists = (0, _gensync().default)({ - sync(path) { - try { - _fs().default.accessSync(path); - - return true; - } catch (_unused) { - return false; - } - }, - - errback: (path, cb) => _fs().default.access(path, undefined, err => cb(null, !err)) -}); -exports.exists = exists; -const stat = (0, _gensync().default)({ - sync: _fs().default.statSync, - errback: _fs().default.stat + +const stat = _gensync()({ + sync: _fs().statSync, + errback: _fs().stat }); + exports.stat = stat; \ No newline at end of file diff --git a/tools/node_modules/@babel/core/lib/index.js b/tools/node_modules/@babel/core/lib/index.js index ecd444e06d152f..44a70a4f4a3a4c 100644 --- a/tools/node_modules/@babel/core/lib/index.js +++ b/tools/node_modules/@babel/core/lib/index.js @@ -28,12 +28,6 @@ Object.defineProperty(exports, "resolvePreset", { return _files.resolvePreset; } }); -Object.defineProperty(exports, "version", { - enumerable: true, - get: function () { - return _package.version; - } -}); Object.defineProperty(exports, "getEnv", { enumerable: true, get: function () { @@ -61,7 +55,19 @@ Object.defineProperty(exports, "template", { Object.defineProperty(exports, "createConfigItem", { enumerable: true, get: function () { - return _item.createConfigItem; + return _config.createConfigItem; + } +}); +Object.defineProperty(exports, "createConfigItemSync", { + enumerable: true, + get: function () { + return _config.createConfigItemSync; + } +}); +Object.defineProperty(exports, "createConfigItemAsync", { + enumerable: true, + get: function () { + return _config.createConfigItemAsync; } }); Object.defineProperty(exports, "loadPartialConfig", { @@ -172,20 +178,18 @@ Object.defineProperty(exports, "parseAsync", { return _parse.parseAsync; } }); -exports.types = exports.OptionManager = exports.DEFAULT_EXTENSIONS = void 0; +exports.types = exports.OptionManager = exports.DEFAULT_EXTENSIONS = exports.version = void 0; -var _file = _interopRequireDefault(require("./transformation/file/file")); +var _file = require("./transformation/file/file"); -var _buildExternalHelpers = _interopRequireDefault(require("./tools/build-external-helpers")); +var _buildExternalHelpers = require("./tools/build-external-helpers"); var _files = require("./config/files"); -var _package = require("../package.json"); - var _environment = require("./config/helpers/environment"); function _types() { - const data = _interopRequireWildcard(require("@babel/types")); + const data = require("@babel/types"); _types = function () { return data; @@ -212,7 +216,7 @@ function _parser() { } function _traverse() { - const data = _interopRequireDefault(require("@babel/traverse")); + const data = require("@babel/traverse"); _traverse = function () { return data; @@ -222,7 +226,7 @@ function _traverse() { } function _template() { - const data = _interopRequireDefault(require("@babel/template")); + const data = require("@babel/template"); _template = function () { return data; @@ -231,8 +235,6 @@ function _template() { return data; } -var _item = require("./config/item"); - var _config = require("./config"); var _transform = require("./transform"); @@ -243,13 +245,9 @@ var _transformAst = require("./transform-ast"); var _parse = require("./parse"); -function _getRequireWildcardCache() { if (typeof WeakMap !== "function") return null; var cache = new WeakMap(); _getRequireWildcardCache = function () { return cache; }; return cache; } - -function _interopRequireWildcard(obj) { if (obj && obj.__esModule) { return obj; } if (obj === null || typeof obj !== "object" && typeof obj !== "function") { return { default: obj }; } var cache = _getRequireWildcardCache(); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj.default = obj; if (cache) { cache.set(obj, newObj); } return newObj; } - -function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } - -const DEFAULT_EXTENSIONS = Object.freeze([".js", ".jsx", ".es6", ".es", ".mjs"]); +const version = "7.14.6"; +exports.version = version; +const DEFAULT_EXTENSIONS = Object.freeze([".js", ".jsx", ".es6", ".es", ".mjs", ".cjs"]); exports.DEFAULT_EXTENSIONS = DEFAULT_EXTENSIONS; class OptionManager { diff --git a/tools/node_modules/@babel/core/lib/parse.js b/tools/node_modules/@babel/core/lib/parse.js index e6c2d26620c4c1..23516615e76261 100644 --- a/tools/node_modules/@babel/core/lib/parse.js +++ b/tools/node_modules/@babel/core/lib/parse.js @@ -6,7 +6,7 @@ Object.defineProperty(exports, "__esModule", { exports.parseAsync = exports.parseSync = exports.parse = void 0; function _gensync() { - const data = _interopRequireDefault(require("gensync")); + const data = require("gensync"); _gensync = function () { return data; @@ -15,15 +15,13 @@ function _gensync() { return data; } -var _config = _interopRequireDefault(require("./config")); +var _config = require("./config"); -var _parser = _interopRequireDefault(require("./parser")); +var _parser = require("./parser"); -var _normalizeOpts = _interopRequireDefault(require("./transformation/normalize-opts")); +var _normalizeOpts = require("./transformation/normalize-opts"); -function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } - -const parseRunner = (0, _gensync().default)(function* parse(code, opts) { +const parseRunner = _gensync()(function* parse(code, opts) { const config = yield* (0, _config.default)(opts); if (config === null) { diff --git a/tools/node_modules/@babel/core/lib/parser/index.js b/tools/node_modules/@babel/core/lib/parser/index.js index e8fcc7fe4ac4ff..254122a14c8009 100644 --- a/tools/node_modules/@babel/core/lib/parser/index.js +++ b/tools/node_modules/@babel/core/lib/parser/index.js @@ -25,9 +25,7 @@ function _codeFrame() { return data; } -var _missingPluginHelper = _interopRequireDefault(require("./util/missing-plugin-helper")); - -function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } +var _missingPluginHelper = require("./util/missing-plugin-helper"); function* parser(pluginPasses, { parserOpts, diff --git a/tools/node_modules/@babel/core/lib/parser/util/missing-plugin-helper.js b/tools/node_modules/@babel/core/lib/parser/util/missing-plugin-helper.js index 79897587a3b9e0..96d75777997cbc 100644 --- a/tools/node_modules/@babel/core/lib/parser/util/missing-plugin-helper.js +++ b/tools/node_modules/@babel/core/lib/parser/util/missing-plugin-helper.js @@ -5,6 +5,12 @@ Object.defineProperty(exports, "__esModule", { }); exports.default = generateMissingPluginMessage; const pluginNameMap = { + asyncDoExpressions: { + syntax: { + name: "@babel/plugin-syntax-async-do-expressions", + url: "https://git.io/JYer8" + } + }, classProperties: { syntax: { name: "@babel/plugin-syntax-class-properties", diff --git a/tools/node_modules/@babel/core/lib/tools/build-external-helpers.js b/tools/node_modules/@babel/core/lib/tools/build-external-helpers.js index f30372eaf04105..724653a6e74a54 100644 --- a/tools/node_modules/@babel/core/lib/tools/build-external-helpers.js +++ b/tools/node_modules/@babel/core/lib/tools/build-external-helpers.js @@ -6,7 +6,7 @@ Object.defineProperty(exports, "__esModule", { exports.default = _default; function helpers() { - const data = _interopRequireWildcard(require("@babel/helpers")); + const data = require("@babel/helpers"); helpers = function () { return data; @@ -16,7 +16,7 @@ function helpers() { } function _generator() { - const data = _interopRequireDefault(require("@babel/generator")); + const data = require("@babel/generator"); _generator = function () { return data; @@ -26,7 +26,7 @@ function _generator() { } function _template() { - const data = _interopRequireDefault(require("@babel/template")); + const data = require("@babel/template"); _template = function () { return data; @@ -36,7 +36,7 @@ function _template() { } function t() { - const data = _interopRequireWildcard(require("@babel/types")); + const data = require("@babel/types"); t = function () { return data; @@ -45,13 +45,7 @@ function t() { return data; } -var _file = _interopRequireDefault(require("../transformation/file/file")); - -function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } - -function _getRequireWildcardCache() { if (typeof WeakMap !== "function") return null; var cache = new WeakMap(); _getRequireWildcardCache = function () { return cache; }; return cache; } - -function _interopRequireWildcard(obj) { if (obj && obj.__esModule) { return obj; } if (obj === null || typeof obj !== "object" && typeof obj !== "function") { return { default: obj }; } var cache = _getRequireWildcardCache(); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj.default = obj; if (cache) { cache.set(obj, newObj); } return newObj; } +var _file = require("../transformation/file/file"); const buildUmdWrapper = replacements => (0, _template().default)` (function (root, factory) { diff --git a/tools/node_modules/@babel/core/lib/transform-ast.js b/tools/node_modules/@babel/core/lib/transform-ast.js index e43bf027874660..5b974e7f4e498c 100644 --- a/tools/node_modules/@babel/core/lib/transform-ast.js +++ b/tools/node_modules/@babel/core/lib/transform-ast.js @@ -6,7 +6,7 @@ Object.defineProperty(exports, "__esModule", { exports.transformFromAstAsync = exports.transformFromAstSync = exports.transformFromAst = void 0; function _gensync() { - const data = _interopRequireDefault(require("gensync")); + const data = require("gensync"); _gensync = function () { return data; @@ -15,13 +15,11 @@ function _gensync() { return data; } -var _config = _interopRequireDefault(require("./config")); +var _config = require("./config"); var _transformation = require("./transformation"); -function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } - -const transformFromAstRunner = (0, _gensync().default)(function* (ast, code, opts) { +const transformFromAstRunner = _gensync()(function* (ast, code, opts) { const config = yield* (0, _config.default)(opts); if (config === null) return null; if (!ast) throw new Error("No AST given"); diff --git a/tools/node_modules/@babel/core/lib/transform-file.js b/tools/node_modules/@babel/core/lib/transform-file.js index df376d78e3526e..fb978a59bbe03f 100644 --- a/tools/node_modules/@babel/core/lib/transform-file.js +++ b/tools/node_modules/@babel/core/lib/transform-file.js @@ -6,7 +6,7 @@ Object.defineProperty(exports, "__esModule", { exports.transformFileAsync = exports.transformFileSync = exports.transformFile = void 0; function _gensync() { - const data = _interopRequireDefault(require("gensync")); + const data = require("gensync"); _gensync = function () { return data; @@ -15,20 +15,15 @@ function _gensync() { return data; } -var _config = _interopRequireDefault(require("./config")); +var _config = require("./config"); var _transformation = require("./transformation"); -var fs = _interopRequireWildcard(require("./gensync-utils/fs")); - -function _getRequireWildcardCache() { if (typeof WeakMap !== "function") return null; var cache = new WeakMap(); _getRequireWildcardCache = function () { return cache; }; return cache; } - -function _interopRequireWildcard(obj) { if (obj && obj.__esModule) { return obj; } if (obj === null || typeof obj !== "object" && typeof obj !== "function") { return { default: obj }; } var cache = _getRequireWildcardCache(); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj.default = obj; if (cache) { cache.set(obj, newObj); } return newObj; } - -function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } +var fs = require("./gensync-utils/fs"); ({}); -const transformFileRunner = (0, _gensync().default)(function* (filename, opts) { + +const transformFileRunner = _gensync()(function* (filename, opts) { const options = Object.assign({}, opts, { filename }); @@ -37,6 +32,7 @@ const transformFileRunner = (0, _gensync().default)(function* (filename, opts) { const code = yield* fs.readFile(filename, "utf8"); return yield* (0, _transformation.run)(config, code); }); + const transformFile = transformFileRunner.errback; exports.transformFile = transformFile; const transformFileSync = transformFileRunner.sync; diff --git a/tools/node_modules/@babel/core/lib/transform.js b/tools/node_modules/@babel/core/lib/transform.js index 32d4de7830d4a4..cf7d21b0f215fb 100644 --- a/tools/node_modules/@babel/core/lib/transform.js +++ b/tools/node_modules/@babel/core/lib/transform.js @@ -6,7 +6,7 @@ Object.defineProperty(exports, "__esModule", { exports.transformAsync = exports.transformSync = exports.transform = void 0; function _gensync() { - const data = _interopRequireDefault(require("gensync")); + const data = require("gensync"); _gensync = function () { return data; @@ -15,13 +15,11 @@ function _gensync() { return data; } -var _config = _interopRequireDefault(require("./config")); +var _config = require("./config"); var _transformation = require("./transformation"); -function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } - -const transformRunner = (0, _gensync().default)(function* transform(code, opts) { +const transformRunner = _gensync()(function* transform(code, opts) { const config = yield* (0, _config.default)(opts); if (config === null) return null; return yield* (0, _transformation.run)(config, code); diff --git a/tools/node_modules/@babel/core/lib/transformation/block-hoist-plugin.js b/tools/node_modules/@babel/core/lib/transformation/block-hoist-plugin.js index 55eb06dfeb5228..a3b0b411aeb51c 100644 --- a/tools/node_modules/@babel/core/lib/transformation/block-hoist-plugin.js +++ b/tools/node_modules/@babel/core/lib/transformation/block-hoist-plugin.js @@ -5,37 +5,61 @@ Object.defineProperty(exports, "__esModule", { }); exports.default = loadBlockHoistPlugin; -function _sortBy() { - const data = _interopRequireDefault(require("lodash/sortBy")); +function _traverse() { + const data = require("@babel/traverse"); - _sortBy = function () { + _traverse = function () { return data; }; return data; } -var _config = _interopRequireDefault(require("../config")); - -function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } +var _plugin = require("../config/plugin"); let LOADED_PLUGIN; function loadBlockHoistPlugin() { if (!LOADED_PLUGIN) { - const config = _config.default.sync({ - babelrc: false, - configFile: false, - plugins: [blockHoistPlugin] - }); - - LOADED_PLUGIN = config ? config.passes[0][0] : undefined; - if (!LOADED_PLUGIN) throw new Error("Assertion failure"); + LOADED_PLUGIN = new _plugin.default(Object.assign({}, blockHoistPlugin, { + visitor: _traverse().default.explode(blockHoistPlugin.visitor) + }), {}); } return LOADED_PLUGIN; } +function priority(bodyNode) { + const priority = bodyNode == null ? void 0 : bodyNode._blockHoist; + if (priority == null) return 1; + if (priority === true) return 2; + return priority; +} + +function stableSort(body) { + const buckets = Object.create(null); + + for (let i = 0; i < body.length; i++) { + const n = body[i]; + const p = priority(n); + const bucket = buckets[p] || (buckets[p] = []); + bucket.push(n); + } + + const keys = Object.keys(buckets).map(k => +k).sort((a, b) => b - a); + let index = 0; + + for (const key of keys) { + const bucket = buckets[key]; + + for (const n of bucket) { + body[index++] = n; + } + } + + return body; +} + const blockHoistPlugin = { name: "internal.blockHoist", visitor: { @@ -43,24 +67,26 @@ const blockHoistPlugin = { exit({ node }) { + const { + body + } = node; + let max = Math.pow(2, 30) - 1; let hasChange = false; - for (let i = 0; i < node.body.length; i++) { - const bodyNode = node.body[i]; + for (let i = 0; i < body.length; i++) { + const n = body[i]; + const p = priority(n); - if ((bodyNode == null ? void 0 : bodyNode._blockHoist) != null) { + if (p > max) { hasChange = true; break; } + + max = p; } if (!hasChange) return; - node.body = (0, _sortBy().default)(node.body, function (bodyNode) { - let priority = bodyNode == null ? void 0 : bodyNode._blockHoist; - if (priority == null) priority = 1; - if (priority === true) priority = 2; - return -1 * priority; - }); + node.body = stableSort(body.slice()); } } diff --git a/tools/node_modules/@babel/core/lib/transformation/file/file.js b/tools/node_modules/@babel/core/lib/transformation/file/file.js index 83f636684d84e3..1a12c2f91503f1 100644 --- a/tools/node_modules/@babel/core/lib/transformation/file/file.js +++ b/tools/node_modules/@babel/core/lib/transformation/file/file.js @@ -6,7 +6,7 @@ Object.defineProperty(exports, "__esModule", { exports.default = void 0; function helpers() { - const data = _interopRequireWildcard(require("@babel/helpers")); + const data = require("@babel/helpers"); helpers = function () { return data; @@ -16,7 +16,7 @@ function helpers() { } function _traverse() { - const data = _interopRequireWildcard(require("@babel/traverse")); + const data = require("@babel/traverse"); _traverse = function () { return data; @@ -36,7 +36,7 @@ function _codeFrame() { } function t() { - const data = _interopRequireWildcard(require("@babel/types")); + const data = require("@babel/types"); t = function () { return data; @@ -56,7 +56,7 @@ function _helperModuleTransforms() { } function _semver() { - const data = _interopRequireDefault(require("semver")); + const data = require("semver"); _semver = function () { return data; @@ -65,12 +65,6 @@ function _semver() { return data; } -function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } - -function _getRequireWildcardCache() { if (typeof WeakMap !== "function") return null; var cache = new WeakMap(); _getRequireWildcardCache = function () { return cache; }; return cache; } - -function _interopRequireWildcard(obj) { if (obj && obj.__esModule) { return obj; } if (obj === null || typeof obj !== "object" && typeof obj !== "function") { return { default: obj }; } var cache = _getRequireWildcardCache(); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj.default = obj; if (cache) { cache.set(obj, newObj); } return newObj; } - const errorVisitor = { enter(path, state) { const loc = path.node.loc; @@ -169,8 +163,8 @@ class File { } if (typeof versionRange !== "string") return true; - if (_semver().default.valid(versionRange)) versionRange = `^${versionRange}`; - return !_semver().default.intersects(`<${minVersion}`, versionRange) && !_semver().default.intersects(`>=8.0.0`, versionRange); + if (_semver().valid(versionRange)) versionRange = `^${versionRange}`; + return !_semver().intersects(`<${minVersion}`, versionRange) && !_semver().intersects(`>=8.0.0`, versionRange); } addHelper(name) { @@ -215,7 +209,7 @@ class File { throw new Error("This function has been moved into the template literal transform itself."); } - buildCodeFrameError(node, msg, Error = SyntaxError) { + buildCodeFrameError(node, msg, _Error = SyntaxError) { let loc = node && (node.loc || node._loc); if (!loc && node) { @@ -247,7 +241,7 @@ class File { }); } - return new Error(msg); + return new _Error(msg); } } diff --git a/tools/node_modules/@babel/core/lib/transformation/file/generate.js b/tools/node_modules/@babel/core/lib/transformation/file/generate.js index 3301b56d247e9d..50250d80d7d3d3 100644 --- a/tools/node_modules/@babel/core/lib/transformation/file/generate.js +++ b/tools/node_modules/@babel/core/lib/transformation/file/generate.js @@ -6,7 +6,7 @@ Object.defineProperty(exports, "__esModule", { exports.default = generateCode; function _convertSourceMap() { - const data = _interopRequireDefault(require("convert-source-map")); + const data = require("convert-source-map"); _convertSourceMap = function () { return data; @@ -16,7 +16,7 @@ function _convertSourceMap() { } function _generator() { - const data = _interopRequireDefault(require("@babel/generator")); + const data = require("@babel/generator"); _generator = function () { return data; @@ -25,9 +25,7 @@ function _generator() { return data; } -var _mergeMap = _interopRequireDefault(require("./merge-map")); - -function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } +var _mergeMap = require("./merge-map"); function generateCode(pluginPasses, file) { const { @@ -75,7 +73,7 @@ function generateCode(pluginPasses, file) { } if (opts.sourceMaps === "inline" || opts.sourceMaps === "both") { - outputCode += "\n" + _convertSourceMap().default.fromObject(outputMap).toComment(); + outputCode += "\n" + _convertSourceMap().fromObject(outputMap).toComment(); } if (opts.sourceMaps === "inline") { diff --git a/tools/node_modules/@babel/core/lib/transformation/file/merge-map.js b/tools/node_modules/@babel/core/lib/transformation/file/merge-map.js index d49c994a289444..5cc789f8fd375c 100644 --- a/tools/node_modules/@babel/core/lib/transformation/file/merge-map.js +++ b/tools/node_modules/@babel/core/lib/transformation/file/merge-map.js @@ -6,7 +6,7 @@ Object.defineProperty(exports, "__esModule", { exports.default = mergeSourceMap; function _sourceMap() { - const data = _interopRequireDefault(require("source-map")); + const data = require("source-map"); _sourceMap = function () { return data; @@ -15,12 +15,10 @@ function _sourceMap() { return data; } -function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } - function mergeSourceMap(inputMap, map) { const input = buildMappingData(inputMap); const output = buildMappingData(map); - const mergedGenerator = new (_sourceMap().default.SourceMapGenerator)(); + const mergedGenerator = new (_sourceMap().SourceMapGenerator)(); for (const { source @@ -137,7 +135,7 @@ function eachInputGeneratedRange(map, callback) { } function buildMappingData(map) { - const consumer = new (_sourceMap().default.SourceMapConsumer)(Object.assign({}, map, { + const consumer = new (_sourceMap().SourceMapConsumer)(Object.assign({}, map, { sourceRoot: null })); const sources = new Map(); @@ -193,7 +191,7 @@ function buildMappingData(map) { columnEnd: item.lastColumn + 1 })) }); - }, null, _sourceMap().default.SourceMapConsumer.ORIGINAL_ORDER); + }, null, _sourceMap().SourceMapConsumer.ORIGINAL_ORDER); return { file: map.file, sourceRoot: map.sourceRoot, diff --git a/tools/node_modules/@babel/core/lib/transformation/index.js b/tools/node_modules/@babel/core/lib/transformation/index.js index bb35bbe0f1c63f..0ac432289b85c2 100644 --- a/tools/node_modules/@babel/core/lib/transformation/index.js +++ b/tools/node_modules/@babel/core/lib/transformation/index.js @@ -6,7 +6,7 @@ Object.defineProperty(exports, "__esModule", { exports.run = run; function _traverse() { - const data = _interopRequireDefault(require("@babel/traverse")); + const data = require("@babel/traverse"); _traverse = function () { return data; @@ -15,17 +15,15 @@ function _traverse() { return data; } -var _pluginPass = _interopRequireDefault(require("./plugin-pass")); +var _pluginPass = require("./plugin-pass"); -var _blockHoistPlugin = _interopRequireDefault(require("./block-hoist-plugin")); +var _blockHoistPlugin = require("./block-hoist-plugin"); -var _normalizeOpts = _interopRequireDefault(require("./normalize-opts")); +var _normalizeOpts = require("./normalize-opts"); -var _normalizeFile = _interopRequireDefault(require("./normalize-file")); +var _normalizeFile = require("./normalize-file"); -var _generate = _interopRequireDefault(require("./file/generate")); - -function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } +var _generate = require("./file/generate"); function* run(config, code, ast) { const file = yield* (0, _normalizeFile.default)(config.passes, (0, _normalizeOpts.default)(config), code, ast); diff --git a/tools/node_modules/@babel/core/lib/transformation/normalize-file.js b/tools/node_modules/@babel/core/lib/transformation/normalize-file.js index b6006bca787e46..813a7194d094b4 100644 --- a/tools/node_modules/@babel/core/lib/transformation/normalize-file.js +++ b/tools/node_modules/@babel/core/lib/transformation/normalize-file.js @@ -6,7 +6,7 @@ Object.defineProperty(exports, "__esModule", { exports.default = normalizeFile; function _fs() { - const data = _interopRequireDefault(require("fs")); + const data = require("fs"); _fs = function () { return data; @@ -16,7 +16,7 @@ function _fs() { } function _path() { - const data = _interopRequireDefault(require("path")); + const data = require("path"); _path = function () { return data; @@ -26,7 +26,7 @@ function _path() { } function _debug() { - const data = _interopRequireDefault(require("debug")); + const data = require("debug"); _debug = function () { return data; @@ -35,18 +35,8 @@ function _debug() { return data; } -function _cloneDeep() { - const data = _interopRequireDefault(require("lodash/cloneDeep")); - - _cloneDeep = function () { - return data; - }; - - return data; -} - function t() { - const data = _interopRequireWildcard(require("@babel/types")); + const data = require("@babel/types"); t = function () { return data; @@ -56,7 +46,7 @@ function t() { } function _convertSourceMap() { - const data = _interopRequireDefault(require("convert-source-map")); + const data = require("convert-source-map"); _convertSourceMap = function () { return data; @@ -65,17 +55,14 @@ function _convertSourceMap() { return data; } -var _file = _interopRequireDefault(require("./file/file")); +var _file = require("./file/file"); -var _parser = _interopRequireDefault(require("../parser")); +var _parser = require("../parser"); -function _getRequireWildcardCache() { if (typeof WeakMap !== "function") return null; var cache = new WeakMap(); _getRequireWildcardCache = function () { return cache; }; return cache; } +var _cloneDeep = require("./util/clone-deep"); -function _interopRequireWildcard(obj) { if (obj && obj.__esModule) { return obj; } if (obj === null || typeof obj !== "object" && typeof obj !== "function") { return { default: obj }; } var cache = _getRequireWildcardCache(); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj.default = obj; if (cache) { cache.set(obj, newObj); } return newObj; } +const debug = _debug()("babel:transform:file"); -function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } - -const debug = (0, _debug().default)("babel:transform:file"); const LARGE_INPUT_SOURCEMAP_THRESHOLD = 1000000; function* normalizeFile(pluginPasses, options, code, ast) { @@ -88,12 +75,8 @@ function* normalizeFile(pluginPasses, options, code, ast) { throw new Error("AST root must be a Program or File node"); } - const { - cloneInputAst - } = options; - - if (cloneInputAst) { - ast = (0, _cloneDeep().default)(ast); + if (options.cloneInputAst) { + ast = (0, _cloneDeep.default)(ast); } } else { ast = yield* (0, _parser.default)(pluginPasses, options, code); @@ -103,7 +86,7 @@ function* normalizeFile(pluginPasses, options, code, ast) { if (options.inputSourceMap !== false) { if (typeof options.inputSourceMap === "object") { - inputMap = _convertSourceMap().default.fromObject(options.inputSourceMap); + inputMap = _convertSourceMap().fromObject(options.inputSourceMap); } if (!inputMap) { @@ -111,7 +94,7 @@ function* normalizeFile(pluginPasses, options, code, ast) { if (lastComment) { try { - inputMap = _convertSourceMap().default.fromComment(lastComment); + inputMap = _convertSourceMap().fromComment(lastComment); } catch (err) { debug("discarding unknown inline input sourcemap", err); } @@ -125,12 +108,12 @@ function* normalizeFile(pluginPasses, options, code, ast) { try { const match = EXTERNAL_SOURCEMAP_REGEX.exec(lastComment); - const inputMapContent = _fs().default.readFileSync(_path().default.resolve(_path().default.dirname(options.filename), match[1])); + const inputMapContent = _fs().readFileSync(_path().resolve(_path().dirname(options.filename), match[1])); if (inputMapContent.length > LARGE_INPUT_SOURCEMAP_THRESHOLD) { debug("skip merging input map > 1 MB"); } else { - inputMap = _convertSourceMap().default.fromJSON(inputMapContent); + inputMap = _convertSourceMap().fromJSON(inputMapContent); } } catch (err) { debug("discarding unknown file input sourcemap", err); diff --git a/tools/node_modules/@babel/core/lib/transformation/normalize-opts.js b/tools/node_modules/@babel/core/lib/transformation/normalize-opts.js index 1465ad698a5523..6e2cb000ca85a7 100644 --- a/tools/node_modules/@babel/core/lib/transformation/normalize-opts.js +++ b/tools/node_modules/@babel/core/lib/transformation/normalize-opts.js @@ -6,7 +6,7 @@ Object.defineProperty(exports, "__esModule", { exports.default = normalizeOptions; function _path() { - const data = _interopRequireDefault(require("path")); + const data = require("path"); _path = function () { return data; @@ -15,26 +15,23 @@ function _path() { return data; } -function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } - function normalizeOptions(config) { const { filename, cwd, - filenameRelative = typeof filename === "string" ? _path().default.relative(cwd, filename) : "unknown", + filenameRelative = typeof filename === "string" ? _path().relative(cwd, filename) : "unknown", sourceType = "module", inputSourceMap, sourceMaps = !!inputSourceMap, - moduleRoot, - sourceRoot = moduleRoot, - sourceFileName = _path().default.basename(filenameRelative), + sourceRoot = config.options.moduleRoot, + sourceFileName = _path().basename(filenameRelative), comments = true, compact = "auto" } = config.options; const opts = config.options; const options = Object.assign({}, opts, { parserOpts: Object.assign({ - sourceType: _path().default.extname(filenameRelative) === ".mjs" ? "module" : sourceType, + sourceType: _path().extname(filenameRelative) === ".mjs" ? "module" : sourceType, sourceFileName: filename, plugins: [] }, opts.parserOpts), diff --git a/tools/node_modules/@babel/core/lib/transformation/plugin-pass.js b/tools/node_modules/@babel/core/lib/transformation/plugin-pass.js index ea2efdfefcfbdd..920558a051a914 100644 --- a/tools/node_modules/@babel/core/lib/transformation/plugin-pass.js +++ b/tools/node_modules/@babel/core/lib/transformation/plugin-pass.js @@ -40,14 +40,15 @@ class PluginPass { return this.file.addImport(); } - getModuleName() { - return this.file.getModuleName(); - } - - buildCodeFrameError(node, msg, Error) { - return this.file.buildCodeFrameError(node, msg, Error); + buildCodeFrameError(node, msg, _Error) { + return this.file.buildCodeFrameError(node, msg, _Error); } } -exports.default = PluginPass; \ No newline at end of file +exports.default = PluginPass; +{ + PluginPass.prototype.getModuleName = function getModuleName() { + return this.file.getModuleName(); + }; +} \ No newline at end of file diff --git a/tools/node_modules/@babel/core/lib/transformation/util/clone-deep-browser.js b/tools/node_modules/@babel/core/lib/transformation/util/clone-deep-browser.js new file mode 100644 index 00000000000000..a42de824d8995c --- /dev/null +++ b/tools/node_modules/@babel/core/lib/transformation/util/clone-deep-browser.js @@ -0,0 +1,25 @@ +"use strict"; + +Object.defineProperty(exports, "__esModule", { + value: true +}); +exports.default = _default; +const serialized = "$$ babel internal serialized type" + Math.random(); + +function serialize(key, value) { + if (typeof value !== "bigint") return value; + return { + [serialized]: "BigInt", + value: value.toString() + }; +} + +function revive(key, value) { + if (!value || typeof value !== "object") return value; + if (value[serialized] !== "BigInt") return value; + return BigInt(value.value); +} + +function _default(value) { + return JSON.parse(JSON.stringify(value, serialize), revive); +} \ No newline at end of file diff --git a/tools/node_modules/@babel/core/lib/transformation/util/clone-deep.js b/tools/node_modules/@babel/core/lib/transformation/util/clone-deep.js new file mode 100644 index 00000000000000..35fbd093ebaa1c --- /dev/null +++ b/tools/node_modules/@babel/core/lib/transformation/util/clone-deep.js @@ -0,0 +1,26 @@ +"use strict"; + +Object.defineProperty(exports, "__esModule", { + value: true +}); +exports.default = _default; + +function _v() { + const data = require("v8"); + + _v = function () { + return data; + }; + + return data; +} + +var _cloneDeepBrowser = require("./clone-deep-browser"); + +function _default(value) { + if (_v().deserialize && _v().serialize) { + return _v().deserialize(_v().serialize(value)); + } + + return (0, _cloneDeepBrowser.default)(value); +} \ No newline at end of file diff --git a/tools/node_modules/@babel/core/node_modules/@babel/code-frame/lib/index.js b/tools/node_modules/@babel/core/node_modules/@babel/code-frame/lib/index.js index 28d86f7bc1cc8a..a32a1e1f392263 100644 --- a/tools/node_modules/@babel/core/node_modules/@babel/code-frame/lib/index.js +++ b/tools/node_modules/@babel/core/node_modules/@babel/code-frame/lib/index.js @@ -6,11 +6,7 @@ Object.defineProperty(exports, "__esModule", { exports.codeFrameColumns = codeFrameColumns; exports.default = _default; -var _highlight = _interopRequireWildcard(require("@babel/highlight")); - -function _getRequireWildcardCache() { if (typeof WeakMap !== "function") return null; var cache = new WeakMap(); _getRequireWildcardCache = function () { return cache; }; return cache; } - -function _interopRequireWildcard(obj) { if (obj && obj.__esModule) { return obj; } if (obj === null || typeof obj !== "object" && typeof obj !== "function") { return { default: obj }; } var cache = _getRequireWildcardCache(); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj.default = obj; if (cache) { cache.set(obj, newObj); } return newObj; } +var _highlight = require("@babel/highlight"); let deprecationWarningShown = false; @@ -108,7 +104,7 @@ function codeFrameColumns(rawLines, loc, opts = {}) { let frame = highlightedLines.split(NEWLINE).slice(start, end).map((line, index) => { const number = start + 1 + index; const paddedNumber = ` ${number}`.slice(-numberMaxWidth); - const gutter = ` ${paddedNumber} | `; + const gutter = ` ${paddedNumber} |`; const hasMarker = markerLines[number]; const lastMarkerLine = !markerLines[number + 1]; @@ -118,16 +114,16 @@ function codeFrameColumns(rawLines, loc, opts = {}) { if (Array.isArray(hasMarker)) { const markerSpacing = line.slice(0, Math.max(hasMarker[0] - 1, 0)).replace(/[^\t]/g, " "); const numberOfMarkers = hasMarker[1] || 1; - markerLine = ["\n ", maybeHighlight(defs.gutter, gutter.replace(/\d/g, " ")), markerSpacing, maybeHighlight(defs.marker, "^").repeat(numberOfMarkers)].join(""); + markerLine = ["\n ", maybeHighlight(defs.gutter, gutter.replace(/\d/g, " ")), " ", markerSpacing, maybeHighlight(defs.marker, "^").repeat(numberOfMarkers)].join(""); if (lastMarkerLine && opts.message) { markerLine += " " + maybeHighlight(defs.message, opts.message); } } - return [maybeHighlight(defs.marker, ">"), maybeHighlight(defs.gutter, gutter), line, markerLine].join(""); + return [maybeHighlight(defs.marker, ">"), maybeHighlight(defs.gutter, gutter), line.length > 0 ? ` ${line}` : "", markerLine].join(""); } else { - return ` ${maybeHighlight(defs.gutter, gutter)}${line}`; + return ` ${maybeHighlight(defs.gutter, gutter)}${line.length > 0 ? ` ${line}` : ""}`; } }).join("\n"); diff --git a/tools/node_modules/@babel/core/node_modules/@babel/code-frame/package.json b/tools/node_modules/@babel/core/node_modules/@babel/code-frame/package.json index 07a28a6bda4ec3..25f803d24f87f0 100644 --- a/tools/node_modules/@babel/core/node_modules/@babel/code-frame/package.json +++ b/tools/node_modules/@babel/core/node_modules/@babel/code-frame/package.json @@ -1,9 +1,10 @@ { "name": "@babel/code-frame", - "version": "7.12.11", + "version": "7.14.5", "description": "Generate errors that contain a code frame that point to source locations.", - "author": "Sebastian McKenzie ", - "homepage": "https://babeljs.io/", + "author": "The Babel Team (https://babel.dev/team)", + "homepage": "https://babel.dev/docs/en/next/babel-code-frame", + "bugs": "https://github.com/babel/babel/issues?utf8=%E2%9C%93&q=is%3Aissue+is%3Aopen", "license": "MIT", "publishConfig": { "access": "public" @@ -13,13 +14,16 @@ "url": "https://github.com/babel/babel.git", "directory": "packages/babel-code-frame" }, - "main": "lib/index.js", + "main": "./lib/index.js", "dependencies": { - "@babel/highlight": "^7.10.4" + "@babel/highlight": "^7.14.5" }, "devDependencies": { "@types/chalk": "^2.0.0", "chalk": "^2.0.0", "strip-ansi": "^4.0.0" + }, + "engines": { + "node": ">=6.9.0" } } \ No newline at end of file diff --git a/tools/node_modules/@babel/core/node_modules/lodash/LICENSE b/tools/node_modules/@babel/core/node_modules/@babel/compat-data/LICENSE similarity index 52% rename from tools/node_modules/@babel/core/node_modules/lodash/LICENSE rename to tools/node_modules/@babel/core/node_modules/@babel/compat-data/LICENSE index 77c42f1408a38a..f31575ec773bb1 100644 --- a/tools/node_modules/@babel/core/node_modules/lodash/LICENSE +++ b/tools/node_modules/@babel/core/node_modules/@babel/compat-data/LICENSE @@ -1,16 +1,6 @@ -Copyright OpenJS Foundation and other contributors +MIT License -Based on Underscore.js, copyright Jeremy Ashkenas, -DocumentCloud and Investigative Reporters & Editors - -This software consists of voluntary contributions made by many -individuals. For exact contribution history, see the revision history -available at https://github.com/lodash/lodash - -The following license applies to all parts of this software except as -documented below: - -==== +Copyright (c) 2014-present Sebastian McKenzie and other contributors Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the @@ -30,18 +20,3 @@ NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. - -==== - -Copyright and related rights for sample code are waived via CC0. Sample -code is defined as all source code displayed within the prose of the -documentation. - -CC0: http://creativecommons.org/publicdomain/zero/1.0/ - -==== - -Files located in the node_modules and vendor directories are externally -maintained libraries used by this software which have their own -licenses; we recommend you read them, as their terms may differ from the -terms above. diff --git a/tools/node_modules/@babel/core/node_modules/@babel/compat-data/corejs2-built-ins.js b/tools/node_modules/@babel/core/node_modules/@babel/compat-data/corejs2-built-ins.js new file mode 100644 index 00000000000000..68ce97ff8358f0 --- /dev/null +++ b/tools/node_modules/@babel/core/node_modules/@babel/compat-data/corejs2-built-ins.js @@ -0,0 +1 @@ +module.exports = require("./data/corejs2-built-ins.json"); diff --git a/tools/node_modules/@babel/core/node_modules/@babel/compat-data/corejs3-shipped-proposals.js b/tools/node_modules/@babel/core/node_modules/@babel/compat-data/corejs3-shipped-proposals.js new file mode 100644 index 00000000000000..6a85b4d974acd4 --- /dev/null +++ b/tools/node_modules/@babel/core/node_modules/@babel/compat-data/corejs3-shipped-proposals.js @@ -0,0 +1 @@ +module.exports = require("./data/corejs3-shipped-proposals.json"); diff --git a/tools/node_modules/@babel/core/node_modules/@babel/compat-data/data/corejs2-built-ins.json b/tools/node_modules/@babel/core/node_modules/@babel/compat-data/data/corejs2-built-ins.json new file mode 100644 index 00000000000000..9739da06e2add5 --- /dev/null +++ b/tools/node_modules/@babel/core/node_modules/@babel/compat-data/data/corejs2-built-ins.json @@ -0,0 +1,1695 @@ +{ + "es6.array.copy-within": { + "chrome": "45", + "opera": "32", + "edge": "12", + "firefox": "32", + "safari": "9", + "node": "4", + "ios": "9", + "samsung": "5", + "electron": "0.31" + }, + "es6.array.every": { + "chrome": "5", + "opera": "10.10", + "edge": "12", + "firefox": "2", + "safari": "3.1", + "node": "0.10", + "ie": "9", + "android": "4", + "ios": "6", + "phantom": "2", + "samsung": "1", + "electron": "0.20" + }, + "es6.array.fill": { + "chrome": "45", + "opera": "32", + "edge": "12", + "firefox": "31", + "safari": "7.1", + "node": "4", + "ios": "8", + "samsung": "5", + "electron": "0.31" + }, + "es6.array.filter": { + "chrome": "51", + "opera": "38", + "edge": "13", + "firefox": "48", + "safari": "10", + "node": "6.5", + "ios": "10", + "samsung": "5", + "electron": "1.2" + }, + "es6.array.find": { + "chrome": "45", + "opera": "32", + "edge": "12", + "firefox": "25", + "safari": "7.1", + "node": "4", + "ios": "8", + "samsung": "5", + "electron": "0.31" + }, + "es6.array.find-index": { + "chrome": "45", + "opera": "32", + "edge": "12", + "firefox": "25", + "safari": "7.1", + "node": "4", + "ios": "8", + "samsung": "5", + "electron": "0.31" + }, + "es7.array.flat-map": { + "chrome": "69", + "opera": "56", + "edge": "79", + "firefox": "62", + "safari": "12", + "node": "11", + "ios": "12", + "samsung": "10", + "electron": "4.0" + }, + "es6.array.for-each": { + "chrome": "5", + "opera": "10.10", + "edge": "12", + "firefox": "2", + "safari": "3.1", + "node": "0.10", + "ie": "9", + "android": "4", + "ios": "6", + "phantom": "2", + "samsung": "1", + "electron": "0.20" + }, + "es6.array.from": { + "chrome": "51", + "opera": "38", + "edge": "15", + "firefox": "36", + "safari": "10", + "node": "6.5", + "ios": "10", + "samsung": "5", + "electron": "1.2" + }, + "es7.array.includes": { + "chrome": "47", + "opera": "34", + "edge": "14", + "firefox": "43", + "safari": "10", + "node": "6", + "ios": "10", + "samsung": "5", + "electron": "0.36" + }, + "es6.array.index-of": { + "chrome": "5", + "opera": "10.10", + "edge": "12", + "firefox": "2", + "safari": "3.1", + "node": "0.10", + "ie": "9", + "android": "4", + "ios": "6", + "phantom": "2", + "samsung": "1", + "electron": "0.20" + }, + "es6.array.is-array": { + "chrome": "5", + "opera": "10.50", + "edge": "12", + "firefox": "4", + "safari": "4", + "node": "0.10", + "ie": "9", + "android": "4", + "ios": "6", + "phantom": "2", + "samsung": "1", + "electron": "0.20" + }, + "es6.array.iterator": { + "chrome": "66", + "opera": "53", + "edge": "12", + "firefox": "60", + "safari": "9", + "node": "10", + "ios": "9", + "samsung": "9", + "electron": "3.0" + }, + "es6.array.last-index-of": { + "chrome": "5", + "opera": "10.10", + "edge": "12", + "firefox": "2", + "safari": "3.1", + "node": "0.10", + "ie": "9", + "android": "4", + "ios": "6", + "phantom": "2", + "samsung": "1", + "electron": "0.20" + }, + "es6.array.map": { + "chrome": "51", + "opera": "38", + "edge": "13", + "firefox": "48", + "safari": "10", + "node": "6.5", + "ios": "10", + "samsung": "5", + "electron": "1.2" + }, + "es6.array.of": { + "chrome": "45", + "opera": "32", + "edge": "12", + "firefox": "25", + "safari": "9", + "node": "4", + "ios": "9", + "samsung": "5", + "electron": "0.31" + }, + "es6.array.reduce": { + "chrome": "5", + "opera": "10.50", + "edge": "12", + "firefox": "3", + "safari": "4", + "node": "0.10", + "ie": "9", + "android": "4", + "ios": "6", + "phantom": "2", + "samsung": "1", + "electron": "0.20" + }, + "es6.array.reduce-right": { + "chrome": "5", + "opera": "10.50", + "edge": "12", + "firefox": "3", + "safari": "4", + "node": "0.10", + "ie": "9", + "android": "4", + "ios": "6", + "phantom": "2", + "samsung": "1", + "electron": "0.20" + }, + "es6.array.slice": { + "chrome": "51", + "opera": "38", + "edge": "13", + "firefox": "48", + "safari": "10", + "node": "6.5", + "ios": "10", + "samsung": "5", + "electron": "1.2" + }, + "es6.array.some": { + "chrome": "5", + "opera": "10.10", + "edge": "12", + "firefox": "2", + "safari": "3.1", + "node": "0.10", + "ie": "9", + "android": "4", + "ios": "6", + "phantom": "2", + "samsung": "1", + "electron": "0.20" + }, + "es6.array.sort": { + "chrome": "63", + "opera": "50", + "edge": "12", + "firefox": "5", + "safari": "12", + "node": "10", + "ie": "9", + "ios": "12", + "samsung": "8", + "electron": "3.0" + }, + "es6.array.species": { + "chrome": "51", + "opera": "38", + "edge": "13", + "firefox": "48", + "safari": "10", + "node": "6.5", + "ios": "10", + "samsung": "5", + "electron": "1.2" + }, + "es6.date.now": { + "chrome": "5", + "opera": "10.50", + "edge": "12", + "firefox": "2", + "safari": "4", + "node": "0.10", + "ie": "9", + "android": "4", + "ios": "6", + "phantom": "2", + "samsung": "1", + "electron": "0.20" + }, + "es6.date.to-iso-string": { + "chrome": "5", + "opera": "10.50", + "edge": "12", + "firefox": "3.5", + "safari": "4", + "node": "0.10", + "ie": "9", + "android": "4", + "ios": "6", + "phantom": "2", + "samsung": "1", + "electron": "0.20" + }, + "es6.date.to-json": { + "chrome": "5", + "opera": "12.10", + "edge": "12", + "firefox": "4", + "safari": "10", + "node": "0.10", + "ie": "9", + "android": "4", + "ios": "10", + "samsung": "1", + "electron": "0.20" + }, + "es6.date.to-primitive": { + "chrome": "47", + "opera": "34", + "edge": "15", + "firefox": "44", + "safari": "10", + "node": "6", + "ios": "10", + "samsung": "5", + "electron": "0.36" + }, + "es6.date.to-string": { + "chrome": "5", + "opera": "10.50", + "edge": "12", + "firefox": "2", + "safari": "3.1", + "node": "0.10", + "ie": "10", + "android": "4", + "ios": "6", + "phantom": "2", + "samsung": "1", + "electron": "0.20" + }, + "es6.function.bind": { + "chrome": "7", + "opera": "12", + "edge": "12", + "firefox": "4", + "safari": "5.1", + "node": "0.10", + "ie": "9", + "android": "4", + "ios": "6", + "phantom": "2", + "samsung": "1", + "electron": "0.20" + }, + "es6.function.has-instance": { + "chrome": "51", + "opera": "38", + "edge": "15", + "firefox": "50", + "safari": "10", + "node": "6.5", + "ios": "10", + "samsung": "5", + "electron": "1.2" + }, + "es6.function.name": { + "chrome": "5", + "opera": "10.50", + "edge": "14", + "firefox": "2", + "safari": "4", + "node": "0.10", + "android": "4", + "ios": "6", + "phantom": "2", + "samsung": "1", + "electron": "0.20" + }, + "es6.map": { + "chrome": "51", + "opera": "38", + "edge": "15", + "firefox": "53", + "safari": "10", + "node": "6.5", + "ios": "10", + "samsung": "5", + "electron": "1.2" + }, + "es6.math.acosh": { + "chrome": "38", + "opera": "25", + "edge": "12", + "firefox": "25", + "safari": "7.1", + "node": "0.12", + "ios": "8", + "samsung": "3", + "electron": "0.20" + }, + "es6.math.asinh": { + "chrome": "38", + "opera": "25", + "edge": "12", + "firefox": "25", + "safari": "7.1", + "node": "0.12", + "ios": "8", + "samsung": "3", + "electron": "0.20" + }, + "es6.math.atanh": { + "chrome": "38", + "opera": "25", + "edge": "12", + "firefox": "25", + "safari": "7.1", + "node": "0.12", + "ios": "8", + "samsung": "3", + "electron": "0.20" + }, + "es6.math.cbrt": { + "chrome": "38", + "opera": "25", + "edge": "12", + "firefox": "25", + "safari": "7.1", + "node": "0.12", + "ios": "8", + "samsung": "3", + "electron": "0.20" + }, + "es6.math.clz32": { + "chrome": "38", + "opera": "25", + "edge": "12", + "firefox": "31", + "safari": "9", + "node": "0.12", + "ios": "9", + "samsung": "3", + "electron": "0.20" + }, + "es6.math.cosh": { + "chrome": "38", + "opera": "25", + "edge": "12", + "firefox": "25", + "safari": "7.1", + "node": "0.12", + "ios": "8", + "samsung": "3", + "electron": "0.20" + }, + "es6.math.expm1": { + "chrome": "38", + "opera": "25", + "edge": "12", + "firefox": "25", + "safari": "7.1", + "node": "0.12", + "ios": "8", + "samsung": "3", + "electron": "0.20" + }, + "es6.math.fround": { + "chrome": "38", + "opera": "25", + "edge": "12", + "firefox": "26", + "safari": "7.1", + "node": "0.12", + "ios": "8", + "samsung": "3", + "electron": "0.20" + }, + "es6.math.hypot": { + "chrome": "38", + "opera": "25", + "edge": "12", + "firefox": "27", + "safari": "7.1", + "node": "0.12", + "ios": "8", + "samsung": "3", + "electron": "0.20" + }, + "es6.math.imul": { + "chrome": "30", + "opera": "17", + "edge": "12", + "firefox": "23", + "safari": "7", + "node": "0.12", + "android": "4.4", + "ios": "7", + "samsung": "2", + "electron": "0.20" + }, + "es6.math.log1p": { + "chrome": "38", + "opera": "25", + "edge": "12", + "firefox": "25", + "safari": "7.1", + "node": "0.12", + "ios": "8", + "samsung": "3", + "electron": "0.20" + }, + "es6.math.log10": { + "chrome": "38", + "opera": "25", + "edge": "12", + "firefox": "25", + "safari": "7.1", + "node": "0.12", + "ios": "8", + "samsung": "3", + "electron": "0.20" + }, + "es6.math.log2": { + "chrome": "38", + "opera": "25", + "edge": "12", + "firefox": "25", + "safari": "7.1", + "node": "0.12", + "ios": "8", + "samsung": "3", + "electron": "0.20" + }, + "es6.math.sign": { + "chrome": "38", + "opera": "25", + "edge": "12", + "firefox": "25", + "safari": "9", + "node": "0.12", + "ios": "9", + "samsung": "3", + "electron": "0.20" + }, + "es6.math.sinh": { + "chrome": "38", + "opera": "25", + "edge": "12", + "firefox": "25", + "safari": "7.1", + "node": "0.12", + "ios": "8", + "samsung": "3", + "electron": "0.20" + }, + "es6.math.tanh": { + "chrome": "38", + "opera": "25", + "edge": "12", + "firefox": "25", + "safari": "7.1", + "node": "0.12", + "ios": "8", + "samsung": "3", + "electron": "0.20" + }, + "es6.math.trunc": { + "chrome": "38", + "opera": "25", + "edge": "12", + "firefox": "25", + "safari": "7.1", + "node": "0.12", + "ios": "8", + "samsung": "3", + "electron": "0.20" + }, + "es6.number.constructor": { + "chrome": "41", + "opera": "28", + "edge": "12", + "firefox": "36", + "safari": "9", + "node": "4", + "ios": "9", + "samsung": "3.4", + "electron": "0.21" + }, + "es6.number.epsilon": { + "chrome": "34", + "opera": "21", + "edge": "12", + "firefox": "25", + "safari": "9", + "node": "0.12", + "ios": "9", + "samsung": "2", + "electron": "0.20" + }, + "es6.number.is-finite": { + "chrome": "19", + "opera": "15", + "edge": "12", + "firefox": "16", + "safari": "9", + "node": "0.12", + "android": "4.1", + "ios": "9", + "samsung": "1.5", + "electron": "0.20" + }, + "es6.number.is-integer": { + "chrome": "34", + "opera": "21", + "edge": "12", + "firefox": "16", + "safari": "9", + "node": "0.12", + "ios": "9", + "samsung": "2", + "electron": "0.20" + }, + "es6.number.is-nan": { + "chrome": "19", + "opera": "15", + "edge": "12", + "firefox": "15", + "safari": "9", + "node": "0.12", + "android": "4.1", + "ios": "9", + "samsung": "1.5", + "electron": "0.20" + }, + "es6.number.is-safe-integer": { + "chrome": "34", + "opera": "21", + "edge": "12", + "firefox": "32", + "safari": "9", + "node": "0.12", + "ios": "9", + "samsung": "2", + "electron": "0.20" + }, + "es6.number.max-safe-integer": { + "chrome": "34", + "opera": "21", + "edge": "12", + "firefox": "31", + "safari": "9", + "node": "0.12", + "ios": "9", + "samsung": "2", + "electron": "0.20" + }, + "es6.number.min-safe-integer": { + "chrome": "34", + "opera": "21", + "edge": "12", + "firefox": "31", + "safari": "9", + "node": "0.12", + "ios": "9", + "samsung": "2", + "electron": "0.20" + }, + "es6.number.parse-float": { + "chrome": "34", + "opera": "21", + "edge": "12", + "firefox": "25", + "safari": "9", + "node": "0.12", + "ios": "9", + "samsung": "2", + "electron": "0.20" + }, + "es6.number.parse-int": { + "chrome": "34", + "opera": "21", + "edge": "12", + "firefox": "25", + "safari": "9", + "node": "0.12", + "ios": "9", + "samsung": "2", + "electron": "0.20" + }, + "es6.object.assign": { + "chrome": "49", + "opera": "36", + "edge": "13", + "firefox": "36", + "safari": "10", + "node": "6", + "ios": "10", + "samsung": "5", + "electron": "0.37" + }, + "es6.object.create": { + "chrome": "5", + "opera": "12", + "edge": "12", + "firefox": "4", + "safari": "4", + "node": "0.10", + "ie": "9", + "android": "4", + "ios": "6", + "phantom": "2", + "samsung": "1", + "electron": "0.20" + }, + "es7.object.define-getter": { + "chrome": "62", + "opera": "49", + "edge": "16", + "firefox": "48", + "safari": "9", + "node": "8.10", + "ios": "9", + "samsung": "8", + "electron": "3.0" + }, + "es7.object.define-setter": { + "chrome": "62", + "opera": "49", + "edge": "16", + "firefox": "48", + "safari": "9", + "node": "8.10", + "ios": "9", + "samsung": "8", + "electron": "3.0" + }, + "es6.object.define-property": { + "chrome": "5", + "opera": "12", + "edge": "12", + "firefox": "4", + "safari": "5.1", + "node": "0.10", + "ie": "9", + "android": "4", + "ios": "6", + "phantom": "2", + "samsung": "1", + "electron": "0.20" + }, + "es6.object.define-properties": { + "chrome": "5", + "opera": "12", + "edge": "12", + "firefox": "4", + "safari": "4", + "node": "0.10", + "ie": "9", + "android": "4", + "ios": "6", + "phantom": "2", + "samsung": "1", + "electron": "0.20" + }, + "es7.object.entries": { + "chrome": "54", + "opera": "41", + "edge": "14", + "firefox": "47", + "safari": "10.1", + "node": "7", + "ios": "10.3", + "samsung": "6", + "electron": "1.4" + }, + "es6.object.freeze": { + "chrome": "44", + "opera": "31", + "edge": "12", + "firefox": "35", + "safari": "9", + "node": "4", + "ios": "9", + "samsung": "4", + "electron": "0.30" + }, + "es6.object.get-own-property-descriptor": { + "chrome": "44", + "opera": "31", + "edge": "12", + "firefox": "35", + "safari": "9", + "node": "4", + "ios": "9", + "samsung": "4", + "electron": "0.30" + }, + "es7.object.get-own-property-descriptors": { + "chrome": "54", + "opera": "41", + "edge": "15", + "firefox": "50", + "safari": "10.1", + "node": "7", + "ios": "10.3", + "samsung": "6", + "electron": "1.4" + }, + "es6.object.get-own-property-names": { + "chrome": "40", + "opera": "27", + "edge": "12", + "firefox": "33", + "safari": "9", + "node": "4", + "ios": "9", + "samsung": "3.4", + "electron": "0.21" + }, + "es6.object.get-prototype-of": { + "chrome": "44", + "opera": "31", + "edge": "12", + "firefox": "35", + "safari": "9", + "node": "4", + "ios": "9", + "samsung": "4", + "electron": "0.30" + }, + "es7.object.lookup-getter": { + "chrome": "62", + "opera": "49", + "edge": "79", + "firefox": "36", + "safari": "9", + "node": "8.10", + "ios": "9", + "samsung": "8", + "electron": "3.0" + }, + "es7.object.lookup-setter": { + "chrome": "62", + "opera": "49", + "edge": "79", + "firefox": "36", + "safari": "9", + "node": "8.10", + "ios": "9", + "samsung": "8", + "electron": "3.0" + }, + "es6.object.prevent-extensions": { + "chrome": "44", + "opera": "31", + "edge": "12", + "firefox": "35", + "safari": "9", + "node": "4", + "ios": "9", + "samsung": "4", + "electron": "0.30" + }, + "es6.object.to-string": { + "chrome": "57", + "opera": "44", + "edge": "15", + "firefox": "51", + "safari": "10", + "node": "8", + "ios": "10", + "samsung": "7", + "electron": "1.7" + }, + "es6.object.is": { + "chrome": "19", + "opera": "15", + "edge": "12", + "firefox": "22", + "safari": "9", + "node": "0.12", + "android": "4.1", + "ios": "9", + "samsung": "1.5", + "electron": "0.20" + }, + "es6.object.is-frozen": { + "chrome": "44", + "opera": "31", + "edge": "12", + "firefox": "35", + "safari": "9", + "node": "4", + "ios": "9", + "samsung": "4", + "electron": "0.30" + }, + "es6.object.is-sealed": { + "chrome": "44", + "opera": "31", + "edge": "12", + "firefox": "35", + "safari": "9", + "node": "4", + "ios": "9", + "samsung": "4", + "electron": "0.30" + }, + "es6.object.is-extensible": { + "chrome": "44", + "opera": "31", + "edge": "12", + "firefox": "35", + "safari": "9", + "node": "4", + "ios": "9", + "samsung": "4", + "electron": "0.30" + }, + "es6.object.keys": { + "chrome": "40", + "opera": "27", + "edge": "12", + "firefox": "35", + "safari": "9", + "node": "4", + "ios": "9", + "samsung": "3.4", + "electron": "0.21" + }, + "es6.object.seal": { + "chrome": "44", + "opera": "31", + "edge": "12", + "firefox": "35", + "safari": "9", + "node": "4", + "ios": "9", + "samsung": "4", + "electron": "0.30" + }, + "es6.object.set-prototype-of": { + "chrome": "34", + "opera": "21", + "edge": "12", + "firefox": "31", + "safari": "9", + "node": "0.12", + "ie": "11", + "ios": "9", + "samsung": "2", + "electron": "0.20" + }, + "es7.object.values": { + "chrome": "54", + "opera": "41", + "edge": "14", + "firefox": "47", + "safari": "10.1", + "node": "7", + "ios": "10.3", + "samsung": "6", + "electron": "1.4" + }, + "es6.promise": { + "chrome": "51", + "opera": "38", + "edge": "14", + "firefox": "45", + "safari": "10", + "node": "6.5", + "ios": "10", + "samsung": "5", + "electron": "1.2" + }, + "es7.promise.finally": { + "chrome": "63", + "opera": "50", + "edge": "18", + "firefox": "58", + "safari": "11.1", + "node": "10", + "ios": "11.3", + "samsung": "8", + "electron": "3.0" + }, + "es6.reflect.apply": { + "chrome": "49", + "opera": "36", + "edge": "12", + "firefox": "42", + "safari": "10", + "node": "6", + "ios": "10", + "samsung": "5", + "electron": "0.37" + }, + "es6.reflect.construct": { + "chrome": "49", + "opera": "36", + "edge": "13", + "firefox": "49", + "safari": "10", + "node": "6", + "ios": "10", + "samsung": "5", + "electron": "0.37" + }, + "es6.reflect.define-property": { + "chrome": "49", + "opera": "36", + "edge": "13", + "firefox": "42", + "safari": "10", + "node": "6", + "ios": "10", + "samsung": "5", + "electron": "0.37" + }, + "es6.reflect.delete-property": { + "chrome": "49", + "opera": "36", + "edge": "12", + "firefox": "42", + "safari": "10", + "node": "6", + "ios": "10", + "samsung": "5", + "electron": "0.37" + }, + "es6.reflect.get": { + "chrome": "49", + "opera": "36", + "edge": "12", + "firefox": "42", + "safari": "10", + "node": "6", + "ios": "10", + "samsung": "5", + "electron": "0.37" + }, + "es6.reflect.get-own-property-descriptor": { + "chrome": "49", + "opera": "36", + "edge": "12", + "firefox": "42", + "safari": "10", + "node": "6", + "ios": "10", + "samsung": "5", + "electron": "0.37" + }, + "es6.reflect.get-prototype-of": { + "chrome": "49", + "opera": "36", + "edge": "12", + "firefox": "42", + "safari": "10", + "node": "6", + "ios": "10", + "samsung": "5", + "electron": "0.37" + }, + "es6.reflect.has": { + "chrome": "49", + "opera": "36", + "edge": "12", + "firefox": "42", + "safari": "10", + "node": "6", + "ios": "10", + "samsung": "5", + "electron": "0.37" + }, + "es6.reflect.is-extensible": { + "chrome": "49", + "opera": "36", + "edge": "12", + "firefox": "42", + "safari": "10", + "node": "6", + "ios": "10", + "samsung": "5", + "electron": "0.37" + }, + "es6.reflect.own-keys": { + "chrome": "49", + "opera": "36", + "edge": "12", + "firefox": "42", + "safari": "10", + "node": "6", + "ios": "10", + "samsung": "5", + "electron": "0.37" + }, + "es6.reflect.prevent-extensions": { + "chrome": "49", + "opera": "36", + "edge": "12", + "firefox": "42", + "safari": "10", + "node": "6", + "ios": "10", + "samsung": "5", + "electron": "0.37" + }, + "es6.reflect.set": { + "chrome": "49", + "opera": "36", + "edge": "12", + "firefox": "42", + "safari": "10", + "node": "6", + "ios": "10", + "samsung": "5", + "electron": "0.37" + }, + "es6.reflect.set-prototype-of": { + "chrome": "49", + "opera": "36", + "edge": "12", + "firefox": "42", + "safari": "10", + "node": "6", + "ios": "10", + "samsung": "5", + "electron": "0.37" + }, + "es6.regexp.constructor": { + "chrome": "50", + "opera": "37", + "edge": "79", + "firefox": "40", + "safari": "10", + "node": "6", + "ios": "10", + "samsung": "5", + "electron": "1.1" + }, + "es6.regexp.flags": { + "chrome": "49", + "opera": "36", + "edge": "79", + "firefox": "37", + "safari": "9", + "node": "6", + "ios": "9", + "samsung": "5", + "electron": "0.37" + }, + "es6.regexp.match": { + "chrome": "50", + "opera": "37", + "edge": "79", + "firefox": "49", + "safari": "10", + "node": "6", + "ios": "10", + "samsung": "5", + "electron": "1.1" + }, + "es6.regexp.replace": { + "chrome": "50", + "opera": "37", + "edge": "79", + "firefox": "49", + "safari": "10", + "node": "6", + "ios": "10", + "samsung": "5", + "electron": "1.1" + }, + "es6.regexp.split": { + "chrome": "50", + "opera": "37", + "edge": "79", + "firefox": "49", + "safari": "10", + "node": "6", + "ios": "10", + "samsung": "5", + "electron": "1.1" + }, + "es6.regexp.search": { + "chrome": "50", + "opera": "37", + "edge": "79", + "firefox": "49", + "safari": "10", + "node": "6", + "ios": "10", + "samsung": "5", + "electron": "1.1" + }, + "es6.regexp.to-string": { + "chrome": "50", + "opera": "37", + "edge": "79", + "firefox": "39", + "safari": "10", + "node": "6", + "ios": "10", + "samsung": "5", + "electron": "1.1" + }, + "es6.set": { + "chrome": "51", + "opera": "38", + "edge": "15", + "firefox": "53", + "safari": "10", + "node": "6.5", + "ios": "10", + "samsung": "5", + "electron": "1.2" + }, + "es6.symbol": { + "chrome": "51", + "opera": "38", + "edge": "79", + "firefox": "51", + "safari": "10", + "node": "6.5", + "ios": "10", + "samsung": "5", + "electron": "1.2" + }, + "es7.symbol.async-iterator": { + "chrome": "63", + "opera": "50", + "edge": "79", + "firefox": "57", + "safari": "12", + "node": "10", + "ios": "12", + "samsung": "8", + "electron": "3.0" + }, + "es6.string.anchor": { + "chrome": "5", + "opera": "15", + "edge": "12", + "firefox": "17", + "safari": "6", + "node": "0.10", + "android": "4", + "ios": "7", + "phantom": "2", + "samsung": "1", + "electron": "0.20" + }, + "es6.string.big": { + "chrome": "5", + "opera": "15", + "edge": "12", + "firefox": "17", + "safari": "6", + "node": "0.10", + "android": "4", + "ios": "7", + "phantom": "2", + "samsung": "1", + "electron": "0.20" + }, + "es6.string.blink": { + "chrome": "5", + "opera": "15", + "edge": "12", + "firefox": "17", + "safari": "6", + "node": "0.10", + "android": "4", + "ios": "7", + "phantom": "2", + "samsung": "1", + "electron": "0.20" + }, + "es6.string.bold": { + "chrome": "5", + "opera": "15", + "edge": "12", + "firefox": "17", + "safari": "6", + "node": "0.10", + "android": "4", + "ios": "7", + "phantom": "2", + "samsung": "1", + "electron": "0.20" + }, + "es6.string.code-point-at": { + "chrome": "41", + "opera": "28", + "edge": "12", + "firefox": "29", + "safari": "9", + "node": "4", + "ios": "9", + "samsung": "3.4", + "electron": "0.21" + }, + "es6.string.ends-with": { + "chrome": "41", + "opera": "28", + "edge": "12", + "firefox": "29", + "safari": "9", + "node": "4", + "ios": "9", + "samsung": "3.4", + "electron": "0.21" + }, + "es6.string.fixed": { + "chrome": "5", + "opera": "15", + "edge": "12", + "firefox": "17", + "safari": "6", + "node": "0.10", + "android": "4", + "ios": "7", + "phantom": "2", + "samsung": "1", + "electron": "0.20" + }, + "es6.string.fontcolor": { + "chrome": "5", + "opera": "15", + "edge": "12", + "firefox": "17", + "safari": "6", + "node": "0.10", + "android": "4", + "ios": "7", + "phantom": "2", + "samsung": "1", + "electron": "0.20" + }, + "es6.string.fontsize": { + "chrome": "5", + "opera": "15", + "edge": "12", + "firefox": "17", + "safari": "6", + "node": "0.10", + "android": "4", + "ios": "7", + "phantom": "2", + "samsung": "1", + "electron": "0.20" + }, + "es6.string.from-code-point": { + "chrome": "41", + "opera": "28", + "edge": "12", + "firefox": "29", + "safari": "9", + "node": "4", + "ios": "9", + "samsung": "3.4", + "electron": "0.21" + }, + "es6.string.includes": { + "chrome": "41", + "opera": "28", + "edge": "12", + "firefox": "40", + "safari": "9", + "node": "4", + "ios": "9", + "samsung": "3.4", + "electron": "0.21" + }, + "es6.string.italics": { + "chrome": "5", + "opera": "15", + "edge": "12", + "firefox": "17", + "safari": "6", + "node": "0.10", + "android": "4", + "ios": "7", + "phantom": "2", + "samsung": "1", + "electron": "0.20" + }, + "es6.string.iterator": { + "chrome": "38", + "opera": "25", + "edge": "12", + "firefox": "36", + "safari": "9", + "node": "0.12", + "ios": "9", + "samsung": "3", + "electron": "0.20" + }, + "es6.string.link": { + "chrome": "5", + "opera": "15", + "edge": "12", + "firefox": "17", + "safari": "6", + "node": "0.10", + "android": "4", + "ios": "7", + "phantom": "2", + "samsung": "1", + "electron": "0.20" + }, + "es7.string.pad-start": { + "chrome": "57", + "opera": "44", + "edge": "15", + "firefox": "48", + "safari": "10", + "node": "8", + "ios": "10", + "samsung": "7", + "electron": "1.7" + }, + "es7.string.pad-end": { + "chrome": "57", + "opera": "44", + "edge": "15", + "firefox": "48", + "safari": "10", + "node": "8", + "ios": "10", + "samsung": "7", + "electron": "1.7" + }, + "es6.string.raw": { + "chrome": "41", + "opera": "28", + "edge": "12", + "firefox": "34", + "safari": "9", + "node": "4", + "ios": "9", + "samsung": "3.4", + "electron": "0.21" + }, + "es6.string.repeat": { + "chrome": "41", + "opera": "28", + "edge": "12", + "firefox": "24", + "safari": "9", + "node": "4", + "ios": "9", + "samsung": "3.4", + "electron": "0.21" + }, + "es6.string.small": { + "chrome": "5", + "opera": "15", + "edge": "12", + "firefox": "17", + "safari": "6", + "node": "0.10", + "android": "4", + "ios": "7", + "phantom": "2", + "samsung": "1", + "electron": "0.20" + }, + "es6.string.starts-with": { + "chrome": "41", + "opera": "28", + "edge": "12", + "firefox": "29", + "safari": "9", + "node": "4", + "ios": "9", + "samsung": "3.4", + "electron": "0.21" + }, + "es6.string.strike": { + "chrome": "5", + "opera": "15", + "edge": "12", + "firefox": "17", + "safari": "6", + "node": "0.10", + "android": "4", + "ios": "7", + "phantom": "2", + "samsung": "1", + "electron": "0.20" + }, + "es6.string.sub": { + "chrome": "5", + "opera": "15", + "edge": "12", + "firefox": "17", + "safari": "6", + "node": "0.10", + "android": "4", + "ios": "7", + "phantom": "2", + "samsung": "1", + "electron": "0.20" + }, + "es6.string.sup": { + "chrome": "5", + "opera": "15", + "edge": "12", + "firefox": "17", + "safari": "6", + "node": "0.10", + "android": "4", + "ios": "7", + "phantom": "2", + "samsung": "1", + "electron": "0.20" + }, + "es6.string.trim": { + "chrome": "5", + "opera": "10.50", + "edge": "12", + "firefox": "3.5", + "safari": "4", + "node": "0.10", + "ie": "9", + "android": "4", + "ios": "6", + "phantom": "2", + "samsung": "1", + "electron": "0.20" + }, + "es7.string.trim-left": { + "chrome": "66", + "opera": "53", + "edge": "79", + "firefox": "61", + "safari": "12", + "node": "10", + "ios": "12", + "samsung": "9", + "electron": "3.0" + }, + "es7.string.trim-right": { + "chrome": "66", + "opera": "53", + "edge": "79", + "firefox": "61", + "safari": "12", + "node": "10", + "ios": "12", + "samsung": "9", + "electron": "3.0" + }, + "es6.typed.array-buffer": { + "chrome": "51", + "opera": "38", + "edge": "13", + "firefox": "48", + "safari": "10", + "node": "6.5", + "ios": "10", + "samsung": "5", + "electron": "1.2" + }, + "es6.typed.data-view": { + "chrome": "5", + "opera": "12", + "edge": "12", + "firefox": "15", + "safari": "5.1", + "node": "0.10", + "ie": "10", + "android": "4", + "ios": "6", + "phantom": "2", + "samsung": "1", + "electron": "0.20" + }, + "es6.typed.int8-array": { + "chrome": "51", + "opera": "38", + "edge": "13", + "firefox": "48", + "safari": "10", + "node": "6.5", + "ios": "10", + "samsung": "5", + "electron": "1.2" + }, + "es6.typed.uint8-array": { + "chrome": "51", + "opera": "38", + "edge": "13", + "firefox": "48", + "safari": "10", + "node": "6.5", + "ios": "10", + "samsung": "5", + "electron": "1.2" + }, + "es6.typed.uint8-clamped-array": { + "chrome": "51", + "opera": "38", + "edge": "13", + "firefox": "48", + "safari": "10", + "node": "6.5", + "ios": "10", + "samsung": "5", + "electron": "1.2" + }, + "es6.typed.int16-array": { + "chrome": "51", + "opera": "38", + "edge": "13", + "firefox": "48", + "safari": "10", + "node": "6.5", + "ios": "10", + "samsung": "5", + "electron": "1.2" + }, + "es6.typed.uint16-array": { + "chrome": "51", + "opera": "38", + "edge": "13", + "firefox": "48", + "safari": "10", + "node": "6.5", + "ios": "10", + "samsung": "5", + "electron": "1.2" + }, + "es6.typed.int32-array": { + "chrome": "51", + "opera": "38", + "edge": "13", + "firefox": "48", + "safari": "10", + "node": "6.5", + "ios": "10", + "samsung": "5", + "electron": "1.2" + }, + "es6.typed.uint32-array": { + "chrome": "51", + "opera": "38", + "edge": "13", + "firefox": "48", + "safari": "10", + "node": "6.5", + "ios": "10", + "samsung": "5", + "electron": "1.2" + }, + "es6.typed.float32-array": { + "chrome": "51", + "opera": "38", + "edge": "13", + "firefox": "48", + "safari": "10", + "node": "6.5", + "ios": "10", + "samsung": "5", + "electron": "1.2" + }, + "es6.typed.float64-array": { + "chrome": "51", + "opera": "38", + "edge": "13", + "firefox": "48", + "safari": "10", + "node": "6.5", + "ios": "10", + "samsung": "5", + "electron": "1.2" + }, + "es6.weak-map": { + "chrome": "51", + "opera": "38", + "edge": "15", + "firefox": "53", + "safari": "9", + "node": "6.5", + "ios": "9", + "samsung": "5", + "electron": "1.2" + }, + "es6.weak-set": { + "chrome": "51", + "opera": "38", + "edge": "15", + "firefox": "53", + "safari": "9", + "node": "6.5", + "ios": "9", + "samsung": "5", + "electron": "1.2" + } +} diff --git a/tools/node_modules/@babel/core/node_modules/@babel/compat-data/data/corejs3-shipped-proposals.json b/tools/node_modules/@babel/core/node_modules/@babel/compat-data/data/corejs3-shipped-proposals.json new file mode 100644 index 00000000000000..7ce01ed934442f --- /dev/null +++ b/tools/node_modules/@babel/core/node_modules/@babel/compat-data/data/corejs3-shipped-proposals.json @@ -0,0 +1,5 @@ +[ + "esnext.global-this", + "esnext.promise.all-settled", + "esnext.string.match-all" +] diff --git a/tools/node_modules/@babel/core/node_modules/@babel/compat-data/data/native-modules.json b/tools/node_modules/@babel/core/node_modules/@babel/compat-data/data/native-modules.json new file mode 100644 index 00000000000000..bf634997ee9668 --- /dev/null +++ b/tools/node_modules/@babel/core/node_modules/@babel/compat-data/data/native-modules.json @@ -0,0 +1,18 @@ +{ + "es6.module": { + "chrome": "61", + "and_chr": "61", + "edge": "16", + "firefox": "60", + "and_ff": "60", + "node": "13.2.0", + "opera": "48", + "op_mob": "48", + "safari": "10.1", + "ios": "10.3", + "samsung": "8.2", + "android": "61", + "electron": "2.0", + "ios_saf": "10.3" + } +} diff --git a/tools/node_modules/@babel/core/node_modules/@babel/compat-data/data/overlapping-plugins.json b/tools/node_modules/@babel/core/node_modules/@babel/compat-data/data/overlapping-plugins.json new file mode 100644 index 00000000000000..51976d9e2f4393 --- /dev/null +++ b/tools/node_modules/@babel/core/node_modules/@babel/compat-data/data/overlapping-plugins.json @@ -0,0 +1,21 @@ +{ + "transform-async-to-generator": [ + "bugfix/transform-async-arrows-in-class" + ], + "transform-parameters": [ + "bugfix/transform-edge-default-parameters" + ], + "transform-function-name": [ + "bugfix/transform-edge-function-name" + ], + "transform-block-scoping": [ + "bugfix/transform-safari-block-shadowing", + "bugfix/transform-safari-for-shadowing" + ], + "transform-template-literals": [ + "bugfix/transform-tagged-template-caching" + ], + "proposal-optional-chaining": [ + "bugfix/transform-v8-spread-parameters-in-optional-chaining" + ] +} diff --git a/tools/node_modules/@babel/core/node_modules/@babel/compat-data/data/plugin-bugfixes.json b/tools/node_modules/@babel/core/node_modules/@babel/compat-data/data/plugin-bugfixes.json new file mode 100644 index 00000000000000..b1521be394f536 --- /dev/null +++ b/tools/node_modules/@babel/core/node_modules/@babel/compat-data/data/plugin-bugfixes.json @@ -0,0 +1,141 @@ +{ + "transform-async-to-generator": { + "chrome": "55", + "opera": "42", + "edge": "15", + "firefox": "52", + "safari": "10.1", + "node": "7.6", + "ios": "10.3", + "samsung": "6", + "electron": "1.6" + }, + "bugfix/transform-async-arrows-in-class": { + "chrome": "55", + "opera": "42", + "edge": "15", + "firefox": "52", + "safari": "11", + "node": "7.6", + "ios": "11", + "samsung": "6", + "electron": "1.6" + }, + "transform-parameters": { + "chrome": "49", + "opera": "36", + "edge": "15", + "firefox": "53", + "safari": "10", + "node": "6", + "ios": "10", + "samsung": "5", + "electron": "0.37" + }, + "bugfix/transform-edge-default-parameters": { + "chrome": "49", + "opera": "36", + "edge": "18", + "firefox": "52", + "safari": "10", + "node": "6", + "ios": "10", + "samsung": "5", + "electron": "0.37" + }, + "transform-function-name": { + "chrome": "51", + "opera": "38", + "edge": "14", + "firefox": "53", + "safari": "10", + "node": "6.5", + "ios": "10", + "samsung": "5", + "electron": "1.2" + }, + "bugfix/transform-edge-function-name": { + "chrome": "51", + "opera": "38", + "edge": "79", + "firefox": "53", + "safari": "10", + "node": "6.5", + "ios": "10", + "samsung": "5", + "electron": "1.2" + }, + "transform-block-scoping": { + "chrome": "49", + "opera": "36", + "edge": "14", + "firefox": "51", + "safari": "10", + "node": "6", + "ios": "10", + "samsung": "5", + "electron": "0.37" + }, + "bugfix/transform-safari-block-shadowing": { + "chrome": "49", + "opera": "36", + "edge": "12", + "firefox": "44", + "safari": "11", + "node": "6", + "ie": "11", + "ios": "11", + "samsung": "5", + "electron": "0.37" + }, + "bugfix/transform-safari-for-shadowing": { + "chrome": "49", + "opera": "36", + "edge": "12", + "firefox": "4", + "safari": "11", + "node": "6", + "ie": "11", + "ios": "11", + "samsung": "5", + "electron": "0.37" + }, + "transform-template-literals": { + "chrome": "41", + "opera": "28", + "edge": "13", + "firefox": "34", + "safari": "9", + "node": "4", + "ios": "9", + "samsung": "3.4", + "electron": "0.21" + }, + "bugfix/transform-tagged-template-caching": { + "chrome": "41", + "opera": "28", + "edge": "12", + "firefox": "34", + "safari": "13", + "node": "4", + "ios": "13", + "samsung": "3.4", + "electron": "0.21" + }, + "proposal-optional-chaining": { + "chrome": "80", + "opera": "67", + "edge": "80", + "firefox": "74", + "safari": "13.1", + "node": "14", + "ios": "13.4", + "samsung": "13", + "electron": "8.0" + }, + "bugfix/transform-v8-spread-parameters-in-optional-chaining": { + "firefox": "74", + "safari": "13.1", + "ios": "13.4" + } +} diff --git a/tools/node_modules/@babel/core/node_modules/@babel/compat-data/data/plugins.json b/tools/node_modules/@babel/core/node_modules/@babel/compat-data/data/plugins.json new file mode 100644 index 00000000000000..6a8b47033cfe68 --- /dev/null +++ b/tools/node_modules/@babel/core/node_modules/@babel/compat-data/data/plugins.json @@ -0,0 +1,453 @@ +{ + "proposal-class-static-block": { + "chrome": "91", + "electron": "13.0" + }, + "proposal-private-property-in-object": { + "chrome": "91", + "firefox": "90", + "electron": "13.0" + }, + "proposal-class-properties": { + "chrome": "74", + "opera": "62", + "edge": "79", + "firefox": "90", + "safari": "14.1", + "node": "12", + "samsung": "11", + "electron": "6.0" + }, + "proposal-private-methods": { + "chrome": "84", + "opera": "70", + "edge": "84", + "firefox": "90", + "safari": "15", + "node": "14.6", + "electron": "10.0" + }, + "proposal-numeric-separator": { + "chrome": "75", + "opera": "62", + "edge": "79", + "firefox": "70", + "safari": "13", + "node": "12.5", + "ios": "13", + "samsung": "11", + "electron": "6.0" + }, + "proposal-logical-assignment-operators": { + "chrome": "85", + "opera": "71", + "edge": "85", + "firefox": "79", + "safari": "14", + "node": "15", + "ios": "14", + "electron": "10.0" + }, + "proposal-nullish-coalescing-operator": { + "chrome": "80", + "opera": "67", + "edge": "80", + "firefox": "72", + "safari": "13.1", + "node": "14", + "ios": "13.4", + "samsung": "13", + "electron": "8.0" + }, + "proposal-optional-chaining": { + "firefox": "74", + "safari": "13.1", + "ios": "13.4" + }, + "proposal-json-strings": { + "chrome": "66", + "opera": "53", + "edge": "79", + "firefox": "62", + "safari": "12", + "node": "10", + "ios": "12", + "samsung": "9", + "electron": "3.0" + }, + "proposal-optional-catch-binding": { + "chrome": "66", + "opera": "53", + "edge": "79", + "firefox": "58", + "safari": "11.1", + "node": "10", + "ios": "11.3", + "samsung": "9", + "electron": "3.0" + }, + "transform-parameters": { + "chrome": "49", + "opera": "36", + "edge": "18", + "firefox": "53", + "safari": "10", + "node": "6", + "ios": "10", + "samsung": "5", + "electron": "0.37" + }, + "proposal-async-generator-functions": { + "chrome": "63", + "opera": "50", + "edge": "79", + "firefox": "57", + "safari": "12", + "node": "10", + "ios": "12", + "samsung": "8", + "electron": "3.0" + }, + "proposal-object-rest-spread": { + "chrome": "60", + "opera": "47", + "edge": "79", + "firefox": "55", + "safari": "11.1", + "node": "8.3", + "ios": "11.3", + "samsung": "8", + "electron": "2.0" + }, + "transform-dotall-regex": { + "chrome": "62", + "opera": "49", + "edge": "79", + "firefox": "78", + "safari": "11.1", + "node": "8.10", + "ios": "11.3", + "samsung": "8", + "electron": "3.0" + }, + "proposal-unicode-property-regex": { + "chrome": "64", + "opera": "51", + "edge": "79", + "firefox": "78", + "safari": "11.1", + "node": "10", + "ios": "11.3", + "samsung": "9", + "electron": "3.0" + }, + "transform-named-capturing-groups-regex": { + "chrome": "64", + "opera": "51", + "edge": "79", + "firefox": "78", + "safari": "11.1", + "node": "10", + "ios": "11.3", + "samsung": "9", + "electron": "3.0" + }, + "transform-async-to-generator": { + "chrome": "55", + "opera": "42", + "edge": "15", + "firefox": "52", + "safari": "11", + "node": "7.6", + "ios": "11", + "samsung": "6", + "electron": "1.6" + }, + "transform-exponentiation-operator": { + "chrome": "52", + "opera": "39", + "edge": "14", + "firefox": "52", + "safari": "10.1", + "node": "7", + "ios": "10.3", + "samsung": "6", + "electron": "1.3" + }, + "transform-template-literals": { + "chrome": "41", + "opera": "28", + "edge": "13", + "firefox": "34", + "safari": "13", + "node": "4", + "ios": "13", + "samsung": "3.4", + "electron": "0.21" + }, + "transform-literals": { + "chrome": "44", + "opera": "31", + "edge": "12", + "firefox": "53", + "safari": "9", + "node": "4", + "ios": "9", + "samsung": "4", + "electron": "0.30" + }, + "transform-function-name": { + "chrome": "51", + "opera": "38", + "edge": "79", + "firefox": "53", + "safari": "10", + "node": "6.5", + "ios": "10", + "samsung": "5", + "electron": "1.2" + }, + "transform-arrow-functions": { + "chrome": "47", + "opera": "34", + "edge": "13", + "firefox": "45", + "safari": "10", + "node": "6", + "ios": "10", + "samsung": "5", + "electron": "0.36" + }, + "transform-block-scoped-functions": { + "chrome": "41", + "opera": "28", + "edge": "12", + "firefox": "46", + "safari": "10", + "node": "4", + "ie": "11", + "ios": "10", + "samsung": "3.4", + "electron": "0.21" + }, + "transform-classes": { + "chrome": "46", + "opera": "33", + "edge": "13", + "firefox": "45", + "safari": "10", + "node": "5", + "ios": "10", + "samsung": "5", + "electron": "0.36" + }, + "transform-object-super": { + "chrome": "46", + "opera": "33", + "edge": "13", + "firefox": "45", + "safari": "10", + "node": "5", + "ios": "10", + "samsung": "5", + "electron": "0.36" + }, + "transform-shorthand-properties": { + "chrome": "43", + "opera": "30", + "edge": "12", + "firefox": "33", + "safari": "9", + "node": "4", + "ios": "9", + "samsung": "4", + "electron": "0.27" + }, + "transform-duplicate-keys": { + "chrome": "42", + "opera": "29", + "edge": "12", + "firefox": "34", + "safari": "9", + "node": "4", + "ios": "9", + "samsung": "3.4", + "electron": "0.25" + }, + "transform-computed-properties": { + "chrome": "44", + "opera": "31", + "edge": "12", + "firefox": "34", + "safari": "7.1", + "node": "4", + "ios": "8", + "samsung": "4", + "electron": "0.30" + }, + "transform-for-of": { + "chrome": "51", + "opera": "38", + "edge": "15", + "firefox": "53", + "safari": "10", + "node": "6.5", + "ios": "10", + "samsung": "5", + "electron": "1.2" + }, + "transform-sticky-regex": { + "chrome": "49", + "opera": "36", + "edge": "13", + "firefox": "3", + "safari": "10", + "node": "6", + "ios": "10", + "samsung": "5", + "electron": "0.37" + }, + "transform-unicode-escapes": { + "chrome": "44", + "opera": "31", + "edge": "12", + "firefox": "53", + "safari": "9", + "node": "4", + "ios": "9", + "samsung": "4", + "electron": "0.30" + }, + "transform-unicode-regex": { + "chrome": "50", + "opera": "37", + "edge": "13", + "firefox": "46", + "safari": "12", + "node": "6", + "ios": "12", + "samsung": "5", + "electron": "1.1" + }, + "transform-spread": { + "chrome": "46", + "opera": "33", + "edge": "13", + "firefox": "45", + "safari": "10", + "node": "5", + "ios": "10", + "samsung": "5", + "electron": "0.36" + }, + "transform-destructuring": { + "chrome": "51", + "opera": "38", + "edge": "15", + "firefox": "53", + "safari": "10", + "node": "6.5", + "ios": "10", + "samsung": "5", + "electron": "1.2" + }, + "transform-block-scoping": { + "chrome": "49", + "opera": "36", + "edge": "14", + "firefox": "51", + "safari": "11", + "node": "6", + "ios": "11", + "samsung": "5", + "electron": "0.37" + }, + "transform-typeof-symbol": { + "chrome": "38", + "opera": "25", + "edge": "12", + "firefox": "36", + "safari": "9", + "node": "0.12", + "ios": "9", + "samsung": "3", + "electron": "0.20" + }, + "transform-new-target": { + "chrome": "46", + "opera": "33", + "edge": "14", + "firefox": "41", + "safari": "10", + "node": "5", + "ios": "10", + "samsung": "5", + "electron": "0.36" + }, + "transform-regenerator": { + "chrome": "50", + "opera": "37", + "edge": "13", + "firefox": "53", + "safari": "10", + "node": "6", + "ios": "10", + "samsung": "5", + "electron": "1.1" + }, + "transform-member-expression-literals": { + "chrome": "7", + "opera": "12", + "edge": "12", + "firefox": "2", + "safari": "5.1", + "node": "0.10", + "ie": "9", + "android": "4", + "ios": "6", + "phantom": "2", + "samsung": "1", + "electron": "0.20" + }, + "transform-property-literals": { + "chrome": "7", + "opera": "12", + "edge": "12", + "firefox": "2", + "safari": "5.1", + "node": "0.10", + "ie": "9", + "android": "4", + "ios": "6", + "phantom": "2", + "samsung": "1", + "electron": "0.20" + }, + "transform-reserved-words": { + "chrome": "13", + "opera": "10.50", + "edge": "12", + "firefox": "2", + "safari": "3.1", + "node": "0.10", + "ie": "9", + "android": "4.4", + "ios": "6", + "phantom": "2", + "samsung": "1", + "electron": "0.20" + }, + "proposal-export-namespace-from": { + "chrome": "72", + "and_chr": "72", + "edge": "79", + "firefox": "80", + "and_ff": "80", + "node": "13.2", + "opera": "60", + "op_mob": "51", + "samsung": "11.0", + "android": "72", + "electron": "5.0" + } +} diff --git a/tools/node_modules/@babel/core/node_modules/@babel/compat-data/native-modules.js b/tools/node_modules/@babel/core/node_modules/@babel/compat-data/native-modules.js new file mode 100644 index 00000000000000..8e97da4bcfde87 --- /dev/null +++ b/tools/node_modules/@babel/core/node_modules/@babel/compat-data/native-modules.js @@ -0,0 +1 @@ +module.exports = require("./data/native-modules.json"); diff --git a/tools/node_modules/@babel/core/node_modules/@babel/compat-data/overlapping-plugins.js b/tools/node_modules/@babel/core/node_modules/@babel/compat-data/overlapping-plugins.js new file mode 100644 index 00000000000000..88242e467810d4 --- /dev/null +++ b/tools/node_modules/@babel/core/node_modules/@babel/compat-data/overlapping-plugins.js @@ -0,0 +1 @@ +module.exports = require("./data/overlapping-plugins.json"); diff --git a/tools/node_modules/@babel/core/node_modules/@babel/compat-data/package.json b/tools/node_modules/@babel/core/node_modules/@babel/compat-data/package.json new file mode 100644 index 00000000000000..06660dcf68c3e4 --- /dev/null +++ b/tools/node_modules/@babel/core/node_modules/@babel/compat-data/package.json @@ -0,0 +1,39 @@ +{ + "name": "@babel/compat-data", + "version": "7.14.5", + "author": "The Babel Team (https://babel.dev/team)", + "license": "MIT", + "description": "", + "repository": { + "type": "git", + "url": "https://github.com/babel/babel.git", + "directory": "packages/babel-compat-data" + }, + "publishConfig": { + "access": "public" + }, + "exports": { + "./plugins": "./plugins.js", + "./native-modules": "./native-modules.js", + "./corejs2-built-ins": "./corejs2-built-ins.js", + "./corejs3-shipped-proposals": "./corejs3-shipped-proposals.js", + "./overlapping-plugins": "./overlapping-plugins.js", + "./plugin-bugfixes": "./plugin-bugfixes.js" + }, + "scripts": { + "build-data": "./scripts/download-compat-table.sh && node ./scripts/build-data.js && node ./scripts/build-modules-support.js && node ./scripts/build-bugfixes-targets.js" + }, + "keywords": [ + "babel", + "compat-table", + "compat-data" + ], + "devDependencies": { + "@mdn/browser-compat-data": "^3.3.4", + "core-js-compat": "^3.14.0", + "electron-to-chromium": "^1.3.749" + }, + "engines": { + "node": ">=6.9.0" + } +} \ No newline at end of file diff --git a/tools/node_modules/@babel/core/node_modules/@babel/compat-data/plugin-bugfixes.js b/tools/node_modules/@babel/core/node_modules/@babel/compat-data/plugin-bugfixes.js new file mode 100644 index 00000000000000..f390181a6302ef --- /dev/null +++ b/tools/node_modules/@babel/core/node_modules/@babel/compat-data/plugin-bugfixes.js @@ -0,0 +1 @@ +module.exports = require("./data/plugin-bugfixes.json"); diff --git a/tools/node_modules/@babel/core/node_modules/@babel/compat-data/plugins.js b/tools/node_modules/@babel/core/node_modules/@babel/compat-data/plugins.js new file mode 100644 index 00000000000000..42646edce6dc93 --- /dev/null +++ b/tools/node_modules/@babel/core/node_modules/@babel/compat-data/plugins.js @@ -0,0 +1 @@ +module.exports = require("./data/plugins.json"); diff --git a/tools/node_modules/@babel/core/node_modules/@babel/generator/lib/buffer.js b/tools/node_modules/@babel/core/node_modules/@babel/generator/lib/buffer.js index 333e08c9e69e18..b0d792e8beeb54 100644 --- a/tools/node_modules/@babel/core/node_modules/@babel/generator/lib/buffer.js +++ b/tools/node_modules/@babel/core/node_modules/@babel/generator/lib/buffer.js @@ -93,7 +93,9 @@ class Buffer { _flush() { let item; - while (item = this._queue.pop()) this._append(...item); + while (item = this._queue.pop()) { + this._append(...item); + } } _append(str, line, column, identifierName, filename, force) { diff --git a/tools/node_modules/@babel/core/node_modules/@babel/generator/lib/generators/base.js b/tools/node_modules/@babel/core/node_modules/@babel/generator/lib/generators/base.js index 713827a9c8129b..412c34da9ae278 100644 --- a/tools/node_modules/@babel/core/node_modules/@babel/generator/lib/generators/base.js +++ b/tools/node_modules/@babel/core/node_modules/@babel/generator/lib/generators/base.js @@ -6,12 +6,13 @@ Object.defineProperty(exports, "__esModule", { exports.File = File; exports.Program = Program; exports.BlockStatement = BlockStatement; -exports.Noop = Noop; exports.Directive = Directive; exports.DirectiveLiteral = DirectiveLiteral; exports.InterpreterDirective = InterpreterDirective; exports.Placeholder = Placeholder; +var t = require("@babel/types"); + function File(node) { if (node.program) { this.print(node.program.interpreter, node); @@ -53,8 +54,6 @@ function BlockStatement(node) { } } -function Noop() {} - function Directive(node) { this.print(node.value, node); this.semicolon(); diff --git a/tools/node_modules/@babel/core/node_modules/@babel/generator/lib/generators/classes.js b/tools/node_modules/@babel/core/node_modules/@babel/generator/lib/generators/classes.js index aa1e622da9cdcf..f9c8bcc615fd6d 100644 --- a/tools/node_modules/@babel/core/node_modules/@babel/generator/lib/generators/classes.js +++ b/tools/node_modules/@babel/core/node_modules/@babel/generator/lib/generators/classes.js @@ -12,11 +12,7 @@ exports.ClassPrivateMethod = ClassPrivateMethod; exports._classMethodHead = _classMethodHead; exports.StaticBlock = StaticBlock; -var t = _interopRequireWildcard(require("@babel/types")); - -function _getRequireWildcardCache() { if (typeof WeakMap !== "function") return null; var cache = new WeakMap(); _getRequireWildcardCache = function () { return cache; }; return cache; } - -function _interopRequireWildcard(obj) { if (obj && obj.__esModule) { return obj; } if (obj === null || typeof obj !== "object" && typeof obj !== "function") { return { default: obj }; } var cache = _getRequireWildcardCache(); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj.default = obj; if (cache) { cache.set(obj, newObj); } return newObj; } +var t = require("@babel/types"); function ClassDeclaration(node, parent) { if (!this.format.decoratorsBeforeExport || !t.isExportDefaultDeclaration(parent) && !t.isExportNamedDeclaration(parent)) { @@ -79,6 +75,7 @@ function ClassBody(node) { function ClassProperty(node) { this.printJoin(node.decorators, node); + this.source("end", node.key.loc); this.tsPrintClassMemberModifiers(node, true); if (node.computed) { @@ -148,6 +145,7 @@ function ClassPrivateMethod(node) { function _classMethodHead(node) { this.printJoin(node.decorators, node); + this.source("end", node.key.loc); this.tsPrintClassMemberModifiers(node, false); this._methodHead(node); diff --git a/tools/node_modules/@babel/core/node_modules/@babel/generator/lib/generators/expressions.js b/tools/node_modules/@babel/core/node_modules/@babel/generator/lib/generators/expressions.js index 4e63a699408401..f43838c41a0bde 100644 --- a/tools/node_modules/@babel/core/node_modules/@babel/generator/lib/generators/expressions.js +++ b/tools/node_modules/@babel/core/node_modules/@babel/generator/lib/generators/expressions.js @@ -26,15 +26,12 @@ exports.MemberExpression = MemberExpression; exports.MetaProperty = MetaProperty; exports.PrivateName = PrivateName; exports.V8IntrinsicIdentifier = V8IntrinsicIdentifier; +exports.ModuleExpression = ModuleExpression; exports.AwaitExpression = exports.YieldExpression = void 0; -var t = _interopRequireWildcard(require("@babel/types")); +var t = require("@babel/types"); -var n = _interopRequireWildcard(require("../node")); - -function _getRequireWildcardCache() { if (typeof WeakMap !== "function") return null; var cache = new WeakMap(); _getRequireWildcardCache = function () { return cache; }; return cache; } - -function _interopRequireWildcard(obj) { if (obj && obj.__esModule) { return obj; } if (obj === null || typeof obj !== "object" && typeof obj !== "function") { return { default: obj }; } var cache = _getRequireWildcardCache(); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj.default = obj; if (cache) { cache.set(obj, newObj); } return newObj; } +var n = require("../node"); function UnaryExpression(node) { if (node.operator === "void" || node.operator === "delete" || node.operator === "typeof" || node.operator === "throw") { @@ -48,6 +45,11 @@ function UnaryExpression(node) { } function DoExpression(node) { + if (node.async) { + this.word("async"); + this.space(); + } + this.word("do"); this.space(); this.print(node.body, node); @@ -289,4 +291,20 @@ function PrivateName(node) { function V8IntrinsicIdentifier(node) { this.token("%"); this.word(node.name); +} + +function ModuleExpression(node) { + this.word("module"); + this.space(); + this.token("{"); + + if (node.body.body.length === 0) { + this.token("}"); + } else { + this.newline(); + this.printSequence(node.body.body, node, { + indent: true + }); + this.rightBrace(); + } } \ No newline at end of file diff --git a/tools/node_modules/@babel/core/node_modules/@babel/generator/lib/generators/flow.js b/tools/node_modules/@babel/core/node_modules/@babel/generator/lib/generators/flow.js index 08c1734bee15da..f5fba1fe8d82a4 100644 --- a/tools/node_modules/@babel/core/node_modules/@babel/generator/lib/generators/flow.js +++ b/tools/node_modules/@babel/core/node_modules/@babel/generator/lib/generators/flow.js @@ -63,6 +63,8 @@ exports.UnionTypeAnnotation = UnionTypeAnnotation; exports.TypeCastExpression = TypeCastExpression; exports.Variance = Variance; exports.VoidTypeAnnotation = VoidTypeAnnotation; +exports.IndexedAccessType = IndexedAccessType; +exports.OptionalIndexedAccessType = OptionalIndexedAccessType; Object.defineProperty(exports, "NumberLiteralTypeAnnotation", { enumerable: true, get: function () { @@ -76,16 +78,12 @@ Object.defineProperty(exports, "StringLiteralTypeAnnotation", { } }); -var t = _interopRequireWildcard(require("@babel/types")); +var t = require("@babel/types"); var _modules = require("./modules"); var _types2 = require("./types"); -function _getRequireWildcardCache() { if (typeof WeakMap !== "function") return null; var cache = new WeakMap(); _getRequireWildcardCache = function () { return cache; }; return cache; } - -function _interopRequireWildcard(obj) { if (obj && obj.__esModule) { return obj; } if (obj === null || typeof obj !== "object" && typeof obj !== "function") { return { default: obj }; } var cache = _getRequireWildcardCache(); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj.default = obj; if (cache) { cache.set(obj, newObj); } return newObj; } - function AnyTypeAnnotation() { this.word("any"); } @@ -261,6 +259,11 @@ function enumBody(context, node) { context.newline(); } + if (node.hasUnknownMembers) { + context.token("..."); + context.newline(); + } + context.dedent(); context.token("}"); } @@ -361,6 +364,19 @@ function ExistsTypeAnnotation() { function FunctionTypeAnnotation(node, parent) { this.print(node.typeParameters, node); this.token("("); + + if (node.this) { + this.word("this"); + this.token(":"); + this.space(); + this.print(node.this.typeAnnotation, node); + + if (node.params.length || node.rest) { + this.token(","); + this.space(); + } + } + this.printList(node.params, node); if (node.rest) { @@ -404,10 +420,12 @@ function InterfaceExtends(node) { } function _interfaceish(node) { + var _node$extends; + this.print(node.id, node); this.print(node.typeParameters, node); - if (node.extends.length) { + if ((_node$extends = node.extends) != null && _node$extends.length) { this.space(); this.word("extends"); this.space(); @@ -585,7 +603,7 @@ function ObjectTypeAnnotation(node) { this.token("{"); } - const props = node.properties.concat(node.callProperties || [], node.indexers || [], node.internalSlots || []); + const props = [...node.properties, ...(node.callProperties || []), ...(node.indexers || []), ...(node.internalSlots || [])]; if (props.length) { this.space(); @@ -750,4 +768,23 @@ function Variance(node) { function VoidTypeAnnotation() { this.word("void"); +} + +function IndexedAccessType(node) { + this.print(node.objectType, node); + this.token("["); + this.print(node.indexType, node); + this.token("]"); +} + +function OptionalIndexedAccessType(node) { + this.print(node.objectType, node); + + if (node.optional) { + this.token("?."); + } + + this.token("["); + this.print(node.indexType, node); + this.token("]"); } \ No newline at end of file diff --git a/tools/node_modules/@babel/core/node_modules/@babel/generator/lib/generators/jsx.js b/tools/node_modules/@babel/core/node_modules/@babel/generator/lib/generators/jsx.js index 485091398396c1..f6ed9edbdef86c 100644 --- a/tools/node_modules/@babel/core/node_modules/@babel/generator/lib/generators/jsx.js +++ b/tools/node_modules/@babel/core/node_modules/@babel/generator/lib/generators/jsx.js @@ -19,6 +19,8 @@ exports.JSXFragment = JSXFragment; exports.JSXOpeningFragment = JSXOpeningFragment; exports.JSXClosingFragment = JSXClosingFragment; +var t = require("@babel/types"); + function JSXAttribute(node) { this.print(node.name, node); diff --git a/tools/node_modules/@babel/core/node_modules/@babel/generator/lib/generators/methods.js b/tools/node_modules/@babel/core/node_modules/@babel/generator/lib/generators/methods.js index f51ab2e79b3f88..1ddceebe404eda 100644 --- a/tools/node_modules/@babel/core/node_modules/@babel/generator/lib/generators/methods.js +++ b/tools/node_modules/@babel/core/node_modules/@babel/generator/lib/generators/methods.js @@ -12,11 +12,7 @@ exports._functionHead = _functionHead; exports.FunctionDeclaration = exports.FunctionExpression = FunctionExpression; exports.ArrowFunctionExpression = ArrowFunctionExpression; -var t = _interopRequireWildcard(require("@babel/types")); - -function _getRequireWildcardCache() { if (typeof WeakMap !== "function") return null; var cache = new WeakMap(); _getRequireWildcardCache = function () { return cache; }; return cache; } - -function _interopRequireWildcard(obj) { if (obj && obj.__esModule) { return obj; } if (obj === null || typeof obj !== "object" && typeof obj !== "function") { return { default: obj }; } var cache = _getRequireWildcardCache(); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj.default = obj; if (cache) { cache.set(obj, newObj); } return newObj; } +var t = require("@babel/types"); function _params(node) { this.print(node.typeParameters, node); @@ -128,24 +124,8 @@ function ArrowFunctionExpression(node) { const firstParam = node.params[0]; - if (node.params.length === 1 && t.isIdentifier(firstParam) && !hasTypes(node, firstParam)) { - if ((this.format.retainLines || node.async) && node.loc && node.body.loc && node.loc.start.line < node.body.loc.start.line) { - this.token("("); - - if (firstParam.loc && firstParam.loc.start.line > node.loc.start.line) { - this.indent(); - this.print(firstParam, node); - this.dedent(); - - this._catchUp("start", node.body.loc); - } else { - this.print(firstParam, node); - } - - this.token(")"); - } else { - this.print(firstParam, node); - } + if (!this.format.retainLines && !this.format.auxiliaryCommentBefore && !this.format.auxiliaryCommentAfter && node.params.length === 1 && t.isIdentifier(firstParam) && !hasTypesOrComments(node, firstParam)) { + this.print(firstParam, node); } else { this._params(node); } @@ -158,6 +138,8 @@ function ArrowFunctionExpression(node) { this.print(node.body, node); } -function hasTypes(node, param) { - return node.typeParameters || node.returnType || param.typeAnnotation || param.optional || param.trailingComments; +function hasTypesOrComments(node, param) { + var _param$leadingComment, _param$trailingCommen; + + return !!(node.typeParameters || node.returnType || node.predicate || param.typeAnnotation || param.optional || (_param$leadingComment = param.leadingComments) != null && _param$leadingComment.length || (_param$trailingCommen = param.trailingComments) != null && _param$trailingCommen.length); } \ No newline at end of file diff --git a/tools/node_modules/@babel/core/node_modules/@babel/generator/lib/generators/modules.js b/tools/node_modules/@babel/core/node_modules/@babel/generator/lib/generators/modules.js index ad26632973036a..100fc4a5c923f3 100644 --- a/tools/node_modules/@babel/core/node_modules/@babel/generator/lib/generators/modules.js +++ b/tools/node_modules/@babel/core/node_modules/@babel/generator/lib/generators/modules.js @@ -15,11 +15,7 @@ exports.ImportDeclaration = ImportDeclaration; exports.ImportAttribute = ImportAttribute; exports.ImportNamespaceSpecifier = ImportNamespaceSpecifier; -var t = _interopRequireWildcard(require("@babel/types")); - -function _getRequireWildcardCache() { if (typeof WeakMap !== "function") return null; var cache = new WeakMap(); _getRequireWildcardCache = function () { return cache; }; return cache; } - -function _interopRequireWildcard(obj) { if (obj && obj.__esModule) { return obj; } if (obj === null || typeof obj !== "object" && typeof obj !== "function") { return { default: obj }; } var cache = _getRequireWildcardCache(); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj.default = obj; if (cache) { cache.set(obj, newObj); } return newObj; } +var t = require("@babel/types"); function ImportSpecifier(node) { if (node.importKind === "type" || node.importKind === "typeof") { @@ -159,8 +155,6 @@ function ExportDeclaration(node) { } function ImportDeclaration(node) { - var _node$attributes; - this.word("import"); this.space(); @@ -171,7 +165,7 @@ function ImportDeclaration(node) { const specifiers = node.specifiers.slice(0); - if (specifiers == null ? void 0 : specifiers.length) { + if (specifiers != null && specifiers.length) { for (;;) { const first = specifiers[0]; @@ -202,14 +196,16 @@ function ImportDeclaration(node) { this.print(node.source, node); this.printAssertions(node); + { + var _node$attributes; - if ((_node$attributes = node.attributes) == null ? void 0 : _node$attributes.length) { - this.space(); - this.word("with"); - this.space(); - this.printList(node.attributes, node); + if ((_node$attributes = node.attributes) != null && _node$attributes.length) { + this.space(); + this.word("with"); + this.space(); + this.printList(node.attributes, node); + } } - this.semicolon(); } diff --git a/tools/node_modules/@babel/core/node_modules/@babel/generator/lib/generators/statements.js b/tools/node_modules/@babel/core/node_modules/@babel/generator/lib/generators/statements.js index 3a9dbfa8358640..7d2a19e45d5806 100644 --- a/tools/node_modules/@babel/core/node_modules/@babel/generator/lib/generators/statements.js +++ b/tools/node_modules/@babel/core/node_modules/@babel/generator/lib/generators/statements.js @@ -18,11 +18,7 @@ exports.VariableDeclaration = VariableDeclaration; exports.VariableDeclarator = VariableDeclarator; exports.ThrowStatement = exports.BreakStatement = exports.ReturnStatement = exports.ContinueStatement = exports.ForOfStatement = exports.ForInStatement = void 0; -var t = _interopRequireWildcard(require("@babel/types")); - -function _getRequireWildcardCache() { if (typeof WeakMap !== "function") return null; var cache = new WeakMap(); _getRequireWildcardCache = function () { return cache; }; return cache; } - -function _interopRequireWildcard(obj) { if (obj && obj.__esModule) { return obj; } if (obj === null || typeof obj !== "object" && typeof obj !== "function") { return { default: obj }; } var cache = _getRequireWildcardCache(); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj.default = obj; if (cache) { cache.set(obj, newObj); } return newObj; } +var t = require("@babel/types"); function WithStatement(node) { this.word("with"); @@ -294,7 +290,11 @@ function VariableDeclaration(node, parent) { }); if (t.isFor(parent)) { - if (parent.left === node || parent.init === node) return; + if (t.isForStatement(parent)) { + if (parent.init === node) return; + } else { + if (parent.left === node) return; + } } this.semicolon(); diff --git a/tools/node_modules/@babel/core/node_modules/@babel/generator/lib/generators/template-literals.js b/tools/node_modules/@babel/core/node_modules/@babel/generator/lib/generators/template-literals.js index 054330362d60d2..a7b571e43a4a8a 100644 --- a/tools/node_modules/@babel/core/node_modules/@babel/generator/lib/generators/template-literals.js +++ b/tools/node_modules/@babel/core/node_modules/@babel/generator/lib/generators/template-literals.js @@ -7,6 +7,8 @@ exports.TaggedTemplateExpression = TaggedTemplateExpression; exports.TemplateElement = TemplateElement; exports.TemplateLiteral = TemplateLiteral; +var t = require("@babel/types"); + function TaggedTemplateExpression(node) { this.print(node.tag, node); this.print(node.typeParameters, node); diff --git a/tools/node_modules/@babel/core/node_modules/@babel/generator/lib/generators/types.js b/tools/node_modules/@babel/core/node_modules/@babel/generator/lib/generators/types.js index ef3054b83273e2..34c0913917e978 100644 --- a/tools/node_modules/@babel/core/node_modules/@babel/generator/lib/generators/types.js +++ b/tools/node_modules/@babel/core/node_modules/@babel/generator/lib/generators/types.js @@ -23,15 +23,9 @@ exports.PipelineTopicExpression = PipelineTopicExpression; exports.PipelineBareFunction = PipelineBareFunction; exports.PipelinePrimaryTopicReference = PipelinePrimaryTopicReference; -var t = _interopRequireWildcard(require("@babel/types")); +var t = require("@babel/types"); -var _jsesc = _interopRequireDefault(require("jsesc")); - -function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } - -function _getRequireWildcardCache() { if (typeof WeakMap !== "function") return null; var cache = new WeakMap(); _getRequireWildcardCache = function () { return cache; }; return cache; } - -function _interopRequireWildcard(obj) { if (obj && obj.__esModule) { return obj; } if (obj === null || typeof obj !== "object" && typeof obj !== "function") { return { default: obj }; } var cache = _getRequireWildcardCache(); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj.default = obj; if (cache) { cache.set(obj, newObj); } return newObj; } +var _jsesc = require("jsesc"); function Identifier(node) { this.exactSource(node.loc, () => { @@ -200,7 +194,7 @@ function NumericLiteral(node) { const value = node.value + ""; if (opts.numbers) { - this.number((0, _jsesc.default)(node.value, opts)); + this.number(_jsesc(node.value, opts)); } else if (raw == null) { this.number(value); } else if (this.format.minified) { @@ -218,9 +212,10 @@ function StringLiteral(node) { return; } - const val = (0, _jsesc.default)(node.value, Object.assign(this.format.jsescOption, this.format.jsonCompatibleStrings && { + const val = _jsesc(node.value, Object.assign(this.format.jsescOption, this.format.jsonCompatibleStrings && { json: true })); + return this.token(val); } diff --git a/tools/node_modules/@babel/core/node_modules/@babel/generator/lib/generators/typescript.js b/tools/node_modules/@babel/core/node_modules/@babel/generator/lib/generators/typescript.js index 4e938e6fa2ab05..ed1d6a48e4edfc 100644 --- a/tools/node_modules/@babel/core/node_modules/@babel/generator/lib/generators/typescript.js +++ b/tools/node_modules/@babel/core/node_modules/@babel/generator/lib/generators/typescript.js @@ -73,6 +73,8 @@ exports.TSNamespaceExportDeclaration = TSNamespaceExportDeclaration; exports.tsPrintSignatureDeclarationBase = tsPrintSignatureDeclarationBase; exports.tsPrintClassMemberModifiers = tsPrintClassMemberModifiers; +var t = require("@babel/types"); + function TSTypeAnnotation(node) { this.token(":"); this.space(); @@ -194,6 +196,15 @@ function tsPrintPropertyOrMethodName(node) { } function TSMethodSignature(node) { + const { + kind + } = node; + + if (kind === "set" || kind === "get") { + this.word(kind); + this.space(); + } + this.tsPrintPropertyOrMethodName(node); this.tsPrintSignatureDeclarationBase(node); this.token(";"); @@ -201,9 +212,15 @@ function TSMethodSignature(node) { function TSIndexSignature(node) { const { - readonly + readonly, + static: isStatic } = node; + if (isStatic) { + this.word("static"); + this.space(); + } + if (readonly) { this.word("readonly"); this.space(); @@ -279,6 +296,11 @@ function TSFunctionType(node) { } function TSConstructorType(node) { + if (node.abstract) { + this.word("abstract"); + this.space(); + } + this.word("new"); this.space(); this.tsPrintFunctionOrConstructorType(node); @@ -522,7 +544,7 @@ function TSInterfaceDeclaration(node) { this.print(id, node); this.print(typeParameters, node); - if (extendz) { + if (extendz != null && extendz.length) { this.space(); this.word("extends"); this.space(); @@ -769,6 +791,11 @@ function tsPrintClassMemberModifiers(node, isField) { this.space(); } + if (node.override) { + this.word("override"); + this.space(); + } + if (node.abstract) { this.word("abstract"); this.space(); diff --git a/tools/node_modules/@babel/core/node_modules/@babel/generator/lib/index.js b/tools/node_modules/@babel/core/node_modules/@babel/generator/lib/index.js index b3fcd73b364610..2b653a7370161b 100644 --- a/tools/node_modules/@babel/core/node_modules/@babel/generator/lib/index.js +++ b/tools/node_modules/@babel/core/node_modules/@babel/generator/lib/index.js @@ -3,14 +3,12 @@ Object.defineProperty(exports, "__esModule", { value: true }); -exports.default = _default; +exports.default = generate; exports.CodeGenerator = void 0; -var _sourceMap = _interopRequireDefault(require("./source-map")); +var _sourceMap = require("./source-map"); -var _printer = _interopRequireDefault(require("./printer")); - -function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } +var _printer = require("./printer"); class Generator extends _printer.default { constructor(ast, opts = {}, code) { @@ -46,7 +44,8 @@ function normalizeOptions(code, opts) { decoratorsBeforeExport: !!opts.decoratorsBeforeExport, jsescOption: Object.assign({ quotes: "double", - wrap: true + wrap: true, + minimal: false }, opts.jsescOption), recordAndTupleSyntaxType: opts.recordAndTupleSyntaxType }; @@ -79,6 +78,7 @@ function normalizeOptions(code, opts) { class CodeGenerator { constructor(ast, opts, code) { + this._generator = void 0; this._generator = new Generator(ast, opts, code); } @@ -90,7 +90,7 @@ class CodeGenerator { exports.CodeGenerator = CodeGenerator; -function _default(ast, opts, code) { +function generate(ast, opts, code) { const gen = new Generator(ast, opts, code); return gen.generate(); } \ No newline at end of file diff --git a/tools/node_modules/@babel/core/node_modules/@babel/generator/lib/node/index.js b/tools/node_modules/@babel/core/node_modules/@babel/generator/lib/node/index.js index 1cbc55ecc3fa61..037691627bff01 100644 --- a/tools/node_modules/@babel/core/node_modules/@babel/generator/lib/node/index.js +++ b/tools/node_modules/@babel/core/node_modules/@babel/generator/lib/node/index.js @@ -8,15 +8,11 @@ exports.needsWhitespaceBefore = needsWhitespaceBefore; exports.needsWhitespaceAfter = needsWhitespaceAfter; exports.needsParens = needsParens; -var whitespace = _interopRequireWildcard(require("./whitespace")); +var whitespace = require("./whitespace"); -var parens = _interopRequireWildcard(require("./parentheses")); +var parens = require("./parentheses"); -var t = _interopRequireWildcard(require("@babel/types")); - -function _getRequireWildcardCache() { if (typeof WeakMap !== "function") return null; var cache = new WeakMap(); _getRequireWildcardCache = function () { return cache; }; return cache; } - -function _interopRequireWildcard(obj) { if (obj && obj.__esModule) { return obj; } if (obj === null || typeof obj !== "object" && typeof obj !== "function") { return { default: obj }; } var cache = _getRequireWildcardCache(); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj.default = obj; if (cache) { cache.set(obj, newObj); } return newObj; } +var t = require("@babel/types"); function expandAliases(obj) { const newObj = {}; diff --git a/tools/node_modules/@babel/core/node_modules/@babel/generator/lib/node/parentheses.js b/tools/node_modules/@babel/core/node_modules/@babel/generator/lib/node/parentheses.js index 9f848db204f0e5..ec899a4828581c 100644 --- a/tools/node_modules/@babel/core/node_modules/@babel/generator/lib/node/parentheses.js +++ b/tools/node_modules/@babel/core/node_modules/@babel/generator/lib/node/parentheses.js @@ -10,6 +10,7 @@ exports.ObjectExpression = ObjectExpression; exports.DoExpression = DoExpression; exports.Binary = Binary; exports.IntersectionTypeAnnotation = exports.UnionTypeAnnotation = UnionTypeAnnotation; +exports.OptionalIndexedAccessType = OptionalIndexedAccessType; exports.TSAsExpression = TSAsExpression; exports.TSTypeAssertion = TSTypeAssertion; exports.TSIntersectionType = exports.TSUnionType = TSUnionType; @@ -25,12 +26,9 @@ exports.ConditionalExpression = ConditionalExpression; exports.OptionalCallExpression = exports.OptionalMemberExpression = OptionalMemberExpression; exports.AssignmentExpression = AssignmentExpression; exports.LogicalExpression = LogicalExpression; +exports.Identifier = Identifier; -var t = _interopRequireWildcard(require("@babel/types")); - -function _getRequireWildcardCache() { if (typeof WeakMap !== "function") return null; var cache = new WeakMap(); _getRequireWildcardCache = function () { return cache; }; return cache; } - -function _interopRequireWildcard(obj) { if (obj && obj.__esModule) { return obj; } if (obj === null || typeof obj !== "object" && typeof obj !== "function") { return { default: obj }; } var cache = _getRequireWildcardCache(); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj.default = obj; if (cache) { cache.set(obj, newObj); } return newObj; } +var t = require("@babel/types"); const PRECEDENCE = { "||": 0, @@ -77,13 +75,16 @@ function UpdateExpression(node, parent) { } function ObjectExpression(node, parent, printStack) { - return isFirstInStatement(printStack, { - considerArrow: true + return isFirstInContext(printStack, { + expressionStatement: true, + arrowBody: true }); } function DoExpression(node, parent, printStack) { - return isFirstInStatement(printStack); + return !node.async && isFirstInContext(printStack, { + expressionStatement: true + }); } function Binary(node, parent) { @@ -117,6 +118,12 @@ function UnionTypeAnnotation(node, parent) { return t.isArrayTypeAnnotation(parent) || t.isNullableTypeAnnotation(parent) || t.isIntersectionTypeAnnotation(parent) || t.isUnionTypeAnnotation(parent); } +function OptionalIndexedAccessType(node, parent) { + return t.isIndexedAccessType(parent, { + objectType: node + }); +} + function TSAsExpression() { return true; } @@ -150,8 +157,9 @@ function YieldExpression(node, parent) { } function ClassExpression(node, parent, printStack) { - return isFirstInStatement(printStack, { - considerDefaultExports: true + return isFirstInContext(printStack, { + expressionStatement: true, + exportDefault: true }); } @@ -163,8 +171,9 @@ function UnaryLike(node, parent) { } function FunctionExpression(node, parent, printStack) { - return isFirstInStatement(printStack, { - considerDefaultExports: true + return isFirstInContext(printStack, { + expressionStatement: true, + exportDefault: true }); } @@ -190,11 +199,11 @@ function OptionalMemberExpression(node, parent) { }); } -function AssignmentExpression(node, parent, printStack) { +function AssignmentExpression(node, parent) { if (t.isObjectPattern(node.left)) { return true; } else { - return ConditionalExpression(node, parent, printStack); + return ConditionalExpression(node, parent); } } @@ -214,22 +223,53 @@ function LogicalExpression(node, parent) { } } -function isFirstInStatement(printStack, { - considerArrow = false, - considerDefaultExports = false -} = {}) { +function Identifier(node, parent, printStack) { + if (node.name === "let") { + const isFollowedByBracket = t.isMemberExpression(parent, { + object: node, + computed: true + }) || t.isOptionalMemberExpression(parent, { + object: node, + computed: true, + optional: false + }); + return isFirstInContext(printStack, { + expressionStatement: isFollowedByBracket, + forHead: isFollowedByBracket, + forInHead: isFollowedByBracket, + forOfHead: true + }); + } + + return node.name === "async" && t.isForOfStatement(parent) && node === parent.left; +} + +function isFirstInContext(printStack, { + expressionStatement = false, + arrowBody = false, + exportDefault = false, + forHead = false, + forInHead = false, + forOfHead = false +}) { let i = printStack.length - 1; let node = printStack[i]; i--; let parent = printStack[i]; while (i >= 0) { - if (t.isExpressionStatement(parent, { + if (expressionStatement && t.isExpressionStatement(parent, { expression: node - }) || considerDefaultExports && t.isExportDefaultDeclaration(parent, { + }) || exportDefault && t.isExportDefaultDeclaration(parent, { declaration: node - }) || considerArrow && t.isArrowFunctionExpression(parent, { + }) || arrowBody && t.isArrowFunctionExpression(parent, { body: node + }) || forHead && t.isForStatement(parent, { + init: node + }) || forInHead && t.isForInStatement(parent, { + left: node + }) || forOfHead && t.isForOfStatement(parent, { + left: node })) { return true; } diff --git a/tools/node_modules/@babel/core/node_modules/@babel/generator/lib/node/whitespace.js b/tools/node_modules/@babel/core/node_modules/@babel/generator/lib/node/whitespace.js index 92efe538a76baa..682f439d04b6f2 100644 --- a/tools/node_modules/@babel/core/node_modules/@babel/generator/lib/node/whitespace.js +++ b/tools/node_modules/@babel/core/node_modules/@babel/generator/lib/node/whitespace.js @@ -5,11 +5,7 @@ Object.defineProperty(exports, "__esModule", { }); exports.list = exports.nodes = void 0; -var t = _interopRequireWildcard(require("@babel/types")); - -function _getRequireWildcardCache() { if (typeof WeakMap !== "function") return null; var cache = new WeakMap(); _getRequireWildcardCache = function () { return cache; }; return cache; } - -function _interopRequireWildcard(obj) { if (obj && obj.__esModule) { return obj; } if (obj === null || typeof obj !== "object" && typeof obj !== "function") { return { default: obj }; } var cache = _getRequireWildcardCache(); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj.default = obj; if (cache) { cache.set(obj, newObj); } return newObj; } +var t = require("@babel/types"); function crawl(node, state = {}) { if (t.isMemberExpression(node) || t.isOptionalMemberExpression(node)) { @@ -62,7 +58,7 @@ const nodes = { SwitchCase(node, parent) { return { - before: node.consequent.length || parent.cases[0] === node, + before: !!node.consequent.length || parent.cases[0] === node, after: !node.consequent.length && parent.cases[parent.cases.length - 1] === node }; }, @@ -76,7 +72,7 @@ const nodes = { }, Literal(node) { - if (node.value === "use strict") { + if (t.isStringLiteral(node) && node.value === "use strict") { return { after: true }; @@ -143,7 +139,7 @@ nodes.ObjectProperty = nodes.ObjectTypeProperty = nodes.ObjectMethod = function nodes.ObjectTypeCallProperty = function (node, parent) { var _parent$properties; - if (parent.callProperties[0] === node && !((_parent$properties = parent.properties) == null ? void 0 : _parent$properties.length)) { + if (parent.callProperties[0] === node && !((_parent$properties = parent.properties) != null && _parent$properties.length)) { return { before: true }; @@ -153,7 +149,7 @@ nodes.ObjectTypeCallProperty = function (node, parent) { nodes.ObjectTypeIndexer = function (node, parent) { var _parent$properties2, _parent$callPropertie; - if (parent.indexers[0] === node && !((_parent$properties2 = parent.properties) == null ? void 0 : _parent$properties2.length) && !((_parent$callPropertie = parent.callProperties) == null ? void 0 : _parent$callPropertie.length)) { + if (parent.indexers[0] === node && !((_parent$properties2 = parent.properties) != null && _parent$properties2.length) && !((_parent$callPropertie = parent.callProperties) != null && _parent$callPropertie.length)) { return { before: true }; @@ -163,7 +159,7 @@ nodes.ObjectTypeIndexer = function (node, parent) { nodes.ObjectTypeInternalSlot = function (node, parent) { var _parent$properties3, _parent$callPropertie2, _parent$indexers; - if (parent.internalSlots[0] === node && !((_parent$properties3 = parent.properties) == null ? void 0 : _parent$properties3.length) && !((_parent$callPropertie2 = parent.callProperties) == null ? void 0 : _parent$callPropertie2.length) && !((_parent$indexers = parent.indexers) == null ? void 0 : _parent$indexers.length)) { + if (parent.internalSlots[0] === node && !((_parent$properties3 = parent.properties) != null && _parent$properties3.length) && !((_parent$callPropertie2 = parent.callProperties) != null && _parent$callPropertie2.length) && !((_parent$indexers = parent.indexers) != null && _parent$indexers.length)) { return { before: true }; diff --git a/tools/node_modules/@babel/core/node_modules/@babel/generator/lib/printer.js b/tools/node_modules/@babel/core/node_modules/@babel/generator/lib/printer.js index 65ccd2327d427f..7bbab4efebb522 100644 --- a/tools/node_modules/@babel/core/node_modules/@babel/generator/lib/printer.js +++ b/tools/node_modules/@babel/core/node_modules/@babel/generator/lib/printer.js @@ -5,19 +5,13 @@ Object.defineProperty(exports, "__esModule", { }); exports.default = void 0; -var _buffer = _interopRequireDefault(require("./buffer")); +var _buffer = require("./buffer"); -var n = _interopRequireWildcard(require("./node")); +var n = require("./node"); -var t = _interopRequireWildcard(require("@babel/types")); +var t = require("@babel/types"); -var generatorFunctions = _interopRequireWildcard(require("./generators")); - -function _getRequireWildcardCache() { if (typeof WeakMap !== "function") return null; var cache = new WeakMap(); _getRequireWildcardCache = function () { return cache; }; return cache; } - -function _interopRequireWildcard(obj) { if (obj && obj.__esModule) { return obj; } if (obj === null || typeof obj !== "object" && typeof obj !== "function") { return { default: obj }; } var cache = _getRequireWildcardCache(); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj.default = obj; if (cache) { cache.set(obj, newObj); } return newObj; } - -function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } +var generatorFunctions = require("./generators"); const SCIENTIFIC_NOTATION = /e/i; const ZERO_DECIMAL_INTEGER = /\.0+$/; @@ -30,14 +24,13 @@ class Printer { this._printStack = []; this._indent = 0; this._insideAux = false; - this._printedCommentStarts = {}; this._parenPushNewlineState = null; this._noLineTerminator = false; this._printAuxAfterOnNextUserNode = false; this._printedComments = new WeakSet(); this._endsWithInteger = false; this._endsWithWord = false; - this.format = format || {}; + this.format = format; this._buf = new _buffer.default(map); } @@ -244,7 +237,7 @@ class Printer { endTerminatorless(state) { this._noLineTerminator = false; - if (state == null ? void 0 : state.printed) { + if (state != null && state.printed) { this.dedent(); this.newline(); this.token(")"); @@ -337,7 +330,7 @@ class Printer { } printJoin(nodes, parent, opts = {}) { - if (!(nodes == null ? void 0 : nodes.length)) return; + if (!(nodes != null && nodes.length)) return; if (opts.indent) this.indent(); const newlineOpts = { addNewlines: opts.addNewlines @@ -391,7 +384,7 @@ class Printer { printInnerComments(node, indent = true) { var _node$innerComments; - if (!((_node$innerComments = node.innerComments) == null ? void 0 : _node$innerComments.length)) return; + if (!((_node$innerComments = node.innerComments) != null && _node$innerComments.length)) return; if (indent) this.indent(); this._printComments(node.innerComments); @@ -443,11 +436,6 @@ class Printer { this._printedComments.add(comment); - if (comment.start != null) { - if (this._printedCommentStarts[comment.start]) return; - this._printedCommentStarts[comment.start] = true; - } - const isBlockComment = comment.type === "CommentBlock"; const printNewLines = isBlockComment && !skipNewLines && !this._noLineTerminator; if (printNewLines && this._buf.hasContent()) this.newline(1); @@ -476,7 +464,7 @@ class Printer { } _printComments(comments, inlinePureAnnotation) { - if (!(comments == null ? void 0 : comments.length)) return; + if (!(comments != null && comments.length)) return; if (inlinePureAnnotation && comments.length === 1 && PURE_ANNOTATION_RE.test(comments[0].value)) { this._printComment(comments[0], this._buf.hasContent() && !this.endsWith("\n")); @@ -490,7 +478,7 @@ class Printer { printAssertions(node) { var _node$assertions; - if ((_node$assertions = node.assertions) == null ? void 0 : _node$assertions.length) { + if ((_node$assertions = node.assertions) != null && _node$assertions.length) { this.space(); this.word("assert"); this.space(); @@ -504,8 +492,12 @@ class Printer { } -exports.default = Printer; Object.assign(Printer.prototype, generatorFunctions); +{ + Printer.prototype.Noop = function Noop() {}; +} +var _default = Printer; +exports.default = _default; function commaSeparator() { this.token(","); diff --git a/tools/node_modules/@babel/core/node_modules/@babel/generator/lib/source-map.js b/tools/node_modules/@babel/core/node_modules/@babel/generator/lib/source-map.js index 7a0a240b0e45ef..99da1defd77e35 100644 --- a/tools/node_modules/@babel/core/node_modules/@babel/generator/lib/source-map.js +++ b/tools/node_modules/@babel/core/node_modules/@babel/generator/lib/source-map.js @@ -5,12 +5,17 @@ Object.defineProperty(exports, "__esModule", { }); exports.default = void 0; -var _sourceMap = _interopRequireDefault(require("source-map")); - -function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } +var _sourceMap = require("source-map"); class SourceMap { constructor(opts, code) { + this._cachedMap = void 0; + this._code = void 0; + this._opts = void 0; + this._rawMappings = void 0; + this._lastGenLine = void 0; + this._lastSourceLine = void 0; + this._lastSourceColumn = void 0; this._cachedMap = null; this._code = code; this._opts = opts; @@ -19,7 +24,7 @@ class SourceMap { get() { if (!this._cachedMap) { - const map = this._cachedMap = new _sourceMap.default.SourceMapGenerator({ + const map = this._cachedMap = new _sourceMap.SourceMapGenerator({ sourceRoot: this._opts.sourceRoot }); const code = this._code; diff --git a/tools/node_modules/@babel/core/node_modules/@babel/generator/package.json b/tools/node_modules/@babel/core/node_modules/@babel/generator/package.json index 96f3acfa11306c..c7f02425f5fc2b 100644 --- a/tools/node_modules/@babel/core/node_modules/@babel/generator/package.json +++ b/tools/node_modules/@babel/core/node_modules/@babel/generator/package.json @@ -1,9 +1,8 @@ { "name": "@babel/generator", - "version": "7.12.11", + "version": "7.14.5", "description": "Turns an AST into code.", - "author": "Sebastian McKenzie ", - "homepage": "https://babeljs.io/", + "author": "The Babel Team (https://babel.dev/team)", "license": "MIT", "publishConfig": { "access": "public" @@ -13,17 +12,24 @@ "url": "https://github.com/babel/babel.git", "directory": "packages/babel-generator" }, - "main": "lib/index.js", + "homepage": "https://babel.dev/docs/en/next/babel-generator", + "bugs": "https://github.com/babel/babel/issues?utf8=%E2%9C%93&q=is%3Aissue+label%3A%22pkg%3A%20generator%22+is%3Aopen", + "main": "./lib/index.js", "files": [ "lib" ], "dependencies": { - "@babel/types": "^7.12.11", + "@babel/types": "^7.14.5", "jsesc": "^2.5.1", "source-map": "^0.5.0" }, "devDependencies": { - "@babel/helper-fixtures": "7.12.10", - "@babel/parser": "7.12.11" + "@babel/helper-fixtures": "7.14.5", + "@babel/parser": "7.14.5", + "@types/jsesc": "^2.5.0", + "@types/source-map": "^0.5.0" + }, + "engines": { + "node": ">=6.9.0" } } \ No newline at end of file diff --git a/tools/node_modules/@babel/core/node_modules/@babel/helper-compilation-targets/LICENSE b/tools/node_modules/@babel/core/node_modules/@babel/helper-compilation-targets/LICENSE new file mode 100644 index 00000000000000..f31575ec773bb1 --- /dev/null +++ b/tools/node_modules/@babel/core/node_modules/@babel/helper-compilation-targets/LICENSE @@ -0,0 +1,22 @@ +MIT License + +Copyright (c) 2014-present Sebastian McKenzie and other contributors + +Permission is hereby granted, free of charge, to any person obtaining +a copy of this software and associated documentation files (the +"Software"), to deal in the Software without restriction, including +without limitation the rights to use, copy, modify, merge, publish, +distribute, sublicense, and/or sell copies of the Software, and to +permit persons to whom the Software is furnished to do so, subject to +the following conditions: + +The above copyright notice and this permission notice shall be +included in all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, +EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF +MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND +NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE +LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION +OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION +WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. diff --git a/tools/node_modules/@babel/core/node_modules/@babel/helper-compilation-targets/README.md b/tools/node_modules/@babel/core/node_modules/@babel/helper-compilation-targets/README.md new file mode 100644 index 00000000000000..af386ab08b49f7 --- /dev/null +++ b/tools/node_modules/@babel/core/node_modules/@babel/helper-compilation-targets/README.md @@ -0,0 +1,19 @@ +# @babel/helper-compilation-targets + +> Helper functions on Babel compilation targets + +See our website [@babel/helper-compilation-targets](https://babeljs.io/docs/en/babel-helper-compilation-targets) for more information. + +## Install + +Using npm: + +```sh +npm install @babel/helper-compilation-targets +``` + +or using yarn: + +```sh +yarn add @babel/helper-compilation-targets +``` diff --git a/tools/node_modules/@babel/core/node_modules/@babel/helper-compilation-targets/lib/debug.js b/tools/node_modules/@babel/core/node_modules/@babel/helper-compilation-targets/lib/debug.js new file mode 100644 index 00000000000000..4e05fdd557e845 --- /dev/null +++ b/tools/node_modules/@babel/core/node_modules/@babel/helper-compilation-targets/lib/debug.js @@ -0,0 +1,33 @@ +"use strict"; + +Object.defineProperty(exports, "__esModule", { + value: true +}); +exports.getInclusionReasons = getInclusionReasons; + +var _semver = require("semver"); + +var _pretty = require("./pretty"); + +var _utils = require("./utils"); + +function getInclusionReasons(item, targetVersions, list) { + const minVersions = list[item] || {}; + return Object.keys(targetVersions).reduce((result, env) => { + const minVersion = (0, _utils.getLowestImplementedVersion)(minVersions, env); + const targetVersion = targetVersions[env]; + + if (!minVersion) { + result[env] = (0, _pretty.prettifyVersion)(targetVersion); + } else { + const minIsUnreleased = (0, _utils.isUnreleasedVersion)(minVersion, env); + const targetIsUnreleased = (0, _utils.isUnreleasedVersion)(targetVersion, env); + + if (!targetIsUnreleased && (minIsUnreleased || _semver.lt(targetVersion.toString(), (0, _utils.semverify)(minVersion)))) { + result[env] = (0, _pretty.prettifyVersion)(targetVersion); + } + } + + return result; + }, {}); +} \ No newline at end of file diff --git a/tools/node_modules/@babel/core/node_modules/@babel/helper-compilation-targets/lib/filter-items.js b/tools/node_modules/@babel/core/node_modules/@babel/helper-compilation-targets/lib/filter-items.js new file mode 100644 index 00000000000000..12be2e26b104d8 --- /dev/null +++ b/tools/node_modules/@babel/core/node_modules/@babel/helper-compilation-targets/lib/filter-items.js @@ -0,0 +1,88 @@ +"use strict"; + +Object.defineProperty(exports, "__esModule", { + value: true +}); +exports.targetsSupported = targetsSupported; +exports.isRequired = isRequired; +exports.default = filterItems; + +var _semver = require("semver"); + +var _plugins = require("@babel/compat-data/plugins"); + +var _utils = require("./utils"); + +function targetsSupported(target, support) { + const targetEnvironments = Object.keys(target); + + if (targetEnvironments.length === 0) { + return false; + } + + const unsupportedEnvironments = targetEnvironments.filter(environment => { + const lowestImplementedVersion = (0, _utils.getLowestImplementedVersion)(support, environment); + + if (!lowestImplementedVersion) { + return true; + } + + const lowestTargetedVersion = target[environment]; + + if ((0, _utils.isUnreleasedVersion)(lowestTargetedVersion, environment)) { + return false; + } + + if ((0, _utils.isUnreleasedVersion)(lowestImplementedVersion, environment)) { + return true; + } + + if (!_semver.valid(lowestTargetedVersion.toString())) { + throw new Error(`Invalid version passed for target "${environment}": "${lowestTargetedVersion}". ` + "Versions must be in semver format (major.minor.patch)"); + } + + return _semver.gt((0, _utils.semverify)(lowestImplementedVersion), lowestTargetedVersion.toString()); + }); + return unsupportedEnvironments.length === 0; +} + +function isRequired(name, targets, { + compatData = _plugins, + includes, + excludes +} = {}) { + if (excludes != null && excludes.has(name)) return false; + if (includes != null && includes.has(name)) return true; + return !targetsSupported(targets, compatData[name]); +} + +function filterItems(list, includes, excludes, targets, defaultIncludes, defaultExcludes, pluginSyntaxMap) { + const result = new Set(); + const options = { + compatData: list, + includes, + excludes + }; + + for (const item in list) { + if (isRequired(item, targets, options)) { + result.add(item); + } else if (pluginSyntaxMap) { + const shippedProposalsSyntax = pluginSyntaxMap.get(item); + + if (shippedProposalsSyntax) { + result.add(shippedProposalsSyntax); + } + } + } + + if (defaultIncludes) { + defaultIncludes.forEach(item => !excludes.has(item) && result.add(item)); + } + + if (defaultExcludes) { + defaultExcludes.forEach(item => !includes.has(item) && result.delete(item)); + } + + return result; +} \ No newline at end of file diff --git a/tools/node_modules/@babel/core/node_modules/@babel/helper-compilation-targets/lib/index.js b/tools/node_modules/@babel/core/node_modules/@babel/helper-compilation-targets/lib/index.js new file mode 100644 index 00000000000000..9859bb500c1506 --- /dev/null +++ b/tools/node_modules/@babel/core/node_modules/@babel/helper-compilation-targets/lib/index.js @@ -0,0 +1,254 @@ +"use strict"; + +Object.defineProperty(exports, "__esModule", { + value: true +}); +exports.isBrowsersQueryValid = isBrowsersQueryValid; +exports.default = getTargets; +Object.defineProperty(exports, "unreleasedLabels", { + enumerable: true, + get: function () { + return _targets.unreleasedLabels; + } +}); +Object.defineProperty(exports, "TargetNames", { + enumerable: true, + get: function () { + return _options.TargetNames; + } +}); +Object.defineProperty(exports, "prettifyTargets", { + enumerable: true, + get: function () { + return _pretty.prettifyTargets; + } +}); +Object.defineProperty(exports, "getInclusionReasons", { + enumerable: true, + get: function () { + return _debug.getInclusionReasons; + } +}); +Object.defineProperty(exports, "filterItems", { + enumerable: true, + get: function () { + return _filterItems.default; + } +}); +Object.defineProperty(exports, "isRequired", { + enumerable: true, + get: function () { + return _filterItems.isRequired; + } +}); + +var _browserslist = require("browserslist"); + +var _helperValidatorOption = require("@babel/helper-validator-option"); + +var _nativeModules = require("@babel/compat-data/native-modules"); + +var _utils = require("./utils"); + +var _targets = require("./targets"); + +var _options = require("./options"); + +var _pretty = require("./pretty"); + +var _debug = require("./debug"); + +var _filterItems = require("./filter-items"); + +const ESM_SUPPORT = _nativeModules["es6.module"]; +const v = new _helperValidatorOption.OptionValidator("@babel/helper-compilation-targets"); + +function validateTargetNames(targets) { + const validTargets = Object.keys(_options.TargetNames); + + for (const target of Object.keys(targets)) { + if (!(target in _options.TargetNames)) { + throw new Error(v.formatMessage(`'${target}' is not a valid target +- Did you mean '${(0, _helperValidatorOption.findSuggestion)(target, validTargets)}'?`)); + } + } + + return targets; +} + +function isBrowsersQueryValid(browsers) { + return typeof browsers === "string" || Array.isArray(browsers) && browsers.every(b => typeof b === "string"); +} + +function validateBrowsers(browsers) { + v.invariant(browsers === undefined || isBrowsersQueryValid(browsers), `'${String(browsers)}' is not a valid browserslist query`); + return browsers; +} + +function getLowestVersions(browsers) { + return browsers.reduce((all, browser) => { + const [browserName, browserVersion] = browser.split(" "); + const normalizedBrowserName = _targets.browserNameMap[browserName]; + + if (!normalizedBrowserName) { + return all; + } + + try { + const splitVersion = browserVersion.split("-")[0].toLowerCase(); + const isSplitUnreleased = (0, _utils.isUnreleasedVersion)(splitVersion, browserName); + + if (!all[normalizedBrowserName]) { + all[normalizedBrowserName] = isSplitUnreleased ? splitVersion : (0, _utils.semverify)(splitVersion); + return all; + } + + const version = all[normalizedBrowserName]; + const isUnreleased = (0, _utils.isUnreleasedVersion)(version, browserName); + + if (isUnreleased && isSplitUnreleased) { + all[normalizedBrowserName] = (0, _utils.getLowestUnreleased)(version, splitVersion, browserName); + } else if (isUnreleased) { + all[normalizedBrowserName] = (0, _utils.semverify)(splitVersion); + } else if (!isUnreleased && !isSplitUnreleased) { + const parsedBrowserVersion = (0, _utils.semverify)(splitVersion); + all[normalizedBrowserName] = (0, _utils.semverMin)(version, parsedBrowserVersion); + } + } catch (e) {} + + return all; + }, {}); +} + +function outputDecimalWarning(decimalTargets) { + if (!decimalTargets.length) { + return; + } + + console.warn("Warning, the following targets are using a decimal version:\n"); + decimalTargets.forEach(({ + target, + value + }) => console.warn(` ${target}: ${value}`)); + console.warn(` +We recommend using a string for minor/patch versions to avoid numbers like 6.10 +getting parsed as 6.1, which can lead to unexpected behavior. +`); +} + +function semverifyTarget(target, value) { + try { + return (0, _utils.semverify)(value); + } catch (error) { + throw new Error(v.formatMessage(`'${value}' is not a valid value for 'targets.${target}'.`)); + } +} + +const targetParserMap = { + __default(target, value) { + const version = (0, _utils.isUnreleasedVersion)(value, target) ? value.toLowerCase() : semverifyTarget(target, value); + return [target, version]; + }, + + node(target, value) { + const parsed = value === true || value === "current" ? process.versions.node : semverifyTarget(target, value); + return [target, parsed]; + } + +}; + +function generateTargets(inputTargets) { + const input = Object.assign({}, inputTargets); + delete input.esmodules; + delete input.browsers; + return input; +} + +function resolveTargets(queries) { + const resolved = _browserslist(queries, { + mobileToDesktop: true + }); + + return getLowestVersions(resolved); +} + +function getTargets(inputTargets = {}, options = {}) { + var _browsers; + + let { + browsers, + esmodules + } = inputTargets; + const { + configPath = "." + } = options; + validateBrowsers(browsers); + const input = generateTargets(inputTargets); + let targets = validateTargetNames(input); + const shouldParseBrowsers = !!browsers; + const hasTargets = shouldParseBrowsers || Object.keys(targets).length > 0; + const shouldSearchForConfig = !options.ignoreBrowserslistConfig && !hasTargets; + + if (!browsers && shouldSearchForConfig) { + browsers = _browserslist.loadConfig({ + config: options.configFile, + path: configPath, + env: options.browserslistEnv + }); + + if (browsers == null) { + { + browsers = []; + } + } + } + + if (esmodules && (esmodules !== "intersect" || !((_browsers = browsers) != null && _browsers.length))) { + browsers = Object.keys(ESM_SUPPORT).map(browser => `${browser} >= ${ESM_SUPPORT[browser]}`).join(", "); + esmodules = false; + } + + if (browsers) { + const queryBrowsers = resolveTargets(browsers); + + if (esmodules === "intersect") { + for (const browser of Object.keys(queryBrowsers)) { + const version = queryBrowsers[browser]; + + if (ESM_SUPPORT[browser]) { + queryBrowsers[browser] = (0, _utils.getHighestUnreleased)(version, (0, _utils.semverify)(ESM_SUPPORT[browser]), browser); + } else { + delete queryBrowsers[browser]; + } + } + } + + targets = Object.assign(queryBrowsers, targets); + } + + const result = {}; + const decimalWarnings = []; + + for (const target of Object.keys(targets).sort()) { + var _targetParserMap$targ; + + const value = targets[target]; + + if (typeof value === "number" && value % 1 !== 0) { + decimalWarnings.push({ + target, + value + }); + } + + const parser = (_targetParserMap$targ = targetParserMap[target]) != null ? _targetParserMap$targ : targetParserMap.__default; + const [parsedTarget, parsedValue] = parser(target, value); + + if (parsedValue) { + result[parsedTarget] = parsedValue; + } + } + + outputDecimalWarning(decimalWarnings); + return result; +} \ No newline at end of file diff --git a/tools/node_modules/@babel/core/node_modules/@babel/helper-compilation-targets/lib/options.js b/tools/node_modules/@babel/core/node_modules/@babel/helper-compilation-targets/lib/options.js new file mode 100644 index 00000000000000..fcabd96094366a --- /dev/null +++ b/tools/node_modules/@babel/core/node_modules/@babel/helper-compilation-targets/lib/options.js @@ -0,0 +1,20 @@ +"use strict"; + +Object.defineProperty(exports, "__esModule", { + value: true +}); +exports.TargetNames = void 0; +const TargetNames = { + node: "node", + chrome: "chrome", + opera: "opera", + edge: "edge", + firefox: "firefox", + safari: "safari", + ie: "ie", + ios: "ios", + android: "android", + electron: "electron", + samsung: "samsung" +}; +exports.TargetNames = TargetNames; \ No newline at end of file diff --git a/tools/node_modules/@babel/core/node_modules/@babel/helper-compilation-targets/lib/pretty.js b/tools/node_modules/@babel/core/node_modules/@babel/helper-compilation-targets/lib/pretty.js new file mode 100644 index 00000000000000..0dfd9208367111 --- /dev/null +++ b/tools/node_modules/@babel/core/node_modules/@babel/helper-compilation-targets/lib/pretty.js @@ -0,0 +1,47 @@ +"use strict"; + +Object.defineProperty(exports, "__esModule", { + value: true +}); +exports.prettifyVersion = prettifyVersion; +exports.prettifyTargets = prettifyTargets; + +var _semver = require("semver"); + +var _targets = require("./targets"); + +function prettifyVersion(version) { + if (typeof version !== "string") { + return version; + } + + const parts = [_semver.major(version)]; + + const minor = _semver.minor(version); + + const patch = _semver.patch(version); + + if (minor || patch) { + parts.push(minor); + } + + if (patch) { + parts.push(patch); + } + + return parts.join("."); +} + +function prettifyTargets(targets) { + return Object.keys(targets).reduce((results, target) => { + let value = targets[target]; + const unreleasedLabel = _targets.unreleasedLabels[target]; + + if (typeof value === "string" && unreleasedLabel !== value) { + value = prettifyVersion(value); + } + + results[target] = value; + return results; + }, {}); +} \ No newline at end of file diff --git a/tools/node_modules/@babel/core/node_modules/@babel/helper-compilation-targets/lib/targets.js b/tools/node_modules/@babel/core/node_modules/@babel/helper-compilation-targets/lib/targets.js new file mode 100644 index 00000000000000..9cd9e5443b44c0 --- /dev/null +++ b/tools/node_modules/@babel/core/node_modules/@babel/helper-compilation-targets/lib/targets.js @@ -0,0 +1,27 @@ +"use strict"; + +Object.defineProperty(exports, "__esModule", { + value: true +}); +exports.browserNameMap = exports.unreleasedLabels = void 0; +const unreleasedLabels = { + safari: "tp" +}; +exports.unreleasedLabels = unreleasedLabels; +const browserNameMap = { + and_chr: "chrome", + and_ff: "firefox", + android: "android", + chrome: "chrome", + edge: "edge", + firefox: "firefox", + ie: "ie", + ie_mob: "ie", + ios_saf: "ios", + node: "node", + op_mob: "opera", + opera: "opera", + safari: "safari", + samsung: "samsung" +}; +exports.browserNameMap = browserNameMap; \ No newline at end of file diff --git a/tools/node_modules/@babel/core/node_modules/@babel/helper-compilation-targets/lib/types.js b/tools/node_modules/@babel/core/node_modules/@babel/helper-compilation-targets/lib/types.js new file mode 100644 index 00000000000000..e69de29bb2d1d6 diff --git a/tools/node_modules/@babel/core/node_modules/@babel/helper-compilation-targets/lib/utils.js b/tools/node_modules/@babel/core/node_modules/@babel/helper-compilation-targets/lib/utils.js new file mode 100644 index 00000000000000..262ef44246ff6e --- /dev/null +++ b/tools/node_modules/@babel/core/node_modules/@babel/helper-compilation-targets/lib/utils.js @@ -0,0 +1,69 @@ +"use strict"; + +Object.defineProperty(exports, "__esModule", { + value: true +}); +exports.semverMin = semverMin; +exports.semverify = semverify; +exports.isUnreleasedVersion = isUnreleasedVersion; +exports.getLowestUnreleased = getLowestUnreleased; +exports.getHighestUnreleased = getHighestUnreleased; +exports.getLowestImplementedVersion = getLowestImplementedVersion; + +var _semver = require("semver"); + +var _helperValidatorOption = require("@babel/helper-validator-option"); + +var _targets = require("./targets"); + +const versionRegExp = /^(\d+|\d+.\d+)$/; +const v = new _helperValidatorOption.OptionValidator("@babel/helper-compilation-targets"); + +function semverMin(first, second) { + return first && _semver.lt(first, second) ? first : second; +} + +function semverify(version) { + if (typeof version === "string" && _semver.valid(version)) { + return version; + } + + v.invariant(typeof version === "number" || typeof version === "string" && versionRegExp.test(version), `'${version}' is not a valid version`); + const split = version.toString().split("."); + + while (split.length < 3) { + split.push("0"); + } + + return split.join("."); +} + +function isUnreleasedVersion(version, env) { + const unreleasedLabel = _targets.unreleasedLabels[env]; + return !!unreleasedLabel && unreleasedLabel === version.toString().toLowerCase(); +} + +function getLowestUnreleased(a, b, env) { + const unreleasedLabel = _targets.unreleasedLabels[env]; + const hasUnreleased = [a, b].some(item => item === unreleasedLabel); + + if (hasUnreleased) { + return a === hasUnreleased ? b : a || b; + } + + return semverMin(a, b); +} + +function getHighestUnreleased(a, b, env) { + return getLowestUnreleased(a, b, env) === a ? b : a; +} + +function getLowestImplementedVersion(plugin, environment) { + const result = plugin[environment]; + + if (!result && environment === "android") { + return plugin.chrome; + } + + return result; +} \ No newline at end of file diff --git a/tools/node_modules/@babel/core/node_modules/@babel/helper-compilation-targets/package.json b/tools/node_modules/@babel/core/node_modules/@babel/helper-compilation-targets/package.json new file mode 100644 index 00000000000000..4f5b2c6bdb377a --- /dev/null +++ b/tools/node_modules/@babel/core/node_modules/@babel/helper-compilation-targets/package.json @@ -0,0 +1,40 @@ +{ + "name": "@babel/helper-compilation-targets", + "version": "7.14.5", + "author": "The Babel Team (https://babel.dev/team)", + "license": "MIT", + "description": "Helper functions on Babel compilation targets", + "repository": { + "type": "git", + "url": "https://github.com/babel/babel.git", + "directory": "packages/babel-helper-compilation-targets" + }, + "main": "./lib/index.js", + "exports": { + ".": "./lib/index.js" + }, + "publishConfig": { + "access": "public" + }, + "keywords": [ + "babel", + "babel-plugin" + ], + "dependencies": { + "@babel/compat-data": "^7.14.5", + "@babel/helper-validator-option": "^7.14.5", + "browserslist": "^4.16.6", + "semver": "^6.3.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0" + }, + "devDependencies": { + "@babel/core": "7.14.5", + "@babel/helper-plugin-test-runner": "7.14.5", + "@types/semver": "^5.5.0" + }, + "engines": { + "node": ">=6.9.0" + } +} \ No newline at end of file diff --git a/tools/node_modules/@babel/core/node_modules/@babel/helper-function-name/lib/index.js b/tools/node_modules/@babel/core/node_modules/@babel/helper-function-name/lib/index.js index 00e1b5573ab64a..96457dfcdfbc05 100644 --- a/tools/node_modules/@babel/core/node_modules/@babel/helper-function-name/lib/index.js +++ b/tools/node_modules/@babel/core/node_modules/@babel/helper-function-name/lib/index.js @@ -5,17 +5,11 @@ Object.defineProperty(exports, "__esModule", { }); exports.default = _default; -var _helperGetFunctionArity = _interopRequireDefault(require("@babel/helper-get-function-arity")); +var _helperGetFunctionArity = require("@babel/helper-get-function-arity"); -var _template = _interopRequireDefault(require("@babel/template")); +var _template = require("@babel/template"); -var t = _interopRequireWildcard(require("@babel/types")); - -function _getRequireWildcardCache() { if (typeof WeakMap !== "function") return null; var cache = new WeakMap(); _getRequireWildcardCache = function () { return cache; }; return cache; } - -function _interopRequireWildcard(obj) { if (obj && obj.__esModule) { return obj; } if (obj === null || typeof obj !== "object" && typeof obj !== "function") { return { default: obj }; } var cache = _getRequireWildcardCache(); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj.default = obj; if (cache) { cache.set(obj, newObj); } return newObj; } - -function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } +var t = require("@babel/types"); const buildPropertyMethodAssignmentWrapper = (0, _template.default)(` (function (FUNCTION_KEY) { diff --git a/tools/node_modules/@babel/core/node_modules/@babel/helper-function-name/package.json b/tools/node_modules/@babel/core/node_modules/@babel/helper-function-name/package.json index 42b3e100e1ced0..829ff5bc6cdc65 100644 --- a/tools/node_modules/@babel/core/node_modules/@babel/helper-function-name/package.json +++ b/tools/node_modules/@babel/core/node_modules/@babel/helper-function-name/package.json @@ -1,20 +1,25 @@ { "name": "@babel/helper-function-name", - "version": "7.12.11", + "version": "7.14.5", "description": "Helper function to change the property 'name' of every function", "repository": { "type": "git", "url": "https://github.com/babel/babel.git", "directory": "packages/babel-helper-function-name" }, + "homepage": "https://babel.dev/docs/en/next/babel-helper-function-name", "license": "MIT", "publishConfig": { "access": "public" }, - "main": "lib/index.js", + "main": "./lib/index.js", "dependencies": { - "@babel/helper-get-function-arity": "^7.12.10", - "@babel/template": "^7.12.7", - "@babel/types": "^7.12.11" - } + "@babel/helper-get-function-arity": "^7.14.5", + "@babel/template": "^7.14.5", + "@babel/types": "^7.14.5" + }, + "engines": { + "node": ">=6.9.0" + }, + "author": "The Babel Team (https://babel.dev/team)" } \ No newline at end of file diff --git a/tools/node_modules/@babel/core/node_modules/@babel/helper-get-function-arity/lib/index.js b/tools/node_modules/@babel/core/node_modules/@babel/helper-get-function-arity/lib/index.js index 46e71dce2bff0e..69516c6ee57eeb 100644 --- a/tools/node_modules/@babel/core/node_modules/@babel/helper-get-function-arity/lib/index.js +++ b/tools/node_modules/@babel/core/node_modules/@babel/helper-get-function-arity/lib/index.js @@ -5,11 +5,7 @@ Object.defineProperty(exports, "__esModule", { }); exports.default = _default; -var t = _interopRequireWildcard(require("@babel/types")); - -function _getRequireWildcardCache() { if (typeof WeakMap !== "function") return null; var cache = new WeakMap(); _getRequireWildcardCache = function () { return cache; }; return cache; } - -function _interopRequireWildcard(obj) { if (obj && obj.__esModule) { return obj; } if (obj === null || typeof obj !== "object" && typeof obj !== "function") { return { default: obj }; } var cache = _getRequireWildcardCache(); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj.default = obj; if (cache) { cache.set(obj, newObj); } return newObj; } +var t = require("@babel/types"); function _default(node) { const params = node.params; diff --git a/tools/node_modules/@babel/core/node_modules/@babel/helper-get-function-arity/package.json b/tools/node_modules/@babel/core/node_modules/@babel/helper-get-function-arity/package.json index 736839ec5ff305..672eae201a6f21 100644 --- a/tools/node_modules/@babel/core/node_modules/@babel/helper-get-function-arity/package.json +++ b/tools/node_modules/@babel/core/node_modules/@babel/helper-get-function-arity/package.json @@ -1,18 +1,23 @@ { "name": "@babel/helper-get-function-arity", - "version": "7.12.10", + "version": "7.14.5", "description": "Helper function to get function arity", "repository": { "type": "git", "url": "https://github.com/babel/babel.git", "directory": "packages/babel-helper-get-function-arity" }, + "homepage": "https://babel.dev/docs/en/next/babel-helper-get-function-arity", "license": "MIT", "publishConfig": { "access": "public" }, - "main": "lib/index.js", + "main": "./lib/index.js", "dependencies": { - "@babel/types": "^7.12.10" - } + "@babel/types": "^7.14.5" + }, + "engines": { + "node": ">=6.9.0" + }, + "author": "The Babel Team (https://babel.dev/team)" } \ No newline at end of file diff --git a/tools/node_modules/@babel/core/node_modules/@babel/helper-hoist-variables/LICENSE b/tools/node_modules/@babel/core/node_modules/@babel/helper-hoist-variables/LICENSE new file mode 100644 index 00000000000000..f31575ec773bb1 --- /dev/null +++ b/tools/node_modules/@babel/core/node_modules/@babel/helper-hoist-variables/LICENSE @@ -0,0 +1,22 @@ +MIT License + +Copyright (c) 2014-present Sebastian McKenzie and other contributors + +Permission is hereby granted, free of charge, to any person obtaining +a copy of this software and associated documentation files (the +"Software"), to deal in the Software without restriction, including +without limitation the rights to use, copy, modify, merge, publish, +distribute, sublicense, and/or sell copies of the Software, and to +permit persons to whom the Software is furnished to do so, subject to +the following conditions: + +The above copyright notice and this permission notice shall be +included in all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, +EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF +MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND +NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE +LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION +OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION +WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. diff --git a/tools/node_modules/@babel/core/node_modules/@babel/helper-hoist-variables/README.md b/tools/node_modules/@babel/core/node_modules/@babel/helper-hoist-variables/README.md new file mode 100644 index 00000000000000..d3eb8fc4c93b69 --- /dev/null +++ b/tools/node_modules/@babel/core/node_modules/@babel/helper-hoist-variables/README.md @@ -0,0 +1,19 @@ +# @babel/helper-hoist-variables + +> Helper function to hoist variables + +See our website [@babel/helper-hoist-variables](https://babeljs.io/docs/en/babel-helper-hoist-variables) for more information. + +## Install + +Using npm: + +```sh +npm install --save-dev @babel/helper-hoist-variables +``` + +or using yarn: + +```sh +yarn add @babel/helper-hoist-variables --dev +``` diff --git a/tools/node_modules/@babel/core/node_modules/@babel/helper-hoist-variables/lib/index.js b/tools/node_modules/@babel/core/node_modules/@babel/helper-hoist-variables/lib/index.js new file mode 100644 index 00000000000000..02cfff57e6a723 --- /dev/null +++ b/tools/node_modules/@babel/core/node_modules/@babel/helper-hoist-variables/lib/index.js @@ -0,0 +1,53 @@ +"use strict"; + +Object.defineProperty(exports, "__esModule", { + value: true +}); +exports.default = hoistVariables; + +var t = require("@babel/types"); + +const visitor = { + Scope(path, state) { + if (state.kind === "let") path.skip(); + }, + + FunctionParent(path) { + path.skip(); + }, + + VariableDeclaration(path, state) { + if (state.kind && path.node.kind !== state.kind) return; + const nodes = []; + const declarations = path.get("declarations"); + let firstId; + + for (const declar of declarations) { + firstId = declar.node.id; + + if (declar.node.init) { + nodes.push(t.expressionStatement(t.assignmentExpression("=", declar.node.id, declar.node.init))); + } + + for (const name of Object.keys(declar.getBindingIdentifiers())) { + state.emit(t.identifier(name), name, declar.node.init !== null); + } + } + + if (path.parentPath.isFor({ + left: path.node + })) { + path.replaceWith(firstId); + } else { + path.replaceWithMultiple(nodes); + } + } + +}; + +function hoistVariables(path, emit, kind = "var") { + path.traverse(visitor, { + kind, + emit + }); +} \ No newline at end of file diff --git a/tools/node_modules/@babel/core/node_modules/@babel/helper-hoist-variables/package.json b/tools/node_modules/@babel/core/node_modules/@babel/helper-hoist-variables/package.json new file mode 100644 index 00000000000000..b37b734da1c25d --- /dev/null +++ b/tools/node_modules/@babel/core/node_modules/@babel/helper-hoist-variables/package.json @@ -0,0 +1,27 @@ +{ + "name": "@babel/helper-hoist-variables", + "version": "7.14.5", + "description": "Helper function to hoist variables", + "repository": { + "type": "git", + "url": "https://github.com/babel/babel.git", + "directory": "packages/babel-helper-hoist-variables" + }, + "homepage": "https://babel.dev/docs/en/next/babel-helper-hoist-variables", + "license": "MIT", + "publishConfig": { + "access": "public" + }, + "main": "./lib/index.js", + "dependencies": { + "@babel/types": "^7.14.5" + }, + "TODO": "The @babel/traverse dependency is only needed for the NodePath TS type. We can consider exporting it from @babel/core.", + "devDependencies": { + "@babel/traverse": "7.14.5" + }, + "engines": { + "node": ">=6.9.0" + }, + "author": "The Babel Team (https://babel.dev/team)" +} \ No newline at end of file diff --git a/tools/node_modules/@babel/core/node_modules/@babel/helper-member-expression-to-functions/lib/index.js b/tools/node_modules/@babel/core/node_modules/@babel/helper-member-expression-to-functions/lib/index.js index 827d7a2d2cd4a4..99507086d19725 100644 --- a/tools/node_modules/@babel/core/node_modules/@babel/helper-member-expression-to-functions/lib/index.js +++ b/tools/node_modules/@babel/core/node_modules/@babel/helper-member-expression-to-functions/lib/index.js @@ -4,6 +4,28 @@ Object.defineProperty(exports, '__esModule', { value: true }); var t = require('@babel/types'); +function _interopNamespace(e) { + if (e && e.__esModule) return e; + var n = Object.create(null); + if (e) { + Object.keys(e).forEach(function (k) { + if (k !== 'default') { + var d = Object.getOwnPropertyDescriptor(e, k); + Object.defineProperty(n, k, d.get ? d : { + enumerable: true, + get: function () { + return e[k]; + } + }); + } + }); + } + n['default'] = e; + return Object.freeze(n); +} + +var t__namespace = /*#__PURE__*/_interopNamespace(t); + function willPathCastToBoolean(path) { const maybeWrapped = path; const { @@ -45,6 +67,7 @@ function willPathCastToBoolean(path) { class AssignmentMemoiser { constructor() { + this._map = void 0; this._map = new WeakMap(); } @@ -63,7 +86,7 @@ class AssignmentMemoiser { record.count--; if (record.count === 0) { - return t.assignmentExpression("=", value, key); + return t__namespace.assignmentExpression("=", value, key); } return value; @@ -84,7 +107,7 @@ function toNonOptional(path, base) { } = path; if (path.isOptionalMemberExpression()) { - return t.memberExpression(base, node.property, node.computed); + return t__namespace.memberExpression(base, node.property, node.computed); } if (path.isOptionalCallExpression()) { @@ -95,11 +118,11 @@ function toNonOptional(path, base) { object } = callee.node; const context = path.scope.maybeGenerateMemoised(object) || object; - callee.get("object").replaceWith(t.assignmentExpression("=", context, object)); - return t.callExpression(t.memberExpression(base, t.identifier("call")), [context, ...node.arguments]); + callee.get("object").replaceWith(t__namespace.assignmentExpression("=", context, object)); + return t__namespace.callExpression(t__namespace.memberExpression(base, t__namespace.identifier("call")), [context, ...node.arguments]); } - return t.callExpression(base, node.arguments); + return t__namespace.callExpression(base, node.arguments); } return path.node; @@ -130,7 +153,7 @@ function isInDetachedTree(path) { const handle = { memoise() {}, - handle(member) { + handle(member, noDocumentAll) { const { node, parent, @@ -157,7 +180,7 @@ const handle = { }); if (scope.path.isPattern()) { - endPath.replaceWith(t.callExpression(t.arrowFunctionExpression([], endPath.node), [])); + endPath.replaceWith(t__namespace.callExpression(t__namespace.arrowFunctionExpression([], endPath.node), [])); return; } @@ -239,7 +262,7 @@ const handle = { let context; const endParentPath = endPath.parentPath; - if (t.isMemberExpression(regular) && endParentPath.isOptionalCallExpression({ + if (t__namespace.isMemberExpression(regular) && endParentPath.isOptionalCallExpression({ callee: endPath.node, optional: true })) { @@ -249,7 +272,7 @@ const handle = { context = member.scope.maybeGenerateMemoised(object); if (context) { - regular.object = t.assignmentExpression("=", context, object); + regular.object = t__namespace.assignmentExpression("=", context, object); } } @@ -260,17 +283,33 @@ const handle = { regular = endParentPath.node; } + const baseMemoised = baseNeedsMemoised ? t__namespace.assignmentExpression("=", t__namespace.cloneNode(baseRef), t__namespace.cloneNode(startingNode)) : t__namespace.cloneNode(baseRef); + if (willEndPathCastToBoolean) { - const nonNullishCheck = t.logicalExpression("&&", t.binaryExpression("!==", baseNeedsMemoised ? t.assignmentExpression("=", t.cloneNode(baseRef), t.cloneNode(startingNode)) : t.cloneNode(baseRef), t.nullLiteral()), t.binaryExpression("!==", t.cloneNode(baseRef), scope.buildUndefinedNode())); - replacementPath.replaceWith(t.logicalExpression("&&", nonNullishCheck, regular)); + let nonNullishCheck; + + if (noDocumentAll) { + nonNullishCheck = t__namespace.binaryExpression("!=", baseMemoised, t__namespace.nullLiteral()); + } else { + nonNullishCheck = t__namespace.logicalExpression("&&", t__namespace.binaryExpression("!==", baseMemoised, t__namespace.nullLiteral()), t__namespace.binaryExpression("!==", t__namespace.cloneNode(baseRef), scope.buildUndefinedNode())); + } + + replacementPath.replaceWith(t__namespace.logicalExpression("&&", nonNullishCheck, regular)); } else { - const nullishCheck = t.logicalExpression("||", t.binaryExpression("===", baseNeedsMemoised ? t.assignmentExpression("=", t.cloneNode(baseRef), t.cloneNode(startingNode)) : t.cloneNode(baseRef), t.nullLiteral()), t.binaryExpression("===", t.cloneNode(baseRef), scope.buildUndefinedNode())); - replacementPath.replaceWith(t.conditionalExpression(nullishCheck, isDeleteOperation ? t.booleanLiteral(true) : scope.buildUndefinedNode(), regular)); + let nullishCheck; + + if (noDocumentAll) { + nullishCheck = t__namespace.binaryExpression("==", baseMemoised, t__namespace.nullLiteral()); + } else { + nullishCheck = t__namespace.logicalExpression("||", t__namespace.binaryExpression("===", baseMemoised, t__namespace.nullLiteral()), t__namespace.binaryExpression("===", t__namespace.cloneNode(baseRef), scope.buildUndefinedNode())); + } + + replacementPath.replaceWith(t__namespace.conditionalExpression(nullishCheck, isDeleteOperation ? t__namespace.booleanLiteral(true) : scope.buildUndefinedNode(), regular)); } if (context) { const endParent = endParentPath.node; - endParentPath.replaceWith(t.optionalCallExpression(t.optionalMemberExpression(endParent.callee, t.identifier("call"), false, true), [t.cloneNode(context), ...endParent.arguments], false)); + endParentPath.replaceWith(t__namespace.optionalCallExpression(t__namespace.optionalMemberExpression(endParent.callee, t__namespace.identifier("call"), false, true), [t__namespace.cloneNode(context), ...endParent.arguments], false)); } return; @@ -289,7 +328,7 @@ const handle = { prefix } = parent; this.memoise(member, 2); - const value = t.binaryExpression(operator[0], t.unaryExpression("+", this.get(member)), t.numericLiteral(1)); + const value = t__namespace.binaryExpression(operator[0], t__namespace.unaryExpression("+", this.get(member)), t__namespace.numericLiteral(1)); if (prefix) { parentPath.replaceWith(this.set(member, value)); @@ -301,8 +340,8 @@ const handle = { scope.push({ id: ref }); - value.left = t.assignmentExpression("=", t.cloneNode(ref), value.left); - parentPath.replaceWith(t.sequenceExpression([this.set(member, value), t.cloneNode(ref)])); + value.left = t__namespace.assignmentExpression("=", t__namespace.cloneNode(ref), value.left); + parentPath.replaceWith(t__namespace.sequenceExpression([this.set(member, value), t__namespace.cloneNode(ref)])); } return; @@ -326,12 +365,12 @@ const handle = { } else { const operatorTrunc = operator.slice(0, -1); - if (t.LOGICAL_OPERATORS.includes(operatorTrunc)) { + if (t__namespace.LOGICAL_OPERATORS.includes(operatorTrunc)) { this.memoise(member, 1); - parentPath.replaceWith(t.logicalExpression(operatorTrunc, this.get(member), this.set(member, value))); + parentPath.replaceWith(t__namespace.logicalExpression(operatorTrunc, this.get(member), this.set(member, value))); } else { this.memoise(member, 2); - parentPath.replaceWith(this.set(member, t.binaryExpression(operatorTrunc, this.get(member), value))); + parentPath.replaceWith(this.set(member, t__namespace.binaryExpression(operatorTrunc, this.get(member), value))); } } @@ -349,7 +388,7 @@ const handle = { callee: node })) { if (scope.path.isPattern()) { - parentPath.replaceWith(t.callExpression(t.arrowFunctionExpression([], parentPath.node), [])); + parentPath.replaceWith(t__namespace.callExpression(t__namespace.arrowFunctionExpression([], parentPath.node), [])); return; } diff --git a/tools/node_modules/@babel/core/node_modules/@babel/helper-member-expression-to-functions/package.json b/tools/node_modules/@babel/core/node_modules/@babel/helper-member-expression-to-functions/package.json index 607d85d5dcbfef..da12274e34a3ba 100644 --- a/tools/node_modules/@babel/core/node_modules/@babel/helper-member-expression-to-functions/package.json +++ b/tools/node_modules/@babel/core/node_modules/@babel/helper-member-expression-to-functions/package.json @@ -1,19 +1,26 @@ { "name": "@babel/helper-member-expression-to-functions", - "version": "7.12.7", + "version": "7.14.5", "description": "Helper function to replace certain member expressions with function calls", "repository": { "type": "git", "url": "https://github.com/babel/babel.git", "directory": "packages/babel-helper-member-expression-to-functions" }, + "homepage": "https://babel.dev/docs/en/next/babel-helper-member-expression-to-functions", "license": "MIT", "publishConfig": { "access": "public" }, - "main": "lib/index.js", - "author": "Justin Ridgewell ", + "main": "./lib/index.js", + "author": "The Babel Team (https://babel.dev/team)", "dependencies": { - "@babel/types": "^7.12.7" + "@babel/types": "^7.14.5" + }, + "devDependencies": { + "@babel/traverse": "7.14.5" + }, + "engines": { + "node": ">=6.9.0" } } \ No newline at end of file diff --git a/tools/node_modules/@babel/core/node_modules/@babel/helper-module-imports/lib/import-builder.js b/tools/node_modules/@babel/core/node_modules/@babel/helper-module-imports/lib/import-builder.js index 4fed51ec96d351..a5e12222035bef 100644 --- a/tools/node_modules/@babel/core/node_modules/@babel/helper-module-imports/lib/import-builder.js +++ b/tools/node_modules/@babel/core/node_modules/@babel/helper-module-imports/lib/import-builder.js @@ -5,15 +5,9 @@ Object.defineProperty(exports, "__esModule", { }); exports.default = void 0; -var _assert = _interopRequireDefault(require("assert")); +var _assert = require("assert"); -var t = _interopRequireWildcard(require("@babel/types")); - -function _getRequireWildcardCache() { if (typeof WeakMap !== "function") return null; var cache = new WeakMap(); _getRequireWildcardCache = function () { return cache; }; return cache; } - -function _interopRequireWildcard(obj) { if (obj && obj.__esModule) { return obj; } if (obj === null || typeof obj !== "object" && typeof obj !== "function") { return { default: obj }; } var cache = _getRequireWildcardCache(); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj.default = obj; if (cache) { cache.set(obj, newObj); } return newObj; } - -function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } +var t = require("@babel/types"); class ImportBuilder { constructor(importedSource, scope, hub) { @@ -21,6 +15,7 @@ class ImportBuilder { this._resultName = null; this._scope = null; this._hub = null; + this._importedSource = void 0; this._scope = scope; this._hub = hub; this._importedSource = importedSource; @@ -46,20 +41,27 @@ class ImportBuilder { } namespace(name = "namespace") { - name = this._scope.generateUidIdentifier(name); + const local = this._scope.generateUidIdentifier(name); + const statement = this._statements[this._statements.length - 1]; - (0, _assert.default)(statement.type === "ImportDeclaration"); - (0, _assert.default)(statement.specifiers.length === 0); - statement.specifiers = [t.importNamespaceSpecifier(name)]; - this._resultName = t.cloneNode(name); + + _assert(statement.type === "ImportDeclaration"); + + _assert(statement.specifiers.length === 0); + + statement.specifiers = [t.importNamespaceSpecifier(local)]; + this._resultName = t.cloneNode(local); return this; } default(name) { name = this._scope.generateUidIdentifier(name); const statement = this._statements[this._statements.length - 1]; - (0, _assert.default)(statement.type === "ImportDeclaration"); - (0, _assert.default)(statement.specifiers.length === 0); + + _assert(statement.type === "ImportDeclaration"); + + _assert(statement.specifiers.length === 0); + statement.specifiers = [t.importDefaultSpecifier(name)]; this._resultName = t.cloneNode(name); return this; @@ -69,8 +71,11 @@ class ImportBuilder { if (importName === "default") return this.default(name); name = this._scope.generateUidIdentifier(name); const statement = this._statements[this._statements.length - 1]; - (0, _assert.default)(statement.type === "ImportDeclaration"); - (0, _assert.default)(statement.specifiers.length === 0); + + _assert(statement.type === "ImportDeclaration"); + + _assert(statement.specifiers.length === 0); + statement.specifiers = [t.importSpecifier(name, t.identifier(importName))]; this._resultName = t.cloneNode(name); return this; @@ -81,7 +86,8 @@ class ImportBuilder { let statement = this._statements[this._statements.length - 1]; if (statement.type !== "ExpressionStatement") { - (0, _assert.default)(this._resultName); + _assert(this._resultName); + statement = t.expressionStatement(this._resultName); this._statements.push(statement); @@ -106,10 +112,11 @@ class ImportBuilder { if (statement.type === "ExpressionStatement") { statement.expression = t.callExpression(callee, [statement.expression]); } else if (statement.type === "VariableDeclaration") { - (0, _assert.default)(statement.declarations.length === 1); + _assert(statement.declarations.length === 1); + statement.declarations[0].init = t.callExpression(callee, [statement.declarations[0].init]); } else { - _assert.default.fail("Unexpected type."); + _assert.fail("Unexpected type."); } return this; @@ -121,10 +128,11 @@ class ImportBuilder { if (statement.type === "ExpressionStatement") { statement.expression = t.memberExpression(statement.expression, t.identifier(name)); } else if (statement.type === "VariableDeclaration") { - (0, _assert.default)(statement.declarations.length === 1); + _assert(statement.declarations.length === 1); + statement.declarations[0].init = t.memberExpression(statement.declarations[0].init, t.identifier(name)); } else { - _assert.default.fail("Unexpected type:" + statement.type); + _assert.fail("Unexpected type:" + statement.type); } return this; diff --git a/tools/node_modules/@babel/core/node_modules/@babel/helper-module-imports/lib/import-injector.js b/tools/node_modules/@babel/core/node_modules/@babel/helper-module-imports/lib/import-injector.js index 1e983caed62889..25650fe0c27f97 100644 --- a/tools/node_modules/@babel/core/node_modules/@babel/helper-module-imports/lib/import-injector.js +++ b/tools/node_modules/@babel/core/node_modules/@babel/helper-module-imports/lib/import-injector.js @@ -5,19 +5,13 @@ Object.defineProperty(exports, "__esModule", { }); exports.default = void 0; -var _assert = _interopRequireDefault(require("assert")); +var _assert = require("assert"); -var t = _interopRequireWildcard(require("@babel/types")); +var t = require("@babel/types"); -var _importBuilder = _interopRequireDefault(require("./import-builder")); +var _importBuilder = require("./import-builder"); -var _isModule = _interopRequireDefault(require("./is-module")); - -function _getRequireWildcardCache() { if (typeof WeakMap !== "function") return null; var cache = new WeakMap(); _getRequireWildcardCache = function () { return cache; }; return cache; } - -function _interopRequireWildcard(obj) { if (obj && obj.__esModule) { return obj; } if (obj === null || typeof obj !== "object" && typeof obj !== "function") { return { default: obj }; } var cache = _getRequireWildcardCache(); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj.default = obj; if (cache) { cache.set(obj, newObj); } return newObj; } - -function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } +var _isModule = require("./is-module"); class ImportInjector { constructor(path, importedSource, opts) { @@ -27,7 +21,8 @@ class ImportInjector { importedInterop: "babel", importingInterop: "babel", ensureLiveReference: false, - ensureNoContext: false + ensureNoContext: false, + importPosition: "before" }; const programPath = path.find(p => p.isProgram()); this._programPath = programPath; @@ -41,7 +36,8 @@ class ImportInjector { } addNamed(importName, importedSourceIn, opts) { - (0, _assert.default)(typeof importName === "string"); + _assert(typeof importName === "string"); + return this._generateImport(this._applyDefaults(importedSourceIn, opts), importName); } @@ -62,7 +58,8 @@ class ImportInjector { }); optsList.push(opts); } else { - (0, _assert.default)(!opts, "Unexpected secondary arguments."); + _assert(!opts, "Unexpected secondary arguments."); + optsList.push(importedSource); } @@ -95,12 +92,18 @@ class ImportInjector { ensureLiveReference, ensureNoContext, nameHint, + importPosition, blockHoist } = opts; let name = nameHint || importName; const isMod = (0, _isModule.default)(this._programPath); const isModuleForNode = isMod && importingInterop === "node"; const isModuleForBabel = isMod && importingInterop === "babel"; + + if (importPosition === "after" && !isMod) { + throw new Error(`"importPosition": "after" is only supported in modules`); + } + const builder = new _importBuilder.default(importedSource, this._programScope, this._hub); if (importedType === "es6") { @@ -240,7 +243,7 @@ class ImportInjector { resultName } = builder.done(); - this._insertStatements(statements, blockHoist); + this._insertStatements(statements, importPosition, blockHoist); if ((isDefault || isNamed) && ensureNoContext && resultName.type !== "Identifier") { return t.sequenceExpression([t.numericLiteral(0), resultName]); @@ -249,21 +252,32 @@ class ImportInjector { return resultName; } - _insertStatements(statements, blockHoist = 3) { - statements.forEach(node => { - node._blockHoist = blockHoist; - }); + _insertStatements(statements, importPosition = "before", blockHoist = 3) { + const body = this._programPath.get("body"); - const targetPath = this._programPath.get("body").find(p => { - const val = p.node._blockHoist; - return Number.isFinite(val) && val < 4; - }); - - if (targetPath) { - targetPath.insertBefore(statements); + if (importPosition === "after") { + for (let i = body.length - 1; i >= 0; i--) { + if (body[i].isImportDeclaration()) { + body[i].insertAfter(statements); + return; + } + } } else { - this._programPath.unshiftContainer("body", statements); + statements.forEach(node => { + node._blockHoist = blockHoist; + }); + const targetPath = body.find(p => { + const val = p.node._blockHoist; + return Number.isFinite(val) && val < 4; + }); + + if (targetPath) { + targetPath.insertBefore(statements); + return; + } } + + this._programPath.unshiftContainer("body", statements); } } diff --git a/tools/node_modules/@babel/core/node_modules/@babel/helper-module-imports/lib/index.js b/tools/node_modules/@babel/core/node_modules/@babel/helper-module-imports/lib/index.js index 50e1e98085362a..62202946b68193 100644 --- a/tools/node_modules/@babel/core/node_modules/@babel/helper-module-imports/lib/index.js +++ b/tools/node_modules/@babel/core/node_modules/@babel/helper-module-imports/lib/index.js @@ -20,11 +20,9 @@ Object.defineProperty(exports, "isModule", { } }); -var _importInjector = _interopRequireDefault(require("./import-injector")); +var _importInjector = require("./import-injector"); -var _isModule = _interopRequireDefault(require("./is-module")); - -function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } +var _isModule = require("./is-module"); function addDefault(path, importedSource, opts) { return new _importInjector.default(path).addDefault(importedSource, opts); diff --git a/tools/node_modules/@babel/core/node_modules/@babel/helper-module-imports/package.json b/tools/node_modules/@babel/core/node_modules/@babel/helper-module-imports/package.json index a2de4d9dbd479a..cfd92a3ef93271 100644 --- a/tools/node_modules/@babel/core/node_modules/@babel/helper-module-imports/package.json +++ b/tools/node_modules/@babel/core/node_modules/@babel/helper-module-imports/package.json @@ -1,9 +1,9 @@ { "name": "@babel/helper-module-imports", - "version": "7.12.5", + "version": "7.14.5", "description": "Babel helper functions for inserting module loads", - "author": "Logan Smyth ", - "homepage": "https://babeljs.io/", + "author": "The Babel Team (https://babel.dev/team)", + "homepage": "https://babel.dev/docs/en/next/babel-helper-module-imports", "license": "MIT", "publishConfig": { "access": "public" @@ -13,11 +13,15 @@ "url": "https://github.com/babel/babel.git", "directory": "packages/babel-helper-module-imports" }, - "main": "lib/index.js", + "main": "./lib/index.js", "dependencies": { - "@babel/types": "^7.12.5" + "@babel/types": "^7.14.5" }, "devDependencies": { - "@babel/core": "7.12.3" + "@babel/core": "7.14.5", + "@babel/traverse": "7.14.5" + }, + "engines": { + "node": ">=6.9.0" } } \ No newline at end of file diff --git a/tools/node_modules/@babel/core/node_modules/@babel/helper-module-transforms/README.md b/tools/node_modules/@babel/core/node_modules/@babel/helper-module-transforms/README.md index 8dfc1bda1d7a06..243ce295d8a1d6 100644 --- a/tools/node_modules/@babel/core/node_modules/@babel/helper-module-transforms/README.md +++ b/tools/node_modules/@babel/core/node_modules/@babel/helper-module-transforms/README.md @@ -2,7 +2,7 @@ > Babel helper functions for implementing ES6 module transformations -See our website [@babel/helper-module-transforms](https://babeljs.io/docs/en/next/babel-helper-module-transforms.html) for more information. +See our website [@babel/helper-module-transforms](https://babeljs.io/docs/en/babel-helper-module-transforms) for more information. ## Install diff --git a/tools/node_modules/@babel/core/node_modules/@babel/helper-module-transforms/lib/get-module-name.js b/tools/node_modules/@babel/core/node_modules/@babel/helper-module-transforms/lib/get-module-name.js index 005469dc1d1738..87c2b83590e6e7 100644 --- a/tools/node_modules/@babel/core/node_modules/@babel/helper-module-transforms/lib/get-module-name.js +++ b/tools/node_modules/@babel/core/node_modules/@babel/helper-module-transforms/lib/get-module-name.js @@ -4,20 +4,32 @@ Object.defineProperty(exports, "__esModule", { value: true }); exports.default = getModuleName; +{ + const originalGetModuleName = getModuleName; -function getModuleName(rootOpts, pluginOpts) { - var _pluginOpts$moduleRoo, _rootOpts$moduleIds, _rootOpts$moduleRoot; + exports.default = getModuleName = function getModuleName(rootOpts, pluginOpts) { + var _pluginOpts$moduleId, _pluginOpts$moduleIds, _pluginOpts$getModule, _pluginOpts$moduleRoo; + + return originalGetModuleName(rootOpts, { + moduleId: (_pluginOpts$moduleId = pluginOpts.moduleId) != null ? _pluginOpts$moduleId : rootOpts.moduleId, + moduleIds: (_pluginOpts$moduleIds = pluginOpts.moduleIds) != null ? _pluginOpts$moduleIds : rootOpts.moduleIds, + getModuleId: (_pluginOpts$getModule = pluginOpts.getModuleId) != null ? _pluginOpts$getModule : rootOpts.getModuleId, + moduleRoot: (_pluginOpts$moduleRoo = pluginOpts.moduleRoot) != null ? _pluginOpts$moduleRoo : rootOpts.moduleRoot + }); + }; +} +function getModuleName(rootOpts, pluginOpts) { const { filename, filenameRelative = filename, - sourceRoot = (_pluginOpts$moduleRoo = pluginOpts.moduleRoot) != null ? _pluginOpts$moduleRoo : rootOpts.moduleRoot + sourceRoot = pluginOpts.moduleRoot } = rootOpts; const { - moduleId = rootOpts.moduleId, - moduleIds = (_rootOpts$moduleIds = rootOpts.moduleIds) != null ? _rootOpts$moduleIds : !!moduleId, - getModuleId = rootOpts.getModuleId, - moduleRoot = (_rootOpts$moduleRoot = rootOpts.moduleRoot) != null ? _rootOpts$moduleRoot : sourceRoot + moduleId, + moduleIds = !!moduleId, + getModuleId, + moduleRoot = sourceRoot } = pluginOpts; if (!moduleIds) return null; diff --git a/tools/node_modules/@babel/core/node_modules/@babel/helper-module-transforms/lib/index.js b/tools/node_modules/@babel/core/node_modules/@babel/helper-module-transforms/lib/index.js index 0ff2249b86bbc6..44c7dfbe8b0358 100644 --- a/tools/node_modules/@babel/core/node_modules/@babel/helper-module-transforms/lib/index.js +++ b/tools/node_modules/@babel/core/node_modules/@babel/helper-module-transforms/lib/index.js @@ -38,45 +38,43 @@ Object.defineProperty(exports, "getModuleName", { } }); -var _assert = _interopRequireDefault(require("assert")); +var _assert = require("assert"); -var t = _interopRequireWildcard(require("@babel/types")); +var t = require("@babel/types"); -var _template = _interopRequireDefault(require("@babel/template")); - -var _chunk = _interopRequireDefault(require("lodash/chunk")); +var _template = require("@babel/template"); var _helperModuleImports = require("@babel/helper-module-imports"); -var _rewriteThis = _interopRequireDefault(require("./rewrite-this")); - -var _rewriteLiveReferences = _interopRequireDefault(require("./rewrite-live-references")); - -var _normalizeAndLoadMetadata = _interopRequireWildcard(require("./normalize-and-load-metadata")); - -var _getModuleName = _interopRequireDefault(require("./get-module-name")); +var _rewriteThis = require("./rewrite-this"); -function _getRequireWildcardCache() { if (typeof WeakMap !== "function") return null; var cache = new WeakMap(); _getRequireWildcardCache = function () { return cache; }; return cache; } +var _rewriteLiveReferences = require("./rewrite-live-references"); -function _interopRequireWildcard(obj) { if (obj && obj.__esModule) { return obj; } if (obj === null || typeof obj !== "object" && typeof obj !== "function") { return { default: obj }; } var cache = _getRequireWildcardCache(); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj.default = obj; if (cache) { cache.set(obj, newObj); } return newObj; } +var _normalizeAndLoadMetadata = require("./normalize-and-load-metadata"); -function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } +var _getModuleName = require("./get-module-name"); function rewriteModuleStatementsAndPrepareHeader(path, { + loose, exportName, strict, allowTopLevelThis, strictMode, - loose, noInterop, + importInterop = noInterop ? "none" : "babel", lazy, - esNamespaceOnly + esNamespaceOnly, + constantReexports = loose, + enumerableModuleMeta = loose }) { - (0, _assert.default)((0, _helperModuleImports.isModule)(path), "Cannot process module statements in a script"); + (0, _normalizeAndLoadMetadata.validateImportInteropOption)(importInterop); + + _assert((0, _helperModuleImports.isModule)(path), "Cannot process module statements in a script"); + path.node.sourceType = "script"; const meta = (0, _normalizeAndLoadMetadata.default)(path, exportName, { - noInterop, - loose, + importInterop, + initializeReexports: constantReexports, lazy, esNamespaceOnly }); @@ -100,7 +98,7 @@ function rewriteModuleStatementsAndPrepareHeader(path, { const headers = []; if ((0, _normalizeAndLoadMetadata.hasExports)(meta) && !strict) { - headers.push(buildESModuleHeader(meta, loose)); + headers.push(buildESModuleHeader(meta, enumerableModuleMeta)); } const nameList = buildExportNameListDeclaration(path, meta); @@ -110,7 +108,7 @@ function rewriteModuleStatementsAndPrepareHeader(path, { headers.push(nameList.statement); } - headers.push(...buildExportInitializationStatements(path, meta, loose)); + headers.push(...buildExportInitializationStatements(path, meta, constantReexports)); return { meta, headers @@ -128,6 +126,12 @@ function wrapInterop(programPath, expr, type) { return null; } + if (type === "node-namespace") { + return t.callExpression(programPath.hub.addHelper("interopRequireWildcard"), [expr, t.booleanLiteral(true)]); + } else if (type === "node-default") { + return null; + } + let helper; if (type === "default") { @@ -141,7 +145,7 @@ function wrapInterop(programPath, expr, type) { return t.callExpression(programPath.hub.addHelper(helper), [expr]); } -function buildNamespaceInitStatements(metadata, sourceMetadata, loose = false) { +function buildNamespaceInitStatements(metadata, sourceMetadata, constantReexports = false) { const statements = []; let srcNamespace = t.identifier(sourceMetadata.name); if (sourceMetadata.lazy) srcNamespace = t.callExpression(srcNamespace, []); @@ -154,8 +158,8 @@ function buildNamespaceInitStatements(metadata, sourceMetadata, loose = false) { })); } - if (loose) { - statements.push(...buildReexportsFromMeta(metadata, sourceMetadata, loose)); + if (constantReexports) { + statements.push(...buildReexportsFromMeta(metadata, sourceMetadata, true)); } for (const exportName of sourceMetadata.reexportNamespace) { @@ -174,7 +178,7 @@ function buildNamespaceInitStatements(metadata, sourceMetadata, loose = false) { } if (sourceMetadata.reexportAll) { - const statement = buildNamespaceReexport(metadata, t.cloneNode(srcNamespace), loose); + const statement = buildNamespaceReexport(metadata, t.cloneNode(srcNamespace), constantReexports); statement.loc = sourceMetadata.reexportAll.loc; statements.push(statement); } @@ -183,8 +187,8 @@ function buildNamespaceInitStatements(metadata, sourceMetadata, loose = false) { } const ReexportTemplate = { - loose: _template.default.statement`EXPORTS.EXPORT_NAME = NAMESPACE_IMPORT;`, - looseComputed: _template.default.statement`EXPORTS["EXPORT_NAME"] = NAMESPACE_IMPORT;`, + constant: _template.default.statement`EXPORTS.EXPORT_NAME = NAMESPACE_IMPORT;`, + constantComputed: _template.default.statement`EXPORTS["EXPORT_NAME"] = NAMESPACE_IMPORT;`, spec: (0, _template.default)` Object.defineProperty(EXPORTS, "EXPORT_NAME", { enumerable: true, @@ -195,18 +199,18 @@ const ReexportTemplate = { ` }; -const buildReexportsFromMeta = (meta, metadata, loose) => { +const buildReexportsFromMeta = (meta, metadata, constantReexports) => { const namespace = metadata.lazy ? t.callExpression(t.identifier(metadata.name), []) : t.identifier(metadata.name); const { stringSpecifiers } = meta; return Array.from(metadata.reexports, ([exportName, importName]) => { - let NAMESPACE_IMPORT; + let NAMESPACE_IMPORT = t.cloneNode(namespace); - if (stringSpecifiers.has(importName)) { - NAMESPACE_IMPORT = t.memberExpression(t.cloneNode(namespace), t.stringLiteral(importName), true); + if (importName === "default" && metadata.interop === "node-default") {} else if (stringSpecifiers.has(importName)) { + NAMESPACE_IMPORT = t.memberExpression(NAMESPACE_IMPORT, t.stringLiteral(importName), true); } else { - NAMESPACE_IMPORT = NAMESPACE_IMPORT = t.memberExpression(t.cloneNode(namespace), t.identifier(importName)); + NAMESPACE_IMPORT = t.memberExpression(NAMESPACE_IMPORT, t.identifier(importName)); } const astNodes = { @@ -215,11 +219,11 @@ const buildReexportsFromMeta = (meta, metadata, loose) => { NAMESPACE_IMPORT }; - if (loose) { + if (constantReexports || t.isIdentifier(NAMESPACE_IMPORT)) { if (stringSpecifiers.has(exportName)) { - return ReexportTemplate.looseComputed(astNodes); + return ReexportTemplate.constantComputed(astNodes); } else { - return ReexportTemplate.loose(astNodes); + return ReexportTemplate.constant(astNodes); } } else { return ReexportTemplate.spec(astNodes); @@ -227,8 +231,8 @@ const buildReexportsFromMeta = (meta, metadata, loose) => { }); }; -function buildESModuleHeader(metadata, enumerable = false) { - return (enumerable ? _template.default.statement` +function buildESModuleHeader(metadata, enumerableModuleMeta = false) { + return (enumerableModuleMeta ? _template.default.statement` EXPORTS.__esModule = true; ` : _template.default.statement` Object.defineProperty(EXPORTS, "__esModule", { @@ -239,8 +243,8 @@ function buildESModuleHeader(metadata, enumerable = false) { }); } -function buildNamespaceReexport(metadata, namespace, loose) { - return (loose ? _template.default.statement` +function buildNamespaceReexport(metadata, namespace, constantReexports) { + return (constantReexports ? _template.default.statement` Object.keys(NAMESPACE).forEach(function(key) { if (key === "default" || key === "__esModule") return; VERIFY_NAME_LIST; @@ -292,7 +296,7 @@ function buildExportNameListDeclaration(programPath, metadata) { exportedVars[exportName] = true; } - hasReexport = hasReexport || data.reexportAll; + hasReexport = hasReexport || !!data.reexportAll; } if (!hasReexport || Object.keys(exportedVars).length === 0) return null; @@ -304,7 +308,7 @@ function buildExportNameListDeclaration(programPath, metadata) { }; } -function buildExportInitializationStatements(programPath, metadata, loose = false) { +function buildExportInitializationStatements(programPath, metadata, constantReexports = false) { const initStatements = []; const exportNames = []; @@ -317,8 +321,8 @@ function buildExportInitializationStatements(programPath, metadata, loose = fals } for (const data of metadata.source.values()) { - if (!loose) { - initStatements.push(...buildReexportsFromMeta(metadata, data, loose)); + if (!constantReexports) { + initStatements.push(...buildReexportsFromMeta(metadata, data, false)); } for (const exportName of data.reexportNamespace) { @@ -326,7 +330,7 @@ function buildExportInitializationStatements(programPath, metadata, loose = fals } } - initStatements.push(...(0, _chunk.default)(exportNames, 100).map(members => { + initStatements.push(...chunk(exportNames, 100).map(members => { return buildInitStatement(metadata, members, programPath.scope.buildUndefinedNode()); })); return initStatements; @@ -355,4 +359,14 @@ function buildInitStatement(metadata, exportNames, initExpr) { return InitTemplate.default(params); } }, initExpr)); +} + +function chunk(array, size) { + const chunks = []; + + for (let i = 0; i < array.length; i += size) { + chunks.push(array.slice(i, i + size)); + } + + return chunks; } \ No newline at end of file diff --git a/tools/node_modules/@babel/core/node_modules/@babel/helper-module-transforms/lib/normalize-and-load-metadata.js b/tools/node_modules/@babel/core/node_modules/@babel/helper-module-transforms/lib/normalize-and-load-metadata.js index d57c16d121e06e..5688183ee241a0 100644 --- a/tools/node_modules/@babel/core/node_modules/@babel/helper-module-transforms/lib/normalize-and-load-metadata.js +++ b/tools/node_modules/@babel/core/node_modules/@babel/helper-module-transforms/lib/normalize-and-load-metadata.js @@ -5,15 +5,14 @@ Object.defineProperty(exports, "__esModule", { }); exports.hasExports = hasExports; exports.isSideEffectImport = isSideEffectImport; +exports.validateImportInteropOption = validateImportInteropOption; exports.default = normalizeModuleAndLoadMetadata; var _path = require("path"); var _helperValidatorIdentifier = require("@babel/helper-validator-identifier"); -var _helperSplitExportDeclaration = _interopRequireDefault(require("@babel/helper-split-export-declaration")); - -function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } +var _helperSplitExportDeclaration = require("@babel/helper-split-export-declaration"); function hasExports(metadata) { return metadata.hasExports; @@ -23,12 +22,28 @@ function isSideEffectImport(source) { return source.imports.size === 0 && source.importsNamespace.size === 0 && source.reexports.size === 0 && source.reexportNamespace.size === 0 && !source.reexportAll; } +function validateImportInteropOption(importInterop) { + if (typeof importInterop !== "function" && importInterop !== "none" && importInterop !== "babel" && importInterop !== "node") { + throw new Error(`.importInterop must be one of "none", "babel", "node", or a function returning one of those values (received ${importInterop}).`); + } + + return importInterop; +} + +function resolveImportInterop(importInterop, source) { + if (typeof importInterop === "function") { + return validateImportInteropOption(importInterop(source)); + } + + return importInterop; +} + function normalizeModuleAndLoadMetadata(programPath, exportName, { - noInterop = false, - loose = false, + importInterop, + initializeReexports = false, lazy = false, esNamespaceOnly = false -} = {}) { +}) { if (!exportName) { exportName = programPath.scope.generateUidIdentifier("exports").name; } @@ -40,7 +55,7 @@ function normalizeModuleAndLoadMetadata(programPath, exportName, { source, hasExports } = getModuleMetadata(programPath, { - loose, + initializeReexports, lazy }, stringSpecifiers); removeModuleDeclarations(programPath); @@ -50,10 +65,16 @@ function normalizeModuleAndLoadMetadata(programPath, exportName, { metadata.name = metadata.importsNamespace.values().next().value; } - if (noInterop) metadata.interop = "none";else if (esNamespaceOnly) { - if (metadata.interop === "namespace") { - metadata.interop = "default"; - } + const resolvedInterop = resolveImportInterop(importInterop, metadata.source); + + if (resolvedInterop === "none") { + metadata.interop = "none"; + } else if (resolvedInterop === "node" && metadata.interop === "namespace") { + metadata.interop = "node-namespace"; + } else if (resolvedInterop === "node" && metadata.interop === "default") { + metadata.interop = "node-default"; + } else if (esNamespaceOnly && metadata.interop === "namespace") { + metadata.interop = "default"; } } @@ -83,11 +104,21 @@ function getExportSpecifierName(path, stringSpecifiers) { } } +function assertExportSpecifier(path) { + if (path.isExportSpecifier()) { + return; + } else if (path.isExportNamespaceSpecifier()) { + throw path.buildCodeFrameError("Export namespace should be first transformed by `@babel/plugin-proposal-export-namespace-from`."); + } else { + throw path.buildCodeFrameError("Unexpected export specifier type"); + } +} + function getModuleMetadata(programPath, { - loose, - lazy + lazy, + initializeReexports }, stringSpecifiers) { - const localData = getLocalExportMetadata(programPath, loose, stringSpecifiers); + const localData = getLocalExportMetadata(programPath, initializeReexports, stringSpecifiers); const sourceData = new Map(); const getData = sourceNode => { @@ -104,7 +135,8 @@ function getModuleMetadata(programPath, { reexports: new Map(), reexportNamespace: new Set(), reexportAll: null, - lazy: false + lazy: false, + source }; sourceData.set(source, data); } @@ -166,16 +198,13 @@ function getModuleMetadata(programPath, { const data = getData(child.node.source); if (!data.loc) data.loc = child.node.loc; child.get("specifiers").forEach(spec => { - if (!spec.isExportSpecifier()) { - throw spec.buildCodeFrameError("Unexpected export specifier type"); - } - + assertExportSpecifier(spec); const importName = getExportSpecifierName(spec.get("local"), stringSpecifiers); const exportName = getExportSpecifierName(spec.get("exported"), stringSpecifiers); data.reexports.set(exportName, importName); if (exportName === "__esModule") { - throw exportName.buildCodeFrameError('Illegal export "__esModule".'); + throw spec.get("exported").buildCodeFrameError('Illegal export "__esModule".'); } }); } else if (child.isExportNamedDeclaration() || child.isExportDefaultDeclaration()) { @@ -232,7 +261,7 @@ function getModuleMetadata(programPath, { }; } -function getLocalExportMetadata(programPath, loose, stringSpecifiers) { +function getLocalExportMetadata(programPath, initializeReexports, stringSpecifiers) { const bindingKindLookup = new Map(); programPath.get("body").forEach(child => { let kind; @@ -245,9 +274,10 @@ function getLocalExportMetadata(programPath, loose, stringSpecifiers) { if (child.isExportNamedDeclaration()) { if (child.node.declaration) { child = child.get("declaration"); - } else if (loose && child.node.source && child.get("source").isStringLiteral()) { - child.node.specifiers.forEach(specifier => { - bindingKindLookup.set(specifier.local.name, "block"); + } else if (initializeReexports && child.node.source && child.get("source").isStringLiteral()) { + child.get("specifiers").forEach(spec => { + assertExportSpecifier(spec); + bindingKindLookup.set(spec.get("local").node.name, "block"); }); return; } @@ -296,7 +326,7 @@ function getLocalExportMetadata(programPath, loose, stringSpecifiers) { }; programPath.get("body").forEach(child => { - if (child.isExportNamedDeclaration() && (loose || !child.node.source)) { + if (child.isExportNamedDeclaration() && (initializeReexports || !child.node.source)) { if (child.node.declaration) { const declaration = child.get("declaration"); const ids = declaration.getOuterBindingIdentifierPaths(); diff --git a/tools/node_modules/@babel/core/node_modules/@babel/helper-module-transforms/lib/rewrite-live-references.js b/tools/node_modules/@babel/core/node_modules/@babel/helper-module-transforms/lib/rewrite-live-references.js index b0ebe01326e350..917c07d70d8e76 100644 --- a/tools/node_modules/@babel/core/node_modules/@babel/helper-module-transforms/lib/rewrite-live-references.js +++ b/tools/node_modules/@babel/core/node_modules/@babel/helper-module-transforms/lib/rewrite-live-references.js @@ -5,19 +5,13 @@ Object.defineProperty(exports, "__esModule", { }); exports.default = rewriteLiveReferences; -var _assert = _interopRequireDefault(require("assert")); +var _assert = require("assert"); -var t = _interopRequireWildcard(require("@babel/types")); +var t = require("@babel/types"); -var _template = _interopRequireDefault(require("@babel/template")); +var _template = require("@babel/template"); -var _helperSimpleAccess = _interopRequireDefault(require("@babel/helper-simple-access")); - -function _getRequireWildcardCache() { if (typeof WeakMap !== "function") return null; var cache = new WeakMap(); _getRequireWildcardCache = function () { return cache; }; return cache; } - -function _interopRequireWildcard(obj) { if (obj && obj.__esModule) { return obj; } if (obj === null || typeof obj !== "object" && typeof obj !== "function") { return { default: obj }; } var cache = _getRequireWildcardCache(); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj.default = obj; if (cache) { cache.set(obj, newObj); } return newObj; } - -function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } +var _helperSimpleAccess = require("@babel/helper-simple-access"); function rewriteLiveReferences(programPath, metadata) { const imported = new Map(); @@ -48,14 +42,15 @@ function rewriteLiveReferences(programPath, metadata) { exportMeta.push(...data.names); } - programPath.traverse(rewriteBindingInitVisitor, { + const rewriteBindingInitVisitorState = { metadata, requeueInParent, scope: programPath.scope, exported - }); + }; + programPath.traverse(rewriteBindingInitVisitor, rewriteBindingInitVisitorState); (0, _helperSimpleAccess.default)(programPath, new Set([...Array.from(imported.keys()), ...Array.from(exported.keys())])); - programPath.traverse(rewriteReferencesVisitor, { + const rewriteReferencesVisitorState = { seen: new WeakSet(), metadata, requeueInParent, @@ -72,10 +67,16 @@ function rewriteLiveReferences(programPath, metadata) { let namespace = t.identifier(meta.name); if (meta.lazy) namespace = t.callExpression(namespace, []); + + if (importName === "default" && meta.interop === "node-default") { + return namespace; + } + const computed = metadata.stringSpecifiers.has(importName); return t.memberExpression(namespace, computed ? t.stringLiteral(importName) : t.identifier(importName), computed); } - }); + }; + programPath.traverse(rewriteReferencesVisitor, rewriteReferencesVisitorState); } const rewriteBindingInitVisitor = { @@ -152,12 +153,12 @@ const rewriteReferencesVisitor = { if (seen.has(path.node)) return; seen.add(path.node); const localName = path.node.name; - const localBinding = path.scope.getBinding(localName); - const rootBinding = scope.getBinding(localName); - if (rootBinding !== localBinding) return; const importData = imported.get(localName); if (importData) { + const localBinding = path.scope.getBinding(localName); + const rootBinding = scope.getBinding(localName); + if (rootBinding !== localBinding) return; const ref = buildImportReference(importData, path.node); ref.loc = path.node.loc; @@ -174,7 +175,7 @@ const rewriteReferencesVisitor = { object, property } = ref; - path.replaceWith(t.JSXMemberExpression(t.JSXIdentifier(object.name), t.JSXIdentifier(property.name))); + path.replaceWith(t.jsxMemberExpression(t.jsxIdentifier(object.name), t.jsxIdentifier(property.name))); } else { path.replaceWith(ref); } @@ -210,7 +211,8 @@ const rewriteReferencesVisitor = { const importData = imported.get(localName); if ((exportedNames == null ? void 0 : exportedNames.length) > 0 || importData) { - (0, _assert.default)(path.node.operator === "=", "Path was not simplified"); + _assert(path.node.operator === "=", "Path was not simplified"); + const assignment = path.node; if (importData) { diff --git a/tools/node_modules/@babel/core/node_modules/@babel/helper-module-transforms/lib/rewrite-this.js b/tools/node_modules/@babel/core/node_modules/@babel/helper-module-transforms/lib/rewrite-this.js index 8a7042f4227746..9b37280cd6959f 100644 --- a/tools/node_modules/@babel/core/node_modules/@babel/helper-module-transforms/lib/rewrite-this.js +++ b/tools/node_modules/@babel/core/node_modules/@babel/helper-module-transforms/lib/rewrite-this.js @@ -7,15 +7,9 @@ exports.default = rewriteThis; var _helperReplaceSupers = require("@babel/helper-replace-supers"); -var _traverse = _interopRequireDefault(require("@babel/traverse")); +var _traverse = require("@babel/traverse"); -var t = _interopRequireWildcard(require("@babel/types")); - -function _getRequireWildcardCache() { if (typeof WeakMap !== "function") return null; var cache = new WeakMap(); _getRequireWildcardCache = function () { return cache; }; return cache; } - -function _interopRequireWildcard(obj) { if (obj && obj.__esModule) { return obj; } if (obj === null || typeof obj !== "object" && typeof obj !== "function") { return { default: obj }; } var cache = _getRequireWildcardCache(); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj.default = obj; if (cache) { cache.set(obj, newObj); } return newObj; } - -function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } +var t = require("@babel/types"); function rewriteThis(programPath) { (0, _traverse.default)(programPath.node, Object.assign({}, rewriteThisVisitor, { diff --git a/tools/node_modules/@babel/core/node_modules/@babel/helper-module-transforms/package.json b/tools/node_modules/@babel/core/node_modules/@babel/helper-module-transforms/package.json index cc356aa1f99183..fc4d72578fbe63 100644 --- a/tools/node_modules/@babel/core/node_modules/@babel/helper-module-transforms/package.json +++ b/tools/node_modules/@babel/core/node_modules/@babel/helper-module-transforms/package.json @@ -1,9 +1,9 @@ { "name": "@babel/helper-module-transforms", - "version": "7.12.1", + "version": "7.14.5", "description": "Babel helper functions for implementing ES6 module transformations", - "author": "Logan Smyth ", - "homepage": "https://babeljs.io/", + "author": "The Babel Team (https://babel.dev/team)", + "homepage": "https://babel.dev/docs/en/next/babel-helper-module-transforms", "license": "MIT", "publishConfig": { "access": "public" @@ -13,16 +13,18 @@ "url": "https://github.com/babel/babel.git", "directory": "packages/babel-helper-module-transforms" }, - "main": "lib/index.js", + "main": "./lib/index.js", "dependencies": { - "@babel/helper-module-imports": "^7.12.1", - "@babel/helper-replace-supers": "^7.12.1", - "@babel/helper-simple-access": "^7.12.1", - "@babel/helper-split-export-declaration": "^7.11.0", - "@babel/helper-validator-identifier": "^7.10.4", - "@babel/template": "^7.10.4", - "@babel/traverse": "^7.12.1", - "@babel/types": "^7.12.1", - "lodash": "^4.17.19" + "@babel/helper-module-imports": "^7.14.5", + "@babel/helper-replace-supers": "^7.14.5", + "@babel/helper-simple-access": "^7.14.5", + "@babel/helper-split-export-declaration": "^7.14.5", + "@babel/helper-validator-identifier": "^7.14.5", + "@babel/template": "^7.14.5", + "@babel/traverse": "^7.14.5", + "@babel/types": "^7.14.5" + }, + "engines": { + "node": ">=6.9.0" } } \ No newline at end of file diff --git a/tools/node_modules/@babel/core/node_modules/@babel/helper-optimise-call-expression/lib/index.js b/tools/node_modules/@babel/core/node_modules/@babel/helper-optimise-call-expression/lib/index.js index 0751eb3ca5527b..4cb6ae39bb0e69 100644 --- a/tools/node_modules/@babel/core/node_modules/@babel/helper-optimise-call-expression/lib/index.js +++ b/tools/node_modules/@babel/core/node_modules/@babel/helper-optimise-call-expression/lib/index.js @@ -5,11 +5,7 @@ Object.defineProperty(exports, "__esModule", { }); exports.default = optimiseCallExpression; -var t = _interopRequireWildcard(require("@babel/types")); - -function _getRequireWildcardCache() { if (typeof WeakMap !== "function") return null; var cache = new WeakMap(); _getRequireWildcardCache = function () { return cache; }; return cache; } - -function _interopRequireWildcard(obj) { if (obj && obj.__esModule) { return obj; } if (obj === null || typeof obj !== "object" && typeof obj !== "function") { return { default: obj }; } var cache = _getRequireWildcardCache(); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj.default = obj; if (cache) { cache.set(obj, newObj); } return newObj; } +var t = require("@babel/types"); function optimiseCallExpression(callee, thisNode, args, optional) { if (args.length === 1 && t.isSpreadElement(args[0]) && t.isIdentifier(args[0].argument, { diff --git a/tools/node_modules/@babel/core/node_modules/@babel/helper-optimise-call-expression/package.json b/tools/node_modules/@babel/core/node_modules/@babel/helper-optimise-call-expression/package.json index 3973be801216bd..05f11748e1eaf1 100644 --- a/tools/node_modules/@babel/core/node_modules/@babel/helper-optimise-call-expression/package.json +++ b/tools/node_modules/@babel/core/node_modules/@babel/helper-optimise-call-expression/package.json @@ -1,22 +1,27 @@ { "name": "@babel/helper-optimise-call-expression", - "version": "7.12.10", + "version": "7.14.5", "description": "Helper function to optimise call expression", "repository": { "type": "git", "url": "https://github.com/babel/babel.git", "directory": "packages/babel-helper-optimise-call-expression" }, + "homepage": "https://babel.dev/docs/en/next/babel-helper-optimise-call-expression", "license": "MIT", "publishConfig": { "access": "public" }, - "main": "lib/index.js", + "main": "./lib/index.js", "dependencies": { - "@babel/types": "^7.12.10" + "@babel/types": "^7.14.5" }, "devDependencies": { - "@babel/generator": "7.12.10", - "@babel/parser": "7.12.10" - } + "@babel/generator": "7.14.5", + "@babel/parser": "7.14.5" + }, + "engines": { + "node": ">=6.9.0" + }, + "author": "The Babel Team (https://babel.dev/team)" } \ No newline at end of file diff --git a/tools/node_modules/@babel/core/node_modules/@babel/helper-replace-supers/lib/index.js b/tools/node_modules/@babel/core/node_modules/@babel/helper-replace-supers/lib/index.js index f08da165b1afec..b4d6e3b5effe54 100644 --- a/tools/node_modules/@babel/core/node_modules/@babel/helper-replace-supers/lib/index.js +++ b/tools/node_modules/@babel/core/node_modules/@babel/helper-replace-supers/lib/index.js @@ -6,19 +6,13 @@ Object.defineProperty(exports, "__esModule", { exports.skipAllButComputedKey = skipAllButComputedKey; exports.default = exports.environmentVisitor = void 0; -var _traverse = _interopRequireDefault(require("@babel/traverse")); +var _traverse = require("@babel/traverse"); -var _helperMemberExpressionToFunctions = _interopRequireDefault(require("@babel/helper-member-expression-to-functions")); +var _helperMemberExpressionToFunctions = require("@babel/helper-member-expression-to-functions"); -var _helperOptimiseCallExpression = _interopRequireDefault(require("@babel/helper-optimise-call-expression")); +var _helperOptimiseCallExpression = require("@babel/helper-optimise-call-expression"); -var t = _interopRequireWildcard(require("@babel/types")); - -function _getRequireWildcardCache() { if (typeof WeakMap !== "function") return null; var cache = new WeakMap(); _getRequireWildcardCache = function () { return cache; }; return cache; } - -function _interopRequireWildcard(obj) { if (obj && obj.__esModule) { return obj; } if (obj === null || typeof obj !== "object" && typeof obj !== "function") { return { default: obj }; } var cache = _getRequireWildcardCache(); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj.default = obj; if (cache) { cache.set(obj, newObj); } return newObj; } - -function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } +var t = require("@babel/types"); function getPrototypeOfExpression(objectRef, isStatic, file, isPrivateMethod) { objectRef = t.cloneNode(objectRef); @@ -71,6 +65,19 @@ const visitor = _traverse.default.visitors.merge([environmentVisitor, { }]); +const unshadowSuperBindingVisitor = _traverse.default.visitors.merge([environmentVisitor, { + Scopable(path, { + refName + }) { + const binding = path.scope.getOwnBinding(refName); + + if (binding && binding.identifier.name === refName) { + path.scope.rename(refName); + } + } + +}]); + const specHandlers = { memoise(superMember, count) { const { @@ -175,7 +182,7 @@ const looseHandlers = Object.assign({}, specHandlers, { get(superMember) { const { isStatic, - superRef + getSuperRef } = this; const { computed @@ -184,9 +191,13 @@ const looseHandlers = Object.assign({}, specHandlers, { let object; if (isStatic) { - object = superRef ? t.cloneNode(superRef) : t.memberExpression(t.identifier("Function"), t.identifier("prototype")); + var _getSuperRef; + + object = (_getSuperRef = getSuperRef()) != null ? _getSuperRef : t.memberExpression(t.identifier("Function"), t.identifier("prototype")); } else { - object = superRef ? t.memberExpression(t.cloneNode(superRef), t.identifier("prototype")) : t.memberExpression(t.identifier("Object"), t.identifier("prototype")); + var _getSuperRef2; + + object = t.memberExpression((_getSuperRef2 = getSuperRef()) != null ? _getSuperRef2 : t.identifier("Object"), t.identifier("prototype")); } return t.memberExpression(object, prop, computed); @@ -220,16 +231,17 @@ const looseHandlers = Object.assign({}, specHandlers, { class ReplaceSupers { constructor(opts) { + var _opts$constantSuper; + const path = opts.methodPath; this.methodPath = path; this.isDerivedConstructor = path.isClassMethod({ kind: "constructor" }) && !!opts.superRef; - this.isStatic = path.isObjectMethod() || path.node.static; + this.isStatic = path.isObjectMethod() || path.node.static || (path.isStaticBlock == null ? void 0 : path.isStaticBlock()); this.isPrivateMethod = path.isPrivate() && path.isMethod(); this.file = opts.file; - this.superRef = opts.superRef; - this.isLoose = opts.isLoose; + this.constantSuper = (_opts$constantSuper = opts.constantSuper) != null ? _opts$constantSuper : opts.isLoose; this.opts = opts; } @@ -237,8 +249,19 @@ class ReplaceSupers { return t.cloneNode(this.opts.objectRef || this.opts.getObjectRef()); } + getSuperRef() { + if (this.opts.superRef) return t.cloneNode(this.opts.superRef); + if (this.opts.getSuperRef) return t.cloneNode(this.opts.getSuperRef()); + } + replace() { - const handler = this.isLoose ? looseHandlers : specHandlers; + if (this.opts.refToPreserve) { + this.methodPath.traverse(unshadowSuperBindingVisitor, { + refName: this.opts.refToPreserve.name + }); + } + + const handler = this.constantSuper ? looseHandlers : specHandlers; (0, _helperMemberExpressionToFunctions.default)(this.methodPath, visitor, Object.assign({ file: this.file, scope: this.methodPath.scope, @@ -246,7 +269,7 @@ class ReplaceSupers { isStatic: this.isStatic, isPrivateMethod: this.isPrivateMethod, getObjectRef: this.getObjectRef.bind(this), - superRef: this.superRef + getSuperRef: this.getSuperRef.bind(this) }, handler)); } diff --git a/tools/node_modules/@babel/core/node_modules/@babel/helper-replace-supers/package.json b/tools/node_modules/@babel/core/node_modules/@babel/helper-replace-supers/package.json index bc8d05da90c053..14a9f51cc907b0 100644 --- a/tools/node_modules/@babel/core/node_modules/@babel/helper-replace-supers/package.json +++ b/tools/node_modules/@babel/core/node_modules/@babel/helper-replace-supers/package.json @@ -1,21 +1,26 @@ { "name": "@babel/helper-replace-supers", - "version": "7.12.11", + "version": "7.14.5", "description": "Helper function to replace supers", "repository": { "type": "git", "url": "https://github.com/babel/babel.git", "directory": "packages/babel-helper-replace-supers" }, + "homepage": "https://babel.dev/docs/en/next/babel-helper-replace-supers", "license": "MIT", "publishConfig": { "access": "public" }, - "main": "lib/index.js", + "main": "./lib/index.js", "dependencies": { - "@babel/helper-member-expression-to-functions": "^7.12.7", - "@babel/helper-optimise-call-expression": "^7.12.10", - "@babel/traverse": "^7.12.10", - "@babel/types": "^7.12.11" - } + "@babel/helper-member-expression-to-functions": "^7.14.5", + "@babel/helper-optimise-call-expression": "^7.14.5", + "@babel/traverse": "^7.14.5", + "@babel/types": "^7.14.5" + }, + "engines": { + "node": ">=6.9.0" + }, + "author": "The Babel Team (https://babel.dev/team)" } \ No newline at end of file diff --git a/tools/node_modules/@babel/core/node_modules/@babel/helper-simple-access/README.md b/tools/node_modules/@babel/core/node_modules/@babel/helper-simple-access/README.md index 206436ca8b9f99..1e15dfa24d7c72 100644 --- a/tools/node_modules/@babel/core/node_modules/@babel/helper-simple-access/README.md +++ b/tools/node_modules/@babel/core/node_modules/@babel/helper-simple-access/README.md @@ -2,7 +2,7 @@ > Babel helper for ensuring that access to a given value is performed through simple accesses -See our website [@babel/helper-simple-access](https://babeljs.io/docs/en/next/babel-helper-simple-access.html) for more information. +See our website [@babel/helper-simple-access](https://babeljs.io/docs/en/babel-helper-simple-access) for more information. ## Install diff --git a/tools/node_modules/@babel/core/node_modules/@babel/helper-simple-access/lib/index.js b/tools/node_modules/@babel/core/node_modules/@babel/helper-simple-access/lib/index.js index 12cfe7150243c6..221160376d6c3d 100644 --- a/tools/node_modules/@babel/core/node_modules/@babel/helper-simple-access/lib/index.js +++ b/tools/node_modules/@babel/core/node_modules/@babel/helper-simple-access/lib/index.js @@ -5,11 +5,7 @@ Object.defineProperty(exports, "__esModule", { }); exports.default = simplifyAccess; -var t = _interopRequireWildcard(require("@babel/types")); - -function _getRequireWildcardCache() { if (typeof WeakMap !== "function") return null; var cache = new WeakMap(); _getRequireWildcardCache = function () { return cache; }; return cache; } - -function _interopRequireWildcard(obj) { if (obj && obj.__esModule) { return obj; } if (obj === null || typeof obj !== "object" && typeof obj !== "function") { return { default: obj }; } var cache = _getRequireWildcardCache(); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj.default = obj; if (cache) { cache.set(obj, newObj); } return newObj; } +var t = require("@babel/types"); function simplifyAccess(path, bindingNames) { path.traverse(simpleAssignmentVisitor, { diff --git a/tools/node_modules/@babel/core/node_modules/@babel/helper-simple-access/package.json b/tools/node_modules/@babel/core/node_modules/@babel/helper-simple-access/package.json index a775b777106a5e..7829aa0693cfc9 100644 --- a/tools/node_modules/@babel/core/node_modules/@babel/helper-simple-access/package.json +++ b/tools/node_modules/@babel/core/node_modules/@babel/helper-simple-access/package.json @@ -1,9 +1,9 @@ { "name": "@babel/helper-simple-access", - "version": "7.12.1", + "version": "7.14.5", "description": "Babel helper for ensuring that access to a given value is performed through simple accesses", - "author": "Logan Smyth ", - "homepage": "https://babeljs.io/", + "author": "The Babel Team (https://babel.dev/team)", + "homepage": "https://babel.dev/docs/en/next/babel-helper-simple-access", "license": "MIT", "publishConfig": { "access": "public" @@ -13,8 +13,14 @@ "url": "https://github.com/babel/babel.git", "directory": "packages/babel-helper-simple-access" }, - "main": "lib/index.js", + "main": "./lib/index.js", "dependencies": { - "@babel/types": "^7.12.1" + "@babel/types": "^7.14.5" + }, + "devDependencies": { + "@babel/traverse": "7.14.5" + }, + "engines": { + "node": ">=6.9.0" } } \ No newline at end of file diff --git a/tools/node_modules/@babel/core/node_modules/@babel/helper-split-export-declaration/lib/index.js b/tools/node_modules/@babel/core/node_modules/@babel/helper-split-export-declaration/lib/index.js index 98e7385572c122..fdf67bd2eb5f94 100644 --- a/tools/node_modules/@babel/core/node_modules/@babel/helper-split-export-declaration/lib/index.js +++ b/tools/node_modules/@babel/core/node_modules/@babel/helper-split-export-declaration/lib/index.js @@ -5,11 +5,7 @@ Object.defineProperty(exports, "__esModule", { }); exports.default = splitExportDeclaration; -var t = _interopRequireWildcard(require("@babel/types")); - -function _getRequireWildcardCache() { if (typeof WeakMap !== "function") return null; var cache = new WeakMap(); _getRequireWildcardCache = function () { return cache; }; return cache; } - -function _interopRequireWildcard(obj) { if (obj && obj.__esModule) { return obj; } if (obj === null || typeof obj !== "object" && typeof obj !== "function") { return { default: obj }; } var cache = _getRequireWildcardCache(); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj.default = obj; if (cache) { cache.set(obj, newObj); } return newObj; } +var t = require("@babel/types"); function splitExportDeclaration(exportDeclaration) { if (!exportDeclaration.isExportDeclaration()) { diff --git a/tools/node_modules/@babel/core/node_modules/@babel/helper-split-export-declaration/package.json b/tools/node_modules/@babel/core/node_modules/@babel/helper-split-export-declaration/package.json index 5913ccfef09e91..02b93135a06e99 100644 --- a/tools/node_modules/@babel/core/node_modules/@babel/helper-split-export-declaration/package.json +++ b/tools/node_modules/@babel/core/node_modules/@babel/helper-split-export-declaration/package.json @@ -1,18 +1,23 @@ { "name": "@babel/helper-split-export-declaration", - "version": "7.12.11", + "version": "7.14.5", "description": "", "repository": { "type": "git", "url": "https://github.com/babel/babel.git", "directory": "packages/babel-helper-split-export-declaration" }, + "homepage": "https://babel.dev/docs/en/next/babel-helper-split-export-declaration", "license": "MIT", "publishConfig": { "access": "public" }, - "main": "lib/index.js", + "main": "./lib/index.js", "dependencies": { - "@babel/types": "^7.12.11" - } + "@babel/types": "^7.14.5" + }, + "engines": { + "node": ">=6.9.0" + }, + "author": "The Babel Team (https://babel.dev/team)" } \ No newline at end of file diff --git a/tools/node_modules/@babel/core/node_modules/@babel/helper-validator-identifier/lib/identifier.js b/tools/node_modules/@babel/core/node_modules/@babel/helper-validator-identifier/lib/identifier.js index 51ec76370ccfc6..71310db1f39d08 100644 --- a/tools/node_modules/@babel/core/node_modules/@babel/helper-validator-identifier/lib/identifier.js +++ b/tools/node_modules/@babel/core/node_modules/@babel/helper-validator-identifier/lib/identifier.js @@ -58,16 +58,23 @@ function isIdentifierChar(code) { function isIdentifierName(name) { let isFirst = true; - for (let _i = 0, _Array$from = Array.from(name); _i < _Array$from.length; _i++) { - const char = _Array$from[_i]; - const cp = char.codePointAt(0); + for (let i = 0; i < name.length; i++) { + let cp = name.charCodeAt(i); + + if ((cp & 0xfc00) === 0xd800 && i + 1 < name.length) { + const trail = name.charCodeAt(++i); + + if ((trail & 0xfc00) === 0xdc00) { + cp = 0x10000 + ((cp & 0x3ff) << 10) + (trail & 0x3ff); + } + } if (isFirst) { + isFirst = false; + if (!isIdentifierStart(cp)) { return false; } - - isFirst = false; } else if (!isIdentifierChar(cp)) { return false; } diff --git a/tools/node_modules/@babel/core/node_modules/@babel/helper-validator-identifier/package.json b/tools/node_modules/@babel/core/node_modules/@babel/helper-validator-identifier/package.json index 464dbfa3aace49..80b8c9aeafd6a9 100644 --- a/tools/node_modules/@babel/core/node_modules/@babel/helper-validator-identifier/package.json +++ b/tools/node_modules/@babel/core/node_modules/@babel/helper-validator-identifier/package.json @@ -1,6 +1,6 @@ { "name": "@babel/helper-validator-identifier", - "version": "7.12.11", + "version": "7.14.5", "description": "Validate identifier/keywords name", "repository": { "type": "git", @@ -14,7 +14,13 @@ "main": "./lib/index.js", "exports": "./lib/index.js", "devDependencies": { - "charcodes": "^0.2.0", - "unicode-13.0.0": "^0.8.0" - } + "@babel/helper-validator-identifier-baseline": "npm:@babel/helper-validator-identifier@7.10.4", + "@unicode/unicode-13.0.0": "^1.0.6", + "benchmark": "^2.1.4", + "charcodes": "^0.2.0" + }, + "engines": { + "node": ">=6.9.0" + }, + "author": "The Babel Team (https://babel.dev/team)" } \ No newline at end of file diff --git a/tools/node_modules/@babel/core/node_modules/@babel/helper-validator-identifier/scripts/generate-identifier-regex.js b/tools/node_modules/@babel/core/node_modules/@babel/helper-validator-identifier/scripts/generate-identifier-regex.js index 70b371508bdb1b..45276d51b2dc82 100644 --- a/tools/node_modules/@babel/core/node_modules/@babel/helper-validator-identifier/scripts/generate-identifier-regex.js +++ b/tools/node_modules/@babel/core/node_modules/@babel/helper-validator-identifier/scripts/generate-identifier-regex.js @@ -4,14 +4,14 @@ // https://tc39.github.io/ecma262/#sec-conformance const version = "13.0.0"; -const start = require("unicode-" + +const start = require("@unicode/unicode-" + version + "/Binary_Property/ID_Start/code-points.js").filter(function (ch) { return ch > 0x7f; }); let last = -1; const cont = [0x200c, 0x200d].concat( - require("unicode-" + + require("@unicode/unicode-" + version + "/Binary_Property/ID_Continue/code-points.js").filter(function (ch) { return ch > 0x7f && search(start, ch, last + 1) == -1; diff --git a/tools/node_modules/@babel/core/node_modules/@babel/helper-validator-option/LICENSE b/tools/node_modules/@babel/core/node_modules/@babel/helper-validator-option/LICENSE new file mode 100644 index 00000000000000..f31575ec773bb1 --- /dev/null +++ b/tools/node_modules/@babel/core/node_modules/@babel/helper-validator-option/LICENSE @@ -0,0 +1,22 @@ +MIT License + +Copyright (c) 2014-present Sebastian McKenzie and other contributors + +Permission is hereby granted, free of charge, to any person obtaining +a copy of this software and associated documentation files (the +"Software"), to deal in the Software without restriction, including +without limitation the rights to use, copy, modify, merge, publish, +distribute, sublicense, and/or sell copies of the Software, and to +permit persons to whom the Software is furnished to do so, subject to +the following conditions: + +The above copyright notice and this permission notice shall be +included in all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, +EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF +MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND +NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE +LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION +OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION +WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. diff --git a/tools/node_modules/@babel/core/node_modules/@babel/helper-validator-option/README.md b/tools/node_modules/@babel/core/node_modules/@babel/helper-validator-option/README.md new file mode 100644 index 00000000000000..b8b9e854b38839 --- /dev/null +++ b/tools/node_modules/@babel/core/node_modules/@babel/helper-validator-option/README.md @@ -0,0 +1,19 @@ +# @babel/helper-validator-option + +> Validate plugin/preset options + +See our website [@babel/helper-validator-option](https://babeljs.io/docs/en/babel-helper-validator-option) for more information. + +## Install + +Using npm: + +```sh +npm install --save-dev @babel/helper-validator-option +``` + +or using yarn: + +```sh +yarn add @babel/helper-validator-option --dev +``` diff --git a/tools/node_modules/@babel/core/node_modules/@babel/helper-validator-option/lib/find-suggestion.js b/tools/node_modules/@babel/core/node_modules/@babel/helper-validator-option/lib/find-suggestion.js new file mode 100644 index 00000000000000..019ea931deefaf --- /dev/null +++ b/tools/node_modules/@babel/core/node_modules/@babel/helper-validator-option/lib/find-suggestion.js @@ -0,0 +1,45 @@ +"use strict"; + +Object.defineProperty(exports, "__esModule", { + value: true +}); +exports.findSuggestion = findSuggestion; +const { + min +} = Math; + +function levenshtein(a, b) { + let t = [], + u = [], + i, + j; + const m = a.length, + n = b.length; + + if (!m) { + return n; + } + + if (!n) { + return m; + } + + for (j = 0; j <= n; j++) { + t[j] = j; + } + + for (i = 1; i <= m; i++) { + for (u = [i], j = 1; j <= n; j++) { + u[j] = a[i - 1] === b[j - 1] ? t[j - 1] : min(t[j - 1], t[j], u[j - 1]) + 1; + } + + t = u; + } + + return u[n]; +} + +function findSuggestion(str, arr) { + const distances = arr.map(el => levenshtein(el, str)); + return arr[distances.indexOf(min(...distances))]; +} \ No newline at end of file diff --git a/tools/node_modules/@babel/core/node_modules/@babel/helper-validator-option/lib/index.js b/tools/node_modules/@babel/core/node_modules/@babel/helper-validator-option/lib/index.js new file mode 100644 index 00000000000000..8afe8612281220 --- /dev/null +++ b/tools/node_modules/@babel/core/node_modules/@babel/helper-validator-option/lib/index.js @@ -0,0 +1,21 @@ +"use strict"; + +Object.defineProperty(exports, "__esModule", { + value: true +}); +Object.defineProperty(exports, "OptionValidator", { + enumerable: true, + get: function () { + return _validator.OptionValidator; + } +}); +Object.defineProperty(exports, "findSuggestion", { + enumerable: true, + get: function () { + return _findSuggestion.findSuggestion; + } +}); + +var _validator = require("./validator"); + +var _findSuggestion = require("./find-suggestion"); \ No newline at end of file diff --git a/tools/node_modules/@babel/core/node_modules/@babel/helper-validator-option/lib/validator.js b/tools/node_modules/@babel/core/node_modules/@babel/helper-validator-option/lib/validator.js new file mode 100644 index 00000000000000..5b4bad1dc6a681 --- /dev/null +++ b/tools/node_modules/@babel/core/node_modules/@babel/helper-validator-option/lib/validator.js @@ -0,0 +1,58 @@ +"use strict"; + +Object.defineProperty(exports, "__esModule", { + value: true +}); +exports.OptionValidator = void 0; + +var _findSuggestion = require("./find-suggestion"); + +class OptionValidator { + constructor(descriptor) { + this.descriptor = descriptor; + } + + validateTopLevelOptions(options, TopLevelOptionShape) { + const validOptionNames = Object.keys(TopLevelOptionShape); + + for (const option of Object.keys(options)) { + if (!validOptionNames.includes(option)) { + throw new Error(this.formatMessage(`'${option}' is not a valid top-level option. +- Did you mean '${(0, _findSuggestion.findSuggestion)(option, validOptionNames)}'?`)); + } + } + } + + validateBooleanOption(name, value, defaultValue) { + if (value === undefined) { + return defaultValue; + } else { + this.invariant(typeof value === "boolean", `'${name}' option must be a boolean.`); + } + + return value; + } + + validateStringOption(name, value, defaultValue) { + if (value === undefined) { + return defaultValue; + } else { + this.invariant(typeof value === "string", `'${name}' option must be a string.`); + } + + return value; + } + + invariant(condition, message) { + if (!condition) { + throw new Error(this.formatMessage(message)); + } + } + + formatMessage(message) { + return `${this.descriptor}: ${message}`; + } + +} + +exports.OptionValidator = OptionValidator; \ No newline at end of file diff --git a/tools/node_modules/@babel/core/node_modules/@babel/helper-validator-option/package.json b/tools/node_modules/@babel/core/node_modules/@babel/helper-validator-option/package.json new file mode 100644 index 00000000000000..077bbfb688b691 --- /dev/null +++ b/tools/node_modules/@babel/core/node_modules/@babel/helper-validator-option/package.json @@ -0,0 +1,20 @@ +{ + "name": "@babel/helper-validator-option", + "version": "7.14.5", + "description": "Validate plugin/preset options", + "repository": { + "type": "git", + "url": "https://github.com/babel/babel.git", + "directory": "packages/babel-helper-validator-option" + }, + "license": "MIT", + "publishConfig": { + "access": "public" + }, + "main": "./lib/index.js", + "exports": "./lib/index.js", + "engines": { + "node": ">=6.9.0" + }, + "author": "The Babel Team (https://babel.dev/team)" +} \ No newline at end of file diff --git a/tools/node_modules/@babel/core/node_modules/@babel/helpers/lib/helpers-generated.js b/tools/node_modules/@babel/core/node_modules/@babel/helpers/lib/helpers-generated.js new file mode 100644 index 00000000000000..8d3ba5413e89bf --- /dev/null +++ b/tools/node_modules/@babel/core/node_modules/@babel/helpers/lib/helpers-generated.js @@ -0,0 +1,29 @@ +"use strict"; + +Object.defineProperty(exports, "__esModule", { + value: true +}); +exports.wrapRegExp = exports.typeof = exports.objectSpread2 = exports.jsx = void 0; + +var _template = require("@babel/template"); + +const jsx = { + minVersion: "7.0.0-beta.0", + ast: () => _template.default.program.ast('\nvar REACT_ELEMENT_TYPE;\nexport default function _createRawReactElement(type, props, key, children) {\n if (!REACT_ELEMENT_TYPE) {\n REACT_ELEMENT_TYPE =\n (typeof Symbol === "function" &&\n \n Symbol["for"] &&\n Symbol["for"]("react.element")) ||\n 0xeac7;\n }\n var defaultProps = type && type.defaultProps;\n var childrenLength = arguments.length - 3;\n if (!props && childrenLength !== 0) {\n \n \n props = { children: void 0 };\n }\n if (childrenLength === 1) {\n props.children = children;\n } else if (childrenLength > 1) {\n var childArray = new Array(childrenLength);\n for (var i = 0; i < childrenLength; i++) {\n childArray[i] = arguments[i + 3];\n }\n props.children = childArray;\n }\n if (props && defaultProps) {\n for (var propName in defaultProps) {\n if (props[propName] === void 0) {\n props[propName] = defaultProps[propName];\n }\n }\n } else if (!props) {\n props = defaultProps || {};\n }\n return {\n $$typeof: REACT_ELEMENT_TYPE,\n type: type,\n key: key === undefined ? null : "" + key,\n ref: null,\n props: props,\n _owner: null,\n };\n}\n') +}; +exports.jsx = jsx; +const objectSpread2 = { + minVersion: "7.5.0", + ast: () => _template.default.program.ast('\nimport defineProperty from "defineProperty";\nfunction ownKeys(object, enumerableOnly) {\n var keys = Object.keys(object);\n if (Object.getOwnPropertySymbols) {\n var symbols = Object.getOwnPropertySymbols(object);\n if (enumerableOnly) {\n symbols = symbols.filter(function (sym) {\n return Object.getOwnPropertyDescriptor(object, sym).enumerable;\n });\n }\n keys.push.apply(keys, symbols);\n }\n return keys;\n}\nexport default function _objectSpread2(target) {\n for (var i = 1; i < arguments.length; i++) {\n var source = arguments[i] != null ? arguments[i] : {};\n if (i % 2) {\n ownKeys(Object(source), true).forEach(function (key) {\n defineProperty(target, key, source[key]);\n });\n } else if (Object.getOwnPropertyDescriptors) {\n Object.defineProperties(target, Object.getOwnPropertyDescriptors(source));\n } else {\n ownKeys(Object(source)).forEach(function (key) {\n Object.defineProperty(\n target,\n key,\n Object.getOwnPropertyDescriptor(source, key)\n );\n });\n }\n }\n return target;\n}\n') +}; +exports.objectSpread2 = objectSpread2; +const _typeof = { + minVersion: "7.0.0-beta.0", + ast: () => _template.default.program.ast('\nexport default function _typeof(obj) {\n "@babel/helpers - typeof";\n if (typeof Symbol === "function" && typeof Symbol.iterator === "symbol") {\n _typeof = function (obj) {\n return typeof obj;\n };\n } else {\n _typeof = function (obj) {\n return obj &&\n typeof Symbol === "function" &&\n obj.constructor === Symbol &&\n obj !== Symbol.prototype\n ? "symbol"\n : typeof obj;\n };\n }\n return _typeof(obj);\n}\n') +}; +exports.typeof = _typeof; +const wrapRegExp = { + minVersion: "7.2.6", + ast: () => _template.default.program.ast('\nimport setPrototypeOf from "setPrototypeOf";\nimport inherits from "inherits";\nexport default function _wrapRegExp() {\n _wrapRegExp = function (re, groups) {\n return new BabelRegExp(re, undefined, groups);\n };\n var _super = RegExp.prototype;\n var _groups = new WeakMap();\n function BabelRegExp(re, flags, groups) {\n var _this = new RegExp(re, flags);\n \n _groups.set(_this, groups || _groups.get(re));\n return setPrototypeOf(_this, BabelRegExp.prototype);\n }\n inherits(BabelRegExp, RegExp);\n BabelRegExp.prototype.exec = function (str) {\n var result = _super.exec.call(this, str);\n if (result) result.groups = buildGroups(result, this);\n return result;\n };\n BabelRegExp.prototype[Symbol.replace] = function (str, substitution) {\n if (typeof substitution === "string") {\n var groups = _groups.get(this);\n return _super[Symbol.replace].call(\n this,\n str,\n substitution.replace(/\\$<([^>]+)>/g, function (_, name) {\n return "$" + groups[name];\n })\n );\n } else if (typeof substitution === "function") {\n var _this = this;\n return _super[Symbol.replace].call(this, str, function () {\n var args = arguments;\n \n if (typeof args[args.length - 1] !== "object") {\n args = [].slice.call(args);\n args.push(buildGroups(args, _this));\n }\n return substitution.apply(this, args);\n });\n } else {\n return _super[Symbol.replace].call(this, str, substitution);\n }\n };\n function buildGroups(result, re) {\n \n \n var g = _groups.get(re);\n return Object.keys(g).reduce(function (groups, name) {\n groups[name] = result[g[name]];\n return groups;\n }, Object.create(null));\n }\n return _wrapRegExp.apply(this, arguments);\n}\n') +}; +exports.wrapRegExp = wrapRegExp; \ No newline at end of file diff --git a/tools/node_modules/@babel/core/node_modules/@babel/helpers/lib/helpers.js b/tools/node_modules/@babel/core/node_modules/@babel/helpers/lib/helpers.js index feb2e016acb608..7168c66338fea8 100644 --- a/tools/node_modules/@babel/core/node_modules/@babel/helpers/lib/helpers.js +++ b/tools/node_modules/@babel/core/node_modules/@babel/helpers/lib/helpers.js @@ -5,11 +5,13 @@ Object.defineProperty(exports, "__esModule", { }); exports.default = void 0; -var _template = _interopRequireDefault(require("@babel/template")); +var _template = require("@babel/template"); -function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } +var generated = require("./helpers-generated"); -const helpers = Object.create(null); +const helpers = Object.assign({ + __proto__: null +}, generated); var _default = helpers; exports.default = _default; @@ -18,88 +20,17 @@ const helper = minVersion => tpl => ({ ast: () => _template.default.program.ast(tpl) }); -helpers.typeof = helper("7.0.0-beta.0")` - export default function _typeof(obj) { - "@babel/helpers - typeof"; - - if (typeof Symbol === "function" && typeof Symbol.iterator === "symbol") { - _typeof = function (obj) { return typeof obj; }; - } else { - _typeof = function (obj) { - return obj && typeof Symbol === "function" && obj.constructor === Symbol && obj !== Symbol.prototype - ? "symbol" - : typeof obj; - }; - } - - return _typeof(obj); - } -`; -helpers.jsx = helper("7.0.0-beta.0")` - var REACT_ELEMENT_TYPE; - - export default function _createRawReactElement(type, props, key, children) { - if (!REACT_ELEMENT_TYPE) { - REACT_ELEMENT_TYPE = ( - typeof Symbol === "function" && Symbol["for"] && Symbol["for"]("react.element") - ) || 0xeac7; - } - - var defaultProps = type && type.defaultProps; - var childrenLength = arguments.length - 3; - - if (!props && childrenLength !== 0) { - // If we're going to assign props.children, we create a new object now - // to avoid mutating defaultProps. - props = { - children: void 0, - }; - } - - if (childrenLength === 1) { - props.children = children; - } else if (childrenLength > 1) { - var childArray = new Array(childrenLength); - for (var i = 0; i < childrenLength; i++) { - childArray[i] = arguments[i + 3]; - } - props.children = childArray; - } - - if (props && defaultProps) { - for (var propName in defaultProps) { - if (props[propName] === void 0) { - props[propName] = defaultProps[propName]; - } - } - } else if (!props) { - props = defaultProps || {}; - } - - return { - $$typeof: REACT_ELEMENT_TYPE, - type: type, - key: key === undefined ? null : '' + key, - ref: null, - props: props, - _owner: null, - }; - } -`; helpers.asyncIterator = helper("7.0.0-beta.0")` export default function _asyncIterator(iterable) { - var method + var method; if (typeof Symbol !== "undefined") { - if (Symbol.asyncIterator) { - method = iterable[Symbol.asyncIterator] - if (method != null) return method.call(iterable); - } - if (Symbol.iterator) { - method = iterable[Symbol.iterator] - if (method != null) return method.call(iterable); - } + if (Symbol.asyncIterator) method = iterable[Symbol.asyncIterator]; + if (method == null && Symbol.iterator) method = iterable[Symbol.iterator]; } - throw new TypeError("Object is not async iterable"); + if (method == null) method = iterable["@@asyncIterator"]; + if (method == null) method = iterable["@@iterator"] + if (method == null) throw new TypeError("Object is not async iterable"); + return method.call(iterable); } `; helpers.AwaitValue = helper("7.0.0-beta.0")` @@ -182,9 +113,7 @@ helpers.AsyncGenerator = helper("7.0.0-beta.0")` } } - if (typeof Symbol === "function" && Symbol.asyncIterator) { - AsyncGenerator.prototype[Symbol.asyncIterator] = function () { return this; }; - } + AsyncGenerator.prototype[typeof Symbol === "function" && Symbol.asyncIterator || "@@asyncIterator"] = function () { return this; }; AsyncGenerator.prototype.next = function (arg) { return this._invoke("next", arg); }; AsyncGenerator.prototype.throw = function (arg) { return this._invoke("throw", arg); }; @@ -216,9 +145,7 @@ helpers.asyncGeneratorDelegate = helper("7.0.0-beta.0")` return { done: false, value: awaitWrap(value) }; }; - if (typeof Symbol === "function" && Symbol.iterator) { - iter[Symbol.iterator] = function () { return this; }; - } + iter[typeof Symbol !== "undefined" && Symbol.iterator || "@@iterator"] = function () { return this; }; iter.next = function (value) { if (waiting) { @@ -403,47 +330,6 @@ helpers.objectSpread = helper("7.0.0-beta.0")` return target; } `; -helpers.objectSpread2 = helper("7.5.0")` - import defineProperty from "defineProperty"; - - // This function is different to "Reflect.ownKeys". The enumerableOnly - // filters on symbol properties only. Returned string properties are always - // enumerable. It is good to use in objectSpread. - - function ownKeys(object, enumerableOnly) { - var keys = Object.keys(object); - if (Object.getOwnPropertySymbols) { - var symbols = Object.getOwnPropertySymbols(object); - if (enumerableOnly) symbols = symbols.filter(function (sym) { - return Object.getOwnPropertyDescriptor(object, sym).enumerable; - }); - keys.push.apply(keys, symbols); - } - return keys; - } - - export default function _objectSpread2(target) { - for (var i = 1; i < arguments.length; i++) { - var source = (arguments[i] != null) ? arguments[i] : {}; - if (i % 2) { - ownKeys(Object(source), true).forEach(function (key) { - defineProperty(target, key, source[key]); - }); - } else if (Object.getOwnPropertyDescriptors) { - Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); - } else { - ownKeys(Object(source)).forEach(function (key) { - Object.defineProperty( - target, - key, - Object.getOwnPropertyDescriptor(source, key) - ); - }); - } - } - return target; - } -`; helpers.inherits = helper("7.0.0-beta.0")` import setPrototypeOf from "setPrototypeOf"; @@ -462,10 +348,12 @@ helpers.inherits = helper("7.0.0-beta.0")` } `; helpers.inheritsLoose = helper("7.0.0-beta.0")` + import setPrototypeOf from "setPrototypeOf"; + export default function _inheritsLoose(subClass, superClass) { subClass.prototype = Object.create(superClass.prototype); subClass.prototype.constructor = subClass; - subClass.__proto__ = superClass; + setPrototypeOf(subClass, superClass); } `; helpers.getPrototypeOf = helper("7.0.0-beta.0")` @@ -505,8 +393,9 @@ helpers.isNativeReflectConstruct = helper("7.9.0")` // use our fallback implementation. try { // If the internal slots aren't set, this throws an error similar to - // TypeError: this is not a Date object. - Date.prototype.toString.call(Reflect.construct(Date, [], function() {})); + // TypeError: this is not a Boolean object. + + Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function() {})); return true; } catch (e) { return false; @@ -593,17 +482,19 @@ helpers.interopRequireDefault = helper("7.0.0-beta.0")` return obj && obj.__esModule ? obj : { default: obj }; } `; -helpers.interopRequireWildcard = helper("7.0.0-beta.0")` - function _getRequireWildcardCache() { +helpers.interopRequireWildcard = helper("7.14.0")` + function _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== "function") return null; - var cache = new WeakMap(); - _getRequireWildcardCache = function () { return cache; }; - return cache; + var cacheBabelInterop = new WeakMap(); + var cacheNodeInterop = new WeakMap(); + return (_getRequireWildcardCache = function (nodeInterop) { + return nodeInterop ? cacheNodeInterop : cacheBabelInterop; + })(nodeInterop); } - export default function _interopRequireWildcard(obj) { - if (obj && obj.__esModule) { + export default function _interopRequireWildcard(obj, nodeInterop) { + if (!nodeInterop && obj && obj.__esModule) { return obj; } @@ -611,7 +502,7 @@ helpers.interopRequireWildcard = helper("7.0.0-beta.0")` return { default: obj } } - var cache = _getRequireWildcardCache(); + var cache = _getRequireWildcardCache(nodeInterop); if (cache && cache.has(obj)) { return cache.get(obj); } @@ -619,7 +510,7 @@ helpers.interopRequireWildcard = helper("7.0.0-beta.0")` var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { - if (Object.prototype.hasOwnProperty.call(obj, key)) { + if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; @@ -838,6 +729,11 @@ helpers.readOnlyError = helper("7.0.0-beta.0")` throw new TypeError("\\"" + name + "\\" is read-only"); } `; +helpers.writeOnlyError = helper("7.12.13")` + export default function _writeOnlyError(name) { + throw new TypeError("\\"" + name + "\\" is write-only"); + } +`; helpers.classNameTDZError = helper("7.0.0-beta.0")` export default function _classNameTDZError(name) { throw new Error("Class \\"" + name + "\\" cannot be referenced in computed property keys."); @@ -946,7 +842,7 @@ helpers.maybeArrayLike = helper("7.9.0")` `; helpers.iterableToArray = helper("7.0.0-beta.0")` export default function _iterableToArray(iter) { - if (typeof Symbol !== "undefined" && Symbol.iterator in Object(iter)) return Array.from(iter); + if (typeof Symbol !== "undefined" && iter[Symbol.iterator] != null || iter["@@iterator"] != null) return Array.from(iter); } `; helpers.iterableToArrayLimit = helper("7.0.0-beta.0")` @@ -961,14 +857,15 @@ helpers.iterableToArrayLimit = helper("7.0.0-beta.0")` // _i = _iterator // _s = _step - if (typeof Symbol === "undefined" || !(Symbol.iterator in Object(arr))) return; + var _i = arr == null ? null : (typeof Symbol !== "undefined" && arr[Symbol.iterator] || arr["@@iterator"]); + if (_i == null) return; var _arr = []; var _n = true; var _d = false; - var _e = undefined; + var _s, _e; try { - for (var _i = arr[Symbol.iterator](), _s; !(_n = (_s = _i.next()).done); _n = true) { + for (_i = _i.call(arr); !(_n = (_s = _i.next()).done); _n = true) { _arr.push(_s.value); if (i && _arr.length === i) break; } @@ -987,10 +884,11 @@ helpers.iterableToArrayLimit = helper("7.0.0-beta.0")` `; helpers.iterableToArrayLimitLoose = helper("7.0.0-beta.0")` export default function _iterableToArrayLimitLoose(arr, i) { - if (typeof Symbol === "undefined" || !(Symbol.iterator in Object(arr))) return; + var _i = arr && (typeof Symbol !== "undefined" && arr[Symbol.iterator] || arr["@@iterator"]); + if (_i == null) return; var _arr = []; - for (var _iterator = arr[Symbol.iterator](), _step; !(_step = _iterator.next()).done;) { + for (_i = _i.call(arr), _step; !(_step = _i.next()).done;) { _arr.push(_step.value); if (i && _arr.length === i) break; } @@ -1040,8 +938,9 @@ helpers.createForOfIteratorHelper = helper("7.9.0")` // f: finish (always called at the end) export default function _createForOfIteratorHelper(o, allowArrayLike) { - var it; - if (typeof Symbol === "undefined" || o[Symbol.iterator] == null) { + var it = typeof Symbol !== "undefined" && o[Symbol.iterator] || o["@@iterator"]; + + if (!it) { // Fallback for engines without symbol support if ( Array.isArray(o) || @@ -1069,7 +968,7 @@ helpers.createForOfIteratorHelper = helper("7.9.0")` return { s: function() { - it = o[Symbol.iterator](); + it = it.call(o); }, n: function() { var step = it.next(); @@ -1094,28 +993,25 @@ helpers.createForOfIteratorHelperLoose = helper("7.9.0")` import unsupportedIterableToArray from "unsupportedIterableToArray"; export default function _createForOfIteratorHelperLoose(o, allowArrayLike) { - var it; - - if (typeof Symbol === "undefined" || o[Symbol.iterator] == null) { - // Fallback for engines without symbol support - if ( - Array.isArray(o) || - (it = unsupportedIterableToArray(o)) || - (allowArrayLike && o && typeof o.length === "number") - ) { - if (it) o = it; - var i = 0; - return function() { - if (i >= o.length) return { done: true }; - return { done: false, value: o[i++] }; - } + var it = typeof Symbol !== "undefined" && o[Symbol.iterator] || o["@@iterator"]; + + if (it) return (it = it.call(o)).next.bind(it); + + // Fallback for engines without symbol support + if ( + Array.isArray(o) || + (it = unsupportedIterableToArray(o)) || + (allowArrayLike && o && typeof o.length === "number") + ) { + if (it) o = it; + var i = 0; + return function() { + if (i >= o.length) return { done: true }; + return { done: false, value: o[i++] }; } - - throw new TypeError("Invalid attempt to iterate non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); } - it = o[Symbol.iterator](); - return it.next.bind(it); + throw new TypeError("Invalid attempt to iterate non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); } `; helpers.skipFirstGeneratorNext = helper("7.0.0-beta.0")` @@ -1214,23 +1110,81 @@ helpers.classPrivateFieldLooseBase = helper("7.0.0-beta.0")` } `; helpers.classPrivateFieldGet = helper("7.0.0-beta.0")` + import classApplyDescriptorGet from "classApplyDescriptorGet"; + import classExtractFieldDescriptor from "classExtractFieldDescriptor"; export default function _classPrivateFieldGet(receiver, privateMap) { - var descriptor = privateMap.get(receiver); - if (!descriptor) { - throw new TypeError("attempted to get private field on non-instance"); + var descriptor = classExtractFieldDescriptor(receiver, privateMap, "get"); + return classApplyDescriptorGet(receiver, descriptor); + } +`; +helpers.classPrivateFieldSet = helper("7.0.0-beta.0")` + import classApplyDescriptorSet from "classApplyDescriptorSet"; + import classExtractFieldDescriptor from "classExtractFieldDescriptor"; + export default function _classPrivateFieldSet(receiver, privateMap, value) { + var descriptor = classExtractFieldDescriptor(receiver, privateMap, "set"); + classApplyDescriptorSet(receiver, descriptor, value); + return value; + } +`; +helpers.classPrivateFieldDestructureSet = helper("7.4.4")` + import classApplyDescriptorDestructureSet from "classApplyDescriptorDestructureSet"; + import classExtractFieldDescriptor from "classExtractFieldDescriptor"; + export default function _classPrivateFieldDestructureSet(receiver, privateMap) { + var descriptor = classExtractFieldDescriptor(receiver, privateMap, "set"); + return classApplyDescriptorDestructureSet(receiver, descriptor); + } +`; +helpers.classExtractFieldDescriptor = helper("7.13.10")` + export default function _classExtractFieldDescriptor(receiver, privateMap, action) { + if (!privateMap.has(receiver)) { + throw new TypeError("attempted to " + action + " private field on non-instance"); } + return privateMap.get(receiver); + } +`; +helpers.classStaticPrivateFieldSpecGet = helper("7.0.2")` + import classApplyDescriptorGet from "classApplyDescriptorGet"; + import classCheckPrivateStaticAccess from "classCheckPrivateStaticAccess"; + import classCheckPrivateStaticFieldDescriptor from "classCheckPrivateStaticFieldDescriptor"; + export default function _classStaticPrivateFieldSpecGet(receiver, classConstructor, descriptor) { + classCheckPrivateStaticAccess(receiver, classConstructor); + classCheckPrivateStaticFieldDescriptor(descriptor, "get"); + return classApplyDescriptorGet(receiver, descriptor); + } +`; +helpers.classStaticPrivateFieldSpecSet = helper("7.0.2")` + import classApplyDescriptorSet from "classApplyDescriptorSet"; + import classCheckPrivateStaticAccess from "classCheckPrivateStaticAccess"; + import classCheckPrivateStaticFieldDescriptor from "classCheckPrivateStaticFieldDescriptor"; + export default function _classStaticPrivateFieldSpecSet(receiver, classConstructor, descriptor, value) { + classCheckPrivateStaticAccess(receiver, classConstructor); + classCheckPrivateStaticFieldDescriptor(descriptor, "set"); + classApplyDescriptorSet(receiver, descriptor, value); + return value; + } +`; +helpers.classStaticPrivateMethodGet = helper("7.3.2")` + import classCheckPrivateStaticAccess from "classCheckPrivateStaticAccess"; + export default function _classStaticPrivateMethodGet(receiver, classConstructor, method) { + classCheckPrivateStaticAccess(receiver, classConstructor); + return method; + } +`; +helpers.classStaticPrivateMethodSet = helper("7.3.2")` + export default function _classStaticPrivateMethodSet() { + throw new TypeError("attempted to set read only static private field"); + } +`; +helpers.classApplyDescriptorGet = helper("7.13.10")` + export default function _classApplyDescriptorGet(receiver, descriptor) { if (descriptor.get) { return descriptor.get.call(receiver); } return descriptor.value; } `; -helpers.classPrivateFieldSet = helper("7.0.0-beta.0")` - export default function _classPrivateFieldSet(receiver, privateMap, value) { - var descriptor = privateMap.get(receiver); - if (!descriptor) { - throw new TypeError("attempted to set private field on non-instance"); - } +helpers.classApplyDescriptorSet = helper("7.13.10")` + export default function _classApplyDescriptorSet(receiver, descriptor, value) { if (descriptor.set) { descriptor.set.call(receiver, value); } else { @@ -1240,19 +1194,12 @@ helpers.classPrivateFieldSet = helper("7.0.0-beta.0")` // class bodies. throw new TypeError("attempted to set read only private field"); } - descriptor.value = value; } - - return value; } `; -helpers.classPrivateFieldDestructureSet = helper("7.4.4")` - export default function _classPrivateFieldDestructureSet(receiver, privateMap) { - if (!privateMap.has(receiver)) { - throw new TypeError("attempted to set private field on non-instance"); - } - var descriptor = privateMap.get(receiver); +helpers.classApplyDescriptorDestructureSet = helper("7.13.10")` + export default function _classApplyDescriptorDestructureSet(receiver, descriptor) { if (descriptor.set) { if (!("__destrObj" in descriptor)) { descriptor.__destrObj = { @@ -1274,48 +1221,28 @@ helpers.classPrivateFieldDestructureSet = helper("7.4.4")` } } `; -helpers.classStaticPrivateFieldSpecGet = helper("7.0.2")` - export default function _classStaticPrivateFieldSpecGet(receiver, classConstructor, descriptor) { - if (receiver !== classConstructor) { - throw new TypeError("Private static access of wrong provenance"); - } - if (descriptor.get) { - return descriptor.get.call(receiver); - } - return descriptor.value; +helpers.classStaticPrivateFieldDestructureSet = helper("7.13.10")` + import classApplyDescriptorDestructureSet from "classApplyDescriptorDestructureSet"; + import classCheckPrivateStaticAccess from "classCheckPrivateStaticAccess"; + import classCheckPrivateStaticFieldDescriptor from "classCheckPrivateStaticFieldDescriptor"; + export default function _classStaticPrivateFieldDestructureSet(receiver, classConstructor, descriptor) { + classCheckPrivateStaticAccess(receiver, classConstructor); + classCheckPrivateStaticFieldDescriptor(descriptor, "set"); + return classApplyDescriptorDestructureSet(receiver, descriptor); } `; -helpers.classStaticPrivateFieldSpecSet = helper("7.0.2")` - export default function _classStaticPrivateFieldSpecSet(receiver, classConstructor, descriptor, value) { +helpers.classCheckPrivateStaticAccess = helper("7.13.10")` + export default function _classCheckPrivateStaticAccess(receiver, classConstructor) { if (receiver !== classConstructor) { throw new TypeError("Private static access of wrong provenance"); } - if (descriptor.set) { - descriptor.set.call(receiver, value); - } else { - if (!descriptor.writable) { - // This should only throw in strict mode, but class bodies are - // always strict and private fields can only be used inside - // class bodies. - throw new TypeError("attempted to set read only private field"); - } - descriptor.value = value; - } - - return value; } `; -helpers.classStaticPrivateMethodGet = helper("7.3.2")` - export default function _classStaticPrivateMethodGet(receiver, classConstructor, method) { - if (receiver !== classConstructor) { - throw new TypeError("Private static access of wrong provenance"); +helpers.classCheckPrivateStaticFieldDescriptor = helper("7.13.10")` + export default function _classCheckPrivateStaticFieldDescriptor(descriptor, action) { + if (descriptor === undefined) { + throw new TypeError("attempted to " + action + " private static field before its declaration"); } - return method; - } -`; -helpers.classStaticPrivateMethodSet = helper("7.3.2")` - export default function _classStaticPrivateMethodSet() { - throw new TypeError("attempted to set read only static private field"); } `; helpers.decorate = helper("7.1.5")` @@ -1999,80 +1926,10 @@ helpers.classPrivateMethodGet = helper("7.1.6")` return fn; } `; -helpers.classPrivateMethodSet = helper("7.1.6")` - export default function _classPrivateMethodSet() { - throw new TypeError("attempted to reassign private method"); - } -`; -helpers.wrapRegExp = helper("7.2.6")` - import wrapNativeSuper from "wrapNativeSuper"; - import getPrototypeOf from "getPrototypeOf"; - import possibleConstructorReturn from "possibleConstructorReturn"; - import inherits from "inherits"; - - export default function _wrapRegExp(re, groups) { - _wrapRegExp = function(re, groups) { - return new BabelRegExp(re, undefined, groups); - }; - - var _RegExp = wrapNativeSuper(RegExp); - var _super = RegExp.prototype; - var _groups = new WeakMap(); - - function BabelRegExp(re, flags, groups) { - var _this = _RegExp.call(this, re, flags); - // if the regex is recreated with 'g' flag - _groups.set(_this, groups || _groups.get(re)); - return _this; - } - inherits(BabelRegExp, _RegExp); - - BabelRegExp.prototype.exec = function(str) { - var result = _super.exec.call(this, str); - if (result) result.groups = buildGroups(result, this); - return result; - }; - BabelRegExp.prototype[Symbol.replace] = function(str, substitution) { - if (typeof substitution === "string") { - var groups = _groups.get(this); - return _super[Symbol.replace].call( - this, - str, - substitution.replace(/\\$<([^>]+)>/g, function(_, name) { - return "$" + groups[name]; - }) - ); - } else if (typeof substitution === "function") { - var _this = this; - return _super[Symbol.replace].call( - this, - str, - function() { - var args = []; - args.push.apply(args, arguments); - if (typeof args[args.length - 1] !== "object") { - // Modern engines already pass result.groups as the last arg. - args.push(buildGroups(args, _this)); - } - return substitution.apply(this, args); - } - ); - } else { - return _super[Symbol.replace].call(this, str, substitution); - } +{ + helpers.classPrivateMethodSet = helper("7.1.6")` + export default function _classPrivateMethodSet() { + throw new TypeError("attempted to reassign private method"); } - - function buildGroups(result, re) { - // NOTE: This function should return undefined if there are no groups, - // but in that case Babel doesn't add the wrapper anyway. - - var g = _groups.get(re); - return Object.keys(g).reduce(function(groups, name) { - groups[name] = result[g[name]]; - return groups; - }, Object.create(null)); - } - - return _wrapRegExp.apply(this, arguments); - } -`; \ No newline at end of file + `; +} \ No newline at end of file diff --git a/tools/node_modules/@babel/core/node_modules/@babel/helpers/lib/helpers/jsx.js b/tools/node_modules/@babel/core/node_modules/@babel/helpers/lib/helpers/jsx.js new file mode 100644 index 00000000000000..68de16843cb647 --- /dev/null +++ b/tools/node_modules/@babel/core/node_modules/@babel/helpers/lib/helpers/jsx.js @@ -0,0 +1,53 @@ +"use strict"; + +Object.defineProperty(exports, "__esModule", { + value: true +}); +exports.default = _createRawReactElement; +var REACT_ELEMENT_TYPE; + +function _createRawReactElement(type, props, key, children) { + if (!REACT_ELEMENT_TYPE) { + REACT_ELEMENT_TYPE = typeof Symbol === "function" && Symbol["for"] && Symbol["for"]("react.element") || 0xeac7; + } + + var defaultProps = type && type.defaultProps; + var childrenLength = arguments.length - 3; + + if (!props && childrenLength !== 0) { + props = { + children: void 0 + }; + } + + if (childrenLength === 1) { + props.children = children; + } else if (childrenLength > 1) { + var childArray = new Array(childrenLength); + + for (var i = 0; i < childrenLength; i++) { + childArray[i] = arguments[i + 3]; + } + + props.children = childArray; + } + + if (props && defaultProps) { + for (var propName in defaultProps) { + if (props[propName] === void 0) { + props[propName] = defaultProps[propName]; + } + } + } else if (!props) { + props = defaultProps || {}; + } + + return { + $$typeof: REACT_ELEMENT_TYPE, + type: type, + key: key === undefined ? null : "" + key, + ref: null, + props: props, + _owner: null + }; +} \ No newline at end of file diff --git a/tools/node_modules/@babel/core/node_modules/@babel/helpers/lib/helpers/objectSpread2.js b/tools/node_modules/@babel/core/node_modules/@babel/helpers/lib/helpers/objectSpread2.js new file mode 100644 index 00000000000000..03db0068a5d1c7 --- /dev/null +++ b/tools/node_modules/@babel/core/node_modules/@babel/helpers/lib/helpers/objectSpread2.js @@ -0,0 +1,46 @@ +"use strict"; + +Object.defineProperty(exports, "__esModule", { + value: true +}); +exports.default = _objectSpread2; + +var _defineProperty = require("defineProperty"); + +function ownKeys(object, enumerableOnly) { + var keys = Object.keys(object); + + if (Object.getOwnPropertySymbols) { + var symbols = Object.getOwnPropertySymbols(object); + + if (enumerableOnly) { + symbols = symbols.filter(function (sym) { + return Object.getOwnPropertyDescriptor(object, sym).enumerable; + }); + } + + keys.push.apply(keys, symbols); + } + + return keys; +} + +function _objectSpread2(target) { + for (var i = 1; i < arguments.length; i++) { + var source = arguments[i] != null ? arguments[i] : {}; + + if (i % 2) { + ownKeys(Object(source), true).forEach(function (key) { + _defineProperty(target, key, source[key]); + }); + } else if (Object.getOwnPropertyDescriptors) { + Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); + } else { + ownKeys(Object(source)).forEach(function (key) { + Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); + }); + } + } + + return target; +} \ No newline at end of file diff --git a/tools/node_modules/@babel/core/node_modules/@babel/helpers/lib/helpers/typeof.js b/tools/node_modules/@babel/core/node_modules/@babel/helpers/lib/helpers/typeof.js new file mode 100644 index 00000000000000..b1a728b924abae --- /dev/null +++ b/tools/node_modules/@babel/core/node_modules/@babel/helpers/lib/helpers/typeof.js @@ -0,0 +1,22 @@ +"use strict"; + +Object.defineProperty(exports, "__esModule", { + value: true +}); +exports.default = _typeof; + +function _typeof(obj) { + "@babel/helpers - typeof"; + + if (typeof Symbol === "function" && typeof Symbol.iterator === "symbol") { + exports.default = _typeof = function (obj) { + return typeof obj; + }; + } else { + exports.default = _typeof = function (obj) { + return obj && typeof Symbol === "function" && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; + }; + } + + return _typeof(obj); +} \ No newline at end of file diff --git a/tools/node_modules/@babel/core/node_modules/@babel/helpers/lib/helpers/wrapRegExp.js b/tools/node_modules/@babel/core/node_modules/@babel/helpers/lib/helpers/wrapRegExp.js new file mode 100644 index 00000000000000..6375b7119891bf --- /dev/null +++ b/tools/node_modules/@babel/core/node_modules/@babel/helpers/lib/helpers/wrapRegExp.js @@ -0,0 +1,73 @@ +"use strict"; + +Object.defineProperty(exports, "__esModule", { + value: true +}); +exports.default = _wrapRegExp; + +var _setPrototypeOf = require("setPrototypeOf"); + +var _inherits = require("inherits"); + +function _wrapRegExp() { + exports.default = _wrapRegExp = function (re, groups) { + return new BabelRegExp(re, undefined, groups); + }; + + var _super = RegExp.prototype; + + var _groups = new WeakMap(); + + function BabelRegExp(re, flags, groups) { + var _this = new RegExp(re, flags); + + _groups.set(_this, groups || _groups.get(re)); + + return _setPrototypeOf(_this, BabelRegExp.prototype); + } + + _inherits(BabelRegExp, RegExp); + + BabelRegExp.prototype.exec = function (str) { + var result = _super.exec.call(this, str); + + if (result) result.groups = buildGroups(result, this); + return result; + }; + + BabelRegExp.prototype[Symbol.replace] = function (str, substitution) { + if (typeof substitution === "string") { + var groups = _groups.get(this); + + return _super[Symbol.replace].call(this, str, substitution.replace(/\$<([^>]+)>/g, function (_, name) { + return "$" + groups[name]; + })); + } else if (typeof substitution === "function") { + var _this = this; + + return _super[Symbol.replace].call(this, str, function () { + var args = arguments; + + if (typeof args[args.length - 1] !== "object") { + args = [].slice.call(args); + args.push(buildGroups(args, _this)); + } + + return substitution.apply(this, args); + }); + } else { + return _super[Symbol.replace].call(this, str, substitution); + } + }; + + function buildGroups(result, re) { + var g = _groups.get(re); + + return Object.keys(g).reduce(function (groups, name) { + groups[name] = result[g[name]]; + return groups; + }, Object.create(null)); + } + + return _wrapRegExp.apply(this, arguments); +} \ No newline at end of file diff --git a/tools/node_modules/@babel/core/node_modules/@babel/helpers/lib/index.js b/tools/node_modules/@babel/core/node_modules/@babel/helpers/lib/index.js index f122ac096cc00c..ec56162b43ea5d 100644 --- a/tools/node_modules/@babel/core/node_modules/@babel/helpers/lib/index.js +++ b/tools/node_modules/@babel/core/node_modules/@babel/helpers/lib/index.js @@ -9,17 +9,11 @@ exports.getDependencies = getDependencies; exports.ensure = ensure; exports.default = exports.list = void 0; -var _traverse = _interopRequireDefault(require("@babel/traverse")); +var _traverse = require("@babel/traverse"); -var t = _interopRequireWildcard(require("@babel/types")); +var t = require("@babel/types"); -var _helpers = _interopRequireDefault(require("./helpers")); - -function _getRequireWildcardCache() { if (typeof WeakMap !== "function") return null; var cache = new WeakMap(); _getRequireWildcardCache = function () { return cache; }; return cache; } - -function _interopRequireWildcard(obj) { if (obj && obj.__esModule) { return obj; } if (obj === null || typeof obj !== "object" && typeof obj !== "function") { return { default: obj }; } var cache = _getRequireWildcardCache(); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj.default = obj; if (cache) { cache.set(obj, newObj); } return newObj; } - -function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } +var _helpers = require("./helpers"); function makePath(path) { const parts = []; @@ -119,7 +113,7 @@ function getHelperMetadata(file) { const binding = child.scope.getBinding(exportName); - if (binding == null ? void 0 : binding.scope.path.isProgram()) { + if (binding != null && binding.scope.path.isProgram()) { exportBindingAssignments.push(makePath(child)); } } diff --git a/tools/node_modules/@babel/core/node_modules/@babel/helpers/package.json b/tools/node_modules/@babel/core/node_modules/@babel/helpers/package.json index a02b06a19cc449..500074f0ec1056 100644 --- a/tools/node_modules/@babel/core/node_modules/@babel/helpers/package.json +++ b/tools/node_modules/@babel/core/node_modules/@babel/helpers/package.json @@ -1,9 +1,9 @@ { "name": "@babel/helpers", - "version": "7.12.5", + "version": "7.14.6", "description": "Collection of helper functions used by Babel transforms.", - "author": "Sebastian McKenzie ", - "homepage": "https://babeljs.io/", + "author": "The Babel Team (https://babel.dev/team)", + "homepage": "https://babel.dev/docs/en/next/babel-helpers", "license": "MIT", "publishConfig": { "access": "public" @@ -13,13 +13,16 @@ "url": "https://github.com/babel/babel.git", "directory": "packages/babel-helpers" }, - "main": "lib/index.js", + "main": "./lib/index.js", "dependencies": { - "@babel/template": "^7.10.4", - "@babel/traverse": "^7.12.5", - "@babel/types": "^7.12.5" + "@babel/template": "^7.14.5", + "@babel/traverse": "^7.14.5", + "@babel/types": "^7.14.5" }, "devDependencies": { - "@babel/helper-plugin-test-runner": "7.10.4" + "@babel/helper-plugin-test-runner": "7.14.5" + }, + "engines": { + "node": ">=6.9.0" } } \ No newline at end of file diff --git a/tools/node_modules/@babel/core/node_modules/@babel/helpers/scripts/generate-helpers.js b/tools/node_modules/@babel/core/node_modules/@babel/helpers/scripts/generate-helpers.js new file mode 100644 index 00000000000000..0552619d9b8a95 --- /dev/null +++ b/tools/node_modules/@babel/core/node_modules/@babel/helpers/scripts/generate-helpers.js @@ -0,0 +1,60 @@ +import fs from "fs"; +import { join } from "path"; +import { URL, fileURLToPath } from "url"; + +const HELPERS_FOLDER = new URL("../src/helpers", import.meta.url); +const IGNORED_FILES = new Set(["package.json"]); + +export default async function generateAsserts() { + let output = `/* + * This file is auto-generated! Do not modify it directly. + * To re-generate run 'make build' + */ + +import template from "@babel/template"; + +`; + + for (const file of (await fs.promises.readdir(HELPERS_FOLDER)).sort()) { + if (IGNORED_FILES.has(file)) continue; + + const [helperName] = file.split("."); + const isValidId = isValidBindingIdentifier(helperName); + const varName = isValidId ? helperName : `_${helperName}`; + + const fileContents = await fs.promises.readFile( + join(fileURLToPath(HELPERS_FOLDER), file), + "utf8" + ); + const { minVersion } = fileContents.match( + /^\s*\/\*\s*@minVersion\s+(?\S+)\s*\*\/\s*$/m + ).groups; + + // TODO: We can minify the helpers in production + const source = fileContents + // Remove comments + .replace(/\/\*[^]*?\*\/|\/\/.*/g, "") + // Remove multiple newlines + .replace(/\n{2,}/g, "\n"); + + const intro = isValidId + ? "export " + : `export { ${varName} as ${helperName} }\n`; + + output += `\n${intro}const ${varName} = { + minVersion: ${JSON.stringify(minVersion)}, + ast: () => template.program.ast(${JSON.stringify(source)}) +};\n`; + } + + return output; +} + +function isValidBindingIdentifier(name) { + try { + Function(`var ${name}`); + return true; + } catch { + return false; + } +} diff --git a/tools/node_modules/@babel/core/node_modules/@babel/helpers/scripts/package.json b/tools/node_modules/@babel/core/node_modules/@babel/helpers/scripts/package.json new file mode 100644 index 00000000000000..5ffd9800b97cf2 --- /dev/null +++ b/tools/node_modules/@babel/core/node_modules/@babel/helpers/scripts/package.json @@ -0,0 +1 @@ +{ "type": "module" } diff --git a/tools/node_modules/@babel/core/node_modules/@babel/highlight/README.md b/tools/node_modules/@babel/core/node_modules/@babel/highlight/README.md index 72dae6094590f3..f8887ad2ca470c 100644 --- a/tools/node_modules/@babel/core/node_modules/@babel/highlight/README.md +++ b/tools/node_modules/@babel/core/node_modules/@babel/highlight/README.md @@ -2,7 +2,7 @@ > Syntax highlight JavaScript strings for output in terminals. -See our website [@babel/highlight](https://babeljs.io/docs/en/next/babel-highlight.html) for more information. +See our website [@babel/highlight](https://babeljs.io/docs/en/babel-highlight) for more information. ## Install diff --git a/tools/node_modules/@babel/core/node_modules/@babel/highlight/lib/index.js b/tools/node_modules/@babel/core/node_modules/@babel/highlight/lib/index.js index b0d1be7f553b64..34e308f4ef9290 100644 --- a/tools/node_modules/@babel/core/node_modules/@babel/highlight/lib/index.js +++ b/tools/node_modules/@babel/core/node_modules/@babel/highlight/lib/index.js @@ -7,23 +7,19 @@ exports.shouldHighlight = shouldHighlight; exports.getChalk = getChalk; exports.default = highlight; -var _jsTokens = _interopRequireWildcard(require("js-tokens")); +var _jsTokens = require("js-tokens"); var _helperValidatorIdentifier = require("@babel/helper-validator-identifier"); -var _chalk = _interopRequireDefault(require("chalk")); +var _chalk = require("chalk"); -function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } - -function _getRequireWildcardCache() { if (typeof WeakMap !== "function") return null; var cache = new WeakMap(); _getRequireWildcardCache = function () { return cache; }; return cache; } - -function _interopRequireWildcard(obj) { if (obj && obj.__esModule) { return obj; } if (obj === null || typeof obj !== "object" && typeof obj !== "function") { return { default: obj }; } var cache = _getRequireWildcardCache(); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj.default = obj; if (cache) { cache.set(obj, newObj); } return newObj; } +const sometimesKeywords = new Set(["as", "async", "from", "get", "of", "set"]); function getDefs(chalk) { return { keyword: chalk.cyan, capitalized: chalk.yellow, - jsx_tag: chalk.yellow, + jsxIdentifier: chalk.yellow, punctuator: chalk.yellow, number: chalk.magenta, string: chalk.green, @@ -34,66 +30,79 @@ function getDefs(chalk) { } const NEWLINE = /\r\n|[\n\r\u2028\u2029]/; -const JSX_TAG = /^[a-z][\w-]*$/i; const BRACKET = /^[()[\]{}]$/; - -function getTokenType(match) { - const [offset, text] = match.slice(-2); - const token = (0, _jsTokens.matchToToken)(match); - - if (token.type === "name") { - if ((0, _helperValidatorIdentifier.isKeyword)(token.value) || (0, _helperValidatorIdentifier.isReservedWord)(token.value)) { - return "keyword"; +let tokenize; +{ + const JSX_TAG = /^[a-z][\w-]*$/i; + + const getTokenType = function (token, offset, text) { + if (token.type === "name") { + if ((0, _helperValidatorIdentifier.isKeyword)(token.value) || (0, _helperValidatorIdentifier.isStrictReservedWord)(token.value, true) || sometimesKeywords.has(token.value)) { + return "keyword"; + } + + if (JSX_TAG.test(token.value) && (text[offset - 1] === "<" || text.substr(offset - 2, 2) == " colorize(str)).join("\n"); + highlighted += value.split(NEWLINE).map(str => colorize(str)).join("\n"); } else { - return args[0]; + highlighted += value; } - }); + } + + return highlighted; } function shouldHighlight(options) { - return _chalk.default.supportsColor || options.forceColor; + return !!_chalk.supportsColor || options.forceColor; } function getChalk(options) { - let chalk = _chalk.default; - - if (options.forceColor) { - chalk = new _chalk.default.constructor({ - enabled: true, - level: 1 - }); - } - - return chalk; + return options.forceColor ? new _chalk.constructor({ + enabled: true, + level: 1 + }) : _chalk; } function highlight(code, options = {}) { diff --git a/tools/node_modules/@babel/core/node_modules/@babel/highlight/package.json b/tools/node_modules/@babel/core/node_modules/@babel/highlight/package.json index 9ff510e69ee161..210c22c5110bee 100644 --- a/tools/node_modules/@babel/core/node_modules/@babel/highlight/package.json +++ b/tools/node_modules/@babel/core/node_modules/@babel/highlight/package.json @@ -1,9 +1,9 @@ { "name": "@babel/highlight", - "version": "7.10.4", + "version": "7.14.5", "description": "Syntax highlight JavaScript strings for output in terminals.", - "author": "suchipi ", - "homepage": "https://babeljs.io/", + "author": "The Babel Team (https://babel.dev/team)", + "homepage": "https://babel.dev/docs/en/next/babel-highlight", "license": "MIT", "publishConfig": { "access": "public" @@ -13,14 +13,17 @@ "url": "https://github.com/babel/babel.git", "directory": "packages/babel-highlight" }, - "main": "lib/index.js", + "main": "./lib/index.js", "dependencies": { - "@babel/helper-validator-identifier": "^7.10.4", + "@babel/helper-validator-identifier": "^7.14.5", "chalk": "^2.0.0", "js-tokens": "^4.0.0" }, "devDependencies": { + "@types/chalk": "^2.0.0", "strip-ansi": "^4.0.0" }, - "gitHead": "7fd40d86a0d03ff0e9c3ea16b29689945433d4df" -} + "engines": { + "node": ">=6.9.0" + } +} \ No newline at end of file diff --git a/tools/node_modules/@babel/core/node_modules/@babel/parser/lib/index.js b/tools/node_modules/@babel/core/node_modules/@babel/parser/lib/index.js index 2f888fabfe390a..fa9b6fa7aded22 100644 --- a/tools/node_modules/@babel/core/node_modules/@babel/parser/lib/index.js +++ b/tools/node_modules/@babel/core/node_modules/@babel/parser/lib/index.js @@ -35,12 +35,12 @@ class TokenType { } } -const keywords = new Map(); +const keywords$1 = new Map(); function createKeyword(name, options = {}) { options.keyword = name; const token = new TokenType(name, options); - keywords.set(name, token); + keywords$1.set(name, token); return token; } @@ -51,7 +51,7 @@ function createBinop(name, binop) { }); } -const types = { +const types$1 = { num: new TokenType("num", { startsExpr }), @@ -70,6 +70,9 @@ const types = { name: new TokenType("name", { startsExpr }), + privateName: new TokenType("#name", { + startsExpr + }), eof: new TokenType("eof"), bracketL: new TokenType("[", { beforeExpr, @@ -97,7 +100,9 @@ const types = { beforeExpr, startsExpr }), - braceR: new TokenType("}"), + braceR: new TokenType("}", { + beforeExpr + }), braceBarR: new TokenType("|}"), parenL: new TokenType("(", { beforeExpr, @@ -148,6 +153,10 @@ const types = { beforeExpr, isAssign }), + slashAssign: new TokenType("_=", { + beforeExpr, + isAssign + }), incDec: new TokenType("++/--", { prefix, postfix, @@ -576,154 +585,176 @@ class CommentsParser extends BaseParser { } -const ErrorMessages = Object.freeze({ - AccessorIsGenerator: "A %0ter cannot be a generator", - ArgumentsInClass: "'arguments' is only allowed in functions and class methods", - AsyncFunctionInSingleStatementContext: "Async functions can only be declared at the top level or inside a block", - AwaitBindingIdentifier: "Can not use 'await' as identifier inside an async function", - AwaitExpressionFormalParameter: "await is not allowed in async function parameters", - AwaitNotInAsyncContext: "'await' is only allowed within async functions and at the top levels of modules", - AwaitNotInAsyncFunction: "'await' is only allowed within async functions", - BadGetterArity: "getter must not have any formal parameters", - BadSetterArity: "setter must have exactly one formal parameter", - BadSetterRestParameter: "setter function argument must not be a rest parameter", - ConstructorClassField: "Classes may not have a field named 'constructor'", - ConstructorClassPrivateField: "Classes may not have a private field named '#constructor'", - ConstructorIsAccessor: "Class constructor may not be an accessor", - ConstructorIsAsync: "Constructor can't be an async function", - ConstructorIsGenerator: "Constructor can't be a generator", - DeclarationMissingInitializer: "%0 require an initialization value", - DecoratorBeforeExport: "Decorators must be placed *before* the 'export' keyword. You can set the 'decoratorsBeforeExport' option to false to use the 'export @decorator class {}' syntax", +const ErrorCodes = Object.freeze({ + SyntaxError: "BABEL_PARSER_SYNTAX_ERROR", + SourceTypeModuleError: "BABEL_PARSER_SOURCETYPE_MODULE_REQUIRED" +}); + +const ErrorMessages = makeErrorTemplates({ + AccessorIsGenerator: "A %0ter cannot be a generator.", + ArgumentsInClass: "'arguments' is only allowed in functions and class methods.", + AsyncFunctionInSingleStatementContext: "Async functions can only be declared at the top level or inside a block.", + AwaitBindingIdentifier: "Can not use 'await' as identifier inside an async function.", + AwaitBindingIdentifierInStaticBlock: "Can not use 'await' as identifier inside a static block.", + AwaitExpressionFormalParameter: "'await' is not allowed in async function parameters.", + AwaitNotInAsyncContext: "'await' is only allowed within async functions and at the top levels of modules.", + AwaitNotInAsyncFunction: "'await' is only allowed within async functions.", + BadGetterArity: "A 'get' accesor must not have any formal parameters.", + BadSetterArity: "A 'set' accesor must have exactly one formal parameter.", + BadSetterRestParameter: "A 'set' accesor function argument must not be a rest parameter.", + ConstructorClassField: "Classes may not have a field named 'constructor'.", + ConstructorClassPrivateField: "Classes may not have a private field named '#constructor'.", + ConstructorIsAccessor: "Class constructor may not be an accessor.", + ConstructorIsAsync: "Constructor can't be an async function.", + ConstructorIsGenerator: "Constructor can't be a generator.", + DeclarationMissingInitializer: "'%0' require an initialization value.", + DecoratorBeforeExport: "Decorators must be placed *before* the 'export' keyword. You can set the 'decoratorsBeforeExport' option to false to use the 'export @decorator class {}' syntax.", DecoratorConstructor: "Decorators can't be used with a constructor. Did you mean '@dec class { ... }'?", DecoratorExportClass: "Using the export keyword between a decorator and a class is not allowed. Please use `export @dec class` instead.", - DecoratorSemicolon: "Decorators must not be followed by a semicolon", - DecoratorStaticBlock: "Decorators can't be used with a static block", - DeletePrivateField: "Deleting a private field is not allowed", + DecoratorSemicolon: "Decorators must not be followed by a semicolon.", + DecoratorStaticBlock: "Decorators can't be used with a static block.", + DeletePrivateField: "Deleting a private field is not allowed.", DestructureNamedImport: "ES2015 named imports do not destructure. Use another statement for destructuring after the import.", - DuplicateConstructor: "Duplicate constructor in the same class", + DuplicateConstructor: "Duplicate constructor in the same class.", DuplicateDefaultExport: "Only one default export allowed per module.", DuplicateExport: "`%0` has already been exported. Exported identifiers must be unique.", - DuplicateProto: "Redefinition of __proto__ property", - DuplicateRegExpFlags: "Duplicate regular expression flag", - DuplicateStaticBlock: "Duplicate static block in the same class", - ElementAfterRest: "Rest element must be last element", - EscapedCharNotAnIdentifier: "Invalid Unicode escape", + DuplicateProto: "Redefinition of __proto__ property.", + DuplicateRegExpFlags: "Duplicate regular expression flag.", + ElementAfterRest: "Rest element must be last element.", + EscapedCharNotAnIdentifier: "Invalid Unicode escape.", ExportBindingIsString: "A string literal cannot be used as an exported binding without `from`.\n- Did you mean `export { '%0' as '%1' } from 'some-module'`?", - ExportDefaultFromAsIdentifier: "'from' is not allowed as an identifier after 'export default'", - ForInOfLoopInitializer: "%0 loop variable declaration may not have an initializer", - GeneratorInSingleStatementContext: "Generators can only be declared at the top level or inside a block", - IllegalBreakContinue: "Unsyntactic %0", - IllegalLanguageModeDirective: "Illegal 'use strict' directive in function with non-simple parameter list", - IllegalReturn: "'return' outside of function", + ExportDefaultFromAsIdentifier: "'from' is not allowed as an identifier after 'export default'.", + ForInOfLoopInitializer: "'%0' loop variable declaration may not have an initializer.", + ForOfAsync: "The left-hand side of a for-of loop may not be 'async'.", + ForOfLet: "The left-hand side of a for-of loop may not start with 'let'.", + GeneratorInSingleStatementContext: "Generators can only be declared at the top level or inside a block.", + IllegalBreakContinue: "Unsyntactic %0.", + IllegalLanguageModeDirective: "Illegal 'use strict' directive in function with non-simple parameter list.", + IllegalReturn: "'return' outside of function.", ImportBindingIsString: 'A string literal cannot be used as an imported binding.\n- Did you mean `import { "%0" as foo }`?', - ImportCallArgumentTrailingComma: "Trailing comma is disallowed inside import(...) arguments", - ImportCallArity: "import() requires exactly %0", - ImportCallNotNewExpression: "Cannot use new with import(...)", - ImportCallSpreadArgument: "... is not allowed in import()", - ImportMetaOutsideModule: `import.meta may appear only with 'sourceType: "module"'`, - ImportOutsideModule: `'import' and 'export' may appear only with 'sourceType: "module"'`, - InvalidBigIntLiteral: "Invalid BigIntLiteral", - InvalidCodePoint: "Code point out of bounds", - InvalidDecimal: "Invalid decimal", - InvalidDigit: "Expected number in radix %0", - InvalidEscapeSequence: "Bad character escape sequence", - InvalidEscapeSequenceTemplate: "Invalid escape sequence in template", - InvalidEscapedReservedWord: "Escape sequence in keyword %0", - InvalidIdentifier: "Invalid identifier %0", - InvalidLhs: "Invalid left-hand side in %0", - InvalidLhsBinding: "Binding invalid left-hand side in %0", - InvalidNumber: "Invalid number", - InvalidOrMissingExponent: "Floating-point numbers require a valid exponent after the 'e'", - InvalidOrUnexpectedToken: "Unexpected character '%0'", - InvalidParenthesizedAssignment: "Invalid parenthesized assignment pattern", - InvalidPrivateFieldResolution: "Private name #%0 is not defined", - InvalidPropertyBindingPattern: "Binding member expression", - InvalidRecordProperty: "Only properties and spread elements are allowed in record definitions", - InvalidRestAssignmentPattern: "Invalid rest operator's argument", - LabelRedeclaration: "Label '%0' is already declared", + ImportCallArgumentTrailingComma: "Trailing comma is disallowed inside import(...) arguments.", + ImportCallArity: "`import()` requires exactly %0.", + ImportCallNotNewExpression: "Cannot use new with import(...).", + ImportCallSpreadArgument: "`...` is not allowed in `import()`.", + InvalidBigIntLiteral: "Invalid BigIntLiteral.", + InvalidCodePoint: "Code point out of bounds.", + InvalidDecimal: "Invalid decimal.", + InvalidDigit: "Expected number in radix %0.", + InvalidEscapeSequence: "Bad character escape sequence.", + InvalidEscapeSequenceTemplate: "Invalid escape sequence in template.", + InvalidEscapedReservedWord: "Escape sequence in keyword %0.", + InvalidIdentifier: "Invalid identifier %0.", + InvalidLhs: "Invalid left-hand side in %0.", + InvalidLhsBinding: "Binding invalid left-hand side in %0.", + InvalidNumber: "Invalid number.", + InvalidOrMissingExponent: "Floating-point numbers require a valid exponent after the 'e'.", + InvalidOrUnexpectedToken: "Unexpected character '%0'.", + InvalidParenthesizedAssignment: "Invalid parenthesized assignment pattern.", + InvalidPrivateFieldResolution: "Private name #%0 is not defined.", + InvalidPropertyBindingPattern: "Binding member expression.", + InvalidRecordProperty: "Only properties and spread elements are allowed in record definitions.", + InvalidRestAssignmentPattern: "Invalid rest operator's argument.", + LabelRedeclaration: "Label '%0' is already declared.", LetInLexicalBinding: "'let' is not allowed to be used as a name in 'let' or 'const' declarations.", - LineTerminatorBeforeArrow: "No line break is allowed before '=>'", - MalformedRegExpFlags: "Invalid regular expression flag", - MissingClassName: "A class name is required", + LineTerminatorBeforeArrow: "No line break is allowed before '=>'.", + MalformedRegExpFlags: "Invalid regular expression flag.", + MissingClassName: "A class name is required.", MissingEqInAssignment: "Only '=' operator can be used for specifying default value.", - MissingUnicodeEscape: "Expecting Unicode escape sequence \\uXXXX", - MixingCoalesceWithLogical: "Nullish coalescing operator(??) requires parens when mixing with logical operators", - ModuleAttributeDifferentFromType: "The only accepted module attribute is `type`", - ModuleAttributeInvalidValue: "Only string literals are allowed as module attribute values", - ModuleAttributesWithDuplicateKeys: 'Duplicate key "%0" is not allowed in module attributes', - ModuleExportNameHasLoneSurrogate: "An export name cannot include a lone surrogate, found '\\u%0'", - ModuleExportUndefined: "Export '%0' is not defined", - MultipleDefaultsInSwitch: "Multiple default clauses", - NewlineAfterThrow: "Illegal newline after throw", - NoCatchOrFinally: "Missing catch or finally clause", - NumberIdentifier: "Identifier directly after number", - NumericSeparatorInEscapeSequence: "Numeric separators are not allowed inside unicode escape sequences or hex escape sequences", - ObsoleteAwaitStar: "await* has been removed from the async functions proposal. Use Promise.all() instead.", - OptionalChainingNoNew: "constructors in/after an Optional Chain are not allowed", - OptionalChainingNoTemplate: "Tagged Template Literals are not allowed in optionalChain", - ParamDupe: "Argument name clash", - PatternHasAccessor: "Object pattern can't contain getter or setter", - PatternHasMethod: "Object pattern can't contain methods", - PipelineBodyNoArrow: 'Unexpected arrow "=>" after pipeline body; arrow function in pipeline body must be parenthesized', - PipelineBodySequenceExpression: "Pipeline body may not be a comma-separated sequence expression", - PipelineHeadSequenceExpression: "Pipeline head should not be a comma-separated sequence expression", - PipelineTopicUnused: "Pipeline is in topic style but does not use topic reference", - PrimaryTopicNotAllowed: "Topic reference was used in a lexical context without topic binding", + MissingSemicolon: "Missing semicolon.", + MissingUnicodeEscape: "Expecting Unicode escape sequence \\uXXXX.", + MixingCoalesceWithLogical: "Nullish coalescing operator(??) requires parens when mixing with logical operators.", + ModuleAttributeDifferentFromType: "The only accepted module attribute is `type`.", + ModuleAttributeInvalidValue: "Only string literals are allowed as module attribute values.", + ModuleAttributesWithDuplicateKeys: 'Duplicate key "%0" is not allowed in module attributes.', + ModuleExportNameHasLoneSurrogate: "An export name cannot include a lone surrogate, found '\\u%0'.", + ModuleExportUndefined: "Export '%0' is not defined.", + MultipleDefaultsInSwitch: "Multiple default clauses.", + NewlineAfterThrow: "Illegal newline after throw.", + NoCatchOrFinally: "Missing catch or finally clause.", + NumberIdentifier: "Identifier directly after number.", + NumericSeparatorInEscapeSequence: "Numeric separators are not allowed inside unicode escape sequences or hex escape sequences.", + ObsoleteAwaitStar: "'await*' has been removed from the async functions proposal. Use Promise.all() instead.", + OptionalChainingNoNew: "Constructors in/after an Optional Chain are not allowed.", + OptionalChainingNoTemplate: "Tagged Template Literals are not allowed in optionalChain.", + OverrideOnConstructor: "'override' modifier cannot appear on a constructor declaration.", + ParamDupe: "Argument name clash.", + PatternHasAccessor: "Object pattern can't contain getter or setter.", + PatternHasMethod: "Object pattern can't contain methods.", + PipelineBodyNoArrow: 'Unexpected arrow "=>" after pipeline body; arrow function in pipeline body must be parenthesized.', + PipelineBodySequenceExpression: "Pipeline body may not be a comma-separated sequence expression.", + PipelineHeadSequenceExpression: "Pipeline head should not be a comma-separated sequence expression.", + PipelineTopicUnused: "Pipeline is in topic style but does not use topic reference.", + PrimaryTopicNotAllowed: "Topic reference was used in a lexical context without topic binding.", PrimaryTopicRequiresSmartPipeline: "Primary Topic Reference found but pipelineOperator not passed 'smart' for 'proposal' option.", - PrivateInExpectedIn: "Private names are only allowed in property accesses (`obj.#%0`) or in `in` expressions (`#%0 in obj`)", - PrivateNameRedeclaration: "Duplicate private name #%0", - RecordExpressionBarIncorrectEndSyntaxType: "Record expressions ending with '|}' are only allowed when the 'syntaxType' option of the 'recordAndTuple' plugin is set to 'bar'", - RecordExpressionBarIncorrectStartSyntaxType: "Record expressions starting with '{|' are only allowed when the 'syntaxType' option of the 'recordAndTuple' plugin is set to 'bar'", - RecordExpressionHashIncorrectStartSyntaxType: "Record expressions starting with '#{' are only allowed when the 'syntaxType' option of the 'recordAndTuple' plugin is set to 'hash'", - RecordNoProto: "'__proto__' is not allowed in Record expressions", - RestTrailingComma: "Unexpected trailing comma after rest element", - SloppyFunction: "In non-strict mode code, functions can only be declared at top level, inside a block, or as the body of an if statement", - StaticPrototype: "Classes may not have static property named prototype", - StrictDelete: "Deleting local variable in strict mode", - StrictEvalArguments: "Assigning to '%0' in strict mode", - StrictEvalArgumentsBinding: "Binding '%0' in strict mode", - StrictFunction: "In strict mode code, functions can only be declared at top level or inside a block", - StrictNumericEscape: "The only valid numeric escape in strict mode is '\\0'", - StrictOctalLiteral: "Legacy octal literals are not allowed in strict mode", - StrictWith: "'with' in strict mode", - SuperNotAllowed: "super() is only valid inside a class constructor of a subclass. Maybe a typo in the method name ('constructor') or not extending another class?", - SuperPrivateField: "Private fields can't be accessed on super", - TrailingDecorator: "Decorators must be attached to a class element", - TupleExpressionBarIncorrectEndSyntaxType: "Tuple expressions ending with '|]' are only allowed when the 'syntaxType' option of the 'recordAndTuple' plugin is set to 'bar'", - TupleExpressionBarIncorrectStartSyntaxType: "Tuple expressions starting with '[|' are only allowed when the 'syntaxType' option of the 'recordAndTuple' plugin is set to 'bar'", - TupleExpressionHashIncorrectStartSyntaxType: "Tuple expressions starting with '#[' are only allowed when the 'syntaxType' option of the 'recordAndTuple' plugin is set to 'hash'", - UnexpectedArgumentPlaceholder: "Unexpected argument placeholder", - UnexpectedAwaitAfterPipelineBody: 'Unexpected "await" after pipeline body; await must have parentheses in minimal proposal', - UnexpectedDigitAfterHash: "Unexpected digit after hash token", - UnexpectedImportExport: "'import' and 'export' may only appear at the top level", - UnexpectedKeyword: "Unexpected keyword '%0'", - UnexpectedLeadingDecorator: "Leading decorators must be attached to a class declaration", - UnexpectedLexicalDeclaration: "Lexical declaration cannot appear in a single-statement context", - UnexpectedNewTarget: "new.target can only be used in functions", - UnexpectedNumericSeparator: "A numeric separator is only allowed between two digits", + PrivateInExpectedIn: "Private names are only allowed in property accesses (`obj.#%0`) or in `in` expressions (`#%0 in obj`).", + PrivateNameRedeclaration: "Duplicate private name #%0.", + RecordExpressionBarIncorrectEndSyntaxType: "Record expressions ending with '|}' are only allowed when the 'syntaxType' option of the 'recordAndTuple' plugin is set to 'bar'.", + RecordExpressionBarIncorrectStartSyntaxType: "Record expressions starting with '{|' are only allowed when the 'syntaxType' option of the 'recordAndTuple' plugin is set to 'bar'.", + RecordExpressionHashIncorrectStartSyntaxType: "Record expressions starting with '#{' are only allowed when the 'syntaxType' option of the 'recordAndTuple' plugin is set to 'hash'.", + RecordNoProto: "'__proto__' is not allowed in Record expressions.", + RestTrailingComma: "Unexpected trailing comma after rest element.", + SloppyFunction: "In non-strict mode code, functions can only be declared at top level, inside a block, or as the body of an if statement.", + StaticPrototype: "Classes may not have static property named prototype.", + StrictDelete: "Deleting local variable in strict mode.", + StrictEvalArguments: "Assigning to '%0' in strict mode.", + StrictEvalArgumentsBinding: "Binding '%0' in strict mode.", + StrictFunction: "In strict mode code, functions can only be declared at top level or inside a block.", + StrictNumericEscape: "The only valid numeric escape in strict mode is '\\0'.", + StrictOctalLiteral: "Legacy octal literals are not allowed in strict mode.", + StrictWith: "'with' in strict mode.", + SuperNotAllowed: "`super()` is only valid inside a class constructor of a subclass. Maybe a typo in the method name ('constructor') or not extending another class?", + SuperPrivateField: "Private fields can't be accessed on super.", + TrailingDecorator: "Decorators must be attached to a class element.", + TupleExpressionBarIncorrectEndSyntaxType: "Tuple expressions ending with '|]' are only allowed when the 'syntaxType' option of the 'recordAndTuple' plugin is set to 'bar'.", + TupleExpressionBarIncorrectStartSyntaxType: "Tuple expressions starting with '[|' are only allowed when the 'syntaxType' option of the 'recordAndTuple' plugin is set to 'bar'.", + TupleExpressionHashIncorrectStartSyntaxType: "Tuple expressions starting with '#[' are only allowed when the 'syntaxType' option of the 'recordAndTuple' plugin is set to 'hash'.", + UnexpectedArgumentPlaceholder: "Unexpected argument placeholder.", + UnexpectedAwaitAfterPipelineBody: 'Unexpected "await" after pipeline body; await must have parentheses in minimal proposal.', + UnexpectedDigitAfterHash: "Unexpected digit after hash token.", + UnexpectedImportExport: "'import' and 'export' may only appear at the top level.", + UnexpectedKeyword: "Unexpected keyword '%0'.", + UnexpectedLeadingDecorator: "Leading decorators must be attached to a class declaration.", + UnexpectedLexicalDeclaration: "Lexical declaration cannot appear in a single-statement context.", + UnexpectedNewTarget: "`new.target` can only be used in functions or class properties.", + UnexpectedNumericSeparator: "A numeric separator is only allowed between two digits.", UnexpectedPrivateField: "Private names can only be used as the name of a class element (i.e. class C { #p = 42; #m() {} } )\n or a property of member expression (i.e. this.#p).", - UnexpectedReservedWord: "Unexpected reserved word '%0'", - UnexpectedSuper: "super is only allowed in object methods and classes", - UnexpectedToken: "Unexpected token '%0'", + UnexpectedReservedWord: "Unexpected reserved word '%0'.", + UnexpectedSuper: "'super' is only allowed in object methods and classes.", + UnexpectedToken: "Unexpected token '%0'.", UnexpectedTokenUnaryExponentiation: "Illegal expression. Wrap left hand side or entire exponentiation in parentheses.", UnsupportedBind: "Binding should be performed on object property.", - UnsupportedDecoratorExport: "A decorated export must export a class declaration", + UnsupportedDecoratorExport: "A decorated export must export a class declaration.", UnsupportedDefaultExport: "Only expressions, functions or classes are allowed as the `default` export.", - UnsupportedImport: "import can only be used in import() or import.meta", - UnsupportedMetaProperty: "The only valid meta property for %0 is %0.%1", - UnsupportedParameterDecorator: "Decorators cannot be used to decorate parameters", - UnsupportedPropertyDecorator: "Decorators cannot be used to decorate object literal properties", - UnsupportedSuper: "super can only be used with function calls (i.e. super()) or in property accesses (i.e. super.prop or super[prop])", - UnterminatedComment: "Unterminated comment", - UnterminatedRegExp: "Unterminated regular expression", - UnterminatedString: "Unterminated string constant", - UnterminatedTemplate: "Unterminated template", - VarRedeclaration: "Identifier '%0' has already been declared", - YieldBindingIdentifier: "Can not use 'yield' as identifier inside a generator", - YieldInParameter: "Yield expression is not allowed in formal parameters", - ZeroDigitNumericSeparator: "Numeric separator can not be used after leading 0" -}); - + UnsupportedImport: "`import` can only be used in `import()` or `import.meta`.", + UnsupportedMetaProperty: "The only valid meta property for %0 is %0.%1.", + UnsupportedParameterDecorator: "Decorators cannot be used to decorate parameters.", + UnsupportedPropertyDecorator: "Decorators cannot be used to decorate object literal properties.", + UnsupportedSuper: "'super' can only be used with function calls (i.e. super()) or in property accesses (i.e. super.prop or super[prop]).", + UnterminatedComment: "Unterminated comment.", + UnterminatedRegExp: "Unterminated regular expression.", + UnterminatedString: "Unterminated string constant.", + UnterminatedTemplate: "Unterminated template.", + VarRedeclaration: "Identifier '%0' has already been declared.", + YieldBindingIdentifier: "Can not use 'yield' as identifier inside a generator.", + YieldInParameter: "Yield expression is not allowed in formal parameters.", + ZeroDigitNumericSeparator: "Numeric separator can not be used after leading 0." +}, ErrorCodes.SyntaxError); +const SourceTypeModuleErrorMessages = makeErrorTemplates({ + ImportMetaOutsideModule: `import.meta may appear only with 'sourceType: "module"'`, + ImportOutsideModule: `'import' and 'export' may appear only with 'sourceType: "module"'` +}, ErrorCodes.SourceTypeModuleError); + +function makeErrorTemplates(messages, code) { + const templates = {}; + Object.keys(messages).forEach(reasonCode => { + templates[reasonCode] = Object.freeze({ + code, + reasonCode, + template: messages[reasonCode] + }); + }); + return Object.freeze(templates); +} class ParserError extends CommentsParser { getLocationForPosition(pos) { let loc; @@ -731,8 +762,45 @@ class ParserError extends CommentsParser { return loc; } - raise(pos, errorTemplate, ...params) { - return this.raiseWithData(pos, undefined, errorTemplate, ...params); + raise(pos, { + code, + reasonCode, + template + }, ...params) { + return this.raiseWithData(pos, { + code, + reasonCode + }, template, ...params); + } + + raiseOverwrite(pos, { + code, + template + }, ...params) { + const loc = this.getLocationForPosition(pos); + const message = template.replace(/%(\d+)/g, (_, i) => params[i]) + ` (${loc.line}:${loc.column})`; + + if (this.options.errorRecovery) { + const errors = this.state.errors; + + for (let i = errors.length - 1; i >= 0; i--) { + const error = errors[i]; + + if (error.pos === pos) { + return Object.assign(error, { + message + }); + } else if (error.pos < pos) { + break; + } + } + } + + return this._raise({ + code, + loc, + pos + }, message); } raiseWithData(pos, data, errorTemplate, ...params) { @@ -759,7 +827,7 @@ class ParserError extends CommentsParser { } var estree = (superClass => class extends superClass { - estreeParseRegExpLiteral({ + parseRegExpLiteral({ pattern, flags }) { @@ -777,7 +845,7 @@ var estree = (superClass => class extends superClass { return node; } - estreeParseBigIntLiteral(value) { + parseBigIntLiteral(value) { let bigInt; try { @@ -791,7 +859,7 @@ var estree = (superClass => class extends superClass { return node; } - estreeParseDecimalLiteral(value) { + parseDecimalLiteral(value) { const decimal = null; const node = this.estreeParseLiteral(decimal); node.decimal = String(node.value || value); @@ -802,6 +870,22 @@ var estree = (superClass => class extends superClass { return this.parseLiteral(value, "Literal"); } + parseStringLiteral(value) { + return this.estreeParseLiteral(value); + } + + parseNumericLiteral(value) { + return this.estreeParseLiteral(value); + } + + parseNullLiteral() { + return this.estreeParseLiteral(null); + } + + parseBooleanLiteral(value) { + return this.estreeParseLiteral(value); + } + directiveToStmt(directive) { const directiveLiteral = directive.value; const stmt = this.startNodeAt(directive.start, directive.loc.start); @@ -833,7 +917,7 @@ var estree = (superClass => class extends superClass { isValidDirective(stmt) { var _stmt$expression$extr; - return stmt.type === "ExpressionStatement" && stmt.expression.type === "Literal" && typeof stmt.expression.value === "string" && !((_stmt$expression$extr = stmt.expression.extra) == null ? void 0 : _stmt$expression$extr.parenthesized); + return stmt.type === "ExpressionStatement" && stmt.expression.type === "Literal" && typeof stmt.expression.value === "string" && !((_stmt$expression$extr = stmt.expression.extra) != null && _stmt$expression$extr.parenthesized); } stmtToDirective(stmt) { @@ -861,37 +945,43 @@ var estree = (superClass => class extends superClass { classBody.body.push(method); } - parseExprAtom(refExpressionErrors) { - switch (this.state.type) { - case types.num: - case types.string: - return this.estreeParseLiteral(this.state.value); - - case types.regexp: - return this.estreeParseRegExpLiteral(this.state.value); + parseMaybePrivateName(...args) { + const node = super.parseMaybePrivateName(...args); - case types.bigint: - return this.estreeParseBigIntLiteral(this.state.value); + if (node.type === "PrivateName" && this.getPluginOption("estree", "classFeatures")) { + return this.convertPrivateNameToPrivateIdentifier(node); + } - case types.decimal: - return this.estreeParseDecimalLiteral(this.state.value); + return node; + } - case types._null: - return this.estreeParseLiteral(null); + convertPrivateNameToPrivateIdentifier(node) { + const name = super.getPrivateNameSV(node); + node = node; + delete node.id; + node.name = name; + node.type = "PrivateIdentifier"; + return node; + } - case types._true: - return this.estreeParseLiteral(true); + isPrivateName(node) { + if (!this.getPluginOption("estree", "classFeatures")) { + return super.isPrivateName(node); + } - case types._false: - return this.estreeParseLiteral(false); + return node.type === "PrivateIdentifier"; + } - default: - return super.parseExprAtom(refExpressionErrors); + getPrivateNameSV(node) { + if (!this.getPluginOption("estree", "classFeatures")) { + return super.getPrivateNameSV(node); } + + return node.name; } - parseLiteral(value, type, startPos, startLoc) { - const node = super.parseLiteral(value, type, startPos, startLoc); + parseLiteral(value, type) { + const node = super.parseLiteral(value, type); node.raw = node.extra.raw; delete node.extra; return node; @@ -909,10 +999,36 @@ var estree = (superClass => class extends superClass { funcNode.type = "FunctionExpression"; delete funcNode.kind; node.value = funcNode; - type = type === "ClassMethod" ? "MethodDefinition" : type; + + if (type === "ClassPrivateMethod") { + node.computed = false; + } + + type = "MethodDefinition"; return this.finishNode(node, type); } + parseClassProperty(...args) { + const propertyNode = super.parseClassProperty(...args); + + if (this.getPluginOption("estree", "classFeatures")) { + propertyNode.type = "PropertyDefinition"; + } + + return propertyNode; + } + + parseClassPrivateProperty(...args) { + const propertyNode = super.parseClassPrivateProperty(...args); + + if (this.getPluginOption("estree", "classFeatures")) { + propertyNode.type = "PropertyDefinition"; + propertyNode.computed = false; + } + + return propertyNode; + } + parseObjectMethod(prop, isGenerator, isAsync, isPattern, isAccessor) { const node = super.parseObjectMethod(prop, isGenerator, isAsync, isPattern, isAccessor); @@ -961,6 +1077,13 @@ var estree = (superClass => class extends superClass { if (node.callee.type === "Import") { node.type = "ImportExpression"; node.source = node.arguments[0]; + + if (this.hasPlugin("importAssertions")) { + var _node$arguments$; + + node.attributes = (_node$arguments$ = node.arguments[1]) != null ? _node$arguments$ : null; + } + delete node.arguments; delete node.callee; } @@ -1040,102 +1163,40 @@ var estree = (superClass => class extends superClass { }); class TokContext { - constructor(token, isExpr, preserveSpace, override) { + constructor(token, preserveSpace) { this.token = void 0; - this.isExpr = void 0; this.preserveSpace = void 0; - this.override = void 0; this.token = token; - this.isExpr = !!isExpr; this.preserveSpace = !!preserveSpace; - this.override = override; } } -const types$1 = { - braceStatement: new TokContext("{", false), - braceExpression: new TokContext("{", true), - recordExpression: new TokContext("#{", true), - templateQuasi: new TokContext("${", false), - parenStatement: new TokContext("(", false), - parenExpression: new TokContext("(", true), - template: new TokContext("`", true, true, p => p.readTmplToken()), - functionExpression: new TokContext("function", true), - functionStatement: new TokContext("function", false) -}; - -types.parenR.updateContext = types.braceR.updateContext = function () { - if (this.state.context.length === 1) { - this.state.exprAllowed = true; - return; - } - - let out = this.state.context.pop(); - - if (out === types$1.braceStatement && this.curContext().token === "function") { - out = this.state.context.pop(); - } - - this.state.exprAllowed = !out.isExpr; +const types = { + brace: new TokContext("{"), + templateQuasi: new TokContext("${"), + template: new TokContext("`", true) }; -types.name.updateContext = function (prevType) { - let allowed = false; - - if (prevType !== types.dot) { - if (this.state.value === "of" && !this.state.exprAllowed && prevType !== types._function && prevType !== types._class) { - allowed = true; - } - } - - this.state.exprAllowed = allowed; - - if (this.state.isIterator) { - this.state.isIterator = false; +types$1.braceR.updateContext = context => { + if (context.length > 1) { + context.pop(); } }; -types.braceL.updateContext = function (prevType) { - this.state.context.push(this.braceIsBlock(prevType) ? types$1.braceStatement : types$1.braceExpression); - this.state.exprAllowed = true; -}; - -types.dollarBraceL.updateContext = function () { - this.state.context.push(types$1.templateQuasi); - this.state.exprAllowed = true; -}; - -types.parenL.updateContext = function (prevType) { - const statementParens = prevType === types._if || prevType === types._for || prevType === types._with || prevType === types._while; - this.state.context.push(statementParens ? types$1.parenStatement : types$1.parenExpression); - this.state.exprAllowed = true; +types$1.braceL.updateContext = types$1.braceHashL.updateContext = context => { + context.push(types.brace); }; -types.incDec.updateContext = function () {}; - -types._function.updateContext = types._class.updateContext = function (prevType) { - if (prevType.beforeExpr && prevType !== types.semi && prevType !== types._else && !(prevType === types._return && this.hasPrecedingLineBreak()) && !((prevType === types.colon || prevType === types.braceL) && this.curContext() === types$1.b_stat)) { - this.state.context.push(types$1.functionExpression); - } else { - this.state.context.push(types$1.functionStatement); - } - - this.state.exprAllowed = false; +types$1.dollarBraceL.updateContext = context => { + context.push(types.templateQuasi); }; -types.backQuote.updateContext = function () { - if (this.curContext() === types$1.template) { - this.state.context.pop(); +types$1.backQuote.updateContext = context => { + if (context[context.length - 1] === types.template) { + context.pop(); } else { - this.state.context.push(types$1.template); + context.push(types.template); } - - this.state.exprAllowed = false; -}; - -types.braceHashL.updateContext = function () { - this.state.context.push(types$1.recordExpression); - this.state.exprAllowed = true; }; let nonASCIIidentifierStartChars = "\xaa\xb5\xba\xc0-\xd6\xd8-\xf6\xf8-\u02c1\u02c6-\u02d1\u02e0-\u02e4\u02ec\u02ee\u0370-\u0374\u0376\u0377\u037a-\u037d\u037f\u0386\u0388-\u038a\u038c\u038e-\u03a1\u03a3-\u03f5\u03f7-\u0481\u048a-\u052f\u0531-\u0556\u0559\u0560-\u0588\u05d0-\u05ea\u05ef-\u05f2\u0620-\u064a\u066e\u066f\u0671-\u06d3\u06d5\u06e5\u06e6\u06ee\u06ef\u06fa-\u06fc\u06ff\u0710\u0712-\u072f\u074d-\u07a5\u07b1\u07ca-\u07ea\u07f4\u07f5\u07fa\u0800-\u0815\u081a\u0824\u0828\u0840-\u0858\u0860-\u086a\u08a0-\u08b4\u08b6-\u08c7\u0904-\u0939\u093d\u0950\u0958-\u0961\u0971-\u0980\u0985-\u098c\u098f\u0990\u0993-\u09a8\u09aa-\u09b0\u09b2\u09b6-\u09b9\u09bd\u09ce\u09dc\u09dd\u09df-\u09e1\u09f0\u09f1\u09fc\u0a05-\u0a0a\u0a0f\u0a10\u0a13-\u0a28\u0a2a-\u0a30\u0a32\u0a33\u0a35\u0a36\u0a38\u0a39\u0a59-\u0a5c\u0a5e\u0a72-\u0a74\u0a85-\u0a8d\u0a8f-\u0a91\u0a93-\u0aa8\u0aaa-\u0ab0\u0ab2\u0ab3\u0ab5-\u0ab9\u0abd\u0ad0\u0ae0\u0ae1\u0af9\u0b05-\u0b0c\u0b0f\u0b10\u0b13-\u0b28\u0b2a-\u0b30\u0b32\u0b33\u0b35-\u0b39\u0b3d\u0b5c\u0b5d\u0b5f-\u0b61\u0b71\u0b83\u0b85-\u0b8a\u0b8e-\u0b90\u0b92-\u0b95\u0b99\u0b9a\u0b9c\u0b9e\u0b9f\u0ba3\u0ba4\u0ba8-\u0baa\u0bae-\u0bb9\u0bd0\u0c05-\u0c0c\u0c0e-\u0c10\u0c12-\u0c28\u0c2a-\u0c39\u0c3d\u0c58-\u0c5a\u0c60\u0c61\u0c80\u0c85-\u0c8c\u0c8e-\u0c90\u0c92-\u0ca8\u0caa-\u0cb3\u0cb5-\u0cb9\u0cbd\u0cde\u0ce0\u0ce1\u0cf1\u0cf2\u0d04-\u0d0c\u0d0e-\u0d10\u0d12-\u0d3a\u0d3d\u0d4e\u0d54-\u0d56\u0d5f-\u0d61\u0d7a-\u0d7f\u0d85-\u0d96\u0d9a-\u0db1\u0db3-\u0dbb\u0dbd\u0dc0-\u0dc6\u0e01-\u0e30\u0e32\u0e33\u0e40-\u0e46\u0e81\u0e82\u0e84\u0e86-\u0e8a\u0e8c-\u0ea3\u0ea5\u0ea7-\u0eb0\u0eb2\u0eb3\u0ebd\u0ec0-\u0ec4\u0ec6\u0edc-\u0edf\u0f00\u0f40-\u0f47\u0f49-\u0f6c\u0f88-\u0f8c\u1000-\u102a\u103f\u1050-\u1055\u105a-\u105d\u1061\u1065\u1066\u106e-\u1070\u1075-\u1081\u108e\u10a0-\u10c5\u10c7\u10cd\u10d0-\u10fa\u10fc-\u1248\u124a-\u124d\u1250-\u1256\u1258\u125a-\u125d\u1260-\u1288\u128a-\u128d\u1290-\u12b0\u12b2-\u12b5\u12b8-\u12be\u12c0\u12c2-\u12c5\u12c8-\u12d6\u12d8-\u1310\u1312-\u1315\u1318-\u135a\u1380-\u138f\u13a0-\u13f5\u13f8-\u13fd\u1401-\u166c\u166f-\u167f\u1681-\u169a\u16a0-\u16ea\u16ee-\u16f8\u1700-\u170c\u170e-\u1711\u1720-\u1731\u1740-\u1751\u1760-\u176c\u176e-\u1770\u1780-\u17b3\u17d7\u17dc\u1820-\u1878\u1880-\u18a8\u18aa\u18b0-\u18f5\u1900-\u191e\u1950-\u196d\u1970-\u1974\u1980-\u19ab\u19b0-\u19c9\u1a00-\u1a16\u1a20-\u1a54\u1aa7\u1b05-\u1b33\u1b45-\u1b4b\u1b83-\u1ba0\u1bae\u1baf\u1bba-\u1be5\u1c00-\u1c23\u1c4d-\u1c4f\u1c5a-\u1c7d\u1c80-\u1c88\u1c90-\u1cba\u1cbd-\u1cbf\u1ce9-\u1cec\u1cee-\u1cf3\u1cf5\u1cf6\u1cfa\u1d00-\u1dbf\u1e00-\u1f15\u1f18-\u1f1d\u1f20-\u1f45\u1f48-\u1f4d\u1f50-\u1f57\u1f59\u1f5b\u1f5d\u1f5f-\u1f7d\u1f80-\u1fb4\u1fb6-\u1fbc\u1fbe\u1fc2-\u1fc4\u1fc6-\u1fcc\u1fd0-\u1fd3\u1fd6-\u1fdb\u1fe0-\u1fec\u1ff2-\u1ff4\u1ff6-\u1ffc\u2071\u207f\u2090-\u209c\u2102\u2107\u210a-\u2113\u2115\u2118-\u211d\u2124\u2126\u2128\u212a-\u2139\u213c-\u213f\u2145-\u2149\u214e\u2160-\u2188\u2c00-\u2c2e\u2c30-\u2c5e\u2c60-\u2ce4\u2ceb-\u2cee\u2cf2\u2cf3\u2d00-\u2d25\u2d27\u2d2d\u2d30-\u2d67\u2d6f\u2d80-\u2d96\u2da0-\u2da6\u2da8-\u2dae\u2db0-\u2db6\u2db8-\u2dbe\u2dc0-\u2dc6\u2dc8-\u2dce\u2dd0-\u2dd6\u2dd8-\u2dde\u3005-\u3007\u3021-\u3029\u3031-\u3035\u3038-\u303c\u3041-\u3096\u309b-\u309f\u30a1-\u30fa\u30fc-\u30ff\u3105-\u312f\u3131-\u318e\u31a0-\u31bf\u31f0-\u31ff\u3400-\u4dbf\u4e00-\u9ffc\ua000-\ua48c\ua4d0-\ua4fd\ua500-\ua60c\ua610-\ua61f\ua62a\ua62b\ua640-\ua66e\ua67f-\ua69d\ua6a0-\ua6ef\ua717-\ua71f\ua722-\ua788\ua78b-\ua7bf\ua7c2-\ua7ca\ua7f5-\ua801\ua803-\ua805\ua807-\ua80a\ua80c-\ua822\ua840-\ua873\ua882-\ua8b3\ua8f2-\ua8f7\ua8fb\ua8fd\ua8fe\ua90a-\ua925\ua930-\ua946\ua960-\ua97c\ua984-\ua9b2\ua9cf\ua9e0-\ua9e4\ua9e6-\ua9ef\ua9fa-\ua9fe\uaa00-\uaa28\uaa40-\uaa42\uaa44-\uaa4b\uaa60-\uaa76\uaa7a\uaa7e-\uaaaf\uaab1\uaab5\uaab6\uaab9-\uaabd\uaac0\uaac2\uaadb-\uaadd\uaae0-\uaaea\uaaf2-\uaaf4\uab01-\uab06\uab09-\uab0e\uab11-\uab16\uab20-\uab26\uab28-\uab2e\uab30-\uab5a\uab5c-\uab69\uab70-\uabe2\uac00-\ud7a3\ud7b0-\ud7c6\ud7cb-\ud7fb\uf900-\ufa6d\ufa70-\ufad9\ufb00-\ufb06\ufb13-\ufb17\ufb1d\ufb1f-\ufb28\ufb2a-\ufb36\ufb38-\ufb3c\ufb3e\ufb40\ufb41\ufb43\ufb44\ufb46-\ufbb1\ufbd3-\ufd3d\ufd50-\ufd8f\ufd92-\ufdc7\ufdf0-\ufdfb\ufe70-\ufe74\ufe76-\ufefc\uff21-\uff3a\uff41-\uff5a\uff66-\uffbe\uffc2-\uffc7\uffca-\uffcf\uffd2-\uffd7\uffda-\uffdc"; @@ -1191,7 +1252,7 @@ const reservedWords = { strict: ["implements", "interface", "let", "package", "private", "protected", "public", "static", "yield"], strictBind: ["eval", "arguments"] }; -const keywords$1 = new Set(reservedWords.keyword); +const keywords = new Set(reservedWords.keyword); const reservedWordsStrictSet = new Set(reservedWords.strict); const reservedWordsStrictBindSet = new Set(reservedWords.strictBind); function isReservedWord(word, inModule) { @@ -1207,34 +1268,39 @@ function isStrictBindReservedWord(word, inModule) { return isStrictReservedWord(word, inModule) || isStrictBindOnlyReservedWord(word); } function isKeyword(word) { - return keywords$1.has(word); + return keywords.has(word); } -const keywordRelationalOperator = /^in(stanceof)?$/; function isIteratorStart(current, next) { return current === 64 && next === 64; } +const reservedWordLikeSet = new Set(["break", "case", "catch", "continue", "debugger", "default", "do", "else", "finally", "for", "function", "if", "return", "switch", "throw", "try", "var", "const", "while", "with", "new", "this", "super", "class", "extends", "export", "import", "null", "true", "false", "in", "instanceof", "typeof", "void", "delete", "implements", "interface", "let", "package", "private", "protected", "public", "static", "yield", "eval", "arguments", "enum", "await"]); +function canBeReservedWord(word) { + return reservedWordLikeSet.has(word); +} -const SCOPE_OTHER = 0b00000000, - SCOPE_PROGRAM = 0b00000001, - SCOPE_FUNCTION = 0b00000010, - SCOPE_ARROW = 0b00000100, - SCOPE_SIMPLE_CATCH = 0b00001000, - SCOPE_SUPER = 0b00010000, - SCOPE_DIRECT_SUPER = 0b00100000, - SCOPE_CLASS = 0b01000000, - SCOPE_TS_MODULE = 0b10000000, +const SCOPE_OTHER = 0b000000000, + SCOPE_PROGRAM = 0b000000001, + SCOPE_FUNCTION = 0b000000010, + SCOPE_ARROW = 0b000000100, + SCOPE_SIMPLE_CATCH = 0b000001000, + SCOPE_SUPER = 0b000010000, + SCOPE_DIRECT_SUPER = 0b000100000, + SCOPE_CLASS = 0b001000000, + SCOPE_STATIC_BLOCK = 0b010000000, + SCOPE_TS_MODULE = 0b100000000, SCOPE_VAR = SCOPE_PROGRAM | SCOPE_FUNCTION | SCOPE_TS_MODULE; -const BIND_KIND_VALUE = 0b00000000001, - BIND_KIND_TYPE = 0b00000000010, - BIND_SCOPE_VAR = 0b00000000100, - BIND_SCOPE_LEXICAL = 0b00000001000, - BIND_SCOPE_FUNCTION = 0b00000010000, - BIND_FLAGS_NONE = 0b00001000000, - BIND_FLAGS_CLASS = 0b00010000000, - BIND_FLAGS_TS_ENUM = 0b00100000000, - BIND_FLAGS_TS_CONST_ENUM = 0b01000000000, - BIND_FLAGS_TS_EXPORT_ONLY = 0b10000000000; +const BIND_KIND_VALUE = 0b000000000001, + BIND_KIND_TYPE = 0b000000000010, + BIND_SCOPE_VAR = 0b000000000100, + BIND_SCOPE_LEXICAL = 0b000000001000, + BIND_SCOPE_FUNCTION = 0b000000010000, + BIND_FLAGS_NONE = 0b000001000000, + BIND_FLAGS_CLASS = 0b000010000000, + BIND_FLAGS_TS_ENUM = 0b000100000000, + BIND_FLAGS_TS_CONST_ENUM = 0b001000000000, + BIND_FLAGS_TS_EXPORT_ONLY = 0b010000000000, + BIND_FLAGS_FLOW_DECLARE_FN = 0b100000000000; const BIND_CLASS = BIND_KIND_VALUE | BIND_KIND_TYPE | BIND_SCOPE_LEXICAL | BIND_FLAGS_CLASS, BIND_LEXICAL = BIND_KIND_VALUE | 0 | BIND_SCOPE_LEXICAL | 0, BIND_VAR = BIND_KIND_VALUE | 0 | BIND_SCOPE_VAR | 0, @@ -1246,7 +1312,8 @@ const BIND_CLASS = BIND_KIND_VALUE | BIND_KIND_TYPE | BIND_SCOPE_LEXICAL | BIND_ BIND_NONE = 0 | 0 | 0 | BIND_FLAGS_NONE, BIND_OUTSIDE = BIND_KIND_VALUE | 0 | 0 | BIND_FLAGS_NONE, BIND_TS_CONST_ENUM = BIND_TS_ENUM | BIND_FLAGS_TS_CONST_ENUM, - BIND_TS_NAMESPACE = 0 | 0 | 0 | BIND_FLAGS_TS_EXPORT_ONLY; + BIND_TS_NAMESPACE = 0 | 0 | 0 | BIND_FLAGS_TS_EXPORT_ONLY, + BIND_FLOW_DECLARE_FN = BIND_FLAGS_FLOW_DECLARE_FN; const CLASS_ELEMENT_FLAG_STATIC = 0b100, CLASS_ELEMENT_KIND_GETTER = 0b010, CLASS_ELEMENT_KIND_SETTER = 0b001, @@ -1257,2810 +1324,3156 @@ const CLASS_ELEMENT_STATIC_GETTER = CLASS_ELEMENT_KIND_GETTER | CLASS_ELEMENT_FL CLASS_ELEMENT_INSTANCE_SETTER = CLASS_ELEMENT_KIND_SETTER, CLASS_ELEMENT_OTHER = 0; -const reservedTypes = new Set(["_", "any", "bool", "boolean", "empty", "extends", "false", "interface", "mixed", "null", "number", "static", "string", "true", "typeof", "void"]); -const FlowErrors = Object.freeze({ - AmbiguousConditionalArrow: "Ambiguous expression: wrap the arrow functions in parentheses to disambiguate.", - AmbiguousDeclareModuleKind: "Found both `declare module.exports` and `declare export` in the same module. Modules can only have 1 since they are either an ES module or they are a CommonJS module", - AssignReservedType: "Cannot overwrite reserved type %0", - DeclareClassElement: "The `declare` modifier can only appear on class fields.", - DeclareClassFieldInitializer: "Initializers are not allowed in fields with the `declare` modifier.", - DuplicateDeclareModuleExports: "Duplicate `declare module.exports` statement", - EnumBooleanMemberNotInitialized: "Boolean enum members need to be initialized. Use either `%0 = true,` or `%0 = false,` in enum `%1`.", - EnumDuplicateMemberName: "Enum member names need to be unique, but the name `%0` has already been used before in enum `%1`.", - EnumInconsistentMemberValues: "Enum `%0` has inconsistent member initializers. Either use no initializers, or consistently use literals (either booleans, numbers, or strings) for all member initializers.", - EnumInvalidExplicitType: "Enum type `%1` is not valid. Use one of `boolean`, `number`, `string`, or `symbol` in enum `%0`.", - EnumInvalidExplicitTypeUnknownSupplied: "Supplied enum type is not valid. Use one of `boolean`, `number`, `string`, or `symbol` in enum `%0`.", - EnumInvalidMemberInitializerPrimaryType: "Enum `%0` has type `%2`, so the initializer of `%1` needs to be a %2 literal.", - EnumInvalidMemberInitializerSymbolType: "Symbol enum members cannot be initialized. Use `%1,` in enum `%0`.", - EnumInvalidMemberInitializerUnknownType: "The enum member initializer for `%1` needs to be a literal (either a boolean, number, or string) in enum `%0`.", - EnumInvalidMemberName: "Enum member names cannot start with lowercase 'a' through 'z'. Instead of using `%0`, consider using `%1`, in enum `%2`.", - EnumNumberMemberNotInitialized: "Number enum members need to be initialized, e.g. `%1 = 1` in enum `%0`.", - EnumStringMemberInconsistentlyInitailized: "String enum members need to consistently either all use initializers, or use no initializers, in enum `%0`.", - ImportTypeShorthandOnlyInPureImport: "The `type` and `typeof` keywords on named imports can only be used on regular `import` statements. It cannot be used with `import type` or `import typeof` statements", - InexactInsideExact: "Explicit inexact syntax cannot appear inside an explicit exact object type", - InexactInsideNonObject: "Explicit inexact syntax cannot appear in class or interface definitions", - InexactVariance: "Explicit inexact syntax cannot have variance", - InvalidNonTypeImportInDeclareModule: "Imports within a `declare module` body must always be `import type` or `import typeof`", - MissingTypeParamDefault: "Type parameter declaration needs a default, since a preceding type parameter declaration has a default.", - NestedDeclareModule: "`declare module` cannot be used inside another `declare module`", - NestedFlowComment: "Cannot have a flow comment inside another flow comment", - OptionalBindingPattern: "A binding pattern parameter cannot be optional in an implementation signature.", - SpreadVariance: "Spread properties cannot have variance", - TypeBeforeInitializer: "Type annotations must come before default assignments, e.g. instead of `age = 25: number` use `age: number = 25`", - TypeCastInPattern: "The type cast expression is expected to be wrapped with parenthesis", - UnexpectedExplicitInexactInObject: "Explicit inexact syntax must appear at the end of an inexact object", - UnexpectedReservedType: "Unexpected reserved type %0", - UnexpectedReservedUnderscore: "`_` is only allowed as a type argument to call or new", - UnexpectedSpaceBetweenModuloChecks: "Spaces between `%` and `checks` are not allowed here.", - UnexpectedSpreadType: "Spread operator cannot appear in class or interface definitions", - UnexpectedSubtractionOperand: 'Unexpected token, expected "number" or "bigint"', - UnexpectedTokenAfterTypeParameter: "Expected an arrow function after this type parameter declaration", - UnexpectedTypeParameterBeforeAsyncArrowFunction: "Type parameters must come after the async keyword, e.g. instead of ` async () => {}`, use `async () => {}`", - UnsupportedDeclareExportKind: "`declare export %0` is not supported. Use `%1` instead", - UnsupportedStatementInDeclareModule: "Only declares and type imports are allowed inside declare module", - UnterminatedFlowComment: "Unterminated flow-comment" -}); +class Scope { + constructor(flags) { + this.var = new Set(); + this.lexical = new Set(); + this.functions = new Set(); + this.flags = flags; + } -function isEsModuleType(bodyElement) { - return bodyElement.type === "DeclareExportAllDeclaration" || bodyElement.type === "DeclareExportDeclaration" && (!bodyElement.declaration || bodyElement.declaration.type !== "TypeAlias" && bodyElement.declaration.type !== "InterfaceDeclaration"); } +class ScopeHandler { + constructor(raise, inModule) { + this.scopeStack = []; + this.undefinedExports = new Map(); + this.undefinedPrivateNames = new Map(); + this.raise = raise; + this.inModule = inModule; + } -function hasTypeImportKind(node) { - return node.importKind === "type" || node.importKind === "typeof"; -} + get inFunction() { + return (this.currentVarScopeFlags() & SCOPE_FUNCTION) > 0; + } -function isMaybeDefaultImport(state) { - return (state.type === types.name || !!state.type.keyword) && state.value !== "from"; -} + get allowSuper() { + return (this.currentThisScopeFlags() & SCOPE_SUPER) > 0; + } -const exportSuggestions = { - const: "declare export var", - let: "declare export var", - type: "export type", - interface: "export interface" -}; + get allowDirectSuper() { + return (this.currentThisScopeFlags() & SCOPE_DIRECT_SUPER) > 0; + } -function partition(list, test) { - const list1 = []; - const list2 = []; + get inClass() { + return (this.currentThisScopeFlags() & SCOPE_CLASS) > 0; + } - for (let i = 0; i < list.length; i++) { - (test(list[i], i, list) ? list1 : list2).push(list[i]); + get inClassAndNotInNonArrowFunction() { + const flags = this.currentThisScopeFlags(); + return (flags & SCOPE_CLASS) > 0 && (flags & SCOPE_FUNCTION) === 0; } - return [list1, list2]; -} + get inStaticBlock() { + return (this.currentThisScopeFlags() & SCOPE_STATIC_BLOCK) > 0; + } -const FLOW_PRAGMA_REGEX = /\*?\s*@((?:no)?flow)\b/; -var flow = (superClass => { - var _temp; + get inNonArrowFunction() { + return (this.currentThisScopeFlags() & SCOPE_FUNCTION) > 0; + } - return _temp = class extends superClass { - constructor(options, input) { - super(options, input); - this.flowPragma = void 0; - this.flowPragma = undefined; - } + get treatFunctionsAsVar() { + return this.treatFunctionsAsVarInScope(this.currentScope()); + } - shouldParseTypes() { - return this.getPluginOption("flow", "all") || this.flowPragma === "flow"; - } + createScope(flags) { + return new Scope(flags); + } - shouldParseEnums() { - return !!this.getPluginOption("flow", "enums"); - } + enter(flags) { + this.scopeStack.push(this.createScope(flags)); + } - finishToken(type, val) { - if (type !== types.string && type !== types.semi && type !== types.interpreterDirective) { - if (this.flowPragma === undefined) { - this.flowPragma = null; - } - } + exit() { + this.scopeStack.pop(); + } - return super.finishToken(type, val); - } + treatFunctionsAsVarInScope(scope) { + return !!(scope.flags & SCOPE_FUNCTION || !this.inModule && scope.flags & SCOPE_PROGRAM); + } - addComment(comment) { - if (this.flowPragma === undefined) { - const matches = FLOW_PRAGMA_REGEX.exec(comment.value); + declareName(name, bindingType, pos) { + let scope = this.currentScope(); - if (!matches) ; else if (matches[1] === "flow") { - this.flowPragma = "flow"; - } else if (matches[1] === "noflow") { - this.flowPragma = "noflow"; - } else { - throw new Error("Unexpected flow pragma"); - } + if (bindingType & BIND_SCOPE_LEXICAL || bindingType & BIND_SCOPE_FUNCTION) { + this.checkRedeclarationInScope(scope, name, bindingType, pos); + + if (bindingType & BIND_SCOPE_FUNCTION) { + scope.functions.add(name); + } else { + scope.lexical.add(name); } - return super.addComment(comment); + if (bindingType & BIND_SCOPE_LEXICAL) { + this.maybeExportDefined(scope, name); + } + } else if (bindingType & BIND_SCOPE_VAR) { + for (let i = this.scopeStack.length - 1; i >= 0; --i) { + scope = this.scopeStack[i]; + this.checkRedeclarationInScope(scope, name, bindingType, pos); + scope.var.add(name); + this.maybeExportDefined(scope, name); + if (scope.flags & SCOPE_VAR) break; + } } - flowParseTypeInitialiser(tok) { - const oldInType = this.state.inType; - this.state.inType = true; - this.expect(tok || types.colon); - const type = this.flowParseType(); - this.state.inType = oldInType; - return type; + if (this.inModule && scope.flags & SCOPE_PROGRAM) { + this.undefinedExports.delete(name); } + } - flowParsePredicate() { - const node = this.startNode(); - const moduloLoc = this.state.startLoc; - const moduloPos = this.state.start; - this.expect(types.modulo); - const checksLoc = this.state.startLoc; - this.expectContextual("checks"); - - if (moduloLoc.line !== checksLoc.line || moduloLoc.column !== checksLoc.column - 1) { - this.raise(moduloPos, FlowErrors.UnexpectedSpaceBetweenModuloChecks); - } - - if (this.eat(types.parenL)) { - node.value = this.parseExpression(); - this.expect(types.parenR); - return this.finishNode(node, "DeclaredPredicate"); - } else { - return this.finishNode(node, "InferredPredicate"); - } + maybeExportDefined(scope, name) { + if (this.inModule && scope.flags & SCOPE_PROGRAM) { + this.undefinedExports.delete(name); } + } - flowParseTypeAndPredicateInitialiser() { - const oldInType = this.state.inType; - this.state.inType = true; - this.expect(types.colon); - let type = null; - let predicate = null; - - if (this.match(types.modulo)) { - this.state.inType = oldInType; - predicate = this.flowParsePredicate(); - } else { - type = this.flowParseType(); - this.state.inType = oldInType; + checkRedeclarationInScope(scope, name, bindingType, pos) { + if (this.isRedeclaredInScope(scope, name, bindingType)) { + this.raise(pos, ErrorMessages.VarRedeclaration, name); + } + } - if (this.match(types.modulo)) { - predicate = this.flowParsePredicate(); - } - } + isRedeclaredInScope(scope, name, bindingType) { + if (!(bindingType & BIND_KIND_VALUE)) return false; - return [type, predicate]; + if (bindingType & BIND_SCOPE_LEXICAL) { + return scope.lexical.has(name) || scope.functions.has(name) || scope.var.has(name); } - flowParseDeclareClass(node) { - this.next(); - this.flowParseInterfaceish(node, true); - return this.finishNode(node, "DeclareClass"); + if (bindingType & BIND_SCOPE_FUNCTION) { + return scope.lexical.has(name) || !this.treatFunctionsAsVarInScope(scope) && scope.var.has(name); } - flowParseDeclareFunction(node) { - this.next(); - const id = node.id = this.parseIdentifier(); - const typeNode = this.startNode(); - const typeContainer = this.startNode(); + return scope.lexical.has(name) && !(scope.flags & SCOPE_SIMPLE_CATCH && scope.lexical.values().next().value === name) || !this.treatFunctionsAsVarInScope(scope) && scope.functions.has(name); + } - if (this.isRelational("<")) { - typeNode.typeParameters = this.flowParseTypeParameterDeclaration(); - } else { - typeNode.typeParameters = null; - } - - this.expect(types.parenL); - const tmp = this.flowParseFunctionTypeParams(); - typeNode.params = tmp.params; - typeNode.rest = tmp.rest; - this.expect(types.parenR); - [typeNode.returnType, node.predicate] = this.flowParseTypeAndPredicateInitialiser(); - typeContainer.typeAnnotation = this.finishNode(typeNode, "FunctionTypeAnnotation"); - id.typeAnnotation = this.finishNode(typeContainer, "TypeAnnotation"); - this.resetEndLocation(id); - this.semicolon(); - return this.finishNode(node, "DeclareFunction"); - } - - flowParseDeclare(node, insideModule) { - if (this.match(types._class)) { - return this.flowParseDeclareClass(node); - } else if (this.match(types._function)) { - return this.flowParseDeclareFunction(node); - } else if (this.match(types._var)) { - return this.flowParseDeclareVariable(node); - } else if (this.eatContextual("module")) { - if (this.match(types.dot)) { - return this.flowParseDeclareModuleExports(node); - } else { - if (insideModule) { - this.raise(this.state.lastTokStart, FlowErrors.NestedDeclareModule); - } + checkLocalExport(id) { + const { + name + } = id; + const topLevelScope = this.scopeStack[0]; - return this.flowParseDeclareModule(node); - } - } else if (this.isContextual("type")) { - return this.flowParseDeclareTypeAlias(node); - } else if (this.isContextual("opaque")) { - return this.flowParseDeclareOpaqueType(node); - } else if (this.isContextual("interface")) { - return this.flowParseDeclareInterface(node); - } else if (this.match(types._export)) { - return this.flowParseDeclareExportDeclaration(node, insideModule); - } else { - throw this.unexpected(); - } + if (!topLevelScope.lexical.has(name) && !topLevelScope.var.has(name) && !topLevelScope.functions.has(name)) { + this.undefinedExports.set(name, id.start); } + } - flowParseDeclareVariable(node) { - this.next(); - node.id = this.flowParseTypeAnnotatableIdentifier(true); - this.scope.declareName(node.id.name, BIND_VAR, node.id.start); - this.semicolon(); - return this.finishNode(node, "DeclareVariable"); - } + currentScope() { + return this.scopeStack[this.scopeStack.length - 1]; + } - flowParseDeclareModule(node) { - this.scope.enter(SCOPE_OTHER); + currentVarScopeFlags() { + for (let i = this.scopeStack.length - 1;; i--) { + const { + flags + } = this.scopeStack[i]; - if (this.match(types.string)) { - node.id = this.parseExprAtom(); - } else { - node.id = this.parseIdentifier(); + if (flags & SCOPE_VAR) { + return flags; } + } + } - const bodyNode = node.body = this.startNode(); - const body = bodyNode.body = []; - this.expect(types.braceL); + currentThisScopeFlags() { + for (let i = this.scopeStack.length - 1;; i--) { + const { + flags + } = this.scopeStack[i]; - while (!this.match(types.braceR)) { - let bodyNode = this.startNode(); + if (flags & (SCOPE_VAR | SCOPE_CLASS) && !(flags & SCOPE_ARROW)) { + return flags; + } + } + } - if (this.match(types._import)) { - this.next(); +} - if (!this.isContextual("type") && !this.match(types._typeof)) { - this.raise(this.state.lastTokStart, FlowErrors.InvalidNonTypeImportInDeclareModule); - } +class FlowScope extends Scope { + constructor(...args) { + super(...args); + this.declareFunctions = new Set(); + } - this.parseImport(bodyNode); - } else { - this.expectContextual("declare", FlowErrors.UnsupportedStatementInDeclareModule); - bodyNode = this.flowParseDeclare(bodyNode, true); - } +} - body.push(bodyNode); - } +class FlowScopeHandler extends ScopeHandler { + createScope(flags) { + return new FlowScope(flags); + } - this.scope.exit(); - this.expect(types.braceR); - this.finishNode(bodyNode, "BlockStatement"); - let kind = null; - let hasModuleExport = false; - body.forEach(bodyElement => { - if (isEsModuleType(bodyElement)) { - if (kind === "CommonJS") { - this.raise(bodyElement.start, FlowErrors.AmbiguousDeclareModuleKind); - } + declareName(name, bindingType, pos) { + const scope = this.currentScope(); - kind = "ES"; - } else if (bodyElement.type === "DeclareModuleExports") { - if (hasModuleExport) { - this.raise(bodyElement.start, FlowErrors.DuplicateDeclareModuleExports); - } + if (bindingType & BIND_FLAGS_FLOW_DECLARE_FN) { + this.checkRedeclarationInScope(scope, name, bindingType, pos); + this.maybeExportDefined(scope, name); + scope.declareFunctions.add(name); + return; + } - if (kind === "ES") { - this.raise(bodyElement.start, FlowErrors.AmbiguousDeclareModuleKind); - } + super.declareName(...arguments); + } - kind = "CommonJS"; - hasModuleExport = true; - } - }); - node.kind = kind || "CommonJS"; - return this.finishNode(node, "DeclareModule"); + isRedeclaredInScope(scope, name, bindingType) { + if (super.isRedeclaredInScope(...arguments)) return true; + + if (bindingType & BIND_FLAGS_FLOW_DECLARE_FN) { + return !scope.declareFunctions.has(name) && (scope.lexical.has(name) || scope.functions.has(name)); } - flowParseDeclareExportDeclaration(node, insideModule) { - this.expect(types._export); + return false; + } - if (this.eat(types._default)) { - if (this.match(types._function) || this.match(types._class)) { - node.declaration = this.flowParseDeclare(this.startNode()); - } else { - node.declaration = this.flowParseType(); - this.semicolon(); - } + checkLocalExport(id) { + if (!this.scopeStack[0].declareFunctions.has(id.name)) { + super.checkLocalExport(id); + } + } - node.default = true; - return this.finishNode(node, "DeclareExportDeclaration"); - } else { - if (this.match(types._const) || this.isLet() || (this.isContextual("type") || this.isContextual("interface")) && !insideModule) { - const label = this.state.value; - const suggestion = exportSuggestions[label]; - throw this.raise(this.state.start, FlowErrors.UnsupportedDeclareExportKind, label, suggestion); - } +} - if (this.match(types._var) || this.match(types._function) || this.match(types._class) || this.isContextual("opaque")) { - node.declaration = this.flowParseDeclare(this.startNode()); - node.default = false; - return this.finishNode(node, "DeclareExportDeclaration"); - } else if (this.match(types.star) || this.match(types.braceL) || this.isContextual("interface") || this.isContextual("type") || this.isContextual("opaque")) { - node = this.parseExport(node); - - if (node.type === "ExportNamedDeclaration") { - node.type = "ExportDeclaration"; - node.default = false; - delete node.exportKind; - } +const reservedTypes = new Set(["_", "any", "bool", "boolean", "empty", "extends", "false", "interface", "mixed", "null", "number", "static", "string", "true", "typeof", "void"]); +const FlowErrors = makeErrorTemplates({ + AmbiguousConditionalArrow: "Ambiguous expression: wrap the arrow functions in parentheses to disambiguate.", + AmbiguousDeclareModuleKind: "Found both `declare module.exports` and `declare export` in the same module. Modules can only have 1 since they are either an ES module or they are a CommonJS module.", + AssignReservedType: "Cannot overwrite reserved type %0.", + DeclareClassElement: "The `declare` modifier can only appear on class fields.", + DeclareClassFieldInitializer: "Initializers are not allowed in fields with the `declare` modifier.", + DuplicateDeclareModuleExports: "Duplicate `declare module.exports` statement.", + EnumBooleanMemberNotInitialized: "Boolean enum members need to be initialized. Use either `%0 = true,` or `%0 = false,` in enum `%1`.", + EnumDuplicateMemberName: "Enum member names need to be unique, but the name `%0` has already been used before in enum `%1`.", + EnumInconsistentMemberValues: "Enum `%0` has inconsistent member initializers. Either use no initializers, or consistently use literals (either booleans, numbers, or strings) for all member initializers.", + EnumInvalidExplicitType: "Enum type `%1` is not valid. Use one of `boolean`, `number`, `string`, or `symbol` in enum `%0`.", + EnumInvalidExplicitTypeUnknownSupplied: "Supplied enum type is not valid. Use one of `boolean`, `number`, `string`, or `symbol` in enum `%0`.", + EnumInvalidMemberInitializerPrimaryType: "Enum `%0` has type `%2`, so the initializer of `%1` needs to be a %2 literal.", + EnumInvalidMemberInitializerSymbolType: "Symbol enum members cannot be initialized. Use `%1,` in enum `%0`.", + EnumInvalidMemberInitializerUnknownType: "The enum member initializer for `%1` needs to be a literal (either a boolean, number, or string) in enum `%0`.", + EnumInvalidMemberName: "Enum member names cannot start with lowercase 'a' through 'z'. Instead of using `%0`, consider using `%1`, in enum `%2`.", + EnumNumberMemberNotInitialized: "Number enum members need to be initialized, e.g. `%1 = 1` in enum `%0`.", + EnumStringMemberInconsistentlyInitailized: "String enum members need to consistently either all use initializers, or use no initializers, in enum `%0`.", + GetterMayNotHaveThisParam: "A getter cannot have a `this` parameter.", + ImportTypeShorthandOnlyInPureImport: "The `type` and `typeof` keywords on named imports can only be used on regular `import` statements. It cannot be used with `import type` or `import typeof` statements.", + InexactInsideExact: "Explicit inexact syntax cannot appear inside an explicit exact object type.", + InexactInsideNonObject: "Explicit inexact syntax cannot appear in class or interface definitions.", + InexactVariance: "Explicit inexact syntax cannot have variance.", + InvalidNonTypeImportInDeclareModule: "Imports within a `declare module` body must always be `import type` or `import typeof`.", + MissingTypeParamDefault: "Type parameter declaration needs a default, since a preceding type parameter declaration has a default.", + NestedDeclareModule: "`declare module` cannot be used inside another `declare module`.", + NestedFlowComment: "Cannot have a flow comment inside another flow comment.", + OptionalBindingPattern: "A binding pattern parameter cannot be optional in an implementation signature.", + SetterMayNotHaveThisParam: "A setter cannot have a `this` parameter.", + SpreadVariance: "Spread properties cannot have variance.", + ThisParamAnnotationRequired: "A type annotation is required for the `this` parameter.", + ThisParamBannedInConstructor: "Constructors cannot have a `this` parameter; constructors don't bind `this` like other functions.", + ThisParamMayNotBeOptional: "The `this` parameter cannot be optional.", + ThisParamMustBeFirst: "The `this` parameter must be the first function parameter.", + ThisParamNoDefault: "The `this` parameter may not have a default value.", + TypeBeforeInitializer: "Type annotations must come before default assignments, e.g. instead of `age = 25: number` use `age: number = 25`.", + TypeCastInPattern: "The type cast expression is expected to be wrapped with parenthesis.", + UnexpectedExplicitInexactInObject: "Explicit inexact syntax must appear at the end of an inexact object.", + UnexpectedReservedType: "Unexpected reserved type %0.", + UnexpectedReservedUnderscore: "`_` is only allowed as a type argument to call or new.", + UnexpectedSpaceBetweenModuloChecks: "Spaces between `%` and `checks` are not allowed here.", + UnexpectedSpreadType: "Spread operator cannot appear in class or interface definitions.", + UnexpectedSubtractionOperand: 'Unexpected token, expected "number" or "bigint".', + UnexpectedTokenAfterTypeParameter: "Expected an arrow function after this type parameter declaration.", + UnexpectedTypeParameterBeforeAsyncArrowFunction: "Type parameters must come after the async keyword, e.g. instead of ` async () => {}`, use `async () => {}`.", + UnsupportedDeclareExportKind: "`declare export %0` is not supported. Use `%1` instead.", + UnsupportedStatementInDeclareModule: "Only declares and type imports are allowed inside declare module.", + UnterminatedFlowComment: "Unterminated flow-comment." +}, ErrorCodes.SyntaxError); - node.type = "Declare" + node.type; - return node; - } - } +function isEsModuleType(bodyElement) { + return bodyElement.type === "DeclareExportAllDeclaration" || bodyElement.type === "DeclareExportDeclaration" && (!bodyElement.declaration || bodyElement.declaration.type !== "TypeAlias" && bodyElement.declaration.type !== "InterfaceDeclaration"); +} - throw this.unexpected(); +function hasTypeImportKind(node) { + return node.importKind === "type" || node.importKind === "typeof"; +} + +function isMaybeDefaultImport(state) { + return (state.type === types$1.name || !!state.type.keyword) && state.value !== "from"; +} + +const exportSuggestions = { + const: "declare export var", + let: "declare export var", + type: "export type", + interface: "export interface" +}; + +function partition(list, test) { + const list1 = []; + const list2 = []; + + for (let i = 0; i < list.length; i++) { + (test(list[i], i, list) ? list1 : list2).push(list[i]); + } + + return [list1, list2]; +} + +const FLOW_PRAGMA_REGEX = /\*?\s*@((?:no)?flow)\b/; +var flow = (superClass => class extends superClass { + constructor(...args) { + super(...args); + this.flowPragma = undefined; + } + + getScopeHandler() { + return FlowScopeHandler; + } + + shouldParseTypes() { + return this.getPluginOption("flow", "all") || this.flowPragma === "flow"; + } + + shouldParseEnums() { + return !!this.getPluginOption("flow", "enums"); + } + + finishToken(type, val) { + if (type !== types$1.string && type !== types$1.semi && type !== types$1.interpreterDirective) { + if (this.flowPragma === undefined) { + this.flowPragma = null; + } } - flowParseDeclareModuleExports(node) { - this.next(); - this.expectContextual("exports"); - node.typeAnnotation = this.flowParseTypeAnnotation(); - this.semicolon(); - return this.finishNode(node, "DeclareModuleExports"); + return super.finishToken(type, val); + } + + addComment(comment) { + if (this.flowPragma === undefined) { + const matches = FLOW_PRAGMA_REGEX.exec(comment.value); + + if (!matches) ; else if (matches[1] === "flow") { + this.flowPragma = "flow"; + } else if (matches[1] === "noflow") { + this.flowPragma = "noflow"; + } else { + throw new Error("Unexpected flow pragma"); + } } - flowParseDeclareTypeAlias(node) { - this.next(); - this.flowParseTypeAlias(node); - node.type = "DeclareTypeAlias"; - return node; + return super.addComment(comment); + } + + flowParseTypeInitialiser(tok) { + const oldInType = this.state.inType; + this.state.inType = true; + this.expect(tok || types$1.colon); + const type = this.flowParseType(); + this.state.inType = oldInType; + return type; + } + + flowParsePredicate() { + const node = this.startNode(); + const moduloPos = this.state.start; + this.next(); + this.expectContextual("checks"); + + if (this.state.lastTokStart > moduloPos + 1) { + this.raise(moduloPos, FlowErrors.UnexpectedSpaceBetweenModuloChecks); } - flowParseDeclareOpaqueType(node) { - this.next(); - this.flowParseOpaqueType(node, true); - node.type = "DeclareOpaqueType"; - return node; + if (this.eat(types$1.parenL)) { + node.value = this.parseExpression(); + this.expect(types$1.parenR); + return this.finishNode(node, "DeclaredPredicate"); + } else { + return this.finishNode(node, "InferredPredicate"); } + } - flowParseDeclareInterface(node) { - this.next(); - this.flowParseInterfaceish(node); - return this.finishNode(node, "DeclareInterface"); + flowParseTypeAndPredicateInitialiser() { + const oldInType = this.state.inType; + this.state.inType = true; + this.expect(types$1.colon); + let type = null; + let predicate = null; + + if (this.match(types$1.modulo)) { + this.state.inType = oldInType; + predicate = this.flowParsePredicate(); + } else { + type = this.flowParseType(); + this.state.inType = oldInType; + + if (this.match(types$1.modulo)) { + predicate = this.flowParsePredicate(); + } } - flowParseInterfaceish(node, isClass = false) { - node.id = this.flowParseRestrictedIdentifier(!isClass, true); - this.scope.declareName(node.id.name, isClass ? BIND_FUNCTION : BIND_LEXICAL, node.id.start); + return [type, predicate]; + } - if (this.isRelational("<")) { - node.typeParameters = this.flowParseTypeParameterDeclaration(); + flowParseDeclareClass(node) { + this.next(); + this.flowParseInterfaceish(node, true); + return this.finishNode(node, "DeclareClass"); + } + + flowParseDeclareFunction(node) { + this.next(); + const id = node.id = this.parseIdentifier(); + const typeNode = this.startNode(); + const typeContainer = this.startNode(); + + if (this.isRelational("<")) { + typeNode.typeParameters = this.flowParseTypeParameterDeclaration(); + } else { + typeNode.typeParameters = null; + } + + this.expect(types$1.parenL); + const tmp = this.flowParseFunctionTypeParams(); + typeNode.params = tmp.params; + typeNode.rest = tmp.rest; + typeNode.this = tmp._this; + this.expect(types$1.parenR); + [typeNode.returnType, node.predicate] = this.flowParseTypeAndPredicateInitialiser(); + typeContainer.typeAnnotation = this.finishNode(typeNode, "FunctionTypeAnnotation"); + id.typeAnnotation = this.finishNode(typeContainer, "TypeAnnotation"); + this.resetEndLocation(id); + this.semicolon(); + this.scope.declareName(node.id.name, BIND_FLOW_DECLARE_FN, node.id.start); + return this.finishNode(node, "DeclareFunction"); + } + + flowParseDeclare(node, insideModule) { + if (this.match(types$1._class)) { + return this.flowParseDeclareClass(node); + } else if (this.match(types$1._function)) { + return this.flowParseDeclareFunction(node); + } else if (this.match(types$1._var)) { + return this.flowParseDeclareVariable(node); + } else if (this.eatContextual("module")) { + if (this.match(types$1.dot)) { + return this.flowParseDeclareModuleExports(node); } else { - node.typeParameters = null; + if (insideModule) { + this.raise(this.state.lastTokStart, FlowErrors.NestedDeclareModule); + } + + return this.flowParseDeclareModule(node); } + } else if (this.isContextual("type")) { + return this.flowParseDeclareTypeAlias(node); + } else if (this.isContextual("opaque")) { + return this.flowParseDeclareOpaqueType(node); + } else if (this.isContextual("interface")) { + return this.flowParseDeclareInterface(node); + } else if (this.match(types$1._export)) { + return this.flowParseDeclareExportDeclaration(node, insideModule); + } else { + throw this.unexpected(); + } + } - node.extends = []; - node.implements = []; - node.mixins = []; + flowParseDeclareVariable(node) { + this.next(); + node.id = this.flowParseTypeAnnotatableIdentifier(true); + this.scope.declareName(node.id.name, BIND_VAR, node.id.start); + this.semicolon(); + return this.finishNode(node, "DeclareVariable"); + } - if (this.eat(types._extends)) { - do { - node.extends.push(this.flowParseInterfaceExtends()); - } while (!isClass && this.eat(types.comma)); - } + flowParseDeclareModule(node) { + this.scope.enter(SCOPE_OTHER); - if (this.isContextual("mixins")) { - this.next(); + if (this.match(types$1.string)) { + node.id = this.parseExprAtom(); + } else { + node.id = this.parseIdentifier(); + } - do { - node.mixins.push(this.flowParseInterfaceExtends()); - } while (this.eat(types.comma)); - } + const bodyNode = node.body = this.startNode(); + const body = bodyNode.body = []; + this.expect(types$1.braceL); + + while (!this.match(types$1.braceR)) { + let bodyNode = this.startNode(); - if (this.isContextual("implements")) { + if (this.match(types$1._import)) { this.next(); - do { - node.implements.push(this.flowParseInterfaceExtends()); - } while (this.eat(types.comma)); + if (!this.isContextual("type") && !this.match(types$1._typeof)) { + this.raise(this.state.lastTokStart, FlowErrors.InvalidNonTypeImportInDeclareModule); + } + + this.parseImport(bodyNode); + } else { + this.expectContextual("declare", FlowErrors.UnsupportedStatementInDeclareModule); + bodyNode = this.flowParseDeclare(bodyNode, true); } - node.body = this.flowParseObjectType({ - allowStatic: isClass, - allowExact: false, - allowSpread: false, - allowProto: isClass, - allowInexact: false - }); + body.push(bodyNode); } - flowParseInterfaceExtends() { - const node = this.startNode(); - node.id = this.flowParseQualifiedTypeIdentifier(); + this.scope.exit(); + this.expect(types$1.braceR); + this.finishNode(bodyNode, "BlockStatement"); + let kind = null; + let hasModuleExport = false; + body.forEach(bodyElement => { + if (isEsModuleType(bodyElement)) { + if (kind === "CommonJS") { + this.raise(bodyElement.start, FlowErrors.AmbiguousDeclareModuleKind); + } + + kind = "ES"; + } else if (bodyElement.type === "DeclareModuleExports") { + if (hasModuleExport) { + this.raise(bodyElement.start, FlowErrors.DuplicateDeclareModuleExports); + } + + if (kind === "ES") { + this.raise(bodyElement.start, FlowErrors.AmbiguousDeclareModuleKind); + } - if (this.isRelational("<")) { - node.typeParameters = this.flowParseTypeParameterInstantiation(); + kind = "CommonJS"; + hasModuleExport = true; + } + }); + node.kind = kind || "CommonJS"; + return this.finishNode(node, "DeclareModule"); + } + + flowParseDeclareExportDeclaration(node, insideModule) { + this.expect(types$1._export); + + if (this.eat(types$1._default)) { + if (this.match(types$1._function) || this.match(types$1._class)) { + node.declaration = this.flowParseDeclare(this.startNode()); } else { - node.typeParameters = null; + node.declaration = this.flowParseType(); + this.semicolon(); + } + + node.default = true; + return this.finishNode(node, "DeclareExportDeclaration"); + } else { + if (this.match(types$1._const) || this.isLet() || (this.isContextual("type") || this.isContextual("interface")) && !insideModule) { + const label = this.state.value; + const suggestion = exportSuggestions[label]; + throw this.raise(this.state.start, FlowErrors.UnsupportedDeclareExportKind, label, suggestion); } - return this.finishNode(node, "InterfaceExtends"); + if (this.match(types$1._var) || this.match(types$1._function) || this.match(types$1._class) || this.isContextual("opaque")) { + node.declaration = this.flowParseDeclare(this.startNode()); + node.default = false; + return this.finishNode(node, "DeclareExportDeclaration"); + } else if (this.match(types$1.star) || this.match(types$1.braceL) || this.isContextual("interface") || this.isContextual("type") || this.isContextual("opaque")) { + node = this.parseExport(node); + + if (node.type === "ExportNamedDeclaration") { + node.type = "ExportDeclaration"; + node.default = false; + delete node.exportKind; + } + + node.type = "Declare" + node.type; + return node; + } } - flowParseInterface(node) { - this.flowParseInterfaceish(node); - return this.finishNode(node, "InterfaceDeclaration"); + throw this.unexpected(); + } + + flowParseDeclareModuleExports(node) { + this.next(); + this.expectContextual("exports"); + node.typeAnnotation = this.flowParseTypeAnnotation(); + this.semicolon(); + return this.finishNode(node, "DeclareModuleExports"); + } + + flowParseDeclareTypeAlias(node) { + this.next(); + this.flowParseTypeAlias(node); + node.type = "DeclareTypeAlias"; + return node; + } + + flowParseDeclareOpaqueType(node) { + this.next(); + this.flowParseOpaqueType(node, true); + node.type = "DeclareOpaqueType"; + return node; + } + + flowParseDeclareInterface(node) { + this.next(); + this.flowParseInterfaceish(node); + return this.finishNode(node, "DeclareInterface"); + } + + flowParseInterfaceish(node, isClass = false) { + node.id = this.flowParseRestrictedIdentifier(!isClass, true); + this.scope.declareName(node.id.name, isClass ? BIND_FUNCTION : BIND_LEXICAL, node.id.start); + + if (this.isRelational("<")) { + node.typeParameters = this.flowParseTypeParameterDeclaration(); + } else { + node.typeParameters = null; } - checkNotUnderscore(word) { - if (word === "_") { - this.raise(this.state.start, FlowErrors.UnexpectedReservedUnderscore); - } + node.extends = []; + node.implements = []; + node.mixins = []; + + if (this.eat(types$1._extends)) { + do { + node.extends.push(this.flowParseInterfaceExtends()); + } while (!isClass && this.eat(types$1.comma)); } - checkReservedType(word, startLoc, declaration) { - if (!reservedTypes.has(word)) return; - this.raise(startLoc, declaration ? FlowErrors.AssignReservedType : FlowErrors.UnexpectedReservedType, word); + if (this.isContextual("mixins")) { + this.next(); + + do { + node.mixins.push(this.flowParseInterfaceExtends()); + } while (this.eat(types$1.comma)); } - flowParseRestrictedIdentifier(liberal, declaration) { - this.checkReservedType(this.state.value, this.state.start, declaration); - return this.parseIdentifier(liberal); + if (this.isContextual("implements")) { + this.next(); + + do { + node.implements.push(this.flowParseInterfaceExtends()); + } while (this.eat(types$1.comma)); } - flowParseTypeAlias(node) { - node.id = this.flowParseRestrictedIdentifier(false, true); - this.scope.declareName(node.id.name, BIND_LEXICAL, node.id.start); + node.body = this.flowParseObjectType({ + allowStatic: isClass, + allowExact: false, + allowSpread: false, + allowProto: isClass, + allowInexact: false + }); + } - if (this.isRelational("<")) { - node.typeParameters = this.flowParseTypeParameterDeclaration(); - } else { - node.typeParameters = null; - } + flowParseInterfaceExtends() { + const node = this.startNode(); + node.id = this.flowParseQualifiedTypeIdentifier(); - node.right = this.flowParseTypeInitialiser(types.eq); - this.semicolon(); - return this.finishNode(node, "TypeAlias"); + if (this.isRelational("<")) { + node.typeParameters = this.flowParseTypeParameterInstantiation(); + } else { + node.typeParameters = null; } - flowParseOpaqueType(node, declare) { - this.expectContextual("type"); - node.id = this.flowParseRestrictedIdentifier(true, true); - this.scope.declareName(node.id.name, BIND_LEXICAL, node.id.start); + return this.finishNode(node, "InterfaceExtends"); + } - if (this.isRelational("<")) { - node.typeParameters = this.flowParseTypeParameterDeclaration(); - } else { - node.typeParameters = null; - } + flowParseInterface(node) { + this.flowParseInterfaceish(node); + return this.finishNode(node, "InterfaceDeclaration"); + } - node.supertype = null; + checkNotUnderscore(word) { + if (word === "_") { + this.raise(this.state.start, FlowErrors.UnexpectedReservedUnderscore); + } + } - if (this.match(types.colon)) { - node.supertype = this.flowParseTypeInitialiser(types.colon); - } + checkReservedType(word, startLoc, declaration) { + if (!reservedTypes.has(word)) return; + this.raise(startLoc, declaration ? FlowErrors.AssignReservedType : FlowErrors.UnexpectedReservedType, word); + } - node.impltype = null; + flowParseRestrictedIdentifier(liberal, declaration) { + this.checkReservedType(this.state.value, this.state.start, declaration); + return this.parseIdentifier(liberal); + } - if (!declare) { - node.impltype = this.flowParseTypeInitialiser(types.eq); - } + flowParseTypeAlias(node) { + node.id = this.flowParseRestrictedIdentifier(false, true); + this.scope.declareName(node.id.name, BIND_LEXICAL, node.id.start); - this.semicolon(); - return this.finishNode(node, "OpaqueType"); + if (this.isRelational("<")) { + node.typeParameters = this.flowParseTypeParameterDeclaration(); + } else { + node.typeParameters = null; } - flowParseTypeParameter(requireDefault = false) { - const nodeStart = this.state.start; - const node = this.startNode(); - const variance = this.flowParseVariance(); - const ident = this.flowParseTypeAnnotatableIdentifier(); - node.name = ident.name; - node.variance = variance; - node.bound = ident.typeAnnotation; - - if (this.match(types.eq)) { - this.eat(types.eq); - node.default = this.flowParseType(); - } else { - if (requireDefault) { - this.raise(nodeStart, FlowErrors.MissingTypeParamDefault); - } - } + node.right = this.flowParseTypeInitialiser(types$1.eq); + this.semicolon(); + return this.finishNode(node, "TypeAlias"); + } + + flowParseOpaqueType(node, declare) { + this.expectContextual("type"); + node.id = this.flowParseRestrictedIdentifier(true, true); + this.scope.declareName(node.id.name, BIND_LEXICAL, node.id.start); - return this.finishNode(node, "TypeParameter"); + if (this.isRelational("<")) { + node.typeParameters = this.flowParseTypeParameterDeclaration(); + } else { + node.typeParameters = null; } - flowParseTypeParameterDeclaration() { - const oldInType = this.state.inType; - const node = this.startNode(); - node.params = []; - this.state.inType = true; + node.supertype = null; - if (this.isRelational("<") || this.match(types.jsxTagStart)) { - this.next(); - } else { - this.unexpected(); - } + if (this.match(types$1.colon)) { + node.supertype = this.flowParseTypeInitialiser(types$1.colon); + } - let defaultRequired = false; + node.impltype = null; - do { - const typeParameter = this.flowParseTypeParameter(defaultRequired); - node.params.push(typeParameter); + if (!declare) { + node.impltype = this.flowParseTypeInitialiser(types$1.eq); + } - if (typeParameter.default) { - defaultRequired = true; - } + this.semicolon(); + return this.finishNode(node, "OpaqueType"); + } - if (!this.isRelational(">")) { - this.expect(types.comma); - } - } while (!this.isRelational(">")); + flowParseTypeParameter(requireDefault = false) { + const nodeStart = this.state.start; + const node = this.startNode(); + const variance = this.flowParseVariance(); + const ident = this.flowParseTypeAnnotatableIdentifier(); + node.name = ident.name; + node.variance = variance; + node.bound = ident.typeAnnotation; + + if (this.match(types$1.eq)) { + this.eat(types$1.eq); + node.default = this.flowParseType(); + } else { + if (requireDefault) { + this.raise(nodeStart, FlowErrors.MissingTypeParamDefault); + } + } - this.expectRelational(">"); - this.state.inType = oldInType; - return this.finishNode(node, "TypeParameterDeclaration"); + return this.finishNode(node, "TypeParameter"); + } + + flowParseTypeParameterDeclaration() { + const oldInType = this.state.inType; + const node = this.startNode(); + node.params = []; + this.state.inType = true; + + if (this.isRelational("<") || this.match(types$1.jsxTagStart)) { + this.next(); + } else { + this.unexpected(); } - flowParseTypeParameterInstantiation() { - const node = this.startNode(); - const oldInType = this.state.inType; - node.params = []; - this.state.inType = true; - this.expectRelational("<"); - const oldNoAnonFunctionType = this.state.noAnonFunctionType; - this.state.noAnonFunctionType = false; + let defaultRequired = false; - while (!this.isRelational(">")) { - node.params.push(this.flowParseType()); + do { + const typeParameter = this.flowParseTypeParameter(defaultRequired); + node.params.push(typeParameter); - if (!this.isRelational(">")) { - this.expect(types.comma); - } + if (typeParameter.default) { + defaultRequired = true; } - this.state.noAnonFunctionType = oldNoAnonFunctionType; - this.expectRelational(">"); - this.state.inType = oldInType; - return this.finishNode(node, "TypeParameterInstantiation"); - } + if (!this.isRelational(">")) { + this.expect(types$1.comma); + } + } while (!this.isRelational(">")); - flowParseTypeParameterInstantiationCallOrNew() { - const node = this.startNode(); - const oldInType = this.state.inType; - node.params = []; - this.state.inType = true; - this.expectRelational("<"); + this.expectRelational(">"); + this.state.inType = oldInType; + return this.finishNode(node, "TypeParameterDeclaration"); + } - while (!this.isRelational(">")) { - node.params.push(this.flowParseTypeOrImplicitInstantiation()); + flowParseTypeParameterInstantiation() { + const node = this.startNode(); + const oldInType = this.state.inType; + node.params = []; + this.state.inType = true; + this.expectRelational("<"); + const oldNoAnonFunctionType = this.state.noAnonFunctionType; + this.state.noAnonFunctionType = false; - if (!this.isRelational(">")) { - this.expect(types.comma); - } - } + while (!this.isRelational(">")) { + node.params.push(this.flowParseType()); - this.expectRelational(">"); - this.state.inType = oldInType; - return this.finishNode(node, "TypeParameterInstantiation"); + if (!this.isRelational(">")) { + this.expect(types$1.comma); + } } - flowParseInterfaceType() { - const node = this.startNode(); - this.expectContextual("interface"); - node.extends = []; + this.state.noAnonFunctionType = oldNoAnonFunctionType; + this.expectRelational(">"); + this.state.inType = oldInType; + return this.finishNode(node, "TypeParameterInstantiation"); + } - if (this.eat(types._extends)) { - do { - node.extends.push(this.flowParseInterfaceExtends()); - } while (this.eat(types.comma)); - } + flowParseTypeParameterInstantiationCallOrNew() { + const node = this.startNode(); + const oldInType = this.state.inType; + node.params = []; + this.state.inType = true; + this.expectRelational("<"); - node.body = this.flowParseObjectType({ - allowStatic: false, - allowExact: false, - allowSpread: false, - allowProto: false, - allowInexact: false - }); - return this.finishNode(node, "InterfaceTypeAnnotation"); - } + while (!this.isRelational(">")) { + node.params.push(this.flowParseTypeOrImplicitInstantiation()); - flowParseObjectPropertyKey() { - return this.match(types.num) || this.match(types.string) ? this.parseExprAtom() : this.parseIdentifier(true); + if (!this.isRelational(">")) { + this.expect(types$1.comma); + } } - flowParseObjectTypeIndexer(node, isStatic, variance) { - node.static = isStatic; + this.expectRelational(">"); + this.state.inType = oldInType; + return this.finishNode(node, "TypeParameterInstantiation"); + } - if (this.lookahead().type === types.colon) { - node.id = this.flowParseObjectPropertyKey(); - node.key = this.flowParseTypeInitialiser(); - } else { - node.id = null; - node.key = this.flowParseType(); - } + flowParseInterfaceType() { + const node = this.startNode(); + this.expectContextual("interface"); + node.extends = []; - this.expect(types.bracketR); - node.value = this.flowParseTypeInitialiser(); - node.variance = variance; - return this.finishNode(node, "ObjectTypeIndexer"); + if (this.eat(types$1._extends)) { + do { + node.extends.push(this.flowParseInterfaceExtends()); + } while (this.eat(types$1.comma)); } - flowParseObjectTypeInternalSlot(node, isStatic) { - node.static = isStatic; + node.body = this.flowParseObjectType({ + allowStatic: false, + allowExact: false, + allowSpread: false, + allowProto: false, + allowInexact: false + }); + return this.finishNode(node, "InterfaceTypeAnnotation"); + } + + flowParseObjectPropertyKey() { + return this.match(types$1.num) || this.match(types$1.string) ? this.parseExprAtom() : this.parseIdentifier(true); + } + + flowParseObjectTypeIndexer(node, isStatic, variance) { + node.static = isStatic; + + if (this.lookahead().type === types$1.colon) { node.id = this.flowParseObjectPropertyKey(); - this.expect(types.bracketR); - this.expect(types.bracketR); + node.key = this.flowParseTypeInitialiser(); + } else { + node.id = null; + node.key = this.flowParseType(); + } - if (this.isRelational("<") || this.match(types.parenL)) { - node.method = true; - node.optional = false; - node.value = this.flowParseObjectTypeMethodish(this.startNodeAt(node.start, node.loc.start)); - } else { - node.method = false; + this.expect(types$1.bracketR); + node.value = this.flowParseTypeInitialiser(); + node.variance = variance; + return this.finishNode(node, "ObjectTypeIndexer"); + } - if (this.eat(types.question)) { - node.optional = true; - } + flowParseObjectTypeInternalSlot(node, isStatic) { + node.static = isStatic; + node.id = this.flowParseObjectPropertyKey(); + this.expect(types$1.bracketR); + this.expect(types$1.bracketR); - node.value = this.flowParseTypeInitialiser(); + if (this.isRelational("<") || this.match(types$1.parenL)) { + node.method = true; + node.optional = false; + node.value = this.flowParseObjectTypeMethodish(this.startNodeAt(node.start, node.loc.start)); + } else { + node.method = false; + + if (this.eat(types$1.question)) { + node.optional = true; } - return this.finishNode(node, "ObjectTypeInternalSlot"); + node.value = this.flowParseTypeInitialiser(); } - flowParseObjectTypeMethodish(node) { - node.params = []; - node.rest = null; - node.typeParameters = null; + return this.finishNode(node, "ObjectTypeInternalSlot"); + } - if (this.isRelational("<")) { - node.typeParameters = this.flowParseTypeParameterDeclaration(); - } + flowParseObjectTypeMethodish(node) { + node.params = []; + node.rest = null; + node.typeParameters = null; + node.this = null; + + if (this.isRelational("<")) { + node.typeParameters = this.flowParseTypeParameterDeclaration(); + } - this.expect(types.parenL); + this.expect(types$1.parenL); - while (!this.match(types.parenR) && !this.match(types.ellipsis)) { - node.params.push(this.flowParseFunctionTypeParam()); + if (this.match(types$1._this)) { + node.this = this.flowParseFunctionTypeParam(true); + node.this.name = null; - if (!this.match(types.parenR)) { - this.expect(types.comma); - } + if (!this.match(types$1.parenR)) { + this.expect(types$1.comma); } + } - if (this.eat(types.ellipsis)) { - node.rest = this.flowParseFunctionTypeParam(); + while (!this.match(types$1.parenR) && !this.match(types$1.ellipsis)) { + node.params.push(this.flowParseFunctionTypeParam(false)); + + if (!this.match(types$1.parenR)) { + this.expect(types$1.comma); } + } - this.expect(types.parenR); - node.returnType = this.flowParseTypeInitialiser(); - return this.finishNode(node, "FunctionTypeAnnotation"); + if (this.eat(types$1.ellipsis)) { + node.rest = this.flowParseFunctionTypeParam(false); } - flowParseObjectTypeCallProperty(node, isStatic) { - const valueNode = this.startNode(); - node.static = isStatic; - node.value = this.flowParseObjectTypeMethodish(valueNode); - return this.finishNode(node, "ObjectTypeCallProperty"); - } - - flowParseObjectType({ - allowStatic, - allowExact, - allowSpread, - allowProto, - allowInexact - }) { - const oldInType = this.state.inType; - this.state.inType = true; - const nodeStart = this.startNode(); - nodeStart.callProperties = []; - nodeStart.properties = []; - nodeStart.indexers = []; - nodeStart.internalSlots = []; - let endDelim; - let exact; - let inexact = false; - - if (allowExact && this.match(types.braceBarL)) { - this.expect(types.braceBarL); - endDelim = types.braceBarR; - exact = true; - } else { - this.expect(types.braceL); - endDelim = types.braceR; - exact = false; - } + this.expect(types$1.parenR); + node.returnType = this.flowParseTypeInitialiser(); + return this.finishNode(node, "FunctionTypeAnnotation"); + } - nodeStart.exact = exact; + flowParseObjectTypeCallProperty(node, isStatic) { + const valueNode = this.startNode(); + node.static = isStatic; + node.value = this.flowParseObjectTypeMethodish(valueNode); + return this.finishNode(node, "ObjectTypeCallProperty"); + } - while (!this.match(endDelim)) { - let isStatic = false; - let protoStart = null; - let inexactStart = null; - const node = this.startNode(); + flowParseObjectType({ + allowStatic, + allowExact, + allowSpread, + allowProto, + allowInexact + }) { + const oldInType = this.state.inType; + this.state.inType = true; + const nodeStart = this.startNode(); + nodeStart.callProperties = []; + nodeStart.properties = []; + nodeStart.indexers = []; + nodeStart.internalSlots = []; + let endDelim; + let exact; + let inexact = false; + + if (allowExact && this.match(types$1.braceBarL)) { + this.expect(types$1.braceBarL); + endDelim = types$1.braceBarR; + exact = true; + } else { + this.expect(types$1.braceL); + endDelim = types$1.braceR; + exact = false; + } - if (allowProto && this.isContextual("proto")) { - const lookahead = this.lookahead(); + nodeStart.exact = exact; - if (lookahead.type !== types.colon && lookahead.type !== types.question) { - this.next(); - protoStart = this.state.start; - allowStatic = false; - } - } + while (!this.match(endDelim)) { + let isStatic = false; + let protoStart = null; + let inexactStart = null; + const node = this.startNode(); - if (allowStatic && this.isContextual("static")) { - const lookahead = this.lookahead(); + if (allowProto && this.isContextual("proto")) { + const lookahead = this.lookahead(); - if (lookahead.type !== types.colon && lookahead.type !== types.question) { - this.next(); - isStatic = true; - } + if (lookahead.type !== types$1.colon && lookahead.type !== types$1.question) { + this.next(); + protoStart = this.state.start; + allowStatic = false; } + } - const variance = this.flowParseVariance(); + if (allowStatic && this.isContextual("static")) { + const lookahead = this.lookahead(); - if (this.eat(types.bracketL)) { - if (protoStart != null) { - this.unexpected(protoStart); - } + if (lookahead.type !== types$1.colon && lookahead.type !== types$1.question) { + this.next(); + isStatic = true; + } + } - if (this.eat(types.bracketL)) { - if (variance) { - this.unexpected(variance.start); - } + const variance = this.flowParseVariance(); - nodeStart.internalSlots.push(this.flowParseObjectTypeInternalSlot(node, isStatic)); - } else { - nodeStart.indexers.push(this.flowParseObjectTypeIndexer(node, isStatic, variance)); - } - } else if (this.match(types.parenL) || this.isRelational("<")) { - if (protoStart != null) { - this.unexpected(protoStart); - } + if (this.eat(types$1.bracketL)) { + if (protoStart != null) { + this.unexpected(protoStart); + } + if (this.eat(types$1.bracketL)) { if (variance) { this.unexpected(variance.start); } - nodeStart.callProperties.push(this.flowParseObjectTypeCallProperty(node, isStatic)); + nodeStart.internalSlots.push(this.flowParseObjectTypeInternalSlot(node, isStatic)); } else { - let kind = "init"; + nodeStart.indexers.push(this.flowParseObjectTypeIndexer(node, isStatic, variance)); + } + } else if (this.match(types$1.parenL) || this.isRelational("<")) { + if (protoStart != null) { + this.unexpected(protoStart); + } - if (this.isContextual("get") || this.isContextual("set")) { - const lookahead = this.lookahead(); + if (variance) { + this.unexpected(variance.start); + } - if (lookahead.type === types.name || lookahead.type === types.string || lookahead.type === types.num) { - kind = this.state.value; - this.next(); - } - } + nodeStart.callProperties.push(this.flowParseObjectTypeCallProperty(node, isStatic)); + } else { + let kind = "init"; - const propOrInexact = this.flowParseObjectTypeProperty(node, isStatic, protoStart, variance, kind, allowSpread, allowInexact != null ? allowInexact : !exact); + if (this.isContextual("get") || this.isContextual("set")) { + const lookahead = this.lookahead(); - if (propOrInexact === null) { - inexact = true; - inexactStart = this.state.lastTokStart; - } else { - nodeStart.properties.push(propOrInexact); + if (lookahead.type === types$1.name || lookahead.type === types$1.string || lookahead.type === types$1.num) { + kind = this.state.value; + this.next(); } } - this.flowObjectTypeSemicolon(); + const propOrInexact = this.flowParseObjectTypeProperty(node, isStatic, protoStart, variance, kind, allowSpread, allowInexact != null ? allowInexact : !exact); - if (inexactStart && !this.match(types.braceR) && !this.match(types.braceBarR)) { - this.raise(inexactStart, FlowErrors.UnexpectedExplicitInexactInObject); + if (propOrInexact === null) { + inexact = true; + inexactStart = this.state.lastTokStart; + } else { + nodeStart.properties.push(propOrInexact); } } - this.expect(endDelim); + this.flowObjectTypeSemicolon(); - if (allowSpread) { - nodeStart.inexact = inexact; + if (inexactStart && !this.match(types$1.braceR) && !this.match(types$1.braceBarR)) { + this.raise(inexactStart, FlowErrors.UnexpectedExplicitInexactInObject); } - - const out = this.finishNode(nodeStart, "ObjectTypeAnnotation"); - this.state.inType = oldInType; - return out; } - flowParseObjectTypeProperty(node, isStatic, protoStart, variance, kind, allowSpread, allowInexact) { - if (this.eat(types.ellipsis)) { - const isInexactToken = this.match(types.comma) || this.match(types.semi) || this.match(types.braceR) || this.match(types.braceBarR); + this.expect(endDelim); - if (isInexactToken) { - if (!allowSpread) { - this.raise(this.state.lastTokStart, FlowErrors.InexactInsideNonObject); - } else if (!allowInexact) { - this.raise(this.state.lastTokStart, FlowErrors.InexactInsideExact); - } + if (allowSpread) { + nodeStart.inexact = inexact; + } - if (variance) { - this.raise(variance.start, FlowErrors.InexactVariance); - } + const out = this.finishNode(nodeStart, "ObjectTypeAnnotation"); + this.state.inType = oldInType; + return out; + } - return null; - } + flowParseObjectTypeProperty(node, isStatic, protoStart, variance, kind, allowSpread, allowInexact) { + if (this.eat(types$1.ellipsis)) { + const isInexactToken = this.match(types$1.comma) || this.match(types$1.semi) || this.match(types$1.braceR) || this.match(types$1.braceBarR); + if (isInexactToken) { if (!allowSpread) { - this.raise(this.state.lastTokStart, FlowErrors.UnexpectedSpreadType); + this.raise(this.state.lastTokStart, FlowErrors.InexactInsideNonObject); + } else if (!allowInexact) { + this.raise(this.state.lastTokStart, FlowErrors.InexactInsideExact); + } + + if (variance) { + this.raise(variance.start, FlowErrors.InexactVariance); } + return null; + } + + if (!allowSpread) { + this.raise(this.state.lastTokStart, FlowErrors.UnexpectedSpreadType); + } + + if (protoStart != null) { + this.unexpected(protoStart); + } + + if (variance) { + this.raise(variance.start, FlowErrors.SpreadVariance); + } + + node.argument = this.flowParseType(); + return this.finishNode(node, "ObjectTypeSpreadProperty"); + } else { + node.key = this.flowParseObjectPropertyKey(); + node.static = isStatic; + node.proto = protoStart != null; + node.kind = kind; + let optional = false; + + if (this.isRelational("<") || this.match(types$1.parenL)) { + node.method = true; + if (protoStart != null) { this.unexpected(protoStart); } if (variance) { - this.raise(variance.start, FlowErrors.SpreadVariance); + this.unexpected(variance.start); } - node.argument = this.flowParseType(); - return this.finishNode(node, "ObjectTypeSpreadProperty"); - } else { - node.key = this.flowParseObjectPropertyKey(); - node.static = isStatic; - node.proto = protoStart != null; - node.kind = kind; - let optional = false; + node.value = this.flowParseObjectTypeMethodish(this.startNodeAt(node.start, node.loc.start)); - if (this.isRelational("<") || this.match(types.parenL)) { - node.method = true; + if (kind === "get" || kind === "set") { + this.flowCheckGetterSetterParams(node); + } - if (protoStart != null) { - this.unexpected(protoStart); - } + if (!allowSpread && node.key.name === "constructor" && node.value.this) { + this.raise(node.value.this.start, FlowErrors.ThisParamBannedInConstructor); + } + } else { + if (kind !== "init") this.unexpected(); + node.method = false; - if (variance) { - this.unexpected(variance.start); - } + if (this.eat(types$1.question)) { + optional = true; + } - node.value = this.flowParseObjectTypeMethodish(this.startNodeAt(node.start, node.loc.start)); + node.value = this.flowParseTypeInitialiser(); + node.variance = variance; + } - if (kind === "get" || kind === "set") { - this.flowCheckGetterSetterParams(node); - } - } else { - if (kind !== "init") this.unexpected(); - node.method = false; + node.optional = optional; + return this.finishNode(node, "ObjectTypeProperty"); + } + } - if (this.eat(types.question)) { - optional = true; - } + flowCheckGetterSetterParams(property) { + const paramCount = property.kind === "get" ? 0 : 1; + const start = property.start; + const length = property.value.params.length + (property.value.rest ? 1 : 0); - node.value = this.flowParseTypeInitialiser(); - node.variance = variance; - } + if (property.value.this) { + this.raise(property.value.this.start, property.kind === "get" ? FlowErrors.GetterMayNotHaveThisParam : FlowErrors.SetterMayNotHaveThisParam); + } - node.optional = optional; - return this.finishNode(node, "ObjectTypeProperty"); + if (length !== paramCount) { + if (property.kind === "get") { + this.raise(start, ErrorMessages.BadGetterArity); + } else { + this.raise(start, ErrorMessages.BadSetterArity); } } - flowCheckGetterSetterParams(property) { - const paramCount = property.kind === "get" ? 0 : 1; - const start = property.start; - const length = property.value.params.length + (property.value.rest ? 1 : 0); - - if (length !== paramCount) { - if (property.kind === "get") { - this.raise(start, ErrorMessages.BadGetterArity); - } else { - this.raise(start, ErrorMessages.BadSetterArity); - } - } + if (property.kind === "set" && property.value.rest) { + this.raise(start, ErrorMessages.BadSetterRestParameter); + } + } - if (property.kind === "set" && property.value.rest) { - this.raise(start, ErrorMessages.BadSetterRestParameter); - } + flowObjectTypeSemicolon() { + if (!this.eat(types$1.semi) && !this.eat(types$1.comma) && !this.match(types$1.braceR) && !this.match(types$1.braceBarR)) { + this.unexpected(); } + } - flowObjectTypeSemicolon() { - if (!this.eat(types.semi) && !this.eat(types.comma) && !this.match(types.braceR) && !this.match(types.braceBarR)) { - this.unexpected(); - } + flowParseQualifiedTypeIdentifier(startPos, startLoc, id) { + startPos = startPos || this.state.start; + startLoc = startLoc || this.state.startLoc; + let node = id || this.flowParseRestrictedIdentifier(true); + + while (this.eat(types$1.dot)) { + const node2 = this.startNodeAt(startPos, startLoc); + node2.qualification = node; + node2.id = this.flowParseRestrictedIdentifier(true); + node = this.finishNode(node2, "QualifiedTypeIdentifier"); } - flowParseQualifiedTypeIdentifier(startPos, startLoc, id) { - startPos = startPos || this.state.start; - startLoc = startLoc || this.state.startLoc; - let node = id || this.flowParseRestrictedIdentifier(true); + return node; + } - while (this.eat(types.dot)) { - const node2 = this.startNodeAt(startPos, startLoc); - node2.qualification = node; - node2.id = this.flowParseRestrictedIdentifier(true); - node = this.finishNode(node2, "QualifiedTypeIdentifier"); - } + flowParseGenericType(startPos, startLoc, id) { + const node = this.startNodeAt(startPos, startLoc); + node.typeParameters = null; + node.id = this.flowParseQualifiedTypeIdentifier(startPos, startLoc, id); - return node; + if (this.isRelational("<")) { + node.typeParameters = this.flowParseTypeParameterInstantiation(); } - flowParseGenericType(startPos, startLoc, id) { - const node = this.startNodeAt(startPos, startLoc); - node.typeParameters = null; - node.id = this.flowParseQualifiedTypeIdentifier(startPos, startLoc, id); + return this.finishNode(node, "GenericTypeAnnotation"); + } - if (this.isRelational("<")) { - node.typeParameters = this.flowParseTypeParameterInstantiation(); - } + flowParseTypeofType() { + const node = this.startNode(); + this.expect(types$1._typeof); + node.argument = this.flowParsePrimaryType(); + return this.finishNode(node, "TypeofTypeAnnotation"); + } - return this.finishNode(node, "GenericTypeAnnotation"); - } + flowParseTupleType() { + const node = this.startNode(); + node.types = []; + this.expect(types$1.bracketL); - flowParseTypeofType() { - const node = this.startNode(); - this.expect(types._typeof); - node.argument = this.flowParsePrimaryType(); - return this.finishNode(node, "TypeofTypeAnnotation"); + while (this.state.pos < this.length && !this.match(types$1.bracketR)) { + node.types.push(this.flowParseType()); + if (this.match(types$1.bracketR)) break; + this.expect(types$1.comma); } - flowParseTupleType() { - const node = this.startNode(); - node.types = []; - this.expect(types.bracketL); + this.expect(types$1.bracketR); + return this.finishNode(node, "TupleTypeAnnotation"); + } - while (this.state.pos < this.length && !this.match(types.bracketR)) { - node.types.push(this.flowParseType()); - if (this.match(types.bracketR)) break; - this.expect(types.comma); - } + flowParseFunctionTypeParam(first) { + let name = null; + let optional = false; + let typeAnnotation = null; + const node = this.startNode(); + const lh = this.lookahead(); + const isThis = this.state.type === types$1._this; - this.expect(types.bracketR); - return this.finishNode(node, "TupleTypeAnnotation"); - } + if (lh.type === types$1.colon || lh.type === types$1.question) { + if (isThis && !first) { + this.raise(node.start, FlowErrors.ThisParamMustBeFirst); + } - flowParseFunctionTypeParam() { - let name = null; - let optional = false; - let typeAnnotation = null; - const node = this.startNode(); - const lh = this.lookahead(); + name = this.parseIdentifier(isThis); - if (lh.type === types.colon || lh.type === types.question) { - name = this.parseIdentifier(); + if (this.eat(types$1.question)) { + optional = true; - if (this.eat(types.question)) { - optional = true; + if (isThis) { + this.raise(node.start, FlowErrors.ThisParamMayNotBeOptional); } - - typeAnnotation = this.flowParseTypeInitialiser(); - } else { - typeAnnotation = this.flowParseType(); } - node.name = name; - node.optional = optional; - node.typeAnnotation = typeAnnotation; - return this.finishNode(node, "FunctionTypeParam"); + typeAnnotation = this.flowParseTypeInitialiser(); + } else { + typeAnnotation = this.flowParseType(); } - reinterpretTypeAsFunctionTypeParam(type) { - const node = this.startNodeAt(type.start, type.loc.start); - node.name = null; - node.optional = false; - node.typeAnnotation = type; - return this.finishNode(node, "FunctionTypeParam"); - } + node.name = name; + node.optional = optional; + node.typeAnnotation = typeAnnotation; + return this.finishNode(node, "FunctionTypeParam"); + } + + reinterpretTypeAsFunctionTypeParam(type) { + const node = this.startNodeAt(type.start, type.loc.start); + node.name = null; + node.optional = false; + node.typeAnnotation = type; + return this.finishNode(node, "FunctionTypeParam"); + } - flowParseFunctionTypeParams(params = []) { - let rest = null; + flowParseFunctionTypeParams(params = []) { + let rest = null; + let _this = null; - while (!this.match(types.parenR) && !this.match(types.ellipsis)) { - params.push(this.flowParseFunctionTypeParam()); + if (this.match(types$1._this)) { + _this = this.flowParseFunctionTypeParam(true); + _this.name = null; - if (!this.match(types.parenR)) { - this.expect(types.comma); - } + if (!this.match(types$1.parenR)) { + this.expect(types$1.comma); } + } + + while (!this.match(types$1.parenR) && !this.match(types$1.ellipsis)) { + params.push(this.flowParseFunctionTypeParam(false)); - if (this.eat(types.ellipsis)) { - rest = this.flowParseFunctionTypeParam(); + if (!this.match(types$1.parenR)) { + this.expect(types$1.comma); } + } - return { - params, - rest - }; + if (this.eat(types$1.ellipsis)) { + rest = this.flowParseFunctionTypeParam(false); } - flowIdentToTypeAnnotation(startPos, startLoc, node, id) { - switch (id.name) { - case "any": - return this.finishNode(node, "AnyTypeAnnotation"); + return { + params, + rest, + _this + }; + } - case "bool": - case "boolean": - return this.finishNode(node, "BooleanTypeAnnotation"); + flowIdentToTypeAnnotation(startPos, startLoc, node, id) { + switch (id.name) { + case "any": + return this.finishNode(node, "AnyTypeAnnotation"); - case "mixed": - return this.finishNode(node, "MixedTypeAnnotation"); + case "bool": + case "boolean": + return this.finishNode(node, "BooleanTypeAnnotation"); - case "empty": - return this.finishNode(node, "EmptyTypeAnnotation"); + case "mixed": + return this.finishNode(node, "MixedTypeAnnotation"); - case "number": - return this.finishNode(node, "NumberTypeAnnotation"); + case "empty": + return this.finishNode(node, "EmptyTypeAnnotation"); - case "string": - return this.finishNode(node, "StringTypeAnnotation"); + case "number": + return this.finishNode(node, "NumberTypeAnnotation"); - case "symbol": - return this.finishNode(node, "SymbolTypeAnnotation"); + case "string": + return this.finishNode(node, "StringTypeAnnotation"); - default: - this.checkNotUnderscore(id.name); - return this.flowParseGenericType(startPos, startLoc, id); - } + case "symbol": + return this.finishNode(node, "SymbolTypeAnnotation"); + + default: + this.checkNotUnderscore(id.name); + return this.flowParseGenericType(startPos, startLoc, id); } + } - flowParsePrimaryType() { - const startPos = this.state.start; - const startLoc = this.state.startLoc; - const node = this.startNode(); - let tmp; - let type; - let isGroupedType = false; - const oldNoAnonFunctionType = this.state.noAnonFunctionType; + flowParsePrimaryType() { + const startPos = this.state.start; + const startLoc = this.state.startLoc; + const node = this.startNode(); + let tmp; + let type; + let isGroupedType = false; + const oldNoAnonFunctionType = this.state.noAnonFunctionType; - switch (this.state.type) { - case types.name: - if (this.isContextual("interface")) { - return this.flowParseInterfaceType(); - } + switch (this.state.type) { + case types$1.name: + if (this.isContextual("interface")) { + return this.flowParseInterfaceType(); + } - return this.flowIdentToTypeAnnotation(startPos, startLoc, node, this.parseIdentifier()); + return this.flowIdentToTypeAnnotation(startPos, startLoc, node, this.parseIdentifier()); - case types.braceL: - return this.flowParseObjectType({ - allowStatic: false, - allowExact: false, - allowSpread: true, - allowProto: false, - allowInexact: true - }); + case types$1.braceL: + return this.flowParseObjectType({ + allowStatic: false, + allowExact: false, + allowSpread: true, + allowProto: false, + allowInexact: true + }); - case types.braceBarL: - return this.flowParseObjectType({ - allowStatic: false, - allowExact: true, - allowSpread: true, - allowProto: false, - allowInexact: false - }); + case types$1.braceBarL: + return this.flowParseObjectType({ + allowStatic: false, + allowExact: true, + allowSpread: true, + allowProto: false, + allowInexact: false + }); - case types.bracketL: - this.state.noAnonFunctionType = false; - type = this.flowParseTupleType(); - this.state.noAnonFunctionType = oldNoAnonFunctionType; - return type; + case types$1.bracketL: + this.state.noAnonFunctionType = false; + type = this.flowParseTupleType(); + this.state.noAnonFunctionType = oldNoAnonFunctionType; + return type; - case types.relational: - if (this.state.value === "<") { - node.typeParameters = this.flowParseTypeParameterDeclaration(); - this.expect(types.parenL); - tmp = this.flowParseFunctionTypeParams(); - node.params = tmp.params; - node.rest = tmp.rest; - this.expect(types.parenR); - this.expect(types.arrow); - node.returnType = this.flowParseType(); - return this.finishNode(node, "FunctionTypeAnnotation"); - } + case types$1.relational: + if (this.state.value === "<") { + node.typeParameters = this.flowParseTypeParameterDeclaration(); + this.expect(types$1.parenL); + tmp = this.flowParseFunctionTypeParams(); + node.params = tmp.params; + node.rest = tmp.rest; + node.this = tmp._this; + this.expect(types$1.parenR); + this.expect(types$1.arrow); + node.returnType = this.flowParseType(); + return this.finishNode(node, "FunctionTypeAnnotation"); + } - break; + break; - case types.parenL: - this.next(); + case types$1.parenL: + this.next(); - if (!this.match(types.parenR) && !this.match(types.ellipsis)) { - if (this.match(types.name)) { - const token = this.lookahead().type; - isGroupedType = token !== types.question && token !== types.colon; - } else { - isGroupedType = true; - } + if (!this.match(types$1.parenR) && !this.match(types$1.ellipsis)) { + if (this.match(types$1.name) || this.match(types$1._this)) { + const token = this.lookahead().type; + isGroupedType = token !== types$1.question && token !== types$1.colon; + } else { + isGroupedType = true; } + } - if (isGroupedType) { - this.state.noAnonFunctionType = false; - type = this.flowParseType(); - this.state.noAnonFunctionType = oldNoAnonFunctionType; - - if (this.state.noAnonFunctionType || !(this.match(types.comma) || this.match(types.parenR) && this.lookahead().type === types.arrow)) { - this.expect(types.parenR); - return type; - } else { - this.eat(types.comma); - } - } + if (isGroupedType) { + this.state.noAnonFunctionType = false; + type = this.flowParseType(); + this.state.noAnonFunctionType = oldNoAnonFunctionType; - if (type) { - tmp = this.flowParseFunctionTypeParams([this.reinterpretTypeAsFunctionTypeParam(type)]); + if (this.state.noAnonFunctionType || !(this.match(types$1.comma) || this.match(types$1.parenR) && this.lookahead().type === types$1.arrow)) { + this.expect(types$1.parenR); + return type; } else { - tmp = this.flowParseFunctionTypeParams(); + this.eat(types$1.comma); } + } - node.params = tmp.params; - node.rest = tmp.rest; - this.expect(types.parenR); - this.expect(types.arrow); - node.returnType = this.flowParseType(); - node.typeParameters = null; - return this.finishNode(node, "FunctionTypeAnnotation"); + if (type) { + tmp = this.flowParseFunctionTypeParams([this.reinterpretTypeAsFunctionTypeParam(type)]); + } else { + tmp = this.flowParseFunctionTypeParams(); + } - case types.string: - return this.parseLiteral(this.state.value, "StringLiteralTypeAnnotation"); + node.params = tmp.params; + node.rest = tmp.rest; + node.this = tmp._this; + this.expect(types$1.parenR); + this.expect(types$1.arrow); + node.returnType = this.flowParseType(); + node.typeParameters = null; + return this.finishNode(node, "FunctionTypeAnnotation"); - case types._true: - case types._false: - node.value = this.match(types._true); - this.next(); - return this.finishNode(node, "BooleanLiteralTypeAnnotation"); + case types$1.string: + return this.parseLiteral(this.state.value, "StringLiteralTypeAnnotation"); - case types.plusMin: - if (this.state.value === "-") { - this.next(); + case types$1._true: + case types$1._false: + node.value = this.match(types$1._true); + this.next(); + return this.finishNode(node, "BooleanLiteralTypeAnnotation"); - if (this.match(types.num)) { - return this.parseLiteral(-this.state.value, "NumberLiteralTypeAnnotation", node.start, node.loc.start); - } + case types$1.plusMin: + if (this.state.value === "-") { + this.next(); - if (this.match(types.bigint)) { - return this.parseLiteral(-this.state.value, "BigIntLiteralTypeAnnotation", node.start, node.loc.start); - } + if (this.match(types$1.num)) { + return this.parseLiteralAtNode(-this.state.value, "NumberLiteralTypeAnnotation", node); + } - throw this.raise(this.state.start, FlowErrors.UnexpectedSubtractionOperand); + if (this.match(types$1.bigint)) { + return this.parseLiteralAtNode(-this.state.value, "BigIntLiteralTypeAnnotation", node); } - throw this.unexpected(); + throw this.raise(this.state.start, FlowErrors.UnexpectedSubtractionOperand); + } - case types.num: - return this.parseLiteral(this.state.value, "NumberLiteralTypeAnnotation"); + throw this.unexpected(); - case types.bigint: - return this.parseLiteral(this.state.value, "BigIntLiteralTypeAnnotation"); + case types$1.num: + return this.parseLiteral(this.state.value, "NumberLiteralTypeAnnotation"); - case types._void: - this.next(); - return this.finishNode(node, "VoidTypeAnnotation"); + case types$1.bigint: + return this.parseLiteral(this.state.value, "BigIntLiteralTypeAnnotation"); - case types._null: - this.next(); - return this.finishNode(node, "NullLiteralTypeAnnotation"); + case types$1._void: + this.next(); + return this.finishNode(node, "VoidTypeAnnotation"); - case types._this: - this.next(); - return this.finishNode(node, "ThisTypeAnnotation"); + case types$1._null: + this.next(); + return this.finishNode(node, "NullLiteralTypeAnnotation"); - case types.star: - this.next(); - return this.finishNode(node, "ExistsTypeAnnotation"); + case types$1._this: + this.next(); + return this.finishNode(node, "ThisTypeAnnotation"); - default: - if (this.state.type.keyword === "typeof") { - return this.flowParseTypeofType(); - } else if (this.state.type.keyword) { - const label = this.state.type.label; - this.next(); - return super.createIdentifier(node, label); - } + case types$1.star: + this.next(); + return this.finishNode(node, "ExistsTypeAnnotation"); - } + default: + if (this.state.type.keyword === "typeof") { + return this.flowParseTypeofType(); + } else if (this.state.type.keyword) { + const label = this.state.type.label; + this.next(); + return super.createIdentifier(node, label); + } - throw this.unexpected(); } - flowParsePostfixType() { - const startPos = this.state.start, - startLoc = this.state.startLoc; - let type = this.flowParsePrimaryType(); + throw this.unexpected(); + } - while (this.match(types.bracketL) && !this.canInsertSemicolon()) { - const node = this.startNodeAt(startPos, startLoc); + flowParsePostfixType() { + const startPos = this.state.start; + const startLoc = this.state.startLoc; + let type = this.flowParsePrimaryType(); + let seenOptionalIndexedAccess = false; + + while ((this.match(types$1.bracketL) || this.match(types$1.questionDot)) && !this.canInsertSemicolon()) { + const node = this.startNodeAt(startPos, startLoc); + const optional = this.eat(types$1.questionDot); + seenOptionalIndexedAccess = seenOptionalIndexedAccess || optional; + this.expect(types$1.bracketL); + + if (!optional && this.match(types$1.bracketR)) { node.elementType = type; - this.expect(types.bracketL); - this.expect(types.bracketR); + this.next(); type = this.finishNode(node, "ArrayTypeAnnotation"); - } + } else { + node.objectType = type; + node.indexType = this.flowParseType(); + this.expect(types$1.bracketR); - return type; + if (seenOptionalIndexedAccess) { + node.optional = optional; + type = this.finishNode(node, "OptionalIndexedAccessType"); + } else { + type = this.finishNode(node, "IndexedAccessType"); + } + } } - flowParsePrefixType() { - const node = this.startNode(); + return type; + } - if (this.eat(types.question)) { - node.typeAnnotation = this.flowParsePrefixType(); - return this.finishNode(node, "NullableTypeAnnotation"); - } else { - return this.flowParsePostfixType(); - } - } + flowParsePrefixType() { + const node = this.startNode(); - flowParseAnonFunctionWithoutParens() { - const param = this.flowParsePrefixType(); + if (this.eat(types$1.question)) { + node.typeAnnotation = this.flowParsePrefixType(); + return this.finishNode(node, "NullableTypeAnnotation"); + } else { + return this.flowParsePostfixType(); + } + } - if (!this.state.noAnonFunctionType && this.eat(types.arrow)) { - const node = this.startNodeAt(param.start, param.loc.start); - node.params = [this.reinterpretTypeAsFunctionTypeParam(param)]; - node.rest = null; - node.returnType = this.flowParseType(); - node.typeParameters = null; - return this.finishNode(node, "FunctionTypeAnnotation"); - } + flowParseAnonFunctionWithoutParens() { + const param = this.flowParsePrefixType(); - return param; + if (!this.state.noAnonFunctionType && this.eat(types$1.arrow)) { + const node = this.startNodeAt(param.start, param.loc.start); + node.params = [this.reinterpretTypeAsFunctionTypeParam(param)]; + node.rest = null; + node.this = null; + node.returnType = this.flowParseType(); + node.typeParameters = null; + return this.finishNode(node, "FunctionTypeAnnotation"); } - flowParseIntersectionType() { - const node = this.startNode(); - this.eat(types.bitwiseAND); - const type = this.flowParseAnonFunctionWithoutParens(); - node.types = [type]; + return param; + } - while (this.eat(types.bitwiseAND)) { - node.types.push(this.flowParseAnonFunctionWithoutParens()); - } + flowParseIntersectionType() { + const node = this.startNode(); + this.eat(types$1.bitwiseAND); + const type = this.flowParseAnonFunctionWithoutParens(); + node.types = [type]; - return node.types.length === 1 ? type : this.finishNode(node, "IntersectionTypeAnnotation"); + while (this.eat(types$1.bitwiseAND)) { + node.types.push(this.flowParseAnonFunctionWithoutParens()); } - flowParseUnionType() { - const node = this.startNode(); - this.eat(types.bitwiseOR); - const type = this.flowParseIntersectionType(); - node.types = [type]; + return node.types.length === 1 ? type : this.finishNode(node, "IntersectionTypeAnnotation"); + } - while (this.eat(types.bitwiseOR)) { - node.types.push(this.flowParseIntersectionType()); - } + flowParseUnionType() { + const node = this.startNode(); + this.eat(types$1.bitwiseOR); + const type = this.flowParseIntersectionType(); + node.types = [type]; - return node.types.length === 1 ? type : this.finishNode(node, "UnionTypeAnnotation"); + while (this.eat(types$1.bitwiseOR)) { + node.types.push(this.flowParseIntersectionType()); } - flowParseType() { - const oldInType = this.state.inType; - this.state.inType = true; - const type = this.flowParseUnionType(); - this.state.inType = oldInType; - this.state.exprAllowed = this.state.exprAllowed || this.state.noAnonFunctionType; - return type; - } + return node.types.length === 1 ? type : this.finishNode(node, "UnionTypeAnnotation"); + } - flowParseTypeOrImplicitInstantiation() { - if (this.state.type === types.name && this.state.value === "_") { - const startPos = this.state.start; - const startLoc = this.state.startLoc; - const node = this.parseIdentifier(); - return this.flowParseGenericType(startPos, startLoc, node); - } else { - return this.flowParseType(); - } - } + flowParseType() { + const oldInType = this.state.inType; + this.state.inType = true; + const type = this.flowParseUnionType(); + this.state.inType = oldInType; + return type; + } - flowParseTypeAnnotation() { - const node = this.startNode(); - node.typeAnnotation = this.flowParseTypeInitialiser(); - return this.finishNode(node, "TypeAnnotation"); + flowParseTypeOrImplicitInstantiation() { + if (this.state.type === types$1.name && this.state.value === "_") { + const startPos = this.state.start; + const startLoc = this.state.startLoc; + const node = this.parseIdentifier(); + return this.flowParseGenericType(startPos, startLoc, node); + } else { + return this.flowParseType(); } + } - flowParseTypeAnnotatableIdentifier(allowPrimitiveOverride) { - const ident = allowPrimitiveOverride ? this.parseIdentifier() : this.flowParseRestrictedIdentifier(); + flowParseTypeAnnotation() { + const node = this.startNode(); + node.typeAnnotation = this.flowParseTypeInitialiser(); + return this.finishNode(node, "TypeAnnotation"); + } - if (this.match(types.colon)) { - ident.typeAnnotation = this.flowParseTypeAnnotation(); - this.resetEndLocation(ident); - } + flowParseTypeAnnotatableIdentifier(allowPrimitiveOverride) { + const ident = allowPrimitiveOverride ? this.parseIdentifier() : this.flowParseRestrictedIdentifier(); - return ident; + if (this.match(types$1.colon)) { + ident.typeAnnotation = this.flowParseTypeAnnotation(); + this.resetEndLocation(ident); } - typeCastToParameter(node) { - node.expression.typeAnnotation = node.typeAnnotation; - this.resetEndLocation(node.expression, node.typeAnnotation.end, node.typeAnnotation.loc.end); - return node.expression; - } + return ident; + } - flowParseVariance() { - let variance = null; + typeCastToParameter(node) { + node.expression.typeAnnotation = node.typeAnnotation; + this.resetEndLocation(node.expression, node.typeAnnotation.end, node.typeAnnotation.loc.end); + return node.expression; + } - if (this.match(types.plusMin)) { - variance = this.startNode(); + flowParseVariance() { + let variance = null; - if (this.state.value === "+") { - variance.kind = "plus"; - } else { - variance.kind = "minus"; - } + if (this.match(types$1.plusMin)) { + variance = this.startNode(); - this.next(); - this.finishNode(variance, "Variance"); + if (this.state.value === "+") { + variance.kind = "plus"; + } else { + variance.kind = "minus"; } - return variance; + this.next(); + this.finishNode(variance, "Variance"); } - parseFunctionBody(node, allowExpressionBody, isMethod = false) { - if (allowExpressionBody) { - return this.forwardNoArrowParamsConversionAt(node, () => super.parseFunctionBody(node, true, isMethod)); - } + return variance; + } - return super.parseFunctionBody(node, false, isMethod); + parseFunctionBody(node, allowExpressionBody, isMethod = false) { + if (allowExpressionBody) { + return this.forwardNoArrowParamsConversionAt(node, () => super.parseFunctionBody(node, true, isMethod)); } - parseFunctionBodyAndFinish(node, type, isMethod = false) { - if (this.match(types.colon)) { - const typeNode = this.startNode(); - [typeNode.typeAnnotation, node.predicate] = this.flowParseTypeAndPredicateInitialiser(); - node.returnType = typeNode.typeAnnotation ? this.finishNode(typeNode, "TypeAnnotation") : null; - } + return super.parseFunctionBody(node, false, isMethod); + } - super.parseFunctionBodyAndFinish(node, type, isMethod); + parseFunctionBodyAndFinish(node, type, isMethod = false) { + if (this.match(types$1.colon)) { + const typeNode = this.startNode(); + [typeNode.typeAnnotation, node.predicate] = this.flowParseTypeAndPredicateInitialiser(); + node.returnType = typeNode.typeAnnotation ? this.finishNode(typeNode, "TypeAnnotation") : null; } - parseStatement(context, topLevel) { - if (this.state.strict && this.match(types.name) && this.state.value === "interface") { - const lookahead = this.lookahead(); + super.parseFunctionBodyAndFinish(node, type, isMethod); + } - if (lookahead.type === types.name || isKeyword(lookahead.value)) { - const node = this.startNode(); - this.next(); - return this.flowParseInterface(node); - } - } else if (this.shouldParseEnums() && this.isContextual("enum")) { + parseStatement(context, topLevel) { + if (this.state.strict && this.match(types$1.name) && this.state.value === "interface") { + const lookahead = this.lookahead(); + + if (lookahead.type === types$1.name || isKeyword(lookahead.value)) { const node = this.startNode(); this.next(); - return this.flowParseEnumDeclaration(node); + return this.flowParseInterface(node); } + } else if (this.shouldParseEnums() && this.isContextual("enum")) { + const node = this.startNode(); + this.next(); + return this.flowParseEnumDeclaration(node); + } - const stmt = super.parseStatement(context, topLevel); - - if (this.flowPragma === undefined && !this.isValidDirective(stmt)) { - this.flowPragma = null; - } + const stmt = super.parseStatement(context, topLevel); - return stmt; + if (this.flowPragma === undefined && !this.isValidDirective(stmt)) { + this.flowPragma = null; } - parseExpressionStatement(node, expr) { - if (expr.type === "Identifier") { - if (expr.name === "declare") { - if (this.match(types._class) || this.match(types.name) || this.match(types._function) || this.match(types._var) || this.match(types._export)) { - return this.flowParseDeclare(node); - } - } else if (this.match(types.name)) { - if (expr.name === "interface") { - return this.flowParseInterface(node); - } else if (expr.name === "type") { - return this.flowParseTypeAlias(node); - } else if (expr.name === "opaque") { - return this.flowParseOpaqueType(node, false); - } + return stmt; + } + + parseExpressionStatement(node, expr) { + if (expr.type === "Identifier") { + if (expr.name === "declare") { + if (this.match(types$1._class) || this.match(types$1.name) || this.match(types$1._function) || this.match(types$1._var) || this.match(types$1._export)) { + return this.flowParseDeclare(node); + } + } else if (this.match(types$1.name)) { + if (expr.name === "interface") { + return this.flowParseInterface(node); + } else if (expr.name === "type") { + return this.flowParseTypeAlias(node); + } else if (expr.name === "opaque") { + return this.flowParseOpaqueType(node, false); } } - - return super.parseExpressionStatement(node, expr); } - shouldParseExportDeclaration() { - return this.isContextual("type") || this.isContextual("interface") || this.isContextual("opaque") || this.shouldParseEnums() && this.isContextual("enum") || super.shouldParseExportDeclaration(); - } + return super.parseExpressionStatement(node, expr); + } - isExportDefaultSpecifier() { - if (this.match(types.name) && (this.state.value === "type" || this.state.value === "interface" || this.state.value === "opaque" || this.shouldParseEnums() && this.state.value === "enum")) { - return false; - } + shouldParseExportDeclaration() { + return this.isContextual("type") || this.isContextual("interface") || this.isContextual("opaque") || this.shouldParseEnums() && this.isContextual("enum") || super.shouldParseExportDeclaration(); + } - return super.isExportDefaultSpecifier(); + isExportDefaultSpecifier() { + if (this.match(types$1.name) && (this.state.value === "type" || this.state.value === "interface" || this.state.value === "opaque" || this.shouldParseEnums() && this.state.value === "enum")) { + return false; } - parseExportDefaultExpression() { - if (this.shouldParseEnums() && this.isContextual("enum")) { - const node = this.startNode(); - this.next(); - return this.flowParseEnumDeclaration(node); - } + return super.isExportDefaultSpecifier(); + } - return super.parseExportDefaultExpression(); + parseExportDefaultExpression() { + if (this.shouldParseEnums() && this.isContextual("enum")) { + const node = this.startNode(); + this.next(); + return this.flowParseEnumDeclaration(node); } - parseConditional(expr, startPos, startLoc, refNeedsArrowPos) { - if (!this.match(types.question)) return expr; + return super.parseExportDefaultExpression(); + } - if (refNeedsArrowPos) { - const result = this.tryParse(() => super.parseConditional(expr, startPos, startLoc)); + parseConditional(expr, startPos, startLoc, refNeedsArrowPos) { + if (!this.match(types$1.question)) return expr; - if (!result.node) { - refNeedsArrowPos.start = result.error.pos || this.state.start; - return expr; - } + if (refNeedsArrowPos) { + const result = this.tryParse(() => super.parseConditional(expr, startPos, startLoc)); - if (result.error) this.state = result.failState; - return result.node; + if (!result.node) { + refNeedsArrowPos.start = result.error.pos || this.state.start; + return expr; } - this.expect(types.question); - const state = this.state.clone(); - const originalNoArrowAt = this.state.noArrowAt; - const node = this.startNodeAt(startPos, startLoc); - let { - consequent, - failed - } = this.tryParseConditionalConsequent(); - let [valid, invalid] = this.getArrowLikeExpressions(consequent); + if (result.error) this.state = result.failState; + return result.node; + } - if (failed || invalid.length > 0) { - const noArrowAt = [...originalNoArrowAt]; + this.expect(types$1.question); + const state = this.state.clone(); + const originalNoArrowAt = this.state.noArrowAt; + const node = this.startNodeAt(startPos, startLoc); + let { + consequent, + failed + } = this.tryParseConditionalConsequent(); + let [valid, invalid] = this.getArrowLikeExpressions(consequent); - if (invalid.length > 0) { - this.state = state; - this.state.noArrowAt = noArrowAt; + if (failed || invalid.length > 0) { + const noArrowAt = [...originalNoArrowAt]; - for (let i = 0; i < invalid.length; i++) { - noArrowAt.push(invalid[i].start); - } + if (invalid.length > 0) { + this.state = state; + this.state.noArrowAt = noArrowAt; - ({ - consequent, - failed - } = this.tryParseConditionalConsequent()); - [valid, invalid] = this.getArrowLikeExpressions(consequent); + for (let i = 0; i < invalid.length; i++) { + noArrowAt.push(invalid[i].start); } - if (failed && valid.length > 1) { - this.raise(state.start, FlowErrors.AmbiguousConditionalArrow); - } + ({ + consequent, + failed + } = this.tryParseConditionalConsequent()); + [valid, invalid] = this.getArrowLikeExpressions(consequent); + } - if (failed && valid.length === 1) { - this.state = state; - this.state.noArrowAt = noArrowAt.concat(valid[0].start); - ({ - consequent, - failed - } = this.tryParseConditionalConsequent()); - } + if (failed && valid.length > 1) { + this.raise(state.start, FlowErrors.AmbiguousConditionalArrow); } - this.getArrowLikeExpressions(consequent, true); - this.state.noArrowAt = originalNoArrowAt; - this.expect(types.colon); - node.test = expr; - node.consequent = consequent; - node.alternate = this.forwardNoArrowParamsConversionAt(node, () => this.parseMaybeAssign(undefined, undefined, undefined)); - return this.finishNode(node, "ConditionalExpression"); + if (failed && valid.length === 1) { + this.state = state; + this.state.noArrowAt = noArrowAt.concat(valid[0].start); + ({ + consequent, + failed + } = this.tryParseConditionalConsequent()); + } } - tryParseConditionalConsequent() { - this.state.noArrowParamsConversionAt.push(this.state.start); - const consequent = this.parseMaybeAssignAllowIn(); - const failed = !this.match(types.colon); - this.state.noArrowParamsConversionAt.pop(); - return { - consequent, - failed - }; - } + this.getArrowLikeExpressions(consequent, true); + this.state.noArrowAt = originalNoArrowAt; + this.expect(types$1.colon); + node.test = expr; + node.consequent = consequent; + node.alternate = this.forwardNoArrowParamsConversionAt(node, () => this.parseMaybeAssign(undefined, undefined, undefined)); + return this.finishNode(node, "ConditionalExpression"); + } - getArrowLikeExpressions(node, disallowInvalid) { - const stack = [node]; - const arrows = []; + tryParseConditionalConsequent() { + this.state.noArrowParamsConversionAt.push(this.state.start); + const consequent = this.parseMaybeAssignAllowIn(); + const failed = !this.match(types$1.colon); + this.state.noArrowParamsConversionAt.pop(); + return { + consequent, + failed + }; + } - while (stack.length !== 0) { - const node = stack.pop(); + getArrowLikeExpressions(node, disallowInvalid) { + const stack = [node]; + const arrows = []; - if (node.type === "ArrowFunctionExpression") { - if (node.typeParameters || !node.returnType) { - this.finishArrowValidation(node); - } else { - arrows.push(node); - } + while (stack.length !== 0) { + const node = stack.pop(); - stack.push(node.body); - } else if (node.type === "ConditionalExpression") { - stack.push(node.consequent); - stack.push(node.alternate); + if (node.type === "ArrowFunctionExpression") { + if (node.typeParameters || !node.returnType) { + this.finishArrowValidation(node); + } else { + arrows.push(node); } - } - if (disallowInvalid) { - arrows.forEach(node => this.finishArrowValidation(node)); - return [arrows, []]; + stack.push(node.body); + } else if (node.type === "ConditionalExpression") { + stack.push(node.consequent); + stack.push(node.alternate); } + } - return partition(arrows, node => node.params.every(param => this.isAssignable(param, true))); + if (disallowInvalid) { + arrows.forEach(node => this.finishArrowValidation(node)); + return [arrows, []]; } - finishArrowValidation(node) { - var _node$extra; + return partition(arrows, node => node.params.every(param => this.isAssignable(param, true))); + } - this.toAssignableList(node.params, (_node$extra = node.extra) == null ? void 0 : _node$extra.trailingComma, false); - this.scope.enter(SCOPE_FUNCTION | SCOPE_ARROW); - super.checkParams(node, false, true); - this.scope.exit(); - } + finishArrowValidation(node) { + var _node$extra; - forwardNoArrowParamsConversionAt(node, parse) { - let result; + this.toAssignableList(node.params, (_node$extra = node.extra) == null ? void 0 : _node$extra.trailingComma, false); + this.scope.enter(SCOPE_FUNCTION | SCOPE_ARROW); + super.checkParams(node, false, true); + this.scope.exit(); + } - if (this.state.noArrowParamsConversionAt.indexOf(node.start) !== -1) { - this.state.noArrowParamsConversionAt.push(this.state.start); - result = parse(); - this.state.noArrowParamsConversionAt.pop(); - } else { - result = parse(); - } + forwardNoArrowParamsConversionAt(node, parse) { + let result; - return result; + if (this.state.noArrowParamsConversionAt.indexOf(node.start) !== -1) { + this.state.noArrowParamsConversionAt.push(this.state.start); + result = parse(); + this.state.noArrowParamsConversionAt.pop(); + } else { + result = parse(); } - parseParenItem(node, startPos, startLoc) { - node = super.parseParenItem(node, startPos, startLoc); + return result; + } - if (this.eat(types.question)) { - node.optional = true; - this.resetEndLocation(node); - } + parseParenItem(node, startPos, startLoc) { + node = super.parseParenItem(node, startPos, startLoc); - if (this.match(types.colon)) { - const typeCastNode = this.startNodeAt(startPos, startLoc); - typeCastNode.expression = node; - typeCastNode.typeAnnotation = this.flowParseTypeAnnotation(); - return this.finishNode(typeCastNode, "TypeCastExpression"); - } + if (this.eat(types$1.question)) { + node.optional = true; + this.resetEndLocation(node); + } - return node; + if (this.match(types$1.colon)) { + const typeCastNode = this.startNodeAt(startPos, startLoc); + typeCastNode.expression = node; + typeCastNode.typeAnnotation = this.flowParseTypeAnnotation(); + return this.finishNode(typeCastNode, "TypeCastExpression"); } - assertModuleNodeAllowed(node) { - if (node.type === "ImportDeclaration" && (node.importKind === "type" || node.importKind === "typeof") || node.type === "ExportNamedDeclaration" && node.exportKind === "type" || node.type === "ExportAllDeclaration" && node.exportKind === "type") { - return; - } + return node; + } - super.assertModuleNodeAllowed(node); + assertModuleNodeAllowed(node) { + if (node.type === "ImportDeclaration" && (node.importKind === "type" || node.importKind === "typeof") || node.type === "ExportNamedDeclaration" && node.exportKind === "type" || node.type === "ExportAllDeclaration" && node.exportKind === "type") { + return; } - parseExport(node) { - const decl = super.parseExport(node); + super.assertModuleNodeAllowed(node); + } - if (decl.type === "ExportNamedDeclaration" || decl.type === "ExportAllDeclaration") { - decl.exportKind = decl.exportKind || "value"; - } + parseExport(node) { + const decl = super.parseExport(node); - return decl; + if (decl.type === "ExportNamedDeclaration" || decl.type === "ExportAllDeclaration") { + decl.exportKind = decl.exportKind || "value"; } - parseExportDeclaration(node) { - if (this.isContextual("type")) { - node.exportKind = "type"; - const declarationNode = this.startNode(); - this.next(); + return decl; + } - if (this.match(types.braceL)) { - node.specifiers = this.parseExportSpecifiers(); - this.parseExportFrom(node); - return null; - } else { - return this.flowParseTypeAlias(declarationNode); - } - } else if (this.isContextual("opaque")) { - node.exportKind = "type"; - const declarationNode = this.startNode(); - this.next(); - return this.flowParseOpaqueType(declarationNode, false); - } else if (this.isContextual("interface")) { - node.exportKind = "type"; - const declarationNode = this.startNode(); - this.next(); - return this.flowParseInterface(declarationNode); - } else if (this.shouldParseEnums() && this.isContextual("enum")) { - node.exportKind = "value"; - const declarationNode = this.startNode(); - this.next(); - return this.flowParseEnumDeclaration(declarationNode); + parseExportDeclaration(node) { + if (this.isContextual("type")) { + node.exportKind = "type"; + const declarationNode = this.startNode(); + this.next(); + + if (this.match(types$1.braceL)) { + node.specifiers = this.parseExportSpecifiers(); + this.parseExportFrom(node); + return null; } else { - return super.parseExportDeclaration(node); + return this.flowParseTypeAlias(declarationNode); } + } else if (this.isContextual("opaque")) { + node.exportKind = "type"; + const declarationNode = this.startNode(); + this.next(); + return this.flowParseOpaqueType(declarationNode, false); + } else if (this.isContextual("interface")) { + node.exportKind = "type"; + const declarationNode = this.startNode(); + this.next(); + return this.flowParseInterface(declarationNode); + } else if (this.shouldParseEnums() && this.isContextual("enum")) { + node.exportKind = "value"; + const declarationNode = this.startNode(); + this.next(); + return this.flowParseEnumDeclaration(declarationNode); + } else { + return super.parseExportDeclaration(node); } + } - eatExportStar(node) { - if (super.eatExportStar(...arguments)) return true; - - if (this.isContextual("type") && this.lookahead().type === types.star) { - node.exportKind = "type"; - this.next(); - this.next(); - return true; - } + eatExportStar(node) { + if (super.eatExportStar(...arguments)) return true; - return false; + if (this.isContextual("type") && this.lookahead().type === types$1.star) { + node.exportKind = "type"; + this.next(); + this.next(); + return true; } - maybeParseExportNamespaceSpecifier(node) { - const pos = this.state.start; - const hasNamespace = super.maybeParseExportNamespaceSpecifier(node); + return false; + } - if (hasNamespace && node.exportKind === "type") { - this.unexpected(pos); - } + maybeParseExportNamespaceSpecifier(node) { + const pos = this.state.start; + const hasNamespace = super.maybeParseExportNamespaceSpecifier(node); - return hasNamespace; + if (hasNamespace && node.exportKind === "type") { + this.unexpected(pos); } - parseClassId(node, isStatement, optionalId) { - super.parseClassId(node, isStatement, optionalId); + return hasNamespace; + } - if (this.isRelational("<")) { - node.typeParameters = this.flowParseTypeParameterDeclaration(); - } - } + parseClassId(node, isStatement, optionalId) { + super.parseClassId(node, isStatement, optionalId); - parseClassMember(classBody, member, state) { - const pos = this.state.start; + if (this.isRelational("<")) { + node.typeParameters = this.flowParseTypeParameterDeclaration(); + } + } - if (this.isContextual("declare")) { - if (this.parseClassMemberFromModifier(classBody, member)) { - return; - } + parseClassMember(classBody, member, state) { + const pos = this.state.start; - member.declare = true; + if (this.isContextual("declare")) { + if (this.parseClassMemberFromModifier(classBody, member)) { + return; } - super.parseClassMember(classBody, member, state); + member.declare = true; + } - if (member.declare) { - if (member.type !== "ClassProperty" && member.type !== "ClassPrivateProperty") { + super.parseClassMember(classBody, member, state); + + if (member.declare) { + if (member.type !== "ClassProperty" && member.type !== "ClassPrivateProperty" && member.type !== "PropertyDefinition") { this.raise(pos, FlowErrors.DeclareClassElement); } else if (member.value) { - this.raise(member.value.start, FlowErrors.DeclareClassFieldInitializer); - } + this.raise(member.value.start, FlowErrors.DeclareClassFieldInitializer); } } + } - getTokenFromCode(code) { - const next = this.input.charCodeAt(this.state.pos + 1); + isIterator(word) { + return word === "iterator" || word === "asyncIterator"; + } - if (code === 123 && next === 124) { - return this.finishOp(types.braceBarL, 2); - } else if (this.state.inType && (code === 62 || code === 60)) { - return this.finishOp(types.relational, 1); - } else if (this.state.inType && code === 63) { - return this.finishOp(types.question, 1); - } else if (isIteratorStart(code, next)) { - this.state.isIterator = true; - return super.readWord(); - } else { - return super.getTokenFromCode(code); + readIterator() { + const word = super.readWord1(); + const fullWord = "@@" + word; + + if (!this.isIterator(word) || !this.state.inType) { + this.raise(this.state.pos, ErrorMessages.InvalidIdentifier, fullWord); + } + + this.finishToken(types$1.name, fullWord); + } + + getTokenFromCode(code) { + const next = this.input.charCodeAt(this.state.pos + 1); + + if (code === 123 && next === 124) { + return this.finishOp(types$1.braceBarL, 2); + } else if (this.state.inType && (code === 62 || code === 60)) { + return this.finishOp(types$1.relational, 1); + } else if (this.state.inType && code === 63) { + if (next === 46) { + return this.finishOp(types$1.questionDot, 2); } + + return this.finishOp(types$1.question, 1); + } else if (isIteratorStart(code, next)) { + this.state.pos += 2; + return this.readIterator(); + } else { + return super.getTokenFromCode(code); } + } - isAssignable(node, isBinding) { - switch (node.type) { - case "Identifier": - case "ObjectPattern": - case "ArrayPattern": - case "AssignmentPattern": - return true; + isAssignable(node, isBinding) { + switch (node.type) { + case "Identifier": + case "ObjectPattern": + case "ArrayPattern": + case "AssignmentPattern": + return true; - case "ObjectExpression": - { - const last = node.properties.length - 1; - return node.properties.every((prop, i) => { - return prop.type !== "ObjectMethod" && (i === last || prop.type === "SpreadElement") && this.isAssignable(prop); - }); - } + case "ObjectExpression": + { + const last = node.properties.length - 1; + return node.properties.every((prop, i) => { + return prop.type !== "ObjectMethod" && (i === last || prop.type === "SpreadElement") && this.isAssignable(prop); + }); + } - case "ObjectProperty": - return this.isAssignable(node.value); + case "ObjectProperty": + return this.isAssignable(node.value); - case "SpreadElement": - return this.isAssignable(node.argument); + case "SpreadElement": + return this.isAssignable(node.argument); - case "ArrayExpression": - return node.elements.every(element => this.isAssignable(element)); + case "ArrayExpression": + return node.elements.every(element => this.isAssignable(element)); - case "AssignmentExpression": - return node.operator === "="; + case "AssignmentExpression": + return node.operator === "="; - case "ParenthesizedExpression": - case "TypeCastExpression": - return this.isAssignable(node.expression); + case "ParenthesizedExpression": + case "TypeCastExpression": + return this.isAssignable(node.expression); - case "MemberExpression": - case "OptionalMemberExpression": - return !isBinding; + case "MemberExpression": + case "OptionalMemberExpression": + return !isBinding; - default: - return false; - } + default: + return false; } + } - toAssignable(node, isLHS = false) { - if (node.type === "TypeCastExpression") { - return super.toAssignable(this.typeCastToParameter(node), isLHS); - } else { - return super.toAssignable(node, isLHS); - } + toAssignable(node, isLHS = false) { + if (node.type === "TypeCastExpression") { + return super.toAssignable(this.typeCastToParameter(node), isLHS); + } else { + return super.toAssignable(node, isLHS); } + } - toAssignableList(exprList, trailingCommaPos, isLHS) { - for (let i = 0; i < exprList.length; i++) { - const expr = exprList[i]; + toAssignableList(exprList, trailingCommaPos, isLHS) { + for (let i = 0; i < exprList.length; i++) { + const expr = exprList[i]; - if ((expr == null ? void 0 : expr.type) === "TypeCastExpression") { - exprList[i] = this.typeCastToParameter(expr); - } + if ((expr == null ? void 0 : expr.type) === "TypeCastExpression") { + exprList[i] = this.typeCastToParameter(expr); } - - return super.toAssignableList(exprList, trailingCommaPos, isLHS); } - toReferencedList(exprList, isParenthesizedExpr) { - for (let i = 0; i < exprList.length; i++) { - var _expr$extra; + return super.toAssignableList(exprList, trailingCommaPos, isLHS); + } - const expr = exprList[i]; + toReferencedList(exprList, isParenthesizedExpr) { + for (let i = 0; i < exprList.length; i++) { + var _expr$extra; - if (expr && expr.type === "TypeCastExpression" && !((_expr$extra = expr.extra) == null ? void 0 : _expr$extra.parenthesized) && (exprList.length > 1 || !isParenthesizedExpr)) { - this.raise(expr.typeAnnotation.start, FlowErrors.TypeCastInPattern); - } - } + const expr = exprList[i]; - return exprList; + if (expr && expr.type === "TypeCastExpression" && !((_expr$extra = expr.extra) != null && _expr$extra.parenthesized) && (exprList.length > 1 || !isParenthesizedExpr)) { + this.raise(expr.typeAnnotation.start, FlowErrors.TypeCastInPattern); + } } - parseArrayLike(close, canBePattern, isTuple, refExpressionErrors) { - const node = super.parseArrayLike(close, canBePattern, isTuple, refExpressionErrors); + return exprList; + } + + parseArrayLike(close, canBePattern, isTuple, refExpressionErrors) { + const node = super.parseArrayLike(close, canBePattern, isTuple, refExpressionErrors); - if (canBePattern && !this.state.maybeInArrowParameters) { - this.toReferencedList(node.elements); - } + if (canBePattern && !this.state.maybeInArrowParameters) { + this.toReferencedList(node.elements); + } - return node; + return node; + } + + checkLVal(expr, ...args) { + if (expr.type !== "TypeCastExpression") { + return super.checkLVal(expr, ...args); } + } - checkLVal(expr, ...args) { - if (expr.type !== "TypeCastExpression") { - return super.checkLVal(expr, ...args); - } + parseClassProperty(node) { + if (this.match(types$1.colon)) { + node.typeAnnotation = this.flowParseTypeAnnotation(); } - parseClassProperty(node) { - if (this.match(types.colon)) { - node.typeAnnotation = this.flowParseTypeAnnotation(); - } + return super.parseClassProperty(node); + } - return super.parseClassProperty(node); + parseClassPrivateProperty(node) { + if (this.match(types$1.colon)) { + node.typeAnnotation = this.flowParseTypeAnnotation(); } - parseClassPrivateProperty(node) { - if (this.match(types.colon)) { - node.typeAnnotation = this.flowParseTypeAnnotation(); - } + return super.parseClassPrivateProperty(node); + } - return super.parseClassPrivateProperty(node); - } + isClassMethod() { + return this.isRelational("<") || super.isClassMethod(); + } - isClassMethod() { - return this.isRelational("<") || super.isClassMethod(); - } + isClassProperty() { + return this.match(types$1.colon) || super.isClassProperty(); + } - isClassProperty() { - return this.match(types.colon) || super.isClassProperty(); + isNonstaticConstructor(method) { + return !this.match(types$1.colon) && super.isNonstaticConstructor(method); + } + + pushClassMethod(classBody, method, isGenerator, isAsync, isConstructor, allowsDirectSuper) { + if (method.variance) { + this.unexpected(method.variance.start); } - isNonstaticConstructor(method) { - return !this.match(types.colon) && super.isNonstaticConstructor(method); + delete method.variance; + + if (this.isRelational("<")) { + method.typeParameters = this.flowParseTypeParameterDeclaration(); } - pushClassMethod(classBody, method, isGenerator, isAsync, isConstructor, allowsDirectSuper) { - if (method.variance) { - this.unexpected(method.variance.start); - } + super.pushClassMethod(classBody, method, isGenerator, isAsync, isConstructor, allowsDirectSuper); - delete method.variance; + if (method.params && isConstructor) { + const params = method.params; - if (this.isRelational("<")) { - method.typeParameters = this.flowParseTypeParameterDeclaration(); + if (params.length > 0 && this.isThisParam(params[0])) { + this.raise(method.start, FlowErrors.ThisParamBannedInConstructor); } + } else if (method.type === "MethodDefinition" && isConstructor && method.value.params) { + const params = method.value.params; - super.pushClassMethod(classBody, method, isGenerator, isAsync, isConstructor, allowsDirectSuper); + if (params.length > 0 && this.isThisParam(params[0])) { + this.raise(method.start, FlowErrors.ThisParamBannedInConstructor); + } } + } - pushClassPrivateMethod(classBody, method, isGenerator, isAsync) { - if (method.variance) { - this.unexpected(method.variance.start); - } + pushClassPrivateMethod(classBody, method, isGenerator, isAsync) { + if (method.variance) { + this.unexpected(method.variance.start); + } - delete method.variance; + delete method.variance; - if (this.isRelational("<")) { - method.typeParameters = this.flowParseTypeParameterDeclaration(); - } + if (this.isRelational("<")) { + method.typeParameters = this.flowParseTypeParameterDeclaration(); + } + + super.pushClassPrivateMethod(classBody, method, isGenerator, isAsync); + } + + parseClassSuper(node) { + super.parseClassSuper(node); - super.pushClassPrivateMethod(classBody, method, isGenerator, isAsync); + if (node.superClass && this.isRelational("<")) { + node.superTypeParameters = this.flowParseTypeParameterInstantiation(); } - parseClassSuper(node) { - super.parseClassSuper(node); + if (this.isContextual("implements")) { + this.next(); + const implemented = node.implements = []; - if (node.superClass && this.isRelational("<")) { - node.superTypeParameters = this.flowParseTypeParameterInstantiation(); - } + do { + const node = this.startNode(); + node.id = this.flowParseRestrictedIdentifier(true); - if (this.isContextual("implements")) { - this.next(); - const implemented = node.implements = []; + if (this.isRelational("<")) { + node.typeParameters = this.flowParseTypeParameterInstantiation(); + } else { + node.typeParameters = null; + } - do { - const node = this.startNode(); - node.id = this.flowParseRestrictedIdentifier(true); + implemented.push(this.finishNode(node, "ClassImplements")); + } while (this.eat(types$1.comma)); + } + } + + checkGetterSetterParams(method) { + super.checkGetterSetterParams(method); + const params = this.getObjectOrClassMethodParams(method); - if (this.isRelational("<")) { - node.typeParameters = this.flowParseTypeParameterInstantiation(); - } else { - node.typeParameters = null; - } + if (params.length > 0) { + const param = params[0]; - implemented.push(this.finishNode(node, "ClassImplements")); - } while (this.eat(types.comma)); + if (this.isThisParam(param) && method.kind === "get") { + this.raise(param.start, FlowErrors.GetterMayNotHaveThisParam); + } else if (this.isThisParam(param)) { + this.raise(param.start, FlowErrors.SetterMayNotHaveThisParam); } } + } - parsePropertyName(node, isPrivateNameAllowed) { - const variance = this.flowParseVariance(); - const key = super.parsePropertyName(node, isPrivateNameAllowed); - node.variance = variance; - return key; - } + parsePropertyName(node, isPrivateNameAllowed) { + const variance = this.flowParseVariance(); + const key = super.parsePropertyName(node, isPrivateNameAllowed); + node.variance = variance; + return key; + } - parseObjPropValue(prop, startPos, startLoc, isGenerator, isAsync, isPattern, isAccessor, refExpressionErrors) { - if (prop.variance) { - this.unexpected(prop.variance.start); - } + parseObjPropValue(prop, startPos, startLoc, isGenerator, isAsync, isPattern, isAccessor, refExpressionErrors) { + if (prop.variance) { + this.unexpected(prop.variance.start); + } - delete prop.variance; - let typeParameters; + delete prop.variance; + let typeParameters; - if (this.isRelational("<") && !isAccessor) { - typeParameters = this.flowParseTypeParameterDeclaration(); - if (!this.match(types.parenL)) this.unexpected(); - } + if (this.isRelational("<") && !isAccessor) { + typeParameters = this.flowParseTypeParameterDeclaration(); + if (!this.match(types$1.parenL)) this.unexpected(); + } - super.parseObjPropValue(prop, startPos, startLoc, isGenerator, isAsync, isPattern, isAccessor, refExpressionErrors); + super.parseObjPropValue(prop, startPos, startLoc, isGenerator, isAsync, isPattern, isAccessor, refExpressionErrors); - if (typeParameters) { - (prop.value || prop).typeParameters = typeParameters; - } + if (typeParameters) { + (prop.value || prop).typeParameters = typeParameters; } + } - parseAssignableListItemTypes(param) { - if (this.eat(types.question)) { - if (param.type !== "Identifier") { - this.raise(param.start, FlowErrors.OptionalBindingPattern); - } - - param.optional = true; + parseAssignableListItemTypes(param) { + if (this.eat(types$1.question)) { + if (param.type !== "Identifier") { + this.raise(param.start, FlowErrors.OptionalBindingPattern); } - if (this.match(types.colon)) { - param.typeAnnotation = this.flowParseTypeAnnotation(); + if (this.isThisParam(param)) { + this.raise(param.start, FlowErrors.ThisParamMayNotBeOptional); } - this.resetEndLocation(param); - return param; + param.optional = true; } - parseMaybeDefault(startPos, startLoc, left) { - const node = super.parseMaybeDefault(startPos, startLoc, left); - - if (node.type === "AssignmentPattern" && node.typeAnnotation && node.right.start < node.typeAnnotation.start) { - this.raise(node.typeAnnotation.start, FlowErrors.TypeBeforeInitializer); - } + if (this.match(types$1.colon)) { + param.typeAnnotation = this.flowParseTypeAnnotation(); + } else if (this.isThisParam(param)) { + this.raise(param.start, FlowErrors.ThisParamAnnotationRequired); + } - return node; + if (this.match(types$1.eq) && this.isThisParam(param)) { + this.raise(param.start, FlowErrors.ThisParamNoDefault); } - shouldParseDefaultImport(node) { - if (!hasTypeImportKind(node)) { - return super.shouldParseDefaultImport(node); - } + this.resetEndLocation(param); + return param; + } - return isMaybeDefaultImport(this.state); + parseMaybeDefault(startPos, startLoc, left) { + const node = super.parseMaybeDefault(startPos, startLoc, left); + + if (node.type === "AssignmentPattern" && node.typeAnnotation && node.right.start < node.typeAnnotation.start) { + this.raise(node.typeAnnotation.start, FlowErrors.TypeBeforeInitializer); } - parseImportSpecifierLocal(node, specifier, type, contextDescription) { - specifier.local = hasTypeImportKind(node) ? this.flowParseRestrictedIdentifier(true, true) : this.parseIdentifier(); - this.checkLVal(specifier.local, contextDescription, BIND_LEXICAL); - node.specifiers.push(this.finishNode(specifier, type)); + return node; + } + + shouldParseDefaultImport(node) { + if (!hasTypeImportKind(node)) { + return super.shouldParseDefaultImport(node); } - maybeParseDefaultImportSpecifier(node) { - node.importKind = "value"; - let kind = null; + return isMaybeDefaultImport(this.state); + } - if (this.match(types._typeof)) { - kind = "typeof"; - } else if (this.isContextual("type")) { - kind = "type"; - } + parseImportSpecifierLocal(node, specifier, type, contextDescription) { + specifier.local = hasTypeImportKind(node) ? this.flowParseRestrictedIdentifier(true, true) : this.parseIdentifier(); + this.checkLVal(specifier.local, contextDescription, BIND_LEXICAL); + node.specifiers.push(this.finishNode(specifier, type)); + } - if (kind) { - const lh = this.lookahead(); + maybeParseDefaultImportSpecifier(node) { + node.importKind = "value"; + let kind = null; - if (kind === "type" && lh.type === types.star) { - this.unexpected(lh.start); - } + if (this.match(types$1._typeof)) { + kind = "typeof"; + } else if (this.isContextual("type")) { + kind = "type"; + } - if (isMaybeDefaultImport(lh) || lh.type === types.braceL || lh.type === types.star) { - this.next(); - node.importKind = kind; - } + if (kind) { + const lh = this.lookahead(); + + if (kind === "type" && lh.type === types$1.star) { + this.unexpected(lh.start); } - return super.maybeParseDefaultImportSpecifier(node); + if (isMaybeDefaultImport(lh) || lh.type === types$1.braceL || lh.type === types$1.star) { + this.next(); + node.importKind = kind; + } } - parseImportSpecifier(node) { - const specifier = this.startNode(); - const firstIdentLoc = this.state.start; - const firstIdent = this.parseModuleExportName(); - let specifierTypeKind = null; + return super.maybeParseDefaultImportSpecifier(node); + } - if (firstIdent.type === "Identifier") { - if (firstIdent.name === "type") { - specifierTypeKind = "type"; - } else if (firstIdent.name === "typeof") { - specifierTypeKind = "typeof"; - } + parseImportSpecifier(node) { + const specifier = this.startNode(); + const firstIdentIsString = this.match(types$1.string); + const firstIdent = this.parseModuleExportName(); + let specifierTypeKind = null; + + if (firstIdent.type === "Identifier") { + if (firstIdent.name === "type") { + specifierTypeKind = "type"; + } else if (firstIdent.name === "typeof") { + specifierTypeKind = "typeof"; } + } - let isBinding = false; + let isBinding = false; - if (this.isContextual("as") && !this.isLookaheadContextual("as")) { - const as_ident = this.parseIdentifier(true); + if (this.isContextual("as") && !this.isLookaheadContextual("as")) { + const as_ident = this.parseIdentifier(true); - if (specifierTypeKind !== null && !this.match(types.name) && !this.state.type.keyword) { - specifier.imported = as_ident; - specifier.importKind = specifierTypeKind; - specifier.local = as_ident.__clone(); - } else { - specifier.imported = firstIdent; - specifier.importKind = null; - specifier.local = this.parseIdentifier(); - } - } else if (specifierTypeKind !== null && (this.match(types.name) || this.state.type.keyword)) { - specifier.imported = this.parseIdentifier(true); + if (specifierTypeKind !== null && !this.match(types$1.name) && !this.state.type.keyword) { + specifier.imported = as_ident; specifier.importKind = specifierTypeKind; - - if (this.eatContextual("as")) { - specifier.local = this.parseIdentifier(); - } else { - isBinding = true; - specifier.local = specifier.imported.__clone(); - } + specifier.local = as_ident.__clone(); } else { - if (firstIdent.type === "StringLiteral") { - throw this.raise(specifier.start, ErrorMessages.ImportBindingIsString, firstIdent.value); - } - - isBinding = true; specifier.imported = firstIdent; specifier.importKind = null; + specifier.local = this.parseIdentifier(); + } + } else if (specifierTypeKind !== null && (this.match(types$1.name) || this.state.type.keyword)) { + specifier.imported = this.parseIdentifier(true); + specifier.importKind = specifierTypeKind; + + if (this.eatContextual("as")) { + specifier.local = this.parseIdentifier(); + } else { + isBinding = true; specifier.local = specifier.imported.__clone(); } + } else { + if (firstIdentIsString) { + throw this.raise(specifier.start, ErrorMessages.ImportBindingIsString, firstIdent.value); + } - const nodeIsTypeImport = hasTypeImportKind(node); - const specifierIsTypeImport = hasTypeImportKind(specifier); + isBinding = true; + specifier.imported = firstIdent; + specifier.importKind = null; + specifier.local = specifier.imported.__clone(); + } - if (nodeIsTypeImport && specifierIsTypeImport) { - this.raise(firstIdentLoc, FlowErrors.ImportTypeShorthandOnlyInPureImport); - } + const nodeIsTypeImport = hasTypeImportKind(node); + const specifierIsTypeImport = hasTypeImportKind(specifier); - if (nodeIsTypeImport || specifierIsTypeImport) { - this.checkReservedType(specifier.local.name, specifier.local.start, true); - } + if (nodeIsTypeImport && specifierIsTypeImport) { + this.raise(specifier.start, FlowErrors.ImportTypeShorthandOnlyInPureImport); + } - if (isBinding && !nodeIsTypeImport && !specifierIsTypeImport) { - this.checkReservedWord(specifier.local.name, specifier.start, true, true); - } + if (nodeIsTypeImport || specifierIsTypeImport) { + this.checkReservedType(specifier.local.name, specifier.local.start, true); + } - this.checkLVal(specifier.local, "import specifier", BIND_LEXICAL); - node.specifiers.push(this.finishNode(specifier, "ImportSpecifier")); + if (isBinding && !nodeIsTypeImport && !specifierIsTypeImport) { + this.checkReservedWord(specifier.local.name, specifier.start, true, true); } - parseFunctionParams(node, allowModifiers) { - const kind = node.kind; + this.checkLVal(specifier.local, "import specifier", BIND_LEXICAL); + node.specifiers.push(this.finishNode(specifier, "ImportSpecifier")); + } - if (kind !== "get" && kind !== "set" && this.isRelational("<")) { - node.typeParameters = this.flowParseTypeParameterDeclaration(); - } + parseBindingAtom() { + switch (this.state.type) { + case types$1._this: + return this.parseIdentifier(true); - super.parseFunctionParams(node, allowModifiers); + default: + return super.parseBindingAtom(); } + } - parseVarId(decl, kind) { - super.parseVarId(decl, kind); + parseFunctionParams(node, allowModifiers) { + const kind = node.kind; - if (this.match(types.colon)) { - decl.id.typeAnnotation = this.flowParseTypeAnnotation(); - this.resetEndLocation(decl.id); - } + if (kind !== "get" && kind !== "set" && this.isRelational("<")) { + node.typeParameters = this.flowParseTypeParameterDeclaration(); } - parseAsyncArrowFromCallExpression(node, call) { - if (this.match(types.colon)) { - const oldNoAnonFunctionType = this.state.noAnonFunctionType; - this.state.noAnonFunctionType = true; - node.returnType = this.flowParseTypeAnnotation(); - this.state.noAnonFunctionType = oldNoAnonFunctionType; - } + super.parseFunctionParams(node, allowModifiers); + } - return super.parseAsyncArrowFromCallExpression(node, call); - } + parseVarId(decl, kind) { + super.parseVarId(decl, kind); - shouldParseAsyncArrow() { - return this.match(types.colon) || super.shouldParseAsyncArrow(); + if (this.match(types$1.colon)) { + decl.id.typeAnnotation = this.flowParseTypeAnnotation(); + this.resetEndLocation(decl.id); } + } - parseMaybeAssign(refExpressionErrors, afterLeftParse, refNeedsArrowPos) { - var _jsx; + parseAsyncArrowFromCallExpression(node, call) { + if (this.match(types$1.colon)) { + const oldNoAnonFunctionType = this.state.noAnonFunctionType; + this.state.noAnonFunctionType = true; + node.returnType = this.flowParseTypeAnnotation(); + this.state.noAnonFunctionType = oldNoAnonFunctionType; + } - let state = null; - let jsx; + return super.parseAsyncArrowFromCallExpression(node, call); + } - if (this.hasPlugin("jsx") && (this.match(types.jsxTagStart) || this.isRelational("<"))) { - state = this.state.clone(); - jsx = this.tryParse(() => super.parseMaybeAssign(refExpressionErrors, afterLeftParse, refNeedsArrowPos), state); - if (!jsx.error) return jsx.node; - const { - context - } = this.state; + shouldParseAsyncArrow() { + return this.match(types$1.colon) || super.shouldParseAsyncArrow(); + } - if (context[context.length - 1] === types$1.j_oTag) { - context.length -= 2; - } else if (context[context.length - 1] === types$1.j_expr) { - context.length -= 1; - } - } + parseMaybeAssign(refExpressionErrors, afterLeftParse, refNeedsArrowPos) { + var _jsx; - if (((_jsx = jsx) == null ? void 0 : _jsx.error) || this.isRelational("<")) { - var _jsx2, _jsx3; + let state = null; + let jsx; - state = state || this.state.clone(); - let typeParameters; - const arrow = this.tryParse(abort => { - var _arrowExpression$extr; + if (this.hasPlugin("jsx") && (this.match(types$1.jsxTagStart) || this.isRelational("<"))) { + state = this.state.clone(); + jsx = this.tryParse(() => super.parseMaybeAssign(refExpressionErrors, afterLeftParse, refNeedsArrowPos), state); + if (!jsx.error) return jsx.node; + const { + context + } = this.state; - typeParameters = this.flowParseTypeParameterDeclaration(); - const arrowExpression = this.forwardNoArrowParamsConversionAt(typeParameters, () => { - const result = super.parseMaybeAssign(refExpressionErrors, afterLeftParse, refNeedsArrowPos); - this.resetStartLocationFromNode(result, typeParameters); - return result; - }); + if (context[context.length - 1] === types.j_oTag) { + context.length -= 2; + } else if (context[context.length - 1] === types.j_expr) { + context.length -= 1; + } + } - if (arrowExpression.type !== "ArrowFunctionExpression" && ((_arrowExpression$extr = arrowExpression.extra) == null ? void 0 : _arrowExpression$extr.parenthesized)) { - abort(); - } + if ((_jsx = jsx) != null && _jsx.error || this.isRelational("<")) { + var _jsx2, _jsx3; - const expr = this.maybeUnwrapTypeCastExpression(arrowExpression); - expr.typeParameters = typeParameters; - this.resetStartLocationFromNode(expr, typeParameters); - return arrowExpression; - }, state); - let arrowExpression = null; - - if (arrow.node && this.maybeUnwrapTypeCastExpression(arrow.node).type === "ArrowFunctionExpression") { - if (!arrow.error && !arrow.aborted) { - if (arrow.node.async) { - this.raise(typeParameters.start, FlowErrors.UnexpectedTypeParameterBeforeAsyncArrowFunction); - } + state = state || this.state.clone(); + let typeParameters; + const arrow = this.tryParse(abort => { + var _arrowExpression$extr; - return arrow.node; - } + typeParameters = this.flowParseTypeParameterDeclaration(); + const arrowExpression = this.forwardNoArrowParamsConversionAt(typeParameters, () => { + const result = super.parseMaybeAssign(refExpressionErrors, afterLeftParse, refNeedsArrowPos); + this.resetStartLocationFromNode(result, typeParameters); + return result; + }); - arrowExpression = arrow.node; + if (arrowExpression.type !== "ArrowFunctionExpression" && (_arrowExpression$extr = arrowExpression.extra) != null && _arrowExpression$extr.parenthesized) { + abort(); } - if ((_jsx2 = jsx) == null ? void 0 : _jsx2.node) { - this.state = jsx.failState; - return jsx.node; - } + const expr = this.maybeUnwrapTypeCastExpression(arrowExpression); + expr.typeParameters = typeParameters; + this.resetStartLocationFromNode(expr, typeParameters); + return arrowExpression; + }, state); + let arrowExpression = null; + + if (arrow.node && this.maybeUnwrapTypeCastExpression(arrow.node).type === "ArrowFunctionExpression") { + if (!arrow.error && !arrow.aborted) { + if (arrow.node.async) { + this.raise(typeParameters.start, FlowErrors.UnexpectedTypeParameterBeforeAsyncArrowFunction); + } - if (arrowExpression) { - this.state = arrow.failState; - return arrowExpression; + return arrow.node; } - if ((_jsx3 = jsx) == null ? void 0 : _jsx3.thrown) throw jsx.error; - if (arrow.thrown) throw arrow.error; - throw this.raise(typeParameters.start, FlowErrors.UnexpectedTokenAfterTypeParameter); + arrowExpression = arrow.node; } - return super.parseMaybeAssign(refExpressionErrors, afterLeftParse, refNeedsArrowPos); - } + if ((_jsx2 = jsx) != null && _jsx2.node) { + this.state = jsx.failState; + return jsx.node; + } - parseArrow(node) { - if (this.match(types.colon)) { - const result = this.tryParse(() => { - const oldNoAnonFunctionType = this.state.noAnonFunctionType; - this.state.noAnonFunctionType = true; - const typeNode = this.startNode(); - [typeNode.typeAnnotation, node.predicate] = this.flowParseTypeAndPredicateInitialiser(); - this.state.noAnonFunctionType = oldNoAnonFunctionType; - if (this.canInsertSemicolon()) this.unexpected(); - if (!this.match(types.arrow)) this.unexpected(); - return typeNode; - }); - if (result.thrown) return null; - if (result.error) this.state = result.failState; - node.returnType = result.node.typeAnnotation ? this.finishNode(result.node, "TypeAnnotation") : null; + if (arrowExpression) { + this.state = arrow.failState; + return arrowExpression; } - return super.parseArrow(node); + if ((_jsx3 = jsx) != null && _jsx3.thrown) throw jsx.error; + if (arrow.thrown) throw arrow.error; + throw this.raise(typeParameters.start, FlowErrors.UnexpectedTokenAfterTypeParameter); } - shouldParseArrow() { - return this.match(types.colon) || super.shouldParseArrow(); - } + return super.parseMaybeAssign(refExpressionErrors, afterLeftParse, refNeedsArrowPos); + } - setArrowFunctionParameters(node, params) { - if (this.state.noArrowParamsConversionAt.indexOf(node.start) !== -1) { - node.params = params; - } else { - super.setArrowFunctionParameters(node, params); - } + parseArrow(node) { + if (this.match(types$1.colon)) { + const result = this.tryParse(() => { + const oldNoAnonFunctionType = this.state.noAnonFunctionType; + this.state.noAnonFunctionType = true; + const typeNode = this.startNode(); + [typeNode.typeAnnotation, node.predicate] = this.flowParseTypeAndPredicateInitialiser(); + this.state.noAnonFunctionType = oldNoAnonFunctionType; + if (this.canInsertSemicolon()) this.unexpected(); + if (!this.match(types$1.arrow)) this.unexpected(); + return typeNode; + }); + if (result.thrown) return null; + if (result.error) this.state = result.failState; + node.returnType = result.node.typeAnnotation ? this.finishNode(result.node, "TypeAnnotation") : null; } - checkParams(node, allowDuplicates, isArrowFunction) { - if (isArrowFunction && this.state.noArrowParamsConversionAt.indexOf(node.start) !== -1) { - return; - } + return super.parseArrow(node); + } - return super.checkParams(...arguments); - } + shouldParseArrow() { + return this.match(types$1.colon) || super.shouldParseArrow(); + } - parseParenAndDistinguishExpression(canBeArrow) { - return super.parseParenAndDistinguishExpression(canBeArrow && this.state.noArrowAt.indexOf(this.state.start) === -1); + setArrowFunctionParameters(node, params) { + if (this.state.noArrowParamsConversionAt.indexOf(node.start) !== -1) { + node.params = params; + } else { + super.setArrowFunctionParameters(node, params); } + } - parseSubscripts(base, startPos, startLoc, noCalls) { - if (base.type === "Identifier" && base.name === "async" && this.state.noArrowAt.indexOf(startPos) !== -1) { - this.next(); - const node = this.startNodeAt(startPos, startLoc); - node.callee = base; - node.arguments = this.parseCallExpressionArguments(types.parenR, false); - base = this.finishNode(node, "CallExpression"); - } else if (base.type === "Identifier" && base.name === "async" && this.isRelational("<")) { - const state = this.state.clone(); - const arrow = this.tryParse(abort => this.parseAsyncArrowWithTypeParameters(startPos, startLoc) || abort(), state); - if (!arrow.error && !arrow.aborted) return arrow.node; - const result = this.tryParse(() => super.parseSubscripts(base, startPos, startLoc, noCalls), state); - if (result.node && !result.error) return result.node; - - if (arrow.node) { - this.state = arrow.failState; - return arrow.node; - } - - if (result.node) { - this.state = result.failState; - return result.node; - } + checkParams(node, allowDuplicates, isArrowFunction) { + if (isArrowFunction && this.state.noArrowParamsConversionAt.indexOf(node.start) !== -1) { + return; + } - throw arrow.error || result.error; + for (let i = 0; i < node.params.length; i++) { + if (this.isThisParam(node.params[i]) && i > 0) { + this.raise(node.params[i].start, FlowErrors.ThisParamMustBeFirst); } - - return super.parseSubscripts(base, startPos, startLoc, noCalls); } - parseSubscript(base, startPos, startLoc, noCalls, subscriptState) { - if (this.match(types.questionDot) && this.isLookaheadToken_lt()) { - subscriptState.optionalChainMember = true; + return super.checkParams(...arguments); + } - if (noCalls) { - subscriptState.stop = true; - return base; - } + parseParenAndDistinguishExpression(canBeArrow) { + return super.parseParenAndDistinguishExpression(canBeArrow && this.state.noArrowAt.indexOf(this.state.start) === -1); + } - this.next(); - const node = this.startNodeAt(startPos, startLoc); - node.callee = base; - node.typeArguments = this.flowParseTypeParameterInstantiation(); - this.expect(types.parenL); - node.arguments = this.parseCallExpressionArguments(types.parenR, false); - node.optional = true; - return this.finishCallExpression(node, true); - } else if (!noCalls && this.shouldParseTypes() && this.isRelational("<")) { - const node = this.startNodeAt(startPos, startLoc); - node.callee = base; - const result = this.tryParse(() => { - node.typeArguments = this.flowParseTypeParameterInstantiationCallOrNew(); - this.expect(types.parenL); - node.arguments = this.parseCallExpressionArguments(types.parenR, false); - if (subscriptState.optionalChainMember) node.optional = false; - return this.finishCallExpression(node, subscriptState.optionalChainMember); - }); + parseSubscripts(base, startPos, startLoc, noCalls) { + if (base.type === "Identifier" && base.name === "async" && this.state.noArrowAt.indexOf(startPos) !== -1) { + this.next(); + const node = this.startNodeAt(startPos, startLoc); + node.callee = base; + node.arguments = this.parseCallExpressionArguments(types$1.parenR, false); + base = this.finishNode(node, "CallExpression"); + } else if (base.type === "Identifier" && base.name === "async" && this.isRelational("<")) { + const state = this.state.clone(); + const arrow = this.tryParse(abort => this.parseAsyncArrowWithTypeParameters(startPos, startLoc) || abort(), state); + if (!arrow.error && !arrow.aborted) return arrow.node; + const result = this.tryParse(() => super.parseSubscripts(base, startPos, startLoc, noCalls), state); + if (result.node && !result.error) return result.node; - if (result.node) { - if (result.error) this.state = result.failState; - return result.node; - } + if (arrow.node) { + this.state = arrow.failState; + return arrow.node; + } + + if (result.node) { + this.state = result.failState; + return result.node; } - return super.parseSubscript(base, startPos, startLoc, noCalls, subscriptState); + throw arrow.error || result.error; } - parseNewArguments(node) { - let targs = null; + return super.parseSubscripts(base, startPos, startLoc, noCalls); + } - if (this.shouldParseTypes() && this.isRelational("<")) { - targs = this.tryParse(() => this.flowParseTypeParameterInstantiationCallOrNew()).node; - } + parseSubscript(base, startPos, startLoc, noCalls, subscriptState) { + if (this.match(types$1.questionDot) && this.isLookaheadToken_lt()) { + subscriptState.optionalChainMember = true; - node.typeArguments = targs; - super.parseNewArguments(node); - } + if (noCalls) { + subscriptState.stop = true; + return base; + } - parseAsyncArrowWithTypeParameters(startPos, startLoc) { + this.next(); + const node = this.startNodeAt(startPos, startLoc); + node.callee = base; + node.typeArguments = this.flowParseTypeParameterInstantiation(); + this.expect(types$1.parenL); + node.arguments = this.parseCallExpressionArguments(types$1.parenR, false); + node.optional = true; + return this.finishCallExpression(node, true); + } else if (!noCalls && this.shouldParseTypes() && this.isRelational("<")) { const node = this.startNodeAt(startPos, startLoc); - this.parseFunctionParams(node); - if (!this.parseArrow(node)) return; - return this.parseArrowExpression(node, undefined, true); + node.callee = base; + const result = this.tryParse(() => { + node.typeArguments = this.flowParseTypeParameterInstantiationCallOrNew(); + this.expect(types$1.parenL); + node.arguments = this.parseCallExpressionArguments(types$1.parenR, false); + if (subscriptState.optionalChainMember) node.optional = false; + return this.finishCallExpression(node, subscriptState.optionalChainMember); + }); + + if (result.node) { + if (result.error) this.state = result.failState; + return result.node; + } } - readToken_mult_modulo(code) { - const next = this.input.charCodeAt(this.state.pos + 1); + return super.parseSubscript(base, startPos, startLoc, noCalls, subscriptState); + } - if (code === 42 && next === 47 && this.state.hasFlowComment) { - this.state.hasFlowComment = false; - this.state.pos += 2; - this.nextToken(); - return; - } + parseNewArguments(node) { + let targs = null; - super.readToken_mult_modulo(code); + if (this.shouldParseTypes() && this.isRelational("<")) { + targs = this.tryParse(() => this.flowParseTypeParameterInstantiationCallOrNew()).node; } - readToken_pipe_amp(code) { - const next = this.input.charCodeAt(this.state.pos + 1); + node.typeArguments = targs; + super.parseNewArguments(node); + } - if (code === 124 && next === 125) { - this.finishOp(types.braceBarR, 2); - return; - } + parseAsyncArrowWithTypeParameters(startPos, startLoc) { + const node = this.startNodeAt(startPos, startLoc); + this.parseFunctionParams(node); + if (!this.parseArrow(node)) return; + return this.parseArrowExpression(node, undefined, true); + } + + readToken_mult_modulo(code) { + const next = this.input.charCodeAt(this.state.pos + 1); - super.readToken_pipe_amp(code); + if (code === 42 && next === 47 && this.state.hasFlowComment) { + this.state.hasFlowComment = false; + this.state.pos += 2; + this.nextToken(); + return; } - parseTopLevel(file, program) { - const fileNode = super.parseTopLevel(file, program); + super.readToken_mult_modulo(code); + } - if (this.state.hasFlowComment) { - this.raise(this.state.pos, FlowErrors.UnterminatedFlowComment); - } + readToken_pipe_amp(code) { + const next = this.input.charCodeAt(this.state.pos + 1); - return fileNode; + if (code === 124 && next === 125) { + this.finishOp(types$1.braceBarR, 2); + return; } - skipBlockComment() { - if (this.hasPlugin("flowComments") && this.skipFlowComment()) { - if (this.state.hasFlowComment) { - this.unexpected(null, FlowErrors.NestedFlowComment); - } + super.readToken_pipe_amp(code); + } - this.hasFlowCommentCompletion(); - this.state.pos += this.skipFlowComment(); - this.state.hasFlowComment = true; - return; - } + parseTopLevel(file, program) { + const fileNode = super.parseTopLevel(file, program); - if (this.state.hasFlowComment) { - const end = this.input.indexOf("*-/", this.state.pos += 2); + if (this.state.hasFlowComment) { + this.raise(this.state.pos, FlowErrors.UnterminatedFlowComment); + } - if (end === -1) { - throw this.raise(this.state.pos - 2, ErrorMessages.UnterminatedComment); - } + return fileNode; + } - this.state.pos = end + 3; - return; + skipBlockComment() { + if (this.hasPlugin("flowComments") && this.skipFlowComment()) { + if (this.state.hasFlowComment) { + this.unexpected(null, FlowErrors.NestedFlowComment); } - super.skipBlockComment(); + this.hasFlowCommentCompletion(); + this.state.pos += this.skipFlowComment(); + this.state.hasFlowComment = true; + return; } - skipFlowComment() { - const { - pos - } = this.state; - let shiftToFirstNonWhiteSpace = 2; + if (this.state.hasFlowComment) { + const end = this.input.indexOf("*-/", this.state.pos += 2); - while ([32, 9].includes(this.input.charCodeAt(pos + shiftToFirstNonWhiteSpace))) { - shiftToFirstNonWhiteSpace++; + if (end === -1) { + throw this.raise(this.state.pos - 2, ErrorMessages.UnterminatedComment); } - const ch2 = this.input.charCodeAt(shiftToFirstNonWhiteSpace + pos); - const ch3 = this.input.charCodeAt(shiftToFirstNonWhiteSpace + pos + 1); - - if (ch2 === 58 && ch3 === 58) { - return shiftToFirstNonWhiteSpace + 2; - } + this.state.pos = end + 3; + return; + } - if (this.input.slice(shiftToFirstNonWhiteSpace + pos, shiftToFirstNonWhiteSpace + pos + 12) === "flow-include") { - return shiftToFirstNonWhiteSpace + 12; - } + super.skipBlockComment(); + } - if (ch2 === 58 && ch3 !== 58) { - return shiftToFirstNonWhiteSpace; - } + skipFlowComment() { + const { + pos + } = this.state; + let shiftToFirstNonWhiteSpace = 2; - return false; + while ([32, 9].includes(this.input.charCodeAt(pos + shiftToFirstNonWhiteSpace))) { + shiftToFirstNonWhiteSpace++; } - hasFlowCommentCompletion() { - const end = this.input.indexOf("*/", this.state.pos); + const ch2 = this.input.charCodeAt(shiftToFirstNonWhiteSpace + pos); + const ch3 = this.input.charCodeAt(shiftToFirstNonWhiteSpace + pos + 1); - if (end === -1) { - throw this.raise(this.state.pos, ErrorMessages.UnterminatedComment); - } + if (ch2 === 58 && ch3 === 58) { + return shiftToFirstNonWhiteSpace + 2; } - flowEnumErrorBooleanMemberNotInitialized(pos, { - enumName, - memberName - }) { - this.raise(pos, FlowErrors.EnumBooleanMemberNotInitialized, memberName, enumName); + if (this.input.slice(shiftToFirstNonWhiteSpace + pos, shiftToFirstNonWhiteSpace + pos + 12) === "flow-include") { + return shiftToFirstNonWhiteSpace + 12; } - flowEnumErrorInvalidMemberName(pos, { - enumName, - memberName - }) { - const suggestion = memberName[0].toUpperCase() + memberName.slice(1); - this.raise(pos, FlowErrors.EnumInvalidMemberName, memberName, suggestion, enumName); + if (ch2 === 58 && ch3 !== 58) { + return shiftToFirstNonWhiteSpace; } - flowEnumErrorDuplicateMemberName(pos, { - enumName, - memberName - }) { - this.raise(pos, FlowErrors.EnumDuplicateMemberName, memberName, enumName); - } + return false; + } - flowEnumErrorInconsistentMemberValues(pos, { - enumName - }) { - this.raise(pos, FlowErrors.EnumInconsistentMemberValues, enumName); - } + hasFlowCommentCompletion() { + const end = this.input.indexOf("*/", this.state.pos); - flowEnumErrorInvalidExplicitType(pos, { - enumName, - suppliedType - }) { - return this.raise(pos, suppliedType === null ? FlowErrors.EnumInvalidExplicitTypeUnknownSupplied : FlowErrors.EnumInvalidExplicitType, enumName, suppliedType); + if (end === -1) { + throw this.raise(this.state.pos, ErrorMessages.UnterminatedComment); } + } - flowEnumErrorInvalidMemberInitializer(pos, { - enumName, - explicitType, - memberName - }) { - let message = null; + flowEnumErrorBooleanMemberNotInitialized(pos, { + enumName, + memberName + }) { + this.raise(pos, FlowErrors.EnumBooleanMemberNotInitialized, memberName, enumName); + } - switch (explicitType) { - case "boolean": - case "number": - case "string": - message = FlowErrors.EnumInvalidMemberInitializerPrimaryType; - break; + flowEnumErrorInvalidMemberName(pos, { + enumName, + memberName + }) { + const suggestion = memberName[0].toUpperCase() + memberName.slice(1); + this.raise(pos, FlowErrors.EnumInvalidMemberName, memberName, suggestion, enumName); + } - case "symbol": - message = FlowErrors.EnumInvalidMemberInitializerSymbolType; - break; + flowEnumErrorDuplicateMemberName(pos, { + enumName, + memberName + }) { + this.raise(pos, FlowErrors.EnumDuplicateMemberName, memberName, enumName); + } - default: - message = FlowErrors.EnumInvalidMemberInitializerUnknownType; - } + flowEnumErrorInconsistentMemberValues(pos, { + enumName + }) { + this.raise(pos, FlowErrors.EnumInconsistentMemberValues, enumName); + } - return this.raise(pos, message, enumName, memberName, explicitType); - } + flowEnumErrorInvalidExplicitType(pos, { + enumName, + suppliedType + }) { + return this.raise(pos, suppliedType === null ? FlowErrors.EnumInvalidExplicitTypeUnknownSupplied : FlowErrors.EnumInvalidExplicitType, enumName, suppliedType); + } - flowEnumErrorNumberMemberNotInitialized(pos, { - enumName, - memberName - }) { - this.raise(pos, FlowErrors.EnumNumberMemberNotInitialized, enumName, memberName); - } + flowEnumErrorInvalidMemberInitializer(pos, { + enumName, + explicitType, + memberName + }) { + let message = null; - flowEnumErrorStringMemberInconsistentlyInitailized(pos, { - enumName - }) { - this.raise(pos, FlowErrors.EnumStringMemberInconsistentlyInitailized, enumName); + switch (explicitType) { + case "boolean": + case "number": + case "string": + message = FlowErrors.EnumInvalidMemberInitializerPrimaryType; + break; + + case "symbol": + message = FlowErrors.EnumInvalidMemberInitializerSymbolType; + break; + + default: + message = FlowErrors.EnumInvalidMemberInitializerUnknownType; } - flowEnumMemberInit() { - const startPos = this.state.start; + return this.raise(pos, message, enumName, memberName, explicitType); + } - const endOfInit = () => this.match(types.comma) || this.match(types.braceR); + flowEnumErrorNumberMemberNotInitialized(pos, { + enumName, + memberName + }) { + this.raise(pos, FlowErrors.EnumNumberMemberNotInitialized, enumName, memberName); + } - switch (this.state.type) { - case types.num: - { - const literal = this.parseLiteral(this.state.value, "NumericLiteral"); - - if (endOfInit()) { - return { - type: "number", - pos: literal.start, - value: literal - }; - } + flowEnumErrorStringMemberInconsistentlyInitailized(pos, { + enumName + }) { + this.raise(pos, FlowErrors.EnumStringMemberInconsistentlyInitailized, enumName); + } + + flowEnumMemberInit() { + const startPos = this.state.start; + + const endOfInit = () => this.match(types$1.comma) || this.match(types$1.braceR); + + switch (this.state.type) { + case types$1.num: + { + const literal = this.parseNumericLiteral(this.state.value); + if (endOfInit()) { return { - type: "invalid", - pos: startPos + type: "number", + pos: literal.start, + value: literal }; } - case types.string: - { - const literal = this.parseLiteral(this.state.value, "StringLiteral"); - - if (endOfInit()) { - return { - type: "string", - pos: literal.start, - value: literal - }; - } + return { + type: "invalid", + pos: startPos + }; + } + + case types$1.string: + { + const literal = this.parseStringLiteral(this.state.value); + if (endOfInit()) { return { - type: "invalid", - pos: startPos + type: "string", + pos: literal.start, + value: literal }; } - case types._true: - case types._false: - { - const literal = this.parseBooleanLiteral(); - - if (endOfInit()) { - return { - type: "boolean", - pos: literal.start, - value: literal - }; - } + return { + type: "invalid", + pos: startPos + }; + } + case types$1._true: + case types$1._false: + { + const literal = this.parseBooleanLiteral(this.match(types$1._true)); + + if (endOfInit()) { return { - type: "invalid", - pos: startPos + type: "boolean", + pos: literal.start, + value: literal }; } - default: return { type: "invalid", pos: startPos }; - } - } + } - flowEnumMemberRaw() { - const pos = this.state.start; - const id = this.parseIdentifier(true); - const init = this.eat(types.eq) ? this.flowEnumMemberInit() : { - type: "none", - pos - }; - return { - id, - init - }; + default: + return { + type: "invalid", + pos: startPos + }; } + } - flowEnumCheckExplicitTypeMismatch(pos, context, expectedType) { - const { - explicitType - } = context; + flowEnumMemberRaw() { + const pos = this.state.start; + const id = this.parseIdentifier(true); + const init = this.eat(types$1.eq) ? this.flowEnumMemberInit() : { + type: "none", + pos + }; + return { + id, + init + }; + } - if (explicitType === null) { - return; - } + flowEnumCheckExplicitTypeMismatch(pos, context, expectedType) { + const { + explicitType + } = context; - if (explicitType !== expectedType) { - this.flowEnumErrorInvalidMemberInitializer(pos, context); - } + if (explicitType === null) { + return; } - flowEnumMembers({ - enumName, - explicitType - }) { - const seenNames = new Set(); - const members = { - booleanMembers: [], - numberMembers: [], - stringMembers: [], - defaultedMembers: [] - }; + if (explicitType !== expectedType) { + this.flowEnumErrorInvalidMemberInitializer(pos, context); + } + } - while (!this.match(types.braceR)) { - const memberNode = this.startNode(); - const { - id, - init - } = this.flowEnumMemberRaw(); - const memberName = id.name; + flowEnumMembers({ + enumName, + explicitType + }) { + const seenNames = new Set(); + const members = { + booleanMembers: [], + numberMembers: [], + stringMembers: [], + defaultedMembers: [] + }; + let hasUnknownMembers = false; - if (memberName === "") { - continue; - } + while (!this.match(types$1.braceR)) { + if (this.eat(types$1.ellipsis)) { + hasUnknownMembers = true; + break; + } - if (/^[a-z]/.test(memberName)) { - this.flowEnumErrorInvalidMemberName(id.start, { - enumName, - memberName - }); - } + const memberNode = this.startNode(); + const { + id, + init + } = this.flowEnumMemberRaw(); + const memberName = id.name; - if (seenNames.has(memberName)) { - this.flowEnumErrorDuplicateMemberName(id.start, { - enumName, - memberName - }); - } + if (memberName === "") { + continue; + } - seenNames.add(memberName); - const context = { + if (/^[a-z]/.test(memberName)) { + this.flowEnumErrorInvalidMemberName(id.start, { enumName, - explicitType, memberName - }; - memberNode.id = id; + }); + } - switch (init.type) { - case "boolean": - { - this.flowEnumCheckExplicitTypeMismatch(init.pos, context, "boolean"); - memberNode.init = init.value; - members.booleanMembers.push(this.finishNode(memberNode, "EnumBooleanMember")); - break; - } + if (seenNames.has(memberName)) { + this.flowEnumErrorDuplicateMemberName(id.start, { + enumName, + memberName + }); + } - case "number": - { - this.flowEnumCheckExplicitTypeMismatch(init.pos, context, "number"); - memberNode.init = init.value; - members.numberMembers.push(this.finishNode(memberNode, "EnumNumberMember")); - break; - } + seenNames.add(memberName); + const context = { + enumName, + explicitType, + memberName + }; + memberNode.id = id; - case "string": - { - this.flowEnumCheckExplicitTypeMismatch(init.pos, context, "string"); - memberNode.init = init.value; - members.stringMembers.push(this.finishNode(memberNode, "EnumStringMember")); - break; - } + switch (init.type) { + case "boolean": + { + this.flowEnumCheckExplicitTypeMismatch(init.pos, context, "boolean"); + memberNode.init = init.value; + members.booleanMembers.push(this.finishNode(memberNode, "EnumBooleanMember")); + break; + } - case "invalid": - { - throw this.flowEnumErrorInvalidMemberInitializer(init.pos, context); - } + case "number": + { + this.flowEnumCheckExplicitTypeMismatch(init.pos, context, "number"); + memberNode.init = init.value; + members.numberMembers.push(this.finishNode(memberNode, "EnumNumberMember")); + break; + } - case "none": - { - switch (explicitType) { - case "boolean": - this.flowEnumErrorBooleanMemberNotInitialized(init.pos, context); - break; + case "string": + { + this.flowEnumCheckExplicitTypeMismatch(init.pos, context, "string"); + memberNode.init = init.value; + members.stringMembers.push(this.finishNode(memberNode, "EnumStringMember")); + break; + } - case "number": - this.flowEnumErrorNumberMemberNotInitialized(init.pos, context); - break; + case "invalid": + { + throw this.flowEnumErrorInvalidMemberInitializer(init.pos, context); + } - default: - members.defaultedMembers.push(this.finishNode(memberNode, "EnumDefaultedMember")); - } - } - } + case "none": + { + switch (explicitType) { + case "boolean": + this.flowEnumErrorBooleanMemberNotInitialized(init.pos, context); + break; - if (!this.match(types.braceR)) { - this.expect(types.comma); - } + case "number": + this.flowEnumErrorNumberMemberNotInitialized(init.pos, context); + break; + + default: + members.defaultedMembers.push(this.finishNode(memberNode, "EnumDefaultedMember")); + } + } } - return members; + if (!this.match(types$1.braceR)) { + this.expect(types$1.comma); + } } - flowEnumStringMembers(initializedMembers, defaultedMembers, { - enumName - }) { - if (initializedMembers.length === 0) { - return defaultedMembers; - } else if (defaultedMembers.length === 0) { - return initializedMembers; - } else if (defaultedMembers.length > initializedMembers.length) { - for (let _i = 0; _i < initializedMembers.length; _i++) { - const member = initializedMembers[_i]; - this.flowEnumErrorStringMemberInconsistentlyInitailized(member.start, { - enumName - }); - } + return { + members, + hasUnknownMembers + }; + } - return defaultedMembers; - } else { - for (let _i2 = 0; _i2 < defaultedMembers.length; _i2++) { - const member = defaultedMembers[_i2]; - this.flowEnumErrorStringMemberInconsistentlyInitailized(member.start, { - enumName - }); - } + flowEnumStringMembers(initializedMembers, defaultedMembers, { + enumName + }) { + if (initializedMembers.length === 0) { + return defaultedMembers; + } else if (defaultedMembers.length === 0) { + return initializedMembers; + } else if (defaultedMembers.length > initializedMembers.length) { + for (const member of initializedMembers) { + this.flowEnumErrorStringMemberInconsistentlyInitailized(member.start, { + enumName + }); + } - return initializedMembers; + return defaultedMembers; + } else { + for (const member of defaultedMembers) { + this.flowEnumErrorStringMemberInconsistentlyInitailized(member.start, { + enumName + }); } - } - flowEnumParseExplicitType({ - enumName - }) { - if (this.eatContextual("of")) { - if (!this.match(types.name)) { - throw this.flowEnumErrorInvalidExplicitType(this.state.start, { - enumName, - suppliedType: null - }); - } + return initializedMembers; + } + } - const { - value - } = this.state; - this.next(); + flowEnumParseExplicitType({ + enumName + }) { + if (this.eatContextual("of")) { + if (!this.match(types$1.name)) { + throw this.flowEnumErrorInvalidExplicitType(this.state.start, { + enumName, + suppliedType: null + }); + } - if (value !== "boolean" && value !== "number" && value !== "string" && value !== "symbol") { - this.flowEnumErrorInvalidExplicitType(this.state.start, { - enumName, - suppliedType: value - }); - } + const { + value + } = this.state; + this.next(); - return value; + if (value !== "boolean" && value !== "number" && value !== "string" && value !== "symbol") { + this.flowEnumErrorInvalidExplicitType(this.state.start, { + enumName, + suppliedType: value + }); } - return null; + return value; } - flowEnumBody(node, { - enumName, - nameLoc - }) { - const explicitType = this.flowEnumParseExplicitType({ - enumName - }); - this.expect(types.braceL); - const members = this.flowEnumMembers({ - enumName, - explicitType - }); - - switch (explicitType) { - case "boolean": - node.explicitType = true; - node.members = members.booleanMembers; - this.expect(types.braceR); - return this.finishNode(node, "EnumBooleanBody"); - - case "number": - node.explicitType = true; - node.members = members.numberMembers; - this.expect(types.braceR); - return this.finishNode(node, "EnumNumberBody"); + return null; + } - case "string": - node.explicitType = true; - node.members = this.flowEnumStringMembers(members.stringMembers, members.defaultedMembers, { - enumName - }); - this.expect(types.braceR); - return this.finishNode(node, "EnumStringBody"); + flowEnumBody(node, { + enumName, + nameLoc + }) { + const explicitType = this.flowEnumParseExplicitType({ + enumName + }); + this.expect(types$1.braceL); + const { + members, + hasUnknownMembers + } = this.flowEnumMembers({ + enumName, + explicitType + }); + node.hasUnknownMembers = hasUnknownMembers; + + switch (explicitType) { + case "boolean": + node.explicitType = true; + node.members = members.booleanMembers; + this.expect(types$1.braceR); + return this.finishNode(node, "EnumBooleanBody"); + + case "number": + node.explicitType = true; + node.members = members.numberMembers; + this.expect(types$1.braceR); + return this.finishNode(node, "EnumNumberBody"); + + case "string": + node.explicitType = true; + node.members = this.flowEnumStringMembers(members.stringMembers, members.defaultedMembers, { + enumName + }); + this.expect(types$1.braceR); + return this.finishNode(node, "EnumStringBody"); - case "symbol": - node.members = members.defaultedMembers; - this.expect(types.braceR); - return this.finishNode(node, "EnumSymbolBody"); + case "symbol": + node.members = members.defaultedMembers; + this.expect(types$1.braceR); + return this.finishNode(node, "EnumSymbolBody"); - default: - { - const empty = () => { - node.members = []; - this.expect(types.braceR); - return this.finishNode(node, "EnumStringBody"); - }; + default: + { + const empty = () => { + node.members = []; + this.expect(types$1.braceR); + return this.finishNode(node, "EnumStringBody"); + }; - node.explicitType = false; - const boolsLen = members.booleanMembers.length; - const numsLen = members.numberMembers.length; - const strsLen = members.stringMembers.length; - const defaultedLen = members.defaultedMembers.length; - - if (!boolsLen && !numsLen && !strsLen && !defaultedLen) { - return empty(); - } else if (!boolsLen && !numsLen) { - node.members = this.flowEnumStringMembers(members.stringMembers, members.defaultedMembers, { - enumName + node.explicitType = false; + const boolsLen = members.booleanMembers.length; + const numsLen = members.numberMembers.length; + const strsLen = members.stringMembers.length; + const defaultedLen = members.defaultedMembers.length; + + if (!boolsLen && !numsLen && !strsLen && !defaultedLen) { + return empty(); + } else if (!boolsLen && !numsLen) { + node.members = this.flowEnumStringMembers(members.stringMembers, members.defaultedMembers, { + enumName + }); + this.expect(types$1.braceR); + return this.finishNode(node, "EnumStringBody"); + } else if (!numsLen && !strsLen && boolsLen >= defaultedLen) { + for (const member of members.defaultedMembers) { + this.flowEnumErrorBooleanMemberNotInitialized(member.start, { + enumName, + memberName: member.id.name }); - this.expect(types.braceR); - return this.finishNode(node, "EnumStringBody"); - } else if (!numsLen && !strsLen && boolsLen >= defaultedLen) { - for (let _i3 = 0, _members$defaultedMem = members.defaultedMembers; _i3 < _members$defaultedMem.length; _i3++) { - const member = _members$defaultedMem[_i3]; - this.flowEnumErrorBooleanMemberNotInitialized(member.start, { - enumName, - memberName: member.id.name - }); - } - - node.members = members.booleanMembers; - this.expect(types.braceR); - return this.finishNode(node, "EnumBooleanBody"); - } else if (!boolsLen && !strsLen && numsLen >= defaultedLen) { - for (let _i4 = 0, _members$defaultedMem2 = members.defaultedMembers; _i4 < _members$defaultedMem2.length; _i4++) { - const member = _members$defaultedMem2[_i4]; - this.flowEnumErrorNumberMemberNotInitialized(member.start, { - enumName, - memberName: member.id.name - }); - } + } - node.members = members.numberMembers; - this.expect(types.braceR); - return this.finishNode(node, "EnumNumberBody"); - } else { - this.flowEnumErrorInconsistentMemberValues(nameLoc, { - enumName + node.members = members.booleanMembers; + this.expect(types$1.braceR); + return this.finishNode(node, "EnumBooleanBody"); + } else if (!boolsLen && !strsLen && numsLen >= defaultedLen) { + for (const member of members.defaultedMembers) { + this.flowEnumErrorNumberMemberNotInitialized(member.start, { + enumName, + memberName: member.id.name }); - return empty(); } - } - } - } - - flowParseEnumDeclaration(node) { - const id = this.parseIdentifier(); - node.id = id; - node.body = this.flowEnumBody(this.startNode(), { - enumName: id.name, - nameLoc: id.start - }); - return this.finishNode(node, "EnumDeclaration"); - } - updateContext(prevType) { - if (this.match(types.name) && this.state.value === "of" && prevType === types.name && this.input.slice(this.state.lastTokStart, this.state.lastTokEnd) === "interface") { - this.state.exprAllowed = false; - } else { - super.updateContext(prevType); - } + node.members = members.numberMembers; + this.expect(types$1.braceR); + return this.finishNode(node, "EnumNumberBody"); + } else { + this.flowEnumErrorInconsistentMemberValues(nameLoc, { + enumName + }); + return empty(); + } + } } + } - isLookaheadToken_lt() { - const next = this.nextTokenStart(); + flowParseEnumDeclaration(node) { + const id = this.parseIdentifier(); + node.id = id; + node.body = this.flowEnumBody(this.startNode(), { + enumName: id.name, + nameLoc: id.start + }); + return this.finishNode(node, "EnumDeclaration"); + } - if (this.input.charCodeAt(next) === 60) { - const afterNext = this.input.charCodeAt(next + 1); - return afterNext !== 60 && afterNext !== 61; - } + isLookaheadToken_lt() { + const next = this.nextTokenStart(); - return false; + if (this.input.charCodeAt(next) === 60) { + const afterNext = this.input.charCodeAt(next + 1); + return afterNext !== 60 && afterNext !== 61; } - maybeUnwrapTypeCastExpression(node) { - return node.type === "TypeCastExpression" ? node.expression : node; - } + return false; + } + + maybeUnwrapTypeCastExpression(node) { + return node.type === "TypeCastExpression" ? node.expression : node; + } - }, _temp; }); const entities = { @@ -4319,44 +4732,110 @@ const entities = { diams: "\u2666" }; +class State { + constructor() { + this.strict = void 0; + this.curLine = void 0; + this.startLoc = void 0; + this.endLoc = void 0; + this.errors = []; + this.potentialArrowAt = -1; + this.noArrowAt = []; + this.noArrowParamsConversionAt = []; + this.maybeInArrowParameters = false; + this.inPipeline = false; + this.inType = false; + this.noAnonFunctionType = false; + this.inPropertyName = false; + this.hasFlowComment = false; + this.isAmbientContext = false; + this.inAbstractClass = false; + this.topicContext = { + maxNumOfResolvableTopics: 0, + maxTopicIndex: null + }; + this.soloAwait = false; + this.inFSharpPipelineDirectBody = false; + this.labels = []; + this.decoratorStack = [[]]; + this.comments = []; + this.trailingComments = []; + this.leadingComments = []; + this.commentStack = []; + this.commentPreviousNode = null; + this.pos = 0; + this.lineStart = 0; + this.type = types$1.eof; + this.value = null; + this.start = 0; + this.end = 0; + this.lastTokEndLoc = null; + this.lastTokStartLoc = null; + this.lastTokStart = 0; + this.lastTokEnd = 0; + this.context = [types.brace]; + this.exprAllowed = true; + this.containsEsc = false; + this.strictErrors = new Map(); + this.tokensLength = 0; + } + + init(options) { + this.strict = options.strictMode === false ? false : options.sourceType === "module"; + this.curLine = options.startLine; + this.startLoc = this.endLoc = this.curPosition(); + } + + curPosition() { + return new Position(this.curLine, this.pos - this.lineStart); + } + + clone(skipArrays) { + const state = new State(); + const keys = Object.keys(this); + + for (let i = 0, length = keys.length; i < length; i++) { + const key = keys[i]; + let val = this[key]; + + if (!skipArrays && Array.isArray(val)) { + val = val.slice(); + } + + state[key] = val; + } + + return state; + } + +} + const HEX_NUMBER = /^[\da-fA-F]+$/; const DECIMAL_NUMBER = /^\d+$/; -const JsxErrors = Object.freeze({ - AttributeIsEmpty: "JSX attributes must only be assigned a non-empty expression", - MissingClosingTagFragment: "Expected corresponding JSX closing tag for <>", - MissingClosingTagElement: "Expected corresponding JSX closing tag for <%0>", +const JsxErrors = makeErrorTemplates({ + AttributeIsEmpty: "JSX attributes must only be assigned a non-empty expression.", + MissingClosingTagElement: "Expected corresponding JSX closing tag for <%0>.", + MissingClosingTagFragment: "Expected corresponding JSX closing tag for <>.", UnexpectedSequenceExpression: "Sequence expressions cannot be directly nested inside JSX. Did you mean to wrap it in parentheses (...)?", - UnsupportedJsxValue: "JSX value should be either an expression or a quoted JSX text", - UnterminatedJsxContent: "Unterminated JSX contents", + UnsupportedJsxValue: "JSX value should be either an expression or a quoted JSX text.", + UnterminatedJsxContent: "Unterminated JSX contents.", UnwrappedAdjacentJSXElements: "Adjacent JSX elements must be wrapped in an enclosing tag. Did you want a JSX fragment <>...?" -}); -types$1.j_oTag = new TokContext("...
    ", true, true); -types.jsxName = new TokenType("jsxName"); -types.jsxText = new TokenType("jsxText", { +}, ErrorCodes.SyntaxError); +types.j_oTag = new TokContext("...
    ", true); +types$1.jsxName = new TokenType("jsxName"); +types$1.jsxText = new TokenType("jsxText", { beforeExpr: true }); -types.jsxTagStart = new TokenType("jsxTagStart", { +types$1.jsxTagStart = new TokenType("jsxTagStart", { startsExpr: true }); -types.jsxTagEnd = new TokenType("jsxTagEnd"); +types$1.jsxTagEnd = new TokenType("jsxTagEnd"); -types.jsxTagStart.updateContext = function () { - this.state.context.push(types$1.j_expr); - this.state.context.push(types$1.j_oTag); - this.state.exprAllowed = false; -}; - -types.jsxTagEnd.updateContext = function (prevType) { - const out = this.state.context.pop(); - - if (out === types$1.j_oTag && prevType === types.slash || out === types$1.j_cTag) { - this.state.context.pop(); - this.state.exprAllowed = this.curContext() === types$1.j_expr; - } else { - this.state.exprAllowed = true; - } +types$1.jsxTagStart.updateContext = context => { + context.push(types.j_expr); + context.push(types.j_oTag); }; function isFragment(object) { @@ -4397,14 +4876,14 @@ var jsx = (superClass => class extends superClass { if (this.state.pos === this.state.start) { if (ch === 60 && this.state.exprAllowed) { ++this.state.pos; - return this.finishToken(types.jsxTagStart); + return this.finishToken(types$1.jsxTagStart); } return super.getTokenFromCode(ch); } out += this.input.slice(chunkStart, this.state.pos); - return this.finishToken(types.jsxText, out); + return this.finishToken(types$1.jsxText, out); case 38: out += this.input.slice(chunkStart, this.state.pos); @@ -4412,6 +4891,9 @@ var jsx = (superClass => class extends superClass { chunkStart = this.state.pos; break; + case 62: + case 125: + default: if (isNewLine(ch)) { out += this.input.slice(chunkStart, this.state.pos); @@ -4468,7 +4950,7 @@ var jsx = (superClass => class extends superClass { } out += this.input.slice(chunkStart, this.state.pos++); - return this.finishToken(types.string, out); + return this.finishToken(types$1.string, out); } jsxReadEntity() { @@ -4522,13 +5004,13 @@ var jsx = (superClass => class extends superClass { ch = this.input.charCodeAt(++this.state.pos); } while (isIdentifierChar(ch) || ch === 45); - return this.finishToken(types.jsxName, this.input.slice(start, this.state.pos)); + return this.finishToken(types$1.jsxName, this.input.slice(start, this.state.pos)); } jsxParseIdentifier() { const node = this.startNode(); - if (this.match(types.jsxName)) { + if (this.match(types$1.jsxName)) { node.name = this.state.value; } else if (this.state.type.keyword) { node.name = this.state.type.keyword; @@ -4544,7 +5026,7 @@ var jsx = (superClass => class extends superClass { const startPos = this.state.start; const startLoc = this.state.startLoc; const name = this.jsxParseIdentifier(); - if (!this.eat(types.colon)) return name; + if (!this.eat(types$1.colon)) return name; const node = this.startNodeAt(startPos, startLoc); node.namespace = name; node.name = this.jsxParseIdentifier(); @@ -4560,7 +5042,7 @@ var jsx = (superClass => class extends superClass { return node; } - while (this.eat(types.dot)) { + while (this.eat(types$1.dot)) { const newNode = this.startNodeAt(startPos, startLoc); newNode.object = node; newNode.property = this.jsxParseIdentifier(); @@ -4574,7 +5056,7 @@ var jsx = (superClass => class extends superClass { let node; switch (this.state.type) { - case types.braceL: + case types$1.braceL: node = this.startNode(); this.next(); node = this.jsxParseExpressionContainer(node); @@ -4585,8 +5067,8 @@ var jsx = (superClass => class extends superClass { return node; - case types.jsxTagStart: - case types.string: + case types$1.jsxTagStart: + case types$1.string: return this.parseExprAtom(); default: @@ -4602,42 +5084,42 @@ var jsx = (superClass => class extends superClass { jsxParseSpreadChild(node) { this.next(); node.expression = this.parseExpression(); - this.expect(types.braceR); + this.expect(types$1.braceR); return this.finishNode(node, "JSXSpreadChild"); } jsxParseExpressionContainer(node) { - if (this.match(types.braceR)) { + if (this.match(types$1.braceR)) { node.expression = this.jsxParseEmptyExpression(); } else { const expression = this.parseExpression(); node.expression = expression; } - this.expect(types.braceR); + this.expect(types$1.braceR); return this.finishNode(node, "JSXExpressionContainer"); } jsxParseAttribute() { const node = this.startNode(); - if (this.eat(types.braceL)) { - this.expect(types.ellipsis); + if (this.eat(types$1.braceL)) { + this.expect(types$1.ellipsis); node.argument = this.parseMaybeAssignAllowIn(); - this.expect(types.braceR); + this.expect(types$1.braceR); return this.finishNode(node, "JSXSpreadAttribute"); } node.name = this.jsxParseNamespacedName(); - node.value = this.eat(types.eq) ? this.jsxParseAttributeValue() : null; + node.value = this.eat(types$1.eq) ? this.jsxParseAttributeValue() : null; return this.finishNode(node, "JSXAttribute"); } jsxParseOpeningElementAt(startPos, startLoc) { const node = this.startNodeAt(startPos, startLoc); - if (this.match(types.jsxTagEnd)) { - this.expect(types.jsxTagEnd); + if (this.match(types$1.jsxTagEnd)) { + this.expect(types$1.jsxTagEnd); return this.finishNode(node, "JSXOpeningFragment"); } @@ -4648,26 +5130,26 @@ var jsx = (superClass => class extends superClass { jsxParseOpeningElementAfterName(node) { const attributes = []; - while (!this.match(types.slash) && !this.match(types.jsxTagEnd)) { + while (!this.match(types$1.slash) && !this.match(types$1.jsxTagEnd)) { attributes.push(this.jsxParseAttribute()); } node.attributes = attributes; - node.selfClosing = this.eat(types.slash); - this.expect(types.jsxTagEnd); + node.selfClosing = this.eat(types$1.slash); + this.expect(types$1.jsxTagEnd); return this.finishNode(node, "JSXOpeningElement"); } jsxParseClosingElementAt(startPos, startLoc) { const node = this.startNodeAt(startPos, startLoc); - if (this.match(types.jsxTagEnd)) { - this.expect(types.jsxTagEnd); + if (this.match(types$1.jsxTagEnd)) { + this.expect(types$1.jsxTagEnd); return this.finishNode(node, "JSXClosingFragment"); } node.name = this.jsxParseElementName(); - this.expect(types.jsxTagEnd); + this.expect(types$1.jsxTagEnd); return this.finishNode(node, "JSXClosingElement"); } @@ -4680,12 +5162,12 @@ var jsx = (superClass => class extends superClass { if (!openingElement.selfClosing) { contents: for (;;) { switch (this.state.type) { - case types.jsxTagStart: + case types$1.jsxTagStart: startPos = this.state.start; startLoc = this.state.startLoc; this.next(); - if (this.eat(types.slash)) { + if (this.eat(types$1.slash)) { closingElement = this.jsxParseClosingElementAt(startPos, startLoc); break contents; } @@ -4693,16 +5175,16 @@ var jsx = (superClass => class extends superClass { children.push(this.jsxParseElementAt(startPos, startLoc)); break; - case types.jsxText: + case types$1.jsxText: children.push(this.parseExprAtom()); break; - case types.braceL: + case types$1.braceL: { const node = this.startNode(); this.next(); - if (this.match(types.ellipsis)) { + if (this.match(types$1.ellipsis)) { children.push(this.jsxParseSpreadChild(node)); } else { children.push(this.jsxParseExpressionContainer(node)); @@ -4752,228 +5234,102 @@ var jsx = (superClass => class extends superClass { } parseExprAtom(refExpressionErrors) { - if (this.match(types.jsxText)) { + if (this.match(types$1.jsxText)) { return this.parseLiteral(this.state.value, "JSXText"); - } else if (this.match(types.jsxTagStart)) { + } else if (this.match(types$1.jsxTagStart)) { return this.jsxParseElement(); } else if (this.isRelational("<") && this.input.charCodeAt(this.state.pos) !== 33) { - this.finishToken(types.jsxTagStart); + this.finishToken(types$1.jsxTagStart); return this.jsxParseElement(); } else { return super.parseExprAtom(refExpressionErrors); } } + createLookaheadState(state) { + const lookaheadState = super.createLookaheadState(state); + lookaheadState.inPropertyName = state.inPropertyName; + return lookaheadState; + } + getTokenFromCode(code) { if (this.state.inPropertyName) return super.getTokenFromCode(code); const context = this.curContext(); - if (context === types$1.j_expr) { + if (context === types.j_expr) { return this.jsxReadToken(); } - if (context === types$1.j_oTag || context === types$1.j_cTag) { + if (context === types.j_oTag || context === types.j_cTag) { if (isIdentifierStart(code)) { return this.jsxReadWord(); } if (code === 62) { ++this.state.pos; - return this.finishToken(types.jsxTagEnd); + return this.finishToken(types$1.jsxTagEnd); } - if ((code === 34 || code === 39) && context === types$1.j_oTag) { + if ((code === 34 || code === 39) && context === types.j_oTag) { return this.jsxReadString(code); } } if (code === 60 && this.state.exprAllowed && this.input.charCodeAt(this.state.pos + 1) !== 33) { ++this.state.pos; - return this.finishToken(types.jsxTagStart); + return this.finishToken(types$1.jsxTagStart); } return super.getTokenFromCode(code); } updateContext(prevType) { - if (this.match(types.braceL)) { - const curContext = this.curContext(); + super.updateContext(prevType); + const { + context, + type + } = this.state; - if (curContext === types$1.j_oTag) { - this.state.context.push(types$1.braceExpression); - } else if (curContext === types$1.j_expr) { - this.state.context.push(types$1.templateQuasi); - } else { - super.updateContext(prevType); + if (type === types$1.braceL) { + const curContext = context[context.length - 1]; + + if (curContext === types.j_oTag) { + context.push(types.brace); + } else if (curContext === types.j_expr) { + context.push(types.templateQuasi); } this.state.exprAllowed = true; - } else if (this.match(types.slash) && prevType === types.jsxTagStart) { - this.state.context.length -= 2; - this.state.context.push(types$1.j_cTag); + } else if (type === types$1.slash && prevType === types$1.jsxTagStart) { + context.length -= 2; + context.push(types.j_cTag); this.state.exprAllowed = false; - } else { - return super.updateContext(prevType); - } - } - -}); - -class Scope { - constructor(flags) { - this.flags = void 0; - this.var = []; - this.lexical = []; - this.functions = []; - this.flags = flags; - } - -} -class ScopeHandler { - constructor(raise, inModule) { - this.scopeStack = []; - this.undefinedExports = new Map(); - this.undefinedPrivateNames = new Map(); - this.raise = raise; - this.inModule = inModule; - } - - get inFunction() { - return (this.currentVarScope().flags & SCOPE_FUNCTION) > 0; - } - - get allowSuper() { - return (this.currentThisScope().flags & SCOPE_SUPER) > 0; - } - - get allowDirectSuper() { - return (this.currentThisScope().flags & SCOPE_DIRECT_SUPER) > 0; - } - - get inClass() { - return (this.currentThisScope().flags & SCOPE_CLASS) > 0; - } - - get inNonArrowFunction() { - return (this.currentThisScope().flags & SCOPE_FUNCTION) > 0; - } - - get treatFunctionsAsVar() { - return this.treatFunctionsAsVarInScope(this.currentScope()); - } - - createScope(flags) { - return new Scope(flags); - } + } else if (type === types$1.jsxTagEnd) { + const out = context.pop(); - enter(flags) { - this.scopeStack.push(this.createScope(flags)); - } - - exit() { - this.scopeStack.pop(); - } - - treatFunctionsAsVarInScope(scope) { - return !!(scope.flags & SCOPE_FUNCTION || !this.inModule && scope.flags & SCOPE_PROGRAM); - } - - declareName(name, bindingType, pos) { - let scope = this.currentScope(); - - if (bindingType & BIND_SCOPE_LEXICAL || bindingType & BIND_SCOPE_FUNCTION) { - this.checkRedeclarationInScope(scope, name, bindingType, pos); - - if (bindingType & BIND_SCOPE_FUNCTION) { - scope.functions.push(name); + if (out === types.j_oTag && prevType === types$1.slash || out === types.j_cTag) { + context.pop(); + this.state.exprAllowed = context[context.length - 1] === types.j_expr; } else { - scope.lexical.push(name); - } - - if (bindingType & BIND_SCOPE_LEXICAL) { - this.maybeExportDefined(scope, name); - } - } else if (bindingType & BIND_SCOPE_VAR) { - for (let i = this.scopeStack.length - 1; i >= 0; --i) { - scope = this.scopeStack[i]; - this.checkRedeclarationInScope(scope, name, bindingType, pos); - scope.var.push(name); - this.maybeExportDefined(scope, name); - if (scope.flags & SCOPE_VAR) break; - } - } - - if (this.inModule && scope.flags & SCOPE_PROGRAM) { - this.undefinedExports.delete(name); - } - } - - maybeExportDefined(scope, name) { - if (this.inModule && scope.flags & SCOPE_PROGRAM) { - this.undefinedExports.delete(name); - } - } - - checkRedeclarationInScope(scope, name, bindingType, pos) { - if (this.isRedeclaredInScope(scope, name, bindingType)) { - this.raise(pos, ErrorMessages.VarRedeclaration, name); - } - } - - isRedeclaredInScope(scope, name, bindingType) { - if (!(bindingType & BIND_KIND_VALUE)) return false; - - if (bindingType & BIND_SCOPE_LEXICAL) { - return scope.lexical.indexOf(name) > -1 || scope.functions.indexOf(name) > -1 || scope.var.indexOf(name) > -1; - } - - if (bindingType & BIND_SCOPE_FUNCTION) { - return scope.lexical.indexOf(name) > -1 || !this.treatFunctionsAsVarInScope(scope) && scope.var.indexOf(name) > -1; - } - - return scope.lexical.indexOf(name) > -1 && !(scope.flags & SCOPE_SIMPLE_CATCH && scope.lexical[0] === name) || !this.treatFunctionsAsVarInScope(scope) && scope.functions.indexOf(name) > -1; - } - - checkLocalExport(id) { - if (this.scopeStack[0].lexical.indexOf(id.name) === -1 && this.scopeStack[0].var.indexOf(id.name) === -1 && this.scopeStack[0].functions.indexOf(id.name) === -1) { - this.undefinedExports.set(id.name, id.start); - } - } - - currentScope() { - return this.scopeStack[this.scopeStack.length - 1]; - } - - currentVarScope() { - for (let i = this.scopeStack.length - 1;; i--) { - const scope = this.scopeStack[i]; - - if (scope.flags & SCOPE_VAR) { - return scope; - } - } - } - - currentThisScope() { - for (let i = this.scopeStack.length - 1;; i--) { - const scope = this.scopeStack[i]; - - if ((scope.flags & SCOPE_VAR || scope.flags & SCOPE_CLASS) && !(scope.flags & SCOPE_ARROW)) { - return scope; + this.state.exprAllowed = true; } + } else if (type.keyword && (prevType === types$1.dot || prevType === types$1.questionDot)) { + this.state.exprAllowed = false; + } else { + this.state.exprAllowed = type.beforeExpr; } } -} +}); class TypeScriptScope extends Scope { constructor(...args) { super(...args); - this.types = []; - this.enums = []; - this.constEnums = []; - this.classes = []; - this.exportOnlyBindings = []; + this.types = new Set(); + this.enums = new Set(); + this.constEnums = new Set(); + this.classes = new Set(); + this.exportOnlyBindings = new Set(); } } @@ -4988,7 +5344,7 @@ class TypeScriptScopeHandler extends ScopeHandler { if (bindingType & BIND_FLAGS_TS_EXPORT_ONLY) { this.maybeExportDefined(scope, name); - scope.exportOnlyBindings.push(name); + scope.exportOnlyBindings.add(name); return; } @@ -5000,34 +5356,34 @@ class TypeScriptScopeHandler extends ScopeHandler { this.maybeExportDefined(scope, name); } - scope.types.push(name); + scope.types.add(name); } - if (bindingType & BIND_FLAGS_TS_ENUM) scope.enums.push(name); - if (bindingType & BIND_FLAGS_TS_CONST_ENUM) scope.constEnums.push(name); - if (bindingType & BIND_FLAGS_CLASS) scope.classes.push(name); + if (bindingType & BIND_FLAGS_TS_ENUM) scope.enums.add(name); + if (bindingType & BIND_FLAGS_TS_CONST_ENUM) scope.constEnums.add(name); + if (bindingType & BIND_FLAGS_CLASS) scope.classes.add(name); } isRedeclaredInScope(scope, name, bindingType) { - if (scope.enums.indexOf(name) > -1) { + if (scope.enums.has(name)) { if (bindingType & BIND_FLAGS_TS_ENUM) { const isConst = !!(bindingType & BIND_FLAGS_TS_CONST_ENUM); - const wasConst = scope.constEnums.indexOf(name) > -1; + const wasConst = scope.constEnums.has(name); return isConst !== wasConst; } return true; } - if (bindingType & BIND_FLAGS_CLASS && scope.classes.indexOf(name) > -1) { - if (scope.lexical.indexOf(name) > -1) { + if (bindingType & BIND_FLAGS_CLASS && scope.classes.has(name)) { + if (scope.lexical.has(name)) { return !!(bindingType & BIND_KIND_VALUE); } else { return false; } } - if (bindingType & BIND_KIND_TYPE && scope.types.indexOf(name) > -1) { + if (bindingType & BIND_KIND_TYPE && scope.types.has(name)) { return true; } @@ -5035,7 +5391,12 @@ class TypeScriptScopeHandler extends ScopeHandler { } checkLocalExport(id) { - if (this.scopeStack[0].types.indexOf(id.name) === -1 && this.scopeStack[0].exportOnlyBindings.indexOf(id.name) === -1) { + const topLevelScope = this.scopeStack[0]; + const { + name + } = id; + + if (!topLevelScope.types.has(name) && !topLevelScope.exportOnlyBindings.has(name)) { super.checkLocalExport(id); } } @@ -5099,35 +5460,55 @@ function assert(x) { } } -const TSErrors = Object.freeze({ - ClassMethodHasDeclare: "Class methods cannot have the 'declare' modifier", - ClassMethodHasReadonly: "Class methods cannot have the 'readonly' modifier", +const TSErrors = makeErrorTemplates({ + AbstractMethodHasImplementation: "Method '%0' cannot have an implementation because it is marked abstract.", + AccesorCannotDeclareThisParameter: "'get' and 'set' accessors cannot declare 'this' parameters.", + AccesorCannotHaveTypeParameters: "An accessor cannot have type parameters.", + ClassMethodHasDeclare: "Class methods cannot have the 'declare' modifier.", + ClassMethodHasReadonly: "Class methods cannot have the 'readonly' modifier.", ConstructorHasTypeParameters: "Type parameters cannot appear on a constructor declaration.", + DeclareAccessor: "'declare' is not allowed in %0ters.", DeclareClassFieldHasInitializer: "Initializers are not allowed in ambient contexts.", DeclareFunctionHasImplementation: "An implementation cannot be declared in ambient contexts.", - DuplicateModifier: "Duplicate modifier: '%0'", + DuplicateAccessibilityModifier: "Accessibility modifier already seen.", + DuplicateModifier: "Duplicate modifier: '%0'.", EmptyHeritageClauseType: "'%0' list cannot be empty.", EmptyTypeArguments: "Type argument list cannot be empty.", EmptyTypeParameters: "Type parameter list cannot be empty.", - IndexSignatureHasAbstract: "Index signatures cannot have the 'abstract' modifier", - IndexSignatureHasAccessibility: "Index signatures cannot have an accessibility modifier ('%0')", - IndexSignatureHasStatic: "Index signatures cannot have the 'static' modifier", - IndexSignatureHasDeclare: "Index signatures cannot have the 'declare' modifier", + ExpectedAmbientAfterExportDeclare: "'export declare' must be followed by an ambient declaration.", + ImportAliasHasImportType: "An import alias can not use 'import type'.", + IncompatibleModifiers: "'%0' modifier cannot be used with '%1' modifier.", + IndexSignatureHasAbstract: "Index signatures cannot have the 'abstract' modifier.", + IndexSignatureHasAccessibility: "Index signatures cannot have an accessibility modifier ('%0').", + IndexSignatureHasDeclare: "Index signatures cannot have the 'declare' modifier.", + IndexSignatureHasOverride: "'override' modifier cannot appear on an index signature.", + IndexSignatureHasStatic: "Index signatures cannot have the 'static' modifier.", + InvalidModifierOnTypeMember: "'%0' modifier cannot appear on a type member.", + InvalidModifiersOrder: "'%0' modifier must precede '%1' modifier.", InvalidTupleMemberLabel: "Tuple members must be labeled with a simple identifier.", MixedLabeledAndUnlabeledElements: "Tuple members must all have names or all not have names.", + NonAbstractClassHasAbstractMethod: "Abstract methods can only appear within an abstract class.", + NonClassMethodPropertyHasAbstractModifer: "'abstract' modifier can only appear on a class, method, or property declaration.", OptionalTypeBeforeRequired: "A required element cannot follow an optional element.", + OverrideNotInSubClass: "This member cannot have an 'override' modifier because its containing class does not extend another class.", PatternIsOptional: "A binding pattern parameter cannot be optional in an implementation signature.", PrivateElementHasAbstract: "Private elements cannot have the 'abstract' modifier.", - PrivateElementHasAccessibility: "Private elements cannot have an accessibility modifier ('%0')", - TypeAnnotationAfterAssign: "Type annotations must come before default assignments, e.g. instead of `age = 25: number` use `age: number = 25`", + PrivateElementHasAccessibility: "Private elements cannot have an accessibility modifier ('%0').", + ReadonlyForMethodSignature: "'readonly' modifier can only appear on a property declaration or index signature.", + SetAccesorCannotHaveOptionalParameter: "A 'set' accessor cannot have an optional parameter.", + SetAccesorCannotHaveRestParameter: "A 'set' accessor cannot have rest parameter.", + SetAccesorCannotHaveReturnType: "A 'set' accessor cannot have a return type annotation.", + StaticBlockCannotHaveModifier: "Static class blocks cannot have any modifier.", + TypeAnnotationAfterAssign: "Type annotations must come before default assignments, e.g. instead of `age = 25: number` use `age: number = 25`.", + TypeImportCannotSpecifyDefaultAndNamed: "A type-only import can specify a default import or named bindings, but not both.", UnexpectedParameterModifier: "A parameter property is only allowed in a constructor implementation.", UnexpectedReadonly: "'readonly' type modifier is only permitted on array and tuple literal types.", UnexpectedTypeAnnotation: "Did not expect a type annotation here.", UnexpectedTypeCastInParameter: "Unexpected type cast in parameter position.", - UnsupportedImportTypeArgument: "Argument in a type import must be a string literal", + UnsupportedImportTypeArgument: "Argument in a type import must be a string literal.", UnsupportedParameterPropertyKind: "A parameter property may not be declared using a binding pattern.", - UnsupportedSignatureParameterKind: "Name in a signature must be an Identifier, ObjectPattern or ArrayPattern, instead got %0" -}); + UnsupportedSignatureParameterKind: "Name in a signature must be an Identifier, ObjectPattern or ArrayPattern, instead got %0." +}, ErrorCodes.SyntaxError); function keywordTypeFromName(value) { switch (value) { @@ -5166,22 +5547,30 @@ function keywordTypeFromName(value) { } } +function tsIsAccessModifier(modifier) { + return modifier === "private" || modifier === "public" || modifier === "protected"; +} + var typescript = (superClass => class extends superClass { getScopeHandler() { return TypeScriptScopeHandler; } tsIsIdentifier() { - return this.match(types.name); + return this.match(types$1.name); + } + + tsTokenCanFollowModifier() { + return (this.match(types$1.bracketL) || this.match(types$1.braceL) || this.match(types$1.star) || this.match(types$1.ellipsis) || this.match(types$1.privateName) || this.isLiteralPropertyName()) && !this.hasPrecedingLineBreak(); } tsNextTokenCanFollowModifier() { this.next(); - return (this.match(types.bracketL) || this.match(types.braceL) || this.match(types.star) || this.match(types.ellipsis) || this.match(types.hash) || this.isLiteralPropertyName()) && !this.hasPrecedingLineBreak(); + return this.tsTokenCanFollowModifier(); } tsParseModifier(allowedModifiers) { - if (!this.match(types.name)) { + if (!this.match(types$1.name)) { return undefined; } @@ -5194,17 +5583,51 @@ var typescript = (superClass => class extends superClass { return undefined; } - tsParseModifiers(modified, allowedModifiers) { + tsParseModifiers(modified, allowedModifiers, disallowedModifiers, errorTemplate) { + const enforceOrder = (pos, modifier, before, after) => { + if (modifier === before && modified[after]) { + this.raise(pos, TSErrors.InvalidModifiersOrder, before, after); + } + }; + + const incompatible = (pos, modifier, mod1, mod2) => { + if (modified[mod1] && modifier === mod2 || modified[mod2] && modifier === mod1) { + this.raise(pos, TSErrors.IncompatibleModifiers, mod1, mod2); + } + }; + for (;;) { const startPos = this.state.start; - const modifier = this.tsParseModifier(allowedModifiers); + const modifier = this.tsParseModifier(allowedModifiers.concat(disallowedModifiers != null ? disallowedModifiers : [])); if (!modifier) break; - if (Object.hasOwnProperty.call(modified, modifier)) { - this.raise(startPos, TSErrors.DuplicateModifier, modifier); + if (tsIsAccessModifier(modifier)) { + if (modified.accessibility) { + this.raise(startPos, TSErrors.DuplicateAccessibilityModifier); + } else { + enforceOrder(startPos, modifier, modifier, "override"); + enforceOrder(startPos, modifier, modifier, "static"); + enforceOrder(startPos, modifier, modifier, "readonly"); + modified.accessibility = modifier; + } + } else { + if (Object.hasOwnProperty.call(modified, modifier)) { + this.raise(startPos, TSErrors.DuplicateModifier, modifier); + } else { + enforceOrder(startPos, modifier, "static", "readonly"); + enforceOrder(startPos, modifier, "static", "override"); + enforceOrder(startPos, modifier, "override", "readonly"); + enforceOrder(startPos, modifier, "abstract", "override"); + incompatible(startPos, modifier, "declare", "override"); + incompatible(startPos, modifier, "static", "abstract"); + } + + modified[modifier] = true; } - modified[modifier] = true; + if (disallowedModifiers != null && disallowedModifiers.includes(modifier)) { + this.raise(startPos, errorTemplate, modifier); + } } } @@ -5212,13 +5635,13 @@ var typescript = (superClass => class extends superClass { switch (kind) { case "EnumMembers": case "TypeMembers": - return this.match(types.braceR); + return this.match(types$1.braceR); case "HeritageClauseElement": - return this.match(types.braceL); + return this.match(types$1.braceL); case "TupleElementTypes": - return this.match(types.bracketR); + return this.match(types$1.bracketR); case "TypeParametersOrArguments": return this.isRelational(">"); @@ -5257,7 +5680,7 @@ var typescript = (superClass => class extends superClass { result.push(element); - if (this.eat(types.comma)) { + if (this.eat(types$1.comma)) { continue; } @@ -5266,7 +5689,7 @@ var typescript = (superClass => class extends superClass { } if (expectSuccess) { - this.expect(types.comma); + this.expect(types$1.comma); } return undefined; @@ -5278,7 +5701,7 @@ var typescript = (superClass => class extends superClass { tsParseBracketedList(kind, parseElement, bracket, skipFirstToken) { if (!skipFirstToken) { if (bracket) { - this.expect(types.bracketL); + this.expect(types$1.bracketL); } else { this.expectRelational("<"); } @@ -5287,7 +5710,7 @@ var typescript = (superClass => class extends superClass { const result = this.tsParseDelimitedList(kind, parseElement); if (bracket) { - this.expect(types.bracketR); + this.expect(types$1.bracketR); } else { this.expectRelational(">"); } @@ -5297,17 +5720,17 @@ var typescript = (superClass => class extends superClass { tsParseImportType() { const node = this.startNode(); - this.expect(types._import); - this.expect(types.parenL); + this.expect(types$1._import); + this.expect(types$1.parenL); - if (!this.match(types.string)) { + if (!this.match(types$1.string)) { this.raise(this.state.start, TSErrors.UnsupportedImportTypeArgument); } node.argument = this.parseExprAtom(); - this.expect(types.parenR); + this.expect(types$1.parenR); - if (this.eat(types.dot)) { + if (this.eat(types$1.dot)) { node.qualifier = this.tsParseEntityName(true); } @@ -5321,7 +5744,7 @@ var typescript = (superClass => class extends superClass { tsParseEntityName(allowReservedWords) { let entity = this.parseIdentifier(); - while (this.eat(types.dot)) { + while (this.eat(types$1.dot)) { const node = this.startNodeAtNode(entity); node.left = entity; node.right = this.parseIdentifier(allowReservedWords); @@ -5359,9 +5782,9 @@ var typescript = (superClass => class extends superClass { tsParseTypeQuery() { const node = this.startNode(); - this.expect(types._typeof); + this.expect(types$1._typeof); - if (this.match(types._import)) { + if (this.match(types$1._import)) { node.exprName = this.tsParseImportType(); } else { node.exprName = this.tsParseEntityName(true); @@ -5373,8 +5796,8 @@ var typescript = (superClass => class extends superClass { tsParseTypeParameter() { const node = this.startNode(); node.name = this.parseIdentifierName(node.start); - node.constraint = this.tsEatThenParseType(types._extends); - node.default = this.tsEatThenParseType(types.eq); + node.constraint = this.tsEatThenParseType(types$1._extends); + node.default = this.tsEatThenParseType(types$1.eq); return this.finishNode(node, "TSTypeParameter"); } @@ -5387,7 +5810,7 @@ var typescript = (superClass => class extends superClass { tsParseTypeParameters() { const node = this.startNode(); - if (this.isRelational("<") || this.match(types.jsxTagStart)) { + if (this.isRelational("<") || this.match(types$1.jsxTagStart)) { this.next(); } else { this.unexpected(); @@ -5403,7 +5826,7 @@ var typescript = (superClass => class extends superClass { } tsTryNextParseConstantContext() { - if (this.lookahead().type === types._const) { + if (this.lookahead().type === types$1._const) { this.next(); return this.tsParseTypeReference(); } @@ -5412,9 +5835,9 @@ var typescript = (superClass => class extends superClass { } tsFillSignature(returnToken, signature) { - const returnTokenRequired = returnToken === types.arrow; + const returnTokenRequired = returnToken === types$1.arrow; signature.typeParameters = this.tsTryParseTypeParameters(); - this.expect(types.parenL); + this.expect(types$1.parenL); signature.parameters = this.tsParseBindingListForSignature(); if (returnTokenRequired) { @@ -5425,7 +5848,7 @@ var typescript = (superClass => class extends superClass { } tsParseBindingListForSignature() { - return this.parseBindingList(types.parenR, 41).map(pattern => { + return this.parseBindingList(types$1.parenR, 41).map(pattern => { if (pattern.type !== "Identifier" && pattern.type !== "RestElement" && pattern.type !== "ObjectPattern" && pattern.type !== "ArrayPattern") { this.raise(pattern.start, TSErrors.UnsupportedSignatureParameterKind, pattern.type); } @@ -5435,32 +5858,32 @@ var typescript = (superClass => class extends superClass { } tsParseTypeMemberSemicolon() { - if (!this.eat(types.comma)) { - this.semicolon(); + if (!this.eat(types$1.comma) && !this.isLineTerminator()) { + this.expect(types$1.semi); } } tsParseSignatureMember(kind, node) { - this.tsFillSignature(types.colon, node); + this.tsFillSignature(types$1.colon, node); this.tsParseTypeMemberSemicolon(); return this.finishNode(node, kind); } tsIsUnambiguouslyIndexSignature() { this.next(); - return this.eat(types.name) && this.match(types.colon); + return this.eat(types$1.name) && this.match(types$1.colon); } tsTryParseIndexSignature(node) { - if (!(this.match(types.bracketL) && this.tsLookAhead(this.tsIsUnambiguouslyIndexSignature.bind(this)))) { + if (!(this.match(types$1.bracketL) && this.tsLookAhead(this.tsIsUnambiguouslyIndexSignature.bind(this)))) { return undefined; } - this.expect(types.bracketL); + this.expect(types$1.bracketL); const id = this.parseIdentifier(); id.typeAnnotation = this.tsParseTypeAnnotation(); this.resetEndLocation(id); - this.expect(types.bracketR); + this.expect(types$1.bracketR); node.parameters = [id]; const type = this.tsTryParseTypeAnnotation(); if (type) node.typeAnnotation = type; @@ -5469,13 +5892,57 @@ var typescript = (superClass => class extends superClass { } tsParsePropertyOrMethodSignature(node, readonly) { - if (this.eat(types.question)) node.optional = true; + if (this.eat(types$1.question)) node.optional = true; const nodeAny = node; - if (!readonly && (this.match(types.parenL) || this.isRelational("<"))) { - const method = nodeAny; - this.tsFillSignature(types.colon, method); - this.tsParseTypeMemberSemicolon(); + if (this.match(types$1.parenL) || this.isRelational("<")) { + if (readonly) { + this.raise(node.start, TSErrors.ReadonlyForMethodSignature); + } + + const method = nodeAny; + + if (method.kind && this.isRelational("<")) { + this.raise(this.state.pos, TSErrors.AccesorCannotHaveTypeParameters); + } + + this.tsFillSignature(types$1.colon, method); + this.tsParseTypeMemberSemicolon(); + + if (method.kind === "get") { + if (method.parameters.length > 0) { + this.raise(this.state.pos, ErrorMessages.BadGetterArity); + + if (this.isThisParam(method.parameters[0])) { + this.raise(this.state.pos, TSErrors.AccesorCannotDeclareThisParameter); + } + } + } else if (method.kind === "set") { + if (method.parameters.length !== 1) { + this.raise(this.state.pos, ErrorMessages.BadSetterArity); + } else { + const firstParameter = method.parameters[0]; + + if (this.isThisParam(firstParameter)) { + this.raise(this.state.pos, TSErrors.AccesorCannotDeclareThisParameter); + } + + if (firstParameter.type === "Identifier" && firstParameter.optional) { + this.raise(this.state.pos, TSErrors.SetAccesorCannotHaveOptionalParameter); + } + + if (firstParameter.type === "RestElement") { + this.raise(this.state.pos, TSErrors.SetAccesorCannotHaveRestParameter); + } + } + + if (method.typeAnnotation) { + this.raise(method.typeAnnotation.start, TSErrors.SetAccesorCannotHaveReturnType); + } + } else { + method.kind = "method"; + } + return this.finishNode(method, "TSMethodSignature"); } else { const property = nodeAny; @@ -5490,15 +5957,15 @@ var typescript = (superClass => class extends superClass { tsParseTypeMember() { const node = this.startNode(); - if (this.match(types.parenL) || this.isRelational("<")) { + if (this.match(types$1.parenL) || this.isRelational("<")) { return this.tsParseSignatureMember("TSCallSignatureDeclaration", node); } - if (this.match(types._new)) { + if (this.match(types$1._new)) { const id = this.startNode(); this.next(); - if (this.match(types.parenL) || this.isRelational("<")) { + if (this.match(types$1.parenL) || this.isRelational("<")) { return this.tsParseSignatureMember("TSConstructSignatureDeclaration", node); } else { node.key = this.createIdentifier(id, "new"); @@ -5506,16 +5973,21 @@ var typescript = (superClass => class extends superClass { } } - const readonly = !!this.tsParseModifier(["readonly"]); + this.tsParseModifiers(node, ["readonly"], ["declare", "abstract", "private", "protected", "public", "static", "override"], TSErrors.InvalidModifierOnTypeMember); const idx = this.tsTryParseIndexSignature(node); if (idx) { - if (readonly) node.readonly = true; return idx; } this.parsePropertyName(node, false); - return this.tsParsePropertyOrMethodSignature(node, readonly); + + if (!node.computed && node.key.type === "Identifier" && (node.key.name === "get" || node.key.name === "set") && this.tsTokenCanFollowModifier()) { + node.kind = node.key.name; + this.parsePropertyName(node, false); + } + + return this.tsParsePropertyOrMethodSignature(node, !!node.readonly); } tsParseTypeLiteral() { @@ -5525,16 +5997,16 @@ var typescript = (superClass => class extends superClass { } tsParseObjectTypeMembers() { - this.expect(types.braceL); + this.expect(types$1.braceL); const members = this.tsParseList("TypeMembers", this.tsParseTypeMember.bind(this)); - this.expect(types.braceR); + this.expect(types$1.braceR); return members; } tsIsStartOfMappedType() { this.next(); - if (this.eat(types.plusMin)) { + if (this.eat(types$1.plusMin)) { return this.isContextual("readonly"); } @@ -5542,7 +6014,7 @@ var typescript = (superClass => class extends superClass { this.next(); } - if (!this.match(types.bracketL)) { + if (!this.match(types$1.bracketL)) { return false; } @@ -5553,21 +6025,21 @@ var typescript = (superClass => class extends superClass { } this.next(); - return this.match(types._in); + return this.match(types$1._in); } tsParseMappedTypeParameter() { const node = this.startNode(); node.name = this.parseIdentifierName(node.start); - node.constraint = this.tsExpectThenParseType(types._in); + node.constraint = this.tsExpectThenParseType(types$1._in); return this.finishNode(node, "TSTypeParameter"); } tsParseMappedType() { const node = this.startNode(); - this.expect(types.braceL); + this.expect(types$1.braceL); - if (this.match(types.plusMin)) { + if (this.match(types$1.plusMin)) { node.readonly = this.state.value; this.next(); this.expectContextual("readonly"); @@ -5575,22 +6047,22 @@ var typescript = (superClass => class extends superClass { node.readonly = true; } - this.expect(types.bracketL); + this.expect(types$1.bracketL); node.typeParameter = this.tsParseMappedTypeParameter(); node.nameType = this.eatContextual("as") ? this.tsParseType() : null; - this.expect(types.bracketR); + this.expect(types$1.bracketR); - if (this.match(types.plusMin)) { + if (this.match(types$1.plusMin)) { node.optional = this.state.value; this.next(); - this.expect(types.question); - } else if (this.eat(types.question)) { + this.expect(types$1.question); + } else if (this.eat(types$1.question)) { node.optional = true; } node.typeAnnotation = this.tsTryParseType(); this.semicolon(); - this.expect(types.braceR); + this.expect(types$1.braceR); return this.finishNode(node, "TSMappedType"); } @@ -5632,10 +6104,10 @@ var typescript = (superClass => class extends superClass { start: startPos, startLoc } = this.state; - const rest = this.eat(types.ellipsis); + const rest = this.eat(types$1.ellipsis); let type = this.tsParseType(); - const optional = this.eat(types.question); - const labeled = this.eat(types.colon); + const optional = this.eat(types$1.question); + const labeled = this.eat(types$1.colon); if (labeled) { const labeledNode = this.startNodeAtNode(type); @@ -5667,20 +6139,22 @@ var typescript = (superClass => class extends superClass { tsParseParenthesizedType() { const node = this.startNode(); - this.expect(types.parenL); + this.expect(types$1.parenL); node.typeAnnotation = this.tsParseType(); - this.expect(types.parenR); + this.expect(types$1.parenR); return this.finishNode(node, "TSParenthesizedType"); } - tsParseFunctionOrConstructorType(type) { + tsParseFunctionOrConstructorType(type, abstract) { const node = this.startNode(); if (type === "TSConstructorType") { - this.expect(types._new); + node.abstract = !!abstract; + if (abstract) this.next(); + this.next(); } - this.tsFillSignature(types.arrow, node); + this.tsFillSignature(types$1.arrow, node); return this.finishNode(node, type); } @@ -5689,11 +6163,11 @@ var typescript = (superClass => class extends superClass { node.literal = (() => { switch (this.state.type) { - case types.num: - case types.bigint: - case types.string: - case types._true: - case types._false: + case types$1.num: + case types$1.bigint: + case types$1.string: + case types$1._true: + case types$1._false: return this.parseExprAtom(); default: @@ -5727,11 +6201,11 @@ var typescript = (superClass => class extends superClass { tsParseNonArrayType() { switch (this.state.type) { - case types.name: - case types._void: - case types._null: + case types$1.name: + case types$1._void: + case types$1._null: { - const type = this.match(types._void) ? "TSVoidKeyword" : this.match(types._null) ? "TSNullKeyword" : keywordTypeFromName(this.state.value); + const type = this.match(types$1._void) ? "TSVoidKeyword" : this.match(types$1._null) ? "TSNullKeyword" : keywordTypeFromName(this.state.value); if (type !== undefined && this.lookaheadCharCode() !== 46) { const node = this.startNode(); @@ -5742,19 +6216,19 @@ var typescript = (superClass => class extends superClass { return this.tsParseTypeReference(); } - case types.string: - case types.num: - case types.bigint: - case types._true: - case types._false: + case types$1.string: + case types$1.num: + case types$1.bigint: + case types$1._true: + case types$1._false: return this.tsParseLiteralTypeNode(); - case types.plusMin: + case types$1.plusMin: if (this.state.value === "-") { const node = this.startNode(); const nextToken = this.lookahead(); - if (nextToken.type !== types.num && nextToken.type !== types.bigint) { + if (nextToken.type !== types$1.num && nextToken.type !== types$1.bigint) { throw this.unexpected(); } @@ -5764,25 +6238,25 @@ var typescript = (superClass => class extends superClass { break; - case types._this: + case types$1._this: return this.tsParseThisTypeOrThisTypePredicate(); - case types._typeof: + case types$1._typeof: return this.tsParseTypeQuery(); - case types._import: + case types$1._import: return this.tsParseImportType(); - case types.braceL: + case types$1.braceL: return this.tsLookAhead(this.tsIsStartOfMappedType.bind(this)) ? this.tsParseMappedType() : this.tsParseTypeLiteral(); - case types.bracketL: + case types$1.bracketL: return this.tsParseTupleType(); - case types.parenL: + case types$1.parenL: return this.tsParseParenthesizedType(); - case types.backQuote: + case types$1.backQuote: return this.tsParseTemplateLiteralType(); } @@ -5792,17 +6266,17 @@ var typescript = (superClass => class extends superClass { tsParseArrayTypeOrHigher() { let type = this.tsParseNonArrayType(); - while (!this.hasPrecedingLineBreak() && this.eat(types.bracketL)) { - if (this.match(types.bracketR)) { + while (!this.hasPrecedingLineBreak() && this.eat(types$1.bracketL)) { + if (this.match(types$1.bracketR)) { const node = this.startNodeAtNode(type); node.elementType = type; - this.expect(types.bracketR); + this.expect(types$1.bracketR); type = this.finishNode(node, "TSArrayType"); } else { const node = this.startNodeAtNode(type); node.objectType = type; node.indexType = this.tsParseType(); - this.expect(types.bracketR); + this.expect(types$1.bracketR); type = this.finishNode(node, "TSIndexedAccessType"); } } @@ -5849,30 +6323,28 @@ var typescript = (superClass => class extends superClass { } tsParseUnionOrIntersectionType(kind, parseConstituentType, operator) { - this.eat(operator); - let type = parseConstituentType(); - - if (this.match(operator)) { - const types = [type]; + const node = this.startNode(); + const hasLeadingOperator = this.eat(operator); + const types = []; - while (this.eat(operator)) { - types.push(parseConstituentType()); - } + do { + types.push(parseConstituentType()); + } while (this.eat(operator)); - const node = this.startNodeAtNode(type); - node.types = types; - type = this.finishNode(node, kind); + if (types.length === 1 && !hasLeadingOperator) { + return types[0]; } - return type; + node.types = types; + return this.finishNode(node, kind); } tsParseIntersectionTypeOrHigher() { - return this.tsParseUnionOrIntersectionType("TSIntersectionType", this.tsParseTypeOperatorOrHigher.bind(this), types.bitwiseAND); + return this.tsParseUnionOrIntersectionType("TSIntersectionType", this.tsParseTypeOperatorOrHigher.bind(this), types$1.bitwiseAND); } tsParseUnionTypeOrHigher() { - return this.tsParseUnionOrIntersectionType("TSUnionType", this.tsParseIntersectionTypeOrHigher.bind(this), types.bitwiseOR); + return this.tsParseUnionOrIntersectionType("TSUnionType", this.tsParseIntersectionTypeOrHigher.bind(this), types$1.bitwiseOR); } tsIsStartOfFunctionType() { @@ -5880,23 +6352,23 @@ var typescript = (superClass => class extends superClass { return true; } - return this.match(types.parenL) && this.tsLookAhead(this.tsIsUnambiguouslyStartOfFunctionType.bind(this)); + return this.match(types$1.parenL) && this.tsLookAhead(this.tsIsUnambiguouslyStartOfFunctionType.bind(this)); } tsSkipParameterStart() { - if (this.match(types.name) || this.match(types._this)) { + if (this.match(types$1.name) || this.match(types$1._this)) { this.next(); return true; } - if (this.match(types.braceL)) { + if (this.match(types$1.braceL)) { let braceStackCounter = 1; this.next(); while (braceStackCounter > 0) { - if (this.match(types.braceL)) { + if (this.match(types$1.braceL)) { ++braceStackCounter; - } else if (this.match(types.braceR)) { + } else if (this.match(types$1.braceR)) { --braceStackCounter; } @@ -5906,14 +6378,14 @@ var typescript = (superClass => class extends superClass { return true; } - if (this.match(types.bracketL)) { + if (this.match(types$1.bracketL)) { let braceStackCounter = 1; this.next(); while (braceStackCounter > 0) { - if (this.match(types.bracketL)) { + if (this.match(types$1.bracketL)) { ++braceStackCounter; - } else if (this.match(types.bracketR)) { + } else if (this.match(types$1.bracketR)) { --braceStackCounter; } @@ -5929,19 +6401,19 @@ var typescript = (superClass => class extends superClass { tsIsUnambiguouslyStartOfFunctionType() { this.next(); - if (this.match(types.parenR) || this.match(types.ellipsis)) { + if (this.match(types$1.parenR) || this.match(types$1.ellipsis)) { return true; } if (this.tsSkipParameterStart()) { - if (this.match(types.colon) || this.match(types.comma) || this.match(types.question) || this.match(types.eq)) { + if (this.match(types$1.colon) || this.match(types$1.comma) || this.match(types$1.question) || this.match(types$1.eq)) { return true; } - if (this.match(types.parenR)) { + if (this.match(types$1.parenR)) { this.next(); - if (this.match(types.arrow)) { + if (this.match(types$1.arrow)) { return true; } } @@ -5954,17 +6426,19 @@ var typescript = (superClass => class extends superClass { return this.tsInType(() => { const t = this.startNode(); this.expect(returnToken); + const node = this.startNode(); const asserts = !!this.tsTryParse(this.tsParseTypePredicateAsserts.bind(this)); - if (asserts && this.match(types._this)) { + if (asserts && this.match(types$1._this)) { let thisTypePredicate = this.tsParseThisTypeOrThisTypePredicate(); if (thisTypePredicate.type === "TSThisType") { - const node = this.startNodeAtNode(t); node.parameterName = thisTypePredicate; node.asserts = true; + node.typeAnnotation = null; thisTypePredicate = this.finishNode(node, "TSTypePredicate"); } else { + this.resetStartLocationFromNode(thisTypePredicate, node); thisTypePredicate.asserts = true; } @@ -5979,15 +6453,14 @@ var typescript = (superClass => class extends superClass { return this.tsParseTypeAnnotation(false, t); } - const node = this.startNodeAtNode(t); node.parameterName = this.parseIdentifier(); node.asserts = asserts; + node.typeAnnotation = null; t.typeAnnotation = this.finishNode(node, "TSTypePredicate"); return this.finishNode(t, "TSTypeAnnotation"); } const type = this.tsParseTypeAnnotation(false); - const node = this.startNodeAtNode(t); node.parameterName = typePredicateVariable; node.typeAnnotation = type; node.asserts = asserts; @@ -5997,15 +6470,15 @@ var typescript = (superClass => class extends superClass { } tsTryParseTypeOrTypePredicateAnnotation() { - return this.match(types.colon) ? this.tsParseTypeOrTypePredicateAnnotation(types.colon) : undefined; + return this.match(types$1.colon) ? this.tsParseTypeOrTypePredicateAnnotation(types$1.colon) : undefined; } tsTryParseTypeAnnotation() { - return this.match(types.colon) ? this.tsParseTypeAnnotation() : undefined; + return this.match(types$1.colon) ? this.tsParseTypeAnnotation() : undefined; } tsTryParseType() { - return this.tsEatThenParseType(types.colon); + return this.tsEatThenParseType(types$1.colon); } tsParseTypePredicatePrefix() { @@ -6018,14 +6491,14 @@ var typescript = (superClass => class extends superClass { } tsParseTypePredicateAsserts() { - if (!this.match(types.name) || this.state.value !== "asserts" || this.hasPrecedingLineBreak()) { + if (!this.match(types$1.name) || this.state.value !== "asserts" || this.hasPrecedingLineBreak()) { return false; } const containsEsc = this.state.containsEsc; this.next(); - if (!this.match(types.name) && !this.match(types._this)) { + if (!this.match(types$1.name) && !this.match(types$1._this)) { return false; } @@ -6038,7 +6511,7 @@ var typescript = (superClass => class extends superClass { tsParseTypeAnnotation(eatColon = true, t = this.startNode()) { this.tsInType(() => { - if (eatColon) this.expect(types.colon); + if (eatColon) this.expect(types$1.colon); t.typeAnnotation = this.tsParseType(); }); return this.finishNode(t, "TSTypeAnnotation"); @@ -6048,27 +6521,33 @@ var typescript = (superClass => class extends superClass { assert(this.state.inType); const type = this.tsParseNonConditionalType(); - if (this.hasPrecedingLineBreak() || !this.eat(types._extends)) { + if (this.hasPrecedingLineBreak() || !this.eat(types$1._extends)) { return type; } const node = this.startNodeAtNode(type); node.checkType = type; node.extendsType = this.tsParseNonConditionalType(); - this.expect(types.question); + this.expect(types$1.question); node.trueType = this.tsParseType(); - this.expect(types.colon); + this.expect(types$1.colon); node.falseType = this.tsParseType(); return this.finishNode(node, "TSConditionalType"); } + isAbstractConstructorSignature() { + return this.isContextual("abstract") && this.lookahead().type === types$1._new; + } + tsParseNonConditionalType() { if (this.tsIsStartOfFunctionType()) { return this.tsParseFunctionOrConstructorType("TSFunctionType"); } - if (this.match(types._new)) { + if (this.match(types$1._new)) { return this.tsParseFunctionOrConstructorType("TSConstructorType"); + } else if (this.isAbstractConstructorSignature()) { + return this.tsParseFunctionOrConstructorType("TSConstructorType", true); } return this.tsParseUnionTypeOrHigher(); @@ -6112,7 +6591,7 @@ var typescript = (superClass => class extends superClass { this.checkLVal(node.id, "typescript interface declaration", BIND_TS_INTERFACE); node.typeParameters = this.tsTryParseTypeParameters(); - if (this.eat(types._extends)) { + if (this.eat(types$1._extends)) { node.extends = this.tsParseHeritageClause("extends"); } @@ -6127,9 +6606,9 @@ var typescript = (superClass => class extends superClass { this.checkLVal(node.id, "typescript type alias", BIND_TS_TYPE); node.typeParameters = this.tsTryParseTypeParameters(); node.typeAnnotation = this.tsInType(() => { - this.expect(types.eq); + this.expect(types$1.eq); - if (this.isContextual("intrinsic") && this.lookahead().type !== types.dot) { + if (this.isContextual("intrinsic") && this.lookahead().type !== types$1.dot) { const node = this.startNode(); this.next(); return this.finishNode(node, "TSIntrinsicKeyword"); @@ -6184,9 +6663,9 @@ var typescript = (superClass => class extends superClass { tsParseEnumMember() { const node = this.startNode(); - node.id = this.match(types.string) ? this.parseExprAtom() : this.parseIdentifier(true); + node.id = this.match(types$1.string) ? this.parseExprAtom() : this.parseIdentifier(true); - if (this.eat(types.eq)) { + if (this.eat(types$1.eq)) { node.initializer = this.parseMaybeAssignAllowIn(); } @@ -6197,17 +6676,17 @@ var typescript = (superClass => class extends superClass { if (isConst) node.const = true; node.id = this.parseIdentifier(); this.checkLVal(node.id, "typescript enum declaration", isConst ? BIND_TS_CONST_ENUM : BIND_TS_ENUM); - this.expect(types.braceL); + this.expect(types$1.braceL); node.members = this.tsParseDelimitedList("EnumMembers", this.tsParseEnumMember.bind(this)); - this.expect(types.braceR); + this.expect(types$1.braceR); return this.finishNode(node, "TSEnumDeclaration"); } tsParseModuleBlock() { const node = this.startNode(); this.scope.enter(SCOPE_OTHER); - this.expect(types.braceL); - this.parseBlockOrModuleBlockBody(node.body = [], undefined, true, types.braceR); + this.expect(types$1.braceL); + this.parseBlockOrModuleBlockBody(node.body = [], undefined, true, types$1.braceR); this.scope.exit(); return this.finishNode(node, "TSModuleBlock"); } @@ -6219,7 +6698,7 @@ var typescript = (superClass => class extends superClass { this.checkLVal(node.id, "module or namespace declaration", BIND_TS_NAMESPACE); } - if (this.eat(types.dot)) { + if (this.eat(types$1.dot)) { const inner = this.startNode(); this.tsParseModuleOrNamespaceDeclaration(inner, true); node.body = inner; @@ -6238,13 +6717,13 @@ var typescript = (superClass => class extends superClass { if (this.isContextual("global")) { node.global = true; node.id = this.parseIdentifier(); - } else if (this.match(types.string)) { + } else if (this.match(types$1.string)) { node.id = this.parseExprAtom(); } else { this.unexpected(); } - if (this.match(types.braceL)) { + if (this.match(types$1.braceL)) { this.scope.enter(SCOPE_TS_MODULE); this.prodParam.enter(PARAM); node.body = this.tsParseModuleBlock(); @@ -6261,8 +6740,14 @@ var typescript = (superClass => class extends superClass { node.isExport = isExport || false; node.id = this.parseIdentifier(); this.checkLVal(node.id, "import equals declaration", BIND_LEXICAL); - this.expect(types.eq); - node.moduleReference = this.tsParseModuleReference(); + this.expect(types$1.eq); + const moduleReference = this.tsParseModuleReference(); + + if (node.importKind === "type" && moduleReference.type !== "TSExternalModuleReference") { + this.raise(moduleReference.start, TSErrors.ImportAliasHasImportType); + } + + node.moduleReference = moduleReference; this.semicolon(); return this.finishNode(node, "TSImportEqualsDeclaration"); } @@ -6278,14 +6763,14 @@ var typescript = (superClass => class extends superClass { tsParseExternalModuleReference() { const node = this.startNode(); this.expectContextual("require"); - this.expect(types.parenL); + this.expect(types$1.parenL); - if (!this.match(types.string)) { + if (!this.match(types$1.string)) { throw this.unexpected(); } node.expression = this.parseExprAtom(); - this.expect(types.parenR); + this.expect(types$1.parenR); return this.finishNode(node, "TSExternalModuleReference"); } @@ -6324,32 +6809,32 @@ var typescript = (superClass => class extends superClass { let kind; if (this.isContextual("let")) { - starttype = types._var; + starttype = types$1._var; kind = "let"; } - return this.tsInDeclareContext(() => { + return this.tsInAmbientContext(() => { switch (starttype) { - case types._function: + case types$1._function: nany.declare = true; return this.parseFunctionStatement(nany, false, true); - case types._class: + case types$1._class: nany.declare = true; return this.parseClass(nany, true, false); - case types._const: - if (this.match(types._const) && this.isLookaheadContextual("enum")) { - this.expect(types._const); + case types$1._const: + if (this.match(types$1._const) && this.isLookaheadContextual("enum")) { + this.expect(types$1._const); this.expectContextual("enum"); return this.tsParseEnumDeclaration(nany, true); } - case types._var: + case types$1._var: kind = kind || this.state.value; return this.parseVarStatement(nany, kind); - case types.name: + case types$1.name: { const value = this.state.value; @@ -6382,7 +6867,7 @@ var typescript = (superClass => class extends superClass { } case "global": - if (this.match(types.braceL)) { + if (this.match(types$1.braceL)) { this.scope.enter(SCOPE_TS_MODULE); this.prodParam.enter(PARAM); const mod = node; @@ -6404,25 +6889,14 @@ var typescript = (superClass => class extends superClass { tsParseDeclaration(node, value, next) { switch (value) { case "abstract": - if (this.tsCheckLineTerminatorAndMatch(types._class, next)) { - const cls = node; - cls.abstract = true; - - if (next) { - this.next(); - - if (!this.match(types._class)) { - this.unexpected(null, types._class); - } - } - - return this.parseClass(cls, true, false); + if (this.tsCheckLineTerminator(next) && (this.match(types$1._class) || this.match(types$1.name))) { + return this.tsParseAbstractDeclaration(node); } break; case "enum": - if (next || this.match(types.name)) { + if (next || this.match(types$1.name)) { if (next) this.next(); return this.tsParseEnumDeclaration(node, false); } @@ -6430,35 +6904,32 @@ var typescript = (superClass => class extends superClass { break; case "interface": - if (this.tsCheckLineTerminatorAndMatch(types.name, next)) { - if (next) this.next(); + if (this.tsCheckLineTerminator(next) && this.match(types$1.name)) { return this.tsParseInterfaceDeclaration(node); } break; case "module": - if (next) this.next(); - - if (this.match(types.string)) { - return this.tsParseAmbientExternalModuleDeclaration(node); - } else if (this.tsCheckLineTerminatorAndMatch(types.name, next)) { - return this.tsParseModuleOrNamespaceDeclaration(node); + if (this.tsCheckLineTerminator(next)) { + if (this.match(types$1.string)) { + return this.tsParseAmbientExternalModuleDeclaration(node); + } else if (this.match(types$1.name)) { + return this.tsParseModuleOrNamespaceDeclaration(node); + } } break; case "namespace": - if (this.tsCheckLineTerminatorAndMatch(types.name, next)) { - if (next) this.next(); + if (this.tsCheckLineTerminator(next) && this.match(types$1.name)) { return this.tsParseModuleOrNamespaceDeclaration(node); } break; case "type": - if (this.tsCheckLineTerminatorAndMatch(types.name, next)) { - if (next) this.next(); + if (this.tsCheckLineTerminator(next) && this.match(types$1.name)) { return this.tsParseTypeAliasDeclaration(node); } @@ -6466,8 +6937,14 @@ var typescript = (superClass => class extends superClass { } } - tsCheckLineTerminatorAndMatch(tokenType, next) { - return (next || this.match(tokenType)) && !this.isLineTerminator(); + tsCheckLineTerminator(next) { + if (next) { + if (this.hasFollowingLineBreak()) return false; + this.next(); + return true; + } + + return !this.isLineTerminator(); } tsTryParseGenericAsyncArrowFunction(startPos, startLoc) { @@ -6482,7 +6959,7 @@ var typescript = (superClass => class extends superClass { node.typeParameters = this.tsParseTypeParameters(); super.parseFunctionParams(node); node.returnType = this.tsTryParseTypeOrTypePredicateAnnotation(); - this.expect(types.arrow); + this.expect(types$1.arrow); return node; }); this.state.maybeInArrowParameters = oldMaybeInArrowParameters; @@ -6505,13 +6982,12 @@ var typescript = (superClass => class extends superClass { this.raise(node.start, TSErrors.EmptyTypeArguments); } - this.state.exprAllowed = false; this.expectRelational(">"); return this.finishNode(node, "TSTypeParameterInstantiation"); } tsIsDeclarationStart() { - if (this.match(types.name)) { + if (this.match(types$1.name)) { switch (this.state.value) { case "abstract": case "declare": @@ -6537,12 +7013,16 @@ var typescript = (superClass => class extends superClass { const startLoc = this.state.startLoc; let accessibility; let readonly = false; + let override = false; if (allowModifiers !== undefined) { - accessibility = this.parseAccessModifier(); - readonly = !!this.tsParseModifier(["readonly"]); + const modified = {}; + this.tsParseModifiers(modified, ["public", "private", "protected", "override", "readonly"]); + accessibility = modified.accessibility; + override = modified.override; + readonly = modified.readonly; - if (allowModifiers === false && (accessibility || readonly)) { + if (allowModifiers === false && (accessibility || readonly || override)) { this.raise(startPos, TSErrors.UnexpectedParameterModifier); } } @@ -6551,7 +7031,7 @@ var typescript = (superClass => class extends superClass { this.parseAssignableListItemTypes(left); const elt = this.parseMaybeDefault(left.start, left.loc.start, left); - if (accessibility || readonly) { + if (accessibility || readonly || override) { const pp = this.startNodeAt(startPos, startLoc); if (decorators.length) { @@ -6560,6 +7040,7 @@ var typescript = (superClass => class extends superClass { if (accessibility) pp.accessibility = accessibility; if (readonly) pp.readonly = readonly; + if (override) pp.override = override; if (elt.type !== "Identifier" && elt.type !== "AssignmentPattern") { this.raise(pp.start, TSErrors.UnsupportedParameterPropertyKind); @@ -6577,18 +7058,18 @@ var typescript = (superClass => class extends superClass { } parseFunctionBodyAndFinish(node, type, isMethod = false) { - if (this.match(types.colon)) { - node.returnType = this.tsParseTypeOrTypePredicateAnnotation(types.colon); + if (this.match(types$1.colon)) { + node.returnType = this.tsParseTypeOrTypePredicateAnnotation(types$1.colon); } const bodilessType = type === "FunctionDeclaration" ? "TSDeclareFunction" : type === "ClassMethod" ? "TSDeclareMethod" : undefined; - if (bodilessType && !this.match(types.braceL) && this.isLineTerminator()) { + if (bodilessType && !this.match(types$1.braceL) && this.isLineTerminator()) { this.finishNode(node, bodilessType); return; } - if (bodilessType === "TSDeclareFunction" && this.state.isDeclareContext) { + if (bodilessType === "TSDeclareFunction" && this.state.isAmbientContext) { this.raise(node.start, TSErrors.DeclareFunctionHasImplementation); if (node.declare) { @@ -6632,7 +7113,7 @@ var typescript = (superClass => class extends superClass { } parseSubscript(base, startPos, startLoc, noCalls, state) { - if (!this.hasPrecedingLineBreak() && this.match(types.bang)) { + if (!this.hasPrecedingLineBreak() && this.match(types$1.bang)) { this.state.exprAllowed = false; this.next(); const nonNullExpression = this.startNodeAt(startPos, startLoc); @@ -6655,12 +7136,17 @@ var typescript = (superClass => class extends superClass { const typeArguments = this.tsParseTypeArguments(); if (typeArguments) { - if (!noCalls && this.eat(types.parenL)) { - node.arguments = this.parseCallExpressionArguments(types.parenR, false); + if (!noCalls && this.eat(types$1.parenL)) { + node.arguments = this.parseCallExpressionArguments(types$1.parenR, false); this.tsCheckForInvalidTypeCasts(node.arguments); node.typeParameters = typeArguments; + + if (state.optionalChainMember) { + node.optional = false; + } + return this.finishCallExpression(node, state.optionalChainMember); - } else if (this.match(types.backQuote)) { + } else if (this.match(types$1.backQuote)) { const result = this.parseTaggedTemplateExpression(base, startPos, startLoc, state); result.typeParameters = typeArguments; return result; @@ -6679,7 +7165,7 @@ var typescript = (superClass => class extends superClass { if (this.isRelational("<")) { const typeParameters = this.tsTryParseAndCatch(() => { const args = this.tsParseTypeArguments(); - if (!this.match(types.parenL)) this.unexpected(); + if (!this.match(types$1.parenL)) this.unexpected(); return args; }); @@ -6692,7 +7178,7 @@ var typescript = (superClass => class extends superClass { } parseExprOp(left, leftStartPos, leftStartLoc, minPrec) { - if (nonNull(types._in.binop) > minPrec && !this.hasPrecedingLineBreak() && this.isContextual("as")) { + if (nonNull(types$1._in.binop) > minPrec && !this.hasPrecedingLineBreak() && this.isContextual("as")) { const node = this.startNodeAt(leftStartPos, leftStartLoc); node.expression = left; @@ -6717,37 +7203,44 @@ var typescript = (superClass => class extends superClass { checkDuplicateExports() {} parseImport(node) { - if (this.match(types.name) || this.match(types.star) || this.match(types.braceL)) { - const ahead = this.lookahead(); + node.importKind = "value"; - if (this.match(types.name) && ahead.type === types.eq) { - return this.tsParseImportEqualsDeclaration(node); - } + if (this.match(types$1.name) || this.match(types$1.star) || this.match(types$1.braceL)) { + let ahead = this.lookahead(); - if (this.isContextual("type") && ahead.type !== types.comma && !(ahead.type === types.name && ahead.value === "from")) { + if (this.isContextual("type") && ahead.type !== types$1.comma && !(ahead.type === types$1.name && ahead.value === "from") && ahead.type !== types$1.eq) { node.importKind = "type"; this.next(); + ahead = this.lookahead(); } - } - if (!node.importKind) { - node.importKind = "value"; + if (this.match(types$1.name) && ahead.type === types$1.eq) { + return this.tsParseImportEqualsDeclaration(node); + } } const importNode = super.parseImport(node); if (importNode.importKind === "type" && importNode.specifiers.length > 1 && importNode.specifiers[0].type === "ImportDefaultSpecifier") { - this.raise(importNode.start, "A type-only import can specify a default import or named bindings, but not both."); + this.raise(importNode.start, TSErrors.TypeImportCannotSpecifyDefaultAndNamed); } return importNode; } parseExport(node) { - if (this.match(types._import)) { - this.expect(types._import); + if (this.match(types$1._import)) { + this.next(); + + if (this.isContextual("type") && this.lookaheadCharCode() !== 61) { + node.importKind = "type"; + this.next(); + } else { + node.importKind = "value"; + } + return this.tsParseImportEqualsDeclaration(node, true); - } else if (this.eat(types.eq)) { + } else if (this.eat(types$1.eq)) { const assign = node; assign.expression = this.parseExpression(); this.semicolon(); @@ -6759,7 +7252,7 @@ var typescript = (superClass => class extends superClass { this.semicolon(); return this.finishNode(decl, "TSNamespaceExportDeclaration"); } else { - if (this.isContextual("type") && this.lookahead().type === types.braceL) { + if (this.isContextual("type") && this.lookahead().type === types$1.braceL) { this.next(); node.exportKind = "type"; } else { @@ -6771,15 +7264,15 @@ var typescript = (superClass => class extends superClass { } isAbstractClass() { - return this.isContextual("abstract") && this.lookahead().type === types._class; + return this.isContextual("abstract") && this.lookahead().type === types$1._class; } parseExportDefaultExpression() { if (this.isAbstractClass()) { const cls = this.startNode(); this.next(); - this.parseClass(cls, true, true); cls.abstract = true; + this.parseClass(cls, true, true); return cls; } @@ -6792,12 +7285,12 @@ var typescript = (superClass => class extends superClass { } parseStatementContent(context, topLevel) { - if (this.state.type === types._const) { + if (this.state.type === types$1._const) { const ahead = this.lookahead(); - if (ahead.type === types.name && ahead.value === "enum") { + if (ahead.type === types$1.name && ahead.value === "enum") { const node = this.startNode(); - this.expect(types._const); + this.expect(types$1._const); this.expectContextual("enum"); return this.tsParseEnumDeclaration(node, true); } @@ -6810,25 +7303,42 @@ var typescript = (superClass => class extends superClass { return this.tsParseModifier(["public", "protected", "private"]); } + tsHasSomeModifiers(member, modifiers) { + return modifiers.some(modifier => { + if (tsIsAccessModifier(modifier)) { + return member.accessibility === modifier; + } + + return !!member[modifier]; + }); + } + parseClassMember(classBody, member, state) { - this.tsParseModifiers(member, ["declare"]); - const accessibility = this.parseAccessModifier(); - if (accessibility) member.accessibility = accessibility; - this.tsParseModifiers(member, ["declare"]); + const invalidModifersForStaticBlocks = ["declare", "private", "public", "protected", "override", "abstract", "readonly"]; + this.tsParseModifiers(member, invalidModifersForStaticBlocks.concat(["static"])); + + const callParseClassMemberWithIsStatic = () => { + const isStatic = !!member.static; + + if (isStatic && this.eat(types$1.braceL)) { + if (this.tsHasSomeModifiers(member, invalidModifersForStaticBlocks)) { + this.raise(this.state.pos, TSErrors.StaticBlockCannotHaveModifier); + } - const callParseClassMember = () => { - super.parseClassMember(classBody, member, state); + this.parseClassStaticBlock(classBody, member); + } else { + this.parseClassMemberWithIsStatic(classBody, member, state, isStatic); + } }; if (member.declare) { - this.tsInDeclareContext(callParseClassMember); + this.tsInAmbientContext(callParseClassMemberWithIsStatic); } else { - callParseClassMember(); + callParseClassMemberWithIsStatic(); } } parseClassMemberWithIsStatic(classBody, member, state, isStatic) { - this.tsParseModifiers(member, ["abstract", "readonly", "declare"]); const idx = this.tsTryParseIndexSignature(member); if (idx) { @@ -6838,10 +7348,6 @@ var typescript = (superClass => class extends superClass { this.raise(member.start, TSErrors.IndexSignatureHasAbstract); } - if (isStatic) { - this.raise(member.start, TSErrors.IndexSignatureHasStatic); - } - if (member.accessibility) { this.raise(member.start, TSErrors.IndexSignatureHasAccessibility, member.accessibility); } @@ -6850,21 +7356,35 @@ var typescript = (superClass => class extends superClass { this.raise(member.start, TSErrors.IndexSignatureHasDeclare); } + if (member.override) { + this.raise(member.start, TSErrors.IndexSignatureHasOverride); + } + return; } + if (!this.state.inAbstractClass && member.abstract) { + this.raise(member.start, TSErrors.NonAbstractClassHasAbstractMethod); + } + + if (member.override) { + if (!state.hadSuperClass) { + this.raise(member.start, TSErrors.OverrideNotInSubClass); + } + } + super.parseClassMemberWithIsStatic(classBody, member, state, isStatic); } parsePostMemberNameModifiers(methodOrProp) { - const optional = this.eat(types.question); + const optional = this.eat(types$1.question); if (optional) methodOrProp.optional = true; - if (methodOrProp.readonly && this.match(types.parenL)) { + if (methodOrProp.readonly && this.match(types$1.parenL)) { this.raise(methodOrProp.start, TSErrors.ClassMethodHasReadonly); } - if (methodOrProp.declare && this.match(types.parenL)) { + if (methodOrProp.declare && this.match(types$1.parenL)) { this.raise(methodOrProp.start, TSErrors.ClassMethodHasDeclare); } } @@ -6880,7 +7400,7 @@ var typescript = (superClass => class extends superClass { } parseConditional(expr, startPos, startLoc, refNeedsArrowPos) { - if (!refNeedsArrowPos || !this.match(types.question)) { + if (!refNeedsArrowPos || !this.match(types$1.question)) { return super.parseConditional(expr, startPos, startLoc, refNeedsArrowPos); } @@ -6898,12 +7418,12 @@ var typescript = (superClass => class extends superClass { parseParenItem(node, startPos, startLoc) { node = super.parseParenItem(node, startPos, startLoc); - if (this.eat(types.question)) { + if (this.eat(types$1.question)) { node.optional = true; this.resetEndLocation(node); } - if (this.match(types.colon)) { + if (this.match(types$1.colon)) { const typeCastNode = this.startNodeAt(startPos, startLoc); typeCastNode.expression = node; typeCastNode.typeAnnotation = this.tsParseTypeAnnotation(); @@ -6917,9 +7437,14 @@ var typescript = (superClass => class extends superClass { const startPos = this.state.start; const startLoc = this.state.startLoc; const isDeclare = this.eatContextual("declare"); + + if (isDeclare && (this.isContextual("declare") || !this.shouldParseExportDeclaration())) { + throw this.raise(this.state.start, TSErrors.ExpectedAmbientAfterExportDeclare); + } + let declaration; - if (this.match(types.name)) { + if (this.match(types$1.name)) { declaration = this.tsTryParseExportDeclaration(); } @@ -6950,7 +7475,7 @@ var typescript = (superClass => class extends superClass { } parseClassPropertyAnnotation(node) { - if (!node.optional && this.eat(types.bang)) { + if (!node.optional && this.eat(types$1.bang)) { node.definite = true; } @@ -6961,7 +7486,7 @@ var typescript = (superClass => class extends superClass { parseClassProperty(node) { this.parseClassPropertyAnnotation(node); - if (this.state.isDeclareContext && this.match(types.eq)) { + if (this.state.isAmbientContext && this.match(types$1.eq)) { this.raise(this.state.start, TSErrors.DeclareClassFieldHasInitializer); } @@ -6988,6 +7513,10 @@ var typescript = (superClass => class extends superClass { this.raise(typeParameters.start, TSErrors.ConstructorHasTypeParameters); } + if (method.declare && (method.kind === "get" || method.kind === "set")) { + this.raise(method.start, TSErrors.DeclareAccessor, method.kind); + } + if (typeParameters) method.typeParameters = typeParameters; super.pushClassMethod(classBody, method, isGenerator, isAsync, isConstructor, allowsDirectSuper); } @@ -7025,7 +7554,7 @@ var typescript = (superClass => class extends superClass { parseVarId(decl, kind) { super.parseVarId(decl, kind); - if (decl.id.type === "Identifier" && this.eat(types.bang)) { + if (decl.id.type === "Identifier" && this.eat(types$1.bang)) { decl.definite = true; } @@ -7038,7 +7567,7 @@ var typescript = (superClass => class extends superClass { } parseAsyncArrowFromCallExpression(node, call) { - if (this.match(types.colon)) { + if (this.match(types$1.colon)) { node.returnType = this.tsParseTypeAnnotation(); } @@ -7052,7 +7581,7 @@ var typescript = (superClass => class extends superClass { let jsx; let typeCast; - if (this.match(types.jsxTagStart)) { + if (this.hasPlugin("jsx") && (this.match(types$1.jsxTagStart) || this.isRelational("<"))) { state = this.state.clone(); jsx = this.tryParse(() => super.parseMaybeAssign(...args), state); if (!jsx.error) return jsx.node; @@ -7060,26 +7589,26 @@ var typescript = (superClass => class extends superClass { context } = this.state; - if (context[context.length - 1] === types$1.j_oTag) { + if (context[context.length - 1] === types.j_oTag) { context.length -= 2; - } else if (context[context.length - 1] === types$1.j_expr) { + } else if (context[context.length - 1] === types.j_expr) { context.length -= 1; } } - if (!((_jsx = jsx) == null ? void 0 : _jsx.error) && !this.isRelational("<")) { + if (!((_jsx = jsx) != null && _jsx.error) && !this.isRelational("<")) { return super.parseMaybeAssign(...args); } let typeParameters; state = state || this.state.clone(); const arrow = this.tryParse(abort => { - var _typeParameters; + var _expr$extra, _typeParameters; typeParameters = this.tsParseTypeParameters(); const expr = super.parseMaybeAssign(...args); - if (expr.type !== "ArrowFunctionExpression" || expr.extra && expr.extra.parenthesized) { + if (expr.type !== "ArrowFunctionExpression" || (_expr$extra = expr.extra) != null && _expr$extra.parenthesized) { abort(); } @@ -7098,7 +7627,7 @@ var typescript = (superClass => class extends superClass { if (!typeCast.error) return typeCast.node; } - if ((_jsx2 = jsx) == null ? void 0 : _jsx2.node) { + if ((_jsx2 = jsx) != null && _jsx2.node) { this.state = jsx.failState; return jsx.node; } @@ -7108,14 +7637,14 @@ var typescript = (superClass => class extends superClass { return arrow.node; } - if ((_typeCast = typeCast) == null ? void 0 : _typeCast.node) { + if ((_typeCast = typeCast) != null && _typeCast.node) { this.state = typeCast.failState; return typeCast.node; } - if ((_jsx3 = jsx) == null ? void 0 : _jsx3.thrown) throw jsx.error; + if ((_jsx3 = jsx) != null && _jsx3.thrown) throw jsx.error; if (arrow.thrown) throw arrow.error; - if ((_typeCast2 = typeCast) == null ? void 0 : _typeCast2.thrown) throw typeCast.error; + if ((_typeCast2 = typeCast) != null && _typeCast2.thrown) throw typeCast.error; throw ((_jsx4 = jsx) == null ? void 0 : _jsx4.error) || arrow.error || ((_typeCast3 = typeCast) == null ? void 0 : _typeCast3.error); } @@ -7128,10 +7657,10 @@ var typescript = (superClass => class extends superClass { } parseArrow(node) { - if (this.match(types.colon)) { + if (this.match(types$1.colon)) { const result = this.tryParse(abort => { - const returnType = this.tsParseTypeOrTypePredicateAnnotation(types.colon); - if (this.canInsertSemicolon() || !this.match(types.arrow)) abort(); + const returnType = this.tsParseTypeOrTypePredicateAnnotation(types$1.colon); + if (this.canInsertSemicolon() || !this.match(types$1.arrow)) abort(); return returnType; }); if (result.aborted) return; @@ -7146,8 +7675,8 @@ var typescript = (superClass => class extends superClass { } parseAssignableListItemTypes(param) { - if (this.eat(types.question)) { - if (param.type !== "Identifier" && !this.state.isDeclareContext && !this.state.inType) { + if (this.eat(types$1.question)) { + if (param.type !== "Identifier" && !this.state.isAmbientContext && !this.state.inType) { this.raise(param.start, TSErrors.PatternIsOptional); } @@ -7168,9 +7697,26 @@ var typescript = (superClass => class extends superClass { case "TSParameterProperty": return super.toAssignable(node, isLHS); + case "ParenthesizedExpression": + return this.toAssignableParenthesizedExpression(node, isLHS); + + case "TSAsExpression": + case "TSNonNullExpression": + case "TSTypeAssertion": + node.expression = this.toAssignable(node.expression, isLHS); + return node; + + default: + return super.toAssignable(node, isLHS); + } + } + + toAssignableParenthesizedExpression(node, isLHS) { + switch (node.expression.type) { case "TSAsExpression": case "TSNonNullExpression": case "TSTypeAssertion": + case "ParenthesizedExpression": node.expression = this.toAssignable(node.expression, isLHS); return node; @@ -7180,6 +7726,8 @@ var typescript = (superClass => class extends superClass { } checkLVal(expr, contextDescription, ...args) { + var _expr$extra2; + switch (expr.type) { case "TSTypeCastExpression": return; @@ -7189,8 +7737,16 @@ var typescript = (superClass => class extends superClass { return; case "TSAsExpression": - case "TSNonNullExpression": case "TSTypeAssertion": + if (!args[0] && contextDescription !== "parenthesized expression" && !((_expr$extra2 = expr.extra) != null && _expr$extra2.parenthesized)) { + this.raise(expr.start, ErrorMessages.InvalidLhs, contextDescription); + break; + } + + this.checkLVal(expr.expression, "parenthesized expression", ...args); + return; + + case "TSNonNullExpression": this.checkLVal(expr.expression, contextDescription, ...args); return; @@ -7202,7 +7758,7 @@ var typescript = (superClass => class extends superClass { parseBindingAtom() { switch (this.state.type) { - case types._this: + case types$1._this: return this.parseIdentifier(true); default: @@ -7214,24 +7770,32 @@ var typescript = (superClass => class extends superClass { if (this.isRelational("<")) { const typeArguments = this.tsParseTypeArguments(); - if (this.match(types.parenL)) { + if (this.match(types$1.parenL)) { const call = super.parseMaybeDecoratorArguments(expr); call.typeParameters = typeArguments; return call; } - this.unexpected(this.state.start, types.parenL); + this.unexpected(this.state.start, types$1.parenL); } return super.parseMaybeDecoratorArguments(expr); } + checkCommaAfterRest(close) { + if (this.state.isAmbientContext && this.match(types$1.comma) && this.lookaheadCharCode() === close) { + this.next(); + } else { + super.checkCommaAfterRest(close); + } + } + isClassMethod() { return this.isRelational("<") || super.isClassMethod(); } isClassProperty() { - return this.match(types.bang) || this.match(types.colon) || super.isClassProperty(); + return this.match(types$1.bang) || this.match(types$1.colon) || super.isClassProperty(); } parseMaybeDefault(...args) { @@ -7246,14 +7810,14 @@ var typescript = (superClass => class extends superClass { getTokenFromCode(code) { if (this.state.inType && (code === 62 || code === 60)) { - return this.finishOp(types.relational, 1); + return this.finishOp(types$1.relational, 1); } else { return super.getTokenFromCode(code); } } reScan_lt_gt() { - if (this.match(types.relational)) { + if (this.match(types$1.relational)) { const code = this.input.charCodeAt(this.state.start); if (code === 60 || code === 62) { @@ -7295,11 +7859,11 @@ var typescript = (superClass => class extends superClass { } shouldParseArrow() { - return this.match(types.colon) || super.shouldParseArrow(); + return this.match(types$1.colon) || super.shouldParseArrow(); } shouldParseAsyncArrow() { - return this.match(types.colon) || super.shouldParseAsyncArrow(); + return this.match(types$1.colon) || super.shouldParseAsyncArrow(); } canHaveLeadingDecorator() { @@ -7319,7 +7883,7 @@ var typescript = (superClass => class extends superClass { const baseCount = super.getGetterSetterExpectedParamCount(method); const params = this.getObjectOrClassMethodParams(method); const firstParam = params[0]; - const hasContextParam = firstParam && firstParam.type === "Identifier" && firstParam.name === "this"; + const hasContextParam = firstParam && this.isThisParam(firstParam); return hasContextParam ? baseCount + 1 : baseCount; } @@ -7335,31 +7899,98 @@ var typescript = (superClass => class extends superClass { return param; } - tsInDeclareContext(cb) { - const oldIsDeclareContext = this.state.isDeclareContext; - this.state.isDeclareContext = true; + tsInAmbientContext(cb) { + const oldIsAmbientContext = this.state.isAmbientContext; + this.state.isAmbientContext = true; try { return cb(); } finally { - this.state.isDeclareContext = oldIsDeclareContext; + this.state.isAmbientContext = oldIsAmbientContext; + } + } + + parseClass(node, ...args) { + const oldInAbstractClass = this.state.inAbstractClass; + this.state.inAbstractClass = !!node.abstract; + + try { + return super.parseClass(node, ...args); + } finally { + this.state.inAbstractClass = oldInAbstractClass; + } + } + + tsParseAbstractDeclaration(node) { + if (this.match(types$1._class)) { + node.abstract = true; + return this.parseClass(node, true, false); + } else if (this.isContextual("interface")) { + if (!this.hasFollowingLineBreak()) { + node.abstract = true; + this.raise(node.start, TSErrors.NonClassMethodPropertyHasAbstractModifer); + this.next(); + return this.tsParseInterfaceDeclaration(node); + } + } else { + this.unexpected(null, types$1._class); + } + } + + parseMethod(...args) { + const method = super.parseMethod(...args); + + if (method.abstract) { + const hasBody = this.hasPlugin("estree") ? !!method.value.body : !!method.body; + + if (hasBody) { + const { + key + } = method; + this.raise(method.start, TSErrors.AbstractMethodHasImplementation, key.type === "Identifier" ? key.name : `[${this.input.slice(key.start, key.end)}]`); + } + } + + return method; + } + + shouldParseAsAmbientContext() { + return !!this.getPluginOption("typescript", "dts"); + } + + parse() { + if (this.shouldParseAsAmbientContext()) { + this.state.isAmbientContext = true; + } + + return super.parse(); + } + + getExpression() { + if (this.shouldParseAsAmbientContext()) { + this.state.isAmbientContext = true; } + + return super.getExpression(); } }); -types.placeholder = new TokenType("%%", { +types$1.placeholder = new TokenType("%%", { startsExpr: true }); +const PlaceHolderErrors = makeErrorTemplates({ + ClassNameIsRequired: "A class name is required." +}, ErrorCodes.SyntaxError); var placeholders = (superClass => class extends superClass { parsePlaceholder(expectedNode) { - if (this.match(types.placeholder)) { + if (this.match(types$1.placeholder)) { const node = this.startNode(); this.next(); this.assertNoSpace("Unexpected space in placeholder."); node.name = super.parseIdentifier(true); this.assertNoSpace("Unexpected space in placeholder."); - this.expect(types.placeholder); + this.expect(types$1.placeholder); return this.finishPlaceholder(node, expectedNode); } } @@ -7372,7 +8003,7 @@ var placeholders = (superClass => class extends superClass { getTokenFromCode(code) { if (code === 37 && this.input.charCodeAt(this.state.pos + 1) === 37) { - return this.finishOp(types.placeholder, 2); + return this.finishOp(types$1.placeholder, 2); } return super.getTokenFromCode(...arguments); @@ -7407,6 +8038,25 @@ var placeholders = (superClass => class extends superClass { return super.toAssignable(...arguments); } + isLet(context) { + if (super.isLet(context)) { + return true; + } + + if (!this.isContextual("let")) { + return false; + } + + if (context) return false; + const nextToken = this.lookahead(); + + if (nextToken.type === types$1.placeholder) { + return true; + } + + return false; + } + verifyBreakContinue(node) { if (node.label && node.label.type === "Placeholder") return; super.verifyBreakContinue(...arguments); @@ -7417,7 +8067,7 @@ var placeholders = (superClass => class extends superClass { return super.parseExpressionStatement(...arguments); } - if (this.match(types.colon)) { + if (this.match(types$1.colon)) { const stmt = node; stmt.label = this.finishPlaceholder(expr, "Identifier"); this.next(); @@ -7446,14 +8096,14 @@ var placeholders = (superClass => class extends superClass { const placeholder = this.parsePlaceholder("Identifier"); if (placeholder) { - if (this.match(types._extends) || this.match(types.placeholder) || this.match(types.braceL)) { + if (this.match(types$1._extends) || this.match(types$1.placeholder) || this.match(types$1.braceL)) { node.id = placeholder; } else if (optionalId || !isStatement) { node.id = null; node.body = this.finishPlaceholder(placeholder, "ClassBody"); return this.finishNode(node, type); } else { - this.unexpected(null, "A class name is required"); + this.unexpected(null, PlaceHolderErrors.ClassNameIsRequired); } } else { this.parseClassId(node, isStatement, optionalId); @@ -7468,7 +8118,7 @@ var placeholders = (superClass => class extends superClass { const placeholder = this.parsePlaceholder("Identifier"); if (!placeholder) return super.parseExport(...arguments); - if (!this.isContextual("from") && !this.match(types.comma)) { + if (!this.isContextual("from") && !this.match(types$1.comma)) { node.specifiers = []; node.source = null; node.declaration = this.finishPlaceholder(placeholder, "Declaration"); @@ -7483,11 +8133,11 @@ var placeholders = (superClass => class extends superClass { } isExportDefaultSpecifier() { - if (this.match(types._default)) { + if (this.match(types$1._default)) { const next = this.nextTokenStart(); if (this.isUnparsedContextual(next, "from")) { - if (this.input.startsWith(types.placeholder.label, this.nextTokenStartSince(next + 4))) { + if (this.input.startsWith(types$1.placeholder.label, this.nextTokenStartSince(next + 4))) { return true; } } @@ -7509,7 +8159,7 @@ var placeholders = (superClass => class extends superClass { specifiers } = node; - if (specifiers == null ? void 0 : specifiers.length) { + if (specifiers != null && specifiers.length) { node.specifiers = specifiers.filter(node => node.exported.type === "Placeholder"); } @@ -7522,7 +8172,7 @@ var placeholders = (superClass => class extends superClass { if (!placeholder) return super.parseImport(...arguments); node.specifiers = []; - if (!this.isContextual("from") && !this.match(types.comma)) { + if (!this.isContextual("from") && !this.match(types$1.comma)) { node.source = this.finishPlaceholder(placeholder, "StringLiteral"); this.semicolon(); return this.finishNode(node, "ImportDeclaration"); @@ -7533,7 +8183,7 @@ var placeholders = (superClass => class extends superClass { this.finishNode(specifier, "ImportDefaultSpecifier"); node.specifiers.push(specifier); - if (this.eat(types.comma)) { + if (this.eat(types$1.comma)) { const hasStarImport = this.maybeParseStarImportSpecifier(node); if (!hasStarImport) this.parseNamedImportSpecifiers(node); } @@ -7552,17 +8202,17 @@ var placeholders = (superClass => class extends superClass { var v8intrinsic = (superClass => class extends superClass { parseV8Intrinsic() { - if (this.match(types.modulo)) { + if (this.match(types$1.modulo)) { const v8IntrinsicStart = this.state.start; const node = this.startNode(); - this.eat(types.modulo); + this.eat(types$1.modulo); - if (this.match(types.name)) { + if (this.match(types$1.name)) { const name = this.parseIdentifierName(this.state.start); const identifier = this.createIdentifier(node, name); identifier.type = "V8IntrinsicIdentifier"; - if (this.match(types.parenL)) { + if (this.match(types$1.parenL)) { return identifier; } } @@ -7621,151 +8271,79 @@ function validatePlugins(plugins) { if (hasPlugin(plugins, "flow") && hasPlugin(plugins, "typescript")) { throw new Error("Cannot combine flow and typescript plugins."); } - - if (hasPlugin(plugins, "placeholders") && hasPlugin(plugins, "v8intrinsic")) { - throw new Error("Cannot combine placeholders and v8intrinsic plugins."); - } - - if (hasPlugin(plugins, "pipelineOperator") && !PIPELINE_PROPOSALS.includes(getPluginOption(plugins, "pipelineOperator", "proposal"))) { - throw new Error("'pipelineOperator' requires 'proposal' option whose value should be one of: " + PIPELINE_PROPOSALS.map(p => `'${p}'`).join(", ")); - } - - if (hasPlugin(plugins, "moduleAttributes")) { - if (hasPlugin(plugins, "importAssertions")) { - throw new Error("Cannot combine importAssertions and moduleAttributes plugins."); - } - - const moduleAttributesVerionPluginOption = getPluginOption(plugins, "moduleAttributes", "version"); - - if (moduleAttributesVerionPluginOption !== "may-2020") { - throw new Error("The 'moduleAttributes' plugin requires a 'version' option," + " representing the last proposal update. Currently, the" + " only supported value is 'may-2020'."); - } - } - - if (hasPlugin(plugins, "recordAndTuple") && !RECORD_AND_TUPLE_SYNTAX_TYPES.includes(getPluginOption(plugins, "recordAndTuple", "syntaxType"))) { - throw new Error("'recordAndTuple' requires 'syntaxType' option whose value should be one of: " + RECORD_AND_TUPLE_SYNTAX_TYPES.map(p => `'${p}'`).join(", ")); - } -} -const mixinPlugins = { - estree, - jsx, - flow, - typescript, - v8intrinsic, - placeholders -}; -const mixinPluginNames = Object.keys(mixinPlugins); - -const defaultOptions = { - sourceType: "script", - sourceFilename: undefined, - startLine: 1, - allowAwaitOutsideFunction: false, - allowReturnOutsideFunction: false, - allowImportExportEverywhere: false, - allowSuperOutsideMethod: false, - allowUndeclaredExports: false, - plugins: [], - strictMode: null, - ranges: false, - tokens: false, - createParenthesizedExpressions: false, - errorRecovery: false -}; -function getOptions(opts) { - const options = {}; - - for (let _i = 0, _Object$keys = Object.keys(defaultOptions); _i < _Object$keys.length; _i++) { - const key = _Object$keys[_i]; - options[key] = opts && opts[key] != null ? opts[key] : defaultOptions[key]; - } - - return options; -} - -class State { - constructor() { - this.strict = void 0; - this.curLine = void 0; - this.startLoc = void 0; - this.endLoc = void 0; - this.errors = []; - this.potentialArrowAt = -1; - this.noArrowAt = []; - this.noArrowParamsConversionAt = []; - this.maybeInArrowParameters = false; - this.inPipeline = false; - this.inType = false; - this.noAnonFunctionType = false; - this.inPropertyName = false; - this.hasFlowComment = false; - this.isIterator = false; - this.isDeclareContext = false; - this.topicContext = { - maxNumOfResolvableTopics: 0, - maxTopicIndex: null - }; - this.soloAwait = false; - this.inFSharpPipelineDirectBody = false; - this.labels = []; - this.decoratorStack = [[]]; - this.comments = []; - this.trailingComments = []; - this.leadingComments = []; - this.commentStack = []; - this.commentPreviousNode = null; - this.pos = 0; - this.lineStart = 0; - this.type = types.eof; - this.value = null; - this.start = 0; - this.end = 0; - this.lastTokEndLoc = null; - this.lastTokStartLoc = null; - this.lastTokStart = 0; - this.lastTokEnd = 0; - this.context = [types$1.braceStatement]; - this.exprAllowed = true; - this.containsEsc = false; - this.strictErrors = new Map(); - this.exportedIdentifiers = []; - this.tokensLength = 0; - } - - init(options) { - this.strict = options.strictMode === false ? false : options.sourceType === "module"; - this.curLine = options.startLine; - this.startLoc = this.endLoc = this.curPosition(); + + if (hasPlugin(plugins, "placeholders") && hasPlugin(plugins, "v8intrinsic")) { + throw new Error("Cannot combine placeholders and v8intrinsic plugins."); } - curPosition() { - return new Position(this.curLine, this.pos - this.lineStart); + if (hasPlugin(plugins, "pipelineOperator") && !PIPELINE_PROPOSALS.includes(getPluginOption(plugins, "pipelineOperator", "proposal"))) { + throw new Error("'pipelineOperator' requires 'proposal' option whose value should be one of: " + PIPELINE_PROPOSALS.map(p => `'${p}'`).join(", ")); } - clone(skipArrays) { - const state = new State(); - const keys = Object.keys(this); + if (hasPlugin(plugins, "moduleAttributes")) { + { + if (hasPlugin(plugins, "importAssertions")) { + throw new Error("Cannot combine importAssertions and moduleAttributes plugins."); + } - for (let i = 0, length = keys.length; i < length; i++) { - const key = keys[i]; - let val = this[key]; + const moduleAttributesVerionPluginOption = getPluginOption(plugins, "moduleAttributes", "version"); - if (!skipArrays && Array.isArray(val)) { - val = val.slice(); + if (moduleAttributesVerionPluginOption !== "may-2020") { + throw new Error("The 'moduleAttributes' plugin requires a 'version' option," + " representing the last proposal update. Currently, the" + " only supported value is 'may-2020'."); } - - state[key] = val; } + } - return state; + if (hasPlugin(plugins, "recordAndTuple") && !RECORD_AND_TUPLE_SYNTAX_TYPES.includes(getPluginOption(plugins, "recordAndTuple", "syntaxType"))) { + throw new Error("'recordAndTuple' requires 'syntaxType' option whose value should be one of: " + RECORD_AND_TUPLE_SYNTAX_TYPES.map(p => `'${p}'`).join(", ")); + } + + if (hasPlugin(plugins, "asyncDoExpressions") && !hasPlugin(plugins, "doExpressions")) { + const error = new Error("'asyncDoExpressions' requires 'doExpressions', please add 'doExpressions' to parser plugins."); + error.missingPlugins = "doExpressions"; + throw error; + } +} +const mixinPlugins = { + estree, + jsx, + flow, + typescript, + v8intrinsic, + placeholders +}; +const mixinPluginNames = Object.keys(mixinPlugins); + +const defaultOptions = { + sourceType: "script", + sourceFilename: undefined, + startLine: 1, + allowAwaitOutsideFunction: false, + allowReturnOutsideFunction: false, + allowImportExportEverywhere: false, + allowSuperOutsideMethod: false, + allowUndeclaredExports: false, + plugins: [], + strictMode: null, + ranges: false, + tokens: false, + createParenthesizedExpressions: false, + errorRecovery: false +}; +function getOptions(opts) { + const options = {}; + + for (const key of Object.keys(defaultOptions)) { + options[key] = opts && opts[key] != null ? opts[key] : defaultOptions[key]; } + return options; } var _isDigit = function isDigit(code) { return code >= 48 && code <= 57; }; -const VALID_REGEX_FLAGS = new Set(["g", "m", "s", "i", "y", "u"]); +const VALID_REGEX_FLAGS = new Set([103, 109, 115, 105, 121, 117, 100]); const forbiddenNumericSeparatorSiblings = { decBinOct: [46, 66, 69, 79, 95, 98, 101, 111], hex: [46, 88, 95, 120] @@ -7804,12 +8382,10 @@ class Tokenizer extends ParserError { } next() { - if (!this.isLookahead) { - this.checkKeywordEscapes(); + this.checkKeywordEscapes(); - if (this.options.tokens) { - this.pushToken(new Token(this.state)); - } + if (this.options.tokens) { + this.pushToken(new Token(this.state)); } this.state.lastTokEnd = this.state.end; @@ -7832,11 +8408,24 @@ class Tokenizer extends ParserError { return this.state.type === type; } + createLookaheadState(state) { + return { + pos: state.pos, + value: null, + type: state.type, + start: state.start, + end: state.end, + lastTokEnd: state.end, + context: [this.curContext()], + inType: state.inType + }; + } + lookahead() { const old = this.state; - this.state = old.clone(true); + this.state = this.createLookaheadState(old); this.isLookahead = true; - this.next(); + this.nextToken(); this.isLookahead = false; const curr = this.state; this.state = old; @@ -7857,6 +8446,20 @@ class Tokenizer extends ParserError { return this.input.charCodeAt(this.nextTokenStart()); } + codePointAtPos(pos) { + let cp = this.input.charCodeAt(pos); + + if ((cp & 0xfc00) === 0xd800 && ++pos < this.input.length) { + const trail = this.input.charCodeAt(pos); + + if ((trail & 0xfc00) === 0xdc00) { + cp = 0x10000 + ((cp & 0x3ff) << 10) + (trail & 0x3ff); + } + } + + return cp; + } + setStrict(strict) { this.state.strict = strict; @@ -7872,21 +8475,19 @@ class Tokenizer extends ParserError { nextToken() { const curContext = this.curContext(); - if (!(curContext == null ? void 0 : curContext.preserveSpace)) this.skipSpace(); + if (!curContext.preserveSpace) this.skipSpace(); this.state.start = this.state.pos; - this.state.startLoc = this.state.curPosition(); + if (!this.isLookahead) this.state.startLoc = this.state.curPosition(); if (this.state.pos >= this.length) { - this.finishToken(types.eof); + this.finishToken(types$1.eof); return; } - const override = curContext == null ? void 0 : curContext.override; - - if (override) { - override(this); + if (curContext === types.template) { + this.readTmplToken(); } else { - this.getTokenFromCode(this.input.codePointAt(this.state.pos)); + this.getTokenFromCode(this.codePointAtPos(this.state.pos)); } } @@ -7904,7 +8505,8 @@ class Tokenizer extends ParserError { } skipBlockComment() { - const startLoc = this.state.curPosition(); + let startLoc; + if (!this.isLookahead) startLoc = this.state.curPosition(); const start = this.state.pos; const end = this.input.indexOf("*/", this.state.pos + 2); if (end === -1) throw this.raise(start, ErrorMessages.UnterminatedComment); @@ -7923,7 +8525,8 @@ class Tokenizer extends ParserError { skipLineComment(startSkip) { const start = this.state.pos; - const startLoc = this.state.curPosition(); + let startLoc; + if (!this.isLookahead) startLoc = this.state.curPosition(); let ch = this.input.charCodeAt(this.state.pos += startSkip); if (this.state.pos < this.length) { @@ -7989,11 +8592,14 @@ class Tokenizer extends ParserError { finishToken(type, val) { this.state.end = this.state.pos; - this.state.endLoc = this.state.curPosition(); const prevType = this.state.type; this.state.type = type; this.state.value = val; - if (!this.isLookahead) this.updateContext(prevType); + + if (!this.isLookahead) { + this.state.endLoc = this.state.curPosition(); + this.updateContext(prevType); + } } readToken_numberSign() { @@ -8002,7 +8608,7 @@ class Tokenizer extends ParserError { } const nextPos = this.state.pos + 1; - const next = this.input.charCodeAt(nextPos); + const next = this.codePointAtPos(nextPos); if (next >= 48 && next <= 57) { throw this.raise(this.state.pos, ErrorMessages.UnexpectedDigitAfterHash); @@ -8015,15 +8621,21 @@ class Tokenizer extends ParserError { throw this.raise(this.state.pos, next === 123 ? ErrorMessages.RecordExpressionHashIncorrectStartSyntaxType : ErrorMessages.TupleExpressionHashIncorrectStartSyntaxType); } + this.state.pos += 2; + if (next === 123) { - this.finishToken(types.braceHashL); + this.finishToken(types$1.braceHashL); } else { - this.finishToken(types.bracketHashL); + this.finishToken(types$1.bracketHashL); } - - this.state.pos += 2; + } else if (isIdentifierStart(next)) { + ++this.state.pos; + this.finishToken(types$1.privateName, this.readWord1(next)); + } else if (next === 92) { + ++this.state.pos; + this.finishToken(types$1.privateName, this.readWord1()); } else { - this.finishOp(types.hash, 1); + this.finishOp(types$1.hash, 1); } } @@ -8037,26 +8649,20 @@ class Tokenizer extends ParserError { if (next === 46 && this.input.charCodeAt(this.state.pos + 2) === 46) { this.state.pos += 3; - this.finishToken(types.ellipsis); + this.finishToken(types$1.ellipsis); } else { ++this.state.pos; - this.finishToken(types.dot); + this.finishToken(types$1.dot); } } readToken_slash() { - if (this.state.exprAllowed && !this.state.inType) { - ++this.state.pos; - this.readRegexp(); - return; - } - const next = this.input.charCodeAt(this.state.pos + 1); if (next === 61) { - this.finishOp(types.assign, 2); + this.finishOp(types$1.slashAssign, 2); } else { - this.finishOp(types.slash, 1); + this.finishOp(types$1.slash, 1); } } @@ -8072,25 +8678,24 @@ class Tokenizer extends ParserError { } const value = this.input.slice(start + 2, this.state.pos); - this.finishToken(types.interpreterDirective, value); + this.finishToken(types$1.interpreterDirective, value); return true; } readToken_mult_modulo(code) { - let type = code === 42 ? types.star : types.modulo; + let type = code === 42 ? types$1.star : types$1.modulo; let width = 1; let next = this.input.charCodeAt(this.state.pos + 1); - const exprAllowed = this.state.exprAllowed; if (code === 42 && next === 42) { width++; next = this.input.charCodeAt(this.state.pos + 2); - type = types.exponent; + type = types$1.exponent; } - if (next === 61 && !exprAllowed) { + if (next === 61 && !this.state.inType) { width++; - type = types.assign; + type = types$1.assign; } this.finishOp(type, width); @@ -8101,9 +8706,9 @@ class Tokenizer extends ParserError { if (next === code) { if (this.input.charCodeAt(this.state.pos + 2) === 61) { - this.finishOp(types.assign, 3); + this.finishOp(types$1.assign, 3); } else { - this.finishOp(code === 124 ? types.logicalOR : types.logicalAND, 2); + this.finishOp(code === 124 ? types$1.logicalOR : types$1.logicalAND, 2); } return; @@ -8111,7 +8716,7 @@ class Tokenizer extends ParserError { if (code === 124) { if (next === 62) { - this.finishOp(types.pipeline, 2); + this.finishOp(types$1.pipeline, 2); return; } @@ -8120,7 +8725,8 @@ class Tokenizer extends ParserError { throw this.raise(this.state.pos, ErrorMessages.RecordExpressionBarIncorrectEndSyntaxType); } - this.finishOp(types.braceBarR, 2); + this.state.pos += 2; + this.finishToken(types$1.braceBarR); return; } @@ -8129,26 +8735,27 @@ class Tokenizer extends ParserError { throw this.raise(this.state.pos, ErrorMessages.TupleExpressionBarIncorrectEndSyntaxType); } - this.finishOp(types.bracketBarR, 2); + this.state.pos += 2; + this.finishToken(types$1.bracketBarR); return; } } if (next === 61) { - this.finishOp(types.assign, 2); + this.finishOp(types$1.assign, 2); return; } - this.finishOp(code === 124 ? types.bitwiseOR : types.bitwiseAND, 1); + this.finishOp(code === 124 ? types$1.bitwiseOR : types$1.bitwiseAND, 1); } readToken_caret() { const next = this.input.charCodeAt(this.state.pos + 1); if (next === 61) { - this.finishOp(types.assign, 2); + this.finishOp(types$1.assign, 2); } else { - this.finishOp(types.bitwiseXOR, 1); + this.finishOp(types$1.bitwiseXOR, 1); } } @@ -8163,14 +8770,14 @@ class Tokenizer extends ParserError { return; } - this.finishOp(types.incDec, 2); + this.finishOp(types$1.incDec, 2); return; } if (next === 61) { - this.finishOp(types.assign, 2); + this.finishOp(types$1.assign, 2); } else { - this.finishOp(types.plusMin, 1); + this.finishOp(types$1.plusMin, 1); } } @@ -8182,11 +8789,11 @@ class Tokenizer extends ParserError { size = code === 62 && this.input.charCodeAt(this.state.pos + 2) === 62 ? 3 : 2; if (this.input.charCodeAt(this.state.pos + size) === 61) { - this.finishOp(types.assign, size + 1); + this.finishOp(types$1.assign, size + 1); return; } - this.finishOp(types.bitShift, size); + this.finishOp(types$1.bitShift, size); return; } @@ -8201,24 +8808,24 @@ class Tokenizer extends ParserError { size = 2; } - this.finishOp(types.relational, size); + this.finishOp(types$1.relational, size); } readToken_eq_excl(code) { const next = this.input.charCodeAt(this.state.pos + 1); if (next === 61) { - this.finishOp(types.equality, this.input.charCodeAt(this.state.pos + 2) === 61 ? 3 : 2); + this.finishOp(types$1.equality, this.input.charCodeAt(this.state.pos + 2) === 61 ? 3 : 2); return; } if (code === 61 && next === 62) { this.state.pos += 2; - this.finishToken(types.arrow); + this.finishToken(types$1.arrow); return; } - this.finishOp(code === 61 ? types.eq : types.bang, 1); + this.finishOp(code === 61 ? types$1.eq : types$1.bang, 1); } readToken_question() { @@ -8227,16 +8834,16 @@ class Tokenizer extends ParserError { if (next === 63) { if (next2 === 61) { - this.finishOp(types.assign, 3); + this.finishOp(types$1.assign, 3); } else { - this.finishOp(types.nullishCoalescing, 2); + this.finishOp(types$1.nullishCoalescing, 2); } } else if (next === 46 && !(next2 >= 48 && next2 <= 57)) { this.state.pos += 2; - this.finishToken(types.questionDot); + this.finishToken(types$1.questionDot); } else { ++this.state.pos; - this.finishToken(types.question); + this.finishToken(types$1.question); } } @@ -8248,22 +8855,22 @@ class Tokenizer extends ParserError { case 40: ++this.state.pos; - this.finishToken(types.parenL); + this.finishToken(types$1.parenL); return; case 41: ++this.state.pos; - this.finishToken(types.parenR); + this.finishToken(types$1.parenR); return; case 59: ++this.state.pos; - this.finishToken(types.semi); + this.finishToken(types$1.semi); return; case 44: ++this.state.pos; - this.finishToken(types.comma); + this.finishToken(types$1.comma); return; case 91: @@ -8272,18 +8879,18 @@ class Tokenizer extends ParserError { throw this.raise(this.state.pos, ErrorMessages.TupleExpressionBarIncorrectStartSyntaxType); } - this.finishToken(types.bracketBarL); this.state.pos += 2; + this.finishToken(types$1.bracketBarL); } else { ++this.state.pos; - this.finishToken(types.bracketL); + this.finishToken(types$1.bracketL); } return; case 93: ++this.state.pos; - this.finishToken(types.bracketR); + this.finishToken(types$1.bracketR); return; case 123: @@ -8292,26 +8899,26 @@ class Tokenizer extends ParserError { throw this.raise(this.state.pos, ErrorMessages.RecordExpressionBarIncorrectStartSyntaxType); } - this.finishToken(types.braceBarL); this.state.pos += 2; + this.finishToken(types$1.braceBarL); } else { ++this.state.pos; - this.finishToken(types.braceL); + this.finishToken(types$1.braceL); } return; case 125: ++this.state.pos; - this.finishToken(types.braceR); + this.finishToken(types$1.braceR); return; case 58: if (this.hasPlugin("functionBind") && this.input.charCodeAt(this.state.pos + 1) === 58) { - this.finishOp(types.doubleColon, 2); + this.finishOp(types$1.doubleColon, 2); } else { ++this.state.pos; - this.finishToken(types.colon); + this.finishToken(types$1.colon); } return; @@ -8322,7 +8929,7 @@ class Tokenizer extends ParserError { case 96: ++this.state.pos; - this.finishToken(types.backQuote); + this.finishToken(types$1.backQuote); return; case 48: @@ -8396,12 +9003,12 @@ class Tokenizer extends ParserError { return; case 126: - this.finishOp(types.tilde, 1); + this.finishOp(types$1.tilde, 1); return; case 64: ++this.state.pos; - this.finishToken(types.at); + this.finishToken(types$1.at); return; case 35: @@ -8414,7 +9021,7 @@ class Tokenizer extends ParserError { default: if (isIdentifierStart(code)) { - this.readWord(); + this.readWord(code); return; } @@ -8430,60 +9037,62 @@ class Tokenizer extends ParserError { } readRegexp() { - const start = this.state.pos; + const start = this.state.start + 1; let escaped, inClass; + let { + pos + } = this.state; - for (;;) { - if (this.state.pos >= this.length) { + for (;; ++pos) { + if (pos >= this.length) { throw this.raise(start, ErrorMessages.UnterminatedRegExp); } - const ch = this.input.charAt(this.state.pos); + const ch = this.input.charCodeAt(pos); - if (lineBreak.test(ch)) { + if (isNewLine(ch)) { throw this.raise(start, ErrorMessages.UnterminatedRegExp); } if (escaped) { escaped = false; } else { - if (ch === "[") { + if (ch === 91) { inClass = true; - } else if (ch === "]" && inClass) { + } else if (ch === 93 && inClass) { inClass = false; - } else if (ch === "/" && !inClass) { + } else if (ch === 47 && !inClass) { break; } - escaped = ch === "\\"; + escaped = ch === 92; } - - ++this.state.pos; } - const content = this.input.slice(start, this.state.pos); - ++this.state.pos; + const content = this.input.slice(start, pos); + ++pos; let mods = ""; - while (this.state.pos < this.length) { - const char = this.input[this.state.pos]; - const charCode = this.input.codePointAt(this.state.pos); + while (pos < this.length) { + const cp = this.codePointAtPos(pos); + const char = String.fromCharCode(cp); - if (VALID_REGEX_FLAGS.has(char)) { - if (mods.indexOf(char) > -1) { - this.raise(this.state.pos + 1, ErrorMessages.DuplicateRegExpFlags); + if (VALID_REGEX_FLAGS.has(cp)) { + if (mods.includes(char)) { + this.raise(pos + 1, ErrorMessages.DuplicateRegExpFlags); } - } else if (isIdentifierChar(charCode) || charCode === 92) { - this.raise(this.state.pos + 1, ErrorMessages.MalformedRegExpFlags); + } else if (isIdentifierChar(cp) || cp === 92) { + this.raise(pos + 1, ErrorMessages.MalformedRegExpFlags); } else { break; } - ++this.state.pos; + ++pos; mods += char; } - this.finishToken(types.regexp, { + this.state.pos = pos; + this.finishToken(types$1.regexp, { pattern: content, flags: mods }); @@ -8570,17 +9179,17 @@ class Tokenizer extends ParserError { throw this.raise(start, ErrorMessages.InvalidDecimal); } - if (isIdentifierStart(this.input.codePointAt(this.state.pos))) { + if (isIdentifierStart(this.codePointAtPos(this.state.pos))) { throw this.raise(this.state.pos, ErrorMessages.NumberIdentifier); } if (isBigInt) { const str = this.input.slice(start, this.state.pos).replace(/[_n]/g, ""); - this.finishToken(types.bigint, str); + this.finishToken(types$1.bigint, str); return; } - this.finishToken(types.num, val); + this.finishToken(types$1.num, val); } readNumber(startsWithDot) { @@ -8657,24 +9266,24 @@ class Tokenizer extends ParserError { isDecimal = true; } - if (isIdentifierStart(this.input.codePointAt(this.state.pos))) { + if (isIdentifierStart(this.codePointAtPos(this.state.pos))) { throw this.raise(this.state.pos, ErrorMessages.NumberIdentifier); } const str = this.input.slice(start, this.state.pos).replace(/[_mn]/g, ""); if (isBigInt) { - this.finishToken(types.bigint, str); + this.finishToken(types$1.bigint, str); return; } if (isDecimal) { - this.finishToken(types.decimal, str); + this.finishToken(types$1.decimal, str); return; } const val = isOctal ? parseInt(str, 8) : parseFloat(str); - this.finishToken(types.num, val); + this.finishToken(types$1.num, val); } readCodePoint(throwOnInvalid) { @@ -8728,7 +9337,7 @@ class Tokenizer extends ParserError { } out += this.input.slice(chunkStart, this.state.pos++); - this.finishToken(types.string, out); + this.finishToken(types$1.string, out); } readTmplToken() { @@ -8744,20 +9353,20 @@ class Tokenizer extends ParserError { const ch = this.input.charCodeAt(this.state.pos); if (ch === 96 || ch === 36 && this.input.charCodeAt(this.state.pos + 1) === 123) { - if (this.state.pos === this.state.start && this.match(types.template)) { + if (this.state.pos === this.state.start && this.match(types$1.template)) { if (ch === 36) { this.state.pos += 2; - this.finishToken(types.dollarBraceL); + this.finishToken(types$1.dollarBraceL); return; } else { ++this.state.pos; - this.finishToken(types.backQuote); + this.finishToken(types$1.backQuote); return; } } out += this.input.slice(chunkStart, this.state.pos); - this.finishToken(types.template, containsInvalid ? null : out); + this.finishToken(types$1.template, containsInvalid ? null : out); return; } @@ -8910,19 +9519,21 @@ class Tokenizer extends ParserError { return n; } - readWord1() { - let word = ""; + readWord1(firstCode) { this.state.containsEsc = false; + let word = ""; const start = this.state.pos; let chunkStart = this.state.pos; + if (firstCode !== undefined) { + this.state.pos += firstCode <= 0xffff ? 1 : 2; + } + while (this.state.pos < this.length) { - const ch = this.input.codePointAt(this.state.pos); + const ch = this.codePointAtPos(this.state.pos); if (isIdentifierChar(ch)) { this.state.pos += ch <= 0xffff ? 1 : 2; - } else if (this.state.isIterator && ch === 64) { - ++this.state.pos; } else if (ch === 92) { this.state.containsEsc = true; word += this.input.slice(chunkStart, this.state.pos); @@ -8931,6 +9542,7 @@ class Tokenizer extends ParserError { if (this.input.charCodeAt(++this.state.pos) !== 117) { this.raise(this.state.pos, ErrorMessages.MissingUnicodeEscape); + chunkStart = this.state.pos - 1; continue; } @@ -8954,18 +9566,9 @@ class Tokenizer extends ParserError { return word + this.input.slice(chunkStart, this.state.pos); } - isIterator(word) { - return word === "@@iterator" || word === "@@asyncIterator"; - } - - readWord() { - const word = this.readWord1(); - const type = keywords.get(word) || types.name; - - if (this.state.isIterator && (!this.isIterator(word) || !this.state.inType)) { - this.raise(this.state.pos, ErrorMessages.InvalidIdentifier, word); - } - + readWord(firstCode) { + const word = this.readWord1(firstCode); + const type = keywords$1.get(word) || types$1.name; this.finishToken(type, word); } @@ -8977,54 +9580,232 @@ class Tokenizer extends ParserError { } } - braceIsBlock(prevType) { - const parent = this.curContext(); + updateContext(prevType) { + var _this$state$type$upda, _this$state$type; + + (_this$state$type$upda = (_this$state$type = this.state.type).updateContext) == null ? void 0 : _this$state$type$upda.call(_this$state$type, this.state.context); + } + +} + +class ClassScope { + constructor() { + this.privateNames = new Set(); + this.loneAccessors = new Map(); + this.undefinedPrivateNames = new Map(); + } + +} +class ClassScopeHandler { + constructor(raise) { + this.stack = []; + this.undefinedPrivateNames = new Map(); + this.raise = raise; + } + + current() { + return this.stack[this.stack.length - 1]; + } + + enter() { + this.stack.push(new ClassScope()); + } + + exit() { + const oldClassScope = this.stack.pop(); + const current = this.current(); + + for (const [name, pos] of Array.from(oldClassScope.undefinedPrivateNames)) { + if (current) { + if (!current.undefinedPrivateNames.has(name)) { + current.undefinedPrivateNames.set(name, pos); + } + } else { + this.raise(pos, ErrorMessages.InvalidPrivateFieldResolution, name); + } + } + } + + declarePrivateName(name, elementType, pos) { + const classScope = this.current(); + let redefined = classScope.privateNames.has(name); + + if (elementType & CLASS_ELEMENT_KIND_ACCESSOR) { + const accessor = redefined && classScope.loneAccessors.get(name); + + if (accessor) { + const oldStatic = accessor & CLASS_ELEMENT_FLAG_STATIC; + const newStatic = elementType & CLASS_ELEMENT_FLAG_STATIC; + const oldKind = accessor & CLASS_ELEMENT_KIND_ACCESSOR; + const newKind = elementType & CLASS_ELEMENT_KIND_ACCESSOR; + redefined = oldKind === newKind || oldStatic !== newStatic; + if (!redefined) classScope.loneAccessors.delete(name); + } else if (!redefined) { + classScope.loneAccessors.set(name, elementType); + } + } + + if (redefined) { + this.raise(pos, ErrorMessages.PrivateNameRedeclaration, name); + } + + classScope.privateNames.add(name); + classScope.undefinedPrivateNames.delete(name); + } + + usePrivateName(name, pos) { + let classScope; + + for (classScope of this.stack) { + if (classScope.privateNames.has(name)) return; + } + + if (classScope) { + classScope.undefinedPrivateNames.set(name, pos); + } else { + this.raise(pos, ErrorMessages.InvalidPrivateFieldResolution, name); + } + } + +} + +const kExpression = 0, + kMaybeArrowParameterDeclaration = 1, + kMaybeAsyncArrowParameterDeclaration = 2, + kParameterDeclaration = 3; + +class ExpressionScope { + constructor(type = kExpression) { + this.type = void 0; + this.type = type; + } + + canBeArrowParameterDeclaration() { + return this.type === kMaybeAsyncArrowParameterDeclaration || this.type === kMaybeArrowParameterDeclaration; + } + + isCertainlyParameterDeclaration() { + return this.type === kParameterDeclaration; + } + +} + +class ArrowHeadParsingScope extends ExpressionScope { + constructor(type) { + super(type); + this.errors = new Map(); + } + + recordDeclarationError(pos, template) { + this.errors.set(pos, template); + } + + clearDeclarationError(pos) { + this.errors.delete(pos); + } + + iterateErrors(iterator) { + this.errors.forEach(iterator); + } + +} + +class ExpressionScopeHandler { + constructor(raise) { + this.stack = [new ExpressionScope()]; + this.raise = raise; + } + + enter(scope) { + this.stack.push(scope); + } + + exit() { + this.stack.pop(); + } + + recordParameterInitializerError(pos, template) { + const { + stack + } = this; + let i = stack.length - 1; + let scope = stack[i]; + + while (!scope.isCertainlyParameterDeclaration()) { + if (scope.canBeArrowParameterDeclaration()) { + scope.recordDeclarationError(pos, template); + } else { + return; + } - if (parent === types$1.functionExpression || parent === types$1.functionStatement) { - return true; + scope = stack[--i]; } - if (prevType === types.colon && (parent === types$1.braceStatement || parent === types$1.braceExpression)) { - return !parent.isExpr; - } + this.raise(pos, template); + } - if (prevType === types._return || prevType === types.name && this.state.exprAllowed) { - return this.hasPrecedingLineBreak(); - } + recordParenthesizedIdentifierError(pos, template) { + const { + stack + } = this; + const scope = stack[stack.length - 1]; - if (prevType === types._else || prevType === types.semi || prevType === types.eof || prevType === types.parenR || prevType === types.arrow) { - return true; + if (scope.isCertainlyParameterDeclaration()) { + this.raise(pos, template); + } else if (scope.canBeArrowParameterDeclaration()) { + scope.recordDeclarationError(pos, template); + } else { + return; } + } - if (prevType === types.braceL) { - return parent === types$1.braceStatement; - } + recordAsyncArrowParametersError(pos, template) { + const { + stack + } = this; + let i = stack.length - 1; + let scope = stack[i]; - if (prevType === types._var || prevType === types._const || prevType === types.name) { - return false; - } + while (scope.canBeArrowParameterDeclaration()) { + if (scope.type === kMaybeAsyncArrowParameterDeclaration) { + scope.recordDeclarationError(pos, template); + } - if (prevType === types.relational) { - return true; + scope = stack[--i]; } - - return !this.state.exprAllowed; } - updateContext(prevType) { - const type = this.state.type; - let update; + validateAsPattern() { + const { + stack + } = this; + const currentScope = stack[stack.length - 1]; + if (!currentScope.canBeArrowParameterDeclaration()) return; + currentScope.iterateErrors((template, pos) => { + this.raise(pos, template); + let i = stack.length - 2; + let scope = stack[i]; - if (type.keyword && (prevType === types.dot || prevType === types.questionDot)) { - this.state.exprAllowed = false; - } else if (update = type.updateContext) { - update.call(this, prevType); - } else { - this.state.exprAllowed = type.beforeExpr; - } + while (scope.canBeArrowParameterDeclaration()) { + scope.clearDeclarationError(pos); + scope = stack[--i]; + } + }); } } +function newParameterDeclarationScope() { + return new ExpressionScope(kParameterDeclaration); +} +function newArrowHeadScope() { + return new ArrowHeadParsingScope(kMaybeArrowParameterDeclaration); +} +function newAsyncArrowScope() { + return new ArrowHeadParsingScope(kMaybeAsyncArrowParameterDeclaration); +} +function newExpressionScope() { + return new ExpressionScope(); +} class UtilParser extends Tokenizer { addExtra(node, key, val) { @@ -9034,24 +9815,30 @@ class UtilParser extends Tokenizer { } isRelational(op) { - return this.match(types.relational) && this.state.value === op; + return this.match(types$1.relational) && this.state.value === op; } expectRelational(op) { if (this.isRelational(op)) { this.next(); } else { - this.unexpected(null, types.relational); + this.unexpected(null, types$1.relational); } } isContextual(name) { - return this.match(types.name) && this.state.value === name && !this.state.containsEsc; + return this.match(types$1.name) && this.state.value === name && !this.state.containsEsc; } isUnparsedContextual(nameStart, name) { const nameEnd = nameStart + name.length; - return this.input.slice(nameStart, nameEnd) === name && (nameEnd === this.input.length || !isIdentifierChar(this.input.charCodeAt(nameEnd))); + + if (this.input.slice(nameStart, nameEnd) === name) { + const nextCh = this.input.charCodeAt(nameEnd); + return !(isIdentifierChar(nextCh) || (nextCh & 0xfc00) === 0xd800); + } + + return false; } isLookaheadContextual(name) { @@ -9060,27 +9847,32 @@ class UtilParser extends Tokenizer { } eatContextual(name) { - return this.isContextual(name) && this.eat(types.name); + return this.isContextual(name) && this.eat(types$1.name); } - expectContextual(name, message) { - if (!this.eatContextual(name)) this.unexpected(null, message); + expectContextual(name, template) { + if (!this.eatContextual(name)) this.unexpected(null, template); } canInsertSemicolon() { - return this.match(types.eof) || this.match(types.braceR) || this.hasPrecedingLineBreak(); + return this.match(types$1.eof) || this.match(types$1.braceR) || this.hasPrecedingLineBreak(); } hasPrecedingLineBreak() { return lineBreak.test(this.input.slice(this.state.lastTokEnd, this.state.start)); } + hasFollowingLineBreak() { + return lineBreak.test(this.input.slice(this.state.end, this.nextTokenStart())); + } + isLineTerminator() { - return this.eat(types.semi) || this.canInsertSemicolon(); + return this.eat(types$1.semi) || this.canInsertSemicolon(); } - semicolon() { - if (!this.isLineTerminator()) this.unexpected(null, types.semi); + semicolon(allowAsi = true) { + if (allowAsi ? this.isLineTerminator() : this.eat(types$1.semi)) return; + this.raise(this.state.lastTokEnd, ErrorMessages.MissingSemicolon); } expect(type, pos) { @@ -9089,13 +9881,25 @@ class UtilParser extends Tokenizer { assertNoSpace(message = "Unexpected space.") { if (this.state.start > this.state.lastTokEnd) { - this.raise(this.state.lastTokEnd, message); + this.raise(this.state.lastTokEnd, { + code: ErrorCodes.SyntaxError, + reasonCode: "UnexpectedSpace", + template: message + }); } } - unexpected(pos, messageOrType = "Unexpected token") { - if (typeof messageOrType !== "string") { - messageOrType = `Unexpected token, expected "${messageOrType.label}"`; + unexpected(pos, messageOrType = { + code: ErrorCodes.SyntaxError, + reasonCode: "UnexpectedToken", + template: "Unexpected token" + }) { + if (messageOrType instanceof TokenType) { + messageOrType = { + code: ErrorCodes.SyntaxError, + reasonCode: "UnexpectedToken", + template: `Unexpected token, expected "${messageOrType.label}"` + }; } throw this.raise(pos != null ? pos : this.state.start, messageOrType); @@ -9133,6 +9937,7 @@ class UtilParser extends Tokenizer { if (this.state.errors.length > oldState.errors.length) { const failState = this.state; this.state = oldState; + this.state.tokensLength = failState.tokensLength; return { node, error: failState.errors[oldState.errors.length], @@ -9195,7 +10000,7 @@ class UtilParser extends Tokenizer { } isLiteralPropertyName() { - return this.match(types.name) || !!this.state.type.keyword || this.match(types.string) || this.match(types.num) || this.match(types.bigint) || this.match(types.decimal); + return this.match(types$1.name) || !!this.state.type.keyword || this.match(types$1.string) || this.match(types$1.num) || this.match(types$1.bigint) || this.match(types$1.decimal); } isPrivateName(node) { @@ -9222,6 +10027,44 @@ class UtilParser extends Tokenizer { return node.type === "ObjectMethod"; } + initializeScopes(inModule = this.options.sourceType === "module") { + const oldLabels = this.state.labels; + this.state.labels = []; + const oldExportedIdentifiers = this.exportedIdentifiers; + this.exportedIdentifiers = new Set(); + const oldInModule = this.inModule; + this.inModule = inModule; + const oldScope = this.scope; + const ScopeHandler = this.getScopeHandler(); + this.scope = new ScopeHandler(this.raise.bind(this), this.inModule); + const oldProdParam = this.prodParam; + this.prodParam = new ProductionParameterHandler(); + const oldClassScope = this.classScope; + this.classScope = new ClassScopeHandler(this.raise.bind(this)); + const oldExpressionScope = this.expressionScope; + this.expressionScope = new ExpressionScopeHandler(this.raise.bind(this)); + return () => { + this.state.labels = oldLabels; + this.exportedIdentifiers = oldExportedIdentifiers; + this.inModule = oldInModule; + this.scope = oldScope; + this.prodParam = oldProdParam; + this.classScope = oldClassScope; + this.expressionScope = oldExpressionScope; + }; + } + + enterInitialScopes() { + let paramFlags = PARAM; + + if (this.hasPlugin("topLevelAwait") && this.inModule) { + paramFlags |= PARAM_AWAIT; + } + + this.scope.enter(SCOPE_PROGRAM); + this.prodParam.enter(paramFlags); + } + } class ExpressionErrors { constructor() { @@ -9246,8 +10089,8 @@ class Node { this.start = pos; this.end = 0; this.loc = new SourceLocation(loc); - if (parser == null ? void 0 : parser.options.ranges) this.range = [pos, 0]; - if (parser == null ? void 0 : parser.filename) this.loc.filename = parser.filename; + if (parser != null && parser.options.ranges) this.range = [pos, 0]; + if (parser != null && parser.filename) this.loc.filename = parser.filename; } __clone() { @@ -9322,7 +10165,7 @@ class LValParser extends NodeUtils { let parenthesized = undefined; - if (node.type === "ParenthesizedExpression" || ((_node$extra = node.extra) == null ? void 0 : _node$extra.parenthesized)) { + if (node.type === "ParenthesizedExpression" || (_node$extra = node.extra) != null && _node$extra.parenthesized) { parenthesized = unwrapParenthesizedExpression(node); if (isLHS) { @@ -9353,7 +10196,7 @@ class LValParser extends NodeUtils { const isLast = i === last; this.toAssignableObjectExpressionProp(prop, isLast, isLHS); - if (isLast && prop.type === "RestElement" && ((_node$extra2 = node.extra) == null ? void 0 : _node$extra2.trailingComma)) { + if (isLast && prop.type === "RestElement" && (_node$extra2 = node.extra) != null && _node$extra2.trailingComma) { this.raiseRestNotLast(node.extra.trailingComma); } } @@ -9455,9 +10298,7 @@ class LValParser extends NodeUtils { toReferencedListDeep(exprList, isParenthesizedExpr) { this.toReferencedList(exprList, isParenthesizedExpr); - for (let _i = 0; _i < exprList.length; _i++) { - const expr = exprList[_i]; - + for (const expr of exprList) { if ((expr == null ? void 0 : expr.type) === "ArrayExpression") { this.toReferencedListDeep(expr.elements); } @@ -9480,16 +10321,16 @@ class LValParser extends NodeUtils { parseBindingAtom() { switch (this.state.type) { - case types.bracketL: + case types$1.bracketL: { const node = this.startNode(); this.next(); - node.elements = this.parseBindingList(types.bracketR, 93, true); + node.elements = this.parseBindingList(types$1.bracketR, 93, true); return this.finishNode(node, "ArrayPattern"); } - case types.braceL: - return this.parseObjectLike(types.braceR, true); + case types$1.braceL: + return this.parseObjectLike(types$1.braceR, true); } return this.parseIdentifier(); @@ -9503,14 +10344,14 @@ class LValParser extends NodeUtils { if (first) { first = false; } else { - this.expect(types.comma); + this.expect(types$1.comma); } - if (allowEmpty && this.match(types.comma)) { + if (allowEmpty && this.match(types$1.comma)) { elts.push(null); } else if (this.eat(close)) { break; - } else if (this.match(types.ellipsis)) { + } else if (this.match(types$1.ellipsis)) { elts.push(this.parseAssignableListItemTypes(this.parseRestBinding())); this.checkCommaAfterRest(closeCharCode); this.expect(close); @@ -9518,11 +10359,11 @@ class LValParser extends NodeUtils { } else { const decorators = []; - if (this.match(types.at) && this.hasPlugin("decorators")) { + if (this.match(types$1.at) && this.hasPlugin("decorators")) { this.raise(this.state.start, ErrorMessages.UnsupportedParameterDecorator); } - while (this.match(types.at)) { + while (this.match(types$1.at)) { decorators.push(this.parseDecorator()); } @@ -9555,7 +10396,7 @@ class LValParser extends NodeUtils { startLoc = (_startLoc = startLoc) != null ? _startLoc : this.state.startLoc; startPos = (_startPos = startPos) != null ? _startPos : this.state.start; left = (_left = left) != null ? _left : this.parseBindingAtom(); - if (!this.eat(types.eq)) return left; + if (!this.eat(types$1.eq)) return left; const node = this.startNodeAt(startPos, startLoc); node.left = left; node.right = this.parseMaybeAssignAllowIn(); @@ -9601,8 +10442,7 @@ class LValParser extends NodeUtils { break; case "ObjectPattern": - for (let _i2 = 0, _expr$properties = expr.properties; _i2 < _expr$properties.length; _i2++) { - let prop = _expr$properties[_i2]; + for (let prop of expr.properties) { if (this.isObjectProperty(prop)) prop = prop.value;else if (this.isObjectMethod(prop)) continue; this.checkLVal(prop, "object destructuring pattern", bindingType, checkClashes, disallowLetBinding); } @@ -9610,9 +10450,7 @@ class LValParser extends NodeUtils { break; case "ArrayPattern": - for (let _i3 = 0, _expr$elements = expr.elements; _i3 < _expr$elements.length; _i3++) { - const elem = _expr$elements[_i3]; - + for (const elem of expr.elements) { if (elem) { this.checkLVal(elem, "array destructuring pattern", bindingType, checkClashes, disallowLetBinding); } @@ -9646,7 +10484,7 @@ class LValParser extends NodeUtils { } checkCommaAfterRest(close) { - if (this.match(types.comma)) { + if (this.match(types$1.comma)) { if (this.lookaheadCharCode() === close) { this.raiseTrailingCommaAfterRest(this.state.start); } else { @@ -9665,144 +10503,6 @@ class LValParser extends NodeUtils { } -const kExpression = 0, - kMaybeArrowParameterDeclaration = 1, - kMaybeAsyncArrowParameterDeclaration = 2, - kParameterDeclaration = 3; - -class ExpressionScope { - constructor(type = kExpression) { - this.type = void 0; - this.type = type; - } - - canBeArrowParameterDeclaration() { - return this.type === kMaybeAsyncArrowParameterDeclaration || this.type === kMaybeArrowParameterDeclaration; - } - - isCertainlyParameterDeclaration() { - return this.type === kParameterDeclaration; - } - -} - -class ArrowHeadParsingScope extends ExpressionScope { - constructor(type) { - super(type); - this.errors = new Map(); - } - - recordDeclarationError(pos, message) { - this.errors.set(pos, message); - } - - clearDeclarationError(pos) { - this.errors.delete(pos); - } - - iterateErrors(iterator) { - this.errors.forEach(iterator); - } - -} - -class ExpressionScopeHandler { - constructor(raise) { - this.stack = [new ExpressionScope()]; - this.raise = raise; - } - - enter(scope) { - this.stack.push(scope); - } - - exit() { - this.stack.pop(); - } - - recordParameterInitializerError(pos, message) { - const { - stack - } = this; - let i = stack.length - 1; - let scope = stack[i]; - - while (!scope.isCertainlyParameterDeclaration()) { - if (scope.canBeArrowParameterDeclaration()) { - scope.recordDeclarationError(pos, message); - } else { - return; - } - - scope = stack[--i]; - } - - this.raise(pos, message); - } - - recordParenthesizedIdentifierError(pos, message) { - const { - stack - } = this; - const scope = stack[stack.length - 1]; - - if (scope.isCertainlyParameterDeclaration()) { - this.raise(pos, message); - } else if (scope.canBeArrowParameterDeclaration()) { - scope.recordDeclarationError(pos, message); - } else { - return; - } - } - - recordAsyncArrowParametersError(pos, message) { - const { - stack - } = this; - let i = stack.length - 1; - let scope = stack[i]; - - while (scope.canBeArrowParameterDeclaration()) { - if (scope.type === kMaybeAsyncArrowParameterDeclaration) { - scope.recordDeclarationError(pos, message); - } - - scope = stack[--i]; - } - } - - validateAsPattern() { - const { - stack - } = this; - const currentScope = stack[stack.length - 1]; - if (!currentScope.canBeArrowParameterDeclaration()) return; - currentScope.iterateErrors((message, pos) => { - this.raise(pos, message); - let i = stack.length - 2; - let scope = stack[i]; - - while (scope.canBeArrowParameterDeclaration()) { - scope.clearDeclarationError(pos); - scope = stack[--i]; - } - }); - } - -} -function newParameterDeclarationScope() { - return new ExpressionScope(kParameterDeclaration); -} -function newArrowHeadScope() { - return new ArrowHeadParsingScope(kMaybeArrowParameterDeclaration); -} -function newAsyncArrowScope() { - return new ArrowHeadParsingScope(kMaybeAsyncArrowParameterDeclaration); -} -function newExpressionScope() { - return new ExpressionScope(); -} - class ExpressionParser extends LValParser { checkProto(prop, isRecord, protoRef, refExpressionErrors) { if (prop.type === "SpreadElement" || this.isObjectMethod(prop) || prop.computed || prop.shorthand) { @@ -9848,12 +10548,17 @@ class ExpressionParser extends LValParser { this.nextToken(); const expr = this.parseExpression(); - if (!this.match(types.eof)) { + if (!this.match(types$1.eof)) { this.unexpected(); } expr.comments = this.state.comments; expr.errors = this.state.errors; + + if (this.options.tokens) { + expr.tokens = this.tokens; + } + return expr; } @@ -9870,11 +10575,11 @@ class ExpressionParser extends LValParser { const startLoc = this.state.startLoc; const expr = this.parseMaybeAssign(refExpressionErrors); - if (this.match(types.comma)) { + if (this.match(types$1.comma)) { const node = this.startNodeAt(startPos, startLoc); node.expressions = [expr]; - while (this.eat(types.comma)) { + while (this.eat(types$1.comma)) { node.expressions.push(this.parseMaybeAssign(refExpressionErrors)); } @@ -9899,7 +10604,6 @@ class ExpressionParser extends LValParser { if (this.isContextual("yield")) { if (this.prodParam.hasYield) { - this.state.exprAllowed = true; let left = this.parseYield(); if (afterLeftParse) { @@ -9919,7 +10623,7 @@ class ExpressionParser extends LValParser { ownExpressionErrors = true; } - if (this.match(types.parenL) || this.match(types.name)) { + if (this.match(types$1.parenL) || this.match(types$1.name)) { this.state.potentialArrowAt = this.state.start; } @@ -9934,7 +10638,7 @@ class ExpressionParser extends LValParser { const operator = this.state.value; node.operator = operator; - if (this.match(types.eq)) { + if (this.match(types$1.eq)) { node.left = this.toAssignable(left, true); refExpressionErrors.doubleProto = -1; } else { @@ -9970,11 +10674,11 @@ class ExpressionParser extends LValParser { } parseConditional(expr, startPos, startLoc, refNeedsArrowPos) { - if (this.eat(types.question)) { + if (this.eat(types$1.question)) { const node = this.startNodeAt(startPos, startLoc); node.test = expr; node.consequent = this.parseMaybeAssignAllowIn(); - this.expect(types.colon); + this.expect(types$1.colon); node.alternate = this.parseMaybeAssign(); return this.finishNode(node, "ConditionalExpression"); } @@ -9998,11 +10702,11 @@ class ExpressionParser extends LValParser { parseExprOp(left, leftStartPos, leftStartLoc, minPrec) { let prec = this.state.type.binop; - if (prec != null && (this.prodParam.hasIn || !this.match(types._in))) { + if (prec != null && (this.prodParam.hasIn || !this.match(types$1._in))) { if (prec > minPrec) { const op = this.state.type; - if (op === types.pipeline) { + if (op === types$1.pipeline) { this.expectPlugin("pipelineOperator"); if (this.state.inFSharpPipelineDirectBody) { @@ -10016,22 +10720,17 @@ class ExpressionParser extends LValParser { const node = this.startNodeAt(leftStartPos, leftStartLoc); node.left = left; node.operator = this.state.value; - - if (op === types.exponent && left.type === "UnaryExpression" && (this.options.createParenthesizedExpressions || !(left.extra && left.extra.parenthesized))) { - this.raise(left.argument.start, ErrorMessages.UnexpectedTokenUnaryExponentiation); - } - - const logical = op === types.logicalOR || op === types.logicalAND; - const coalesce = op === types.nullishCoalescing; + const logical = op === types$1.logicalOR || op === types$1.logicalAND; + const coalesce = op === types$1.nullishCoalescing; if (coalesce) { - prec = types.logicalAND.binop; + prec = types$1.logicalAND.binop; } this.next(); - if (op === types.pipeline && this.getPluginOption("pipelineOperator", "proposal") === "minimal") { - if (this.match(types.name) && this.state.value === "await" && this.prodParam.hasAwait) { + if (op === types$1.pipeline && this.getPluginOption("pipelineOperator", "proposal") === "minimal") { + if (this.match(types$1.name) && this.state.value === "await" && this.prodParam.hasAwait) { throw this.raise(this.state.start, ErrorMessages.UnexpectedAwaitAfterPipelineBody); } } @@ -10040,7 +10739,7 @@ class ExpressionParser extends LValParser { this.finishNode(node, logical || coalesce ? "LogicalExpression" : "BinaryExpression"); const nextOp = this.state.type; - if (coalesce && (nextOp === types.logicalOR || nextOp === types.logicalAND) || logical && nextOp === types.nullishCoalescing) { + if (coalesce && (nextOp === types$1.logicalOR || nextOp === types$1.logicalAND) || logical && nextOp === types$1.nullishCoalescing) { throw this.raise(this.state.start, ErrorMessages.MixingCoalesceWithLogical); } @@ -10056,7 +10755,7 @@ class ExpressionParser extends LValParser { const startLoc = this.state.startLoc; switch (op) { - case types.pipeline: + case types$1.pipeline: switch (this.getPluginOption("pipelineOperator", "proposal")) { case "smart": return this.withTopicPermittingContext(() => { @@ -10080,25 +10779,42 @@ class ExpressionParser extends LValParser { return this.parseExprOp(this.parseMaybeUnary(), startPos, startLoc, op.rightAssociative ? prec - 1 : prec); } - parseMaybeUnary(refExpressionErrors) { - if (this.isContextual("await") && this.isAwaitAllowed()) { - return this.parseAwait(); + checkExponentialAfterUnary(node) { + if (this.match(types$1.exponent)) { + this.raise(node.argument.start, ErrorMessages.UnexpectedTokenUnaryExponentiation); + } + } + + parseMaybeUnary(refExpressionErrors, sawUnary) { + const startPos = this.state.start; + const startLoc = this.state.startLoc; + const isAwait = this.isContextual("await"); + + if (isAwait && this.isAwaitAllowed()) { + this.next(); + const expr = this.parseAwait(startPos, startLoc); + if (!sawUnary) this.checkExponentialAfterUnary(expr); + return expr; } - const update = this.match(types.incDec); + if (this.isContextual("module") && this.lookaheadCharCode() === 123 && !this.hasFollowingLineBreak()) { + return this.parseModuleExpression(); + } + + const update = this.match(types$1.incDec); const node = this.startNode(); if (this.state.type.prefix) { node.operator = this.state.value; node.prefix = true; - if (this.match(types._throw)) { + if (this.match(types$1._throw)) { this.expectPlugin("throwExpressions"); } - const isDelete = this.match(types._delete); + const isDelete = this.match(types$1._delete); this.next(); - node.argument = this.parseMaybeUnary(); + node.argument = this.parseMaybeUnary(null, true); this.checkExpressionErrors(refExpressionErrors, true); if (this.state.strict && isDelete) { @@ -10112,11 +10828,23 @@ class ExpressionParser extends LValParser { } if (!update) { + if (!sawUnary) this.checkExponentialAfterUnary(node); return this.finishNode(node, "UnaryExpression"); } } - return this.parseUpdate(node, update, refExpressionErrors); + const expr = this.parseUpdate(node, update, refExpressionErrors); + + if (isAwait) { + const startsExpr = this.hasPlugin("v8intrinsic") ? this.state.type.startsExpr : this.state.type.startsExpr && !this.match(types$1.modulo); + + if (startsExpr && !this.isAmbiguousAwait()) { + this.raiseOverwrite(startPos, this.hasPlugin("topLevelAwait") ? ErrorMessages.AwaitNotInAsyncContext : ErrorMessages.AwaitNotInAsyncFunction); + return this.parseAwait(startPos, startLoc); + } + } + + return expr; } parseUpdate(node, update, refExpressionErrors) { @@ -10172,15 +10900,15 @@ class ExpressionParser extends LValParser { } parseSubscript(base, startPos, startLoc, noCalls, state) { - if (!noCalls && this.eat(types.doubleColon)) { + if (!noCalls && this.eat(types$1.doubleColon)) { return this.parseBind(base, startPos, startLoc, noCalls, state); - } else if (this.match(types.backQuote)) { + } else if (this.match(types$1.backQuote)) { return this.parseTaggedTemplateExpression(base, startPos, startLoc, state); } let optional = false; - if (this.match(types.questionDot)) { + if (this.match(types$1.questionDot)) { if (noCalls && this.lookaheadCharCode() === 40) { state.stop = true; return base; @@ -10190,9 +10918,9 @@ class ExpressionParser extends LValParser { this.next(); } - if (!noCalls && this.match(types.parenL)) { + if (!noCalls && this.match(types$1.parenL)) { return this.parseCoverCallAndAsyncArrowHead(base, startPos, startLoc, state, optional); - } else if (optional || this.match(types.bracketL) || this.eat(types.dot)) { + } else if (optional || this.match(types$1.bracketL) || this.eat(types$1.dot)) { return this.parseMember(base, startPos, startLoc, state, optional); } else { state.stop = true; @@ -10202,23 +10930,24 @@ class ExpressionParser extends LValParser { parseMember(base, startPos, startLoc, state, optional) { const node = this.startNodeAt(startPos, startLoc); - const computed = this.eat(types.bracketL); + const computed = this.eat(types$1.bracketL); node.object = base; node.computed = computed; - const property = computed ? this.parseExpression() : this.parseMaybePrivateName(true); + const privateName = !computed && this.match(types$1.privateName) && this.state.value; + const property = computed ? this.parseExpression() : privateName ? this.parsePrivateName() : this.parseIdentifier(true); - if (this.isPrivateName(property)) { + if (privateName !== false) { if (node.object.type === "Super") { this.raise(startPos, ErrorMessages.SuperPrivateField); } - this.classScope.usePrivateName(this.getPrivateNameSV(property), property.start); + this.classScope.usePrivateName(privateName, property.start); } node.property = property; if (computed) { - this.expect(types.bracketR); + this.expect(types$1.bracketR); } if (state.optionalChainMember) { @@ -10239,6 +10968,7 @@ class ExpressionParser extends LValParser { parseCoverCallAndAsyncArrowHead(base, startPos, startLoc, state, optional) { const oldMaybeInArrowParameters = this.state.maybeInArrowParameters; + let refExpressionErrors = null; this.state.maybeInArrowParameters = true; this.next(); let node = this.startNodeAt(startPos, startLoc); @@ -10246,6 +10976,7 @@ class ExpressionParser extends LValParser { if (state.maybeAsyncArrow) { this.expressionScope.enter(newAsyncArrowScope()); + refExpressionErrors = new ExpressionErrors(); } if (state.optionalChainMember) { @@ -10253,9 +10984,9 @@ class ExpressionParser extends LValParser { } if (optional) { - node.arguments = this.parseCallExpressionArguments(types.parenR, false); + node.arguments = this.parseCallExpressionArguments(types$1.parenR); } else { - node.arguments = this.parseCallExpressionArguments(types.parenR, state.maybeAsyncArrow, base.type === "Import", base.type !== "Super", node); + node.arguments = this.parseCallExpressionArguments(types$1.parenR, base.type === "Import", base.type !== "Super", node, refExpressionErrors); } this.finishCallExpression(node, state.optionalChainMember); @@ -10267,6 +10998,7 @@ class ExpressionParser extends LValParser { node = this.parseAsyncArrowFromCallExpression(this.startNodeAt(startPos, startLoc), node); } else { if (state.maybeAsyncArrow) { + this.checkExpressionErrors(refExpressionErrors, true); this.expressionScope.exit(); } @@ -10300,17 +11032,17 @@ class ExpressionParser extends LValParser { finishCallExpression(node, optional) { if (node.callee.type === "Import") { if (node.arguments.length === 2) { - if (!this.hasPlugin("moduleAttributes")) { - this.expectPlugin("importAssertions"); + { + if (!this.hasPlugin("moduleAttributes")) { + this.expectPlugin("importAssertions"); + } } } if (node.arguments.length === 0 || node.arguments.length > 2) { this.raise(node.start, ErrorMessages.ImportCallArity, this.hasPlugin("importAssertions") || this.hasPlugin("moduleAttributes") ? "one or two arguments" : "one argument"); } else { - for (let _i = 0, _node$arguments = node.arguments; _i < _node$arguments.length; _i++) { - const arg = _node$arguments[_i]; - + for (const arg of node.arguments) { if (arg.type === "SpreadElement") { this.raise(arg.start, ErrorMessages.ImportCallSpreadArgument); } @@ -10321,7 +11053,7 @@ class ExpressionParser extends LValParser { return this.finishNode(node, optional ? "OptionalCallExpression" : "CallExpression"); } - parseCallExpressionArguments(close, possibleAsyncArrow, dynamicImport, allowPlaceholder, nodeForExtra) { + parseCallExpressionArguments(close, dynamicImport, allowPlaceholder, nodeForExtra, refExpressionErrors) { const elts = []; let first = true; const oldInFSharpPipelineDirectBody = this.state.inFSharpPipelineDirectBody; @@ -10331,7 +11063,7 @@ class ExpressionParser extends LValParser { if (first) { first = false; } else { - this.expect(types.comma); + this.expect(types$1.comma); if (this.match(close)) { if (dynamicImport && !this.hasPlugin("importAssertions") && !this.hasPlugin("moduleAttributes")) { @@ -10347,9 +11079,9 @@ class ExpressionParser extends LValParser { } } - elts.push(this.parseExprListItem(false, possibleAsyncArrow ? new ExpressionErrors() : undefined, possibleAsyncArrow ? { + elts.push(this.parseExprListItem(false, refExpressionErrors, { start: 0 - } : undefined, allowPlaceholder)); + }, allowPlaceholder)); } this.state.inFSharpPipelineDirectBody = oldInFSharpPipelineDirectBody; @@ -10357,13 +11089,13 @@ class ExpressionParser extends LValParser { } shouldParseAsyncArrow() { - return this.match(types.arrow) && !this.canInsertSemicolon(); + return this.match(types$1.arrow) && !this.canInsertSemicolon(); } parseAsyncArrowFromCallExpression(node, call) { var _call$extra; - this.expect(types.arrow); + this.expect(types$1.arrow); this.parseArrowExpression(node, call.arguments, true, (_call$extra = call.extra) == null ? void 0 : _call$extra.trailingComma); return node; } @@ -10375,55 +11107,53 @@ class ExpressionParser extends LValParser { } parseExprAtom(refExpressionErrors) { - if (this.state.type === types.slash) this.readRegexp(); - const canBeArrow = this.state.potentialArrowAt === this.state.start; let node; switch (this.state.type) { - case types._super: + case types$1._super: return this.parseSuper(); - case types._import: + case types$1._import: node = this.startNode(); this.next(); - if (this.match(types.dot)) { + if (this.match(types$1.dot)) { return this.parseImportMetaProperty(node); } - if (!this.match(types.parenL)) { + if (!this.match(types$1.parenL)) { this.raise(this.state.lastTokStart, ErrorMessages.UnsupportedImport); } return this.finishNode(node, "Import"); - case types._this: + case types$1._this: node = this.startNode(); this.next(); return this.finishNode(node, "ThisExpression"); - case types.name: + case types$1.name: { + const canBeArrow = this.state.potentialArrowAt === this.state.start; const containsEsc = this.state.containsEsc; const id = this.parseIdentifier(); if (!containsEsc && id.name === "async" && !this.canInsertSemicolon()) { - if (this.match(types._function)) { - const last = this.state.context.length - 1; - - if (this.state.context[last] !== types$1.functionStatement) { - throw new Error("Internal error"); - } - - this.state.context[last] = types$1.functionExpression; + if (this.match(types$1._function)) { this.next(); return this.parseFunction(this.startNodeAtNode(id), undefined, true); - } else if (this.match(types.name)) { - return this.parseAsyncArrowUnaryFunction(id); + } else if (this.match(types$1.name)) { + if (this.lookaheadCharCode() === 61) { + return this.parseAsyncArrowUnaryFunction(id); + } else { + return id; + } + } else if (this.match(types$1._do)) { + return this.parseDo(true); } } - if (canBeArrow && this.match(types.arrow) && !this.canInsertSemicolon()) { + if (canBeArrow && this.match(types$1.arrow) && !this.canInsertSemicolon()) { this.next(); return this.parseArrowExpression(this.startNodeAtNode(id), [id], false); } @@ -10431,84 +11161,85 @@ class ExpressionParser extends LValParser { return id; } - case types._do: + case types$1._do: { - return this.parseDo(); + return this.parseDo(false); } - case types.regexp: + case types$1.slash: + case types$1.slashAssign: { - const value = this.state.value; - node = this.parseLiteral(value.value, "RegExpLiteral"); - node.pattern = value.pattern; - node.flags = value.flags; - return node; + this.readRegexp(); + return this.parseRegExpLiteral(this.state.value); } - case types.num: - return this.parseLiteral(this.state.value, "NumericLiteral"); + case types$1.num: + return this.parseNumericLiteral(this.state.value); - case types.bigint: - return this.parseLiteral(this.state.value, "BigIntLiteral"); + case types$1.bigint: + return this.parseBigIntLiteral(this.state.value); - case types.decimal: - return this.parseLiteral(this.state.value, "DecimalLiteral"); + case types$1.decimal: + return this.parseDecimalLiteral(this.state.value); - case types.string: - return this.parseLiteral(this.state.value, "StringLiteral"); + case types$1.string: + return this.parseStringLiteral(this.state.value); - case types._null: - node = this.startNode(); - this.next(); - return this.finishNode(node, "NullLiteral"); + case types$1._null: + return this.parseNullLiteral(); + + case types$1._true: + return this.parseBooleanLiteral(true); - case types._true: - case types._false: - return this.parseBooleanLiteral(); + case types$1._false: + return this.parseBooleanLiteral(false); - case types.parenL: - return this.parseParenAndDistinguishExpression(canBeArrow); + case types$1.parenL: + { + const canBeArrow = this.state.potentialArrowAt === this.state.start; + return this.parseParenAndDistinguishExpression(canBeArrow); + } - case types.bracketBarL: - case types.bracketHashL: + case types$1.bracketBarL: + case types$1.bracketHashL: { - return this.parseArrayLike(this.state.type === types.bracketBarL ? types.bracketBarR : types.bracketR, false, true, refExpressionErrors); + return this.parseArrayLike(this.state.type === types$1.bracketBarL ? types$1.bracketBarR : types$1.bracketR, false, true, refExpressionErrors); } - case types.bracketL: + case types$1.bracketL: { - return this.parseArrayLike(types.bracketR, true, false, refExpressionErrors); + return this.parseArrayLike(types$1.bracketR, true, false, refExpressionErrors); } - case types.braceBarL: - case types.braceHashL: + case types$1.braceBarL: + case types$1.braceHashL: { - return this.parseObjectLike(this.state.type === types.braceBarL ? types.braceBarR : types.braceR, false, true, refExpressionErrors); + return this.parseObjectLike(this.state.type === types$1.braceBarL ? types$1.braceBarR : types$1.braceR, false, true, refExpressionErrors); } - case types.braceL: + case types$1.braceL: { - return this.parseObjectLike(types.braceR, false, false, refExpressionErrors); + return this.parseObjectLike(types$1.braceR, false, false, refExpressionErrors); } - case types._function: + case types$1._function: return this.parseFunctionOrFunctionSent(); - case types.at: + case types$1.at: this.parseDecorators(); - case types._class: + case types$1._class: node = this.startNode(); this.takeDecorators(node); return this.parseClass(node, false); - case types._new: + case types$1._new: return this.parseNewOrNewTarget(); - case types.backQuote: + case types$1.backQuote: return this.parseTemplate(false); - case types.doubleColon: + case types$1.doubleColon: { node = this.startNode(); this.next(); @@ -10522,7 +11253,25 @@ class ExpressionParser extends LValParser { } } - case types.hash: + case types$1.privateName: + { + const start = this.state.start; + const value = this.state.value; + node = this.parsePrivateName(); + + if (this.match(types$1._in)) { + this.expectPlugin("privateIn"); + this.classScope.usePrivateName(value, node.start); + } else if (this.hasPlugin("privateIn")) { + this.raise(this.state.start, ErrorMessages.PrivateInExpectedIn, value); + } else { + throw this.unexpected(start); + } + + return node; + } + + case types$1.hash: { if (this.state.inPipeline) { node = this.startNode(); @@ -10540,27 +11289,9 @@ class ExpressionParser extends LValParser { this.registerTopicReference(); return this.finishNode(node, "PipelinePrimaryTopicReference"); } - - const nextCh = this.input.codePointAt(this.state.end); - - if (isIdentifierStart(nextCh) || nextCh === 92) { - const start = this.state.start; - node = this.parseMaybePrivateName(true); - - if (this.match(types._in)) { - this.expectPlugin("privateIn"); - this.classScope.usePrivateName(node.id.name, node.start); - } else if (this.hasPlugin("privateIn")) { - this.raise(this.state.start, ErrorMessages.PrivateInExpectedIn, node.id.name); - } else { - throw this.unexpected(start); - } - - return node; - } } - case types.relational: + case types$1.relational: { if (this.state.value === "<") { const lookaheadCh = this.input.codePointAt(this.nextTokenStart()); @@ -10586,18 +11317,32 @@ class ExpressionParser extends LValParser { this.raise(this.state.pos, ErrorMessages.LineTerminatorBeforeArrow); } - this.expect(types.arrow); + this.expect(types$1.arrow); this.parseArrowExpression(node, params, true); return node; } - parseDo() { + parseDo(isAsync) { this.expectPlugin("doExpressions"); + + if (isAsync) { + this.expectPlugin("asyncDoExpressions"); + } + const node = this.startNode(); + node.async = isAsync; this.next(); const oldLabels = this.state.labels; this.state.labels = []; - node.body = this.parseBlock(); + + if (isAsync) { + this.prodParam.enter(PARAM_AWAIT); + node.body = this.parseBlock(); + this.prodParam.exit(); + } else { + node.body = this.parseBlock(); + } + this.state.labels = oldLabels; return this.finishNode(node, "DoExpression"); } @@ -10606,51 +11351,47 @@ class ExpressionParser extends LValParser { const node = this.startNode(); this.next(); - if (this.match(types.parenL) && !this.scope.allowDirectSuper && !this.options.allowSuperOutsideMethod) { + if (this.match(types$1.parenL) && !this.scope.allowDirectSuper && !this.options.allowSuperOutsideMethod) { this.raise(node.start, ErrorMessages.SuperNotAllowed); } else if (!this.scope.allowSuper && !this.options.allowSuperOutsideMethod) { this.raise(node.start, ErrorMessages.UnexpectedSuper); } - if (!this.match(types.parenL) && !this.match(types.bracketL) && !this.match(types.dot)) { + if (!this.match(types$1.parenL) && !this.match(types$1.bracketL) && !this.match(types$1.dot)) { this.raise(node.start, ErrorMessages.UnsupportedSuper); } return this.finishNode(node, "Super"); } - parseBooleanLiteral() { - const node = this.startNode(); - node.value = this.match(types._true); - this.next(); - return this.finishNode(node, "BooleanLiteral"); - } - parseMaybePrivateName(isPrivateNameAllowed) { - const isPrivate = this.match(types.hash); + const isPrivate = this.match(types$1.privateName); if (isPrivate) { - this.expectOnePlugin(["classPrivateProperties", "classPrivateMethods"]); - if (!isPrivateNameAllowed) { - this.raise(this.state.pos, ErrorMessages.UnexpectedPrivateField); + this.raise(this.state.start + 1, ErrorMessages.UnexpectedPrivateField); } - const node = this.startNode(); - this.next(); - this.assertNoSpace("Unexpected space between # and identifier"); - node.id = this.parseIdentifier(true); - return this.finishNode(node, "PrivateName"); + return this.parsePrivateName(); } else { return this.parseIdentifier(true); } } + parsePrivateName() { + const node = this.startNode(); + const id = this.startNodeAt(this.state.start + 1, new Position(this.state.curLine, this.state.start + 1 - this.state.lineStart)); + const name = this.state.value; + this.next(); + node.id = this.createIdentifier(id, name); + return this.finishNode(node, "PrivateName"); + } + parseFunctionOrFunctionSent() { const node = this.startNode(); this.next(); - if (this.prodParam.hasYield && this.match(types.dot)) { + if (this.prodParam.hasYield && this.match(types$1.dot)) { const meta = this.createIdentifier(this.startNodeAtNode(node), "function"); this.next(); return this.parseMetaProperty(node, meta, "sent"); @@ -10686,9 +11427,7 @@ class ExpressionParser extends LValParser { if (this.isContextual("meta")) { if (!this.inModule) { - this.raiseWithData(id.start, { - code: "BABEL_PARSER_SOURCETYPE_MODULE_REQUIRED" - }, ErrorMessages.ImportMetaOutsideModule); + this.raise(id.start, SourceTypeModuleErrorMessages.ImportMetaOutsideModule); } this.sawUnambiguousESM = true; @@ -10697,17 +11436,55 @@ class ExpressionParser extends LValParser { return this.parseMetaProperty(node, id, "meta"); } - parseLiteral(value, type, startPos, startLoc) { - startPos = startPos || this.state.start; - startLoc = startLoc || this.state.startLoc; - const node = this.startNodeAt(startPos, startLoc); + parseLiteralAtNode(value, type, node) { this.addExtra(node, "rawValue", value); - this.addExtra(node, "raw", this.input.slice(startPos, this.state.end)); + this.addExtra(node, "raw", this.input.slice(node.start, this.state.end)); node.value = value; this.next(); return this.finishNode(node, type); } + parseLiteral(value, type) { + const node = this.startNode(); + return this.parseLiteralAtNode(value, type, node); + } + + parseStringLiteral(value) { + return this.parseLiteral(value, "StringLiteral"); + } + + parseNumericLiteral(value) { + return this.parseLiteral(value, "NumericLiteral"); + } + + parseBigIntLiteral(value) { + return this.parseLiteral(value, "BigIntLiteral"); + } + + parseDecimalLiteral(value) { + return this.parseLiteral(value, "DecimalLiteral"); + } + + parseRegExpLiteral(value) { + const node = this.parseLiteral(value.value, "RegExpLiteral"); + node.pattern = value.pattern; + node.flags = value.flags; + return node; + } + + parseBooleanLiteral(value) { + const node = this.startNode(); + node.value = value; + this.next(); + return this.finishNode(node, "BooleanLiteral"); + } + + parseNullLiteral() { + const node = this.startNode(); + this.next(); + return this.finishNode(node, "NullLiteral"); + } + parseParenAndDistinguishExpression(canBeArrow) { const startPos = this.state.start; const startLoc = this.state.startLoc; @@ -10729,19 +11506,19 @@ class ExpressionParser extends LValParser { let spreadStart; let optionalCommaStart; - while (!this.match(types.parenR)) { + while (!this.match(types$1.parenR)) { if (first) { first = false; } else { - this.expect(types.comma, refNeedsArrowPos.start || null); + this.expect(types$1.comma, refNeedsArrowPos.start || null); - if (this.match(types.parenR)) { + if (this.match(types$1.parenR)) { optionalCommaStart = this.state.start; break; } } - if (this.match(types.ellipsis)) { + if (this.match(types$1.ellipsis)) { const spreadNodeStartPos = this.state.start; const spreadNodeStartLoc = this.state.startLoc; spreadStart = this.state.start; @@ -10755,7 +11532,7 @@ class ExpressionParser extends LValParser { const innerEndPos = this.state.lastTokEnd; const innerEndLoc = this.state.lastTokEndLoc; - this.expect(types.parenR); + this.expect(types$1.parenR); this.state.maybeInArrowParameters = oldMaybeInArrowParameters; this.state.inFSharpPipelineDirectBody = oldInFSharpPipelineDirectBody; let arrowNode = this.startNodeAt(startPos, startLoc); @@ -10804,7 +11581,7 @@ class ExpressionParser extends LValParser { } parseArrow(node) { - if (this.eat(types.arrow)) { + if (this.eat(types$1.arrow)) { return node; } } @@ -10817,19 +11594,13 @@ class ExpressionParser extends LValParser { const node = this.startNode(); this.next(); - if (this.match(types.dot)) { + if (this.match(types$1.dot)) { const meta = this.createIdentifier(this.startNodeAtNode(node), "new"); this.next(); const metaProp = this.parseMetaProperty(node, meta, "target"); if (!this.scope.inNonArrowFunction && !this.scope.inClass) { - let error = ErrorMessages.UnexpectedNewTarget; - - if (this.hasPlugin("classProperties")) { - error += " or class properties"; - } - - this.raise(metaProp.start, error); + this.raise(metaProp.start, ErrorMessages.UnexpectedNewTarget); } return metaProp; @@ -10845,7 +11616,7 @@ class ExpressionParser extends LValParser { this.raise(node.callee.start, ErrorMessages.ImportCallNotNewExpression); } else if (this.isOptionalChain(node.callee)) { this.raise(this.state.lastTokEnd, ErrorMessages.OptionalChainingNoNew); - } else if (this.eat(types.questionDot)) { + } else if (this.eat(types$1.questionDot)) { this.raise(this.state.start, ErrorMessages.OptionalChainingNoNew); } @@ -10854,8 +11625,8 @@ class ExpressionParser extends LValParser { } parseNewArguments(node) { - if (this.eat(types.parenL)) { - const args = this.parseExprList(types.parenR); + if (this.eat(types$1.parenL)) { + const args = this.parseExprList(types$1.parenR); this.toReferencedList(args); node.arguments = args; } else { @@ -10877,7 +11648,7 @@ class ExpressionParser extends LValParser { cooked: this.state.value }; this.next(); - elem.tail = this.match(types.backQuote); + elem.tail = this.match(types$1.backQuote); return this.finishNode(elem, "TemplateElement"); } @@ -10889,9 +11660,9 @@ class ExpressionParser extends LValParser { node.quasis = [curElt]; while (!curElt.tail) { - this.expect(types.dollarBraceL); + this.expect(types$1.dollarBraceL); node.expressions.push(this.parseTemplateSubstitution()); - this.expect(types.braceR); + this.expect(types$1.braceR); node.quasis.push(curElt = this.parseTemplateElement(isTagged)); } @@ -10920,7 +11691,7 @@ class ExpressionParser extends LValParser { if (first) { first = false; } else { - this.expect(types.comma); + this.expect(types$1.comma); if (this.match(close)) { this.addExtra(node, "trailingComma", this.state.lastTokStart); @@ -10945,7 +11716,6 @@ class ExpressionParser extends LValParser { node.properties.push(prop); } - this.state.exprAllowed = false; this.next(); this.state.inFSharpPipelineDirectBody = oldInFSharpPipelineDirectBody; let type = "ObjectExpression"; @@ -10960,18 +11730,18 @@ class ExpressionParser extends LValParser { } maybeAsyncOrAccessorProp(prop) { - return !prop.computed && prop.key.type === "Identifier" && (this.isLiteralPropertyName() || this.match(types.bracketL) || this.match(types.star)); + return !prop.computed && prop.key.type === "Identifier" && (this.isLiteralPropertyName() || this.match(types$1.bracketL) || this.match(types$1.star)); } parsePropertyDefinition(isPattern, refExpressionErrors) { let decorators = []; - if (this.match(types.at)) { + if (this.match(types$1.at)) { if (this.hasPlugin("decorators")) { this.raise(this.state.start, ErrorMessages.UnsupportedPropertyDecorator); } - while (this.match(types.at)) { + while (this.match(types$1.at)) { decorators.push(this.parseDecorator()); } } @@ -10983,7 +11753,7 @@ class ExpressionParser extends LValParser { let startPos; let startLoc; - if (this.match(types.ellipsis)) { + if (this.match(types$1.ellipsis)) { if (decorators.length) this.unexpected(); if (isPattern) { @@ -11009,7 +11779,7 @@ class ExpressionParser extends LValParser { } if (!isPattern) { - isGenerator = this.eat(types.star); + isGenerator = this.eat(types$1.star); } const containsEsc = this.state.containsEsc; @@ -11020,7 +11790,7 @@ class ExpressionParser extends LValParser { if (keyName === "async" && !this.hasPrecedingLineBreak()) { isAsync = true; - isGenerator = this.eat(types.star); + isGenerator = this.eat(types$1.star); this.parsePropertyName(prop, false); } @@ -11028,7 +11798,7 @@ class ExpressionParser extends LValParser { isAccessor = true; prop.kind = keyName; - if (this.match(types.star)) { + if (this.match(types$1.star)) { isGenerator = true; this.raise(this.state.pos, ErrorMessages.AccessorIsGenerator, keyName); this.next(); @@ -11077,7 +11847,7 @@ class ExpressionParser extends LValParser { return prop; } - if (isAsync || isGenerator || this.match(types.parenL)) { + if (isAsync || isGenerator || this.match(types$1.parenL)) { if (isPattern) this.unexpected(); prop.kind = "method"; prop.method = true; @@ -11088,7 +11858,7 @@ class ExpressionParser extends LValParser { parseObjectProperty(prop, startPos, startLoc, isPattern, refExpressionErrors) { prop.shorthand = false; - if (this.eat(types.colon)) { + if (this.eat(types$1.colon)) { prop.value = isPattern ? this.parseMaybeDefault(this.state.start, this.state.startLoc) : this.parseMaybeAssignAllowIn(refExpressionErrors); return this.finishNode(prop, "ObjectProperty"); } @@ -11098,7 +11868,7 @@ class ExpressionParser extends LValParser { if (isPattern) { prop.value = this.parseMaybeDefault(startPos, startLoc, prop.key.__clone()); - } else if (this.match(types.eq) && refExpressionErrors) { + } else if (this.match(types$1.eq) && refExpressionErrors) { if (refExpressionErrors.shorthandAssign === -1) { refExpressionErrors.shorthandAssign = this.state.start; } @@ -11120,16 +11890,17 @@ class ExpressionParser extends LValParser { } parsePropertyName(prop, isPrivateNameAllowed) { - if (this.eat(types.bracketL)) { + if (this.eat(types$1.bracketL)) { prop.computed = true; prop.key = this.parseMaybeAssignAllowIn(); - this.expect(types.bracketR); + this.expect(types$1.bracketR); } else { const oldInPropertyName = this.state.inPropertyName; this.state.inPropertyName = true; - prop.key = this.match(types.num) || this.match(types.string) || this.match(types.bigint) || this.match(types.decimal) ? this.parseExprAtom() : this.parseMaybePrivateName(isPrivateNameAllowed); + const type = this.state.type; + prop.key = type === types$1.num || type === types$1.string || type === types$1.bigint || type === types$1.decimal ? this.parseExprAtom() : this.parseMaybePrivateName(isPrivateNameAllowed); - if (!this.isPrivateName(prop.key)) { + if (type !== types$1.privateName) { prop.computed = false; } @@ -11176,7 +11947,7 @@ class ExpressionParser extends LValParser { this.scope.enter(SCOPE_FUNCTION | SCOPE_ARROW); let flags = functionFlags(isAsync, false); - if (!this.match(types.bracketL) && this.prodParam.hasIn) { + if (!this.match(types$1.bracketL) && this.prodParam.hasIn) { flags |= PARAM_IN; } @@ -11207,7 +11978,7 @@ class ExpressionParser extends LValParser { } parseFunctionBody(node, allowExpression, isMethod = false) { - const isExpression = allowExpression && !this.match(types.braceL); + const isExpression = allowExpression && !this.match(types$1.braceL); this.expressionScope.enter(newExpressionScope()); if (isExpression) { @@ -11250,8 +12021,7 @@ class ExpressionParser extends LValParser { checkParams(node, allowDuplicates, isArrowFunction, strictModeChanged = true) { const checkClashes = new Set(); - for (let _i2 = 0, _node$params = node.params; _i2 < _node$params.length; _i2++) { - const param = _node$params[_i2]; + for (const param of node.params) { this.checkLVal(param, "function parameter list", BIND_VAR, allowDuplicates ? null : checkClashes, undefined, strictModeChanged); } } @@ -11264,7 +12034,7 @@ class ExpressionParser extends LValParser { if (first) { first = false; } else { - this.expect(types.comma); + this.expect(types$1.comma); if (this.match(close)) { if (nodeForExtra) { @@ -11285,17 +12055,17 @@ class ExpressionParser extends LValParser { parseExprListItem(allowEmpty, refExpressionErrors, refNeedsArrowPos, allowPlaceholder) { let elt; - if (this.match(types.comma)) { + if (this.match(types$1.comma)) { if (!allowEmpty) { this.raise(this.state.pos, ErrorMessages.UnexpectedToken, ","); } elt = null; - } else if (this.match(types.ellipsis)) { + } else if (this.match(types$1.ellipsis)) { const spreadNodeStartPos = this.state.start; const spreadNodeStartLoc = this.state.startLoc; elt = this.parseParenItem(this.parseSpread(refExpressionErrors, refNeedsArrowPos), spreadNodeStartPos, spreadNodeStartLoc); - } else if (this.match(types.question)) { + } else if (this.match(types$1.question)) { this.expectPlugin("partialApplication"); if (!allowPlaceholder) { @@ -11331,21 +12101,24 @@ class ExpressionParser extends LValParser { type } = this.state; - if (type === types.name) { + if (type === types$1.name) { name = this.state.value; } else if (type.keyword) { name = type.keyword; - const curContext = this.curContext(); - if ((type === types._class || type === types._function) && (curContext === types$1.functionStatement || curContext === types$1.functionExpression)) { - this.state.context.pop(); + if (type === types$1._class || type === types$1._function) { + const curContext = this.curContext(); + + if (curContext === types.functionStatement || curContext === types.functionExpression) { + this.state.context.pop(); + } } } else { throw this.unexpected(); } if (liberal) { - this.state.type = types.name; + this.state.type = types$1.name; } else { this.checkReservedWord(name, start, !!type.keyword, false); } @@ -11355,23 +12128,34 @@ class ExpressionParser extends LValParser { } checkReservedWord(word, startLoc, checkKeywords, isBinding) { - if (this.prodParam.hasYield && word === "yield") { - this.raise(startLoc, ErrorMessages.YieldBindingIdentifier); + if (word.length > 10) { return; } - if (word === "await") { + if (!canBeReservedWord(word)) { + return; + } + + if (word === "yield") { + if (this.prodParam.hasYield) { + this.raise(startLoc, ErrorMessages.YieldBindingIdentifier); + return; + } + } else if (word === "await") { if (this.prodParam.hasAwait) { this.raise(startLoc, ErrorMessages.AwaitBindingIdentifier); return; + } else if (this.scope.inStaticBlock && !this.scope.inNonArrowFunction) { + this.raise(startLoc, ErrorMessages.AwaitBindingIdentifierInStaticBlock); + return; } else { this.expressionScope.recordAsyncArrowParametersError(startLoc, ErrorMessages.AwaitBindingIdentifier); } - } - - if (this.scope.inClass && !this.scope.inNonArrowFunction && word === "arguments") { - this.raise(startLoc, ErrorMessages.ArgumentsInClass); - return; + } else if (word === "arguments") { + if (this.scope.inClassAndNotInNonArrowFunction) { + this.raise(startLoc, ErrorMessages.ArgumentsInClass); + return; + } } if (checkKeywords && isKeyword(word)) { @@ -11382,11 +12166,7 @@ class ExpressionParser extends LValParser { const reservedTest = !this.state.strict ? isReservedWord : isBinding ? isStrictBindReservedWord : isStrictReservedWord; if (reservedTest(word, this.inModule)) { - if (!this.prodParam.hasAwait && word === "await") { - this.raise(startLoc, this.hasPlugin("topLevelAwait") ? ErrorMessages.AwaitNotInAsyncContext : ErrorMessages.AwaitNotInAsyncFunction); - } else { - this.raise(startLoc, ErrorMessages.UnexpectedReservedWord, word); - } + this.raise(startLoc, ErrorMessages.UnexpectedReservedWord, word); } } @@ -11400,17 +12180,16 @@ class ExpressionParser extends LValParser { return false; } - parseAwait() { - const node = this.startNode(); - this.next(); + parseAwait(startPos, startLoc) { + const node = this.startNodeAt(startPos, startLoc); this.expressionScope.recordParameterInitializerError(node.start, ErrorMessages.AwaitExpressionFormalParameter); - if (this.eat(types.star)) { + if (this.eat(types$1.star)) { this.raise(node.start, ErrorMessages.ObsoleteAwaitStar); } if (!this.scope.inFunction && !this.options.allowAwaitOutsideFunction) { - if (this.hasPrecedingLineBreak() || this.match(types.plusMin) || this.match(types.parenL) || this.match(types.bracketL) || this.match(types.backQuote) || this.match(types.regexp) || this.match(types.slash) || this.hasPlugin("v8intrinsic") && this.match(types.modulo)) { + if (this.isAmbiguousAwait()) { this.ambiguousScriptDifferentAst = true; } else { this.sawUnambiguousESM = true; @@ -11418,25 +12197,44 @@ class ExpressionParser extends LValParser { } if (!this.state.soloAwait) { - node.argument = this.parseMaybeUnary(); + node.argument = this.parseMaybeUnary(null, true); } return this.finishNode(node, "AwaitExpression"); } + isAmbiguousAwait() { + return this.hasPrecedingLineBreak() || this.match(types$1.plusMin) || this.match(types$1.parenL) || this.match(types$1.bracketL) || this.match(types$1.backQuote) || this.match(types$1.regexp) || this.match(types$1.slash) || this.hasPlugin("v8intrinsic") && this.match(types$1.modulo); + } + parseYield() { const node = this.startNode(); this.expressionScope.recordParameterInitializerError(node.start, ErrorMessages.YieldInParameter); this.next(); + let delegating = false; + let argument = null; - if (this.match(types.semi) || !this.match(types.star) && !this.state.type.startsExpr || this.hasPrecedingLineBreak()) { - node.delegate = false; - node.argument = null; - } else { - node.delegate = this.eat(types.star); - node.argument = this.parseMaybeAssign(); + if (!this.hasPrecedingLineBreak()) { + delegating = this.eat(types$1.star); + + switch (this.state.type) { + case types$1.semi: + case types$1.eof: + case types$1.braceR: + case types$1.parenR: + case types$1.bracketR: + case types$1.braceBarR: + case types$1.colon: + case types$1.comma: + if (!delegating) break; + + default: + argument = this.parseMaybeAssign(); + } } + node.delegate = delegating; + node.argument = argument; return this.finishNode(node, "YieldExpression"); } @@ -11454,7 +12252,7 @@ class ExpressionParser extends LValParser { } checkSmartPipelineBodyEarlyErrors(childExpression, startPos) { - if (this.match(types.arrow)) { + if (this.match(types$1.arrow)) { throw this.raise(this.state.start, ErrorMessages.PipelineBodyNoArrow); } else if (childExpression.type === "SequenceExpression") { this.raise(startPos, ErrorMessages.PipelineBodySequenceExpression); @@ -11587,6 +12385,25 @@ class ExpressionParser extends LValParser { return ret; } + parseModuleExpression() { + this.expectPlugin("moduleBlocks"); + const node = this.startNode(); + this.next(); + this.eat(types$1.braceL); + const revertScopes = this.initializeScopes(true); + this.enterInitialScopes(); + const program = this.startNode(); + + try { + node.body = this.parseProgram(program, types$1.braceR, "module"); + } finally { + revertScopes(); + } + + this.eat(types$1.braceR); + return this.finishNode(node, "ModuleExpression"); + } + } const loopLabel = { @@ -11600,24 +12417,64 @@ const FUNC_NO_FLAGS = 0b000, FUNC_HANGING_STATEMENT = 0b010, FUNC_NULLABLE_ID = 0b100; const loneSurrogate = /[\uD800-\uDFFF]/u; +const keywordRelationalOperator = /in(?:stanceof)?/y; + +function babel7CompatTokens(tokens) { + { + for (let i = 0; i < tokens.length; i++) { + const token = tokens[i]; + + if (token.type === types$1.privateName) { + const { + loc, + start, + value, + end + } = token; + const hashEndPos = start + 1; + const hashEndLoc = new Position(loc.start.line, loc.start.column + 1); + tokens.splice(i, 1, new Token({ + type: types$1.hash, + value: "#", + start: start, + end: hashEndPos, + startLoc: loc.start, + endLoc: hashEndLoc + }), new Token({ + type: types$1.name, + value: value, + start: hashEndPos, + end: end, + startLoc: hashEndLoc, + endLoc: loc.end + })); + } + } + } + return tokens; +} + class StatementParser extends ExpressionParser { parseTopLevel(file, program) { - program.sourceType = this.options.sourceType; + file.program = this.parseProgram(program); + file.comments = this.state.comments; + if (this.options.tokens) file.tokens = babel7CompatTokens(this.tokens); + return this.finishNode(file, "File"); + } + + parseProgram(program, end = types$1.eof, sourceType = this.options.sourceType) { + program.sourceType = sourceType; program.interpreter = this.parseInterpreterDirective(); - this.parseBlockBody(program, true, true, types.eof); + this.parseBlockBody(program, true, true, end); if (this.inModule && !this.options.allowUndeclaredExports && this.scope.undefinedExports.size > 0) { - for (let _i = 0, _Array$from = Array.from(this.scope.undefinedExports); _i < _Array$from.length; _i++) { - const [name] = _Array$from[_i]; + for (const [name] of Array.from(this.scope.undefinedExports)) { const pos = this.scope.undefinedExports.get(name); this.raise(pos, ErrorMessages.ModuleExportUndefined, name); } } - file.program = this.finishNode(program, "Program"); - file.comments = this.state.comments; - if (this.options.tokens) file.tokens = this.tokens; - return this.finishNode(file, "File"); + return this.finishNode(program, "Program"); } stmtToDirective(stmt) { @@ -11633,7 +12490,7 @@ class StatementParser extends ExpressionParser { } parseInterpreterDirective() { - if (!this.match(types.interpreterDirective)) { + if (!this.match(types$1.interpreterDirective)) { return null; } @@ -11648,28 +12505,40 @@ class StatementParser extends ExpressionParser { return false; } + return this.isLetKeyword(context); + } + + isLetKeyword(context) { const next = this.nextTokenStart(); - const nextCh = this.input.charCodeAt(next); - if (nextCh === 91) return true; + const nextCh = this.codePointAtPos(next); + + if (nextCh === 92 || nextCh === 91) { + return true; + } + if (context) return false; if (nextCh === 123) return true; if (isIdentifierStart(nextCh)) { - let pos = next + 1; + keywordRelationalOperator.lastIndex = next; + const matched = keywordRelationalOperator.exec(this.input); + + if (matched !== null) { + const endCh = this.codePointAtPos(next + matched[0].length); - while (isIdentifierChar(this.input.charCodeAt(pos))) { - ++pos; + if (!isIdentifierChar(endCh) && endCh !== 92) { + return false; + } } - const ident = this.input.slice(next, pos); - if (!keywordRelationalOperator.test(ident)) return true; + return true; } return false; } parseStatement(context, topLevel) { - if (this.match(types.at)) { + if (this.match(types$1.at)) { this.parseDecorators(true); } @@ -11682,25 +12551,25 @@ class StatementParser extends ExpressionParser { let kind; if (this.isLet(context)) { - starttype = types._var; + starttype = types$1._var; kind = "let"; } switch (starttype) { - case types._break: - case types._continue: + case types$1._break: + case types$1._continue: return this.parseBreakContinueStatement(node, starttype.keyword); - case types._debugger: + case types$1._debugger: return this.parseDebuggerStatement(node); - case types._do: + case types$1._do: return this.parseDoStatement(node); - case types._for: + case types$1._for: return this.parseForStatement(node); - case types._function: + case types$1._function: if (this.lookaheadCharCode() === 46) break; if (context) { @@ -11713,27 +12582,27 @@ class StatementParser extends ExpressionParser { return this.parseFunctionStatement(node, false, !context); - case types._class: + case types$1._class: if (context) this.unexpected(); return this.parseClass(node, true); - case types._if: + case types$1._if: return this.parseIfStatement(node); - case types._return: + case types$1._return: return this.parseReturnStatement(node); - case types._switch: + case types$1._switch: return this.parseSwitchStatement(node); - case types._throw: + case types$1._throw: return this.parseThrowStatement(node); - case types._try: + case types$1._try: return this.parseTryStatement(node); - case types._const: - case types._var: + case types$1._const: + case types$1._var: kind = kind || this.state.value; if (context && kind !== "var") { @@ -11742,19 +12611,19 @@ class StatementParser extends ExpressionParser { return this.parseVarStatement(node, kind); - case types._while: + case types$1._while: return this.parseWhileStatement(node); - case types._with: + case types$1._with: return this.parseWithStatement(node); - case types.braceL: + case types$1.braceL: return this.parseBlock(); - case types.semi: + case types$1.semi: return this.parseEmptyStatement(node); - case types._import: + case types$1._import: { const nextTokenCharCode = this.lookaheadCharCode(); @@ -11763,7 +12632,7 @@ class StatementParser extends ExpressionParser { } } - case types._export: + case types$1._export: { if (!this.options.allowImportExportEverywhere && !topLevel) { this.raise(this.state.start, ErrorMessages.UnexpectedImportExport); @@ -11772,7 +12641,7 @@ class StatementParser extends ExpressionParser { this.next(); let result; - if (starttype === types._import) { + if (starttype === types$1._import) { result = this.parseImport(node); if (result.type === "ImportDeclaration" && (!result.importKind || result.importKind === "value")) { @@ -11806,7 +12675,7 @@ class StatementParser extends ExpressionParser { const maybeName = this.state.value; const expr = this.parseExpression(); - if (starttype === types.name && expr.type === "Identifier" && this.eat(types.colon)) { + if (starttype === types$1.name && expr.type === "Identifier" && this.eat(types$1.colon)) { return this.parseLabeledStatement(node, maybeName, expr, context); } else { return this.parseExpressionStatement(node, expr); @@ -11815,9 +12684,7 @@ class StatementParser extends ExpressionParser { assertModuleNodeAllowed(node) { if (!this.options.allowImportExportEverywhere && !this.inModule) { - this.raiseWithData(node.start, { - code: "BABEL_PARSER_SOURCETYPE_MODULE_REQUIRED" - }, ErrorMessages.ImportOutsideModule); + this.raise(node.start, SourceTypeModuleErrorMessages.ImportOutsideModule); } } @@ -11832,18 +12699,18 @@ class StatementParser extends ExpressionParser { } canHaveLeadingDecorator() { - return this.match(types._class); + return this.match(types$1._class); } parseDecorators(allowExport) { const currentContextDecorators = this.state.decoratorStack[this.state.decoratorStack.length - 1]; - while (this.match(types.at)) { + while (this.match(types$1.at)) { const decorator = this.parseDecorator(); currentContextDecorators.push(decorator); } - if (this.match(types._export)) { + if (this.match(types$1._export)) { if (!allowExport) { this.unexpected(); } @@ -11867,13 +12734,13 @@ class StatementParser extends ExpressionParser { const startLoc = this.state.startLoc; let expr; - if (this.eat(types.parenL)) { + if (this.eat(types$1.parenL)) { expr = this.parseExpression(); - this.expect(types.parenR); + this.expect(types$1.parenR); } else { expr = this.parseIdentifier(false); - while (this.eat(types.dot)) { + while (this.eat(types$1.dot)) { const node = this.startNodeAt(startPos, startLoc); node.object = expr; node.property = this.parseIdentifier(true); @@ -11892,10 +12759,10 @@ class StatementParser extends ExpressionParser { } parseMaybeDecoratorArguments(expr) { - if (this.eat(types.parenL)) { + if (this.eat(types$1.parenL)) { const node = this.startNodeAtNode(expr); node.callee = expr; - node.arguments = this.parseCallExpressionArguments(types.parenR, false); + node.arguments = this.parseCallExpressionArguments(types$1.parenR, false); this.toReferencedList(node.arguments); return this.finishNode(node, "CallExpression"); } @@ -11943,9 +12810,9 @@ class StatementParser extends ExpressionParser { } parseHeaderExpression() { - this.expect(types.parenL); + this.expect(types$1.parenL); const val = this.parseExpression(); - this.expect(types.parenR); + this.expect(types$1.parenR); return val; } @@ -11954,9 +12821,9 @@ class StatementParser extends ExpressionParser { this.state.labels.push(loopLabel); node.body = this.withTopicForbiddingContext(() => this.parseStatement("do")); this.state.labels.pop(); - this.expect(types._while); + this.expect(types$1._while); node.test = this.parseHeaderExpression(); - this.eat(types.semi); + this.eat(types$1.semi); return this.finishNode(node, "DoWhileStatement"); } @@ -11970,9 +12837,9 @@ class StatementParser extends ExpressionParser { } this.scope.enter(SCOPE_OTHER); - this.expect(types.parenL); + this.expect(types$1.parenL); - if (this.match(types.semi)) { + if (this.match(types$1.semi)) { if (awaitAt > -1) { this.unexpected(awaitAt); } @@ -11980,16 +12847,17 @@ class StatementParser extends ExpressionParser { return this.parseFor(node, null); } - const isLet = this.isLet(); + const startsWithLet = this.isContextual("let"); + const isLet = startsWithLet && this.isLetKeyword(); - if (this.match(types._var) || this.match(types._const) || isLet) { + if (this.match(types$1._var) || this.match(types$1._const) || isLet) { const init = this.startNode(); const kind = isLet ? "let" : this.state.value; this.next(); this.parseVar(init, true, kind); this.finishNode(init, "VariableDeclaration"); - if ((this.match(types._in) || this.isContextual("of")) && init.declarations.length === 1) { + if ((this.match(types$1._in) || this.isContextual("of")) && init.declarations.length === 1) { return this.parseForIn(node, init, awaitAt); } @@ -12000,12 +12868,22 @@ class StatementParser extends ExpressionParser { return this.parseFor(node, init); } + const startsWithUnescapedName = this.match(types$1.name) && !this.state.containsEsc; const refExpressionErrors = new ExpressionErrors(); const init = this.parseExpression(true, refExpressionErrors); + const isForOf = this.isContextual("of"); + + if (isForOf) { + if (startsWithLet) { + this.raise(init.start, ErrorMessages.ForOfLet); + } else if (awaitAt === -1 && startsWithUnescapedName && init.type === "Identifier" && init.name === "async") { + this.raise(init.start, ErrorMessages.ForOfAsync); + } + } - if (this.match(types._in) || this.isContextual("of")) { + if (isForOf || this.match(types$1._in)) { this.toAssignable(init, true); - const description = this.isContextual("of") ? "for-of statement" : "for-in statement"; + const description = isForOf ? "for-of statement" : "for-in statement"; this.checkLVal(init, description); return this.parseForIn(node, init, awaitAt); } else { @@ -12028,7 +12906,7 @@ class StatementParser extends ExpressionParser { this.next(); node.test = this.parseHeaderExpression(); node.consequent = this.parseStatement("if"); - node.alternate = this.eat(types._else) ? this.parseStatement("if") : null; + node.alternate = this.eat(types$1._else) ? this.parseStatement("if") : null; return this.finishNode(node, "IfStatement"); } @@ -12053,14 +12931,14 @@ class StatementParser extends ExpressionParser { this.next(); node.discriminant = this.parseHeaderExpression(); const cases = node.cases = []; - this.expect(types.braceL); + this.expect(types$1.braceL); this.state.labels.push(switchLabel); this.scope.enter(SCOPE_OTHER); let cur; - for (let sawDefault; !this.match(types.braceR);) { - if (this.match(types._case) || this.match(types._default)) { - const isCase = this.match(types._case); + for (let sawDefault; !this.match(types$1.braceR);) { + if (this.match(types$1._case) || this.match(types$1._default)) { + const isCase = this.match(types$1._case); if (cur) this.finishNode(cur, "SwitchCase"); cases.push(cur = this.startNode()); cur.consequent = []; @@ -12077,7 +12955,7 @@ class StatementParser extends ExpressionParser { cur.test = null; } - this.expect(types.colon); + this.expect(types$1.colon); } else { if (cur) { cur.consequent.push(this.parseStatement(null)); @@ -12119,14 +12997,14 @@ class StatementParser extends ExpressionParser { node.block = this.parseBlock(); node.handler = null; - if (this.match(types._catch)) { + if (this.match(types$1._catch)) { const clause = this.startNode(); this.next(); - if (this.match(types.parenL)) { - this.expect(types.parenL); + if (this.match(types$1.parenL)) { + this.expect(types$1.parenL); clause.param = this.parseCatchClauseParam(); - this.expect(types.parenR); + this.expect(types$1.parenR); } else { clause.param = null; this.scope.enter(SCOPE_OTHER); @@ -12137,7 +13015,7 @@ class StatementParser extends ExpressionParser { node.handler = this.finishNode(clause, "CatchClause"); } - node.finalizer = this.eat(types._finally) ? this.parseBlock() : null; + node.finalizer = this.eat(types$1._finally) ? this.parseBlock() : null; if (!node.handler && !node.finalizer) { this.raise(node.start, ErrorMessages.NoCatchOrFinally); @@ -12179,15 +13057,13 @@ class StatementParser extends ExpressionParser { } parseLabeledStatement(node, maybeName, expr, context) { - for (let _i2 = 0, _this$state$labels = this.state.labels; _i2 < _this$state$labels.length; _i2++) { - const label = _this$state$labels[_i2]; - + for (const label of this.state.labels) { if (label.name === maybeName) { this.raise(expr.start, ErrorMessages.LabelRedeclaration, maybeName); } } - const kind = this.state.type.isLoop ? "loop" : this.match(types._switch) ? "switch" : null; + const kind = this.state.type.isLoop ? "loop" : this.match(types$1._switch) ? "switch" : null; for (let i = this.state.labels.length - 1; i >= 0; i--) { const label = this.state.labels[i]; @@ -12224,13 +13100,13 @@ class StatementParser extends ExpressionParser { this.state.strictErrors.clear(); } - this.expect(types.braceL); + this.expect(types$1.braceL); if (createNewLexicalScope) { this.scope.enter(SCOPE_OTHER); } - this.parseBlockBody(node, allowDirectives, false, types.braceR, afterBlockParse); + this.parseBlockBody(node, allowDirectives, false, types$1.braceR, afterBlockParse); if (createNewLexicalScope) { this.scope.exit(); @@ -12290,11 +13166,11 @@ class StatementParser extends ExpressionParser { parseFor(node, init) { node.init = init; - this.expect(types.semi); - node.test = this.match(types.semi) ? null : this.parseExpression(); - this.expect(types.semi); - node.update = this.match(types.parenR) ? null : this.parseExpression(); - this.expect(types.parenR); + this.semicolon(false); + node.test = this.match(types$1.semi) ? null : this.parseExpression(); + this.semicolon(false); + node.update = this.match(types$1.parenR) ? null : this.parseExpression(); + this.expect(types$1.parenR); node.body = this.withTopicForbiddingContext(() => this.parseStatement("for")); this.scope.exit(); this.state.labels.pop(); @@ -12302,7 +13178,7 @@ class StatementParser extends ExpressionParser { } parseForIn(node, init, awaitAt) { - const isForIn = this.match(types._in); + const isForIn = this.match(types$1._in); this.next(); if (isForIn) { @@ -12319,7 +13195,7 @@ class StatementParser extends ExpressionParser { node.left = init; node.right = isForIn ? this.parseExpression() : this.parseMaybeAssignAllowIn(); - this.expect(types.parenR); + this.expect(types$1.parenR); node.body = this.withTopicForbiddingContext(() => this.parseStatement("for")); this.scope.exit(); this.state.labels.pop(); @@ -12335,14 +13211,14 @@ class StatementParser extends ExpressionParser { const decl = this.startNode(); this.parseVarId(decl, kind); - if (this.eat(types.eq)) { + if (this.eat(types$1.eq)) { decl.init = isFor ? this.parseMaybeAssignDisallowIn() : this.parseMaybeAssignAllowIn(); } else { - if (kind === "const" && !(this.match(types._in) || this.isContextual("of"))) { + if (kind === "const" && !(this.match(types$1._in) || this.isContextual("of"))) { if (!isTypescript) { this.raise(this.state.lastTokEnd, ErrorMessages.DeclarationMissingInitializer, "Const declarations"); } - } else if (decl.id.type !== "Identifier" && !(isFor && (this.match(types._in) || this.isContextual("of")))) { + } else if (decl.id.type !== "Identifier" && !(isFor && (this.match(types$1._in) || this.isContextual("of")))) { this.raise(this.state.lastTokEnd, ErrorMessages.DeclarationMissingInitializer, "Complex binding patterns"); } @@ -12350,7 +13226,7 @@ class StatementParser extends ExpressionParser { } declarations.push(this.finishNode(decl, "VariableDeclarator")); - if (!this.eat(types.comma)) break; + if (!this.eat(types$1.comma)) break; } return node; @@ -12367,11 +13243,11 @@ class StatementParser extends ExpressionParser { const requireId = !!isStatement && !(statement & FUNC_NULLABLE_ID); this.initFunction(node, isAsync); - if (this.match(types.star) && isHangingStatement) { + if (this.match(types$1.star) && isHangingStatement) { this.raise(this.state.start, ErrorMessages.GeneratorInSingleStatementContext); } - node.generator = this.eat(types.star); + node.generator = this.eat(types$1.star); if (isStatement) { node.id = this.parseFunctionId(requireId); @@ -12402,13 +13278,13 @@ class StatementParser extends ExpressionParser { } parseFunctionId(requireId) { - return requireId || this.match(types.name) ? this.parseIdentifier() : null; + return requireId || this.match(types$1.name) ? this.parseIdentifier() : null; } parseFunctionParams(node, allowModifiers) { - this.expect(types.parenL); + this.expect(types$1.parenL); this.expressionScope.enter(newParameterDeclarationScope()); - node.params = this.parseBindingList(types.parenR, 41, false, allowModifiers); + node.params = this.parseBindingList(types$1.parenR, 41, false, allowModifiers); this.expressionScope.exit(); } @@ -12429,31 +13305,30 @@ class StatementParser extends ExpressionParser { } isClassProperty() { - return this.match(types.eq) || this.match(types.semi) || this.match(types.braceR); + return this.match(types$1.eq) || this.match(types$1.semi) || this.match(types$1.braceR); } isClassMethod() { - return this.match(types.parenL); + return this.match(types$1.parenL); } isNonstaticConstructor(method) { return !method.computed && !method.static && (method.key.name === "constructor" || method.key.value === "constructor"); } - parseClassBody(constructorAllowsSuper, oldStrict) { + parseClassBody(hadSuperClass, oldStrict) { this.classScope.enter(); const state = { - constructorAllowsSuper, hadConstructor: false, - hadStaticBlock: false + hadSuperClass }; let decorators = []; const classBody = this.startNode(); classBody.body = []; - this.expect(types.braceL); + this.expect(types$1.braceL); this.withTopicForbiddingContext(() => { - while (!this.match(types.braceR)) { - if (this.eat(types.semi)) { + while (!this.match(types$1.braceR)) { + if (this.eat(types$1.semi)) { if (decorators.length > 0) { throw this.raise(this.state.lastTokEnd, ErrorMessages.DecoratorSemicolon); } @@ -12461,7 +13336,7 @@ class StatementParser extends ExpressionParser { continue; } - if (this.match(types.at)) { + if (this.match(types$1.at)) { decorators.push(this.parseDecorator()); continue; } @@ -12523,8 +13398,8 @@ class StatementParser extends ExpressionParser { return; } - if (this.eat(types.braceL)) { - this.parseClassStaticBlock(classBody, member, state); + if (this.eat(types$1.braceL)) { + this.parseClassStaticBlock(classBody, member); return; } } @@ -12541,11 +13416,12 @@ class StatementParser extends ExpressionParser { const publicMember = publicMethod; member.static = isStatic; - if (this.eat(types.star)) { + if (this.eat(types$1.star)) { method.kind = "method"; + const isPrivateName = this.match(types$1.privateName); this.parseClassElementName(method); - if (this.isPrivateName(method.key)) { + if (isPrivateName) { this.pushClassPrivateMethod(classBody, privateMethod, true, false); return; } @@ -12559,8 +13435,8 @@ class StatementParser extends ExpressionParser { } const containsEsc = this.state.containsEsc; + const isPrivate = this.match(types$1.privateName); const key = this.parseClassElementName(member); - const isPrivate = this.isPrivateName(key); const isSimple = key.type === "Identifier"; const maybeQuestionTokenStart = this.state.start; this.parsePostMemberNameModifiers(publicMember); @@ -12583,8 +13459,12 @@ class StatementParser extends ExpressionParser { this.raise(key.start, ErrorMessages.DuplicateConstructor); } + if (isConstructor && this.hasPlugin("typescript") && member.override) { + this.raise(key.start, ErrorMessages.OverrideOnConstructor); + } + state.hadConstructor = true; - allowsDirectSuper = state.constructorAllowsSuper; + allowsDirectSuper = state.hadSuperClass; } this.pushClassMethod(classBody, publicMethod, false, false, isConstructor, allowsDirectSuper); @@ -12595,17 +13475,18 @@ class StatementParser extends ExpressionParser { this.pushClassProperty(classBody, publicProp); } } else if (isSimple && key.name === "async" && !containsEsc && !this.isLineTerminator()) { - const isGenerator = this.eat(types.star); + const isGenerator = this.eat(types$1.star); if (publicMember.optional) { this.unexpected(maybeQuestionTokenStart); } method.kind = "method"; + const isPrivate = this.match(types$1.privateName); this.parseClassElementName(method); this.parsePostMemberNameModifiers(publicMember); - if (this.isPrivateName(method.key)) { + if (isPrivate) { this.pushClassPrivateMethod(classBody, privateMethod, isGenerator, true); } else { if (this.isNonstaticConstructor(publicMethod)) { @@ -12614,11 +13495,12 @@ class StatementParser extends ExpressionParser { this.pushClassMethod(classBody, publicMethod, isGenerator, true, false, false); } - } else if (isSimple && (key.name === "get" || key.name === "set") && !containsEsc && !(this.match(types.star) && this.isLineTerminator())) { + } else if (isSimple && (key.name === "get" || key.name === "set") && !containsEsc && !(this.match(types$1.star) && this.isLineTerminator())) { method.kind = key.name; + const isPrivate = this.match(types$1.privateName); this.parseClassElementName(publicMethod); - if (this.isPrivateName(method.key)) { + if (isPrivate) { this.pushClassPrivateMethod(classBody, privateMethod, false, false); } else { if (this.isNonstaticConstructor(publicMethod)) { @@ -12641,45 +13523,41 @@ class StatementParser extends ExpressionParser { } parseClassElementName(member) { - const key = this.parsePropertyName(member, true); + const { + type, + value, + start + } = this.state; - if (!member.computed && member.static && (key.name === "prototype" || key.value === "prototype")) { - this.raise(key.start, ErrorMessages.StaticPrototype); + if ((type === types$1.name || type === types$1.string) && member.static && value === "prototype") { + this.raise(start, ErrorMessages.StaticPrototype); } - if (this.isPrivateName(key) && this.getPrivateNameSV(key) === "constructor") { - this.raise(key.start, ErrorMessages.ConstructorClassPrivateField); + if (type === types$1.privateName && value === "constructor") { + this.raise(start, ErrorMessages.ConstructorClassPrivateField); } - return key; + return this.parsePropertyName(member, true); } - parseClassStaticBlock(classBody, member, state) { + parseClassStaticBlock(classBody, member) { var _member$decorators; this.expectPlugin("classStaticBlock", member.start); - this.scope.enter(SCOPE_CLASS | SCOPE_SUPER); - this.expressionScope.enter(newExpressionScope()); + this.scope.enter(SCOPE_CLASS | SCOPE_STATIC_BLOCK | SCOPE_SUPER); const oldLabels = this.state.labels; this.state.labels = []; this.prodParam.enter(PARAM); const body = member.body = []; - this.parseBlockOrModuleBlockBody(body, undefined, false, types.braceR); + this.parseBlockOrModuleBlockBody(body, undefined, false, types$1.braceR); this.prodParam.exit(); - this.expressionScope.exit(); this.scope.exit(); this.state.labels = oldLabels; classBody.body.push(this.finishNode(member, "StaticBlock")); - if (state.hadStaticBlock) { - this.raise(member.start, ErrorMessages.DuplicateStaticBlock); - } - - if ((_member$decorators = member.decorators) == null ? void 0 : _member$decorators.length) { + if ((_member$decorators = member.decorators) != null && _member$decorators.length) { this.raise(member.start, ErrorMessages.DecoratorStaticBlock); } - - state.hadStaticBlock = true; } pushClassProperty(classBody, prop) { @@ -12691,7 +13569,6 @@ class StatementParser extends ExpressionParser { } pushClassPrivateProperty(classBody, prop) { - this.expectPlugin("classPrivateProperties", prop.key.start); const node = this.parseClassPrivateProperty(prop); classBody.body.push(node); this.classScope.declarePrivateName(this.getPrivateNameSV(node.key), CLASS_ELEMENT_OTHER, node.key.start); @@ -12702,7 +13579,6 @@ class StatementParser extends ExpressionParser { } pushClassPrivateMethod(classBody, method, isGenerator, isAsync) { - this.expectPlugin("classPrivateMethods", method.key.start); const node = this.parseMethod(method, isGenerator, isAsync, false, false, "ClassPrivateMethod", true); classBody.body.push(node); const kind = node.kind === "get" ? node.static ? CLASS_ELEMENT_STATIC_GETTER : CLASS_ELEMENT_INSTANCE_GETTER : node.kind === "set" ? node.static ? CLASS_ELEMENT_STATIC_SETTER : CLASS_ELEMENT_INSTANCE_SETTER : CLASS_ELEMENT_OTHER; @@ -12718,10 +13594,6 @@ class StatementParser extends ExpressionParser { } parseClassProperty(node) { - if (!node.typeAnnotation || this.match(types.eq)) { - this.expectPlugin("classProperties"); - } - this.parseInitializer(node); this.semicolon(); return this.finishNode(node, "ClassProperty"); @@ -12731,14 +13603,14 @@ class StatementParser extends ExpressionParser { this.scope.enter(SCOPE_CLASS | SCOPE_SUPER); this.expressionScope.enter(newExpressionScope()); this.prodParam.enter(PARAM); - node.value = this.eat(types.eq) ? this.parseMaybeAssignAllowIn() : null; + node.value = this.eat(types$1.eq) ? this.parseMaybeAssignAllowIn() : null; this.expressionScope.exit(); this.prodParam.exit(); this.scope.exit(); } parseClassId(node, isStatement, optionalId, bindingType = BIND_CLASS) { - if (this.match(types.name)) { + if (this.match(types$1.name)) { node.id = this.parseIdentifier(); if (isStatement) { @@ -12754,15 +13626,15 @@ class StatementParser extends ExpressionParser { } parseClassSuper(node) { - node.superClass = this.eat(types._extends) ? this.parseExprSubscripts() : null; + node.superClass = this.eat(types$1._extends) ? this.parseExprSubscripts() : null; } parseExport(node) { const hasDefault = this.maybeParseExportDefaultSpecifier(node); - const parseAfterDefault = !hasDefault || this.eat(types.comma); + const parseAfterDefault = !hasDefault || this.eat(types$1.comma); const hasStar = parseAfterDefault && this.eatExportStar(node); const hasNamespace = hasStar && this.maybeParseExportNamespaceSpecifier(node); - const parseAfterNamespace = parseAfterDefault && (!hasNamespace || this.eat(types.comma)); + const parseAfterNamespace = parseAfterDefault && (!hasNamespace || this.eat(types$1.comma)); const isFromRequired = hasDefault || hasStar; if (hasStar && !hasNamespace) { @@ -12774,7 +13646,7 @@ class StatementParser extends ExpressionParser { const hasSpecifiers = this.maybeParseExportNamedSpecifiers(node); if (hasDefault && parseAfterDefault && !hasStar && !hasSpecifiers || hasNamespace && parseAfterNamespace && !hasSpecifiers) { - throw this.unexpected(null, types.braceL); + throw this.unexpected(null, types$1.braceL); } let hasDeclaration; @@ -12791,17 +13663,17 @@ class StatementParser extends ExpressionParser { return this.finishNode(node, "ExportNamedDeclaration"); } - if (this.eat(types._default)) { + if (this.eat(types$1._default)) { node.declaration = this.parseExportDefaultExpression(); this.checkExport(node, true, true); return this.finishNode(node, "ExportDefaultDeclaration"); } - throw this.unexpected(null, types.braceL); + throw this.unexpected(null, types$1.braceL); } eatExportStar(node) { - return this.eat(types.star); + return this.eat(types$1.star); } maybeParseExportDefaultSpecifier(node) { @@ -12830,7 +13702,7 @@ class StatementParser extends ExpressionParser { } maybeParseExportNamedSpecifiers(node) { - if (this.match(types.braceL)) { + if (this.match(types$1.braceL)) { if (!node.specifiers) node.specifiers = []; node.specifiers.push(...this.parseExportSpecifiers()); node.source = null; @@ -12862,7 +13734,7 @@ class StatementParser extends ExpressionParser { const expr = this.startNode(); const isAsync = this.isAsyncFunction(); - if (this.match(types._function) || isAsync) { + if (this.match(types$1._function) || isAsync) { this.next(); if (isAsync) { @@ -12870,16 +13742,16 @@ class StatementParser extends ExpressionParser { } return this.parseFunction(expr, FUNC_STATEMENT | FUNC_NULLABLE_ID, isAsync); - } else if (this.match(types._class)) { + } else if (this.match(types$1._class)) { return this.parseClass(expr, true, true); - } else if (this.match(types.at)) { + } else if (this.match(types$1.at)) { if (this.hasPlugin("decorators") && this.getPluginOption("decorators", "decoratorsBeforeExport")) { this.raise(this.state.start, ErrorMessages.DecoratorBeforeExport); } this.parseDecorators(false); return this.parseClass(expr, true, true); - } else if (this.match(types._const) || this.match(types._var) || this.isLet()) { + } else if (this.match(types$1._const) || this.match(types$1._var) || this.isLet()) { throw this.raise(this.state.start, ErrorMessages.UnsupportedDefaultExport); } else { const res = this.parseMaybeAssignAllowIn(); @@ -12893,7 +13765,7 @@ class StatementParser extends ExpressionParser { } isExportDefaultSpecifier() { - if (this.match(types.name)) { + if (this.match(types$1.name)) { const value = this.state.value; if (value === "async" && !this.state.containsEsc || value === "let") { @@ -12903,23 +13775,23 @@ class StatementParser extends ExpressionParser { if ((value === "type" || value === "interface") && !this.state.containsEsc) { const l = this.lookahead(); - if (l.type === types.name && l.value !== "from" || l.type === types.braceL) { + if (l.type === types$1.name && l.value !== "from" || l.type === types$1.braceL) { this.expectOnePlugin(["flow", "typescript"]); return false; } } - } else if (!this.match(types._default)) { + } else if (!this.match(types$1._default)) { return false; } const next = this.nextTokenStart(); const hasFrom = this.isUnparsedContextual(next, "from"); - if (this.input.charCodeAt(next) === 44 || this.match(types.name) && hasFrom) { + if (this.input.charCodeAt(next) === 44 || this.match(types$1.name) && hasFrom) { return true; } - if (this.match(types._default) && hasFrom) { + if (this.match(types$1._default) && hasFrom) { const nextAfterFrom = this.input.charCodeAt(this.nextTokenStartSince(next + 4)); return nextAfterFrom === 34 || nextAfterFrom === 39; } @@ -12948,7 +13820,7 @@ class StatementParser extends ExpressionParser { } shouldParseExportDeclaration() { - if (this.match(types.at)) { + if (this.match(types$1.at)) { this.expectOnePlugin(["decorators", "decorators-legacy"]); if (this.hasPlugin("decorators")) { @@ -12973,13 +13845,12 @@ class StatementParser extends ExpressionParser { const declaration = node.declaration; - if (declaration.type === "Identifier" && declaration.name === "from" && declaration.end - declaration.start === 4 && !((_declaration$extra = declaration.extra) == null ? void 0 : _declaration$extra.parenthesized)) { + if (declaration.type === "Identifier" && declaration.name === "from" && declaration.end - declaration.start === 4 && !((_declaration$extra = declaration.extra) != null && _declaration$extra.parenthesized)) { this.raise(declaration.start, ErrorMessages.ExportDefaultFromAsIdentifier); } } } else if (node.specifiers && node.specifiers.length) { - for (let _i3 = 0, _node$specifiers = node.specifiers; _i3 < _node$specifiers.length; _i3++) { - const specifier = _node$specifiers[_i3]; + for (const specifier of node.specifiers) { const { exported } = specifier; @@ -12991,7 +13862,7 @@ class StatementParser extends ExpressionParser { local } = specifier; - if (local.type === "StringLiteral") { + if (local.type !== "Identifier") { this.raise(specifier.start, ErrorMessages.ExportBindingIsString, local.value, exportedName); } else { this.checkReservedWord(local.name, local.start, true, false); @@ -13005,8 +13876,7 @@ class StatementParser extends ExpressionParser { if (!id) throw new Error("Assertion failure"); this.checkDuplicateExports(node, id.name); } else if (node.declaration.type === "VariableDeclaration") { - for (let _i4 = 0, _node$declaration$dec = node.declaration.declarations; _i4 < _node$declaration$dec.length; _i4++) { - const declaration = _node$declaration$dec[_i4]; + for (const declaration of node.declaration.declarations) { this.checkDeclaration(declaration.id); } } @@ -13024,14 +13894,11 @@ class StatementParser extends ExpressionParser { if (node.type === "Identifier") { this.checkDuplicateExports(node, node.name); } else if (node.type === "ObjectPattern") { - for (let _i5 = 0, _node$properties = node.properties; _i5 < _node$properties.length; _i5++) { - const prop = _node$properties[_i5]; + for (const prop of node.properties) { this.checkDeclaration(prop); } } else if (node.type === "ArrayPattern") { - for (let _i6 = 0, _node$elements = node.elements; _i6 < _node$elements.length; _i6++) { - const elem = _node$elements[_i6]; - + for (const elem of node.elements) { if (elem) { this.checkDeclaration(elem); } @@ -13046,24 +13913,24 @@ class StatementParser extends ExpressionParser { } checkDuplicateExports(node, name) { - if (this.state.exportedIdentifiers.indexOf(name) > -1) { + if (this.exportedIdentifiers.has(name)) { this.raise(node.start, name === "default" ? ErrorMessages.DuplicateDefaultExport : ErrorMessages.DuplicateExport, name); } - this.state.exportedIdentifiers.push(name); + this.exportedIdentifiers.add(name); } parseExportSpecifiers() { const nodes = []; let first = true; - this.expect(types.braceL); + this.expect(types$1.braceL); - while (!this.eat(types.braceR)) { + while (!this.eat(types$1.braceR)) { if (first) { first = false; } else { - this.expect(types.comma); - if (this.eat(types.braceR)) break; + this.expect(types$1.comma); + if (this.eat(types$1.braceR)) break; } const node = this.startNode(); @@ -13076,9 +13943,8 @@ class StatementParser extends ExpressionParser { } parseModuleExportName() { - if (this.match(types.string)) { - this.expectPlugin("moduleStringNames"); - const result = this.parseLiteral(this.state.value, "StringLiteral"); + if (this.match(types$1.string)) { + const result = this.parseStringLiteral(this.state.value); const surrogate = result.value.match(loneSurrogate); if (surrogate) { @@ -13094,9 +13960,9 @@ class StatementParser extends ExpressionParser { parseImport(node) { node.specifiers = []; - if (!this.match(types.string)) { + if (!this.match(types$1.string)) { const hasDefault = this.maybeParseDefaultImportSpecifier(node); - const parseNext = !hasDefault || this.eat(types.comma); + const parseNext = !hasDefault || this.eat(types$1.comma); const hasStar = parseNext && this.maybeParseStarImportSpecifier(node); if (parseNext && !hasStar) this.parseNamedImportSpecifiers(node); this.expectContextual("from"); @@ -13108,24 +13974,24 @@ class StatementParser extends ExpressionParser { if (assertions) { node.assertions = assertions; } else { - const attributes = this.maybeParseModuleAttributes(); + const attributes = this.maybeParseModuleAttributes(); - if (attributes) { - node.attributes = attributes; - } + if (attributes) { + node.attributes = attributes; } + } this.semicolon(); return this.finishNode(node, "ImportDeclaration"); } parseImportSource() { - if (!this.match(types.string)) this.unexpected(); + if (!this.match(types$1.string)) this.unexpected(); return this.parseExprAtom(); } shouldParseDefaultImport(node) { - return this.match(types.name); + return this.match(types$1.name); } parseImportSpecifierLocal(node, specifier, type, contextDescription) { @@ -13139,45 +14005,41 @@ class StatementParser extends ExpressionParser { const attrNames = new Set(); do { - if (this.match(types.braceR)) { + if (this.match(types$1.braceR)) { break; } const node = this.startNode(); const keyName = this.state.value; - if (this.match(types.string)) { - node.key = this.parseLiteral(keyName, "StringLiteral"); - } else { - node.key = this.parseIdentifier(true); + if (attrNames.has(keyName)) { + this.raise(this.state.start, ErrorMessages.ModuleAttributesWithDuplicateKeys, keyName); } - this.expect(types.colon); - - if (keyName !== "type") { - this.raise(node.key.start, ErrorMessages.ModuleAttributeDifferentFromType, keyName); - } + attrNames.add(keyName); - if (attrNames.has(keyName)) { - this.raise(node.key.start, ErrorMessages.ModuleAttributesWithDuplicateKeys, keyName); + if (this.match(types$1.string)) { + node.key = this.parseStringLiteral(keyName); + } else { + node.key = this.parseIdentifier(true); } - attrNames.add(keyName); + this.expect(types$1.colon); - if (!this.match(types.string)) { + if (!this.match(types$1.string)) { throw this.unexpected(this.state.start, ErrorMessages.ModuleAttributeInvalidValue); } - node.value = this.parseLiteral(this.state.value, "StringLiteral"); + node.value = this.parseStringLiteral(this.state.value); this.finishNode(node, "ImportAttribute"); attrs.push(node); - } while (this.eat(types.comma)); + } while (this.eat(types$1.comma)); return attrs; } maybeParseModuleAttributes() { - if (this.match(types._with) && !this.hasPrecedingLineBreak()) { + if (this.match(types$1._with) && !this.hasPrecedingLineBreak()) { this.expectPlugin("moduleAttributes"); this.next(); } else { @@ -13201,16 +14063,16 @@ class StatementParser extends ExpressionParser { } attributes.add(node.key.name); - this.expect(types.colon); + this.expect(types$1.colon); - if (!this.match(types.string)) { + if (!this.match(types$1.string)) { throw this.unexpected(this.state.start, ErrorMessages.ModuleAttributeInvalidValue); } - node.value = this.parseLiteral(this.state.value, "StringLiteral"); + node.value = this.parseStringLiteral(this.state.value); this.finishNode(node, "ImportAttribute"); attrs.push(node); - } while (this.eat(types.comma)); + } while (this.eat(types$1.comma)); return attrs; } @@ -13224,9 +14086,9 @@ class StatementParser extends ExpressionParser { return null; } - this.eat(types.braceL); + this.eat(types$1.braceL); const attrs = this.parseAssertEntries(); - this.eat(types.braceR); + this.eat(types$1.braceR); return attrs; } @@ -13240,7 +14102,7 @@ class StatementParser extends ExpressionParser { } maybeParseStarImportSpecifier(node) { - if (this.match(types.star)) { + if (this.match(types$1.star)) { const specifier = this.startNode(); this.next(); this.expectContextual("as"); @@ -13253,18 +14115,18 @@ class StatementParser extends ExpressionParser { parseNamedImportSpecifiers(node) { let first = true; - this.expect(types.braceL); + this.expect(types$1.braceL); - while (!this.eat(types.braceR)) { + while (!this.eat(types$1.braceR)) { if (first) { first = false; } else { - if (this.eat(types.colon)) { + if (this.eat(types$1.colon)) { throw this.raise(this.state.start, ErrorMessages.DestructureNamedImport); } - this.expect(types.comma); - if (this.eat(types.braceR)) break; + this.expect(types$1.comma); + if (this.eat(types$1.braceR)) break; } this.parseImportSpecifier(node); @@ -13273,6 +14135,7 @@ class StatementParser extends ExpressionParser { parseImportSpecifier(node) { const specifier = this.startNode(); + const importedIsString = this.match(types$1.string); specifier.imported = this.parseModuleExportName(); if (this.eatContextual("as")) { @@ -13282,7 +14145,7 @@ class StatementParser extends ExpressionParser { imported } = specifier; - if (imported.type === "StringLiteral") { + if (importedIsString) { throw this.raise(specifier.start, ErrorMessages.ImportBindingIsString, imported.value); } @@ -13294,88 +14157,8 @@ class StatementParser extends ExpressionParser { node.specifiers.push(this.finishNode(specifier, "ImportSpecifier")); } -} - -class ClassScope { - constructor() { - this.privateNames = new Set(); - this.loneAccessors = new Map(); - this.undefinedPrivateNames = new Map(); - } - -} -class ClassScopeHandler { - constructor(raise) { - this.stack = []; - this.undefinedPrivateNames = new Map(); - this.raise = raise; - } - - current() { - return this.stack[this.stack.length - 1]; - } - - enter() { - this.stack.push(new ClassScope()); - } - - exit() { - const oldClassScope = this.stack.pop(); - const current = this.current(); - - for (let _i = 0, _Array$from = Array.from(oldClassScope.undefinedPrivateNames); _i < _Array$from.length; _i++) { - const [name, pos] = _Array$from[_i]; - - if (current) { - if (!current.undefinedPrivateNames.has(name)) { - current.undefinedPrivateNames.set(name, pos); - } - } else { - this.raise(pos, ErrorMessages.InvalidPrivateFieldResolution, name); - } - } - } - - declarePrivateName(name, elementType, pos) { - const classScope = this.current(); - let redefined = classScope.privateNames.has(name); - - if (elementType & CLASS_ELEMENT_KIND_ACCESSOR) { - const accessor = redefined && classScope.loneAccessors.get(name); - - if (accessor) { - const oldStatic = accessor & CLASS_ELEMENT_FLAG_STATIC; - const newStatic = elementType & CLASS_ELEMENT_FLAG_STATIC; - const oldKind = accessor & CLASS_ELEMENT_KIND_ACCESSOR; - const newKind = elementType & CLASS_ELEMENT_KIND_ACCESSOR; - redefined = oldKind === newKind || oldStatic !== newStatic; - if (!redefined) classScope.loneAccessors.delete(name); - } else if (!redefined) { - classScope.loneAccessors.set(name, elementType); - } - } - - if (redefined) { - this.raise(pos, ErrorMessages.PrivateNameRedeclaration, name); - } - - classScope.privateNames.add(name); - classScope.undefinedPrivateNames.delete(name); - } - - usePrivateName(name, pos) { - let classScope; - - for (let _i2 = 0, _this$stack = this.stack; _i2 < _this$stack.length; _i2++) { - classScope = _this$stack[_i2]; - if (classScope.privateNames.has(name)) return; - } - - if (classScope) { - classScope.undefinedPrivateNames.set(name, pos); - } else { - this.raise(pos, ErrorMessages.InvalidPrivateFieldResolution, name); - } + isThisParam(param) { + return param.type === "Identifier" && param.name === "this"; } } @@ -13384,13 +14167,8 @@ class Parser extends StatementParser { constructor(options, input) { options = getOptions(options); super(options, input); - const ScopeHandler = this.getScopeHandler(); this.options = options; - this.inModule = this.options.sourceType === "module"; - this.scope = new ScopeHandler(this.raise.bind(this), this.inModule); - this.prodParam = new ProductionParameterHandler(); - this.classScope = new ClassScopeHandler(this.raise.bind(this)); - this.expressionScope = new ExpressionScopeHandler(this.raise.bind(this)); + this.initializeScopes(); this.plugins = pluginsMap(this.options.plugins); this.filename = options.sourceFilename; } @@ -13400,14 +14178,7 @@ class Parser extends StatementParser { } parse() { - let paramFlags = PARAM; - - if (this.hasPlugin("topLevelAwait") && this.inModule) { - paramFlags |= PARAM_AWAIT; - } - - this.scope.enter(SCOPE_PROGRAM); - this.prodParam.enter(paramFlags); + this.enterInitialScopes(); const file = this.startNode(); const program = this.startNode(); this.nextToken(); @@ -13422,8 +14193,7 @@ class Parser extends StatementParser { function pluginsMap(plugins) { const pluginMap = new Map(); - for (let _i = 0; _i < plugins.length; _i++) { - const plugin = plugins[_i]; + for (const plugin of plugins) { const [name, options] = Array.isArray(plugin) ? plugin : [plugin, {}]; if (!pluginMap.has(name)) pluginMap.set(name, options || {}); } @@ -13481,7 +14251,7 @@ function parseExpression(input, options) { function getParser(options, input) { let cls = Parser; - if (options == null ? void 0 : options.plugins) { + if (options != null && options.plugins) { validatePlugins(options.plugins); cls = getParserClass(options.plugins); } @@ -13499,8 +14269,7 @@ function getParserClass(pluginsFromOptions) { if (!cls) { cls = Parser; - for (let _i = 0; _i < pluginList.length; _i++) { - const plugin = pluginList[_i]; + for (const plugin of pluginList) { cls = mixinPlugins[plugin](cls); } @@ -13512,5 +14281,5 @@ function getParserClass(pluginsFromOptions) { exports.parse = parse; exports.parseExpression = parseExpression; -exports.tokTypes = types; +exports.tokTypes = types$1; //# sourceMappingURL=index.js.map diff --git a/tools/node_modules/@babel/core/node_modules/@babel/parser/package.json b/tools/node_modules/@babel/core/node_modules/@babel/parser/package.json index 0632cf7c13535f..5a342e78974aba 100644 --- a/tools/node_modules/@babel/core/node_modules/@babel/parser/package.json +++ b/tools/node_modules/@babel/core/node_modules/@babel/parser/package.json @@ -1,9 +1,10 @@ { "name": "@babel/parser", - "version": "7.12.11", + "version": "7.14.6", "description": "A JavaScript parser", - "author": "Sebastian McKenzie ", - "homepage": "https://babeljs.io/", + "author": "The Babel Team (https://babel.dev/team)", + "homepage": "https://babel.dev/docs/en/next/babel-parser", + "bugs": "https://github.com/babel/babel/issues?utf8=%E2%9C%93&q=is%3Aissue+label%3A%22pkg%3A+parser+%28babylon%29%22+is%3Aopen", "license": "MIT", "publishConfig": { "access": "public" @@ -21,8 +22,8 @@ "url": "https://github.com/babel/babel.git", "directory": "packages/babel-parser" }, - "main": "lib/index.js", - "types": "typings/babel-parser.d.ts", + "main": "./lib/index.js", + "types": "./typings/babel-parser.d.ts", "files": [ "bin", "lib", @@ -32,9 +33,11 @@ "node": ">=6.0.0" }, "devDependencies": { - "@babel/code-frame": "7.12.11", - "@babel/helper-fixtures": "7.12.10", - "@babel/helper-validator-identifier": "7.12.11", + "@babel-baseline/parser": "npm:@babel/parser@^7.14.5", + "@babel/code-frame": "7.14.5", + "@babel/helper-fixtures": "7.14.5", + "@babel/helper-validator-identifier": "7.14.5", + "benchmark": "^2.1.4", "charcodes": "^0.2.0" }, "bin": "./bin/babel-parser.js" diff --git a/tools/node_modules/@babel/core/node_modules/@babel/template/lib/builder.js b/tools/node_modules/@babel/core/node_modules/@babel/template/lib/builder.js index 2a0e629726798b..e65b27d77c737c 100644 --- a/tools/node_modules/@babel/core/node_modules/@babel/template/lib/builder.js +++ b/tools/node_modules/@babel/core/node_modules/@babel/template/lib/builder.js @@ -7,11 +7,9 @@ exports.default = createTemplateBuilder; var _options = require("./options"); -var _string = _interopRequireDefault(require("./string")); +var _string = require("./string"); -var _literal = _interopRequireDefault(require("./literal")); - -function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } +var _literal = require("./literal"); const NO_PLACEHOLDER = (0, _options.validate)({ placeholderPattern: false diff --git a/tools/node_modules/@babel/core/node_modules/@babel/template/lib/formatters.js b/tools/node_modules/@babel/core/node_modules/@babel/template/lib/formatters.js index b045cc76e59ba8..aaf8a8a4448091 100644 --- a/tools/node_modules/@babel/core/node_modules/@babel/template/lib/formatters.js +++ b/tools/node_modules/@babel/core/node_modules/@babel/template/lib/formatters.js @@ -5,11 +5,7 @@ Object.defineProperty(exports, "__esModule", { }); exports.program = exports.expression = exports.statement = exports.statements = exports.smart = void 0; -var t = _interopRequireWildcard(require("@babel/types")); - -function _getRequireWildcardCache() { if (typeof WeakMap !== "function") return null; var cache = new WeakMap(); _getRequireWildcardCache = function () { return cache; }; return cache; } - -function _interopRequireWildcard(obj) { if (obj && obj.__esModule) { return obj; } if (obj === null || typeof obj !== "object" && typeof obj !== "function") { return { default: obj }; } var cache = _getRequireWildcardCache(); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj.default = obj; if (cache) { cache.set(obj, newObj); } return newObj; } +var t = require("@babel/types"); function makeStatementFormatter(fn) { return { diff --git a/tools/node_modules/@babel/core/node_modules/@babel/template/lib/index.js b/tools/node_modules/@babel/core/node_modules/@babel/template/lib/index.js index 9c666dbcc1cf5b..1a673a19bd4a46 100644 --- a/tools/node_modules/@babel/core/node_modules/@babel/template/lib/index.js +++ b/tools/node_modules/@babel/core/node_modules/@babel/template/lib/index.js @@ -5,15 +5,9 @@ Object.defineProperty(exports, "__esModule", { }); exports.default = exports.program = exports.expression = exports.statements = exports.statement = exports.smart = void 0; -var formatters = _interopRequireWildcard(require("./formatters")); +var formatters = require("./formatters"); -var _builder = _interopRequireDefault(require("./builder")); - -function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } - -function _getRequireWildcardCache() { if (typeof WeakMap !== "function") return null; var cache = new WeakMap(); _getRequireWildcardCache = function () { return cache; }; return cache; } - -function _interopRequireWildcard(obj) { if (obj && obj.__esModule) { return obj; } if (obj === null || typeof obj !== "object" && typeof obj !== "function") { return { default: obj }; } var cache = _getRequireWildcardCache(); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj.default = obj; if (cache) { cache.set(obj, newObj); } return newObj; } +var _builder = require("./builder"); const smart = (0, _builder.default)(formatters.smart); exports.smart = smart; diff --git a/tools/node_modules/@babel/core/node_modules/@babel/template/lib/literal.js b/tools/node_modules/@babel/core/node_modules/@babel/template/lib/literal.js index b68fd68dbd6da7..fd194c6abb0ab2 100644 --- a/tools/node_modules/@babel/core/node_modules/@babel/template/lib/literal.js +++ b/tools/node_modules/@babel/core/node_modules/@babel/template/lib/literal.js @@ -7,11 +7,9 @@ exports.default = literalTemplate; var _options = require("./options"); -var _parse = _interopRequireDefault(require("./parse")); +var _parse = require("./parse"); -var _populate = _interopRequireDefault(require("./populate")); - -function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } +var _populate = require("./populate"); function literalTemplate(formatter, tpl, opts) { const { diff --git a/tools/node_modules/@babel/core/node_modules/@babel/template/lib/parse.js b/tools/node_modules/@babel/core/node_modules/@babel/template/lib/parse.js index ff5497b7d7d55b..ba5a1f760b5fc2 100644 --- a/tools/node_modules/@babel/core/node_modules/@babel/template/lib/parse.js +++ b/tools/node_modules/@babel/core/node_modules/@babel/template/lib/parse.js @@ -5,16 +5,12 @@ Object.defineProperty(exports, "__esModule", { }); exports.default = parseAndBuildMetadata; -var t = _interopRequireWildcard(require("@babel/types")); +var t = require("@babel/types"); var _parser = require("@babel/parser"); var _codeFrame = require("@babel/code-frame"); -function _getRequireWildcardCache() { if (typeof WeakMap !== "function") return null; var cache = new WeakMap(); _getRequireWildcardCache = function () { return cache; }; return cache; } - -function _interopRequireWildcard(obj) { if (obj && obj.__esModule) { return obj; } if (obj === null || typeof obj !== "object" && typeof obj !== "function") { return { default: obj }; } var cache = _getRequireWildcardCache(); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj.default = obj; if (cache) { cache.set(obj, newObj); } return newObj; } - const PATTERN = /^[_$A-Z0-9]+$/; function parseAndBuildMetadata(formatter, code, opts) { @@ -81,7 +77,7 @@ function placeholderVisitorHandler(node, ancestors, state) { throw new Error("'.placeholderWhitelist' and '.placeholderPattern' aren't compatible" + " with '.syntacticPlaceholders: true'"); } - if (state.isLegacyRef.value && (state.placeholderPattern === false || !(state.placeholderPattern || PATTERN).test(name)) && !((_state$placeholderWhi = state.placeholderWhitelist) == null ? void 0 : _state$placeholderWhi.has(name))) { + if (state.isLegacyRef.value && (state.placeholderPattern === false || !(state.placeholderPattern || PATTERN).test(name)) && !((_state$placeholderWhi = state.placeholderWhitelist) != null && _state$placeholderWhi.has(name))) { return; } diff --git a/tools/node_modules/@babel/core/node_modules/@babel/template/lib/populate.js b/tools/node_modules/@babel/core/node_modules/@babel/template/lib/populate.js index cbca1917c962dc..faf10c6343f5c1 100644 --- a/tools/node_modules/@babel/core/node_modules/@babel/template/lib/populate.js +++ b/tools/node_modules/@babel/core/node_modules/@babel/template/lib/populate.js @@ -5,11 +5,7 @@ Object.defineProperty(exports, "__esModule", { }); exports.default = populatePlaceholders; -var t = _interopRequireWildcard(require("@babel/types")); - -function _getRequireWildcardCache() { if (typeof WeakMap !== "function") return null; var cache = new WeakMap(); _getRequireWildcardCache = function () { return cache; }; return cache; } - -function _interopRequireWildcard(obj) { if (obj && obj.__esModule) { return obj; } if (obj === null || typeof obj !== "object" && typeof obj !== "function") { return { default: obj }; } var cache = _getRequireWildcardCache(); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj.default = obj; if (cache) { cache.set(obj, newObj); } return newObj; } +var t = require("@babel/types"); function populatePlaceholders(metadata, replacements) { const ast = t.cloneNode(metadata.ast); diff --git a/tools/node_modules/@babel/core/node_modules/@babel/template/lib/string.js b/tools/node_modules/@babel/core/node_modules/@babel/template/lib/string.js index 02ad45782e94fc..fa8aade5313cd3 100644 --- a/tools/node_modules/@babel/core/node_modules/@babel/template/lib/string.js +++ b/tools/node_modules/@babel/core/node_modules/@babel/template/lib/string.js @@ -7,11 +7,9 @@ exports.default = stringTemplate; var _options = require("./options"); -var _parse = _interopRequireDefault(require("./parse")); +var _parse = require("./parse"); -var _populate = _interopRequireDefault(require("./populate")); - -function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } +var _populate = require("./populate"); function stringTemplate(formatter, code, opts) { code = formatter.code(code); diff --git a/tools/node_modules/@babel/core/node_modules/@babel/template/package.json b/tools/node_modules/@babel/core/node_modules/@babel/template/package.json index 59729290baacc0..ba4f5e9989b876 100644 --- a/tools/node_modules/@babel/core/node_modules/@babel/template/package.json +++ b/tools/node_modules/@babel/core/node_modules/@babel/template/package.json @@ -1,9 +1,10 @@ { "name": "@babel/template", - "version": "7.12.7", + "version": "7.14.5", "description": "Generate an AST from a string template.", - "author": "Sebastian McKenzie ", - "homepage": "https://babeljs.io/", + "author": "The Babel Team (https://babel.dev/team)", + "homepage": "https://babel.dev/docs/en/next/babel-template", + "bugs": "https://github.com/babel/babel/issues?utf8=%E2%9C%93&q=is%3Aissue+label%3A%22pkg%3A%20template%22+is%3Aopen", "license": "MIT", "publishConfig": { "access": "public" @@ -13,10 +14,13 @@ "url": "https://github.com/babel/babel.git", "directory": "packages/babel-template" }, - "main": "lib/index.js", + "main": "./lib/index.js", "dependencies": { - "@babel/code-frame": "^7.10.4", - "@babel/parser": "^7.12.7", - "@babel/types": "^7.12.7" + "@babel/code-frame": "^7.14.5", + "@babel/parser": "^7.14.5", + "@babel/types": "^7.14.5" + }, + "engines": { + "node": ">=6.9.0" } } \ No newline at end of file diff --git a/tools/node_modules/@babel/core/node_modules/@babel/traverse/lib/context.js b/tools/node_modules/@babel/core/node_modules/@babel/traverse/lib/context.js index be050480a29db9..b175cdd36111fb 100644 --- a/tools/node_modules/@babel/core/node_modules/@babel/traverse/lib/context.js +++ b/tools/node_modules/@babel/core/node_modules/@babel/traverse/lib/context.js @@ -5,21 +5,16 @@ Object.defineProperty(exports, "__esModule", { }); exports.default = void 0; -var _path = _interopRequireDefault(require("./path")); +var _path = require("./path"); -var t = _interopRequireWildcard(require("@babel/types")); - -function _getRequireWildcardCache() { if (typeof WeakMap !== "function") return null; var cache = new WeakMap(); _getRequireWildcardCache = function () { return cache; }; return cache; } - -function _interopRequireWildcard(obj) { if (obj && obj.__esModule) { return obj; } if (obj === null || typeof obj !== "object" && typeof obj !== "function") { return { default: obj }; } var cache = _getRequireWildcardCache(); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj.default = obj; if (cache) { cache.set(obj, newObj); } return newObj; } - -function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } +var t = require("@babel/types"); const testing = process.env.NODE_ENV === "test"; class TraversalContext { constructor(scope, opts, state, parentPath) { this.queue = null; + this.priorityQueue = null; this.parentPath = parentPath; this.scope = scope; this.state = state; @@ -31,7 +26,7 @@ class TraversalContext { if (opts.enter || opts.exit) return true; if (opts[node.type]) return true; const keys = t.VISITOR_KEYS[node.type]; - if (!(keys == null ? void 0 : keys.length)) return false; + if (!(keys != null && keys.length)) return false; for (const key of keys) { if (node[key]) return true; diff --git a/tools/node_modules/@babel/core/node_modules/@babel/traverse/lib/index.js b/tools/node_modules/@babel/core/node_modules/@babel/traverse/lib/index.js index 057814f43ad8ef..7abaca93c173bd 100644 --- a/tools/node_modules/@babel/core/node_modules/@babel/traverse/lib/index.js +++ b/tools/node_modules/@babel/core/node_modules/@babel/traverse/lib/index.js @@ -3,7 +3,6 @@ Object.defineProperty(exports, "__esModule", { value: true }); -exports.default = traverse; Object.defineProperty(exports, "NodePath", { enumerable: true, get: function () { @@ -22,33 +21,26 @@ Object.defineProperty(exports, "Hub", { return _hub.default; } }); -exports.visitors = void 0; +exports.visitors = exports.default = void 0; -var _context = _interopRequireDefault(require("./context")); +var _context = require("./context"); -var visitors = _interopRequireWildcard(require("./visitors")); +var visitors = require("./visitors"); exports.visitors = visitors; -var t = _interopRequireWildcard(require("@babel/types")); +var t = require("@babel/types"); -var cache = _interopRequireWildcard(require("./cache")); +var cache = require("./cache"); -var _path = _interopRequireDefault(require("./path")); +var _path = require("./path"); -var _scope = _interopRequireDefault(require("./scope")); +var _scope = require("./scope"); -var _hub = _interopRequireDefault(require("./hub")); +var _hub = require("./hub"); -function _getRequireWildcardCache() { if (typeof WeakMap !== "function") return null; var cache = new WeakMap(); _getRequireWildcardCache = function () { return cache; }; return cache; } - -function _interopRequireWildcard(obj) { if (obj && obj.__esModule) { return obj; } if (obj === null || typeof obj !== "object" && typeof obj !== "function") { return { default: obj }; } var cache = _getRequireWildcardCache(); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj.default = obj; if (cache) { cache.set(obj, newObj); } return newObj; } - -function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } - -function traverse(parent, opts, scope, state, parentPath) { +function traverse(parent, opts = {}, scope, state, parentPath) { if (!parent) return; - if (!opts) opts = {}; if (!opts.noScope && !scope) { if (parent.type !== "Program" && parent.type !== "File") { @@ -64,6 +56,8 @@ function traverse(parent, opts, scope, state, parentPath) { traverse.node(parent, opts, scope, state, parentPath); } +var _default = traverse; +exports.default = _default; traverse.visitors = visitors; traverse.verify = visitors.verify; traverse.explode = visitors.explode; @@ -101,7 +95,7 @@ function hasDenylistedType(path, state) { } traverse.hasType = function (tree, type, denylistTypes) { - if (denylistTypes == null ? void 0 : denylistTypes.includes(tree.type)) return false; + if (denylistTypes != null && denylistTypes.includes(tree.type)) return false; if (tree.type === type) return true; const state = { has: false, diff --git a/tools/node_modules/@babel/core/node_modules/@babel/traverse/lib/path/ancestry.js b/tools/node_modules/@babel/core/node_modules/@babel/traverse/lib/path/ancestry.js index d2c7908d0d454b..341530574d34a4 100644 --- a/tools/node_modules/@babel/core/node_modules/@babel/traverse/lib/path/ancestry.js +++ b/tools/node_modules/@babel/core/node_modules/@babel/traverse/lib/path/ancestry.js @@ -14,15 +14,9 @@ exports.isAncestor = isAncestor; exports.isDescendant = isDescendant; exports.inType = inType; -var t = _interopRequireWildcard(require("@babel/types")); +var t = require("@babel/types"); -var _index = _interopRequireDefault(require("./index")); - -function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } - -function _getRequireWildcardCache() { if (typeof WeakMap !== "function") return null; var cache = new WeakMap(); _getRequireWildcardCache = function () { return cache; }; return cache; } - -function _interopRequireWildcard(obj) { if (obj && obj.__esModule) { return obj; } if (obj === null || typeof obj !== "object" && typeof obj !== "function") { return { default: obj }; } var cache = _getRequireWildcardCache(); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj.default = obj; if (cache) { cache.set(obj, newObj); } return newObj; } +var _index = require("./index"); function findParent(callback) { let path = this; @@ -167,11 +161,11 @@ function isDescendant(maybeAncestor) { return !!this.findParent(parent => parent === maybeAncestor); } -function inType() { +function inType(...candidateTypes) { let path = this; while (path) { - for (const type of arguments) { + for (const type of candidateTypes) { if (path.node.type === type) return true; } diff --git a/tools/node_modules/@babel/core/node_modules/@babel/traverse/lib/path/comments.js b/tools/node_modules/@babel/core/node_modules/@babel/traverse/lib/path/comments.js index 1e7f770243d8f4..2967bddc84e53d 100644 --- a/tools/node_modules/@babel/core/node_modules/@babel/traverse/lib/path/comments.js +++ b/tools/node_modules/@babel/core/node_modules/@babel/traverse/lib/path/comments.js @@ -7,11 +7,7 @@ exports.shareCommentsWithSiblings = shareCommentsWithSiblings; exports.addComment = addComment; exports.addComments = addComments; -var t = _interopRequireWildcard(require("@babel/types")); - -function _getRequireWildcardCache() { if (typeof WeakMap !== "function") return null; var cache = new WeakMap(); _getRequireWildcardCache = function () { return cache; }; return cache; } - -function _interopRequireWildcard(obj) { if (obj && obj.__esModule) { return obj; } if (obj === null || typeof obj !== "object" && typeof obj !== "function") { return { default: obj }; } var cache = _getRequireWildcardCache(); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj.default = obj; if (cache) { cache.set(obj, newObj); } return newObj; } +var t = require("@babel/types"); function shareCommentsWithSiblings() { if (typeof this.key === "string") return; diff --git a/tools/node_modules/@babel/core/node_modules/@babel/traverse/lib/path/context.js b/tools/node_modules/@babel/core/node_modules/@babel/traverse/lib/path/context.js index 47ae8e8f6e11be..a1b34f53e4bbad 100644 --- a/tools/node_modules/@babel/core/node_modules/@babel/traverse/lib/path/context.js +++ b/tools/node_modules/@babel/core/node_modules/@babel/traverse/lib/path/context.js @@ -24,12 +24,10 @@ exports.setKey = setKey; exports.requeue = requeue; exports._getQueueContexts = _getQueueContexts; -var _index = _interopRequireDefault(require("../index")); +var _index = require("../index"); var _index2 = require("./index"); -function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } - function call(key) { const opts = this.opts; this.debug(key); @@ -121,6 +119,7 @@ function stop() { function setScope() { if (this.opts && this.opts.noScope) return; let path = this.parentPath; + if (this.key === "key" && path.isMethod()) path = path.parentPath; let target; while (path && !target) { @@ -232,6 +231,7 @@ function setKey(key) { function requeue(pathToQueue = this) { if (pathToQueue.removed) return; + ; const contexts = this.contexts; for (const context of contexts) { diff --git a/tools/node_modules/@babel/core/node_modules/@babel/traverse/lib/path/conversion.js b/tools/node_modules/@babel/core/node_modules/@babel/traverse/lib/path/conversion.js index f6a1198791c3dc..911f3beb80cf13 100644 --- a/tools/node_modules/@babel/core/node_modules/@babel/traverse/lib/path/conversion.js +++ b/tools/node_modules/@babel/core/node_modules/@babel/traverse/lib/path/conversion.js @@ -9,29 +9,22 @@ exports.arrowFunctionToShadowed = arrowFunctionToShadowed; exports.unwrapFunctionEnvironment = unwrapFunctionEnvironment; exports.arrowFunctionToExpression = arrowFunctionToExpression; -var t = _interopRequireWildcard(require("@babel/types")); +var t = require("@babel/types"); -var _helperFunctionName = _interopRequireDefault(require("@babel/helper-function-name")); - -function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } - -function _getRequireWildcardCache() { if (typeof WeakMap !== "function") return null; var cache = new WeakMap(); _getRequireWildcardCache = function () { return cache; }; return cache; } - -function _interopRequireWildcard(obj) { if (obj && obj.__esModule) { return obj; } if (obj === null || typeof obj !== "object" && typeof obj !== "function") { return { default: obj }; } var cache = _getRequireWildcardCache(); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj.default = obj; if (cache) { cache.set(obj, newObj); } return newObj; } +var _helperFunctionName = require("@babel/helper-function-name"); function toComputedKey() { - const node = this.node; let key; if (this.isMemberExpression()) { - key = node.property; + key = this.node.property; } else if (this.isProperty() || this.isMethod()) { - key = node.key; + key = this.node.key; } else { throw new ReferenceError("todo"); } - if (!node.computed) { + if (!this.node.computed) { if (t.isIdentifier(key)) key = t.stringLiteral(key.name); } @@ -96,17 +89,18 @@ function unwrapFunctionEnvironment() { function arrowFunctionToExpression({ allowInsertArrow = true, - specCompliant = false + specCompliant = false, + noNewArrows = !specCompliant } = {}) { if (!this.isArrowFunctionExpression()) { throw this.buildCodeFrameError("Cannot convert non-arrow function to a function expression."); } - const thisBinding = hoistFunctionEnvironment(this, specCompliant, allowInsertArrow); + const thisBinding = hoistFunctionEnvironment(this, noNewArrows, allowInsertArrow); this.ensureBlock(); this.node.type = "FunctionExpression"; - if (specCompliant) { + if (!noNewArrows) { const checkBinding = thisBinding ? null : this.parentPath.scope.generateUidIdentifier("arrowCheckId"); if (checkBinding) { @@ -121,7 +115,7 @@ function arrowFunctionToExpression({ } } -function hoistFunctionEnvironment(fnPath, specCompliant = false, allowInsertArrow = true) { +function hoistFunctionEnvironment(fnPath, noNewArrows = true, allowInsertArrow = true) { const thisEnvFn = fnPath.findParent(p => { return p.isFunction() && !p.isArrowFunctionExpression() || p.isProgram() || p.isClassProperty({ static: false @@ -231,16 +225,16 @@ function hoistFunctionEnvironment(fnPath, specCompliant = false, allowInsertArro let thisBinding; - if (thisPaths.length > 0 || specCompliant) { + if (thisPaths.length > 0 || !noNewArrows) { thisBinding = getThisBinding(thisEnvFn, inConstructor); - if (!specCompliant || inConstructor && hasSuperClass(thisEnvFn)) { + if (noNewArrows || inConstructor && hasSuperClass(thisEnvFn)) { thisPaths.forEach(thisChild => { const thisRef = thisChild.isJSX() ? t.jsxIdentifier(thisBinding) : t.identifier(thisBinding); thisRef.loc = thisChild.node.loc; thisChild.replaceWith(thisRef); }); - if (specCompliant) thisBinding = null; + if (!noNewArrows) thisBinding = null; } } diff --git a/tools/node_modules/@babel/core/node_modules/@babel/traverse/lib/path/evaluation.js b/tools/node_modules/@babel/core/node_modules/@babel/traverse/lib/path/evaluation.js index 61dfd0b039b3b6..1bea6807cb8b2f 100644 --- a/tools/node_modules/@babel/core/node_modules/@babel/traverse/lib/path/evaluation.js +++ b/tools/node_modules/@babel/core/node_modules/@babel/traverse/lib/path/evaluation.js @@ -55,9 +55,6 @@ function evaluateCached(path, state) { function _evaluate(path, state) { if (!state.confident) return; - const { - node - } = path; if (path.isSequenceExpression()) { const exprs = path.get("expressions"); @@ -65,7 +62,7 @@ function _evaluate(path, state) { } if (path.isStringLiteral() || path.isNumericLiteral() || path.isBooleanLiteral()) { - return node.value; + return path.node.value; } if (path.isNullLiteral()) { @@ -73,7 +70,7 @@ function _evaluate(path, state) { } if (path.isTemplateLiteral()) { - return evaluateQuasis(path, node.quasis, state); + return evaluateQuasis(path, path.node.quasis, state); } if (path.isTaggedTemplateExpression() && path.get("tag").isMemberExpression()) { @@ -85,8 +82,8 @@ function _evaluate(path, state) { } = object; const property = path.get("tag.property"); - if (object.isIdentifier() && name === "String" && !path.scope.getBinding(name, true) && property.isIdentifier && property.node.name === "raw") { - return evaluateQuasis(path, node.quasi.quasis, state, true); + if (object.isIdentifier() && name === "String" && !path.scope.getBinding(name) && property.isIdentifier() && property.node.name === "raw") { + return evaluateQuasis(path, path.node.quasi.quasis, state, true); } } @@ -106,7 +103,7 @@ function _evaluate(path, state) { } if (path.isMemberExpression() && !path.parentPath.isCallExpression({ - callee: node + callee: path.node })) { const property = path.get("property"); const object = path.get("object"); @@ -122,7 +119,7 @@ function _evaluate(path, state) { } if (path.isReferencedIdentifier()) { - const binding = path.scope.getBinding(node.name); + const binding = path.scope.getBinding(path.node.name); if (binding && binding.constantViolations.length > 0) { return deopt(binding.path, state); @@ -132,14 +129,14 @@ function _evaluate(path, state) { return deopt(binding.path, state); } - if (binding == null ? void 0 : binding.hasValue) { + if (binding != null && binding.hasValue) { return binding.value; } else { - if (node.name === "undefined") { + if (path.node.name === "undefined") { return binding ? deopt(binding.path, state) : undefined; - } else if (node.name === "Infinity") { + } else if (path.node.name === "Infinity") { return binding ? deopt(binding.path, state) : Infinity; - } else if (node.name === "NaN") { + } else if (path.node.name === "NaN") { return binding ? deopt(binding.path, state) : NaN; } @@ -156,20 +153,20 @@ function _evaluate(path, state) { if (path.isUnaryExpression({ prefix: true })) { - if (node.operator === "void") { + if (path.node.operator === "void") { return undefined; } const argument = path.get("argument"); - if (node.operator === "typeof" && (argument.isFunction() || argument.isClass())) { + if (path.node.operator === "typeof" && (argument.isFunction() || argument.isClass())) { return "function"; } const arg = evaluateCached(argument, state); if (!state.confident) return; - switch (node.operator) { + switch (path.node.operator) { case "!": return !arg; @@ -252,7 +249,7 @@ function _evaluate(path, state) { const right = evaluateCached(path.get("right"), state); const rightConfident = state.confident; - switch (node.operator) { + switch (path.node.operator) { case "||": state.confident = leftConfident && (!!left || rightConfident); if (!state.confident) return; @@ -271,7 +268,7 @@ function _evaluate(path, state) { const right = evaluateCached(path.get("right"), state); if (!state.confident) return; - switch (node.operator) { + switch (path.node.operator) { case "-": return left - right; @@ -339,8 +336,8 @@ function _evaluate(path, state) { let context; let func; - if (callee.isIdentifier() && !path.scope.getBinding(callee.node.name, true) && VALID_CALLEES.indexOf(callee.node.name) >= 0) { - func = global[node.callee.name]; + if (callee.isIdentifier() && !path.scope.getBinding(callee.node.name) && VALID_CALLEES.indexOf(callee.node.name) >= 0) { + func = global[callee.node.name]; } if (callee.isMemberExpression()) { diff --git a/tools/node_modules/@babel/core/node_modules/@babel/traverse/lib/path/family.js b/tools/node_modules/@babel/core/node_modules/@babel/traverse/lib/path/family.js index 4134df724940db..863dd45df5f52e 100644 --- a/tools/node_modules/@babel/core/node_modules/@babel/traverse/lib/path/family.js +++ b/tools/node_modules/@babel/core/node_modules/@babel/traverse/lib/path/family.js @@ -18,15 +18,26 @@ exports.getOuterBindingIdentifiers = getOuterBindingIdentifiers; exports.getBindingIdentifierPaths = getBindingIdentifierPaths; exports.getOuterBindingIdentifierPaths = getOuterBindingIdentifierPaths; -var _index = _interopRequireDefault(require("./index")); +var _index = require("./index"); -var t = _interopRequireWildcard(require("@babel/types")); +var t = require("@babel/types"); -function _getRequireWildcardCache() { if (typeof WeakMap !== "function") return null; var cache = new WeakMap(); _getRequireWildcardCache = function () { return cache; }; return cache; } +const NORMAL_COMPLETION = 0; +const BREAK_COMPLETION = 1; -function _interopRequireWildcard(obj) { if (obj && obj.__esModule) { return obj; } if (obj === null || typeof obj !== "object" && typeof obj !== "function") { return { default: obj }; } var cache = _getRequireWildcardCache(); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj.default = obj; if (cache) { cache.set(obj, newObj); } return newObj; } +function NormalCompletion(path) { + return { + type: NORMAL_COMPLETION, + path + }; +} -function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } +function BreakCompletion(path) { + return { + type: BREAK_COMPLETION, + path + }; +} function getOpposite() { if (this.key === "left") { @@ -34,104 +45,167 @@ function getOpposite() { } else if (this.key === "right") { return this.getSibling("left"); } + + return null; } -function addCompletionRecords(path, paths) { - if (path) return paths.concat(path.getCompletionRecords()); - return paths; +function addCompletionRecords(path, records, context) { + if (path) return records.concat(_getCompletionRecords(path, context)); + return records; } -function findBreak(statements) { - let breakStatement; +function completionRecordForSwitch(cases, records, context) { + let lastNormalCompletions = []; - if (!Array.isArray(statements)) { - statements = [statements]; - } + for (let i = 0; i < cases.length; i++) { + const casePath = cases[i]; + + const caseCompletions = _getCompletionRecords(casePath, context); - for (const statement of statements) { - if (statement.isDoExpression() || statement.isProgram() || statement.isBlockStatement() || statement.isCatchClause() || statement.isLabeledStatement()) { - breakStatement = findBreak(statement.get("body")); - } else if (statement.isIfStatement()) { - var _findBreak; + const normalCompletions = []; + const breakCompletions = []; - breakStatement = (_findBreak = findBreak(statement.get("consequent"))) != null ? _findBreak : findBreak(statement.get("alternate")); - } else if (statement.isTryStatement()) { - var _findBreak2; + for (const c of caseCompletions) { + if (c.type === NORMAL_COMPLETION) { + normalCompletions.push(c); + } - breakStatement = (_findBreak2 = findBreak(statement.get("block"))) != null ? _findBreak2 : findBreak(statement.get("handler")); - } else if (statement.isBreakStatement()) { - breakStatement = statement; + if (c.type === BREAK_COMPLETION) { + breakCompletions.push(c); + } } - if (breakStatement) { - return breakStatement; + if (normalCompletions.length) { + lastNormalCompletions = normalCompletions; } + + records = records.concat(breakCompletions); } - return null; + records = records.concat(lastNormalCompletions); + return records; } -function completionRecordForSwitch(cases, paths) { - let isLastCaseWithConsequent = true; - - for (let i = cases.length - 1; i >= 0; i--) { - const switchCase = cases[i]; - const consequent = switchCase.get("consequent"); - let breakStatement = findBreak(consequent); +function normalCompletionToBreak(completions) { + completions.forEach(c => { + c.type = BREAK_COMPLETION; + }); +} - if (breakStatement) { - while (breakStatement.key === 0 && breakStatement.parentPath.isBlockStatement()) { - breakStatement = breakStatement.parentPath; +function replaceBreakStatementInBreakCompletion(completions, reachable) { + completions.forEach(c => { + if (c.path.isBreakStatement({ + label: null + })) { + if (reachable) { + c.path.replaceWith(t.unaryExpression("void", t.numericLiteral(0))); + } else { + c.path.remove(); } + } + }); +} - const prevSibling = breakStatement.getPrevSibling(); +function getStatementListCompletion(paths, context) { + let completions = []; - if (breakStatement.key > 0 && (prevSibling.isExpressionStatement() || prevSibling.isBlockStatement())) { - paths = addCompletionRecords(prevSibling, paths); - breakStatement.remove(); - } else { - breakStatement.replaceWith(breakStatement.scope.buildUndefinedNode()); - paths = addCompletionRecords(breakStatement, paths); + if (context.canHaveBreak) { + let lastNormalCompletions = []; + + for (let i = 0; i < paths.length; i++) { + const path = paths[i]; + const newContext = Object.assign({}, context, { + inCaseClause: false + }); + + if (path.isBlockStatement() && (context.inCaseClause || context.shouldPopulateBreak)) { + newContext.shouldPopulateBreak = true; + } else { + newContext.shouldPopulateBreak = false; } - } else if (isLastCaseWithConsequent) { - const statementFinder = statement => !statement.isBlockStatement() || statement.get("body").some(statementFinder); - const hasConsequent = consequent.some(statementFinder); + const statementCompletions = _getCompletionRecords(path, newContext); + + if (statementCompletions.length > 0 && statementCompletions.every(c => c.type === BREAK_COMPLETION)) { + if (lastNormalCompletions.length > 0 && statementCompletions.every(c => c.path.isBreakStatement({ + label: null + }))) { + normalCompletionToBreak(lastNormalCompletions); + completions = completions.concat(lastNormalCompletions); + + if (lastNormalCompletions.some(c => c.path.isDeclaration())) { + completions = completions.concat(statementCompletions); + replaceBreakStatementInBreakCompletion(statementCompletions, true); + } - if (hasConsequent) { - paths = addCompletionRecords(consequent[consequent.length - 1], paths); - isLastCaseWithConsequent = false; + replaceBreakStatementInBreakCompletion(statementCompletions, false); + } else { + completions = completions.concat(statementCompletions); + + if (!context.shouldPopulateBreak) { + replaceBreakStatementInBreakCompletion(statementCompletions, true); + } + } + + break; + } + + if (i === paths.length - 1) { + completions = completions.concat(statementCompletions); + } else { + completions = completions.concat(statementCompletions.filter(c => c.type === BREAK_COMPLETION)); + lastNormalCompletions = statementCompletions.filter(c => c.type === NORMAL_COMPLETION); } } + } else if (paths.length) { + completions = completions.concat(_getCompletionRecords(paths[paths.length - 1], context)); } - return paths; + return completions; } -function getCompletionRecords() { - let paths = []; - - if (this.isIfStatement()) { - paths = addCompletionRecords(this.get("consequent"), paths); - paths = addCompletionRecords(this.get("alternate"), paths); - } else if (this.isDoExpression() || this.isFor() || this.isWhile()) { - paths = addCompletionRecords(this.get("body"), paths); - } else if (this.isProgram() || this.isBlockStatement()) { - paths = addCompletionRecords(this.get("body").pop(), paths); - } else if (this.isFunction()) { - return this.get("body").getCompletionRecords(); - } else if (this.isTryStatement()) { - paths = addCompletionRecords(this.get("block"), paths); - paths = addCompletionRecords(this.get("handler"), paths); - } else if (this.isCatchClause()) { - paths = addCompletionRecords(this.get("body"), paths); - } else if (this.isSwitchStatement()) { - paths = completionRecordForSwitch(this.get("cases"), paths); +function _getCompletionRecords(path, context) { + let records = []; + + if (path.isIfStatement()) { + records = addCompletionRecords(path.get("consequent"), records, context); + records = addCompletionRecords(path.get("alternate"), records, context); + } else if (path.isDoExpression() || path.isFor() || path.isWhile() || path.isLabeledStatement()) { + records = addCompletionRecords(path.get("body"), records, context); + } else if (path.isProgram() || path.isBlockStatement()) { + records = records.concat(getStatementListCompletion(path.get("body"), context)); + } else if (path.isFunction()) { + return _getCompletionRecords(path.get("body"), context); + } else if (path.isTryStatement()) { + records = addCompletionRecords(path.get("block"), records, context); + records = addCompletionRecords(path.get("handler"), records, context); + } else if (path.isCatchClause()) { + records = addCompletionRecords(path.get("body"), records, context); + } else if (path.isSwitchStatement()) { + records = completionRecordForSwitch(path.get("cases"), records, context); + } else if (path.isSwitchCase()) { + records = records.concat(getStatementListCompletion(path.get("consequent"), { + canHaveBreak: true, + shouldPopulateBreak: false, + inCaseClause: true + })); + } else if (path.isBreakStatement()) { + records.push(BreakCompletion(path)); } else { - paths.push(this); + records.push(NormalCompletion(path)); } - return paths; + return records; +} + +function getCompletionRecords() { + const records = _getCompletionRecords(this, { + canHaveBreak: false, + shouldPopulateBreak: false, + inCaseClause: false + }); + + return records.map(r => r.path); } function getSibling(key) { diff --git a/tools/node_modules/@babel/core/node_modules/@babel/traverse/lib/path/generated/asserts.js b/tools/node_modules/@babel/core/node_modules/@babel/traverse/lib/path/generated/asserts.js new file mode 100644 index 00000000000000..bee8a438ea4300 --- /dev/null +++ b/tools/node_modules/@babel/core/node_modules/@babel/traverse/lib/path/generated/asserts.js @@ -0,0 +1,5 @@ +"use strict"; + +var t = require("@babel/types"); + +var _index = require("../index"); \ No newline at end of file diff --git a/tools/node_modules/@babel/core/node_modules/@babel/traverse/lib/path/generated/validators.js b/tools/node_modules/@babel/core/node_modules/@babel/traverse/lib/path/generated/validators.js new file mode 100644 index 00000000000000..bee8a438ea4300 --- /dev/null +++ b/tools/node_modules/@babel/core/node_modules/@babel/traverse/lib/path/generated/validators.js @@ -0,0 +1,5 @@ +"use strict"; + +var t = require("@babel/types"); + +var _index = require("../index"); \ No newline at end of file diff --git a/tools/node_modules/@babel/core/node_modules/@babel/traverse/lib/path/generated/virtual-types.js b/tools/node_modules/@babel/core/node_modules/@babel/traverse/lib/path/generated/virtual-types.js new file mode 100644 index 00000000000000..bf37ed9378a22c --- /dev/null +++ b/tools/node_modules/@babel/core/node_modules/@babel/traverse/lib/path/generated/virtual-types.js @@ -0,0 +1,3 @@ +"use strict"; + +var t = require("@babel/types"); \ No newline at end of file diff --git a/tools/node_modules/@babel/core/node_modules/@babel/traverse/lib/path/index.js b/tools/node_modules/@babel/core/node_modules/@babel/traverse/lib/path/index.js index f4aa9ba171429a..bf982ef665a421 100644 --- a/tools/node_modules/@babel/core/node_modules/@babel/traverse/lib/path/index.js +++ b/tools/node_modules/@babel/core/node_modules/@babel/traverse/lib/path/index.js @@ -5,49 +5,44 @@ Object.defineProperty(exports, "__esModule", { }); exports.default = exports.SHOULD_SKIP = exports.SHOULD_STOP = exports.REMOVED = void 0; -var virtualTypes = _interopRequireWildcard(require("./lib/virtual-types")); +var virtualTypes = require("./lib/virtual-types"); -var _debug = _interopRequireDefault(require("debug")); +var _debug = require("debug"); -var _index = _interopRequireDefault(require("../index")); +var _index = require("../index"); -var _scope = _interopRequireDefault(require("../scope")); +var _scope = require("../scope"); -var t = _interopRequireWildcard(require("@babel/types")); +var t = require("@babel/types"); var _cache = require("../cache"); -var _generator = _interopRequireDefault(require("@babel/generator")); +var _generator = require("@babel/generator"); -var NodePath_ancestry = _interopRequireWildcard(require("./ancestry")); +var NodePath_ancestry = require("./ancestry"); -var NodePath_inference = _interopRequireWildcard(require("./inference")); +var NodePath_inference = require("./inference"); -var NodePath_replacement = _interopRequireWildcard(require("./replacement")); +var NodePath_replacement = require("./replacement"); -var NodePath_evaluation = _interopRequireWildcard(require("./evaluation")); +var NodePath_evaluation = require("./evaluation"); -var NodePath_conversion = _interopRequireWildcard(require("./conversion")); +var NodePath_conversion = require("./conversion"); -var NodePath_introspection = _interopRequireWildcard(require("./introspection")); +var NodePath_introspection = require("./introspection"); -var NodePath_context = _interopRequireWildcard(require("./context")); +var NodePath_context = require("./context"); -var NodePath_removal = _interopRequireWildcard(require("./removal")); +var NodePath_removal = require("./removal"); -var NodePath_modification = _interopRequireWildcard(require("./modification")); +var NodePath_modification = require("./modification"); -var NodePath_family = _interopRequireWildcard(require("./family")); +var NodePath_family = require("./family"); -var NodePath_comments = _interopRequireWildcard(require("./comments")); +var NodePath_comments = require("./comments"); -function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } +const debug = _debug("babel"); -function _getRequireWildcardCache() { if (typeof WeakMap !== "function") return null; var cache = new WeakMap(); _getRequireWildcardCache = function () { return cache; }; return cache; } - -function _interopRequireWildcard(obj) { if (obj && obj.__esModule) { return obj; } if (obj === null || typeof obj !== "object" && typeof obj !== "function") { return { default: obj }; } var cache = _getRequireWildcardCache(); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj.default = obj; if (cache) { cache.set(obj, newObj); } return newObj; } - -const debug = (0, _debug.default)("babel"); const REMOVED = 1 << 0; exports.REMOVED = REMOVED; const SHOULD_STOP = 1 << 1; @@ -221,7 +216,6 @@ class NodePath { } -exports.default = NodePath; Object.assign(NodePath.prototype, NodePath_ancestry, NodePath_inference, NodePath_replacement, NodePath_evaluation, NodePath_conversion, NodePath_introspection, NodePath_context, NodePath_removal, NodePath_modification, NodePath_family, NodePath_comments); for (const type of t.TYPES) { @@ -247,4 +241,7 @@ for (const type of Object.keys(virtualTypes)) { NodePath.prototype[`is${type}`] = function (opts) { return virtualType.checkPath(this, opts); }; -} \ No newline at end of file +} + +var _default = NodePath; +exports.default = _default; \ No newline at end of file diff --git a/tools/node_modules/@babel/core/node_modules/@babel/traverse/lib/path/inference/index.js b/tools/node_modules/@babel/core/node_modules/@babel/traverse/lib/path/inference/index.js index 85efbe3b697bb9..bf6326709b4d7f 100644 --- a/tools/node_modules/@babel/core/node_modules/@babel/traverse/lib/path/inference/index.js +++ b/tools/node_modules/@babel/core/node_modules/@babel/traverse/lib/path/inference/index.js @@ -10,13 +10,9 @@ exports.couldBeBaseType = couldBeBaseType; exports.baseTypeStrictlyMatches = baseTypeStrictlyMatches; exports.isGenericType = isGenericType; -var inferers = _interopRequireWildcard(require("./inferers")); +var inferers = require("./inferers"); -var t = _interopRequireWildcard(require("@babel/types")); - -function _getRequireWildcardCache() { if (typeof WeakMap !== "function") return null; var cache = new WeakMap(); _getRequireWildcardCache = function () { return cache; }; return cache; } - -function _interopRequireWildcard(obj) { if (obj && obj.__esModule) { return obj; } if (obj === null || typeof obj !== "object" && typeof obj !== "function") { return { default: obj }; } var cache = _getRequireWildcardCache(); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj.default = obj; if (cache) { cache.set(obj, newObj); } return newObj; } +var t = require("@babel/types"); function getTypeAnnotation() { if (this.typeAnnotation) return this.typeAnnotation; @@ -70,7 +66,7 @@ function _getTypeAnnotation() { inferer = inferers[this.parentPath.type]; - if ((_inferer = inferer) == null ? void 0 : _inferer.validParent) { + if ((_inferer = inferer) != null && _inferer.validParent) { return this.parentPath.getTypeAnnotation(); } } finally { @@ -123,13 +119,15 @@ function couldBeBaseType(name) { } } -function baseTypeStrictlyMatches(right) { +function baseTypeStrictlyMatches(rightArg) { const left = this.getTypeAnnotation(); - right = right.getTypeAnnotation(); + const right = rightArg.getTypeAnnotation(); if (!t.isAnyTypeAnnotation(left) && t.isFlowBaseAnnotation(left)) { return right.type === left.type; } + + return false; } function isGenericType(genericName) { diff --git a/tools/node_modules/@babel/core/node_modules/@babel/traverse/lib/path/inference/inferer-reference.js b/tools/node_modules/@babel/core/node_modules/@babel/traverse/lib/path/inference/inferer-reference.js index d890af241f1d86..8158bce31190d2 100644 --- a/tools/node_modules/@babel/core/node_modules/@babel/traverse/lib/path/inference/inferer-reference.js +++ b/tools/node_modules/@babel/core/node_modules/@babel/traverse/lib/path/inference/inferer-reference.js @@ -5,11 +5,7 @@ Object.defineProperty(exports, "__esModule", { }); exports.default = _default; -var t = _interopRequireWildcard(require("@babel/types")); - -function _getRequireWildcardCache() { if (typeof WeakMap !== "function") return null; var cache = new WeakMap(); _getRequireWildcardCache = function () { return cache; }; return cache; } - -function _interopRequireWildcard(obj) { if (obj && obj.__esModule) { return obj; } if (obj === null || typeof obj !== "object" && typeof obj !== "function") { return { default: obj }; } var cache = _getRequireWildcardCache(); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj.default = obj; if (cache) { cache.set(obj, newObj); } return newObj; } +var t = require("@babel/types"); function _default(node) { if (!this.isReferenced()) return; diff --git a/tools/node_modules/@babel/core/node_modules/@babel/traverse/lib/path/inference/inferers.js b/tools/node_modules/@babel/core/node_modules/@babel/traverse/lib/path/inference/inferers.js index a187c92b276103..5fcfda594c53e3 100644 --- a/tools/node_modules/@babel/core/node_modules/@babel/traverse/lib/path/inference/inferers.js +++ b/tools/node_modules/@babel/core/node_modules/@babel/traverse/lib/path/inference/inferers.js @@ -33,15 +33,9 @@ Object.defineProperty(exports, "Identifier", { } }); -var t = _interopRequireWildcard(require("@babel/types")); +var t = require("@babel/types"); -var _infererReference = _interopRequireDefault(require("./inferer-reference")); - -function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } - -function _getRequireWildcardCache() { if (typeof WeakMap !== "function") return null; var cache = new WeakMap(); _getRequireWildcardCache = function () { return cache; }; return cache; } - -function _interopRequireWildcard(obj) { if (obj && obj.__esModule) { return obj; } if (obj === null || typeof obj !== "object" && typeof obj !== "function") { return { default: obj }; } var cache = _getRequireWildcardCache(); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj.default = obj; if (cache) { cache.set(obj, newObj); } return newObj; } +var _infererReference = require("./inferer-reference"); function VariableDeclarator() { var _type; diff --git a/tools/node_modules/@babel/core/node_modules/@babel/traverse/lib/path/introspection.js b/tools/node_modules/@babel/core/node_modules/@babel/traverse/lib/path/introspection.js index 718a6c85da0afa..1e8b2bc3431437 100644 --- a/tools/node_modules/@babel/core/node_modules/@babel/traverse/lib/path/introspection.js +++ b/tools/node_modules/@babel/core/node_modules/@babel/traverse/lib/path/introspection.js @@ -24,11 +24,7 @@ exports.isConstantExpression = isConstantExpression; exports.isInStrictMode = isInStrictMode; exports.is = void 0; -var t = _interopRequireWildcard(require("@babel/types")); - -function _getRequireWildcardCache() { if (typeof WeakMap !== "function") return null; var cache = new WeakMap(); _getRequireWildcardCache = function () { return cache; }; return cache; } - -function _interopRequireWildcard(obj) { if (obj && obj.__esModule) { return obj; } if (obj === null || typeof obj !== "object" && typeof obj !== "function") { return { default: obj }; } var cache = _getRequireWildcardCache(); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj.default = obj; if (cache) { cache.set(obj, newObj); } return newObj; } +var t = require("@babel/types"); function matchesPattern(pattern, allowPartial) { return t.matchesPattern(this.node, pattern, allowPartial); @@ -111,7 +107,17 @@ function isStatementOrBlock() { } function referencesImport(moduleSource, importName) { - if (!this.isReferencedIdentifier()) return false; + if (!this.isReferencedIdentifier()) { + if ((this.isMemberExpression() || this.isOptionalMemberExpression()) && (this.node.computed ? t.isStringLiteral(this.node.property, { + value: importName + }) : this.node.property.name === importName)) { + const object = this.get("object"); + return object.isReferencedIdentifier() && object.referencesImport(moduleSource, "*"); + } + + return false; + } + const binding = this.scope.getBinding(this.node.name); if (!binding || binding.kind !== "module") return false; const path = binding.path; @@ -132,7 +138,9 @@ function referencesImport(moduleSource, importName) { return true; } - if (path.isImportSpecifier() && path.node.imported.name === importName) { + if (path.isImportSpecifier() && t.isIdentifier(path.node.imported, { + name: importName + })) { return true; } @@ -377,7 +385,7 @@ function isConstantExpression() { } if (this.isUnaryExpression()) { - if (this.get("operator").node !== "void") { + if (this.node.operator !== "void") { return false; } @@ -404,12 +412,9 @@ function isInStrictMode() { return false; } - let { - node - } = path; - if (path.isFunction()) node = node.body; + const body = path.isFunction() ? path.node.body : path.node; - for (const directive of node.directives) { + for (const directive of body.directives) { if (directive.value.value === "use strict") { return true; } diff --git a/tools/node_modules/@babel/core/node_modules/@babel/traverse/lib/path/lib/hoister.js b/tools/node_modules/@babel/core/node_modules/@babel/traverse/lib/path/lib/hoister.js index 4d6644ad8668ea..40d07d24cc8574 100644 --- a/tools/node_modules/@babel/core/node_modules/@babel/traverse/lib/path/lib/hoister.js +++ b/tools/node_modules/@babel/core/node_modules/@babel/traverse/lib/path/lib/hoister.js @@ -5,11 +5,7 @@ Object.defineProperty(exports, "__esModule", { }); exports.default = void 0; -var t = _interopRequireWildcard(require("@babel/types")); - -function _getRequireWildcardCache() { if (typeof WeakMap !== "function") return null; var cache = new WeakMap(); _getRequireWildcardCache = function () { return cache; }; return cache; } - -function _interopRequireWildcard(obj) { if (obj && obj.__esModule) { return obj; } if (obj === null || typeof obj !== "object" && typeof obj !== "function") { return { default: obj }; } var cache = _getRequireWildcardCache(); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj.default = obj; if (cache) { cache.set(obj, newObj); } return newObj; } +var t = require("@babel/types"); const referenceVisitor = { ReferencedIdentifier(path, state) { @@ -48,6 +44,13 @@ const referenceVisitor = { class PathHoister { constructor(path, scope) { + this.breakOnScopePaths = void 0; + this.bindings = void 0; + this.mutableBinding = void 0; + this.scopes = void 0; + this.scope = void 0; + this.path = void 0; + this.attachAfter = void 0; this.breakOnScopePaths = []; this.bindings = {}; this.mutableBinding = false; @@ -181,7 +184,7 @@ class PathHoister { const parent = this.path.parentPath; if (parent.isJSXElement() && this.path.container === parent.node.children) { - uid = t.JSXExpressionContainer(uid); + uid = t.jsxExpressionContainer(uid); } this.path.replaceWith(t.cloneNode(uid)); diff --git a/tools/node_modules/@babel/core/node_modules/@babel/traverse/lib/path/lib/virtual-types.js b/tools/node_modules/@babel/core/node_modules/@babel/traverse/lib/path/lib/virtual-types.js index 505e9a4493dfe6..0f61b988a1f6ca 100644 --- a/tools/node_modules/@babel/core/node_modules/@babel/traverse/lib/path/lib/virtual-types.js +++ b/tools/node_modules/@babel/core/node_modules/@babel/traverse/lib/path/lib/virtual-types.js @@ -5,11 +5,7 @@ Object.defineProperty(exports, "__esModule", { }); exports.ForAwaitStatement = exports.NumericLiteralTypeAnnotation = exports.ExistentialTypeParam = exports.SpreadProperty = exports.RestProperty = exports.Flow = exports.Pure = exports.Generated = exports.User = exports.Var = exports.BlockScoped = exports.Referenced = exports.Scope = exports.Expression = exports.Statement = exports.BindingIdentifier = exports.ReferencedMemberExpression = exports.ReferencedIdentifier = void 0; -var t = _interopRequireWildcard(require("@babel/types")); - -function _getRequireWildcardCache() { if (typeof WeakMap !== "function") return null; var cache = new WeakMap(); _getRequireWildcardCache = function () { return cache; }; return cache; } - -function _interopRequireWildcard(obj) { if (obj && obj.__esModule) { return obj; } if (obj === null || typeof obj !== "object" && typeof obj !== "function") { return { default: obj }; } var cache = _getRequireWildcardCache(); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj.default = obj; if (cache) { cache.set(obj, newObj); } return newObj; } +var t = require("@babel/types"); const ReferencedIdentifier = { types: ["Identifier", "JSXIdentifier"], diff --git a/tools/node_modules/@babel/core/node_modules/@babel/traverse/lib/path/modification.js b/tools/node_modules/@babel/core/node_modules/@babel/traverse/lib/path/modification.js index cc1e2d0e519de6..763c732b3ad17e 100644 --- a/tools/node_modules/@babel/core/node_modules/@babel/traverse/lib/path/modification.js +++ b/tools/node_modules/@babel/core/node_modules/@babel/traverse/lib/path/modification.js @@ -16,22 +16,17 @@ exports.hoist = hoist; var _cache = require("../cache"); -var _hoister = _interopRequireDefault(require("./lib/hoister")); +var _hoister = require("./lib/hoister"); -var _index = _interopRequireDefault(require("./index")); +var _index = require("./index"); -var t = _interopRequireWildcard(require("@babel/types")); +var t = require("@babel/types"); -function _getRequireWildcardCache() { if (typeof WeakMap !== "function") return null; var cache = new WeakMap(); _getRequireWildcardCache = function () { return cache; }; return cache; } - -function _interopRequireWildcard(obj) { if (obj && obj.__esModule) { return obj; } if (obj === null || typeof obj !== "object" && typeof obj !== "function") { return { default: obj }; } var cache = _getRequireWildcardCache(); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj.default = obj; if (cache) { cache.set(obj, newObj); } return newObj; } - -function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } - -function insertBefore(nodes) { +function insertBefore(nodes_) { this._assertUnremoved(); - nodes = this._verifyNodeList(nodes); + const nodes = this._verifyNodeList(nodes_); + const { parentPath } = this; @@ -44,8 +39,9 @@ function insertBefore(nodes) { } else if (Array.isArray(this.container)) { return this._containerInsertBefore(nodes); } else if (this.isStatementOrBlock()) { - const shouldInsertCurrentNode = this.node && (!this.isExpressionStatement() || this.node.expression != null); - this.replaceWith(t.blockStatement(shouldInsertCurrentNode ? [this.node] : [])); + const node = this.node; + const shouldInsertCurrentNode = node && (!this.isExpressionStatement() || node.expression != null); + this.replaceWith(t.blockStatement(shouldInsertCurrentNode ? [node] : [])); return this.unshiftContainer("body", nodes); } else { throw new Error("We don't know what to do with this node type. " + "We were previously a Statement but we can't fit in here?"); @@ -89,10 +85,11 @@ function _containerInsertAfter(nodes) { return this._containerInsert(this.key + 1, nodes); } -function insertAfter(nodes) { +function insertAfter(nodes_) { this._assertUnremoved(); - nodes = this._verifyNodeList(nodes); + const nodes = this._verifyNodeList(nodes_); + const { parentPath } = this; @@ -103,19 +100,27 @@ function insertAfter(nodes) { })); } else if (this.isNodeType("Expression") && !this.isJSXElement() && !parentPath.isJSXElement() || parentPath.isForStatement() && this.key === "init") { if (this.node) { + const node = this.node; let { scope } = this; + if (scope.path.isPattern()) { + t.assertExpression(node); + this.replaceWith(t.callExpression(t.arrowFunctionExpression([], node), [])); + this.get("callee.body").insertAfter(nodes); + return [this]; + } + if (parentPath.isMethod({ computed: true, - key: this.node + key: node })) { scope = scope.parent; } const temp = scope.generateDeclaredUidIdentifier(); - nodes.unshift(t.expressionStatement(t.assignmentExpression("=", t.cloneNode(temp), this.node))); + nodes.unshift(t.expressionStatement(t.assignmentExpression("=", t.cloneNode(temp), node))); nodes.push(t.expressionStatement(t.cloneNode(temp))); } @@ -123,8 +128,9 @@ function insertAfter(nodes) { } else if (Array.isArray(this.container)) { return this._containerInsertAfter(nodes); } else if (this.isStatementOrBlock()) { - const shouldInsertCurrentNode = this.node && (!this.isExpressionStatement() || this.node.expression != null); - this.replaceWith(t.blockStatement(shouldInsertCurrentNode ? [this.node] : [])); + const node = this.node; + const shouldInsertCurrentNode = node && (!this.isExpressionStatement() || node.expression != null); + this.replaceWith(t.blockStatement(shouldInsertCurrentNode ? [node] : [])); return this.pushContainer("body", nodes); } else { throw new Error("We don't know what to do with this node type. " + "We were previously a Statement but we can't fit in here?"); @@ -148,7 +154,7 @@ function _verifyNodeList(nodes) { return []; } - if (nodes.constructor !== Array) { + if (!Array.isArray(nodes)) { nodes = [nodes]; } @@ -194,7 +200,8 @@ function unshiftContainer(listKey, nodes) { function pushContainer(listKey, nodes) { this._assertUnremoved(); - nodes = this._verifyNodeList(nodes); + const verifiedNodes = this._verifyNodeList(nodes); + const container = this.node[listKey]; const path = _index.default.get({ @@ -205,7 +212,7 @@ function pushContainer(listKey, nodes) { key: container.length }).setContext(this.context); - return path.replaceWithMultiple(nodes); + return path.replaceWithMultiple(verifiedNodes); } function hoist(scope = this.scope) { diff --git a/tools/node_modules/@babel/core/node_modules/@babel/traverse/lib/path/removal.js b/tools/node_modules/@babel/core/node_modules/@babel/traverse/lib/path/removal.js index b3c04e126c79eb..7f787c22c77b49 100644 --- a/tools/node_modules/@babel/core/node_modules/@babel/traverse/lib/path/removal.js +++ b/tools/node_modules/@babel/core/node_modules/@babel/traverse/lib/path/removal.js @@ -23,7 +23,7 @@ function remove() { this.resync(); - if (!((_this$opts = this.opts) == null ? void 0 : _this$opts.noScope)) { + if (!((_this$opts = this.opts) != null && _this$opts.noScope)) { this._removeFromScope(); } diff --git a/tools/node_modules/@babel/core/node_modules/@babel/traverse/lib/path/replacement.js b/tools/node_modules/@babel/core/node_modules/@babel/traverse/lib/path/replacement.js index eea4b1d7180fdb..dff38f37a291d5 100644 --- a/tools/node_modules/@babel/core/node_modules/@babel/traverse/lib/path/replacement.js +++ b/tools/node_modules/@babel/core/node_modules/@babel/traverse/lib/path/replacement.js @@ -12,49 +12,17 @@ exports.replaceInline = replaceInline; var _codeFrame = require("@babel/code-frame"); -var _index = _interopRequireDefault(require("../index")); +var _index = require("../index"); -var _index2 = _interopRequireDefault(require("./index")); +var _index2 = require("./index"); var _cache = require("../cache"); var _parser = require("@babel/parser"); -var t = _interopRequireWildcard(require("@babel/types")); +var t = require("@babel/types"); -function _getRequireWildcardCache() { if (typeof WeakMap !== "function") return null; var cache = new WeakMap(); _getRequireWildcardCache = function () { return cache; }; return cache; } - -function _interopRequireWildcard(obj) { if (obj && obj.__esModule) { return obj; } if (obj === null || typeof obj !== "object" && typeof obj !== "function") { return { default: obj }; } var cache = _getRequireWildcardCache(); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj.default = obj; if (cache) { cache.set(obj, newObj); } return newObj; } - -function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } - -const hoistVariablesVisitor = { - Function(path) { - path.skip(); - }, - - VariableDeclaration(path) { - if (path.node.kind !== "var") return; - const bindings = path.getBindingIdentifiers(); - - for (const key of Object.keys(bindings)) { - path.scope.push({ - id: bindings[key] - }); - } - - const exprs = []; - - for (const declar of path.node.declarations) { - if (declar.init) { - exprs.push(t.expressionStatement(t.assignmentExpression("=", declar.id, declar.init))); - } - } - - path.replaceWithMultiple(exprs); - } - -}; +var _helperHoistVariables = require("@babel/helper-hoist-variables"); function replaceWithMultiple(nodes) { var _pathCache$get; @@ -194,9 +162,15 @@ function replaceExpressionWithStatements(nodes) { const functionParent = this.getFunctionParent(); const isParentAsync = functionParent == null ? void 0 : functionParent.is("async"); + const isParentGenerator = functionParent == null ? void 0 : functionParent.is("generator"); const container = t.arrowFunctionExpression([], t.blockStatement(nodes)); this.replaceWith(t.callExpression(container, [])); - this.traverse(hoistVariablesVisitor); + const callee = this.get("callee"); + (0, _helperHoistVariables.default)(callee.get("body"), id => { + this.scope.push({ + id + }); + }, "var"); const completionRecords = this.get("callee").getCompletionRecords(); for (const path of completionRecords) { @@ -207,7 +181,6 @@ function replaceExpressionWithStatements(nodes) { let uid = loop.getData("expressionReplacementReturnUid"); if (!uid) { - const callee = this.get("callee"); uid = callee.scope.generateDeclaredUidIdentifier("ret"); callee.get("body").pushContainer("body", t.returnStatement(t.cloneNode(uid))); loop.setData("expressionReplacementReturnUid", uid); @@ -221,15 +194,27 @@ function replaceExpressionWithStatements(nodes) { } } - const callee = this.get("callee"); callee.arrowFunctionToExpression(); + const newCallee = callee; + + const needToAwaitFunction = isParentAsync && _index.default.hasType(this.get("callee.body").node, "AwaitExpression", t.FUNCTION_TYPES); + + const needToYieldFunction = isParentGenerator && _index.default.hasType(this.get("callee.body").node, "YieldExpression", t.FUNCTION_TYPES); + + if (needToAwaitFunction) { + newCallee.set("async", true); + + if (!needToYieldFunction) { + this.replaceWith(t.awaitExpression(this.node)); + } + } - if (isParentAsync && _index.default.hasType(this.get("callee.body").node, "AwaitExpression", t.FUNCTION_TYPES)) { - callee.set("async", true); - this.replaceWith(t.awaitExpression(this.node)); + if (needToYieldFunction) { + newCallee.set("generator", true); + this.replaceWith(t.yieldExpression(this.node, true)); } - return callee.get("body.body"); + return newCallee.get("body.body"); } function replaceInline(nodes) { diff --git a/tools/node_modules/@babel/core/node_modules/@babel/traverse/lib/scope/binding.js b/tools/node_modules/@babel/core/node_modules/@babel/traverse/lib/scope/binding.js index 50ce03b9495174..16911ef21c03db 100644 --- a/tools/node_modules/@babel/core/node_modules/@babel/traverse/lib/scope/binding.js +++ b/tools/node_modules/@babel/core/node_modules/@babel/traverse/lib/scope/binding.js @@ -12,6 +12,10 @@ class Binding { path, kind }) { + this.identifier = void 0; + this.scope = void 0; + this.path = void 0; + this.kind = void 0; this.constantViolations = []; this.constant = true; this.referencePaths = []; diff --git a/tools/node_modules/@babel/core/node_modules/@babel/traverse/lib/scope/index.js b/tools/node_modules/@babel/core/node_modules/@babel/traverse/lib/scope/index.js index 165f79a02fe1ec..396c7c907c8510 100644 --- a/tools/node_modules/@babel/core/node_modules/@babel/traverse/lib/scope/index.js +++ b/tools/node_modules/@babel/core/node_modules/@babel/traverse/lib/scope/index.js @@ -5,33 +5,27 @@ Object.defineProperty(exports, "__esModule", { }); exports.default = void 0; -var _renamer = _interopRequireDefault(require("./lib/renamer")); +var _renamer = require("./lib/renamer"); -var _index = _interopRequireDefault(require("../index")); +var _index = require("../index"); -var _binding = _interopRequireDefault(require("./binding")); +var _binding = require("./binding"); -var _globals = _interopRequireDefault(require("globals")); +var _globals = require("globals"); -var t = _interopRequireWildcard(require("@babel/types")); +var t = require("@babel/types"); var _cache = require("../cache"); -function _getRequireWildcardCache() { if (typeof WeakMap !== "function") return null; var cache = new WeakMap(); _getRequireWildcardCache = function () { return cache; }; return cache; } - -function _interopRequireWildcard(obj) { if (obj && obj.__esModule) { return obj; } if (obj === null || typeof obj !== "object" && typeof obj !== "function") { return { default: obj }; } var cache = _getRequireWildcardCache(); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj.default = obj; if (cache) { cache.set(obj, newObj); } return newObj; } - -function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } - function gatherNodeParts(node, parts) { switch (node == null ? void 0 : node.type) { default: if (t.isModuleDeclaration(node)) { - if (node.source) { + if ((t.isExportAllDeclaration(node) || t.isExportNamedDeclaration(node) || t.isImportDeclaration(node)) && node.source) { gatherNodeParts(node.source, parts); - } else if (node.specifiers && node.specifiers.length) { + } else if ((t.isExportNamedDeclaration(node) || t.isImportDeclaration(node)) && node.specifiers && node.specifiers.length) { for (const e of node.specifiers) gatherNodeParts(e, parts); - } else if (node.declaration) { + } else if ((t.isExportDefaultDeclaration(node) || t.isExportNamedDeclaration(node)) && node.declaration) { gatherNodeParts(node.declaration, parts); } } else if (t.isModuleSpecifier(node)) { @@ -178,11 +172,7 @@ const collectorVisitor = { Declaration(path) { if (path.isBlockScoped()) return; - - if (path.isExportDeclaration() && path.get("declaration").isDeclaration()) { - return; - } - + if (path.isExportDeclaration()) return; const parent = path.scope.getFunctionParent() || path.scope.getProgramParent(); parent.registerDeclaration(path); }, @@ -205,6 +195,7 @@ const collectorVisitor = { node, scope } = path; + if (t.isExportAllDeclaration(node)) return; const declar = node.declaration; if (t.isClassDeclaration(declar) || t.isFunctionDeclaration(declar)) { @@ -225,7 +216,6 @@ const collectorVisitor = { }, LabeledStatement(path) { - path.scope.getProgramParent().addGlobal(path.node); path.scope.getBlockParent().registerDeclaration(path); }, @@ -256,16 +246,6 @@ const collectorVisitor = { } }, - Block(path) { - const paths = path.get("body"); - - for (const bodyPath of paths) { - if (bodyPath.isFunctionDeclaration()) { - path.scope.getBlockParent().registerDeclaration(bodyPath); - } - } - }, - CatchClause(path) { path.scope.registerBinding("let", path); }, @@ -293,6 +273,17 @@ let uid = 0; class Scope { constructor(path) { + this.uid = void 0; + this.path = void 0; + this.block = void 0; + this.labels = void 0; + this.inited = void 0; + this.bindings = void 0; + this.references = void 0; + this.globals = void 0; + this.uids = void 0; + this.data = void 0; + this.crawling = void 0; const { node } = path; @@ -313,8 +304,19 @@ class Scope { } get parent() { - const parent = this.path.findParent(p => p.isScope()); - return parent == null ? void 0 : parent.scope; + var _parent; + + let parent, + path = this.path; + + do { + const isKey = path.key === "key"; + path = path.parentPath; + if (isKey && path.isMethod()) path = path.parentPath; + if (path && path.isScope()) parent = path; + } while (path && !parent); + + return (_parent = parent) == null ? void 0 : _parent.scope; } get parentBlock() { @@ -458,11 +460,11 @@ class Scope { console.log(sep); } - toArray(node, i, allowArrayLike) { + toArray(node, i, arrayLikeIsIterable) { if (t.isIdentifier(node)) { const binding = this.getBinding(node.name); - if ((binding == null ? void 0 : binding.constant) && binding.path.isGenericType("Array")) { + if (binding != null && binding.constant && binding.path.isGenericType("Array")) { return node; } } @@ -489,7 +491,7 @@ class Scope { helperName = "toArray"; } - if (allowArrayLike) { + if (arrayLikeIsIterable) { args.unshift(this.hub.addHelper(helperName)); helperName = "maybeArrayLike"; } @@ -711,19 +713,6 @@ class Scope { this.globals = Object.create(null); this.uids = Object.create(null); this.data = Object.create(null); - - if (path.isFunction()) { - if (path.isFunctionExpression() && path.has("id") && !path.get("id").node[t.NOT_LOCAL_BINDING]) { - this.registerBinding("local", path.get("id"), path); - } - - const params = path.get("params"); - - for (const param of params) { - this.registerBinding("param", param); - } - } - const programParent = this.getProgramParent(); if (programParent.crawling) return; const state = { @@ -732,6 +721,21 @@ class Scope { assignments: [] }; this.crawling = true; + + if (path.type !== "Program" && collectorVisitor._exploded) { + for (const visit of collectorVisitor.enter) { + visit(path, state); + } + + const typeVisitors = collectorVisitor[path.type]; + + if (typeVisitors) { + for (const visit of typeVisitors.enter) { + visit(path, state); + } + } + } + path.traverse(collectorVisitor, state); this.crawling = false; @@ -848,10 +852,10 @@ class Scope { return ids; } - getAllBindingsOfKind() { + getAllBindingsOfKind(...kinds) { const ids = Object.create(null); - for (const kind of arguments) { + for (const kind of kinds) { let scope = this; do { @@ -881,7 +885,7 @@ class Scope { if (binding) { var _previousPath; - if (((_previousPath = previousPath) == null ? void 0 : _previousPath.isPattern()) && binding.kind !== "param") {} else { + if ((_previousPath = previousPath) != null && _previousPath.isPattern() && binding.kind !== "param") {} else { return binding; } } @@ -955,5 +959,5 @@ class Scope { } exports.default = Scope; -Scope.globals = Object.keys(_globals.default.builtin); +Scope.globals = Object.keys(_globals.builtin); Scope.contextVariables = ["arguments", "undefined", "Infinity", "NaN"]; \ No newline at end of file diff --git a/tools/node_modules/@babel/core/node_modules/@babel/traverse/lib/scope/lib/renamer.js b/tools/node_modules/@babel/core/node_modules/@babel/traverse/lib/scope/lib/renamer.js index 2f82343bc6f565..38c1bf4c3752f6 100644 --- a/tools/node_modules/@babel/core/node_modules/@babel/traverse/lib/scope/lib/renamer.js +++ b/tools/node_modules/@babel/core/node_modules/@babel/traverse/lib/scope/lib/renamer.js @@ -5,17 +5,11 @@ Object.defineProperty(exports, "__esModule", { }); exports.default = void 0; -var _binding = _interopRequireDefault(require("../binding")); +var _binding = require("../binding"); -var _helperSplitExportDeclaration = _interopRequireDefault(require("@babel/helper-split-export-declaration")); +var _helperSplitExportDeclaration = require("@babel/helper-split-export-declaration"); -var t = _interopRequireWildcard(require("@babel/types")); - -function _getRequireWildcardCache() { if (typeof WeakMap !== "function") return null; var cache = new WeakMap(); _getRequireWildcardCache = function () { return cache; }; return cache; } - -function _interopRequireWildcard(obj) { if (obj && obj.__esModule) { return obj; } if (obj === null || typeof obj !== "object" && typeof obj !== "function") { return { default: obj }; } var cache = _getRequireWildcardCache(); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj.default = obj; if (cache) { cache.set(obj, newObj); } return newObj; } - -function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } +var t = require("@babel/types"); const renameVisitor = { ReferencedIdentifier({ @@ -28,7 +22,7 @@ const renameVisitor = { Scope(path, state) { if (!path.scope.bindingIdentifierEquals(state.oldName, state.binding.identifier)) { - path.skip(); + skipAllButComputedMethodKey(path); } }, @@ -120,8 +114,6 @@ class Renamer { this.binding.identifier.name = newName; } - if (binding.type === "hoisted") {} - if (parentDeclar) { this.maybeConvertFromClassFunctionDeclaration(parentDeclar); this.maybeConvertFromClassFunctionExpression(parentDeclar); @@ -130,4 +122,17 @@ class Renamer { } -exports.default = Renamer; \ No newline at end of file +exports.default = Renamer; + +function skipAllButComputedMethodKey(path) { + if (!path.isMethod() || !path.node.computed) { + path.skip(); + return; + } + + const keys = t.VISITOR_KEYS[path.type]; + + for (const key of keys) { + if (key !== "key") path.skipKey(key); + } +} \ No newline at end of file diff --git a/tools/node_modules/@babel/core/node_modules/@babel/traverse/lib/types.js b/tools/node_modules/@babel/core/node_modules/@babel/traverse/lib/types.js new file mode 100644 index 00000000000000..166ae4dcc198c0 --- /dev/null +++ b/tools/node_modules/@babel/core/node_modules/@babel/traverse/lib/types.js @@ -0,0 +1,7 @@ +"use strict"; + +var t = require("@babel/types"); + +var _index = require("./index"); + +var _virtualTypes = require("./path/generated/virtual-types"); \ No newline at end of file diff --git a/tools/node_modules/@babel/core/node_modules/@babel/traverse/lib/visitors.js b/tools/node_modules/@babel/core/node_modules/@babel/traverse/lib/visitors.js index 2a9ea697138275..70c8b1d7acad92 100644 --- a/tools/node_modules/@babel/core/node_modules/@babel/traverse/lib/visitors.js +++ b/tools/node_modules/@babel/core/node_modules/@babel/traverse/lib/visitors.js @@ -7,13 +7,9 @@ exports.explode = explode; exports.verify = verify; exports.merge = merge; -var virtualTypes = _interopRequireWildcard(require("./path/lib/virtual-types")); +var virtualTypes = require("./path/lib/virtual-types"); -var t = _interopRequireWildcard(require("@babel/types")); - -function _getRequireWildcardCache() { if (typeof WeakMap !== "function") return null; var cache = new WeakMap(); _getRequireWildcardCache = function () { return cache; }; return cache; } - -function _interopRequireWildcard(obj) { if (obj && obj.__esModule) { return obj; } if (obj === null || typeof obj !== "object" && typeof obj !== "function") { return { default: obj }; } var cache = _getRequireWildcardCache(); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj.default = obj; if (cache) { cache.set(obj, newObj); } return newObj; } +var t = require("@babel/types"); function explode(visitor) { if (visitor._exploded) return visitor; @@ -65,11 +61,11 @@ function explode(visitor) { if (shouldIgnoreKey(nodeType)) continue; const fns = visitor[nodeType]; let aliases = t.FLIPPED_ALIAS_KEYS[nodeType]; - const deprecratedKey = t.DEPRECATED_KEYS[nodeType]; + const deprecatedKey = t.DEPRECATED_KEYS[nodeType]; - if (deprecratedKey) { - console.trace(`Visitor defined for ${nodeType} but it has been renamed to ${deprecratedKey}`); - aliases = [deprecratedKey]; + if (deprecatedKey) { + console.trace(`Visitor defined for ${nodeType} but it has been renamed to ${deprecatedKey}`); + aliases = [deprecatedKey]; } if (!aliases) continue; diff --git a/tools/node_modules/@babel/core/node_modules/@babel/traverse/package.json b/tools/node_modules/@babel/core/node_modules/@babel/traverse/package.json index 7a9969f86498b9..03995f89336e28 100644 --- a/tools/node_modules/@babel/core/node_modules/@babel/traverse/package.json +++ b/tools/node_modules/@babel/core/node_modules/@babel/traverse/package.json @@ -1,9 +1,10 @@ { "name": "@babel/traverse", - "version": "7.12.12", + "version": "7.14.5", "description": "The Babel Traverse module maintains the overall tree state, and is responsible for replacing, removing, and adding nodes", - "author": "Sebastian McKenzie ", - "homepage": "https://babeljs.io/", + "author": "The Babel Team (https://babel.dev/team)", + "homepage": "https://babel.dev/docs/en/next/babel-traverse", + "bugs": "https://github.com/babel/babel/issues?utf8=%E2%9C%93&q=is%3Aissue+label%3A%22pkg%3A%20traverse%22+is%3Aopen", "license": "MIT", "publishConfig": { "access": "public" @@ -13,19 +14,22 @@ "url": "https://github.com/babel/babel.git", "directory": "packages/babel-traverse" }, - "main": "lib/index.js", + "main": "./lib/index.js", "dependencies": { - "@babel/code-frame": "^7.12.11", - "@babel/generator": "^7.12.11", - "@babel/helper-function-name": "^7.12.11", - "@babel/helper-split-export-declaration": "^7.12.11", - "@babel/parser": "^7.12.11", - "@babel/types": "^7.12.12", + "@babel/code-frame": "^7.14.5", + "@babel/generator": "^7.14.5", + "@babel/helper-function-name": "^7.14.5", + "@babel/helper-hoist-variables": "^7.14.5", + "@babel/helper-split-export-declaration": "^7.14.5", + "@babel/parser": "^7.14.5", + "@babel/types": "^7.14.5", "debug": "^4.1.0", - "globals": "^11.1.0", - "lodash": "^4.17.19" + "globals": "^11.1.0" }, "devDependencies": { - "@babel/helper-plugin-test-runner": "7.10.4" + "@babel/helper-plugin-test-runner": "7.14.5" + }, + "engines": { + "node": ">=6.9.0" } } \ No newline at end of file diff --git a/tools/node_modules/@babel/core/node_modules/@babel/traverse/scripts/generators/asserts.js b/tools/node_modules/@babel/core/node_modules/@babel/traverse/scripts/generators/asserts.js new file mode 100644 index 00000000000000..f10b33eede2389 --- /dev/null +++ b/tools/node_modules/@babel/core/node_modules/@babel/traverse/scripts/generators/asserts.js @@ -0,0 +1,25 @@ +import t from "@babel/types"; + +export default function generateAsserts() { + let output = `/* + * This file is auto-generated! Do not modify it directly. + * To re-generate run 'make build' + */ +import * as t from "@babel/types"; +import NodePath from "../index"; + + +export interface NodePathAssetions {`; + + for (const type of [...t.TYPES].sort()) { + output += ` + assert${type}( + opts?: object, + ): asserts this is NodePath;`; + } + + output += ` +}`; + + return output; +} diff --git a/tools/node_modules/@babel/core/node_modules/@babel/traverse/scripts/generators/validators.js b/tools/node_modules/@babel/core/node_modules/@babel/traverse/scripts/generators/validators.js new file mode 100644 index 00000000000000..eae98a33e26cac --- /dev/null +++ b/tools/node_modules/@babel/core/node_modules/@babel/traverse/scripts/generators/validators.js @@ -0,0 +1,34 @@ +import t from "@babel/types"; +import virtualTypes from "../../lib/path/lib/virtual-types.js"; +import definitions from "@babel/types/lib/definitions/index.js"; + +export default function generateValidators() { + let output = `/* + * This file is auto-generated! Do not modify it directly. + * To re-generate run 'make build' + */ +import * as t from "@babel/types"; +import NodePath from "../index"; + +export interface NodePathValidators { +`; + + for (const type of [...t.TYPES].sort()) { + output += `is${type}(opts?: object): this is NodePath;`; + } + + for (const type of Object.keys(virtualTypes)) { + if (type[0] === "_") continue; + if (definitions.NODE_FIELDS[type] || definitions.FLIPPED_ALIAS_KEYS[type]) { + output += `is${type}(opts?: object): this is NodePath;`; + } else { + output += `is${type}(opts?: object): boolean;`; + } + } + + output += ` +} +`; + + return output; +} diff --git a/tools/node_modules/@babel/core/node_modules/@babel/traverse/scripts/generators/virtual-types.js b/tools/node_modules/@babel/core/node_modules/@babel/traverse/scripts/generators/virtual-types.js new file mode 100644 index 00000000000000..6d55f54caaf90a --- /dev/null +++ b/tools/node_modules/@babel/core/node_modules/@babel/traverse/scripts/generators/virtual-types.js @@ -0,0 +1,24 @@ +import virtualTypes from "../../lib/path/lib/virtual-types.js"; + +export default function generateValidators() { + let output = `/* + * This file is auto-generated! Do not modify it directly. + * To re-generate run 'make build' + */ +import * as t from "@babel/types"; + +export interface VirtualTypeAliases { +`; + + for (const type of Object.keys(virtualTypes)) { + output += ` ${type}: ${(virtualTypes[type].types || ["Node"]) + .map(t => `t.${t}`) + .join(" | ")};`; + } + + output += ` +} +`; + + return output; +} diff --git a/tools/node_modules/@babel/core/node_modules/@babel/traverse/scripts/package.json b/tools/node_modules/@babel/core/node_modules/@babel/traverse/scripts/package.json new file mode 100644 index 00000000000000..5ffd9800b97cf2 --- /dev/null +++ b/tools/node_modules/@babel/core/node_modules/@babel/traverse/scripts/package.json @@ -0,0 +1 @@ +{ "type": "module" } diff --git a/tools/node_modules/@babel/core/node_modules/@babel/types/lib/asserts/assertNode.js b/tools/node_modules/@babel/core/node_modules/@babel/types/lib/asserts/assertNode.js index e28a9e0f51befb..e584e3eec60b12 100644 --- a/tools/node_modules/@babel/core/node_modules/@babel/types/lib/asserts/assertNode.js +++ b/tools/node_modules/@babel/core/node_modules/@babel/types/lib/asserts/assertNode.js @@ -5,9 +5,7 @@ Object.defineProperty(exports, "__esModule", { }); exports.default = assertNode; -var _isNode = _interopRequireDefault(require("../validators/isNode")); - -function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } +var _isNode = require("../validators/isNode"); function assertNode(node) { if (!(0, _isNode.default)(node)) { diff --git a/tools/node_modules/@babel/core/node_modules/@babel/types/lib/asserts/generated/index.js b/tools/node_modules/@babel/core/node_modules/@babel/types/lib/asserts/generated/index.js index dd9c71a68d0fde..947d343d215dad 100644 --- a/tools/node_modules/@babel/core/node_modules/@babel/types/lib/asserts/generated/index.js +++ b/tools/node_modules/@babel/core/node_modules/@babel/types/lib/asserts/generated/index.js @@ -147,6 +147,8 @@ exports.assertEnumBooleanMember = assertEnumBooleanMember; exports.assertEnumNumberMember = assertEnumNumberMember; exports.assertEnumStringMember = assertEnumStringMember; exports.assertEnumDefaultedMember = assertEnumDefaultedMember; +exports.assertIndexedAccessType = assertIndexedAccessType; +exports.assertOptionalIndexedAccessType = assertOptionalIndexedAccessType; exports.assertJSXAttribute = assertJSXAttribute; exports.assertJSXClosingElement = assertJSXClosingElement; exports.assertJSXElement = assertJSXElement; @@ -182,6 +184,7 @@ exports.assertRecordExpression = assertRecordExpression; exports.assertTupleExpression = assertTupleExpression; exports.assertDecimalLiteral = assertDecimalLiteral; exports.assertStaticBlock = assertStaticBlock; +exports.assertModuleExpression = assertModuleExpression; exports.assertTSParameterProperty = assertTSParameterProperty; exports.assertTSDeclareFunction = assertTSDeclareFunction; exports.assertTSDeclareMethod = assertTSDeclareMethod; @@ -295,9 +298,7 @@ exports.assertRegexLiteral = assertRegexLiteral; exports.assertRestProperty = assertRestProperty; exports.assertSpreadProperty = assertSpreadProperty; -var _is = _interopRequireDefault(require("../../validators/is")); - -function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } +var _is = require("../../validators/is"); function assert(type, node, opts) { if (!(0, _is.default)(type, node, opts)) { @@ -881,6 +882,14 @@ function assertEnumDefaultedMember(node, opts) { assert("EnumDefaultedMember", node, opts); } +function assertIndexedAccessType(node, opts) { + assert("IndexedAccessType", node, opts); +} + +function assertOptionalIndexedAccessType(node, opts) { + assert("OptionalIndexedAccessType", node, opts); +} + function assertJSXAttribute(node, opts) { assert("JSXAttribute", node, opts); } @@ -1021,6 +1030,10 @@ function assertStaticBlock(node, opts) { assert("StaticBlock", node, opts); } +function assertModuleExpression(node, opts) { + assert("ModuleExpression", node, opts); +} + function assertTSParameterProperty(node, opts) { assert("TSParameterProperty", node, opts); } diff --git a/tools/node_modules/@babel/core/node_modules/@babel/types/lib/builders/builder.js b/tools/node_modules/@babel/core/node_modules/@babel/types/lib/builders/builder.js index 812cc17933069f..b8a017138a08cb 100644 --- a/tools/node_modules/@babel/core/node_modules/@babel/types/lib/builders/builder.js +++ b/tools/node_modules/@babel/core/node_modules/@babel/types/lib/builders/builder.js @@ -5,13 +5,9 @@ Object.defineProperty(exports, "__esModule", { }); exports.default = builder; -var _clone = _interopRequireDefault(require("lodash/clone")); - var _definitions = require("../definitions"); -var _validate = _interopRequireDefault(require("../validators/validate")); - -function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } +var _validate = require("../validators/validate"); function builder(type, ...args) { const keys = _definitions.BUILDER_KEYS[type]; @@ -29,7 +25,11 @@ function builder(type, ...args) { const field = _definitions.NODE_FIELDS[type][key]; let arg; if (i < countArgs) arg = args[i]; - if (arg === undefined) arg = (0, _clone.default)(field.default); + + if (arg === undefined) { + arg = Array.isArray(field.default) ? [] : field.default; + } + node[key] = arg; i++; }); diff --git a/tools/node_modules/@babel/core/node_modules/@babel/types/lib/builders/flow/createFlowUnionType.js b/tools/node_modules/@babel/core/node_modules/@babel/types/lib/builders/flow/createFlowUnionType.js index a91391ffdcfd78..ddf20fdd3ae62e 100644 --- a/tools/node_modules/@babel/core/node_modules/@babel/types/lib/builders/flow/createFlowUnionType.js +++ b/tools/node_modules/@babel/core/node_modules/@babel/types/lib/builders/flow/createFlowUnionType.js @@ -7,9 +7,7 @@ exports.default = createFlowUnionType; var _generated = require("../generated"); -var _removeTypeDuplicates = _interopRequireDefault(require("../../modifications/flow/removeTypeDuplicates")); - -function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } +var _removeTypeDuplicates = require("../../modifications/flow/removeTypeDuplicates"); function createFlowUnionType(types) { const flattened = (0, _removeTypeDuplicates.default)(types); diff --git a/tools/node_modules/@babel/core/node_modules/@babel/types/lib/builders/flow/createTypeAnnotationBasedOnTypeof.js b/tools/node_modules/@babel/core/node_modules/@babel/types/lib/builders/flow/createTypeAnnotationBasedOnTypeof.js index 4724335f2ab71e..7711322ed379fa 100644 --- a/tools/node_modules/@babel/core/node_modules/@babel/types/lib/builders/flow/createTypeAnnotationBasedOnTypeof.js +++ b/tools/node_modules/@babel/core/node_modules/@babel/types/lib/builders/flow/createTypeAnnotationBasedOnTypeof.js @@ -22,7 +22,9 @@ function createTypeAnnotationBasedOnTypeof(type) { return (0, _generated.genericTypeAnnotation)((0, _generated.identifier)("Object")); } else if (type === "symbol") { return (0, _generated.genericTypeAnnotation)((0, _generated.identifier)("Symbol")); + } else if (type === "bigint") { + return (0, _generated.anyTypeAnnotation)(); } else { - throw new Error("Invalid typeof value"); + throw new Error("Invalid typeof value: " + type); } } \ No newline at end of file diff --git a/tools/node_modules/@babel/core/node_modules/@babel/types/lib/builders/generated/index.js b/tools/node_modules/@babel/core/node_modules/@babel/types/lib/builders/generated/index.js index a4ed3056921cc2..5cb9e361c91425 100644 --- a/tools/node_modules/@babel/core/node_modules/@babel/types/lib/builders/generated/index.js +++ b/tools/node_modules/@babel/core/node_modules/@babel/types/lib/builders/generated/index.js @@ -147,6 +147,8 @@ exports.enumBooleanMember = enumBooleanMember; exports.enumNumberMember = enumNumberMember; exports.enumStringMember = enumStringMember; exports.enumDefaultedMember = enumDefaultedMember; +exports.indexedAccessType = indexedAccessType; +exports.optionalIndexedAccessType = optionalIndexedAccessType; exports.jSXAttribute = exports.jsxAttribute = jsxAttribute; exports.jSXClosingElement = exports.jsxClosingElement = jsxClosingElement; exports.jSXElement = exports.jsxElement = jsxElement; @@ -182,6 +184,7 @@ exports.recordExpression = recordExpression; exports.tupleExpression = tupleExpression; exports.decimalLiteral = decimalLiteral; exports.staticBlock = staticBlock; +exports.moduleExpression = moduleExpression; exports.tSParameterProperty = exports.tsParameterProperty = tsParameterProperty; exports.tSDeclareFunction = exports.tsDeclareFunction = tsDeclareFunction; exports.tSDeclareMethod = exports.tsDeclareMethod = tsDeclareMethod; @@ -250,9 +253,7 @@ exports.regexLiteral = RegexLiteral; exports.restProperty = RestProperty; exports.spreadProperty = SpreadProperty; -var _builder = _interopRequireDefault(require("../builder")); - -function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } +var _builder = require("../builder"); function arrayExpression(elements) { return (0, _builder.default)("ArrayExpression", ...arguments); @@ -830,6 +831,14 @@ function enumDefaultedMember(id) { return (0, _builder.default)("EnumDefaultedMember", ...arguments); } +function indexedAccessType(objectType, indexType) { + return (0, _builder.default)("IndexedAccessType", ...arguments); +} + +function optionalIndexedAccessType(objectType, indexType) { + return (0, _builder.default)("OptionalIndexedAccessType", ...arguments); +} + function jsxAttribute(name, value) { return (0, _builder.default)("JSXAttribute", ...arguments); } @@ -942,7 +951,7 @@ function decorator(expression) { return (0, _builder.default)("Decorator", ...arguments); } -function doExpression(body) { +function doExpression(body, async) { return (0, _builder.default)("DoExpression", ...arguments); } @@ -970,6 +979,10 @@ function staticBlock(body) { return (0, _builder.default)("StaticBlock", ...arguments); } +function moduleExpression(body) { + return (0, _builder.default)("ModuleExpression", ...arguments); +} + function tsParameterProperty(parameter) { return (0, _builder.default)("TSParameterProperty", ...arguments); } diff --git a/tools/node_modules/@babel/core/node_modules/@babel/types/lib/builders/generated/uppercase.js b/tools/node_modules/@babel/core/node_modules/@babel/types/lib/builders/generated/uppercase.js index 1ce7732836ae4a..0dc1f67f0525ad 100644 --- a/tools/node_modules/@babel/core/node_modules/@babel/types/lib/builders/generated/uppercase.js +++ b/tools/node_modules/@babel/core/node_modules/@babel/types/lib/builders/generated/uppercase.js @@ -867,6 +867,18 @@ Object.defineProperty(exports, "EnumDefaultedMember", { return _index.enumDefaultedMember; } }); +Object.defineProperty(exports, "IndexedAccessType", { + enumerable: true, + get: function () { + return _index.indexedAccessType; + } +}); +Object.defineProperty(exports, "OptionalIndexedAccessType", { + enumerable: true, + get: function () { + return _index.optionalIndexedAccessType; + } +}); Object.defineProperty(exports, "JSXAttribute", { enumerable: true, get: function () { @@ -1077,6 +1089,12 @@ Object.defineProperty(exports, "StaticBlock", { return _index.staticBlock; } }); +Object.defineProperty(exports, "ModuleExpression", { + enumerable: true, + get: function () { + return _index.moduleExpression; + } +}); Object.defineProperty(exports, "TSParameterProperty", { enumerable: true, get: function () { diff --git a/tools/node_modules/@babel/core/node_modules/@babel/types/lib/builders/react/buildChildren.js b/tools/node_modules/@babel/core/node_modules/@babel/types/lib/builders/react/buildChildren.js index 91e7cbd9cabd9d..20a194b6b9e405 100644 --- a/tools/node_modules/@babel/core/node_modules/@babel/types/lib/builders/react/buildChildren.js +++ b/tools/node_modules/@babel/core/node_modules/@babel/types/lib/builders/react/buildChildren.js @@ -7,9 +7,7 @@ exports.default = buildChildren; var _generated = require("../../validators/generated"); -var _cleanJSXElementLiteralChild = _interopRequireDefault(require("../../utils/react/cleanJSXElementLiteralChild")); - -function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } +var _cleanJSXElementLiteralChild = require("../../utils/react/cleanJSXElementLiteralChild"); function buildChildren(node) { const elements = []; diff --git a/tools/node_modules/@babel/core/node_modules/@babel/types/lib/builders/typescript/createTSUnionType.js b/tools/node_modules/@babel/core/node_modules/@babel/types/lib/builders/typescript/createTSUnionType.js index 9f1b8c9bff4abd..9b53be29d327d0 100644 --- a/tools/node_modules/@babel/core/node_modules/@babel/types/lib/builders/typescript/createTSUnionType.js +++ b/tools/node_modules/@babel/core/node_modules/@babel/types/lib/builders/typescript/createTSUnionType.js @@ -7,9 +7,7 @@ exports.default = createTSUnionType; var _generated = require("../generated"); -var _removeTypeDuplicates = _interopRequireDefault(require("../../modifications/typescript/removeTypeDuplicates")); - -function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } +var _removeTypeDuplicates = require("../../modifications/typescript/removeTypeDuplicates"); function createTSUnionType(typeAnnotations) { const types = typeAnnotations.map(type => type.typeAnnotation); diff --git a/tools/node_modules/@babel/core/node_modules/@babel/types/lib/clone/clone.js b/tools/node_modules/@babel/core/node_modules/@babel/types/lib/clone/clone.js index 9595f6e25cfdee..e262c632d8ddf6 100644 --- a/tools/node_modules/@babel/core/node_modules/@babel/types/lib/clone/clone.js +++ b/tools/node_modules/@babel/core/node_modules/@babel/types/lib/clone/clone.js @@ -5,9 +5,7 @@ Object.defineProperty(exports, "__esModule", { }); exports.default = clone; -var _cloneNode = _interopRequireDefault(require("./cloneNode")); - -function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } +var _cloneNode = require("./cloneNode"); function clone(node) { return (0, _cloneNode.default)(node, false); diff --git a/tools/node_modules/@babel/core/node_modules/@babel/types/lib/clone/cloneDeep.js b/tools/node_modules/@babel/core/node_modules/@babel/types/lib/clone/cloneDeep.js index eb29c536227bc8..9067e7b73d91ab 100644 --- a/tools/node_modules/@babel/core/node_modules/@babel/types/lib/clone/cloneDeep.js +++ b/tools/node_modules/@babel/core/node_modules/@babel/types/lib/clone/cloneDeep.js @@ -5,9 +5,7 @@ Object.defineProperty(exports, "__esModule", { }); exports.default = cloneDeep; -var _cloneNode = _interopRequireDefault(require("./cloneNode")); - -function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } +var _cloneNode = require("./cloneNode"); function cloneDeep(node) { return (0, _cloneNode.default)(node); diff --git a/tools/node_modules/@babel/core/node_modules/@babel/types/lib/clone/cloneDeepWithoutLoc.js b/tools/node_modules/@babel/core/node_modules/@babel/types/lib/clone/cloneDeepWithoutLoc.js index d8612e9ebb1598..a8c53dd4b1f890 100644 --- a/tools/node_modules/@babel/core/node_modules/@babel/types/lib/clone/cloneDeepWithoutLoc.js +++ b/tools/node_modules/@babel/core/node_modules/@babel/types/lib/clone/cloneDeepWithoutLoc.js @@ -5,9 +5,7 @@ Object.defineProperty(exports, "__esModule", { }); exports.default = cloneDeepWithoutLoc; -var _cloneNode = _interopRequireDefault(require("./cloneNode")); - -function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } +var _cloneNode = require("./cloneNode"); function cloneDeepWithoutLoc(node) { return (0, _cloneNode.default)(node, true, true); diff --git a/tools/node_modules/@babel/core/node_modules/@babel/types/lib/clone/cloneNode.js b/tools/node_modules/@babel/core/node_modules/@babel/types/lib/clone/cloneNode.js index 01b08e6a5cb079..5980f2d1ba904e 100644 --- a/tools/node_modules/@babel/core/node_modules/@babel/types/lib/clone/cloneNode.js +++ b/tools/node_modules/@babel/core/node_modules/@babel/types/lib/clone/cloneNode.js @@ -87,17 +87,28 @@ function cloneNode(node, deep = true, withoutLoc = false) { return newNode; } -function cloneCommentsWithoutLoc(comments) { +function maybeCloneComments(comments, deep, withoutLoc) { + if (!comments || !deep) { + return comments; + } + return comments.map(({ - type, - value - }) => ({ type, value, - loc: null - })); -} + loc + }) => { + if (withoutLoc) { + return { + type, + value, + loc: null + }; + } -function maybeCloneComments(comments, deep, withoutLoc) { - return deep && withoutLoc ? cloneCommentsWithoutLoc(comments) : comments; + return { + type, + value, + loc + }; + }); } \ No newline at end of file diff --git a/tools/node_modules/@babel/core/node_modules/@babel/types/lib/clone/cloneWithoutLoc.js b/tools/node_modules/@babel/core/node_modules/@babel/types/lib/clone/cloneWithoutLoc.js index 34fd172ed77511..d0420b1c0de206 100644 --- a/tools/node_modules/@babel/core/node_modules/@babel/types/lib/clone/cloneWithoutLoc.js +++ b/tools/node_modules/@babel/core/node_modules/@babel/types/lib/clone/cloneWithoutLoc.js @@ -5,9 +5,7 @@ Object.defineProperty(exports, "__esModule", { }); exports.default = cloneWithoutLoc; -var _cloneNode = _interopRequireDefault(require("./cloneNode")); - -function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } +var _cloneNode = require("./cloneNode"); function cloneWithoutLoc(node) { return (0, _cloneNode.default)(node, false, true); diff --git a/tools/node_modules/@babel/core/node_modules/@babel/types/lib/comments/addComment.js b/tools/node_modules/@babel/core/node_modules/@babel/types/lib/comments/addComment.js index ff586514e7eb4d..de19ab74e84300 100644 --- a/tools/node_modules/@babel/core/node_modules/@babel/types/lib/comments/addComment.js +++ b/tools/node_modules/@babel/core/node_modules/@babel/types/lib/comments/addComment.js @@ -5,9 +5,7 @@ Object.defineProperty(exports, "__esModule", { }); exports.default = addComment; -var _addComments = _interopRequireDefault(require("./addComments")); - -function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } +var _addComments = require("./addComments"); function addComment(node, type, content, line) { return (0, _addComments.default)(node, type, [{ diff --git a/tools/node_modules/@babel/core/node_modules/@babel/types/lib/comments/inheritInnerComments.js b/tools/node_modules/@babel/core/node_modules/@babel/types/lib/comments/inheritInnerComments.js index fbe59dec623663..4b5dc9cac2bdbe 100644 --- a/tools/node_modules/@babel/core/node_modules/@babel/types/lib/comments/inheritInnerComments.js +++ b/tools/node_modules/@babel/core/node_modules/@babel/types/lib/comments/inheritInnerComments.js @@ -5,9 +5,7 @@ Object.defineProperty(exports, "__esModule", { }); exports.default = inheritInnerComments; -var _inherit = _interopRequireDefault(require("../utils/inherit")); - -function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } +var _inherit = require("../utils/inherit"); function inheritInnerComments(child, parent) { (0, _inherit.default)("innerComments", child, parent); diff --git a/tools/node_modules/@babel/core/node_modules/@babel/types/lib/comments/inheritLeadingComments.js b/tools/node_modules/@babel/core/node_modules/@babel/types/lib/comments/inheritLeadingComments.js index ccb02ec55bef0e..6aa2b250290592 100644 --- a/tools/node_modules/@babel/core/node_modules/@babel/types/lib/comments/inheritLeadingComments.js +++ b/tools/node_modules/@babel/core/node_modules/@babel/types/lib/comments/inheritLeadingComments.js @@ -5,9 +5,7 @@ Object.defineProperty(exports, "__esModule", { }); exports.default = inheritLeadingComments; -var _inherit = _interopRequireDefault(require("../utils/inherit")); - -function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } +var _inherit = require("../utils/inherit"); function inheritLeadingComments(child, parent) { (0, _inherit.default)("leadingComments", child, parent); diff --git a/tools/node_modules/@babel/core/node_modules/@babel/types/lib/comments/inheritTrailingComments.js b/tools/node_modules/@babel/core/node_modules/@babel/types/lib/comments/inheritTrailingComments.js index bce1e2d9ac77a6..934ef0b9cada92 100644 --- a/tools/node_modules/@babel/core/node_modules/@babel/types/lib/comments/inheritTrailingComments.js +++ b/tools/node_modules/@babel/core/node_modules/@babel/types/lib/comments/inheritTrailingComments.js @@ -5,9 +5,7 @@ Object.defineProperty(exports, "__esModule", { }); exports.default = inheritTrailingComments; -var _inherit = _interopRequireDefault(require("../utils/inherit")); - -function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } +var _inherit = require("../utils/inherit"); function inheritTrailingComments(child, parent) { (0, _inherit.default)("trailingComments", child, parent); diff --git a/tools/node_modules/@babel/core/node_modules/@babel/types/lib/comments/inheritsComments.js b/tools/node_modules/@babel/core/node_modules/@babel/types/lib/comments/inheritsComments.js index fd942d86cdc54b..49476cffd955a0 100644 --- a/tools/node_modules/@babel/core/node_modules/@babel/types/lib/comments/inheritsComments.js +++ b/tools/node_modules/@babel/core/node_modules/@babel/types/lib/comments/inheritsComments.js @@ -5,13 +5,11 @@ Object.defineProperty(exports, "__esModule", { }); exports.default = inheritsComments; -var _inheritTrailingComments = _interopRequireDefault(require("./inheritTrailingComments")); +var _inheritTrailingComments = require("./inheritTrailingComments"); -var _inheritLeadingComments = _interopRequireDefault(require("./inheritLeadingComments")); +var _inheritLeadingComments = require("./inheritLeadingComments"); -var _inheritInnerComments = _interopRequireDefault(require("./inheritInnerComments")); - -function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } +var _inheritInnerComments = require("./inheritInnerComments"); function inheritsComments(child, parent) { (0, _inheritTrailingComments.default)(child, parent); diff --git a/tools/node_modules/@babel/core/node_modules/@babel/types/lib/converters/ensureBlock.js b/tools/node_modules/@babel/core/node_modules/@babel/types/lib/converters/ensureBlock.js index 2836b3657814f7..56fdf1fdb4367d 100644 --- a/tools/node_modules/@babel/core/node_modules/@babel/types/lib/converters/ensureBlock.js +++ b/tools/node_modules/@babel/core/node_modules/@babel/types/lib/converters/ensureBlock.js @@ -5,9 +5,7 @@ Object.defineProperty(exports, "__esModule", { }); exports.default = ensureBlock; -var _toBlock = _interopRequireDefault(require("./toBlock")); - -function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } +var _toBlock = require("./toBlock"); function ensureBlock(node, key = "body") { return node[key] = (0, _toBlock.default)(node[key], node); diff --git a/tools/node_modules/@babel/core/node_modules/@babel/types/lib/converters/gatherSequenceExpressions.js b/tools/node_modules/@babel/core/node_modules/@babel/types/lib/converters/gatherSequenceExpressions.js index bae4e8f380c48b..379e5ffe099853 100644 --- a/tools/node_modules/@babel/core/node_modules/@babel/types/lib/converters/gatherSequenceExpressions.js +++ b/tools/node_modules/@babel/core/node_modules/@babel/types/lib/converters/gatherSequenceExpressions.js @@ -5,15 +5,13 @@ Object.defineProperty(exports, "__esModule", { }); exports.default = gatherSequenceExpressions; -var _getBindingIdentifiers = _interopRequireDefault(require("../retrievers/getBindingIdentifiers")); +var _getBindingIdentifiers = require("../retrievers/getBindingIdentifiers"); var _generated = require("../validators/generated"); var _generated2 = require("../builders/generated"); -var _cloneNode = _interopRequireDefault(require("../clone/cloneNode")); - -function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } +var _cloneNode = require("../clone/cloneNode"); function gatherSequenceExpressions(nodes, scope, declars) { const exprs = []; diff --git a/tools/node_modules/@babel/core/node_modules/@babel/types/lib/converters/toBindingIdentifierName.js b/tools/node_modules/@babel/core/node_modules/@babel/types/lib/converters/toBindingIdentifierName.js index b9d165b6fd1d20..6bbce6e557806e 100644 --- a/tools/node_modules/@babel/core/node_modules/@babel/types/lib/converters/toBindingIdentifierName.js +++ b/tools/node_modules/@babel/core/node_modules/@babel/types/lib/converters/toBindingIdentifierName.js @@ -5,9 +5,7 @@ Object.defineProperty(exports, "__esModule", { }); exports.default = toBindingIdentifierName; -var _toIdentifier = _interopRequireDefault(require("./toIdentifier")); - -function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } +var _toIdentifier = require("./toIdentifier"); function toBindingIdentifierName(name) { name = (0, _toIdentifier.default)(name); diff --git a/tools/node_modules/@babel/core/node_modules/@babel/types/lib/converters/toIdentifier.js b/tools/node_modules/@babel/core/node_modules/@babel/types/lib/converters/toIdentifier.js index e55db41fc4fd17..2fd4028d2dbb35 100644 --- a/tools/node_modules/@babel/core/node_modules/@babel/types/lib/converters/toIdentifier.js +++ b/tools/node_modules/@babel/core/node_modules/@babel/types/lib/converters/toIdentifier.js @@ -5,13 +5,18 @@ Object.defineProperty(exports, "__esModule", { }); exports.default = toIdentifier; -var _isValidIdentifier = _interopRequireDefault(require("../validators/isValidIdentifier")); +var _isValidIdentifier = require("../validators/isValidIdentifier"); -function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } +var _helperValidatorIdentifier = require("@babel/helper-validator-identifier"); + +function toIdentifier(input) { + input = input + ""; + let name = ""; + + for (const c of input) { + name += (0, _helperValidatorIdentifier.isIdentifierChar)(c.codePointAt(0)) ? c : "-"; + } -function toIdentifier(name) { - name = name + ""; - name = name.replace(/[^a-zA-Z0-9$_]/g, "-"); name = name.replace(/^[-0-9]+/, ""); name = name.replace(/[-\s]+(.)?/g, function (match, c) { return c ? c.toUpperCase() : ""; diff --git a/tools/node_modules/@babel/core/node_modules/@babel/types/lib/converters/toKeyAlias.js b/tools/node_modules/@babel/core/node_modules/@babel/types/lib/converters/toKeyAlias.js index c48fd0e7f319e2..49ef4b8ad64abe 100644 --- a/tools/node_modules/@babel/core/node_modules/@babel/types/lib/converters/toKeyAlias.js +++ b/tools/node_modules/@babel/core/node_modules/@babel/types/lib/converters/toKeyAlias.js @@ -7,11 +7,9 @@ exports.default = toKeyAlias; var _generated = require("../validators/generated"); -var _cloneNode = _interopRequireDefault(require("../clone/cloneNode")); +var _cloneNode = require("../clone/cloneNode"); -var _removePropertiesDeep = _interopRequireDefault(require("../modifications/removePropertiesDeep")); - -function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } +var _removePropertiesDeep = require("../modifications/removePropertiesDeep"); function toKeyAlias(node, key = node.key) { let alias; diff --git a/tools/node_modules/@babel/core/node_modules/@babel/types/lib/converters/toSequenceExpression.js b/tools/node_modules/@babel/core/node_modules/@babel/types/lib/converters/toSequenceExpression.js index 4b61276ce6330d..c3d3133ecf39f5 100644 --- a/tools/node_modules/@babel/core/node_modules/@babel/types/lib/converters/toSequenceExpression.js +++ b/tools/node_modules/@babel/core/node_modules/@babel/types/lib/converters/toSequenceExpression.js @@ -5,12 +5,10 @@ Object.defineProperty(exports, "__esModule", { }); exports.default = toSequenceExpression; -var _gatherSequenceExpressions = _interopRequireDefault(require("./gatherSequenceExpressions")); - -function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } +var _gatherSequenceExpressions = require("./gatherSequenceExpressions"); function toSequenceExpression(nodes, scope) { - if (!(nodes == null ? void 0 : nodes.length)) return; + if (!(nodes != null && nodes.length)) return; const declars = []; const result = (0, _gatherSequenceExpressions.default)(nodes, scope, declars); if (!result) return; diff --git a/tools/node_modules/@babel/core/node_modules/@babel/types/lib/converters/valueToNode.js b/tools/node_modules/@babel/core/node_modules/@babel/types/lib/converters/valueToNode.js index 95c3061ba5c3fd..b3e531b3551278 100644 --- a/tools/node_modules/@babel/core/node_modules/@babel/types/lib/converters/valueToNode.js +++ b/tools/node_modules/@babel/core/node_modules/@babel/types/lib/converters/valueToNode.js @@ -5,18 +5,26 @@ Object.defineProperty(exports, "__esModule", { }); exports.default = void 0; -var _isPlainObject = _interopRequireDefault(require("lodash/isPlainObject")); - -var _isRegExp = _interopRequireDefault(require("lodash/isRegExp")); - -var _isValidIdentifier = _interopRequireDefault(require("../validators/isValidIdentifier")); +var _isValidIdentifier = require("../validators/isValidIdentifier"); var _generated = require("../builders/generated"); -function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } - var _default = valueToNode; exports.default = _default; +const objectToString = Function.call.bind(Object.prototype.toString); + +function isRegExp(value) { + return objectToString(value) === "[object RegExp]"; +} + +function isPlainObject(value) { + if (typeof value !== "object" || value === null || Object.prototype.toString.call(value) !== "[object Object]") { + return false; + } + + const proto = Object.getPrototypeOf(value); + return proto === null || Object.getPrototypeOf(proto) === null; +} function valueToNode(value) { if (value === undefined) { @@ -59,7 +67,7 @@ function valueToNode(value) { return result; } - if ((0, _isRegExp.default)(value)) { + if (isRegExp(value)) { const pattern = value.source; const flags = value.toString().match(/\/([a-z]+|)$/)[1]; return (0, _generated.regExpLiteral)(pattern, flags); @@ -69,7 +77,7 @@ function valueToNode(value) { return (0, _generated.arrayExpression)(value.map(valueToNode)); } - if ((0, _isPlainObject.default)(value)) { + if (isPlainObject(value)) { const props = []; for (const key of Object.keys(value)) { diff --git a/tools/node_modules/@babel/core/node_modules/@babel/types/lib/definitions/core.js b/tools/node_modules/@babel/core/node_modules/@babel/types/lib/definitions/core.js index daa22190b34461..a88d57fd589c36 100644 --- a/tools/node_modules/@babel/core/node_modules/@babel/types/lib/definitions/core.js +++ b/tools/node_modules/@babel/core/node_modules/@babel/types/lib/definitions/core.js @@ -5,21 +5,15 @@ Object.defineProperty(exports, "__esModule", { }); exports.classMethodOrDeclareMethodCommon = exports.classMethodOrPropertyCommon = exports.patternLikeCommon = exports.functionDeclarationCommon = exports.functionTypeAnnotationCommon = exports.functionCommon = void 0; -var _is = _interopRequireDefault(require("../validators/is")); +var _is = require("../validators/is"); -var _isValidIdentifier = _interopRequireDefault(require("../validators/isValidIdentifier")); +var _isValidIdentifier = require("../validators/isValidIdentifier"); var _helperValidatorIdentifier = require("@babel/helper-validator-identifier"); var _constants = require("../constants"); -var _utils = _interopRequireWildcard(require("./utils")); - -function _getRequireWildcardCache() { if (typeof WeakMap !== "function") return null; var cache = new WeakMap(); _getRequireWildcardCache = function () { return cache; }; return cache; } - -function _interopRequireWildcard(obj) { if (obj && obj.__esModule) { return obj; } if (obj === null || typeof obj !== "object" && typeof obj !== "function") { return { default: obj }; } var cache = _getRequireWildcardCache(); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj.default = obj; if (cache) { cache.set(obj, newObj); } return newObj; } - -function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } +var _utils = require("./utils"); (0, _utils.default)("ArrayExpression", { fields: { @@ -286,7 +280,7 @@ function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { de }); const functionCommon = { params: { - validate: (0, _utils.chain)((0, _utils.assertValueType)("array"), (0, _utils.assertEach)((0, _utils.assertNodeType)("Identifier", "Pattern", "RestElement", "TSParameterProperty"))) + validate: (0, _utils.chain)((0, _utils.assertValueType)("array"), (0, _utils.assertEach)((0, _utils.assertNodeType)("Identifier", "Pattern", "RestElement"))) }, generator: { default: false @@ -514,7 +508,7 @@ exports.patternLikeCommon = patternLikeCommon; } }); (0, _utils.default)("MemberExpression", { - builder: ["object", "property", "computed", "optional"], + builder: ["object", "property", "computed", ...(!process.env.BABEL_TYPES_8_BREAKING ? ["optional"] : [])], visitor: ["object", "property"], aliases: ["Expression", "LVal"], fields: Object.assign({ @@ -1055,7 +1049,7 @@ exports.patternLikeCommon = patternLikeCommon; exportKind: (0, _utils.validateOptional)((0, _utils.assertOneOf)("type", "value")), assertions: { optional: true, - validate: (0, _utils.chain)((0, _utils.assertValueType)("array"), (0, _utils.assertNodeType)("ImportAttribute")) + validate: (0, _utils.chain)((0, _utils.assertValueType)("array"), (0, _utils.assertEach)((0, _utils.assertNodeType)("ImportAttribute"))) } } }); @@ -1092,7 +1086,7 @@ exports.patternLikeCommon = patternLikeCommon; }, assertions: { optional: true, - validate: (0, _utils.chain)((0, _utils.assertValueType)("array"), (0, _utils.assertNodeType)("ImportAttribute")) + validate: (0, _utils.chain)((0, _utils.assertValueType)("array"), (0, _utils.assertEach)((0, _utils.assertNodeType)("ImportAttribute"))) }, specifiers: { default: [], @@ -1164,7 +1158,7 @@ exports.patternLikeCommon = patternLikeCommon; fields: { assertions: { optional: true, - validate: (0, _utils.chain)((0, _utils.assertValueType)("array"), (0, _utils.assertNodeType)("ImportAttribute")) + validate: (0, _utils.chain)((0, _utils.assertValueType)("array"), (0, _utils.assertEach)((0, _utils.assertNodeType)("ImportAttribute"))) }, specifiers: { validate: (0, _utils.chain)((0, _utils.assertValueType)("array"), (0, _utils.assertEach)((0, _utils.assertNodeType)("ImportSpecifier", "ImportDefaultSpecifier", "ImportNamespaceSpecifier"))) @@ -1261,6 +1255,9 @@ const classMethodOrPropertyCommon = { static: { default: false }, + override: { + default: false + }, computed: { default: false }, @@ -1281,6 +1278,9 @@ const classMethodOrPropertyCommon = { }; exports.classMethodOrPropertyCommon = classMethodOrPropertyCommon; const classMethodOrDeclareMethodCommon = Object.assign({}, functionCommon, classMethodOrPropertyCommon, { + params: { + validate: (0, _utils.chain)((0, _utils.assertValueType)("array"), (0, _utils.assertEach)((0, _utils.assertNodeType)("Identifier", "Pattern", "RestElement", "TSParameterProperty"))) + }, kind: { validate: (0, _utils.assertOneOf)("get", "set", "method", "constructor"), default: "method" diff --git a/tools/node_modules/@babel/core/node_modules/@babel/types/lib/definitions/experimental.js b/tools/node_modules/@babel/core/node_modules/@babel/types/lib/definitions/experimental.js index 5ed7ba92c9364b..8fead2353a5585 100644 --- a/tools/node_modules/@babel/core/node_modules/@babel/types/lib/definitions/experimental.js +++ b/tools/node_modules/@babel/core/node_modules/@babel/types/lib/definitions/experimental.js @@ -1,13 +1,9 @@ "use strict"; -var _utils = _interopRequireWildcard(require("./utils")); +var _utils = require("./utils"); var _core = require("./core"); -function _getRequireWildcardCache() { if (typeof WeakMap !== "function") return null; var cache = new WeakMap(); _getRequireWildcardCache = function () { return cache; }; return cache; } - -function _interopRequireWildcard(obj) { if (obj && obj.__esModule) { return obj; } if (obj === null || typeof obj !== "object" && typeof obj !== "function") { return { default: obj }; } var cache = _getRequireWildcardCache(); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj.default = obj; if (cache) { cache.set(obj, newObj); } return newObj; } - (0, _utils.default)("ArgumentPlaceholder", {}); (0, _utils.default)("BindExpression", { visitor: ["object", "callee"], @@ -140,10 +136,15 @@ function _interopRequireWildcard(obj) { if (obj && obj.__esModule) { return obj; }); (0, _utils.default)("DoExpression", { visitor: ["body"], + builder: ["body", "async"], aliases: ["Expression"], fields: { body: { validate: (0, _utils.assertNodeType)("BlockStatement") + }, + async: { + validate: (0, _utils.assertValueType)("boolean"), + default: false } } }); @@ -201,4 +202,13 @@ function _interopRequireWildcard(obj) { if (obj && obj.__esModule) { return obj; } }, aliases: ["Scopable", "BlockParent"] +}); +(0, _utils.default)("ModuleExpression", { + visitor: ["body"], + fields: { + body: { + validate: (0, _utils.assertNodeType)("Program") + } + }, + aliases: ["Expression"] }); \ No newline at end of file diff --git a/tools/node_modules/@babel/core/node_modules/@babel/types/lib/definitions/flow.js b/tools/node_modules/@babel/core/node_modules/@babel/types/lib/definitions/flow.js index 15341a7b01228a..f7bd8189d0c93a 100644 --- a/tools/node_modules/@babel/core/node_modules/@babel/types/lib/definitions/flow.js +++ b/tools/node_modules/@babel/core/node_modules/@babel/types/lib/definitions/flow.js @@ -1,10 +1,6 @@ "use strict"; -var _utils = _interopRequireWildcard(require("./utils")); - -function _getRequireWildcardCache() { if (typeof WeakMap !== "function") return null; var cache = new WeakMap(); _getRequireWildcardCache = function () { return cache; }; return cache; } - -function _interopRequireWildcard(obj) { if (obj && obj.__esModule) { return obj; } if (obj === null || typeof obj !== "object" && typeof obj !== "function") { return { default: obj }; } var cache = _getRequireWildcardCache(); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj.default = obj; if (cache) { cache.set(obj, newObj); } return newObj; } +var _utils = require("./utils"); const defineInterfaceishType = (name, typeParameterType = "TypeParameterDeclaration") => { (0, _utils.default)(name, { @@ -140,6 +136,7 @@ defineInterfaceishType("DeclareInterface"); typeParameters: (0, _utils.validateOptionalType)("TypeParameterDeclaration"), params: (0, _utils.validate)((0, _utils.arrayOfType)("FunctionTypeParam")), rest: (0, _utils.validateOptionalType)("FunctionTypeParam"), + this: (0, _utils.validateOptionalType)("FunctionTypeParam"), returnType: (0, _utils.validateType)("FlowType") } }); @@ -403,7 +400,8 @@ defineInterfaceishType("InterfaceDeclaration"); visitor: ["members"], fields: { explicitType: (0, _utils.validate)((0, _utils.assertValueType)("boolean")), - members: (0, _utils.validateArrayOfType)("EnumBooleanMember") + members: (0, _utils.validateArrayOfType)("EnumBooleanMember"), + hasUnknownMembers: (0, _utils.validate)((0, _utils.assertValueType)("boolean")) } }); (0, _utils.default)("EnumNumberBody", { @@ -411,7 +409,8 @@ defineInterfaceishType("InterfaceDeclaration"); visitor: ["members"], fields: { explicitType: (0, _utils.validate)((0, _utils.assertValueType)("boolean")), - members: (0, _utils.validateArrayOfType)("EnumNumberMember") + members: (0, _utils.validateArrayOfType)("EnumNumberMember"), + hasUnknownMembers: (0, _utils.validate)((0, _utils.assertValueType)("boolean")) } }); (0, _utils.default)("EnumStringBody", { @@ -419,14 +418,16 @@ defineInterfaceishType("InterfaceDeclaration"); visitor: ["members"], fields: { explicitType: (0, _utils.validate)((0, _utils.assertValueType)("boolean")), - members: (0, _utils.validateArrayOfType)(["EnumStringMember", "EnumDefaultedMember"]) + members: (0, _utils.validateArrayOfType)(["EnumStringMember", "EnumDefaultedMember"]), + hasUnknownMembers: (0, _utils.validate)((0, _utils.assertValueType)("boolean")) } }); (0, _utils.default)("EnumSymbolBody", { aliases: ["EnumBody"], visitor: ["members"], fields: { - members: (0, _utils.validateArrayOfType)("EnumDefaultedMember") + members: (0, _utils.validateArrayOfType)("EnumDefaultedMember"), + hasUnknownMembers: (0, _utils.validate)((0, _utils.assertValueType)("boolean")) } }); (0, _utils.default)("EnumBooleanMember", { @@ -459,4 +460,21 @@ defineInterfaceishType("InterfaceDeclaration"); fields: { id: (0, _utils.validateType)("Identifier") } +}); +(0, _utils.default)("IndexedAccessType", { + visitor: ["objectType", "indexType"], + aliases: ["Flow", "FlowType"], + fields: { + objectType: (0, _utils.validateType)("FlowType"), + indexType: (0, _utils.validateType)("FlowType") + } +}); +(0, _utils.default)("OptionalIndexedAccessType", { + visitor: ["objectType", "indexType"], + aliases: ["Flow", "FlowType"], + fields: { + objectType: (0, _utils.validateType)("FlowType"), + indexType: (0, _utils.validateType)("FlowType"), + optional: (0, _utils.validate)((0, _utils.assertValueType)("boolean")) + } }); \ No newline at end of file diff --git a/tools/node_modules/@babel/core/node_modules/@babel/types/lib/definitions/index.js b/tools/node_modules/@babel/core/node_modules/@babel/types/lib/definitions/index.js index d69997f29319d7..897fc24d3610b9 100644 --- a/tools/node_modules/@babel/core/node_modules/@babel/types/lib/definitions/index.js +++ b/tools/node_modules/@babel/core/node_modules/@babel/types/lib/definitions/index.js @@ -65,7 +65,7 @@ Object.defineProperty(exports, "PLACEHOLDERS_FLIPPED_ALIAS", { }); exports.TYPES = void 0; -var _toFastProperties = _interopRequireDefault(require("to-fast-properties")); +var _toFastProperties = require("to-fast-properties"); require("./core"); @@ -83,15 +83,21 @@ var _utils = require("./utils"); var _placeholders = require("./placeholders"); -function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } +_toFastProperties(_utils.VISITOR_KEYS); + +_toFastProperties(_utils.ALIAS_KEYS); + +_toFastProperties(_utils.FLIPPED_ALIAS_KEYS); + +_toFastProperties(_utils.NODE_FIELDS); + +_toFastProperties(_utils.BUILDER_KEYS); + +_toFastProperties(_utils.DEPRECATED_KEYS); + +_toFastProperties(_placeholders.PLACEHOLDERS_ALIAS); + +_toFastProperties(_placeholders.PLACEHOLDERS_FLIPPED_ALIAS); -(0, _toFastProperties.default)(_utils.VISITOR_KEYS); -(0, _toFastProperties.default)(_utils.ALIAS_KEYS); -(0, _toFastProperties.default)(_utils.FLIPPED_ALIAS_KEYS); -(0, _toFastProperties.default)(_utils.NODE_FIELDS); -(0, _toFastProperties.default)(_utils.BUILDER_KEYS); -(0, _toFastProperties.default)(_utils.DEPRECATED_KEYS); -(0, _toFastProperties.default)(_placeholders.PLACEHOLDERS_ALIAS); -(0, _toFastProperties.default)(_placeholders.PLACEHOLDERS_FLIPPED_ALIAS); const TYPES = Object.keys(_utils.VISITOR_KEYS).concat(Object.keys(_utils.FLIPPED_ALIAS_KEYS)).concat(Object.keys(_utils.DEPRECATED_KEYS)); exports.TYPES = TYPES; \ No newline at end of file diff --git a/tools/node_modules/@babel/core/node_modules/@babel/types/lib/definitions/jsx.js b/tools/node_modules/@babel/core/node_modules/@babel/types/lib/definitions/jsx.js index cdea06ba39593a..fc8e9071c37c8d 100644 --- a/tools/node_modules/@babel/core/node_modules/@babel/types/lib/definitions/jsx.js +++ b/tools/node_modules/@babel/core/node_modules/@babel/types/lib/definitions/jsx.js @@ -1,10 +1,6 @@ "use strict"; -var _utils = _interopRequireWildcard(require("./utils")); - -function _getRequireWildcardCache() { if (typeof WeakMap !== "function") return null; var cache = new WeakMap(); _getRequireWildcardCache = function () { return cache; }; return cache; } - -function _interopRequireWildcard(obj) { if (obj && obj.__esModule) { return obj; } if (obj === null || typeof obj !== "object" && typeof obj !== "function") { return { default: obj }; } var cache = _getRequireWildcardCache(); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj.default = obj; if (cache) { cache.set(obj, newObj); } return newObj; } +var _utils = require("./utils"); (0, _utils.default)("JSXAttribute", { visitor: ["name", "value"], diff --git a/tools/node_modules/@babel/core/node_modules/@babel/types/lib/definitions/misc.js b/tools/node_modules/@babel/core/node_modules/@babel/types/lib/definitions/misc.js index f72c651151f7cb..d8d79b9640b674 100644 --- a/tools/node_modules/@babel/core/node_modules/@babel/types/lib/definitions/misc.js +++ b/tools/node_modules/@babel/core/node_modules/@babel/types/lib/definitions/misc.js @@ -1,16 +1,14 @@ "use strict"; -var _utils = _interopRequireWildcard(require("./utils")); +var _utils = require("./utils"); var _placeholders = require("./placeholders"); -function _getRequireWildcardCache() { if (typeof WeakMap !== "function") return null; var cache = new WeakMap(); _getRequireWildcardCache = function () { return cache; }; return cache; } - -function _interopRequireWildcard(obj) { if (obj && obj.__esModule) { return obj; } if (obj === null || typeof obj !== "object" && typeof obj !== "function") { return { default: obj }; } var cache = _getRequireWildcardCache(); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj.default = obj; if (cache) { cache.set(obj, newObj); } return newObj; } - -(0, _utils.default)("Noop", { - visitor: [] -}); +{ + (0, _utils.default)("Noop", { + visitor: [] + }); +} (0, _utils.default)("Placeholder", { visitor: [], builder: ["expectedNode", "name"], diff --git a/tools/node_modules/@babel/core/node_modules/@babel/types/lib/definitions/placeholders.js b/tools/node_modules/@babel/core/node_modules/@babel/types/lib/definitions/placeholders.js index 52b52e5e80b14e..7277239ae4101f 100644 --- a/tools/node_modules/@babel/core/node_modules/@babel/types/lib/definitions/placeholders.js +++ b/tools/node_modules/@babel/core/node_modules/@babel/types/lib/definitions/placeholders.js @@ -17,7 +17,7 @@ exports.PLACEHOLDERS_ALIAS = PLACEHOLDERS_ALIAS; for (const type of PLACEHOLDERS) { const alias = _utils.ALIAS_KEYS[type]; - if (alias == null ? void 0 : alias.length) PLACEHOLDERS_ALIAS[type] = alias; + if (alias != null && alias.length) PLACEHOLDERS_ALIAS[type] = alias; } const PLACEHOLDERS_FLIPPED_ALIAS = {}; diff --git a/tools/node_modules/@babel/core/node_modules/@babel/types/lib/definitions/typescript.js b/tools/node_modules/@babel/core/node_modules/@babel/types/lib/definitions/typescript.js index c8d1dc53949515..974696cdb50b17 100644 --- a/tools/node_modules/@babel/core/node_modules/@babel/types/lib/definitions/typescript.js +++ b/tools/node_modules/@babel/core/node_modules/@babel/types/lib/definitions/typescript.js @@ -1,13 +1,9 @@ "use strict"; -var _utils = _interopRequireWildcard(require("./utils")); +var _utils = require("./utils"); var _core = require("./core"); -function _getRequireWildcardCache() { if (typeof WeakMap !== "function") return null; var cache = new WeakMap(); _getRequireWildcardCache = function () { return cache; }; return cache; } - -function _interopRequireWildcard(obj) { if (obj && obj.__esModule) { return obj; } if (obj === null || typeof obj !== "object" && typeof obj !== "function") { return { default: obj }; } var cache = _getRequireWildcardCache(); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj.default = obj; if (cache) { cache.set(obj, newObj); } return newObj; } - const bool = (0, _utils.assertValueType)("boolean"); const tSFunctionTypeAnnotationCommon = { returnType: { @@ -82,13 +78,18 @@ const namedTypeElementCommon = { (0, _utils.default)("TSMethodSignature", { aliases: ["TSTypeElement"], visitor: ["key", "typeParameters", "parameters", "typeAnnotation"], - fields: Object.assign({}, signatureDeclarationCommon, namedTypeElementCommon) + fields: Object.assign({}, signatureDeclarationCommon, namedTypeElementCommon, { + kind: { + validate: (0, _utils.assertOneOf)("method", "get", "set") + } + }) }); (0, _utils.default)("TSIndexSignature", { aliases: ["TSTypeElement"], visitor: ["parameters", "typeAnnotation"], fields: { readonly: (0, _utils.validateOptional)(bool), + static: (0, _utils.validateOptional)(bool), parameters: (0, _utils.validateArrayOfType)("Identifier"), typeAnnotation: (0, _utils.validateOptionalType)("TSTypeAnnotation") } @@ -108,13 +109,18 @@ for (const type of tsKeywordTypes) { visitor: [], fields: {} }); -const fnOrCtr = { +const fnOrCtrBase = { aliases: ["TSType"], - visitor: ["typeParameters", "parameters", "typeAnnotation"], - fields: signatureDeclarationCommon + visitor: ["typeParameters", "parameters", "typeAnnotation"] }; -(0, _utils.default)("TSFunctionType", fnOrCtr); -(0, _utils.default)("TSConstructorType", fnOrCtr); +(0, _utils.default)("TSFunctionType", Object.assign({}, fnOrCtrBase, { + fields: signatureDeclarationCommon +})); +(0, _utils.default)("TSConstructorType", Object.assign({}, fnOrCtrBase, { + fields: Object.assign({}, signatureDeclarationCommon, { + abstract: (0, _utils.validateOptional)(bool) + }) +})); (0, _utils.default)("TSTypeReference", { aliases: ["TSType"], visitor: ["typeName", "typeParameters"], diff --git a/tools/node_modules/@babel/core/node_modules/@babel/types/lib/definitions/utils.js b/tools/node_modules/@babel/core/node_modules/@babel/types/lib/definitions/utils.js index 9059ca7f0611b9..2acdae532aaa13 100644 --- a/tools/node_modules/@babel/core/node_modules/@babel/types/lib/definitions/utils.js +++ b/tools/node_modules/@babel/core/node_modules/@babel/types/lib/definitions/utils.js @@ -22,12 +22,10 @@ exports.chain = chain; exports.default = defineType; exports.NODE_PARENT_VALIDATIONS = exports.DEPRECATED_KEYS = exports.BUILDER_KEYS = exports.NODE_FIELDS = exports.FLIPPED_ALIAS_KEYS = exports.ALIAS_KEYS = exports.VISITOR_KEYS = void 0; -var _is = _interopRequireDefault(require("../validators/is")); +var _is = require("../validators/is"); var _validate = require("../validators/validate"); -function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } - const VISITOR_KEYS = {}; exports.VISITOR_KEYS = VISITOR_KEYS; const ALIAS_KEYS = {}; @@ -224,13 +222,18 @@ function assertOptionalChainStart() { } function chain(...fns) { - const validate = function (...args) { + function validate(...args) { for (const fn of fns) { fn(...args); } - }; + } validate.chainOf = fns; + + if (fns.length >= 2 && "type" in fns[0] && fns[0].type === "array" && !("each" in fns[1])) { + throw new Error(`An assertValueType("array") validator can only be followed by an assertEach(...) validator.`); + } + return validate; } @@ -249,8 +252,14 @@ function defineType(type, opts = {}) { for (const key of keys) { const field = inherits.fields[key]; + const def = field.default; + + if (Array.isArray(def) ? def.length > 0 : def && typeof def === "object") { + throw new Error("field defaults can only be primitives or empty arrays currently"); + } + fields[key] = { - default: field.default, + default: Array.isArray(def) ? [] : def, optional: field.optional, validate: field.validate }; diff --git a/tools/node_modules/@babel/core/node_modules/@babel/types/lib/index.js b/tools/node_modules/@babel/core/node_modules/@babel/types/lib/index.js index 5650d39806a3fa..6fd730b5223497 100644 --- a/tools/node_modules/@babel/core/node_modules/@babel/types/lib/index.js +++ b/tools/node_modules/@babel/core/node_modules/@babel/types/lib/index.js @@ -400,13 +400,13 @@ Object.defineProperty(exports, "buildMatchMemberExpression", { }); exports.react = void 0; -var _isReactComponent = _interopRequireDefault(require("./validators/react/isReactComponent")); +var _isReactComponent = require("./validators/react/isReactComponent"); -var _isCompatTag = _interopRequireDefault(require("./validators/react/isCompatTag")); +var _isCompatTag = require("./validators/react/isCompatTag"); -var _buildChildren = _interopRequireDefault(require("./builders/react/buildChildren")); +var _buildChildren = require("./builders/react/buildChildren"); -var _assertNode = _interopRequireDefault(require("./asserts/assertNode")); +var _assertNode = require("./asserts/assertNode"); var _generated = require("./asserts/generated"); @@ -422,11 +422,11 @@ Object.keys(_generated).forEach(function (key) { }); }); -var _createTypeAnnotationBasedOnTypeof = _interopRequireDefault(require("./builders/flow/createTypeAnnotationBasedOnTypeof")); +var _createTypeAnnotationBasedOnTypeof = require("./builders/flow/createTypeAnnotationBasedOnTypeof"); -var _createFlowUnionType = _interopRequireDefault(require("./builders/flow/createFlowUnionType")); +var _createFlowUnionType = require("./builders/flow/createFlowUnionType"); -var _createTSUnionType = _interopRequireDefault(require("./builders/typescript/createTSUnionType")); +var _createTSUnionType = require("./builders/typescript/createTSUnionType"); var _generated2 = require("./builders/generated"); @@ -456,29 +456,29 @@ Object.keys(_uppercase).forEach(function (key) { }); }); -var _cloneNode = _interopRequireDefault(require("./clone/cloneNode")); +var _cloneNode = require("./clone/cloneNode"); -var _clone = _interopRequireDefault(require("./clone/clone")); +var _clone = require("./clone/clone"); -var _cloneDeep = _interopRequireDefault(require("./clone/cloneDeep")); +var _cloneDeep = require("./clone/cloneDeep"); -var _cloneDeepWithoutLoc = _interopRequireDefault(require("./clone/cloneDeepWithoutLoc")); +var _cloneDeepWithoutLoc = require("./clone/cloneDeepWithoutLoc"); -var _cloneWithoutLoc = _interopRequireDefault(require("./clone/cloneWithoutLoc")); +var _cloneWithoutLoc = require("./clone/cloneWithoutLoc"); -var _addComment = _interopRequireDefault(require("./comments/addComment")); +var _addComment = require("./comments/addComment"); -var _addComments = _interopRequireDefault(require("./comments/addComments")); +var _addComments = require("./comments/addComments"); -var _inheritInnerComments = _interopRequireDefault(require("./comments/inheritInnerComments")); +var _inheritInnerComments = require("./comments/inheritInnerComments"); -var _inheritLeadingComments = _interopRequireDefault(require("./comments/inheritLeadingComments")); +var _inheritLeadingComments = require("./comments/inheritLeadingComments"); -var _inheritsComments = _interopRequireDefault(require("./comments/inheritsComments")); +var _inheritsComments = require("./comments/inheritsComments"); -var _inheritTrailingComments = _interopRequireDefault(require("./comments/inheritTrailingComments")); +var _inheritTrailingComments = require("./comments/inheritTrailingComments"); -var _removeComments = _interopRequireDefault(require("./comments/removeComments")); +var _removeComments = require("./comments/removeComments"); var _generated3 = require("./constants/generated"); @@ -508,25 +508,25 @@ Object.keys(_constants).forEach(function (key) { }); }); -var _ensureBlock = _interopRequireDefault(require("./converters/ensureBlock")); +var _ensureBlock = require("./converters/ensureBlock"); -var _toBindingIdentifierName = _interopRequireDefault(require("./converters/toBindingIdentifierName")); +var _toBindingIdentifierName = require("./converters/toBindingIdentifierName"); -var _toBlock = _interopRequireDefault(require("./converters/toBlock")); +var _toBlock = require("./converters/toBlock"); -var _toComputedKey = _interopRequireDefault(require("./converters/toComputedKey")); +var _toComputedKey = require("./converters/toComputedKey"); -var _toExpression = _interopRequireDefault(require("./converters/toExpression")); +var _toExpression = require("./converters/toExpression"); -var _toIdentifier = _interopRequireDefault(require("./converters/toIdentifier")); +var _toIdentifier = require("./converters/toIdentifier"); -var _toKeyAlias = _interopRequireDefault(require("./converters/toKeyAlias")); +var _toKeyAlias = require("./converters/toKeyAlias"); -var _toSequenceExpression = _interopRequireDefault(require("./converters/toSequenceExpression")); +var _toSequenceExpression = require("./converters/toSequenceExpression"); -var _toStatement = _interopRequireDefault(require("./converters/toStatement")); +var _toStatement = require("./converters/toStatement"); -var _valueToNode = _interopRequireDefault(require("./converters/valueToNode")); +var _valueToNode = require("./converters/valueToNode"); var _definitions = require("./definitions"); @@ -542,23 +542,23 @@ Object.keys(_definitions).forEach(function (key) { }); }); -var _appendToMemberExpression = _interopRequireDefault(require("./modifications/appendToMemberExpression")); +var _appendToMemberExpression = require("./modifications/appendToMemberExpression"); -var _inherits = _interopRequireDefault(require("./modifications/inherits")); +var _inherits = require("./modifications/inherits"); -var _prependToMemberExpression = _interopRequireDefault(require("./modifications/prependToMemberExpression")); +var _prependToMemberExpression = require("./modifications/prependToMemberExpression"); -var _removeProperties = _interopRequireDefault(require("./modifications/removeProperties")); +var _removeProperties = require("./modifications/removeProperties"); -var _removePropertiesDeep = _interopRequireDefault(require("./modifications/removePropertiesDeep")); +var _removePropertiesDeep = require("./modifications/removePropertiesDeep"); -var _removeTypeDuplicates = _interopRequireDefault(require("./modifications/flow/removeTypeDuplicates")); +var _removeTypeDuplicates = require("./modifications/flow/removeTypeDuplicates"); -var _getBindingIdentifiers = _interopRequireDefault(require("./retrievers/getBindingIdentifiers")); +var _getBindingIdentifiers = require("./retrievers/getBindingIdentifiers"); -var _getOuterBindingIdentifiers = _interopRequireDefault(require("./retrievers/getOuterBindingIdentifiers")); +var _getOuterBindingIdentifiers = require("./retrievers/getOuterBindingIdentifiers"); -var _traverse = _interopRequireWildcard(require("./traverse/traverse")); +var _traverse = require("./traverse/traverse"); Object.keys(_traverse).forEach(function (key) { if (key === "default" || key === "__esModule") return; @@ -572,45 +572,45 @@ Object.keys(_traverse).forEach(function (key) { }); }); -var _traverseFast = _interopRequireDefault(require("./traverse/traverseFast")); +var _traverseFast = require("./traverse/traverseFast"); -var _shallowEqual = _interopRequireDefault(require("./utils/shallowEqual")); +var _shallowEqual = require("./utils/shallowEqual"); -var _is = _interopRequireDefault(require("./validators/is")); +var _is = require("./validators/is"); -var _isBinding = _interopRequireDefault(require("./validators/isBinding")); +var _isBinding = require("./validators/isBinding"); -var _isBlockScoped = _interopRequireDefault(require("./validators/isBlockScoped")); +var _isBlockScoped = require("./validators/isBlockScoped"); -var _isImmutable = _interopRequireDefault(require("./validators/isImmutable")); +var _isImmutable = require("./validators/isImmutable"); -var _isLet = _interopRequireDefault(require("./validators/isLet")); +var _isLet = require("./validators/isLet"); -var _isNode = _interopRequireDefault(require("./validators/isNode")); +var _isNode = require("./validators/isNode"); -var _isNodesEquivalent = _interopRequireDefault(require("./validators/isNodesEquivalent")); +var _isNodesEquivalent = require("./validators/isNodesEquivalent"); -var _isPlaceholderType = _interopRequireDefault(require("./validators/isPlaceholderType")); +var _isPlaceholderType = require("./validators/isPlaceholderType"); -var _isReferenced = _interopRequireDefault(require("./validators/isReferenced")); +var _isReferenced = require("./validators/isReferenced"); -var _isScope = _interopRequireDefault(require("./validators/isScope")); +var _isScope = require("./validators/isScope"); -var _isSpecifierDefault = _interopRequireDefault(require("./validators/isSpecifierDefault")); +var _isSpecifierDefault = require("./validators/isSpecifierDefault"); -var _isType = _interopRequireDefault(require("./validators/isType")); +var _isType = require("./validators/isType"); -var _isValidES3Identifier = _interopRequireDefault(require("./validators/isValidES3Identifier")); +var _isValidES3Identifier = require("./validators/isValidES3Identifier"); -var _isValidIdentifier = _interopRequireDefault(require("./validators/isValidIdentifier")); +var _isValidIdentifier = require("./validators/isValidIdentifier"); -var _isVar = _interopRequireDefault(require("./validators/isVar")); +var _isVar = require("./validators/isVar"); -var _matchesPattern = _interopRequireDefault(require("./validators/matchesPattern")); +var _matchesPattern = require("./validators/matchesPattern"); -var _validate = _interopRequireDefault(require("./validators/validate")); +var _validate = require("./validators/validate"); -var _buildMatchMemberExpression = _interopRequireDefault(require("./validators/buildMatchMemberExpression")); +var _buildMatchMemberExpression = require("./validators/buildMatchMemberExpression"); var _generated4 = require("./validators/generated"); @@ -639,13 +639,6 @@ Object.keys(_generated5).forEach(function (key) { } }); }); - -function _getRequireWildcardCache() { if (typeof WeakMap !== "function") return null; var cache = new WeakMap(); _getRequireWildcardCache = function () { return cache; }; return cache; } - -function _interopRequireWildcard(obj) { if (obj && obj.__esModule) { return obj; } if (obj === null || typeof obj !== "object" && typeof obj !== "function") { return { default: obj }; } var cache = _getRequireWildcardCache(); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj.default = obj; if (cache) { cache.set(obj, newObj); } return newObj; } - -function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } - const react = { isReactComponent: _isReactComponent.default, isCompatTag: _isCompatTag.default, diff --git a/tools/node_modules/@babel/core/node_modules/@babel/types/lib/index.js.flow b/tools/node_modules/@babel/core/node_modules/@babel/types/lib/index.js.flow index 7377915351301e..587c3cddffa0be 100644 --- a/tools/node_modules/@babel/core/node_modules/@babel/types/lib/index.js.flow +++ b/tools/node_modules/@babel/core/node_modules/@babel/types/lib/index.js.flow @@ -154,7 +154,7 @@ declare class BabelNodeForStatement extends BabelNode { declare class BabelNodeFunctionDeclaration extends BabelNode { type: "FunctionDeclaration"; id?: BabelNodeIdentifier; - params: Array; + params: Array; body: BabelNodeBlockStatement; generator?: boolean; async?: boolean; @@ -166,7 +166,7 @@ declare class BabelNodeFunctionDeclaration extends BabelNode { declare class BabelNodeFunctionExpression extends BabelNode { type: "FunctionExpression"; id?: BabelNodeIdentifier; - params: Array; + params: Array; body: BabelNodeBlockStatement; generator?: boolean; async?: boolean; @@ -262,7 +262,7 @@ declare class BabelNodeObjectMethod extends BabelNode { type: "ObjectMethod"; kind?: "method" | "get" | "set"; key: BabelNodeExpression | BabelNodeIdentifier | BabelNodeStringLiteral | BabelNodeNumericLiteral; - params: Array; + params: Array; body: BabelNodeBlockStatement; computed?: boolean; generator?: boolean; @@ -388,7 +388,7 @@ declare class BabelNodeArrayPattern extends BabelNode { declare class BabelNodeArrowFunctionExpression extends BabelNode { type: "ArrowFunctionExpression"; - params: Array; + params: Array; body: BabelNodeBlockStatement | BabelNodeExpression; async?: boolean; expression: boolean; @@ -429,7 +429,7 @@ declare class BabelNodeClassDeclaration extends BabelNode { declare class BabelNodeExportAllDeclaration extends BabelNode { type: "ExportAllDeclaration"; source: BabelNodeStringLiteral; - assertions?: BabelNodeImportAttribute; + assertions?: Array; exportKind?: "type" | "value"; } @@ -443,7 +443,7 @@ declare class BabelNodeExportNamedDeclaration extends BabelNode { declaration?: BabelNodeDeclaration; specifiers?: Array; source?: BabelNodeStringLiteral; - assertions?: BabelNodeImportAttribute; + assertions?: Array; exportKind?: "type" | "value"; } @@ -464,7 +464,7 @@ declare class BabelNodeImportDeclaration extends BabelNode { type: "ImportDeclaration"; specifiers: Array; source: BabelNodeStringLiteral; - assertions?: BabelNodeImportAttribute; + assertions?: Array; importKind?: "type" | "typeof" | "value"; } @@ -505,6 +505,7 @@ declare class BabelNodeClassMethod extends BabelNode { accessibility?: "public" | "private" | "protected"; decorators?: Array; optional?: boolean; + override?: boolean; returnType?: BabelNodeTypeAnnotation | BabelNodeTSTypeAnnotation | BabelNodeNoop; typeParameters?: BabelNodeTypeParameterDeclaration | BabelNodeTSTypeParameterDeclaration | BabelNodeNoop; } @@ -907,23 +908,27 @@ declare class BabelNodeEnumBooleanBody extends BabelNode { type: "EnumBooleanBody"; members: Array; explicitType: boolean; + hasUnknownMembers: boolean; } declare class BabelNodeEnumNumberBody extends BabelNode { type: "EnumNumberBody"; members: Array; explicitType: boolean; + hasUnknownMembers: boolean; } declare class BabelNodeEnumStringBody extends BabelNode { type: "EnumStringBody"; members: Array; explicitType: boolean; + hasUnknownMembers: boolean; } declare class BabelNodeEnumSymbolBody extends BabelNode { type: "EnumSymbolBody"; members: Array; + hasUnknownMembers: boolean; } declare class BabelNodeEnumBooleanMember extends BabelNode { @@ -949,6 +954,19 @@ declare class BabelNodeEnumDefaultedMember extends BabelNode { id: BabelNodeIdentifier; } +declare class BabelNodeIndexedAccessType extends BabelNode { + type: "IndexedAccessType"; + objectType: BabelNodeFlowType; + indexType: BabelNodeFlowType; +} + +declare class BabelNodeOptionalIndexedAccessType extends BabelNode { + type: "OptionalIndexedAccessType"; + objectType: BabelNodeFlowType; + indexType: BabelNodeFlowType; + optional: boolean; +} + declare class BabelNodeJSXAttribute extends BabelNode { type: "JSXAttribute"; name: BabelNodeJSXIdentifier | BabelNodeJSXNamespacedName; @@ -1069,6 +1087,7 @@ declare class BabelNodeClassProperty extends BabelNode { declare?: boolean; definite?: boolean; optional?: boolean; + override?: boolean; readonly?: boolean; } @@ -1108,6 +1127,7 @@ declare class BabelNodeClassPrivateMethod extends BabelNode { decorators?: Array; generator?: boolean; optional?: boolean; + override?: boolean; returnType?: BabelNodeTypeAnnotation | BabelNodeTSTypeAnnotation | BabelNodeNoop; typeParameters?: BabelNodeTypeParameterDeclaration | BabelNodeTSTypeParameterDeclaration | BabelNodeNoop; } @@ -1126,6 +1146,7 @@ declare class BabelNodeDecorator extends BabelNode { declare class BabelNodeDoExpression extends BabelNode { type: "DoExpression"; body: BabelNodeBlockStatement; + async?: boolean; } declare class BabelNodeExportDefaultSpecifier extends BabelNode { @@ -1158,6 +1179,11 @@ declare class BabelNodeStaticBlock extends BabelNode { body: Array; } +declare class BabelNodeModuleExpression extends BabelNode { + type: "ModuleExpression"; + body: BabelNodeProgram; +} + declare class BabelNodeTSParameterProperty extends BabelNode { type: "TSParameterProperty"; parameter: BabelNodeIdentifier | BabelNodeAssignmentPattern; @@ -1169,7 +1195,7 @@ declare class BabelNodeTSDeclareFunction extends BabelNode { type: "TSDeclareFunction"; id?: BabelNodeIdentifier; typeParameters?: BabelNodeTSTypeParameterDeclaration | BabelNodeNoop; - params: Array; + params: Array; returnType?: BabelNodeTSTypeAnnotation | BabelNodeNoop; async?: boolean; declare?: boolean; @@ -1191,6 +1217,7 @@ declare class BabelNodeTSDeclareMethod extends BabelNode { generator?: boolean; kind?: "get" | "set" | "method" | "constructor"; optional?: boolean; + override?: boolean; } declare class BabelNodeTSQualifiedName extends BabelNode { @@ -1230,6 +1257,7 @@ declare class BabelNodeTSMethodSignature extends BabelNode { parameters: Array; typeAnnotation?: BabelNodeTSTypeAnnotation; computed?: boolean; + kind: "method" | "get" | "set"; optional?: boolean; } @@ -1308,6 +1336,7 @@ declare class BabelNodeTSConstructorType extends BabelNode { typeParameters?: BabelNodeTSTypeParameterDeclaration; parameters: Array; typeAnnotation?: BabelNodeTSTypeAnnotation; + abstract?: boolean; } declare class BabelNodeTSTypeReference extends BabelNode { @@ -1535,7 +1564,7 @@ declare class BabelNodeTSTypeParameter extends BabelNode { name: string; } -type BabelNodeExpression = BabelNodeArrayExpression | BabelNodeAssignmentExpression | BabelNodeBinaryExpression | BabelNodeCallExpression | BabelNodeConditionalExpression | BabelNodeFunctionExpression | BabelNodeIdentifier | BabelNodeStringLiteral | BabelNodeNumericLiteral | BabelNodeNullLiteral | BabelNodeBooleanLiteral | BabelNodeRegExpLiteral | BabelNodeLogicalExpression | BabelNodeMemberExpression | BabelNodeNewExpression | BabelNodeObjectExpression | BabelNodeSequenceExpression | BabelNodeParenthesizedExpression | BabelNodeThisExpression | BabelNodeUnaryExpression | BabelNodeUpdateExpression | BabelNodeArrowFunctionExpression | BabelNodeClassExpression | BabelNodeMetaProperty | BabelNodeSuper | BabelNodeTaggedTemplateExpression | BabelNodeTemplateLiteral | BabelNodeYieldExpression | BabelNodeAwaitExpression | BabelNodeImport | BabelNodeBigIntLiteral | BabelNodeOptionalMemberExpression | BabelNodeOptionalCallExpression | BabelNodeTypeCastExpression | BabelNodeJSXElement | BabelNodeJSXFragment | BabelNodeBindExpression | BabelNodePipelinePrimaryTopicReference | BabelNodeDoExpression | BabelNodeRecordExpression | BabelNodeTupleExpression | BabelNodeDecimalLiteral | BabelNodeTSAsExpression | BabelNodeTSTypeAssertion | BabelNodeTSNonNullExpression; +type BabelNodeExpression = BabelNodeArrayExpression | BabelNodeAssignmentExpression | BabelNodeBinaryExpression | BabelNodeCallExpression | BabelNodeConditionalExpression | BabelNodeFunctionExpression | BabelNodeIdentifier | BabelNodeStringLiteral | BabelNodeNumericLiteral | BabelNodeNullLiteral | BabelNodeBooleanLiteral | BabelNodeRegExpLiteral | BabelNodeLogicalExpression | BabelNodeMemberExpression | BabelNodeNewExpression | BabelNodeObjectExpression | BabelNodeSequenceExpression | BabelNodeParenthesizedExpression | BabelNodeThisExpression | BabelNodeUnaryExpression | BabelNodeUpdateExpression | BabelNodeArrowFunctionExpression | BabelNodeClassExpression | BabelNodeMetaProperty | BabelNodeSuper | BabelNodeTaggedTemplateExpression | BabelNodeTemplateLiteral | BabelNodeYieldExpression | BabelNodeAwaitExpression | BabelNodeImport | BabelNodeBigIntLiteral | BabelNodeOptionalMemberExpression | BabelNodeOptionalCallExpression | BabelNodeTypeCastExpression | BabelNodeJSXElement | BabelNodeJSXFragment | BabelNodeBindExpression | BabelNodePipelinePrimaryTopicReference | BabelNodeDoExpression | BabelNodeRecordExpression | BabelNodeTupleExpression | BabelNodeDecimalLiteral | BabelNodeModuleExpression | BabelNodeTSAsExpression | BabelNodeTSTypeAssertion | BabelNodeTSNonNullExpression; type BabelNodeBinary = BabelNodeBinaryExpression | BabelNodeLogicalExpression; type BabelNodeScopable = BabelNodeBlockStatement | BabelNodeCatchClause | BabelNodeDoWhileStatement | BabelNodeForInStatement | BabelNodeForStatement | BabelNodeFunctionDeclaration | BabelNodeFunctionExpression | BabelNodeProgram | BabelNodeObjectMethod | BabelNodeSwitchStatement | BabelNodeWhileStatement | BabelNodeArrowFunctionExpression | BabelNodeClassExpression | BabelNodeClassDeclaration | BabelNodeForOfStatement | BabelNodeClassMethod | BabelNodeClassPrivateMethod | BabelNodeStaticBlock | BabelNodeTSModuleBlock; type BabelNodeBlockParent = BabelNodeBlockStatement | BabelNodeCatchClause | BabelNodeDoWhileStatement | BabelNodeForInStatement | BabelNodeForStatement | BabelNodeFunctionDeclaration | BabelNodeFunctionExpression | BabelNodeProgram | BabelNodeObjectMethod | BabelNodeSwitchStatement | BabelNodeWhileStatement | BabelNodeArrowFunctionExpression | BabelNodeForOfStatement | BabelNodeClassMethod | BabelNodeClassPrivateMethod | BabelNodeStaticBlock | BabelNodeTSModuleBlock; @@ -1568,8 +1597,8 @@ type BabelNodeClass = BabelNodeClassExpression | BabelNodeClassDeclaration; type BabelNodeModuleDeclaration = BabelNodeExportAllDeclaration | BabelNodeExportDefaultDeclaration | BabelNodeExportNamedDeclaration | BabelNodeImportDeclaration; type BabelNodeExportDeclaration = BabelNodeExportAllDeclaration | BabelNodeExportDefaultDeclaration | BabelNodeExportNamedDeclaration; type BabelNodeModuleSpecifier = BabelNodeExportSpecifier | BabelNodeImportDefaultSpecifier | BabelNodeImportNamespaceSpecifier | BabelNodeImportSpecifier | BabelNodeExportNamespaceSpecifier | BabelNodeExportDefaultSpecifier; -type BabelNodeFlow = BabelNodeAnyTypeAnnotation | BabelNodeArrayTypeAnnotation | BabelNodeBooleanTypeAnnotation | BabelNodeBooleanLiteralTypeAnnotation | BabelNodeNullLiteralTypeAnnotation | BabelNodeClassImplements | BabelNodeDeclareClass | BabelNodeDeclareFunction | BabelNodeDeclareInterface | BabelNodeDeclareModule | BabelNodeDeclareModuleExports | BabelNodeDeclareTypeAlias | BabelNodeDeclareOpaqueType | BabelNodeDeclareVariable | BabelNodeDeclareExportDeclaration | BabelNodeDeclareExportAllDeclaration | BabelNodeDeclaredPredicate | BabelNodeExistsTypeAnnotation | BabelNodeFunctionTypeAnnotation | BabelNodeFunctionTypeParam | BabelNodeGenericTypeAnnotation | BabelNodeInferredPredicate | BabelNodeInterfaceExtends | BabelNodeInterfaceDeclaration | BabelNodeInterfaceTypeAnnotation | BabelNodeIntersectionTypeAnnotation | BabelNodeMixedTypeAnnotation | BabelNodeEmptyTypeAnnotation | BabelNodeNullableTypeAnnotation | BabelNodeNumberLiteralTypeAnnotation | BabelNodeNumberTypeAnnotation | BabelNodeObjectTypeAnnotation | BabelNodeObjectTypeInternalSlot | BabelNodeObjectTypeCallProperty | BabelNodeObjectTypeIndexer | BabelNodeObjectTypeProperty | BabelNodeObjectTypeSpreadProperty | BabelNodeOpaqueType | BabelNodeQualifiedTypeIdentifier | BabelNodeStringLiteralTypeAnnotation | BabelNodeStringTypeAnnotation | BabelNodeSymbolTypeAnnotation | BabelNodeThisTypeAnnotation | BabelNodeTupleTypeAnnotation | BabelNodeTypeofTypeAnnotation | BabelNodeTypeAlias | BabelNodeTypeAnnotation | BabelNodeTypeCastExpression | BabelNodeTypeParameter | BabelNodeTypeParameterDeclaration | BabelNodeTypeParameterInstantiation | BabelNodeUnionTypeAnnotation | BabelNodeVariance | BabelNodeVoidTypeAnnotation; -type BabelNodeFlowType = BabelNodeAnyTypeAnnotation | BabelNodeArrayTypeAnnotation | BabelNodeBooleanTypeAnnotation | BabelNodeBooleanLiteralTypeAnnotation | BabelNodeNullLiteralTypeAnnotation | BabelNodeExistsTypeAnnotation | BabelNodeFunctionTypeAnnotation | BabelNodeGenericTypeAnnotation | BabelNodeInterfaceTypeAnnotation | BabelNodeIntersectionTypeAnnotation | BabelNodeMixedTypeAnnotation | BabelNodeEmptyTypeAnnotation | BabelNodeNullableTypeAnnotation | BabelNodeNumberLiteralTypeAnnotation | BabelNodeNumberTypeAnnotation | BabelNodeObjectTypeAnnotation | BabelNodeStringLiteralTypeAnnotation | BabelNodeStringTypeAnnotation | BabelNodeSymbolTypeAnnotation | BabelNodeThisTypeAnnotation | BabelNodeTupleTypeAnnotation | BabelNodeTypeofTypeAnnotation | BabelNodeUnionTypeAnnotation | BabelNodeVoidTypeAnnotation; +type BabelNodeFlow = BabelNodeAnyTypeAnnotation | BabelNodeArrayTypeAnnotation | BabelNodeBooleanTypeAnnotation | BabelNodeBooleanLiteralTypeAnnotation | BabelNodeNullLiteralTypeAnnotation | BabelNodeClassImplements | BabelNodeDeclareClass | BabelNodeDeclareFunction | BabelNodeDeclareInterface | BabelNodeDeclareModule | BabelNodeDeclareModuleExports | BabelNodeDeclareTypeAlias | BabelNodeDeclareOpaqueType | BabelNodeDeclareVariable | BabelNodeDeclareExportDeclaration | BabelNodeDeclareExportAllDeclaration | BabelNodeDeclaredPredicate | BabelNodeExistsTypeAnnotation | BabelNodeFunctionTypeAnnotation | BabelNodeFunctionTypeParam | BabelNodeGenericTypeAnnotation | BabelNodeInferredPredicate | BabelNodeInterfaceExtends | BabelNodeInterfaceDeclaration | BabelNodeInterfaceTypeAnnotation | BabelNodeIntersectionTypeAnnotation | BabelNodeMixedTypeAnnotation | BabelNodeEmptyTypeAnnotation | BabelNodeNullableTypeAnnotation | BabelNodeNumberLiteralTypeAnnotation | BabelNodeNumberTypeAnnotation | BabelNodeObjectTypeAnnotation | BabelNodeObjectTypeInternalSlot | BabelNodeObjectTypeCallProperty | BabelNodeObjectTypeIndexer | BabelNodeObjectTypeProperty | BabelNodeObjectTypeSpreadProperty | BabelNodeOpaqueType | BabelNodeQualifiedTypeIdentifier | BabelNodeStringLiteralTypeAnnotation | BabelNodeStringTypeAnnotation | BabelNodeSymbolTypeAnnotation | BabelNodeThisTypeAnnotation | BabelNodeTupleTypeAnnotation | BabelNodeTypeofTypeAnnotation | BabelNodeTypeAlias | BabelNodeTypeAnnotation | BabelNodeTypeCastExpression | BabelNodeTypeParameter | BabelNodeTypeParameterDeclaration | BabelNodeTypeParameterInstantiation | BabelNodeUnionTypeAnnotation | BabelNodeVariance | BabelNodeVoidTypeAnnotation | BabelNodeIndexedAccessType | BabelNodeOptionalIndexedAccessType; +type BabelNodeFlowType = BabelNodeAnyTypeAnnotation | BabelNodeArrayTypeAnnotation | BabelNodeBooleanTypeAnnotation | BabelNodeBooleanLiteralTypeAnnotation | BabelNodeNullLiteralTypeAnnotation | BabelNodeExistsTypeAnnotation | BabelNodeFunctionTypeAnnotation | BabelNodeGenericTypeAnnotation | BabelNodeInterfaceTypeAnnotation | BabelNodeIntersectionTypeAnnotation | BabelNodeMixedTypeAnnotation | BabelNodeEmptyTypeAnnotation | BabelNodeNullableTypeAnnotation | BabelNodeNumberLiteralTypeAnnotation | BabelNodeNumberTypeAnnotation | BabelNodeObjectTypeAnnotation | BabelNodeStringLiteralTypeAnnotation | BabelNodeStringTypeAnnotation | BabelNodeSymbolTypeAnnotation | BabelNodeThisTypeAnnotation | BabelNodeTupleTypeAnnotation | BabelNodeTypeofTypeAnnotation | BabelNodeUnionTypeAnnotation | BabelNodeVoidTypeAnnotation | BabelNodeIndexedAccessType | BabelNodeOptionalIndexedAccessType; type BabelNodeFlowBaseAnnotation = BabelNodeAnyTypeAnnotation | BabelNodeBooleanTypeAnnotation | BabelNodeNullLiteralTypeAnnotation | BabelNodeMixedTypeAnnotation | BabelNodeEmptyTypeAnnotation | BabelNodeNumberTypeAnnotation | BabelNodeStringTypeAnnotation | BabelNodeSymbolTypeAnnotation | BabelNodeThisTypeAnnotation | BabelNodeVoidTypeAnnotation; type BabelNodeFlowDeclaration = BabelNodeDeclareClass | BabelNodeDeclareFunction | BabelNodeDeclareInterface | BabelNodeDeclareModule | BabelNodeDeclareModuleExports | BabelNodeDeclareTypeAlias | BabelNodeDeclareOpaqueType | BabelNodeDeclareVariable | BabelNodeDeclareExportDeclaration | BabelNodeDeclareExportAllDeclaration | BabelNodeInterfaceDeclaration | BabelNodeOpaqueType | BabelNodeTypeAlias; type BabelNodeFlowPredicate = BabelNodeDeclaredPredicate | BabelNodeInferredPredicate; @@ -1601,8 +1630,8 @@ declare module "@babel/types" { declare export function file(program: BabelNodeProgram, comments?: Array, tokens?: Array): BabelNodeFile; declare export function forInStatement(left: BabelNodeVariableDeclaration | BabelNodeLVal, right: BabelNodeExpression, body: BabelNodeStatement): BabelNodeForInStatement; declare export function forStatement(init?: BabelNodeVariableDeclaration | BabelNodeExpression, test?: BabelNodeExpression, update?: BabelNodeExpression, body: BabelNodeStatement): BabelNodeForStatement; - declare export function functionDeclaration(id?: BabelNodeIdentifier, params: Array, body: BabelNodeBlockStatement, generator?: boolean, async?: boolean): BabelNodeFunctionDeclaration; - declare export function functionExpression(id?: BabelNodeIdentifier, params: Array, body: BabelNodeBlockStatement, generator?: boolean, async?: boolean): BabelNodeFunctionExpression; + declare export function functionDeclaration(id?: BabelNodeIdentifier, params: Array, body: BabelNodeBlockStatement, generator?: boolean, async?: boolean): BabelNodeFunctionDeclaration; + declare export function functionExpression(id?: BabelNodeIdentifier, params: Array, body: BabelNodeBlockStatement, generator?: boolean, async?: boolean): BabelNodeFunctionExpression; declare export function identifier(name: string): BabelNodeIdentifier; declare export function ifStatement(test: BabelNodeExpression, consequent: BabelNodeStatement, alternate?: BabelNodeStatement): BabelNodeIfStatement; declare export function labeledStatement(label: BabelNodeIdentifier, body: BabelNodeStatement): BabelNodeLabeledStatement; @@ -1616,7 +1645,7 @@ declare module "@babel/types" { declare export function newExpression(callee: BabelNodeExpression | BabelNodeV8IntrinsicIdentifier, _arguments: Array): BabelNodeNewExpression; declare export function program(body: Array, directives?: Array, sourceType?: "script" | "module", interpreter?: BabelNodeInterpreterDirective): BabelNodeProgram; declare export function objectExpression(properties: Array): BabelNodeObjectExpression; - declare export function objectMethod(kind?: "method" | "get" | "set", key: BabelNodeExpression | BabelNodeIdentifier | BabelNodeStringLiteral | BabelNodeNumericLiteral, params: Array, body: BabelNodeBlockStatement, computed?: boolean, generator?: boolean, async?: boolean): BabelNodeObjectMethod; + declare export function objectMethod(kind?: "method" | "get" | "set", key: BabelNodeExpression | BabelNodeIdentifier | BabelNodeStringLiteral | BabelNodeNumericLiteral, params: Array, body: BabelNodeBlockStatement, computed?: boolean, generator?: boolean, async?: boolean): BabelNodeObjectMethod; declare export function objectProperty(key: BabelNodeExpression | BabelNodeIdentifier | BabelNodeStringLiteral | BabelNodeNumericLiteral, value: BabelNodeExpression | BabelNodePatternLike, computed?: boolean, shorthand?: boolean, decorators?: Array): BabelNodeObjectProperty; declare export function restElement(argument: BabelNodeLVal): BabelNodeRestElement; declare export function returnStatement(argument?: BabelNodeExpression): BabelNodeReturnStatement; @@ -1635,7 +1664,7 @@ declare module "@babel/types" { declare export function withStatement(object: BabelNodeExpression, body: BabelNodeStatement): BabelNodeWithStatement; declare export function assignmentPattern(left: BabelNodeIdentifier | BabelNodeObjectPattern | BabelNodeArrayPattern | BabelNodeMemberExpression, right: BabelNodeExpression): BabelNodeAssignmentPattern; declare export function arrayPattern(elements: Array): BabelNodeArrayPattern; - declare export function arrowFunctionExpression(params: Array, body: BabelNodeBlockStatement | BabelNodeExpression, async?: boolean): BabelNodeArrowFunctionExpression; + declare export function arrowFunctionExpression(params: Array, body: BabelNodeBlockStatement | BabelNodeExpression, async?: boolean): BabelNodeArrowFunctionExpression; declare export function classBody(body: Array): BabelNodeClassBody; declare export function classExpression(id?: BabelNodeIdentifier, superClass?: BabelNodeExpression, body: BabelNodeClassBody, decorators?: Array): BabelNodeClassExpression; declare export function classDeclaration(id: BabelNodeIdentifier, superClass?: BabelNodeExpression, body: BabelNodeClassBody, decorators?: Array): BabelNodeClassDeclaration; @@ -1728,6 +1757,8 @@ declare module "@babel/types" { declare export function enumNumberMember(id: BabelNodeIdentifier, init: BabelNodeNumericLiteral): BabelNodeEnumNumberMember; declare export function enumStringMember(id: BabelNodeIdentifier, init: BabelNodeStringLiteral): BabelNodeEnumStringMember; declare export function enumDefaultedMember(id: BabelNodeIdentifier): BabelNodeEnumDefaultedMember; + declare export function indexedAccessType(objectType: BabelNodeFlowType, indexType: BabelNodeFlowType): BabelNodeIndexedAccessType; + declare export function optionalIndexedAccessType(objectType: BabelNodeFlowType, indexType: BabelNodeFlowType): BabelNodeOptionalIndexedAccessType; declare export function jsxAttribute(name: BabelNodeJSXIdentifier | BabelNodeJSXNamespacedName, value?: BabelNodeJSXElement | BabelNodeJSXFragment | BabelNodeStringLiteral | BabelNodeJSXExpressionContainer): BabelNodeJSXAttribute; declare export function jsxClosingElement(name: BabelNodeJSXIdentifier | BabelNodeJSXMemberExpression | BabelNodeJSXNamespacedName): BabelNodeJSXClosingElement; declare export function jsxElement(openingElement: BabelNodeJSXOpeningElement, closingElement?: BabelNodeJSXClosingElement, children: Array, selfClosing?: boolean): BabelNodeJSXElement; @@ -1756,15 +1787,16 @@ declare module "@babel/types" { declare export function classPrivateMethod(kind?: "get" | "set" | "method" | "constructor", key: BabelNodePrivateName, params: Array, body: BabelNodeBlockStatement, _static?: boolean): BabelNodeClassPrivateMethod; declare export function importAttribute(key: BabelNodeIdentifier | BabelNodeStringLiteral, value: BabelNodeStringLiteral): BabelNodeImportAttribute; declare export function decorator(expression: BabelNodeExpression): BabelNodeDecorator; - declare export function doExpression(body: BabelNodeBlockStatement): BabelNodeDoExpression; + declare export function doExpression(body: BabelNodeBlockStatement, async?: boolean): BabelNodeDoExpression; declare export function exportDefaultSpecifier(exported: BabelNodeIdentifier): BabelNodeExportDefaultSpecifier; declare export function privateName(id: BabelNodeIdentifier): BabelNodePrivateName; declare export function recordExpression(properties: Array): BabelNodeRecordExpression; declare export function tupleExpression(elements?: Array): BabelNodeTupleExpression; declare export function decimalLiteral(value: string): BabelNodeDecimalLiteral; declare export function staticBlock(body: Array): BabelNodeStaticBlock; + declare export function moduleExpression(body: BabelNodeProgram): BabelNodeModuleExpression; declare export function tsParameterProperty(parameter: BabelNodeIdentifier | BabelNodeAssignmentPattern): BabelNodeTSParameterProperty; - declare export function tsDeclareFunction(id?: BabelNodeIdentifier, typeParameters?: BabelNodeTSTypeParameterDeclaration | BabelNodeNoop, params: Array, returnType?: BabelNodeTSTypeAnnotation | BabelNodeNoop): BabelNodeTSDeclareFunction; + declare export function tsDeclareFunction(id?: BabelNodeIdentifier, typeParameters?: BabelNodeTSTypeParameterDeclaration | BabelNodeNoop, params: Array, returnType?: BabelNodeTSTypeAnnotation | BabelNodeNoop): BabelNodeTSDeclareFunction; declare export function tsDeclareMethod(decorators?: Array, key: BabelNodeIdentifier | BabelNodeStringLiteral | BabelNodeNumericLiteral | BabelNodeExpression, typeParameters?: BabelNodeTSTypeParameterDeclaration | BabelNodeNoop, params: Array, returnType?: BabelNodeTSTypeAnnotation | BabelNodeNoop): BabelNodeTSDeclareMethod; declare export function tsQualifiedName(left: BabelNodeTSEntityName, right: BabelNodeIdentifier): BabelNodeTSQualifiedName; declare export function tsCallSignatureDeclaration(typeParameters?: BabelNodeTSTypeParameterDeclaration, parameters: Array, typeAnnotation?: BabelNodeTSTypeAnnotation): BabelNodeTSCallSignatureDeclaration; @@ -2114,6 +2146,10 @@ declare module "@babel/types" { declare export function assertEnumStringMember(node: ?Object, opts?: ?Object): void declare export function isEnumDefaultedMember(node: ?Object, opts?: ?Object): boolean %checks (node instanceof BabelNodeEnumDefaultedMember) declare export function assertEnumDefaultedMember(node: ?Object, opts?: ?Object): void + declare export function isIndexedAccessType(node: ?Object, opts?: ?Object): boolean %checks (node instanceof BabelNodeIndexedAccessType) + declare export function assertIndexedAccessType(node: ?Object, opts?: ?Object): void + declare export function isOptionalIndexedAccessType(node: ?Object, opts?: ?Object): boolean %checks (node instanceof BabelNodeOptionalIndexedAccessType) + declare export function assertOptionalIndexedAccessType(node: ?Object, opts?: ?Object): void declare export function isJSXAttribute(node: ?Object, opts?: ?Object): boolean %checks (node instanceof BabelNodeJSXAttribute) declare export function assertJSXAttribute(node: ?Object, opts?: ?Object): void declare export function isJSXClosingElement(node: ?Object, opts?: ?Object): boolean %checks (node instanceof BabelNodeJSXClosingElement) @@ -2184,6 +2220,8 @@ declare module "@babel/types" { declare export function assertDecimalLiteral(node: ?Object, opts?: ?Object): void declare export function isStaticBlock(node: ?Object, opts?: ?Object): boolean %checks (node instanceof BabelNodeStaticBlock) declare export function assertStaticBlock(node: ?Object, opts?: ?Object): void + declare export function isModuleExpression(node: ?Object, opts?: ?Object): boolean %checks (node instanceof BabelNodeModuleExpression) + declare export function assertModuleExpression(node: ?Object, opts?: ?Object): void declare export function isTSParameterProperty(node: ?Object, opts?: ?Object): boolean %checks (node instanceof BabelNodeTSParameterProperty) declare export function assertTSParameterProperty(node: ?Object, opts?: ?Object): void declare export function isTSDeclareFunction(node: ?Object, opts?: ?Object): boolean %checks (node instanceof BabelNodeTSDeclareFunction) diff --git a/tools/node_modules/@babel/core/node_modules/@babel/types/lib/modifications/inherits.js b/tools/node_modules/@babel/core/node_modules/@babel/types/lib/modifications/inherits.js index 64d72fcf2fd66b..8701897d0e21cd 100644 --- a/tools/node_modules/@babel/core/node_modules/@babel/types/lib/modifications/inherits.js +++ b/tools/node_modules/@babel/core/node_modules/@babel/types/lib/modifications/inherits.js @@ -7,9 +7,7 @@ exports.default = inherits; var _constants = require("../constants"); -var _inheritsComments = _interopRequireDefault(require("../comments/inheritsComments")); - -function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } +var _inheritsComments = require("../comments/inheritsComments"); function inherits(child, parent) { if (!child || !parent) return child; diff --git a/tools/node_modules/@babel/core/node_modules/@babel/types/lib/modifications/removePropertiesDeep.js b/tools/node_modules/@babel/core/node_modules/@babel/types/lib/modifications/removePropertiesDeep.js index d11a84a8327c62..e36f7558934136 100644 --- a/tools/node_modules/@babel/core/node_modules/@babel/types/lib/modifications/removePropertiesDeep.js +++ b/tools/node_modules/@babel/core/node_modules/@babel/types/lib/modifications/removePropertiesDeep.js @@ -5,11 +5,9 @@ Object.defineProperty(exports, "__esModule", { }); exports.default = removePropertiesDeep; -var _traverseFast = _interopRequireDefault(require("../traverse/traverseFast")); +var _traverseFast = require("../traverse/traverseFast"); -var _removeProperties = _interopRequireDefault(require("./removeProperties")); - -function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } +var _removeProperties = require("./removeProperties"); function removePropertiesDeep(tree, opts) { (0, _traverseFast.default)(tree, _removeProperties.default, opts); diff --git a/tools/node_modules/@babel/core/node_modules/@babel/types/lib/retrievers/getOuterBindingIdentifiers.js b/tools/node_modules/@babel/core/node_modules/@babel/types/lib/retrievers/getOuterBindingIdentifiers.js index 369d38fa74505e..c27cffe544df76 100644 --- a/tools/node_modules/@babel/core/node_modules/@babel/types/lib/retrievers/getOuterBindingIdentifiers.js +++ b/tools/node_modules/@babel/core/node_modules/@babel/types/lib/retrievers/getOuterBindingIdentifiers.js @@ -5,9 +5,7 @@ Object.defineProperty(exports, "__esModule", { }); exports.default = void 0; -var _getBindingIdentifiers = _interopRequireDefault(require("./getBindingIdentifiers")); - -function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } +var _getBindingIdentifiers = require("./getBindingIdentifiers"); var _default = getOuterBindingIdentifiers; exports.default = _default; diff --git a/tools/node_modules/@babel/core/node_modules/@babel/types/lib/validators/buildMatchMemberExpression.js b/tools/node_modules/@babel/core/node_modules/@babel/types/lib/validators/buildMatchMemberExpression.js index 0faa29c5d610d4..c0064968ecdf97 100644 --- a/tools/node_modules/@babel/core/node_modules/@babel/types/lib/validators/buildMatchMemberExpression.js +++ b/tools/node_modules/@babel/core/node_modules/@babel/types/lib/validators/buildMatchMemberExpression.js @@ -5,9 +5,7 @@ Object.defineProperty(exports, "__esModule", { }); exports.default = buildMatchMemberExpression; -var _matchesPattern = _interopRequireDefault(require("./matchesPattern")); - -function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } +var _matchesPattern = require("./matchesPattern"); function buildMatchMemberExpression(match, allowPartial) { const parts = match.split("."); diff --git a/tools/node_modules/@babel/core/node_modules/@babel/types/lib/validators/generated/index.js b/tools/node_modules/@babel/core/node_modules/@babel/types/lib/validators/generated/index.js index 3a4935b969867b..b523c3c3274a2f 100644 --- a/tools/node_modules/@babel/core/node_modules/@babel/types/lib/validators/generated/index.js +++ b/tools/node_modules/@babel/core/node_modules/@babel/types/lib/validators/generated/index.js @@ -147,6 +147,8 @@ exports.isEnumBooleanMember = isEnumBooleanMember; exports.isEnumNumberMember = isEnumNumberMember; exports.isEnumStringMember = isEnumStringMember; exports.isEnumDefaultedMember = isEnumDefaultedMember; +exports.isIndexedAccessType = isIndexedAccessType; +exports.isOptionalIndexedAccessType = isOptionalIndexedAccessType; exports.isJSXAttribute = isJSXAttribute; exports.isJSXClosingElement = isJSXClosingElement; exports.isJSXElement = isJSXElement; @@ -182,6 +184,7 @@ exports.isRecordExpression = isRecordExpression; exports.isTupleExpression = isTupleExpression; exports.isDecimalLiteral = isDecimalLiteral; exports.isStaticBlock = isStaticBlock; +exports.isModuleExpression = isModuleExpression; exports.isTSParameterProperty = isTSParameterProperty; exports.isTSDeclareFunction = isTSDeclareFunction; exports.isTSDeclareMethod = isTSDeclareMethod; @@ -295,9 +298,7 @@ exports.isRegexLiteral = isRegexLiteral; exports.isRestProperty = isRestProperty; exports.isSpreadProperty = isSpreadProperty; -var _shallowEqual = _interopRequireDefault(require("../../utils/shallowEqual")); - -function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } +var _shallowEqual = require("../../utils/shallowEqual"); function isArrayExpression(node, opts) { if (!node) return false; @@ -2459,6 +2460,36 @@ function isEnumDefaultedMember(node, opts) { return false; } +function isIndexedAccessType(node, opts) { + if (!node) return false; + const nodeType = node.type; + + if (nodeType === "IndexedAccessType") { + if (typeof opts === "undefined") { + return true; + } else { + return (0, _shallowEqual.default)(node, opts); + } + } + + return false; +} + +function isOptionalIndexedAccessType(node, opts) { + if (!node) return false; + const nodeType = node.type; + + if (nodeType === "OptionalIndexedAccessType") { + if (typeof opts === "undefined") { + return true; + } else { + return (0, _shallowEqual.default)(node, opts); + } + } + + return false; +} + function isJSXAttribute(node, opts) { if (!node) return false; const nodeType = node.type; @@ -2984,6 +3015,21 @@ function isStaticBlock(node, opts) { return false; } +function isModuleExpression(node, opts) { + if (!node) return false; + const nodeType = node.type; + + if (nodeType === "ModuleExpression") { + if (typeof opts === "undefined") { + return true; + } else { + return (0, _shallowEqual.default)(node, opts); + } + } + + return false; +} + function isTSParameterProperty(node, opts) { if (!node) return false; const nodeType = node.type; @@ -3933,7 +3979,7 @@ function isExpression(node, opts) { if (!node) return false; const nodeType = node.type; - if ("ArrayExpression" === nodeType || "AssignmentExpression" === nodeType || "BinaryExpression" === nodeType || "CallExpression" === nodeType || "ConditionalExpression" === nodeType || "FunctionExpression" === nodeType || "Identifier" === nodeType || "StringLiteral" === nodeType || "NumericLiteral" === nodeType || "NullLiteral" === nodeType || "BooleanLiteral" === nodeType || "RegExpLiteral" === nodeType || "LogicalExpression" === nodeType || "MemberExpression" === nodeType || "NewExpression" === nodeType || "ObjectExpression" === nodeType || "SequenceExpression" === nodeType || "ParenthesizedExpression" === nodeType || "ThisExpression" === nodeType || "UnaryExpression" === nodeType || "UpdateExpression" === nodeType || "ArrowFunctionExpression" === nodeType || "ClassExpression" === nodeType || "MetaProperty" === nodeType || "Super" === nodeType || "TaggedTemplateExpression" === nodeType || "TemplateLiteral" === nodeType || "YieldExpression" === nodeType || "AwaitExpression" === nodeType || "Import" === nodeType || "BigIntLiteral" === nodeType || "OptionalMemberExpression" === nodeType || "OptionalCallExpression" === nodeType || "TypeCastExpression" === nodeType || "JSXElement" === nodeType || "JSXFragment" === nodeType || "BindExpression" === nodeType || "PipelinePrimaryTopicReference" === nodeType || "DoExpression" === nodeType || "RecordExpression" === nodeType || "TupleExpression" === nodeType || "DecimalLiteral" === nodeType || "TSAsExpression" === nodeType || "TSTypeAssertion" === nodeType || "TSNonNullExpression" === nodeType || nodeType === "Placeholder" && ("Expression" === node.expectedNode || "Identifier" === node.expectedNode || "StringLiteral" === node.expectedNode)) { + if ("ArrayExpression" === nodeType || "AssignmentExpression" === nodeType || "BinaryExpression" === nodeType || "CallExpression" === nodeType || "ConditionalExpression" === nodeType || "FunctionExpression" === nodeType || "Identifier" === nodeType || "StringLiteral" === nodeType || "NumericLiteral" === nodeType || "NullLiteral" === nodeType || "BooleanLiteral" === nodeType || "RegExpLiteral" === nodeType || "LogicalExpression" === nodeType || "MemberExpression" === nodeType || "NewExpression" === nodeType || "ObjectExpression" === nodeType || "SequenceExpression" === nodeType || "ParenthesizedExpression" === nodeType || "ThisExpression" === nodeType || "UnaryExpression" === nodeType || "UpdateExpression" === nodeType || "ArrowFunctionExpression" === nodeType || "ClassExpression" === nodeType || "MetaProperty" === nodeType || "Super" === nodeType || "TaggedTemplateExpression" === nodeType || "TemplateLiteral" === nodeType || "YieldExpression" === nodeType || "AwaitExpression" === nodeType || "Import" === nodeType || "BigIntLiteral" === nodeType || "OptionalMemberExpression" === nodeType || "OptionalCallExpression" === nodeType || "TypeCastExpression" === nodeType || "JSXElement" === nodeType || "JSXFragment" === nodeType || "BindExpression" === nodeType || "PipelinePrimaryTopicReference" === nodeType || "DoExpression" === nodeType || "RecordExpression" === nodeType || "TupleExpression" === nodeType || "DecimalLiteral" === nodeType || "ModuleExpression" === nodeType || "TSAsExpression" === nodeType || "TSTypeAssertion" === nodeType || "TSNonNullExpression" === nodeType || nodeType === "Placeholder" && ("Expression" === node.expectedNode || "Identifier" === node.expectedNode || "StringLiteral" === node.expectedNode)) { if (typeof opts === "undefined") { return true; } else { @@ -4428,7 +4474,7 @@ function isFlow(node, opts) { if (!node) return false; const nodeType = node.type; - if ("AnyTypeAnnotation" === nodeType || "ArrayTypeAnnotation" === nodeType || "BooleanTypeAnnotation" === nodeType || "BooleanLiteralTypeAnnotation" === nodeType || "NullLiteralTypeAnnotation" === nodeType || "ClassImplements" === nodeType || "DeclareClass" === nodeType || "DeclareFunction" === nodeType || "DeclareInterface" === nodeType || "DeclareModule" === nodeType || "DeclareModuleExports" === nodeType || "DeclareTypeAlias" === nodeType || "DeclareOpaqueType" === nodeType || "DeclareVariable" === nodeType || "DeclareExportDeclaration" === nodeType || "DeclareExportAllDeclaration" === nodeType || "DeclaredPredicate" === nodeType || "ExistsTypeAnnotation" === nodeType || "FunctionTypeAnnotation" === nodeType || "FunctionTypeParam" === nodeType || "GenericTypeAnnotation" === nodeType || "InferredPredicate" === nodeType || "InterfaceExtends" === nodeType || "InterfaceDeclaration" === nodeType || "InterfaceTypeAnnotation" === nodeType || "IntersectionTypeAnnotation" === nodeType || "MixedTypeAnnotation" === nodeType || "EmptyTypeAnnotation" === nodeType || "NullableTypeAnnotation" === nodeType || "NumberLiteralTypeAnnotation" === nodeType || "NumberTypeAnnotation" === nodeType || "ObjectTypeAnnotation" === nodeType || "ObjectTypeInternalSlot" === nodeType || "ObjectTypeCallProperty" === nodeType || "ObjectTypeIndexer" === nodeType || "ObjectTypeProperty" === nodeType || "ObjectTypeSpreadProperty" === nodeType || "OpaqueType" === nodeType || "QualifiedTypeIdentifier" === nodeType || "StringLiteralTypeAnnotation" === nodeType || "StringTypeAnnotation" === nodeType || "SymbolTypeAnnotation" === nodeType || "ThisTypeAnnotation" === nodeType || "TupleTypeAnnotation" === nodeType || "TypeofTypeAnnotation" === nodeType || "TypeAlias" === nodeType || "TypeAnnotation" === nodeType || "TypeCastExpression" === nodeType || "TypeParameter" === nodeType || "TypeParameterDeclaration" === nodeType || "TypeParameterInstantiation" === nodeType || "UnionTypeAnnotation" === nodeType || "Variance" === nodeType || "VoidTypeAnnotation" === nodeType) { + if ("AnyTypeAnnotation" === nodeType || "ArrayTypeAnnotation" === nodeType || "BooleanTypeAnnotation" === nodeType || "BooleanLiteralTypeAnnotation" === nodeType || "NullLiteralTypeAnnotation" === nodeType || "ClassImplements" === nodeType || "DeclareClass" === nodeType || "DeclareFunction" === nodeType || "DeclareInterface" === nodeType || "DeclareModule" === nodeType || "DeclareModuleExports" === nodeType || "DeclareTypeAlias" === nodeType || "DeclareOpaqueType" === nodeType || "DeclareVariable" === nodeType || "DeclareExportDeclaration" === nodeType || "DeclareExportAllDeclaration" === nodeType || "DeclaredPredicate" === nodeType || "ExistsTypeAnnotation" === nodeType || "FunctionTypeAnnotation" === nodeType || "FunctionTypeParam" === nodeType || "GenericTypeAnnotation" === nodeType || "InferredPredicate" === nodeType || "InterfaceExtends" === nodeType || "InterfaceDeclaration" === nodeType || "InterfaceTypeAnnotation" === nodeType || "IntersectionTypeAnnotation" === nodeType || "MixedTypeAnnotation" === nodeType || "EmptyTypeAnnotation" === nodeType || "NullableTypeAnnotation" === nodeType || "NumberLiteralTypeAnnotation" === nodeType || "NumberTypeAnnotation" === nodeType || "ObjectTypeAnnotation" === nodeType || "ObjectTypeInternalSlot" === nodeType || "ObjectTypeCallProperty" === nodeType || "ObjectTypeIndexer" === nodeType || "ObjectTypeProperty" === nodeType || "ObjectTypeSpreadProperty" === nodeType || "OpaqueType" === nodeType || "QualifiedTypeIdentifier" === nodeType || "StringLiteralTypeAnnotation" === nodeType || "StringTypeAnnotation" === nodeType || "SymbolTypeAnnotation" === nodeType || "ThisTypeAnnotation" === nodeType || "TupleTypeAnnotation" === nodeType || "TypeofTypeAnnotation" === nodeType || "TypeAlias" === nodeType || "TypeAnnotation" === nodeType || "TypeCastExpression" === nodeType || "TypeParameter" === nodeType || "TypeParameterDeclaration" === nodeType || "TypeParameterInstantiation" === nodeType || "UnionTypeAnnotation" === nodeType || "Variance" === nodeType || "VoidTypeAnnotation" === nodeType || "IndexedAccessType" === nodeType || "OptionalIndexedAccessType" === nodeType) { if (typeof opts === "undefined") { return true; } else { @@ -4443,7 +4489,7 @@ function isFlowType(node, opts) { if (!node) return false; const nodeType = node.type; - if ("AnyTypeAnnotation" === nodeType || "ArrayTypeAnnotation" === nodeType || "BooleanTypeAnnotation" === nodeType || "BooleanLiteralTypeAnnotation" === nodeType || "NullLiteralTypeAnnotation" === nodeType || "ExistsTypeAnnotation" === nodeType || "FunctionTypeAnnotation" === nodeType || "GenericTypeAnnotation" === nodeType || "InterfaceTypeAnnotation" === nodeType || "IntersectionTypeAnnotation" === nodeType || "MixedTypeAnnotation" === nodeType || "EmptyTypeAnnotation" === nodeType || "NullableTypeAnnotation" === nodeType || "NumberLiteralTypeAnnotation" === nodeType || "NumberTypeAnnotation" === nodeType || "ObjectTypeAnnotation" === nodeType || "StringLiteralTypeAnnotation" === nodeType || "StringTypeAnnotation" === nodeType || "SymbolTypeAnnotation" === nodeType || "ThisTypeAnnotation" === nodeType || "TupleTypeAnnotation" === nodeType || "TypeofTypeAnnotation" === nodeType || "UnionTypeAnnotation" === nodeType || "VoidTypeAnnotation" === nodeType) { + if ("AnyTypeAnnotation" === nodeType || "ArrayTypeAnnotation" === nodeType || "BooleanTypeAnnotation" === nodeType || "BooleanLiteralTypeAnnotation" === nodeType || "NullLiteralTypeAnnotation" === nodeType || "ExistsTypeAnnotation" === nodeType || "FunctionTypeAnnotation" === nodeType || "GenericTypeAnnotation" === nodeType || "InterfaceTypeAnnotation" === nodeType || "IntersectionTypeAnnotation" === nodeType || "MixedTypeAnnotation" === nodeType || "EmptyTypeAnnotation" === nodeType || "NullableTypeAnnotation" === nodeType || "NumberLiteralTypeAnnotation" === nodeType || "NumberTypeAnnotation" === nodeType || "ObjectTypeAnnotation" === nodeType || "StringLiteralTypeAnnotation" === nodeType || "StringTypeAnnotation" === nodeType || "SymbolTypeAnnotation" === nodeType || "ThisTypeAnnotation" === nodeType || "TupleTypeAnnotation" === nodeType || "TypeofTypeAnnotation" === nodeType || "UnionTypeAnnotation" === nodeType || "VoidTypeAnnotation" === nodeType || "IndexedAccessType" === nodeType || "OptionalIndexedAccessType" === nodeType) { if (typeof opts === "undefined") { return true; } else { diff --git a/tools/node_modules/@babel/core/node_modules/@babel/types/lib/validators/is.js b/tools/node_modules/@babel/core/node_modules/@babel/types/lib/validators/is.js index a68c10886155c5..581979fa701aa0 100644 --- a/tools/node_modules/@babel/core/node_modules/@babel/types/lib/validators/is.js +++ b/tools/node_modules/@babel/core/node_modules/@babel/types/lib/validators/is.js @@ -5,16 +5,14 @@ Object.defineProperty(exports, "__esModule", { }); exports.default = is; -var _shallowEqual = _interopRequireDefault(require("../utils/shallowEqual")); +var _shallowEqual = require("../utils/shallowEqual"); -var _isType = _interopRequireDefault(require("./isType")); +var _isType = require("./isType"); -var _isPlaceholderType = _interopRequireDefault(require("./isPlaceholderType")); +var _isPlaceholderType = require("./isPlaceholderType"); var _definitions = require("../definitions"); -function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } - function is(type, node, opts) { if (!node) return false; const matches = (0, _isType.default)(node.type, type); diff --git a/tools/node_modules/@babel/core/node_modules/@babel/types/lib/validators/isBinding.js b/tools/node_modules/@babel/core/node_modules/@babel/types/lib/validators/isBinding.js index e18ad197604f98..74c86dd0e98916 100644 --- a/tools/node_modules/@babel/core/node_modules/@babel/types/lib/validators/isBinding.js +++ b/tools/node_modules/@babel/core/node_modules/@babel/types/lib/validators/isBinding.js @@ -5,9 +5,7 @@ Object.defineProperty(exports, "__esModule", { }); exports.default = isBinding; -var _getBindingIdentifiers = _interopRequireDefault(require("../retrievers/getBindingIdentifiers")); - -function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } +var _getBindingIdentifiers = require("../retrievers/getBindingIdentifiers"); function isBinding(node, parent, grandparent) { if (grandparent && node.type === "Identifier" && parent.type === "ObjectProperty" && grandparent.type === "ObjectExpression") { diff --git a/tools/node_modules/@babel/core/node_modules/@babel/types/lib/validators/isBlockScoped.js b/tools/node_modules/@babel/core/node_modules/@babel/types/lib/validators/isBlockScoped.js index 7e6549e03b1ea4..77ec1663004b1e 100644 --- a/tools/node_modules/@babel/core/node_modules/@babel/types/lib/validators/isBlockScoped.js +++ b/tools/node_modules/@babel/core/node_modules/@babel/types/lib/validators/isBlockScoped.js @@ -7,9 +7,7 @@ exports.default = isBlockScoped; var _generated = require("./generated"); -var _isLet = _interopRequireDefault(require("./isLet")); - -function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } +var _isLet = require("./isLet"); function isBlockScoped(node) { return (0, _generated.isFunctionDeclaration)(node) || (0, _generated.isClassDeclaration)(node) || (0, _isLet.default)(node); diff --git a/tools/node_modules/@babel/core/node_modules/@babel/types/lib/validators/isImmutable.js b/tools/node_modules/@babel/core/node_modules/@babel/types/lib/validators/isImmutable.js index b00b23d4ce0997..27754f6599ef98 100644 --- a/tools/node_modules/@babel/core/node_modules/@babel/types/lib/validators/isImmutable.js +++ b/tools/node_modules/@babel/core/node_modules/@babel/types/lib/validators/isImmutable.js @@ -5,12 +5,10 @@ Object.defineProperty(exports, "__esModule", { }); exports.default = isImmutable; -var _isType = _interopRequireDefault(require("./isType")); +var _isType = require("./isType"); var _generated = require("./generated"); -function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } - function isImmutable(node) { if ((0, _isType.default)(node.type, "Immutable")) return true; diff --git a/tools/node_modules/@babel/core/node_modules/@babel/types/lib/validators/isNodesEquivalent.js b/tools/node_modules/@babel/core/node_modules/@babel/types/lib/validators/isNodesEquivalent.js index b418c6a2d1d1c3..f829834e91084c 100644 --- a/tools/node_modules/@babel/core/node_modules/@babel/types/lib/validators/isNodesEquivalent.js +++ b/tools/node_modules/@babel/core/node_modules/@babel/types/lib/validators/isNodesEquivalent.js @@ -48,7 +48,7 @@ function isNodesEquivalent(a, b) { continue; } - if (typeof a[field] === "object" && !(visitorKeys == null ? void 0 : visitorKeys.includes(field))) { + if (typeof a[field] === "object" && !(visitorKeys != null && visitorKeys.includes(field))) { for (const key of Object.keys(a[field])) { if (a[field][key] !== b[field][key]) { return false; diff --git a/tools/node_modules/@babel/core/node_modules/@babel/types/lib/validators/isReferenced.js b/tools/node_modules/@babel/core/node_modules/@babel/types/lib/validators/isReferenced.js index 45b3a367809b70..b6d61d18879797 100644 --- a/tools/node_modules/@babel/core/node_modules/@babel/types/lib/validators/isReferenced.js +++ b/tools/node_modules/@babel/core/node_modules/@babel/types/lib/validators/isReferenced.js @@ -77,7 +77,7 @@ function isReferenced(node, parent, grandparent) { return false; case "ExportSpecifier": - if (grandparent == null ? void 0 : grandparent.source) { + if (grandparent != null && grandparent.source) { return false; } diff --git a/tools/node_modules/@babel/core/node_modules/@babel/types/lib/validators/isValidES3Identifier.js b/tools/node_modules/@babel/core/node_modules/@babel/types/lib/validators/isValidES3Identifier.js index 8455cab269bae2..5cef5664df0b61 100644 --- a/tools/node_modules/@babel/core/node_modules/@babel/types/lib/validators/isValidES3Identifier.js +++ b/tools/node_modules/@babel/core/node_modules/@babel/types/lib/validators/isValidES3Identifier.js @@ -5,9 +5,7 @@ Object.defineProperty(exports, "__esModule", { }); exports.default = isValidES3Identifier; -var _isValidIdentifier = _interopRequireDefault(require("./isValidIdentifier")); - -function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } +var _isValidIdentifier = require("./isValidIdentifier"); const RESERVED_WORDS_ES3_ONLY = new Set(["abstract", "boolean", "byte", "char", "double", "enum", "final", "float", "goto", "implements", "int", "interface", "long", "native", "package", "private", "protected", "public", "short", "static", "synchronized", "throws", "transient", "volatile"]); diff --git a/tools/node_modules/@babel/core/node_modules/@babel/types/lib/validators/matchesPattern.js b/tools/node_modules/@babel/core/node_modules/@babel/types/lib/validators/matchesPattern.js index 538e011f4ca257..d961f5a6ef24b2 100644 --- a/tools/node_modules/@babel/core/node_modules/@babel/types/lib/validators/matchesPattern.js +++ b/tools/node_modules/@babel/core/node_modules/@babel/types/lib/validators/matchesPattern.js @@ -29,6 +29,8 @@ function matchesPattern(member, match, allowPartial) { value = node.name; } else if ((0, _generated.isStringLiteral)(node)) { value = node.value; + } else if ((0, _generated.isThisExpression)(node)) { + value = "this"; } else { return false; } diff --git a/tools/node_modules/@babel/core/node_modules/@babel/types/lib/validators/react/isReactComponent.js b/tools/node_modules/@babel/core/node_modules/@babel/types/lib/validators/react/isReactComponent.js index 33b30d71e9700d..0dd2102589ab69 100644 --- a/tools/node_modules/@babel/core/node_modules/@babel/types/lib/validators/react/isReactComponent.js +++ b/tools/node_modules/@babel/core/node_modules/@babel/types/lib/validators/react/isReactComponent.js @@ -5,9 +5,7 @@ Object.defineProperty(exports, "__esModule", { }); exports.default = void 0; -var _buildMatchMemberExpression = _interopRequireDefault(require("../buildMatchMemberExpression")); - -function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } +var _buildMatchMemberExpression = require("../buildMatchMemberExpression"); const isReactComponent = (0, _buildMatchMemberExpression.default)("React.Component"); var _default = isReactComponent; diff --git a/tools/node_modules/@babel/core/node_modules/@babel/types/lib/validators/validate.js b/tools/node_modules/@babel/core/node_modules/@babel/types/lib/validators/validate.js index 0d152a22cf49b9..f5a2bef5fb1e6d 100644 --- a/tools/node_modules/@babel/core/node_modules/@babel/types/lib/validators/validate.js +++ b/tools/node_modules/@babel/core/node_modules/@babel/types/lib/validators/validate.js @@ -19,7 +19,7 @@ function validate(node, key, val) { } function validateField(node, key, val, field) { - if (!(field == null ? void 0 : field.validate)) return; + if (!(field != null && field.validate)) return; if (field.optional && val == null) return; field.validate(node, key, val); } diff --git a/tools/node_modules/@babel/core/node_modules/@babel/types/package.json b/tools/node_modules/@babel/core/node_modules/@babel/types/package.json index c4807b60d81bdc..7c45ea375b2c97 100644 --- a/tools/node_modules/@babel/core/node_modules/@babel/types/package.json +++ b/tools/node_modules/@babel/core/node_modules/@babel/types/package.json @@ -1,9 +1,10 @@ { "name": "@babel/types", - "version": "7.12.12", + "version": "7.14.5", "description": "Babel Types is a Lodash-esque utility library for AST nodes", - "author": "Sebastian McKenzie ", - "homepage": "https://babeljs.io/", + "author": "The Babel Team (https://babel.dev/team)", + "homepage": "https://babel.dev/docs/en/next/babel-types", + "bugs": "https://github.com/babel/babel/issues?utf8=%E2%9C%93&q=is%3Aissue+label%3A%22pkg%3A%20types%22+is%3Aopen", "license": "MIT", "publishConfig": { "access": "public" @@ -13,8 +14,8 @@ "url": "https://github.com/babel/babel.git", "directory": "packages/babel-types" }, - "main": "lib/index.js", - "types": "lib/index-legacy.d.ts", + "main": "./lib/index.js", + "types": "./lib/index-legacy.d.ts", "typesVersions": { ">=3.7": { "lib/index-legacy.d.ts": [ @@ -23,14 +24,15 @@ } }, "dependencies": { - "@babel/helper-validator-identifier": "^7.12.11", - "lodash": "^4.17.19", + "@babel/helper-validator-identifier": "^7.14.5", "to-fast-properties": "^2.0.0" }, "devDependencies": { - "@babel/generator": "7.12.11", - "@babel/parser": "7.12.11", - "@types/lodash": "^4.14.162", + "@babel/generator": "7.14.5", + "@babel/parser": "7.14.5", "chalk": "^4.1.0" + }, + "engines": { + "node": ">=6.9.0" } } \ No newline at end of file diff --git a/tools/node_modules/@babel/core/node_modules/@babel/types/scripts/generators/asserts.js b/tools/node_modules/@babel/core/node_modules/@babel/types/scripts/generators/asserts.js index a517efb31a0d6c..bdfd94857fcfbc 100644 --- a/tools/node_modules/@babel/core/node_modules/@babel/types/scripts/generators/asserts.js +++ b/tools/node_modules/@babel/core/node_modules/@babel/types/scripts/generators/asserts.js @@ -1,5 +1,4 @@ -"use strict"; -const definitions = require("../../lib/definitions"); +import definitions from "../../lib/definitions/index.js"; function addAssertHelper(type) { const result = @@ -14,7 +13,7 @@ function addAssertHelper(type) { `; } -module.exports = function generateAsserts() { +export default function generateAsserts() { let output = `/* * This file is auto-generated! Do not modify it directly. * To re-generate run 'make build' @@ -48,4 +47,4 @@ function assert(type: string, node: any, opts?: any): void { }); return output; -}; +} diff --git a/tools/node_modules/@babel/core/node_modules/@babel/types/scripts/generators/ast-types.js b/tools/node_modules/@babel/core/node_modules/@babel/types/scripts/generators/ast-types.js index 98122665def8e9..cd31918a5611d2 100644 --- a/tools/node_modules/@babel/core/node_modules/@babel/types/scripts/generators/ast-types.js +++ b/tools/node_modules/@babel/core/node_modules/@babel/types/scripts/generators/ast-types.js @@ -1,9 +1,7 @@ -"use strict"; +import t from "../../lib/index.js"; +import stringifyValidator from "../utils/stringifyValidator.js"; -const t = require("../../"); -const stringifyValidator = require("../utils/stringifyValidator"); - -module.exports = function generateAstTypes() { +export default function generateAstTypes() { let code = `// NOTE: This file is autogenerated. Do not modify. // See packages/babel-types/scripts/generators/ast-types.js for script used. @@ -45,6 +43,7 @@ interface BaseNode { end: number | null; loc: SourceLocation | null; type: Node["type"]; + range?: [number, number]; extra?: Record; } @@ -118,7 +117,7 @@ export interface ${deprecatedAlias[type]} extends BaseNode { code += "}\n\n"; return code; -}; +} function hasDefault(field) { return field.default != null; diff --git a/tools/node_modules/@babel/core/node_modules/@babel/types/scripts/generators/builders.js b/tools/node_modules/@babel/core/node_modules/@babel/types/scripts/generators/builders.js index 6a528fe0c33bbd..3a30e6053c1f8b 100644 --- a/tools/node_modules/@babel/core/node_modules/@babel/types/scripts/generators/builders.js +++ b/tools/node_modules/@babel/core/node_modules/@babel/types/scripts/generators/builders.js @@ -1,10 +1,8 @@ -"use strict"; -const definitions = require("../../lib/definitions"); -const formatBuilderName = require("../utils/formatBuilderName"); -const lowerFirst = require("../utils/lowerFirst"); - -const t = require("../../"); -const stringifyValidator = require("../utils/stringifyValidator"); +import t from "../../lib/index.js"; +import definitions from "../../lib/definitions/index.js"; +import formatBuilderName from "../utils/formatBuilderName.js"; +import lowerFirst from "../utils/lowerFirst.js"; +import stringifyValidator from "../utils/stringifyValidator.js"; function areAllRemainingFieldsNullable(fieldName, fieldNames, fields) { const index = fieldNames.indexOf(fieldName); @@ -73,11 +71,11 @@ function generateBuilderArgs(type) { return args; } -module.exports = function generateBuilders(kind) { +export default function generateBuilders(kind) { return kind === "uppercase.js" ? generateUppercaseBuilders() : generateLowercaseBuilders(); -}; +} function generateLowercaseBuilders() { let output = `/* diff --git a/tools/node_modules/@babel/core/node_modules/@babel/types/scripts/generators/constants.js b/tools/node_modules/@babel/core/node_modules/@babel/types/scripts/generators/constants.js index 8e8b61c50bf0bb..68abdbd837fbea 100644 --- a/tools/node_modules/@babel/core/node_modules/@babel/types/scripts/generators/constants.js +++ b/tools/node_modules/@babel/core/node_modules/@babel/types/scripts/generators/constants.js @@ -1,7 +1,6 @@ -"use strict"; -const definitions = require("../../lib/definitions"); +import definitions from "../../lib/definitions/index.js"; -module.exports = function generateConstants() { +export default function generateConstants() { let output = `/* * This file is auto-generated! Do not modify it directly. * To re-generate run 'make build' @@ -13,4 +12,4 @@ import { FLIPPED_ALIAS_KEYS } from "../../definitions";\n\n`; }); return output; -}; +} diff --git a/tools/node_modules/@babel/core/node_modules/@babel/types/scripts/generators/docs.js b/tools/node_modules/@babel/core/node_modules/@babel/types/scripts/generators/docs.js index 169894895b3c0b..f7b82e56d394f7 100644 --- a/tools/node_modules/@babel/core/node_modules/@babel/types/scripts/generators/docs.js +++ b/tools/node_modules/@babel/core/node_modules/@babel/types/scripts/generators/docs.js @@ -1,13 +1,16 @@ -"use strict"; +import util from "util"; +import stringifyValidator from "../utils/stringifyValidator.js"; +import toFunctionName from "../utils/toFunctionName.js"; -const util = require("util"); -const stringifyValidator = require("../utils/stringifyValidator"); -const toFunctionName = require("../utils/toFunctionName"); - -const types = require("../../"); +import t from "../../lib/index.js"; const readme = [ - `# @babel/types + `--- +id: babel-types +title: @babel/types +--- + > This module contains methods for building ASTs manually and for checking the types of AST nodes. @@ -36,53 +39,52 @@ const customTypes = { ObjectProperty: { key: "if computed then `Expression` else `Identifier | Literal`", }, + ClassPrivateMethod: { + computed: "'false'", + }, + ClassPrivateProperty: { + computed: "'false'", + }, }; -Object.keys(types.BUILDER_KEYS) - .sort() - .forEach(function (key) { - readme.push("### " + key[0].toLowerCase() + key.substr(1)); - readme.push("```javascript"); - readme.push( - "t." + - toFunctionName(key) + - "(" + - types.BUILDER_KEYS[key].join(", ") + - ")" - ); - readme.push("```"); +const APIHistory = { + ClassProperty: [["v7.6.0", "Supports `static`"]], +}; +function formatHistory(historyItems) { + const lines = historyItems.map( + item => "| `" + item[0] + "` | " + item[1] + " |" + ); + return [ + "
    ", + " History", + "| Version | Changes |", + "| --- | --- |", + ...lines, + "
    ", + ]; +} +function printAPIHistory(key, readme) { + if (APIHistory[key]) { readme.push(""); - readme.push( - "See also `t.is" + - key + - "(node, opts)` and `t.assert" + - key + - "(node, opts)`." - ); + readme.push(...formatHistory(APIHistory[key])); + } +} +function printNodeFields(key, readme) { + if (Object.keys(t.NODE_FIELDS[key]).length > 0) { readme.push(""); - if (types.ALIAS_KEYS[key] && types.ALIAS_KEYS[key].length) { - readme.push( - "Aliases: " + - types.ALIAS_KEYS[key] - .map(function (key) { - return "`" + key + "`"; - }) - .join(", ") - ); - readme.push(""); - } - Object.keys(types.NODE_FIELDS[key]) + readme.push("AST Node `" + key + "` shape:"); + Object.keys(t.NODE_FIELDS[key]) .sort(function (fieldA, fieldB) { - const indexA = types.BUILDER_KEYS[key].indexOf(fieldA); - const indexB = types.BUILDER_KEYS[key].indexOf(fieldB); + const indexA = t.BUILDER_KEYS[key].indexOf(fieldA); + const indexB = t.BUILDER_KEYS[key].indexOf(fieldB); if (indexA === indexB) return fieldA < fieldB ? -1 : 1; if (indexA === -1) return 1; if (indexB === -1) return -1; return indexA - indexB; }) .forEach(function (field) { - const defaultValue = types.NODE_FIELDS[key][field].default; + const defaultValue = t.NODE_FIELDS[key][field].default; const fieldDescription = ["`" + field + "`"]; - const validator = types.NODE_FIELDS[key][field].validate; + const validator = t.NODE_FIELDS[key][field].validate; if (customTypes[key] && customTypes[key][field]) { fieldDescription.push(`: ${customTypes[key][field]}`); } else if (validator) { @@ -99,23 +101,177 @@ Object.keys(types.BUILDER_KEYS) } } } - if (defaultValue !== null || types.NODE_FIELDS[key][field].optional) { + if (defaultValue !== null || t.NODE_FIELDS[key][field].optional) { fieldDescription.push( " (default: `" + util.inspect(defaultValue) + "`" ); - if (types.BUILDER_KEYS[key].indexOf(field) < 0) { + if (t.BUILDER_KEYS[key].indexOf(field) < 0) { fieldDescription.push(", excluded from builder function"); } fieldDescription.push(")"); } else { fieldDescription.push(" (required)"); } - readme.push(" - " + fieldDescription.join("")); + readme.push("- " + fieldDescription.join("")); }); + } +} + +function printAliasKeys(key, readme) { + if (t.ALIAS_KEYS[key] && t.ALIAS_KEYS[key].length) { + readme.push(""); + readme.push( + "Aliases: " + + t.ALIAS_KEYS[key] + .map(function (key) { + return "[`" + key + "`](#" + key.toLowerCase() + ")"; + }) + .join(", ") + ); + } +} +readme.push("### Node Builders"); +readme.push(""); +Object.keys(t.BUILDER_KEYS) + .sort() + .forEach(function (key) { + readme.push("#### " + toFunctionName(key)); + readme.push(""); + readme.push("```javascript"); + readme.push( + "t." + toFunctionName(key) + "(" + t.BUILDER_KEYS[key].join(", ") + ");" + ); + readme.push("```"); + printAPIHistory(key, readme); + readme.push(""); + readme.push( + "See also `t.is" + + key + + "(node, opts)` and `t.assert" + + key + + "(node, opts)`." + ); + + printNodeFields(key, readme); + printAliasKeys(key, readme); readme.push(""); readme.push("---"); readme.push(""); }); +function generateMapAliasToNodeTypes() { + const result = new Map(); + for (const nodeType of Object.keys(t.ALIAS_KEYS)) { + const aliases = t.ALIAS_KEYS[nodeType]; + if (!aliases) continue; + for (const alias of aliases) { + if (!result.has(alias)) { + result.set(alias, []); + } + const nodeTypes = result.get(alias); + nodeTypes.push(nodeType); + } + } + return result; +} +const aliasDescriptions = { + Binary: + "A cover of BinaryExpression and LogicalExpression, which share the same AST shape.", + Block: "Deprecated. Will be removed in Babel 8.", + BlockParent: + "A cover of AST nodes that start an execution context with new [LexicalEnvironment](https://tc39.es/ecma262/#table-additional-state-components-for-ecmascript-code-execution-contexts). In other words, they define the scope of `let` and `const` declarations.", + Class: + "A cover of ClassExpression and ClassDeclaration, which share the same AST shape.", + CompletionStatement: + "A statement that indicates the [completion records](https://tc39.es/ecma262/#sec-completion-record-specification-type). In other words, they define the control flow of the program, such as when should a loop break or an action throws critical errors.", + Conditional: + "A cover of ConditionalExpression and IfStatement, which share the same AST shape.", + Declaration: + "A cover of any [Declaration](https://tc39.es/ecma262/#prod-Declaration)s.", + EnumBody: "A cover of Flow enum bodies.", + EnumMember: "A cover of Flow enum membors.", + ExportDeclaration: + "A cover of any [ExportDeclaration](https://tc39.es/ecma262/#prod-ExportDeclaration)s.", + Expression: + "A cover of any [Expression](https://tc39.es/ecma262/#sec-ecmascript-language-expressions)s.", + ExpressionWrapper: + "A wrapper of expression that does not have runtime semantics.", + Flow: "A cover of AST nodes defined for Flow.", + FlowBaseAnnotation: "A cover of primary Flow type annotations.", + FlowDeclaration: "A cover of Flow declarations.", + FlowPredicate: "A cover of Flow predicates.", + FlowType: "A cover of Flow type annotations.", + For: "A cover of [ForStatement](https://tc39.es/ecma262/#sec-for-statement)s and [ForXStatement](#forxstatement)s.", + ForXStatement: + "A cover of [ForInStatements and ForOfStatements](https://tc39.es/ecma262/#sec-for-in-and-for-of-statements).", + Function: + "A cover of functions and [method](#method)s, the must have `body` and `params`. Note: `Function` is different to `FunctionParent`.", + FunctionParent: + "A cover of AST nodes that start an execution context with new [VariableEnvironment](https://tc39.es/ecma262/#table-additional-state-components-for-ecmascript-code-execution-contexts). In other words, they define the scope of `var` declarations. FunctionParent did not include `Program` since Babel 7.", + Immutable: + "A cover of immutable objects and JSX elements. An object is [immutable](https://tc39.es/ecma262/#immutable-prototype-exotic-object) if no other properties can be defined once created.", + JSX: "A cover of AST nodes defined for [JSX](https://facebook.github.io/jsx/).", + LVal: "A cover of left hand side expressions used in the `left` of assignment expressions and [ForXStatement](#forxstatement)s. ", + Literal: + "A cover of [Literal](https://tc39.es/ecma262/#sec-primary-expression-literals)s, [Regular Expression Literal](https://tc39.es/ecma262/#sec-primary-expression-regular-expression-literals)s and [Template Literal](https://tc39.es/ecma262/#sec-template-literals)s.", + Loop: "A cover of loop statements.", + Method: "A cover of object methods and class methods.", + ModuleDeclaration: + "A cover of ImportDeclaration and [ExportDeclaration](#exportdeclaration)", + ModuleSpecifier: + "A cover of import and export specifiers. Note: It is _not_ the [ModuleSpecifier](https://tc39.es/ecma262/#prod-ModuleSpecifier) defined in the spec.", + ObjectMember: + "A cover of [members](https://tc39.es/ecma262/#prod-PropertyDefinitionList) in an object literal.", + Pattern: + "A cover of [BindingPattern](https://tc39.es/ecma262/#prod-BindingPattern) except Identifiers.", + PatternLike: + "A cover of [BindingPattern](https://tc39.es/ecma262/#prod-BindingPattern)s. ", + Private: "A cover of private class elements and private identifiers.", + Property: "A cover of object properties and class properties.", + Pureish: + "A cover of AST nodes which do not have side-effects. In other words, there is no observable behaviour changes if they are evaluated more than once.", + Scopable: + "A cover of [FunctionParent](#functionparent) and [BlockParent](#blockparent).", + Statement: + "A cover of any [Statement](https://tc39.es/ecma262/#prod-Statement)s.", + TSBaseType: "A cover of primary TypeScript type annotations.", + TSEntityName: "A cover of ts entities.", + TSType: "A cover of TypeScript type annotations.", + TSTypeElement: "A cover of TypeScript type declarations.", + Terminatorless: + "A cover of AST nodes whose semantic will change when a line terminator is inserted between the operator and the operand.", + UnaryLike: "A cover of UnaryExpression and SpreadElement.", + UserWhitespacable: "Deprecated. Will be removed in Babel 8.", + While: + "A cover of DoWhileStatement and WhileStatement, which share the same AST shape.", +}; +const mapAliasToNodeTypes = generateMapAliasToNodeTypes(); +readme.push("### Aliases"); +readme.push(""); +for (const alias of [...mapAliasToNodeTypes.keys()].sort()) { + const nodeTypes = mapAliasToNodeTypes.get(alias); + nodeTypes.sort(); + if (!(alias in aliasDescriptions)) { + throw new Error( + 'Missing alias descriptions of "' + + alias + + ", which covers " + + nodeTypes.join(",") + ); + } + readme.push("#### " + alias); + readme.push(""); + readme.push(aliasDescriptions[alias]); + readme.push("```javascript"); + readme.push("t.is" + alias + "(node);"); + readme.push("```"); + readme.push(""); + readme.push("Covered nodes: "); + for (const nodeType of nodeTypes) { + readme.push("- [`" + nodeType + "`](#" + nodeType.toLowerCase() + ")"); + } + readme.push(""); +} + process.stdout.write(readme.join("\n")); diff --git a/tools/node_modules/@babel/core/node_modules/@babel/types/scripts/generators/flow.js b/tools/node_modules/@babel/core/node_modules/@babel/types/scripts/generators/flow.js index 8a0a7b2635511f..7fabcc67c52efd 100644 --- a/tools/node_modules/@babel/core/node_modules/@babel/types/scripts/generators/flow.js +++ b/tools/node_modules/@babel/core/node_modules/@babel/types/scripts/generators/flow.js @@ -1,8 +1,6 @@ -"use strict"; - -const t = require("../../"); -const stringifyValidator = require("../utils/stringifyValidator"); -const toFunctionName = require("../utils/toFunctionName"); +import t from "../../lib/index.js"; +import stringifyValidator from "../utils/stringifyValidator.js"; +import toFunctionName from "../utils/toFunctionName.js"; const NODE_PREFIX = "BabelNode"; diff --git a/tools/node_modules/@babel/core/node_modules/@babel/types/scripts/generators/typescript-legacy.js b/tools/node_modules/@babel/core/node_modules/@babel/types/scripts/generators/typescript-legacy.js index a77040681b91e6..40da48f4e7d5fe 100644 --- a/tools/node_modules/@babel/core/node_modules/@babel/types/scripts/generators/typescript-legacy.js +++ b/tools/node_modules/@babel/core/node_modules/@babel/types/scripts/generators/typescript-legacy.js @@ -1,8 +1,6 @@ -"use strict"; - -const t = require("../../lib"); -const stringifyValidator = require("../utils/stringifyValidator"); -const toFunctionName = require("../utils/toFunctionName"); +import t from "../../lib/index.js"; +import stringifyValidator from "../utils/stringifyValidator.js"; +import toFunctionName from "../utils/toFunctionName.js"; let code = `// NOTE: This file is autogenerated. Do not modify. // See packages/babel-types/scripts/generators/typescript-legacy.js for script used. diff --git a/tools/node_modules/@babel/core/node_modules/@babel/types/scripts/generators/validators.js b/tools/node_modules/@babel/core/node_modules/@babel/types/scripts/generators/validators.js index c63d447bcdd244..acd6da65750410 100644 --- a/tools/node_modules/@babel/core/node_modules/@babel/types/scripts/generators/validators.js +++ b/tools/node_modules/@babel/core/node_modules/@babel/types/scripts/generators/validators.js @@ -1,5 +1,4 @@ -"use strict"; -const definitions = require("../../lib/definitions"); +import definitions from "../../lib/definitions/index.js"; const has = Function.call.bind(Object.prototype.hasOwnProperty); @@ -62,7 +61,7 @@ function addIsHelper(type, aliasKeys, deprecated) { `; } -module.exports = function generateValidators() { +export default function generateValidators() { let output = `/* * This file is auto-generated! Do not modify it directly. * To re-generate run 'make build' @@ -85,4 +84,4 @@ import type * as t from "../..";\n\n`; }); return output; -}; +} diff --git a/tools/node_modules/@babel/core/node_modules/@babel/types/scripts/package.json b/tools/node_modules/@babel/core/node_modules/@babel/types/scripts/package.json new file mode 100644 index 00000000000000..5ffd9800b97cf2 --- /dev/null +++ b/tools/node_modules/@babel/core/node_modules/@babel/types/scripts/package.json @@ -0,0 +1 @@ +{ "type": "module" } diff --git a/tools/node_modules/@babel/core/node_modules/@babel/types/scripts/utils/formatBuilderName.js b/tools/node_modules/@babel/core/node_modules/@babel/types/scripts/utils/formatBuilderName.js index 621c468219519d..f00a3c4a610e22 100644 --- a/tools/node_modules/@babel/core/node_modules/@babel/types/scripts/utils/formatBuilderName.js +++ b/tools/node_modules/@babel/core/node_modules/@babel/types/scripts/utils/formatBuilderName.js @@ -1,10 +1,8 @@ -"use strict"; - const toLowerCase = Function.call.bind("".toLowerCase); -module.exports = function formatBuilderName(type) { +export default function formatBuilderName(type) { // FunctionExpression -> functionExpression // JSXIdentifier -> jsxIdentifier // V8IntrinsicIdentifier -> v8IntrinsicIdentifier return type.replace(/^([A-Z](?=[a-z0-9])|[A-Z]+(?=[A-Z]))/, toLowerCase); -}; +} diff --git a/tools/node_modules/@babel/core/node_modules/@babel/types/scripts/utils/lowerFirst.js b/tools/node_modules/@babel/core/node_modules/@babel/types/scripts/utils/lowerFirst.js index 9e7b0cee51c116..012f252a7f6d28 100644 --- a/tools/node_modules/@babel/core/node_modules/@babel/types/scripts/utils/lowerFirst.js +++ b/tools/node_modules/@babel/core/node_modules/@babel/types/scripts/utils/lowerFirst.js @@ -1,4 +1,3 @@ -"use strict"; -module.exports = function lowerFirst(string) { +export default function lowerFirst(string) { return string[0].toLowerCase() + string.slice(1); -}; +} diff --git a/tools/node_modules/@babel/core/node_modules/@babel/types/scripts/utils/stringifyValidator.js b/tools/node_modules/@babel/core/node_modules/@babel/types/scripts/utils/stringifyValidator.js index 2ea1e80357dd41..4b8d29c12c3049 100644 --- a/tools/node_modules/@babel/core/node_modules/@babel/types/scripts/utils/stringifyValidator.js +++ b/tools/node_modules/@babel/core/node_modules/@babel/types/scripts/utils/stringifyValidator.js @@ -1,4 +1,4 @@ -module.exports = function stringifyValidator(validator, nodePrefix) { +export default function stringifyValidator(validator, nodePrefix) { if (validator === undefined) { return "any"; } @@ -55,7 +55,7 @@ module.exports = function stringifyValidator(validator, nodePrefix) { } return ["any"]; -}; +} /** * Heuristic to decide whether or not the given type is a value type (eg. "null") diff --git a/tools/node_modules/@babel/core/node_modules/@babel/types/scripts/utils/toFunctionName.js b/tools/node_modules/@babel/core/node_modules/@babel/types/scripts/utils/toFunctionName.js index 627c9a7d8f0156..2b645780ec623f 100644 --- a/tools/node_modules/@babel/core/node_modules/@babel/types/scripts/utils/toFunctionName.js +++ b/tools/node_modules/@babel/core/node_modules/@babel/types/scripts/utils/toFunctionName.js @@ -1,4 +1,4 @@ -module.exports = function toFunctionName(typeName) { +export default function toFunctionName(typeName) { const _ = typeName.replace(/^TS/, "ts").replace(/^JSX/, "jsx"); return _.slice(0, 1).toLowerCase() + _.slice(1); -}; +} diff --git a/tools/node_modules/@babel/core/node_modules/browserslist/LICENSE b/tools/node_modules/@babel/core/node_modules/browserslist/LICENSE new file mode 100644 index 00000000000000..90b6b91673374a --- /dev/null +++ b/tools/node_modules/@babel/core/node_modules/browserslist/LICENSE @@ -0,0 +1,20 @@ +The MIT License (MIT) + +Copyright 2014 Andrey Sitnik and other contributors + +Permission is hereby granted, free of charge, to any person obtaining a copy of +this software and associated documentation files (the "Software"), to deal in +the Software without restriction, including without limitation the rights to +use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of +the Software, and to permit persons to whom the Software is furnished to do so, +subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS +FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR +COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER +IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN +CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. diff --git a/tools/node_modules/@babel/core/node_modules/browserslist/README.md b/tools/node_modules/@babel/core/node_modules/browserslist/README.md new file mode 100644 index 00000000000000..c12fb02021d046 --- /dev/null +++ b/tools/node_modules/@babel/core/node_modules/browserslist/README.md @@ -0,0 +1,701 @@ +# Browserslist [![Cult Of Martians][cult-img]][cult] + +Browserslist logo by Anton Lovchikov + +The config to share target browsers and Node.js versions between different +front-end tools. It is used in: + +* [Autoprefixer] +* [Babel] +* [postcss-preset-env] +* [eslint-plugin-compat] +* [stylelint-no-unsupported-browser-features] +* [postcss-normalize] +* [obsolete-webpack-plugin] + +All tools will find target browsers automatically, +when you add the following to `package.json`: + +```json + "browserslist": [ + "defaults", + "not IE 11", + "maintained node versions" + ] +``` + +Or in `.browserslistrc` config: + +```yaml +# Browsers that we support + +defaults +not IE 11 +maintained node versions +``` + +Developers set their version lists using queries like `last 2 versions` +to be free from updating versions manually. +Browserslist will use [`caniuse-lite`] with [Can I Use] data for this queries. + +Browserslist will take queries from tool option, +`browserslist` config, `.browserslistrc` config, +`browserslist` section in `package.json` or environment variables. + +[cult-img]: https://cultofmartians.com/assets/badges/badge.svg +[cult]: https://cultofmartians.com/done.html + + + Sponsored by Evil Martians + + +[stylelint-no-unsupported-browser-features]: https://github.com/ismay/stylelint-no-unsupported-browser-features +[eslint-plugin-compat]: https://github.com/amilajack/eslint-plugin-compat +[Browserslist Example]: https://github.com/browserslist/browserslist-example +[postcss-preset-env]: https://github.com/jonathantneal/postcss-preset-env +[postcss-normalize]: https://github.com/jonathantneal/postcss-normalize +[`caniuse-lite`]: https://github.com/ben-eb/caniuse-lite +[Autoprefixer]: https://github.com/postcss/autoprefixer +[Can I Use]: https://caniuse.com/ +[Babel]: https://github.com/babel/babel/tree/master/packages/babel-preset-env +[obsolete-webpack-plugin]: https://github.com/ElemeFE/obsolete-webpack-plugin + +## Table of Contents + +* [Tools](#tools) + * [Text Editors](#text-editors) +* [Best Practices](#best-practices) +* [Browsers Data Updating](#browsers-data-updating) +* [Queries](#queries) + * [Query Composition](#query-composition) + * [Full List](#full-list) + * [Debug](#debug) + * [Browsers](#browsers) +* [Config File](#config-file) + * [`package.json`](#packagejson) + * [`.browserslistrc`](#browserslistrc) +* [Shareable Configs](#shareable-configs) +* [Configuring for Different Environments](#configuring-for-different-environments) +* [Custom Usage Data](#custom-usage-data) +* [JS API](#js-api) +* [Environment Variables](#environment-variables) +* [Cache](#cache) +* [Security Contact](#security-contact) +* [For Enterprise](#for-enterprise) + +## Tools + +* [`browserl.ist`](https://browserl.ist/) is an online tool to check + what browsers will be selected by some query. +* [`browserslist-ga`] and [`browserslist-ga-export`] download your website + browsers statistics to use it in `> 0.5% in my stats` query. +* [`browserslist-useragent-regexp`] compiles Browserslist query to a RegExp + to test browser useragent. +* [`browserslist-useragent-ruby`] is a Ruby library to checks browser + by user agent string to match Browserslist. +* [`browserslist-browserstack`] runs BrowserStack tests for all browsers + in Browserslist config. +* [`browserslist-adobe-analytics`] use Adobe Analytics data to target browsers. +* [`caniuse-api`] returns browsers which support some specific feature. +* Run `npx browserslist` in your project directory to see project’s + target browsers. This CLI tool is built-in and available in any project + with Autoprefixer. + +[`browserslist-useragent-regexp`]: https://github.com/browserslist/browserslist-useragent-regexp +[`browserslist-adobe-analytics`]: https://github.com/xeroxinteractive/browserslist-adobe-analytics +[`browserslist-useragent-ruby`]: https://github.com/browserslist/browserslist-useragent-ruby +[`browserslist-browserstack`]: https://github.com/xeroxinteractive/browserslist-browserstack +[`browserslist-ga-export`]: https://github.com/browserslist/browserslist-ga-export +[`browserslist-useragent`]: https://github.com/pastelsky/browserslist-useragent +[`browserslist-ga`]: https://github.com/browserslist/browserslist-ga +[`caniuse-api`]: https://github.com/Nyalab/caniuse-api + + +### Text Editors + +These extensions will add syntax highlighting for `.browserslistrc` files. + +* [VS Code](https://marketplace.visualstudio.com/items?itemName=webben.browserslist) +* [Vim](https://github.com/browserslist/vim-browserslist) + +## Best Practices + +* There is a `defaults` query, which gives a reasonable configuration + for most users: + + ```json + "browserslist": [ + "defaults" + ] + ``` + +* If you want to change the default set of browsers, we recommend combining + `last 2 versions`, `not dead` with a usage number like `> 0.2%`. This is + because `last n versions` on its own does not add popular old versions, while + only using a percentage above `0.2%` will in the long run make popular + browsers even more popular. We might run into a monopoly and stagnation + situation, as we had with Internet Explorer 6. Please use this setting + with caution. +* Select browsers directly (`last 2 Chrome versions`) only if you are making + a web app for a kiosk with one browser. There are a lot of browsers + on the market. If you are making general web app you should respect + browsers diversity. +* Don’t remove browsers just because you don’t know them. Opera Mini has + 100 million users in Africa and it is more popular in the global market + than Microsoft Edge. Chinese QQ Browsers has more market share than Firefox + and desktop Safari combined. + + +## Browsers Data Updating + +`npx browserslist@latest --update-db` updates `caniuse-lite` version +in your npm, yarn or pnpm lock file. + +You need to do it regularly for two reasons: + +1. To use the latest browser’s versions and statistics in queries like + `last 2 versions` or `>1%`. For example, if you created your project + 2 years ago and did not update your dependencies, `last 1 version` + will return 2 year old browsers. +2. `caniuse-lite` deduplication: to synchronize version in different tools. + +> What is deduplication? + +Due to how npm architecture is setup, you may have a situation +where you have multiple versions of a single dependency required. + +Imagine you begin a project, and you add `autoprefixer` as a dependency. +npm looks for the latest `caniuse-lite` version (1.0.30000700) and adds it to +`package-lock.json` under `autoprefixer` dependencies. + +A year later, you decide to add Babel. At this moment, we have a +new version of `canuse-lite` (1.0.30000900). npm took the latest version +and added it to your lock file under `@babel/preset-env` dependencies. + +Now your lock file looks like this: + +```ocaml +autoprefixer 7.1.4 + browserslist 3.1.1 + caniuse-lite 1.0.30000700 +@babel/preset-env 7.10.0 + browserslist 4.13.0 + caniuse-lite 1.0.30000900 +``` + +As you can see, we now have two versions of `caniuse-lite` installed. + + +## Queries + +Browserslist will use browsers and Node.js versions query +from one of these sources: + +1. `browserslist` key in `package.json` file in current or parent directories. + **We recommend this way.** +2. `.browserslistrc` config file in current or parent directories. +3. `browserslist` config file in current or parent directories. +4. `BROWSERSLIST` environment variable. +5. If the above methods did not produce a valid result + Browserslist will use defaults: + `> 0.5%, last 2 versions, Firefox ESR, not dead`. + + +### Query Composition + +An `or` combiner can use the keyword `or` as well as `,`. +`last 1 version or > 1%` is equal to `last 1 version, > 1%`. + +`and` query combinations are also supported to perform an +intersection of all the previous queries: +`last 1 version or chrome > 75 and > 1%` will select +(`browser last version` or `Chrome since 76`) and `more than 1% marketshare`. + +There is 3 different ways to combine queries as depicted below. First you start +with a single query and then we combine the queries to get our final list. + +Obviously you can *not* start with a `not` combiner, since there is no left-hand +side query to combine it with. The left-hand is always resolved as `and` +combiner even if `or` is used (this is an API implementation specificity). + +| Query combiner type | Illustration | Example | +| ------------------- | :----------: | ------- | +|`or`/`,` combiner
    (union) | ![Union of queries](img/union.svg) | `> .5% or last 2 versions`
    `> .5%, last 2 versions` | +| `and` combiner
    (intersection) | ![intersection of queries](img/intersection.svg) | `> .5% and last 2 versions` | +| `not` combiner
    (relative complement) | ![Relative complement of queries](img/complement.svg) | All those three are equivalent to the first one
    `> .5% and not last 2 versions`
    `> .5% or not last 2 versions`
    `> .5%, not last 2 versions` | + +_A quick way to test your query is to do `npx browserslist '> 0.5%, not IE 11'` +in your terminal._ + +### Full List + +You can specify the browser and Node.js versions by queries (case insensitive): + +* `defaults`: Browserslist’s default browsers + (`> 0.5%, last 2 versions, Firefox ESR, not dead`). +* `> 5%`: browsers versions selected by global usage statistics. + `>=`, `<` and `<=` work too. + * `> 5% in US`: uses USA usage statistics. + It accepts [two-letter country code]. + * `> 5% in alt-AS`: uses Asia region usage statistics. + List of all region codes can be found at [`caniuse-lite/data/regions`]. + * `> 5% in my stats`: uses [custom usage data]. + * `> 5% in browserslist-config-mycompany stats`: uses [custom usage data] + from `browserslist-config-mycompany/browserslist-stats.json`. + * `cover 99.5%`: most popular browsers that provide coverage. + * `cover 99.5% in US`: same as above, with [two-letter country code]. + * `cover 99.5% in my stats`: uses [custom usage data]. +* `dead`: browsers without official support or updates for 24 months. + Right now it is `IE 10`, `IE_Mob 11`, `BlackBerry 10`, `BlackBerry 7`, + `Samsung 4` and `OperaMobile 12.1`. +* `last 2 versions`: the last 2 versions for *each* browser. + * `last 2 Chrome versions`: the last 2 versions of Chrome browser. + * `last 2 major versions` or `last 2 iOS major versions`: + all minor/patch releases of last 2 major versions. +* `node 10` and `node 10.4`: selects latest Node.js `10.x.x` + or `10.4.x` release. + * `current node`: Node.js version used by Browserslist right now. + * `maintained node versions`: all Node.js versions, which are [still maintained] + by Node.js Foundation. +* `iOS 7`: the iOS browser version 7 directly. + * `Firefox > 20`: versions of Firefox newer than 20. + `>=`, `<` and `<=` work too. It also works with Node.js. + * `ie 6-8`: selects an inclusive range of versions. + * `Firefox ESR`: the latest [Firefox Extended Support Release]. + * `PhantomJS 2.1` and `PhantomJS 1.9`: selects Safari versions similar + to PhantomJS runtime. +* `extends browserslist-config-mycompany`: take queries from + `browserslist-config-mycompany` npm package. +* `supports es6-module`: browsers with support for specific features. + `es6-module` here is the `feat` parameter at the URL of the [Can I Use] + page. A list of all available features can be found at + [`caniuse-lite/data/features`]. +* `browserslist config`: the browsers defined in Browserslist config. Useful + in Differential Serving to modify user’s config like + `browserslist config and supports es6-module`. +* `since 2015` or `last 2 years`: all versions released since year 2015 + (also `since 2015-03` and `since 2015-03-10`). +* `unreleased versions` or `unreleased Chrome versions`: + alpha and beta versions. +* `not ie <= 8`: exclude IE 8 and lower from previous queries. + +You can add `not ` to any query. + +[`caniuse-lite/data/regions`]: https://github.com/ben-eb/caniuse-lite/tree/master/data/regions +[`caniuse-lite/data/features`]: https://github.com/ben-eb/caniuse-lite/tree/master/data/features +[two-letter country code]: https://en.wikipedia.org/wiki/ISO_3166-1_alpha-2#Officially_assigned_code_elements +[custom usage data]: #custom-usage-data +[still maintained]: https://github.com/nodejs/Release +[Can I Use]: https://caniuse.com/ +[Firefox Extended Support Release]: https://support.mozilla.org/en-US/kb/choosing-firefox-update-channel + + +### Debug + +Run `npx browserslist` in project directory to see what browsers was selected +by your queries. + +```sh +$ npx browserslist +and_chr 61 +and_ff 56 +and_qq 1.2 +and_uc 11.4 +android 56 +baidu 7.12 +bb 10 +chrome 62 +edge 16 +firefox 56 +ios_saf 11 +opera 48 +safari 11 +samsung 5 +``` + + +### Browsers + +Names are case insensitive: + +* `Android` for Android WebView. +* `Baidu` for Baidu Browser. +* `BlackBerry` or `bb` for Blackberry browser. +* `Chrome` for Google Chrome. +* `ChromeAndroid` or `and_chr` for Chrome for Android +* `Edge` for Microsoft Edge. +* `Electron` for Electron framework. It will be converted to Chrome version. +* `Explorer` or `ie` for Internet Explorer. +* `ExplorerMobile` or `ie_mob` for Internet Explorer Mobile. +* `Firefox` or `ff` for Mozilla Firefox. +* `FirefoxAndroid` or `and_ff` for Firefox for Android. +* `iOS` or `ios_saf` for iOS Safari. +* `Node` for Node.js. +* `Opera` for Opera. +* `OperaMini` or `op_mini` for Opera Mini. +* `OperaMobile` or `op_mob` for Opera Mobile. +* `QQAndroid` or `and_qq` for QQ Browser for Android. +* `Safari` for desktop Safari. +* `Samsung` for Samsung Internet. +* `UCAndroid` or `and_uc` for UC Browser for Android. +* `kaios` for KaiOS Browser. + + +## Config File + +### `package.json` + +If you want to reduce config files in project root, you can specify +browsers in `package.json` with `browserslist` key: + +```json +{ + "private": true, + "dependencies": { + "autoprefixer": "^6.5.4" + }, + "browserslist": [ + "last 1 version", + "> 1%", + "IE 10" + ] +} +``` + + +### `.browserslistrc` + +Separated Browserslist config should be named `.browserslistrc` +and have browsers queries split by a new line. +Each line is combined with the `or` combiner. Comments starts with `#` symbol: + +```yaml +# Browsers that we support + +last 1 version +> 1% +IE 10 # sorry +``` + +Browserslist will check config in every directory in `path`. +So, if tool process `app/styles/main.css`, you can put config to root, +`app/` or `app/styles`. + +You can specify direct path in `BROWSERSLIST_CONFIG` environment variables. + + +## Shareable Configs + +You can use the following query to reference an exported Browserslist config +from another package: + +```json + "browserslist": [ + "extends browserslist-config-mycompany" + ] +``` + +For security reasons, external configuration only supports packages that have +the `browserslist-config-` prefix. npm scoped packages are also supported, by +naming or prefixing the module with `@scope/browserslist-config`, such as +`@scope/browserslist-config` or `@scope/browserslist-config-mycompany`. + +If you don’t accept Browserslist queries from users, you can disable the +validation by using the or `BROWSERSLIST_DANGEROUS_EXTEND` environment variable. + +```sh +BROWSERSLIST_DANGEROUS_EXTEND=1 npx webpack +``` + +Because this uses `npm`'s resolution, you can also reference specific files +in a package: + +```json + "browserslist": [ + "extends browserslist-config-mycompany/desktop", + "extends browserslist-config-mycompany/mobile" + ] +``` + +When writing a shared Browserslist package, just export an array. +`browserslist-config-mycompany/index.js`: + +```js +module.exports = [ + 'last 1 version', + '> 1%', + 'ie 10' +] +``` + +You can also include a `browserslist-stats.json` file as part of your shareable +config at the root and query it using +`> 5% in browserslist-config-mycompany stats`. It uses the same format +as `extends` and the `dangerousExtend` property as above. + +You can export configs for different environments and select environment +by `BROWSERSLIST_ENV` or `env` option in your tool: + +```js +module.exports = { + development: [ + 'last 1 version' + ], + production: [ + 'last 1 version', + '> 1%', + 'ie 10' + ] +} +``` + + +## Configuring for Different Environments + +You can also specify different browser queries for various environments. +Browserslist will choose query according to `BROWSERSLIST_ENV` or `NODE_ENV` +variables. If none of them is declared, Browserslist will firstly look +for `production` queries and then use defaults. + +In `package.json`: + +```js + "browserslist": { + "production": [ + "> 1%", + "ie 10" + ], + "modern": [ + "last 1 chrome version", + "last 1 firefox version" + ], + "ssr": [ + "node 12" + ] + } +``` + +In `.browserslistrc` config: + +```ini +[production] +> 1% +ie 10 + +[modern] +last 1 chrome version +last 1 firefox version + +[ssr] +node 12 +``` + + +## Custom Usage Data + +If you have a website, you can query against the usage statistics of your site. +[`browserslist-ga`] will ask access to Google Analytics and then generate +`browserslist-stats.json`: + +``` +npx browserslist-ga +``` + +Or you can use [`browserslist-ga-export`] to convert Google Analytics data without giving a password for Google account. + +You can generate usage statistics file by any other method. File format should +be like: + +```js +{ + "ie": { + "6": 0.01, + "7": 0.4, + "8": 1.5 + }, + "chrome": { + … + }, + … +} +``` + +Note that you can query against your custom usage data while also querying +against global or regional data. For example, the query +`> 1% in my stats, > 5% in US, 10%` is permitted. + +[`browserslist-ga-export`]: https://github.com/browserslist/browserslist-ga-export +[`browserslist-ga`]: https://github.com/browserslist/browserslist-ga +[Can I Use]: https://caniuse.com/ + + +## JS API + +```js +const browserslist = require('browserslist') + +// Your CSS/JS build tool code +function process (source, opts) { + const browsers = browserslist(opts.overrideBrowserslist, { + stats: opts.stats, + path: opts.file, + env: opts.env + }) + // Your code to add features for selected browsers +} +``` + +Queries can be a string `"> 1%, IE 10"` +or an array `['> 1%', 'IE 10']`. + +If a query is missing, Browserslist will look for a config file. +You can provide a `path` option (that can be a file) to find the config file +relatively to it. + +Options: + +* `path`: file or a directory path to look for config file. Default is `.`. +* `env`: what environment section use from config. Default is `production`. +* `stats`: custom usage statistics data. +* `config`: path to config if you want to set it manually. +* `ignoreUnknownVersions`: do not throw on direct query (like `ie 12`). + Default is `false`. +* `dangerousExtend`: Disable security checks for `extend` query. + Default is `false`. +* `mobileToDesktop`: Use desktop browsers if Can I Use doesn’t have data + about this mobile version. For instance, Browserslist will return + `chrome 20` on `and_chr 20` query (Can I Use has only data only about + latest versions of mobile browsers). Default is `false`. + +For non-JS environment and debug purpose you can use CLI tool: + +```sh +browserslist "> 1%, IE 10" +``` + +You can get total users coverage for selected browsers by JS API: + +```js +browserslist.coverage(browserslist('> 1%')) +//=> 81.4 +``` + +```js +browserslist.coverage(browserslist('> 1% in US'), 'US') +//=> 83.1 +``` + +```js +browserslist.coverage(browserslist('> 1% in my stats'), 'my stats') +//=> 83.1 +``` + +```js +browserslist.coverage(browserslist('> 1% in my stats', { stats }), stats) +//=> 82.2 +``` + +Or by CLI: + +```sh +$ browserslist --coverage "> 1%" +These browsers account for 81.4% of all users globally +``` + +```sh +$ browserslist --coverage=US "> 1% in US" +These browsers account for 83.1% of all users in the US +``` + +```sh +$ browserslist --coverage "> 1% in my stats" +These browsers account for 83.1% of all users in custom statistics +``` + +```sh +$ browserslist --coverage "> 1% in my stats" --stats=./stats.json +These browsers account for 83.1% of all users in custom statistics +``` + + +## Environment Variables + +If a tool uses Browserslist inside, you can change the Browserslist settings +with [environment variables]: + +* `BROWSERSLIST` with browsers queries. + + ```sh + BROWSERSLIST="> 5%" npx webpack + ``` + +* `BROWSERSLIST_CONFIG` with path to config file. + + ```sh + BROWSERSLIST_CONFIG=./config/browserslist npx webpack + ``` + +* `BROWSERSLIST_ENV` with environments string. + + ```sh + BROWSERSLIST_ENV="development" npx webpack + ``` + +* `BROWSERSLIST_STATS` with path to the custom usage data + for `> 1% in my stats` query. + + ```sh + BROWSERSLIST_STATS=./config/usage_data.json npx webpack + ``` + +* `BROWSERSLIST_DISABLE_CACHE` if you want to disable config reading cache. + + ```sh + BROWSERSLIST_DISABLE_CACHE=1 npx webpack + ``` + +* `BROWSERSLIST_DANGEROUS_EXTEND` to disable security shareable config + name check. + + ```sh + BROWSERSLIST_DANGEROUS_EXTEND=1 npx webpack + ``` + +[environment variables]: https://en.wikipedia.org/wiki/Environment_variable + + +## Cache + +Browserslist caches the configuration it reads from `package.json` and +`browserslist` files, as well as knowledge about the existence of files, +for the duration of the hosting process. + +To clear these caches, use: + +```js +browserslist.clearCaches() +``` + +To disable the caching altogether, set the `BROWSERSLIST_DISABLE_CACHE` +environment variable. + + +## Security Contact + +To report a security vulnerability, please use the [Tidelift security contact]. +Tidelift will coordinate the fix and disclosure. + +[Tidelift security contact]: https://tidelift.com/security + + +## For Enterprise + +Available as part of the Tidelift Subscription. + +The maintainers of `browserslist` and thousands of other packages are working +with Tidelift to deliver commercial support and maintenance for the open source +dependencies you use to build your applications. Save time, reduce risk, +and improve code health, while paying the maintainers of the exact dependencies +you use. [Learn more.](https://tidelift.com/subscription/pkg/npm-browserslist?utm_source=npm-browserslist&utm_medium=referral&utm_campaign=enterprise&utm_term=repo) diff --git a/tools/node_modules/@babel/core/node_modules/browserslist/browser.js b/tools/node_modules/@babel/core/node_modules/browserslist/browser.js new file mode 100644 index 00000000000000..39e9ec349d2b78 --- /dev/null +++ b/tools/node_modules/@babel/core/node_modules/browserslist/browser.js @@ -0,0 +1,46 @@ +var BrowserslistError = require('./error') + +function noop () { } + +module.exports = { + loadQueries: function loadQueries () { + throw new BrowserslistError( + 'Sharable configs are not supported in client-side build of Browserslist') + }, + + getStat: function getStat (opts) { + return opts.stats + }, + + loadConfig: function loadConfig (opts) { + if (opts.config) { + throw new BrowserslistError( + 'Browserslist config are not supported in client-side build') + } + }, + + loadCountry: function loadCountry () { + throw new BrowserslistError( + 'Country statistics are not supported ' + + 'in client-side build of Browserslist') + }, + + loadFeature: function loadFeature () { + throw new BrowserslistError( + 'Supports queries are not available in client-side build of Browserslist') + }, + + currentNode: function currentNode (resolve, context) { + return resolve(['maintained node versions'], context)[0] + }, + + parseConfig: noop, + + readConfig: noop, + + findConfig: noop, + + clearCaches: noop, + + oldDataWarning: noop +} diff --git a/tools/node_modules/@babel/core/node_modules/browserslist/cli.js b/tools/node_modules/@babel/core/node_modules/browserslist/cli.js new file mode 100755 index 00000000000000..526885fdb145db --- /dev/null +++ b/tools/node_modules/@babel/core/node_modules/browserslist/cli.js @@ -0,0 +1,145 @@ +#!/usr/bin/env node + +var fs = require('fs') + +var browserslist = require('./') +var updateDb = require('./update-db') +var pkg = require('./package.json') + +var args = process.argv.slice(2) + +var USAGE = 'Usage:\n' + + ' npx browserslist\n' + + ' npx browserslist "QUERIES"\n' + + ' npx browserslist --json "QUERIES"\n' + + ' npx browserslist --config="path/to/browserlist/file"\n' + + ' npx browserslist --coverage "QUERIES"\n' + + ' npx browserslist --coverage=US "QUERIES"\n' + + ' npx browserslist --coverage=US,RU,global "QUERIES"\n' + + ' npx browserslist --env="environment name defined in config"\n' + + ' npx browserslist --stats="path/to/browserlist/stats/file"\n' + + ' npx browserslist --mobile-to-desktop\n' + + ' npx browserslist --update-db' + +function isArg (arg) { + return args.some(function (str) { + return str === arg || str.indexOf(arg + '=') === 0 + }) +} + +function error (msg) { + process.stderr.write('browserslist: ' + msg + '\n') + process.exit(1) +} + +if (isArg('--help') || isArg('-h')) { + process.stdout.write(pkg.description + '.\n\n' + USAGE + '\n') +} else if (isArg('--version') || isArg('-v')) { + process.stdout.write('browserslist ' + pkg.version + '\n') +} else if (isArg('--update-db')) { + updateDb(function (str) { + process.stdout.write(str) + }) +} else { + var mode = 'browsers' + var opts = { } + var queries + var areas + + for (var i = 0; i < args.length; i++) { + if (args[i][0] !== '-') { + queries = args[i].replace(/^["']|["']$/g, '') + continue + } + + var arg = args[i].split('=') + var name = arg[0] + var value = arg[1] + + if (value) value = value.replace(/^["']|["']$/g, '') + + if (name === '--config' || name === '-b') { + opts.config = value + } else if (name === '--env' || name === '-e') { + opts.env = value + } else if (name === '--stats' || name === '-s') { + opts.stats = value + } else if (name === '--coverage' || name === '-c') { + if (mode !== 'json') mode = 'coverage' + if (value) { + areas = value.split(',') + } else { + areas = ['global'] + } + } else if (name === '--json') { + mode = 'json' + } else if (name === '--mobile-to-desktop') { + opts.mobileToDesktop = true + } else { + error('Unknown arguments ' + args[i] + '.\n\n' + USAGE) + } + } + + var browsers + try { + browsers = browserslist(queries, opts) + } catch (e) { + if (e.name === 'BrowserslistError') { + error(e.message) + } else { + throw e + } + } + + var coverage + if (mode === 'browsers') { + browsers.forEach(function (browser) { + process.stdout.write(browser + '\n') + }) + } else if (areas) { + coverage = areas.map(function (area) { + var stats + if (area !== 'global') { + stats = area + } else if (opts.stats) { + stats = JSON.parse(fs.readFileSync(opts.stats)) + } + var result = browserslist.coverage(browsers, stats) + var round = Math.round(result * 100) / 100.0 + + return [area, round] + }) + + if (mode === 'coverage') { + var prefix = 'These browsers account for ' + process.stdout.write(prefix) + coverage.forEach(function (data, index) { + var area = data[0] + var round = data[1] + var end = 'globally' + if (area && area !== 'global') { + end = 'in the ' + area.toUpperCase() + } else if (opts.stats) { + end = 'in custom statistics' + } + + if (index !== 0) { + process.stdout.write(prefix.replace(/./g, ' ')) + } + + process.stdout.write(round + '% of all users ' + end + '\n') + }) + } + } + + if (mode === 'json') { + var data = { browsers: browsers } + if (coverage) { + data.coverage = coverage.reduce(function (object, j) { + object[j[0]] = j[1] + return object + }, { }) + } + process.stdout.write(JSON.stringify(data, null, ' ') + '\n') + } +} diff --git a/tools/node_modules/@babel/core/node_modules/browserslist/error.js b/tools/node_modules/@babel/core/node_modules/browserslist/error.js new file mode 100644 index 00000000000000..b3bc0fe94c69ec --- /dev/null +++ b/tools/node_modules/@babel/core/node_modules/browserslist/error.js @@ -0,0 +1,12 @@ +function BrowserslistError (message) { + this.name = 'BrowserslistError' + this.message = message + this.browserslist = true + if (Error.captureStackTrace) { + Error.captureStackTrace(this, BrowserslistError) + } +} + +BrowserslistError.prototype = Error.prototype + +module.exports = BrowserslistError diff --git a/tools/node_modules/@babel/core/node_modules/browserslist/index.js b/tools/node_modules/@babel/core/node_modules/browserslist/index.js new file mode 100644 index 00000000000000..56ac717b4bd5e1 --- /dev/null +++ b/tools/node_modules/@babel/core/node_modules/browserslist/index.js @@ -0,0 +1,1215 @@ +var jsReleases = require('node-releases/data/processed/envs.json') +var agents = require('caniuse-lite/dist/unpacker/agents').agents +var jsEOL = require('node-releases/data/release-schedule/release-schedule.json') +var path = require('path') +var e2c = require('electron-to-chromium/versions') + +var BrowserslistError = require('./error') +var env = require('./node') // Will load browser.js in webpack + +var YEAR = 365.259641 * 24 * 60 * 60 * 1000 +var ANDROID_EVERGREEN_FIRST = 37 + +var QUERY_OR = 1 +var QUERY_AND = 2 + +function isVersionsMatch (versionA, versionB) { + return (versionA + '.').indexOf(versionB + '.') === 0 +} + +function isEolReleased (name) { + var version = name.slice(1) + return jsReleases.some(function (i) { + return isVersionsMatch(i.version, version) + }) +} + +function normalize (versions) { + return versions.filter(function (version) { + return typeof version === 'string' + }) +} + +function normalizeElectron (version) { + var versionToUse = version + if (version.split('.').length === 3) { + versionToUse = version + .split('.') + .slice(0, -1) + .join('.') + } + return versionToUse +} + +function nameMapper (name) { + return function mapName (version) { + return name + ' ' + version + } +} + +function getMajor (version) { + return parseInt(version.split('.')[0]) +} + +function getMajorVersions (released, number) { + if (released.length === 0) return [] + var majorVersions = uniq(released.map(getMajor)) + var minimum = majorVersions[majorVersions.length - number] + if (!minimum) { + return released + } + var selected = [] + for (var i = released.length - 1; i >= 0; i--) { + if (minimum > getMajor(released[i])) break + selected.unshift(released[i]) + } + return selected +} + +function uniq (array) { + var filtered = [] + for (var i = 0; i < array.length; i++) { + if (filtered.indexOf(array[i]) === -1) filtered.push(array[i]) + } + return filtered +} + +// Helpers + +function fillUsage (result, name, data) { + for (var i in data) { + result[name + ' ' + i] = data[i] + } +} + +function generateFilter (sign, version) { + version = parseFloat(version) + if (sign === '>') { + return function (v) { + return parseFloat(v) > version + } + } else if (sign === '>=') { + return function (v) { + return parseFloat(v) >= version + } + } else if (sign === '<') { + return function (v) { + return parseFloat(v) < version + } + } else { + return function (v) { + return parseFloat(v) <= version + } + } +} + +function generateSemverFilter (sign, version) { + version = version.split('.').map(parseSimpleInt) + version[1] = version[1] || 0 + version[2] = version[2] || 0 + if (sign === '>') { + return function (v) { + v = v.split('.').map(parseSimpleInt) + return compareSemver(v, version) > 0 + } + } else if (sign === '>=') { + return function (v) { + v = v.split('.').map(parseSimpleInt) + return compareSemver(v, version) >= 0 + } + } else if (sign === '<') { + return function (v) { + v = v.split('.').map(parseSimpleInt) + return compareSemver(version, v) > 0 + } + } else { + return function (v) { + v = v.split('.').map(parseSimpleInt) + return compareSemver(version, v) >= 0 + } + } +} + +function parseSimpleInt (x) { + return parseInt(x) +} + +function compare (a, b) { + if (a < b) return -1 + if (a > b) return +1 + return 0 +} + +function compareSemver (a, b) { + return ( + compare(parseInt(a[0]), parseInt(b[0])) || + compare(parseInt(a[1] || '0'), parseInt(b[1] || '0')) || + compare(parseInt(a[2] || '0'), parseInt(b[2] || '0')) + ) +} + +// this follows the npm-like semver behavior +function semverFilterLoose (operator, range) { + range = range.split('.').map(parseSimpleInt) + if (typeof range[1] === 'undefined') { + range[1] = 'x' + } + // ignore any patch version because we only return minor versions + // range[2] = 'x' + switch (operator) { + case '<=': + return function (version) { + version = version.split('.').map(parseSimpleInt) + return compareSemverLoose(version, range) <= 0 + } + default: + case '>=': + return function (version) { + version = version.split('.').map(parseSimpleInt) + return compareSemverLoose(version, range) >= 0 + } + } +} + +// this follows the npm-like semver behavior +function compareSemverLoose (version, range) { + if (version[0] !== range[0]) { + return version[0] < range[0] ? -1 : +1 + } + if (range[1] === 'x') { + return 0 + } + if (version[1] !== range[1]) { + return version[1] < range[1] ? -1 : +1 + } + return 0 +} + +function resolveVersion (data, version) { + if (data.versions.indexOf(version) !== -1) { + return version + } else if (browserslist.versionAliases[data.name][version]) { + return browserslist.versionAliases[data.name][version] + } else { + return false + } +} + +function normalizeVersion (data, version) { + var resolved = resolveVersion(data, version) + if (resolved) { + return resolved + } else if (data.versions.length === 1) { + return data.versions[0] + } else { + return false + } +} + +function filterByYear (since, context) { + since = since / 1000 + return Object.keys(agents).reduce(function (selected, name) { + var data = byName(name, context) + if (!data) return selected + var versions = Object.keys(data.releaseDate).filter(function (v) { + return data.releaseDate[v] >= since + }) + return selected.concat(versions.map(nameMapper(data.name))) + }, []) +} + +function cloneData (data) { + return { + name: data.name, + versions: data.versions, + released: data.released, + releaseDate: data.releaseDate + } +} + +function mapVersions (data, map) { + data.versions = data.versions.map(function (i) { + return map[i] || i + }) + data.released = data.versions.map(function (i) { + return map[i] || i + }) + var fixedDate = { } + for (var i in data.releaseDate) { + fixedDate[map[i] || i] = data.releaseDate[i] + } + data.releaseDate = fixedDate + return data +} + +function byName (name, context) { + name = name.toLowerCase() + name = browserslist.aliases[name] || name + if (context.mobileToDesktop && browserslist.desktopNames[name]) { + var desktop = browserslist.data[browserslist.desktopNames[name]] + if (name === 'android') { + return normalizeAndroidData(cloneData(browserslist.data[name]), desktop) + } else { + var cloned = cloneData(desktop) + cloned.name = name + if (name === 'op_mob') { + cloned = mapVersions(cloned, { '10.0-10.1': '10' }) + } + return cloned + } + } + return browserslist.data[name] +} + +function normalizeAndroidVersions (androidVersions, chromeVersions) { + var firstEvergreen = ANDROID_EVERGREEN_FIRST + var last = chromeVersions[chromeVersions.length - 1] + return androidVersions + .filter(function (version) { return /^(?:[2-4]\.|[34]$)/.test(version) }) + .concat(chromeVersions.slice(firstEvergreen - last - 1)) +} + +function normalizeAndroidData (android, chrome) { + android.released = normalizeAndroidVersions(android.released, chrome.released) + android.versions = normalizeAndroidVersions(android.versions, chrome.versions) + return android +} + +function checkName (name, context) { + var data = byName(name, context) + if (!data) throw new BrowserslistError('Unknown browser ' + name) + return data +} + +function unknownQuery (query) { + return new BrowserslistError( + 'Unknown browser query `' + query + '`. ' + + 'Maybe you are using old Browserslist or made typo in query.' + ) +} + +function filterAndroid (list, versions, context) { + if (context.mobileToDesktop) return list + var released = browserslist.data.android.released + var last = released[released.length - 1] + var diff = last - ANDROID_EVERGREEN_FIRST - versions + if (diff > 0) { + return list.slice(-1) + } else { + return list.slice(diff - 1) + } +} + +/** + * Resolves queries into a browser list. + * @param {string|string[]} queries Queries to combine. + * Either an array of queries or a long string of queries. + * @param {object} [context] Optional arguments to + * the select function in `queries`. + * @returns {string[]} A list of browsers + */ +function resolve (queries, context) { + if (Array.isArray(queries)) { + queries = flatten(queries.map(parse)) + } else { + queries = parse(queries) + } + + return queries.reduce(function (result, query, index) { + var selection = query.queryString + + var isExclude = selection.indexOf('not ') === 0 + if (isExclude) { + if (index === 0) { + throw new BrowserslistError( + 'Write any browsers query (for instance, `defaults`) ' + + 'before `' + selection + '`') + } + selection = selection.slice(4) + } + + for (var i = 0; i < QUERIES.length; i++) { + var type = QUERIES[i] + var match = selection.match(type.regexp) + if (match) { + var args = [context].concat(match.slice(1)) + var array = type.select.apply(browserslist, args).map(function (j) { + var parts = j.split(' ') + if (parts[1] === '0') { + return parts[0] + ' ' + byName(parts[0], context).versions[0] + } else { + return j + } + }) + + switch (query.type) { + case QUERY_AND: + if (isExclude) { + return result.filter(function (j) { + return array.indexOf(j) === -1 + }) + } else { + return result.filter(function (j) { + return array.indexOf(j) !== -1 + }) + } + case QUERY_OR: + default: + if (isExclude) { + var filter = { } + array.forEach(function (j) { + filter[j] = true + }) + return result.filter(function (j) { + return !filter[j] + }) + } + return result.concat(array) + } + } + } + + throw unknownQuery(selection) + }, []) +} + +var cache = { } + +/** + * Return array of browsers by selection queries. + * + * @param {(string|string[])} [queries=browserslist.defaults] Browser queries. + * @param {object} [opts] Options. + * @param {string} [opts.path="."] Path to processed file. + * It will be used to find config files. + * @param {string} [opts.env="production"] Processing environment. + * It will be used to take right + * queries from config file. + * @param {string} [opts.config] Path to config file with queries. + * @param {object} [opts.stats] Custom browser usage statistics + * for "> 1% in my stats" query. + * @param {boolean} [opts.ignoreUnknownVersions=false] Do not throw on unknown + * version in direct query. + * @param {boolean} [opts.dangerousExtend] Disable security checks + * for extend query. + * @param {boolean} [opts.mobileToDesktop] Alias mobile browsers to the desktop + * version when Can I Use doesn't have + * data about the specified version. + * @returns {string[]} Array with browser names in Can I Use. + * + * @example + * browserslist('IE >= 10, IE 8') //=> ['ie 11', 'ie 10', 'ie 8'] + */ +function browserslist (queries, opts) { + if (typeof opts === 'undefined') opts = { } + + if (typeof opts.path === 'undefined') { + opts.path = path.resolve ? path.resolve('.') : '.' + } + + if (typeof queries === 'undefined' || queries === null) { + var config = browserslist.loadConfig(opts) + if (config) { + queries = config + } else { + queries = browserslist.defaults + } + } + + if (!(typeof queries === 'string' || Array.isArray(queries))) { + throw new BrowserslistError( + 'Browser queries must be an array or string. Got ' + typeof queries + '.') + } + + var context = { + ignoreUnknownVersions: opts.ignoreUnknownVersions, + dangerousExtend: opts.dangerousExtend, + mobileToDesktop: opts.mobileToDesktop, + path: opts.path, + env: opts.env + } + + env.oldDataWarning(browserslist.data) + var stats = env.getStat(opts, browserslist.data) + if (stats) { + context.customUsage = { } + for (var browser in stats) { + fillUsage(context.customUsage, browser, stats[browser]) + } + } + + var cacheKey = JSON.stringify([queries, context]) + if (cache[cacheKey]) return cache[cacheKey] + + var result = uniq(resolve(queries, context)).sort(function (name1, name2) { + name1 = name1.split(' ') + name2 = name2.split(' ') + if (name1[0] === name2[0]) { + // assumptions on caniuse data + // 1) version ranges never overlaps + // 2) if version is not a range, it never contains `-` + var version1 = name1[1].split('-')[0] + var version2 = name2[1].split('-')[0] + return compareSemver(version2.split('.'), version1.split('.')) + } else { + return compare(name1[0], name2[0]) + } + }) + if (!process.env.BROWSERSLIST_DISABLE_CACHE) { + cache[cacheKey] = result + } + return result +} + +function parse (queries) { + var qs = [] + do { + queries = doMatch(queries, qs) + } while (queries) + return qs +} + +function doMatch (string, qs) { + var or = /^(?:,\s*|\s+or\s+)(.*)/i + var and = /^\s+and\s+(.*)/i + + return find(string, function (parsed, n, max) { + if (and.test(parsed)) { + qs.unshift({ type: QUERY_AND, queryString: parsed.match(and)[1] }) + return true + } else if (or.test(parsed)) { + qs.unshift({ type: QUERY_OR, queryString: parsed.match(or)[1] }) + return true + } else if (n === max) { + qs.unshift({ type: QUERY_OR, queryString: parsed.trim() }) + return true + } + return false + }) +} + +function find (string, predicate) { + for (var n = 1, max = string.length; n <= max; n++) { + var parsed = string.substr(-n, n) + if (predicate(parsed, n, max)) { + return string.slice(0, -n) + } + } + return '' +} + +function flatten (array) { + if (!Array.isArray(array)) return [array] + return array.reduce(function (a, b) { + return a.concat(flatten(b)) + }, []) +} + +// Will be filled by Can I Use data below +browserslist.cache = { } +browserslist.data = { } +browserslist.usage = { + global: { }, + custom: null +} + +// Default browsers query +browserslist.defaults = [ + '> 0.5%', + 'last 2 versions', + 'Firefox ESR', + 'not dead' +] + +// Browser names aliases +browserslist.aliases = { + fx: 'firefox', + ff: 'firefox', + ios: 'ios_saf', + explorer: 'ie', + blackberry: 'bb', + explorermobile: 'ie_mob', + operamini: 'op_mini', + operamobile: 'op_mob', + chromeandroid: 'and_chr', + firefoxandroid: 'and_ff', + ucandroid: 'and_uc', + qqandroid: 'and_qq' +} + +// Can I Use only provides a few versions for some browsers (e.g. and_chr). +// Fallback to a similar browser for unknown versions +browserslist.desktopNames = { + and_chr: 'chrome', + and_ff: 'firefox', + ie_mob: 'ie', + op_mob: 'opera', + android: 'chrome' // has extra processing logic +} + +// Aliases to work with joined versions like `ios_saf 7.0-7.1` +browserslist.versionAliases = { } + +browserslist.clearCaches = env.clearCaches +browserslist.parseConfig = env.parseConfig +browserslist.readConfig = env.readConfig +browserslist.findConfig = env.findConfig +browserslist.loadConfig = env.loadConfig + +/** + * Return browsers market coverage. + * + * @param {string[]} browsers Browsers names in Can I Use. + * @param {string|object} [stats="global"] Which statistics should be used. + * Country code or custom statistics. + * Pass `"my stats"` to load statistics + * from Browserslist files. + * + * @return {number} Total market coverage for all selected browsers. + * + * @example + * browserslist.coverage(browserslist('> 1% in US'), 'US') //=> 83.1 + */ +browserslist.coverage = function (browsers, stats) { + var data + if (typeof stats === 'undefined') { + data = browserslist.usage.global + } else if (stats === 'my stats') { + var opts = {} + opts.path = path.resolve ? path.resolve('.') : '.' + var customStats = env.getStat(opts) + if (!customStats) { + throw new BrowserslistError('Custom usage statistics was not provided') + } + data = {} + for (var browser in customStats) { + fillUsage(data, browser, customStats[browser]) + } + } else if (typeof stats === 'string') { + if (stats.length > 2) { + stats = stats.toLowerCase() + } else { + stats = stats.toUpperCase() + } + env.loadCountry(browserslist.usage, stats, browserslist.data) + data = browserslist.usage[stats] + } else { + if ('dataByBrowser' in stats) { + stats = stats.dataByBrowser + } + data = { } + for (var name in stats) { + for (var version in stats[name]) { + data[name + ' ' + version] = stats[name][version] + } + } + } + + return browsers.reduce(function (all, i) { + var usage = data[i] + if (usage === undefined) { + usage = data[i.replace(/ \S+$/, ' 0')] + } + return all + (usage || 0) + }, 0) +} + +function nodeQuery (context, version) { + var nodeReleases = jsReleases.filter(function (i) { + return i.name === 'nodejs' + }) + var matched = nodeReleases.filter(function (i) { + return isVersionsMatch(i.version, version) + }) + if (matched.length === 0) { + if (context.ignoreUnknownVersions) { + return [] + } else { + throw new BrowserslistError('Unknown version ' + version + ' of Node.js') + } + } + return ['node ' + matched[matched.length - 1].version] +} + +function sinceQuery (context, year, month, date) { + year = parseInt(year) + month = parseInt(month || '01') - 1 + date = parseInt(date || '01') + return filterByYear(Date.UTC(year, month, date, 0, 0, 0), context) +} + +function coverQuery (context, coverage, statMode) { + coverage = parseFloat(coverage) + var usage = browserslist.usage.global + if (statMode) { + if (statMode.match(/^my\s+stats$/)) { + if (!context.customUsage) { + throw new BrowserslistError( + 'Custom usage statistics was not provided' + ) + } + usage = context.customUsage + } else { + var place + if (statMode.length === 2) { + place = statMode.toUpperCase() + } else { + place = statMode.toLowerCase() + } + env.loadCountry(browserslist.usage, place, browserslist.data) + usage = browserslist.usage[place] + } + } + var versions = Object.keys(usage).sort(function (a, b) { + return usage[b] - usage[a] + }) + var coveraged = 0 + var result = [] + var version + for (var i = 0; i <= versions.length; i++) { + version = versions[i] + if (usage[version] === 0) break + coveraged += usage[version] + result.push(version) + if (coveraged >= coverage) break + } + return result +} + +var QUERIES = [ + { + regexp: /^last\s+(\d+)\s+major\s+versions?$/i, + select: function (context, versions) { + return Object.keys(agents).reduce(function (selected, name) { + var data = byName(name, context) + if (!data) return selected + var list = getMajorVersions(data.released, versions) + list = list.map(nameMapper(data.name)) + if (data.name === 'android') { + list = filterAndroid(list, versions, context) + } + return selected.concat(list) + }, []) + } + }, + { + regexp: /^last\s+(\d+)\s+versions?$/i, + select: function (context, versions) { + return Object.keys(agents).reduce(function (selected, name) { + var data = byName(name, context) + if (!data) return selected + var list = data.released.slice(-versions) + list = list.map(nameMapper(data.name)) + if (data.name === 'android') { + list = filterAndroid(list, versions, context) + } + return selected.concat(list) + }, []) + } + }, + { + regexp: /^last\s+(\d+)\s+electron\s+major\s+versions?$/i, + select: function (context, versions) { + var validVersions = getMajorVersions(Object.keys(e2c), versions) + return validVersions.map(function (i) { + return 'chrome ' + e2c[i] + }) + } + }, + { + regexp: /^last\s+(\d+)\s+(\w+)\s+major\s+versions?$/i, + select: function (context, versions, name) { + var data = checkName(name, context) + var validVersions = getMajorVersions(data.released, versions) + var list = validVersions.map(nameMapper(data.name)) + if (data.name === 'android') { + list = filterAndroid(list, versions, context) + } + return list + } + }, + { + regexp: /^last\s+(\d+)\s+electron\s+versions?$/i, + select: function (context, versions) { + return Object.keys(e2c) + .slice(-versions) + .map(function (i) { + return 'chrome ' + e2c[i] + }) + } + }, + { + regexp: /^last\s+(\d+)\s+(\w+)\s+versions?$/i, + select: function (context, versions, name) { + var data = checkName(name, context) + var list = data.released.slice(-versions).map(nameMapper(data.name)) + if (data.name === 'android') { + list = filterAndroid(list, versions, context) + } + return list + } + }, + { + regexp: /^unreleased\s+versions$/i, + select: function (context) { + return Object.keys(agents).reduce(function (selected, name) { + var data = byName(name, context) + if (!data) return selected + var list = data.versions.filter(function (v) { + return data.released.indexOf(v) === -1 + }) + list = list.map(nameMapper(data.name)) + return selected.concat(list) + }, []) + } + }, + { + regexp: /^unreleased\s+electron\s+versions?$/i, + select: function () { + return [] + } + }, + { + regexp: /^unreleased\s+(\w+)\s+versions?$/i, + select: function (context, name) { + var data = checkName(name, context) + return data.versions + .filter(function (v) { + return data.released.indexOf(v) === -1 + }) + .map(nameMapper(data.name)) + } + }, + { + regexp: /^last\s+(\d*.?\d+)\s+years?$/i, + select: function (context, years) { + return filterByYear(Date.now() - YEAR * years, context) + } + }, + { + regexp: /^since (\d+)$/i, + select: sinceQuery + }, + { + regexp: /^since (\d+)-(\d+)$/i, + select: sinceQuery + }, + { + regexp: /^since (\d+)-(\d+)-(\d+)$/i, + select: sinceQuery + }, + { + regexp: /^(>=?|<=?)\s*(\d+|\d+\.\d+|\.\d+)%$/, + select: function (context, sign, popularity) { + popularity = parseFloat(popularity) + var usage = browserslist.usage.global + return Object.keys(usage).reduce(function (result, version) { + if (sign === '>') { + if (usage[version] > popularity) { + result.push(version) + } + } else if (sign === '<') { + if (usage[version] < popularity) { + result.push(version) + } + } else if (sign === '<=') { + if (usage[version] <= popularity) { + result.push(version) + } + } else if (usage[version] >= popularity) { + result.push(version) + } + return result + }, []) + } + }, + { + regexp: /^(>=?|<=?)\s*(\d+|\d+\.\d+|\.\d+)%\s+in\s+my\s+stats$/, + select: function (context, sign, popularity) { + popularity = parseFloat(popularity) + if (!context.customUsage) { + throw new BrowserslistError('Custom usage statistics was not provided') + } + var usage = context.customUsage + return Object.keys(usage).reduce(function (result, version) { + if (sign === '>') { + if (usage[version] > popularity) { + result.push(version) + } + } else if (sign === '<') { + if (usage[version] < popularity) { + result.push(version) + } + } else if (sign === '<=') { + if (usage[version] <= popularity) { + result.push(version) + } + } else if (usage[version] >= popularity) { + result.push(version) + } + return result + }, []) + } + }, + { + regexp: /^(>=?|<=?)\s*(\d+|\d+\.\d+|\.\d+)%\s+in\s+(\S+)\s+stats$/, + select: function (context, sign, popularity, name) { + popularity = parseFloat(popularity) + var stats = env.loadStat(context, name, browserslist.data) + if (stats) { + context.customUsage = {} + for (var browser in stats) { + fillUsage(context.customUsage, browser, stats[browser]) + } + } + if (!context.customUsage) { + throw new BrowserslistError('Custom usage statistics was not provided') + } + var usage = context.customUsage + return Object.keys(usage).reduce(function (result, version) { + if (sign === '>') { + if (usage[version] > popularity) { + result.push(version) + } + } else if (sign === '<') { + if (usage[version] < popularity) { + result.push(version) + } + } else if (sign === '<=') { + if (usage[version] <= popularity) { + result.push(version) + } + } else if (usage[version] >= popularity) { + result.push(version) + } + return result + }, []) + } + }, + { + regexp: /^(>=?|<=?)\s*(\d+|\d+\.\d+|\.\d+)%\s+in\s+((alt-)?\w\w)$/, + select: function (context, sign, popularity, place) { + popularity = parseFloat(popularity) + if (place.length === 2) { + place = place.toUpperCase() + } else { + place = place.toLowerCase() + } + env.loadCountry(browserslist.usage, place, browserslist.data) + var usage = browserslist.usage[place] + return Object.keys(usage).reduce(function (result, version) { + if (sign === '>') { + if (usage[version] > popularity) { + result.push(version) + } + } else if (sign === '<') { + if (usage[version] < popularity) { + result.push(version) + } + } else if (sign === '<=') { + if (usage[version] <= popularity) { + result.push(version) + } + } else if (usage[version] >= popularity) { + result.push(version) + } + return result + }, []) + } + }, + { + regexp: /^cover\s+(\d+|\d+\.\d+|\.\d+)%$/, + select: coverQuery + }, + { + regexp: /^cover\s+(\d+|\d+\.\d+|\.\d+)%\s+in\s+(my\s+stats|(alt-)?\w\w)$/, + select: coverQuery + }, + { + regexp: /^supports\s+([\w-]+)$/, + select: function (context, feature) { + env.loadFeature(browserslist.cache, feature) + var features = browserslist.cache[feature] + return Object.keys(features).reduce(function (result, version) { + var flags = features[version] + if (flags.indexOf('y') >= 0 || flags.indexOf('a') >= 0) { + result.push(version) + } + return result + }, []) + } + }, + { + regexp: /^electron\s+([\d.]+)\s*-\s*([\d.]+)$/i, + select: function (context, from, to) { + var fromToUse = normalizeElectron(from) + var toToUse = normalizeElectron(to) + if (!e2c[fromToUse]) { + throw new BrowserslistError('Unknown version ' + from + ' of electron') + } + if (!e2c[toToUse]) { + throw new BrowserslistError('Unknown version ' + to + ' of electron') + } + from = parseFloat(from) + to = parseFloat(to) + return Object.keys(e2c) + .filter(function (i) { + var parsed = parseFloat(i) + return parsed >= from && parsed <= to + }) + .map(function (i) { + return 'chrome ' + e2c[i] + }) + } + }, + { + regexp: /^node\s+([\d.]+)\s*-\s*([\d.]+)$/i, + select: function (context, from, to) { + var nodeVersions = jsReleases + .filter(function (i) { + return i.name === 'nodejs' + }) + .map(function (i) { + return i.version + }) + return nodeVersions + .filter(semverFilterLoose('>=', from)) + .filter(semverFilterLoose('<=', to)) + .map(function (v) { + return 'node ' + v + }) + } + }, + { + regexp: /^(\w+)\s+([\d.]+)\s*-\s*([\d.]+)$/i, + select: function (context, name, from, to) { + var data = checkName(name, context) + from = parseFloat(normalizeVersion(data, from) || from) + to = parseFloat(normalizeVersion(data, to) || to) + function filter (v) { + var parsed = parseFloat(v) + return parsed >= from && parsed <= to + } + return data.released.filter(filter).map(nameMapper(data.name)) + } + }, + { + regexp: /^electron\s*(>=?|<=?)\s*([\d.]+)$/i, + select: function (context, sign, version) { + var versionToUse = normalizeElectron(version) + return Object.keys(e2c) + .filter(generateFilter(sign, versionToUse)) + .map(function (i) { + return 'chrome ' + e2c[i] + }) + } + }, + { + regexp: /^node\s*(>=?|<=?)\s*([\d.]+)$/i, + select: function (context, sign, version) { + var nodeVersions = jsReleases + .filter(function (i) { + return i.name === 'nodejs' + }) + .map(function (i) { + return i.version + }) + return nodeVersions + .filter(generateSemverFilter(sign, version)) + .map(function (v) { + return 'node ' + v + }) + } + }, + { + regexp: /^(\w+)\s*(>=?|<=?)\s*([\d.]+)$/, + select: function (context, name, sign, version) { + var data = checkName(name, context) + var alias = browserslist.versionAliases[data.name][version] + if (alias) { + version = alias + } + return data.released + .filter(generateFilter(sign, version)) + .map(function (v) { + return data.name + ' ' + v + }) + } + }, + { + regexp: /^(firefox|ff|fx)\s+esr$/i, + select: function () { + return ['firefox 78'] + } + }, + { + regexp: /(operamini|op_mini)\s+all/i, + select: function () { + return ['op_mini all'] + } + }, + { + regexp: /^electron\s+([\d.]+)$/i, + select: function (context, version) { + var versionToUse = normalizeElectron(version) + var chrome = e2c[versionToUse] + if (!chrome) { + throw new BrowserslistError( + 'Unknown version ' + version + ' of electron' + ) + } + return ['chrome ' + chrome] + } + }, + { + regexp: /^node\s+(\d+)$/i, + select: nodeQuery + }, + { + regexp: /^node\s+(\d+\.\d+)$/i, + select: nodeQuery + }, + { + regexp: /^node\s+(\d+\.\d+\.\d+)$/i, + select: nodeQuery + }, + { + regexp: /^current\s+node$/i, + select: function (context) { + return [env.currentNode(resolve, context)] + } + }, + { + regexp: /^maintained\s+node\s+versions$/i, + select: function (context) { + var now = Date.now() + var queries = Object.keys(jsEOL) + .filter(function (key) { + return ( + now < Date.parse(jsEOL[key].end) && + now > Date.parse(jsEOL[key].start) && + isEolReleased(key) + ) + }) + .map(function (key) { + return 'node ' + key.slice(1) + }) + return resolve(queries, context) + } + }, + { + regexp: /^phantomjs\s+1.9$/i, + select: function () { + return ['safari 5'] + } + }, + { + regexp: /^phantomjs\s+2.1$/i, + select: function () { + return ['safari 6'] + } + }, + { + regexp: /^(\w+)\s+(tp|[\d.]+)$/i, + select: function (context, name, version) { + if (/^tp$/i.test(version)) version = 'TP' + var data = checkName(name, context) + var alias = normalizeVersion(data, version) + if (alias) { + version = alias + } else { + if (version.indexOf('.') === -1) { + alias = version + '.0' + } else { + alias = version.replace(/\.0$/, '') + } + alias = normalizeVersion(data, alias) + if (alias) { + version = alias + } else if (context.ignoreUnknownVersions) { + return [] + } else { + throw new BrowserslistError( + 'Unknown version ' + version + ' of ' + name + ) + } + } + return [data.name + ' ' + version] + } + }, + { + regexp: /^browserslist config$/i, + select: function (context) { + return browserslist(undefined, context) + } + }, + { + regexp: /^extends (.+)$/i, + select: function (context, name) { + return resolve(env.loadQueries(context, name), context) + } + }, + { + regexp: /^defaults$/i, + select: function (context) { + return resolve(browserslist.defaults, context) + } + }, + { + regexp: /^dead$/i, + select: function (context) { + var dead = [ + 'ie <= 10', + 'ie_mob <= 11', + 'bb <= 10', + 'op_mob <= 12.1', + 'samsung 4' + ] + return resolve(dead, context) + } + }, + { + regexp: /^(\w+)$/i, + select: function (context, name) { + if (byName(name, context)) { + throw new BrowserslistError( + 'Specify versions in Browserslist query for browser ' + name + ) + } else { + throw unknownQuery(name) + } + } + } +]; + +// Get and convert Can I Use data + +(function () { + for (var name in agents) { + var browser = agents[name] + browserslist.data[name] = { + name: name, + versions: normalize(agents[name].versions), + released: normalize(agents[name].versions.slice(0, -3)), + releaseDate: agents[name].release_date + } + fillUsage(browserslist.usage.global, name, browser.usage_global) + + browserslist.versionAliases[name] = { } + for (var i = 0; i < browser.versions.length; i++) { + var full = browser.versions[i] + if (!full) continue + + if (full.indexOf('-') !== -1) { + var interval = full.split('-') + for (var j = 0; j < interval.length; j++) { + browserslist.versionAliases[name][interval[j]] = full + } + } + } + } + + browserslist.versionAliases.op_mob['59'] = '58' +}()) + +module.exports = browserslist diff --git a/tools/node_modules/@babel/core/node_modules/browserslist/node.js b/tools/node_modules/@babel/core/node_modules/browserslist/node.js new file mode 100644 index 00000000000000..6a3c7774cbe74e --- /dev/null +++ b/tools/node_modules/@babel/core/node_modules/browserslist/node.js @@ -0,0 +1,386 @@ +var feature = require('caniuse-lite/dist/unpacker/feature').default +var region = require('caniuse-lite/dist/unpacker/region').default +var path = require('path') +var fs = require('fs') + +var BrowserslistError = require('./error') + +var IS_SECTION = /^\s*\[(.+)]\s*$/ +var CONFIG_PATTERN = /^browserslist-config-/ +var SCOPED_CONFIG__PATTERN = /@[^/]+\/browserslist-config(-|$|\/)/ +var TIME_TO_UPDATE_CANIUSE = 6 * 30 * 24 * 60 * 60 * 1000 +var FORMAT = 'Browserslist config should be a string or an array ' + + 'of strings with browser queries' + +var dataTimeChecked = false +var filenessCache = { } +var configCache = { } +function checkExtend (name) { + var use = ' Use `dangerousExtend` option to disable.' + if (!CONFIG_PATTERN.test(name) && !SCOPED_CONFIG__PATTERN.test(name)) { + throw new BrowserslistError( + 'Browserslist config needs `browserslist-config-` prefix. ' + use) + } + if (name.replace(/^@[^/]+\//, '').indexOf('.') !== -1) { + throw new BrowserslistError( + '`.` not allowed in Browserslist config name. ' + use) + } + if (name.indexOf('node_modules') !== -1) { + throw new BrowserslistError( + '`node_modules` not allowed in Browserslist config.' + use) + } +} + +function isFile (file) { + if (file in filenessCache) { + return filenessCache[file] + } + var result = fs.existsSync(file) && fs.statSync(file).isFile() + if (!process.env.BROWSERSLIST_DISABLE_CACHE) { + filenessCache[file] = result + } + return result +} + +function eachParent (file, callback) { + var dir = isFile(file) ? path.dirname(file) : file + var loc = path.resolve(dir) + do { + var result = callback(loc) + if (typeof result !== 'undefined') return result + } while (loc !== (loc = path.dirname(loc))) + return undefined +} + +function check (section) { + if (Array.isArray(section)) { + for (var i = 0; i < section.length; i++) { + if (typeof section[i] !== 'string') { + throw new BrowserslistError(FORMAT) + } + } + } else if (typeof section !== 'string') { + throw new BrowserslistError(FORMAT) + } +} + +function pickEnv (config, opts) { + if (typeof config !== 'object') return config + + var name + if (typeof opts.env === 'string') { + name = opts.env + } else if (process.env.BROWSERSLIST_ENV) { + name = process.env.BROWSERSLIST_ENV + } else if (process.env.NODE_ENV) { + name = process.env.NODE_ENV + } else { + name = 'production' + } + + return config[name] || config.defaults +} + +function parsePackage (file) { + var config = JSON.parse(fs.readFileSync(file)) + if (config.browserlist && !config.browserslist) { + throw new BrowserslistError( + '`browserlist` key instead of `browserslist` in ' + file + ) + } + var list = config.browserslist + if (Array.isArray(list) || typeof list === 'string') { + list = { defaults: list } + } + for (var i in list) { + check(list[i]) + } + + return list +} + +function latestReleaseTime (agents) { + var latest = 0 + for (var name in agents) { + var dates = agents[name].releaseDate || { } + for (var key in dates) { + if (latest < dates[key]) { + latest = dates[key] + } + } + } + return latest * 1000 +} + +function normalizeStats (data, stats) { + if (stats && 'dataByBrowser' in stats) { + stats = stats.dataByBrowser + } + + if (typeof stats !== 'object') return undefined + + var normalized = { } + for (var i in stats) { + var versions = Object.keys(stats[i]) + if ( + versions.length === 1 && + data[i] && + data[i].versions.length === 1 + ) { + var normal = data[i].versions[0] + normalized[i] = { } + normalized[i][normal] = stats[i][versions[0]] + } else { + normalized[i] = stats[i] + } + } + + return normalized +} + +function normalizeUsageData (usageData, data) { + for (var browser in usageData) { + var browserUsage = usageData[browser] + // eslint-disable-next-line max-len + // https://github.com/browserslist/browserslist/issues/431#issuecomment-565230615 + // caniuse-db returns { 0: "percentage" } for `and_*` regional stats + if ('0' in browserUsage) { + var versions = data[browser].versions + browserUsage[versions[versions.length - 1]] = browserUsage[0] + delete browserUsage[0] + } + } +} + +module.exports = { + loadQueries: function loadQueries (ctx, name) { + if (!ctx.dangerousExtend && !process.env.BROWSERSLIST_DANGEROUS_EXTEND) { + checkExtend(name) + } + // eslint-disable-next-line security/detect-non-literal-require + var queries = require(require.resolve(name, { paths: ['.'] })) + if (queries) { + if (Array.isArray(queries)) { + return queries + } else if (typeof queries === 'object') { + if (!queries.defaults) queries.defaults = [] + return pickEnv(queries, ctx, name) + } + } + throw new BrowserslistError( + '`' + name + '` config exports not an array of queries' + + ' or an object of envs' + ) + }, + + loadStat: function loadStat (ctx, name, data) { + if (!ctx.dangerousExtend && !process.env.BROWSERSLIST_DANGEROUS_EXTEND) { + checkExtend(name) + } + // eslint-disable-next-line security/detect-non-literal-require + var stats = require( + require.resolve( + path.join(name, 'browserslist-stats.json'), + { paths: ['.'] } + ) + ) + return normalizeStats(data, stats) + }, + + getStat: function getStat (opts, data) { + var stats + if (opts.stats) { + stats = opts.stats + } else if (process.env.BROWSERSLIST_STATS) { + stats = process.env.BROWSERSLIST_STATS + } else if (opts.path && path.resolve && fs.existsSync) { + stats = eachParent(opts.path, function (dir) { + var file = path.join(dir, 'browserslist-stats.json') + return isFile(file) ? file : undefined + }) + } + if (typeof stats === 'string') { + try { + stats = JSON.parse(fs.readFileSync(stats)) + } catch (e) { + throw new BrowserslistError('Can\'t read ' + stats) + } + } + return normalizeStats(data, stats) + }, + + loadConfig: function loadConfig (opts) { + if (process.env.BROWSERSLIST) { + return process.env.BROWSERSLIST + } else if (opts.config || process.env.BROWSERSLIST_CONFIG) { + var file = opts.config || process.env.BROWSERSLIST_CONFIG + if (path.basename(file) === 'package.json') { + return pickEnv(parsePackage(file), opts) + } else { + return pickEnv(module.exports.readConfig(file), opts) + } + } else if (opts.path) { + return pickEnv(module.exports.findConfig(opts.path), opts) + } else { + return undefined + } + }, + + loadCountry: function loadCountry (usage, country, data) { + var code = country.replace(/[^\w-]/g, '') + if (!usage[code]) { + // eslint-disable-next-line security/detect-non-literal-require + var compressed = require('caniuse-lite/data/regions/' + code + '.js') + var usageData = region(compressed) + normalizeUsageData(usageData, data) + usage[country] = { } + for (var i in usageData) { + for (var j in usageData[i]) { + usage[country][i + ' ' + j] = usageData[i][j] + } + } + } + }, + + loadFeature: function loadFeature (features, name) { + name = name.replace(/[^\w-]/g, '') + if (features[name]) return + + // eslint-disable-next-line security/detect-non-literal-require + var compressed = require('caniuse-lite/data/features/' + name + '.js') + var stats = feature(compressed).stats + features[name] = { } + for (var i in stats) { + for (var j in stats[i]) { + features[name][i + ' ' + j] = stats[i][j] + } + } + }, + + parseConfig: function parseConfig (string) { + var result = { defaults: [] } + var sections = ['defaults'] + + string.toString() + .replace(/#[^\n]*/g, '') + .split(/\n|,/) + .map(function (line) { + return line.trim() + }) + .filter(function (line) { + return line !== '' + }) + .forEach(function (line) { + if (IS_SECTION.test(line)) { + sections = line.match(IS_SECTION)[1].trim().split(' ') + sections.forEach(function (section) { + if (result[section]) { + throw new BrowserslistError( + 'Duplicate section ' + section + ' in Browserslist config' + ) + } + result[section] = [] + }) + } else { + sections.forEach(function (section) { + result[section].push(line) + }) + } + }) + + return result + }, + + readConfig: function readConfig (file) { + if (!isFile(file)) { + throw new BrowserslistError('Can\'t read ' + file + ' config') + } + return module.exports.parseConfig(fs.readFileSync(file)) + }, + + findConfig: function findConfig (from) { + from = path.resolve(from) + + var passed = [] + var resolved = eachParent(from, function (dir) { + if (dir in configCache) { + return configCache[dir] + } + + passed.push(dir) + + var config = path.join(dir, 'browserslist') + var pkg = path.join(dir, 'package.json') + var rc = path.join(dir, '.browserslistrc') + + var pkgBrowserslist + if (isFile(pkg)) { + try { + pkgBrowserslist = parsePackage(pkg) + } catch (e) { + if (e.name === 'BrowserslistError') throw e + console.warn( + '[Browserslist] Could not parse ' + pkg + '. Ignoring it.' + ) + } + } + + if (isFile(config) && pkgBrowserslist) { + throw new BrowserslistError( + dir + ' contains both browserslist and package.json with browsers' + ) + } else if (isFile(rc) && pkgBrowserslist) { + throw new BrowserslistError( + dir + ' contains both .browserslistrc and package.json with browsers' + ) + } else if (isFile(config) && isFile(rc)) { + throw new BrowserslistError( + dir + ' contains both .browserslistrc and browserslist' + ) + } else if (isFile(config)) { + return module.exports.readConfig(config) + } else if (isFile(rc)) { + return module.exports.readConfig(rc) + } else { + return pkgBrowserslist + } + }) + if (!process.env.BROWSERSLIST_DISABLE_CACHE) { + passed.forEach(function (dir) { + configCache[dir] = resolved + }) + } + return resolved + }, + + clearCaches: function clearCaches () { + dataTimeChecked = false + filenessCache = { } + configCache = { } + + this.cache = { } + }, + + oldDataWarning: function oldDataWarning (agentsObj) { + if (dataTimeChecked) return + dataTimeChecked = true + if (process.env.BROWSERSLIST_IGNORE_OLD_DATA) return + + var latest = latestReleaseTime(agentsObj) + var halfYearAgo = Date.now() - TIME_TO_UPDATE_CANIUSE + + if (latest !== 0 && latest < halfYearAgo) { + console.warn( + 'Browserslist: caniuse-lite is outdated. Please run:\n' + + 'npx browserslist@latest --update-db\n' + + '\n' + + 'Why you should do it regularly:\n' + + 'https://github.com/browserslist/browserslist#browsers-data-updating' + ) + } + }, + + currentNode: function currentNode () { + return 'node ' + process.versions.node + } +} diff --git a/tools/node_modules/@babel/core/node_modules/browserslist/package.json b/tools/node_modules/@babel/core/node_modules/browserslist/package.json new file mode 100644 index 00000000000000..5deec79792de70 --- /dev/null +++ b/tools/node_modules/@babel/core/node_modules/browserslist/package.json @@ -0,0 +1,35 @@ +{ + "name": "browserslist", + "version": "4.16.6", + "description": "Share target browsers between different front-end tools, like Autoprefixer, Stylelint and babel-env-preset", + "keywords": [ + "caniuse", + "browsers", + "target" + ], + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/browserslist" + }, + "author": "Andrey Sitnik ", + "license": "MIT", + "repository": "browserslist/browserslist", + "dependencies": { + "caniuse-lite": "^1.0.30001219", + "colorette": "^1.2.2", + "electron-to-chromium": "^1.3.723", + "escalade": "^3.1.1", + "node-releases": "^1.1.71" + }, + "engines": { + "node": "^6 || ^7 || ^8 || ^9 || ^10 || ^11 || ^12 || >=13.7" + }, + "bin": { + "browserslist": "cli.js" + }, + "types": "./index.d.ts", + "browser": { + "./node.js": "./browser.js", + "path": false + } +} diff --git a/tools/node_modules/@babel/core/node_modules/browserslist/update-db.js b/tools/node_modules/@babel/core/node_modules/browserslist/update-db.js new file mode 100644 index 00000000000000..e8728db09a62d9 --- /dev/null +++ b/tools/node_modules/@babel/core/node_modules/browserslist/update-db.js @@ -0,0 +1,296 @@ +var childProcess = require('child_process') +var colorette = require('colorette') +var escalade = require('escalade/sync') +var path = require('path') +var fs = require('fs') + +var BrowserslistError = require('./error') + +var red = colorette.red +var bold = colorette.bold +var green = colorette.green +var yellow = colorette.yellow + +function detectLockfile () { + var packageDir = escalade('.', function (dir, names) { + return names.indexOf('package.json') !== -1 ? dir : '' + }) + + if (!packageDir) { + throw new BrowserslistError( + 'Cannot find package.json. ' + + 'Is this the right directory to run `npx browserslist --update-db` in?' + ) + } + + var lockfileNpm = path.join(packageDir, 'package-lock.json') + var lockfileShrinkwrap = path.join(packageDir, 'npm-shrinkwrap.json') + var lockfileYarn = path.join(packageDir, 'yarn.lock') + var lockfilePnpm = path.join(packageDir, 'pnpm-lock.yaml') + + if (fs.existsSync(lockfilePnpm)) { + return { mode: 'pnpm', file: lockfilePnpm } + } else if (fs.existsSync(lockfileNpm)) { + return { mode: 'npm', file: lockfileNpm } + } else if (fs.existsSync(lockfileYarn)) { + return { mode: 'yarn', file: lockfileYarn } + } else if (fs.existsSync(lockfileShrinkwrap)) { + return { mode: 'npm', file: lockfileShrinkwrap } + } + throw new BrowserslistError( + 'No lockfile found. Run "npm install", "yarn install" or "pnpm install"' + ) +} + +function getLatestInfo (lock) { + if (lock.mode === 'yarn') { + return JSON.parse( + childProcess.execSync('yarn info caniuse-lite --json').toString() + ).data + } + return JSON.parse( + childProcess.execSync('npm show caniuse-lite --json').toString() + ) +} + +function getBrowsersList () { + return childProcess.execSync('npx browserslist').toString() + .trim() + .split('\n') + .map(function (line) { + return line.trim().split(' ') + }) + .reduce(function (result, entry) { + if (!result[entry[0]]) { + result[entry[0]] = [] + } + result[entry[0]].push(entry[1]) + return result + }, {}) +} + +function diffBrowsersLists (old, current) { + var browsers = Object.keys(old).concat( + Object.keys(current).filter(function (browser) { + return old[browser] === undefined + }) + ) + return browsers.map(function (browser) { + var oldVersions = old[browser] || [] + var currentVersions = current[browser] || [] + var intersection = oldVersions.filter(function (version) { + return currentVersions.indexOf(version) !== -1 + }) + var addedVersions = currentVersions.filter(function (version) { + return intersection.indexOf(version) === -1 + }) + var removedVersions = oldVersions.filter(function (version) { + return intersection.indexOf(version) === -1 + }) + return removedVersions.map(function (version) { + return red('- ' + browser + ' ' + version) + }).concat(addedVersions.map(function (version) { + return green('+ ' + browser + ' ' + version) + })) + }) + .reduce(function (result, array) { + return result.concat(array) + }, []) + .join('\n') +} + +function updateNpmLockfile (lock, latest) { + var metadata = { latest: latest, versions: [] } + var content = deletePackage(JSON.parse(lock.content), metadata) + metadata.content = JSON.stringify(content, null, ' ') + return metadata +} + +function deletePackage (node, metadata) { + if (node.dependencies) { + if (node.dependencies['caniuse-lite']) { + var version = node.dependencies['caniuse-lite'].version + metadata.versions[version] = true + delete node.dependencies['caniuse-lite'] + } + for (var i in node.dependencies) { + node.dependencies[i] = deletePackage(node.dependencies[i], metadata) + } + } + return node +} + +var yarnVersionRe = new RegExp('version "(.*?)"') + +function updateYarnLockfile (lock, latest) { + var blocks = lock.content.split(/(\n{2,})/).map(function (block) { + return block.split('\n') + }) + var versions = {} + blocks.forEach(function (lines) { + if (lines[0].indexOf('caniuse-lite@') !== -1) { + var match = yarnVersionRe.exec(lines[1]) + versions[match[1]] = true + if (match[1] !== latest.version) { + lines[1] = lines[1].replace( + /version "[^"]+"/, 'version "' + latest.version + '"' + ) + lines[2] = lines[2].replace( + /resolved "[^"]+"/, 'resolved "' + latest.dist.tarball + '"' + ) + lines[3] = latest.dist.integrity ? lines[3].replace( + /integrity .+/, 'integrity ' + latest.dist.integrity + ) : '' + } + } + }) + var content = blocks.map(function (lines) { + return lines.join('\n') + }).join('') + return { content: content, versions: versions } +} + +function updatePnpmLockfile (lock, latest) { + var versions = {} + var lines = lock.content.split('\n') + var i + var j + var lineParts + + for (i = 0; i < lines.length; i++) { + if (lines[i].indexOf('caniuse-lite:') >= 0) { + lineParts = lines[i].split(/:\s?/, 2) + versions[lineParts[1]] = true + lines[i] = lineParts[0] + ': ' + latest.version + } else if (lines[i].indexOf('/caniuse-lite') >= 0) { + lineParts = lines[i].split(/([/:])/) + for (j = 0; j < lineParts.length; j++) { + if (lineParts[j].indexOf('caniuse-lite') >= 0) { + versions[lineParts[j + 2]] = true + lineParts[j + 2] = latest.version + break + } + } + lines[i] = lineParts.join('') + for (i = i + 1; i < lines.length; i++) { + if (lines[i].indexOf('integrity: ') !== -1) { + lines[i] = lines[i].replace( + /integrity: .+/, 'integrity: ' + latest.dist.integrity + ) + } else if (lines[i].indexOf(' /') !== -1) { + break + } + } + } + } + return { content: lines.join('\n'), versions: versions } +} + +function updateLockfile (lock, latest) { + lock.content = fs.readFileSync(lock.file).toString() + + if (lock.mode === 'npm') { + return updateNpmLockfile(lock, latest) + } else if (lock.mode === 'yarn') { + return updateYarnLockfile(lock, latest) + } + return updatePnpmLockfile(lock, latest) +} + +module.exports = function updateDB (print) { + var lock = detectLockfile() + var latest = getLatestInfo(lock) + var browsersListRetrievalError + var oldBrowsersList + try { + oldBrowsersList = getBrowsersList() + } catch (e) { + browsersListRetrievalError = e + } + + print( + 'Latest version: ' + bold(green(latest.version)) + '\n' + ) + + var lockfileData = updateLockfile(lock, latest) + var caniuseVersions = Object.keys(lockfileData.versions).sort() + if (caniuseVersions.length === 1 && + caniuseVersions[0] === latest.version) { + print( + 'Installed version: ' + bold(green(latest.version)) + '\n' + + bold(green('caniuse-lite is up to date')) + '\n' + ) + return + } + + if (caniuseVersions.length === 0) { + caniuseVersions[0] = 'none' + } + print( + 'Installed version' + + (caniuseVersions.length === 1 ? ': ' : 's: ') + + bold(red(caniuseVersions.join(', '))) + + '\n' + + 'Removing old caniuse-lite from lock file\n' + ) + fs.writeFileSync(lock.file, lockfileData.content) + + var install = lock.mode === 'yarn' ? 'yarn add -W' : lock.mode + ' install' + print( + 'Installing new caniuse-lite version\n' + + yellow('$ ' + install + ' caniuse-lite') + '\n' + ) + try { + childProcess.execSync(install + ' caniuse-lite') + } catch (e) /* istanbul ignore next */ { + print( + red( + '\n' + + e.stack + '\n\n' + + 'Problem with `' + install + ' caniuse-lite` call. ' + + 'Run it manually.\n' + ) + ) + process.exit(1) + } + + var del = lock.mode === 'yarn' ? 'yarn remove -W' : lock.mode + ' uninstall' + print( + 'Cleaning package.json dependencies from caniuse-lite\n' + + yellow('$ ' + del + ' caniuse-lite') + '\n' + ) + childProcess.execSync(del + ' caniuse-lite') + + print('caniuse-lite has been successfully updated\n') + + var currentBrowsersList + if (!browsersListRetrievalError) { + try { + currentBrowsersList = getBrowsersList() + } catch (e) /* istanbul ignore next */ { + browsersListRetrievalError = e + } + } + + if (browsersListRetrievalError) { + print( + red( + '\n' + + browsersListRetrievalError.stack + '\n\n' + + 'Problem with browser list retrieval.\n' + + 'Target browser changes won’t be shown.\n' + ) + ) + } else { + var targetBrowserChanges = diffBrowsersLists( + oldBrowsersList, + currentBrowsersList + ) + if (targetBrowserChanges) { + print('\nTarget browser changes:\n') + print(targetBrowserChanges + '\n') + } else { + print('\n' + green('No target browser changes') + '\n') + } + } +} diff --git a/tools/node_modules/@babel/core/node_modules/caniuse-lite/LICENSE b/tools/node_modules/@babel/core/node_modules/caniuse-lite/LICENSE new file mode 100644 index 00000000000000..06c608dcf45520 --- /dev/null +++ b/tools/node_modules/@babel/core/node_modules/caniuse-lite/LICENSE @@ -0,0 +1,395 @@ +Attribution 4.0 International + +======================================================================= + +Creative Commons Corporation ("Creative Commons") is not a law firm and +does not provide legal services or legal advice. Distribution of +Creative Commons public licenses does not create a lawyer-client or +other relationship. Creative Commons makes its licenses and related +information available on an "as-is" basis. Creative Commons gives no +warranties regarding its licenses, any material licensed under their +terms and conditions, or any related information. Creative Commons +disclaims all liability for damages resulting from their use to the +fullest extent possible. + +Using Creative Commons Public Licenses + +Creative Commons public licenses provide a standard set of terms and +conditions that creators and other rights holders may use to share +original works of authorship and other material subject to copyright +and certain other rights specified in the public license below. The +following considerations are for informational purposes only, are not +exhaustive, and do not form part of our licenses. + + Considerations for licensors: Our public licenses are + intended for use by those authorized to give the public + permission to use material in ways otherwise restricted by + copyright and certain other rights. Our licenses are + irrevocable. Licensors should read and understand the terms + and conditions of the license they choose before applying it. + Licensors should also secure all rights necessary before + applying our licenses so that the public can reuse the + material as expected. Licensors should clearly mark any + material not subject to the license. This includes other CC- + licensed material, or material used under an exception or + limitation to copyright. More considerations for licensors: + wiki.creativecommons.org/Considerations_for_licensors + + Considerations for the public: By using one of our public + licenses, a licensor grants the public permission to use the + licensed material under specified terms and conditions. If + the licensor's permission is not necessary for any reason--for + example, because of any applicable exception or limitation to + copyright--then that use is not regulated by the license. Our + licenses grant only permissions under copyright and certain + other rights that a licensor has authority to grant. Use of + the licensed material may still be restricted for other + reasons, including because others have copyright or other + rights in the material. A licensor may make special requests, + such as asking that all changes be marked or described. + Although not required by our licenses, you are encouraged to + respect those requests where reasonable. More_considerations + for the public: + wiki.creativecommons.org/Considerations_for_licensees + +======================================================================= + +Creative Commons Attribution 4.0 International Public License + +By exercising the Licensed Rights (defined below), You accept and agree +to be bound by the terms and conditions of this Creative Commons +Attribution 4.0 International Public License ("Public License"). To the +extent this Public License may be interpreted as a contract, You are +granted the Licensed Rights in consideration of Your acceptance of +these terms and conditions, and the Licensor grants You such rights in +consideration of benefits the Licensor receives from making the +Licensed Material available under these terms and conditions. + + +Section 1 -- Definitions. + + a. Adapted Material means material subject to Copyright and Similar + Rights that is derived from or based upon the Licensed Material + and in which the Licensed Material is translated, altered, + arranged, transformed, or otherwise modified in a manner requiring + permission under the Copyright and Similar Rights held by the + Licensor. For purposes of this Public License, where the Licensed + Material is a musical work, performance, or sound recording, + Adapted Material is always produced where the Licensed Material is + synched in timed relation with a moving image. + + b. Adapter's License means the license You apply to Your Copyright + and Similar Rights in Your contributions to Adapted Material in + accordance with the terms and conditions of this Public License. + + c. Copyright and Similar Rights means copyright and/or similar rights + closely related to copyright including, without limitation, + performance, broadcast, sound recording, and Sui Generis Database + Rights, without regard to how the rights are labeled or + categorized. For purposes of this Public License, the rights + specified in Section 2(b)(1)-(2) are not Copyright and Similar + Rights. + + d. Effective Technological Measures means those measures that, in the + absence of proper authority, may not be circumvented under laws + fulfilling obligations under Article 11 of the WIPO Copyright + Treaty adopted on December 20, 1996, and/or similar international + agreements. + + e. Exceptions and Limitations means fair use, fair dealing, and/or + any other exception or limitation to Copyright and Similar Rights + that applies to Your use of the Licensed Material. + + f. Licensed Material means the artistic or literary work, database, + or other material to which the Licensor applied this Public + License. + + g. Licensed Rights means the rights granted to You subject to the + terms and conditions of this Public License, which are limited to + all Copyright and Similar Rights that apply to Your use of the + Licensed Material and that the Licensor has authority to license. + + h. Licensor means the individual(s) or entity(ies) granting rights + under this Public License. + + i. Share means to provide material to the public by any means or + process that requires permission under the Licensed Rights, such + as reproduction, public display, public performance, distribution, + dissemination, communication, or importation, and to make material + available to the public including in ways that members of the + public may access the material from a place and at a time + individually chosen by them. + + j. Sui Generis Database Rights means rights other than copyright + resulting from Directive 96/9/EC of the European Parliament and of + the Council of 11 March 1996 on the legal protection of databases, + as amended and/or succeeded, as well as other essentially + equivalent rights anywhere in the world. + + k. You means the individual or entity exercising the Licensed Rights + under this Public License. Your has a corresponding meaning. + + +Section 2 -- Scope. + + a. License grant. + + 1. Subject to the terms and conditions of this Public License, + the Licensor hereby grants You a worldwide, royalty-free, + non-sublicensable, non-exclusive, irrevocable license to + exercise the Licensed Rights in the Licensed Material to: + + a. reproduce and Share the Licensed Material, in whole or + in part; and + + b. produce, reproduce, and Share Adapted Material. + + 2. Exceptions and Limitations. For the avoidance of doubt, where + Exceptions and Limitations apply to Your use, this Public + License does not apply, and You do not need to comply with + its terms and conditions. + + 3. Term. The term of this Public License is specified in Section + 6(a). + + 4. Media and formats; technical modifications allowed. The + Licensor authorizes You to exercise the Licensed Rights in + all media and formats whether now known or hereafter created, + and to make technical modifications necessary to do so. The + Licensor waives and/or agrees not to assert any right or + authority to forbid You from making technical modifications + necessary to exercise the Licensed Rights, including + technical modifications necessary to circumvent Effective + Technological Measures. For purposes of this Public License, + simply making modifications authorized by this Section 2(a) + (4) never produces Adapted Material. + + 5. Downstream recipients. + + a. Offer from the Licensor -- Licensed Material. Every + recipient of the Licensed Material automatically + receives an offer from the Licensor to exercise the + Licensed Rights under the terms and conditions of this + Public License. + + b. No downstream restrictions. You may not offer or impose + any additional or different terms or conditions on, or + apply any Effective Technological Measures to, the + Licensed Material if doing so restricts exercise of the + Licensed Rights by any recipient of the Licensed + Material. + + 6. No endorsement. Nothing in this Public License constitutes or + may be construed as permission to assert or imply that You + are, or that Your use of the Licensed Material is, connected + with, or sponsored, endorsed, or granted official status by, + the Licensor or others designated to receive attribution as + provided in Section 3(a)(1)(A)(i). + + b. Other rights. + + 1. Moral rights, such as the right of integrity, are not + licensed under this Public License, nor are publicity, + privacy, and/or other similar personality rights; however, to + the extent possible, the Licensor waives and/or agrees not to + assert any such rights held by the Licensor to the limited + extent necessary to allow You to exercise the Licensed + Rights, but not otherwise. + + 2. Patent and trademark rights are not licensed under this + Public License. + + 3. To the extent possible, the Licensor waives any right to + collect royalties from You for the exercise of the Licensed + Rights, whether directly or through a collecting society + under any voluntary or waivable statutory or compulsory + licensing scheme. In all other cases the Licensor expressly + reserves any right to collect such royalties. + + +Section 3 -- License Conditions. + +Your exercise of the Licensed Rights is expressly made subject to the +following conditions. + + a. Attribution. + + 1. If You Share the Licensed Material (including in modified + form), You must: + + a. retain the following if it is supplied by the Licensor + with the Licensed Material: + + i. identification of the creator(s) of the Licensed + Material and any others designated to receive + attribution, in any reasonable manner requested by + the Licensor (including by pseudonym if + designated); + + ii. a copyright notice; + + iii. a notice that refers to this Public License; + + iv. a notice that refers to the disclaimer of + warranties; + + v. a URI or hyperlink to the Licensed Material to the + extent reasonably practicable; + + b. indicate if You modified the Licensed Material and + retain an indication of any previous modifications; and + + c. indicate the Licensed Material is licensed under this + Public License, and include the text of, or the URI or + hyperlink to, this Public License. + + 2. You may satisfy the conditions in Section 3(a)(1) in any + reasonable manner based on the medium, means, and context in + which You Share the Licensed Material. For example, it may be + reasonable to satisfy the conditions by providing a URI or + hyperlink to a resource that includes the required + information. + + 3. If requested by the Licensor, You must remove any of the + information required by Section 3(a)(1)(A) to the extent + reasonably practicable. + + 4. If You Share Adapted Material You produce, the Adapter's + License You apply must not prevent recipients of the Adapted + Material from complying with this Public License. + + +Section 4 -- Sui Generis Database Rights. + +Where the Licensed Rights include Sui Generis Database Rights that +apply to Your use of the Licensed Material: + + a. for the avoidance of doubt, Section 2(a)(1) grants You the right + to extract, reuse, reproduce, and Share all or a substantial + portion of the contents of the database; + + b. if You include all or a substantial portion of the database + contents in a database in which You have Sui Generis Database + Rights, then the database in which You have Sui Generis Database + Rights (but not its individual contents) is Adapted Material; and + + c. You must comply with the conditions in Section 3(a) if You Share + all or a substantial portion of the contents of the database. + +For the avoidance of doubt, this Section 4 supplements and does not +replace Your obligations under this Public License where the Licensed +Rights include other Copyright and Similar Rights. + + +Section 5 -- Disclaimer of Warranties and Limitation of Liability. + + a. UNLESS OTHERWISE SEPARATELY UNDERTAKEN BY THE LICENSOR, TO THE + EXTENT POSSIBLE, THE LICENSOR OFFERS THE LICENSED MATERIAL AS-IS + AND AS-AVAILABLE, AND MAKES NO REPRESENTATIONS OR WARRANTIES OF + ANY KIND CONCERNING THE LICENSED MATERIAL, WHETHER EXPRESS, + IMPLIED, STATUTORY, OR OTHER. THIS INCLUDES, WITHOUT LIMITATION, + WARRANTIES OF TITLE, MERCHANTABILITY, FITNESS FOR A PARTICULAR + PURPOSE, NON-INFRINGEMENT, ABSENCE OF LATENT OR OTHER DEFECTS, + ACCURACY, OR THE PRESENCE OR ABSENCE OF ERRORS, WHETHER OR NOT + KNOWN OR DISCOVERABLE. WHERE DISCLAIMERS OF WARRANTIES ARE NOT + ALLOWED IN FULL OR IN PART, THIS DISCLAIMER MAY NOT APPLY TO YOU. + + b. TO THE EXTENT POSSIBLE, IN NO EVENT WILL THE LICENSOR BE LIABLE + TO YOU ON ANY LEGAL THEORY (INCLUDING, WITHOUT LIMITATION, + NEGLIGENCE) OR OTHERWISE FOR ANY DIRECT, SPECIAL, INDIRECT, + INCIDENTAL, CONSEQUENTIAL, PUNITIVE, EXEMPLARY, OR OTHER LOSSES, + COSTS, EXPENSES, OR DAMAGES ARISING OUT OF THIS PUBLIC LICENSE OR + USE OF THE LICENSED MATERIAL, EVEN IF THE LICENSOR HAS BEEN + ADVISED OF THE POSSIBILITY OF SUCH LOSSES, COSTS, EXPENSES, OR + DAMAGES. WHERE A LIMITATION OF LIABILITY IS NOT ALLOWED IN FULL OR + IN PART, THIS LIMITATION MAY NOT APPLY TO YOU. + + c. The disclaimer of warranties and limitation of liability provided + above shall be interpreted in a manner that, to the extent + possible, most closely approximates an absolute disclaimer and + waiver of all liability. + + +Section 6 -- Term and Termination. + + a. This Public License applies for the term of the Copyright and + Similar Rights licensed here. However, if You fail to comply with + this Public License, then Your rights under this Public License + terminate automatically. + + b. Where Your right to use the Licensed Material has terminated under + Section 6(a), it reinstates: + + 1. automatically as of the date the violation is cured, provided + it is cured within 30 days of Your discovery of the + violation; or + + 2. upon express reinstatement by the Licensor. + + For the avoidance of doubt, this Section 6(b) does not affect any + right the Licensor may have to seek remedies for Your violations + of this Public License. + + c. For the avoidance of doubt, the Licensor may also offer the + Licensed Material under separate terms or conditions or stop + distributing the Licensed Material at any time; however, doing so + will not terminate this Public License. + + d. Sections 1, 5, 6, 7, and 8 survive termination of this Public + License. + + +Section 7 -- Other Terms and Conditions. + + a. The Licensor shall not be bound by any additional or different + terms or conditions communicated by You unless expressly agreed. + + b. Any arrangements, understandings, or agreements regarding the + Licensed Material not stated herein are separate from and + independent of the terms and conditions of this Public License. + + +Section 8 -- Interpretation. + + a. For the avoidance of doubt, this Public License does not, and + shall not be interpreted to, reduce, limit, restrict, or impose + conditions on any use of the Licensed Material that could lawfully + be made without permission under this Public License. + + b. To the extent possible, if any provision of this Public License is + deemed unenforceable, it shall be automatically reformed to the + minimum extent necessary to make it enforceable. If the provision + cannot be reformed, it shall be severed from this Public License + without affecting the enforceability of the remaining terms and + conditions. + + c. No term or condition of this Public License will be waived and no + failure to comply consented to unless expressly agreed to by the + Licensor. + + d. Nothing in this Public License constitutes or may be interpreted + as a limitation upon, or waiver of, any privileges and immunities + that apply to the Licensor or You, including from the legal + processes of any jurisdiction or authority. + + +======================================================================= + +Creative Commons is not a party to its public +licenses. Notwithstanding, Creative Commons may elect to apply one of +its public licenses to material it publishes and in those instances +will be considered the “Licensor.” The text of the Creative Commons +public licenses is dedicated to the public domain under the CC0 Public +Domain Dedication. Except for the limited purpose of indicating that +material is shared under a Creative Commons public license or as +otherwise permitted by the Creative Commons policies published at +creativecommons.org/policies, Creative Commons does not authorize the +use of the trademark "Creative Commons" or any other trademark or logo +of Creative Commons without its prior written consent including, +without limitation, in connection with any unauthorized modifications +to any of its public licenses or any other arrangements, +understandings, or agreements concerning use of licensed material. For +the avoidance of doubt, this paragraph does not form part of the +public licenses. + +Creative Commons may be contacted at creativecommons.org. diff --git a/tools/node_modules/@babel/core/node_modules/caniuse-lite/README.md b/tools/node_modules/@babel/core/node_modules/caniuse-lite/README.md new file mode 100644 index 00000000000000..f4878abf43c45c --- /dev/null +++ b/tools/node_modules/@babel/core/node_modules/caniuse-lite/README.md @@ -0,0 +1,92 @@ +# caniuse-lite + +A smaller version of caniuse-db, with only the essentials! + +## Why? + +The full data behind [Can I use][1] is incredibly useful for any front end +developer, and on the website all of the details from the database are displayed +to the user. However in automated tools, [many of these fields go unused][2]; +it's not a problem for server side consumption but client side, the less +JavaScript that we send to the end user the better. + +caniuse-lite then, is a smaller dataset that keeps essential parts of the data +in a compact format. It does this in multiple ways, such as converting `null` +array entries into empty strings, representing support data as an integer rather +than a string, and using base62 references instead of longer human-readable +keys. + +This packed data is then reassembled (via functions exposed by this module) into +a larger format which is mostly compatible with caniuse-db, and so it can be +used as an almost drop-in replacement for caniuse-db for contexts where size on +disk is important; for example, usage in web browsers. The API differences are +very small and are detailed in the section below. + + +## API + +```js +import * as lite from 'caniuse-lite'; +``` + + +### `lite.agents` + +caniuse-db provides a full `data.json` file which contains all of the features +data. Instead of this large file, caniuse-lite provides this data subset +instead, which has the `browser`, `prefix`, `prefix_exceptions`, `usage_global` +and `versions` keys from the original. + +In addition, the subset contains the `release_date` key with release dates (as timestamps) for each version: +```json +{ + "release_date": { + "6": 998870400, + "7": 1161129600, + "8": 1237420800, + "9": 1300060800, + "10": 1346716800, + "11": 1381968000, + "5.5": 962323200 + } +} +``` + + +### `lite.feature(js)` + +The `feature` method takes a file from `data/features` and converts it into +something that more closely represents the `caniuse-db` format. Note that only +the `title`, `stats` and `status` keys are kept from the original data. + + +### `lite.features` + +The `features` index is provided as a way to query all of the features that +are listed in the `caniuse-db` dataset. Note that you will need to use the +`feature` method on values from this index to get a human-readable format. + + +### `lite.region(js)` + +The `region` method takes a file from `data/regions` and converts it into +something that more closely represents the `caniuse-db` format. Note that *only* +the usage data is exposed here (the `data` key in the original files). + + +## License + +The data in this repo is available for use under a CC BY 4.0 license +(http://creativecommons.org/licenses/by/4.0/). For attribution just mention +somewhere that the source is caniuse.com. If you have any questions about using +the data for your project please contact me here: http://a.deveria.com/contact + +[1]: http://caniuse.com/ +[2]: https://github.com/Fyrd/caniuse/issues/1827 + + +## Security contact information + +To report a security vulnerability, please use the +[Tidelift security contact](https://tidelift.com/security). +Tidelift will coordinate the fix and disclosure. diff --git a/tools/node_modules/@babel/core/node_modules/caniuse-lite/data/agents.js b/tools/node_modules/@babel/core/node_modules/caniuse-lite/data/agents.js new file mode 100644 index 00000000000000..9f3aeb24c552e5 --- /dev/null +++ b/tools/node_modules/@babel/core/node_modules/caniuse-lite/data/agents.js @@ -0,0 +1 @@ +module.exports={A:{A:{J:0.0131217,D:0.00621152,E:0.0199047,F:0.0928884,A:0.0132698,B:0.849265,gB:0.009298},B:"ms",C:["","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","gB","J","D","E","F","A","B","","",""],E:"IE",F:{gB:962323200,J:998870400,D:1161129600,E:1237420800,F:1300060800,A:1346716800,B:1381968000}},B:{A:{C:0.008408,K:0.004267,L:0.004204,G:0.004204,M:0.008408,N:0.033632,O:0.092488,R:0,S:0.004298,T:0.00944,U:0.00415,V:0.008408,W:0.008408,X:0.012612,Y:0.012612,Z:0.016816,P:0.079876,a:3.01006,H:0.2102},B:"webkit",C:["","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","C","K","L","G","M","N","O","R","S","T","U","V","W","X","Y","Z","P","a","H","","",""],E:"Edge",F:{C:1438128000,K:1447286400,L:1470096000,G:1491868800,M:1508198400,N:1525046400,O:1542067200,R:1579046400,S:1581033600,T:1586736000,U:1590019200,V:1594857600,W:1598486400,X:1602201600,Y:1605830400,Z:1611360000,P:1614816000,a:1618358400,H:1622073600},D:{C:"ms",K:"ms",L:"ms",G:"ms",M:"ms",N:"ms",O:"ms"}},C:{A:{"0":0.058856,"1":0.004204,"2":0.004204,"3":0.004525,"4":0.004271,"5":0.008408,"6":0.004538,"7":0.004267,"8":0.004204,"9":0.071468,hB:0.012813,XB:0.004271,I:0.02102,b:0.004879,J:0.020136,D:0.005725,E:0.004525,F:0.00533,A:0.004283,B:0.008408,C:0.004471,K:0.004486,L:0.00453,G:0.008542,M:0.004417,N:0.004425,O:0.008542,c:0.004443,d:0.004283,e:0.008542,f:0.013698,g:0.008542,h:0.008786,i:0.017084,j:0.004317,k:0.004393,l:0.004418,m:0.008834,n:0.008542,o:0.008928,p:0.004471,q:0.009284,r:0.004707,s:0.009076,t:0.004425,u:0.004783,v:0.004271,w:0.004783,x:0.00487,y:0.005029,z:0.0047,AB:0.004335,BB:0.004204,CB:0.004204,DB:0.012612,EB:0.004425,FB:0.004204,YB:0.004204,GB:0.008408,ZB:0.00472,Q:0.004425,HB:0.02102,IB:0.00415,JB:0.004267,KB:0.008408,LB:0.004267,MB:0.012612,NB:0.00415,OB:0.004204,PB:0.004425,QB:0.008408,RB:0.00415,SB:0.00415,TB:0.008542,UB:0.004298,aB:0.004204,bB:0.14714,R:0.008408,S:0.008408,T:0.012612,iB:0.016816,U:0.012612,V:0.025224,W:0.02102,X:0.033632,Y:0.071468,Z:2.3122,P:0.029428,a:0,H:0,jB:0.008786,kB:0.00487},B:"moz",C:["hB","XB","jB","kB","I","b","J","D","E","F","A","B","C","K","L","G","M","N","O","c","d","e","f","g","h","i","j","k","l","m","n","o","p","q","r","s","t","u","v","w","x","y","z","0","1","2","3","4","5","6","7","8","9","AB","BB","CB","DB","EB","FB","YB","GB","ZB","Q","HB","IB","JB","KB","LB","MB","NB","OB","PB","QB","RB","SB","TB","UB","aB","bB","R","S","T","iB","U","V","W","X","Y","Z","P","a","H",""],E:"Firefox",F:{"0":1450137600,"1":1453852800,"2":1457395200,"3":1461628800,"4":1465257600,"5":1470096000,"6":1474329600,"7":1479168000,"8":1485216000,"9":1488844800,hB:1161648000,XB:1213660800,jB:1246320000,kB:1264032000,I:1300752000,b:1308614400,J:1313452800,D:1317081600,E:1317081600,F:1320710400,A:1324339200,B:1327968000,C:1331596800,K:1335225600,L:1338854400,G:1342483200,M:1346112000,N:1349740800,O:1353628800,c:1357603200,d:1361232000,e:1364860800,f:1368489600,g:1372118400,h:1375747200,i:1379376000,j:1386633600,k:1391472000,l:1395100800,m:1398729600,n:1402358400,o:1405987200,p:1409616000,q:1413244800,r:1417392000,s:1421107200,t:1424736000,u:1428278400,v:1431475200,w:1435881600,x:1439251200,y:1442880000,z:1446508800,AB:1492560000,BB:1497312000,CB:1502150400,DB:1506556800,EB:1510617600,FB:1516665600,YB:1520985600,GB:1525824000,ZB:1529971200,Q:1536105600,HB:1540252800,IB:1544486400,JB:1548720000,KB:1552953600,LB:1558396800,MB:1562630400,NB:1567468800,OB:1571788800,PB:1575331200,QB:1578355200,RB:1581379200,SB:1583798400,TB:1586304000,UB:1588636800,aB:1591056000,bB:1593475200,R:1595894400,S:1598313600,T:1600732800,iB:1603152000,U:1605571200,V:1607990400,W:1611619200,X:1614038400,Y:1616457600,Z:1618790400,P:1622505600,a:null,H:null}},D:{A:{"0":0.008408,"1":0.004465,"2":0.004642,"3":0.004891,"4":0.008408,"5":0.02102,"6":0.214404,"7":0.004204,"8":0.016816,"9":0.004204,I:0.004706,b:0.004879,J:0.004879,D:0.005591,E:0.005591,F:0.005591,A:0.004534,B:0.004464,C:0.010424,K:0.0083,L:0.004706,G:0.015087,M:0.004393,N:0.004393,O:0.008652,c:0.008542,d:0.004393,e:0.004317,f:0.012612,g:0.008786,h:0.008408,i:0.004461,j:0.004298,k:0.004326,l:0.0047,m:0.004538,n:0.008542,o:0.008596,p:0.004566,q:0.004204,r:0.008408,s:0.012612,t:0.004335,u:0.004464,v:0.025224,w:0.004464,x:0.012612,y:0.0236,z:0.004403,AB:0.058856,BB:0.008408,CB:0.012612,DB:0.04204,EB:0.008408,FB:0.008408,YB:0.008408,GB:0.016816,ZB:0.121916,Q:0.008408,HB:0.02102,IB:0.025224,JB:0.02102,KB:0.02102,LB:0.033632,MB:0.029428,NB:0.067264,OB:0.071468,PB:0.025224,QB:0.058856,RB:0.02102,SB:0.113508,TB:0.092488,UB:0.067264,aB:0.029428,bB:0.075672,R:0.18918,S:0.1051,T:0.079876,U:0.130324,V:0.100896,W:0.243832,X:0.16816,Y:0.311096,Z:0.344728,P:1.0468,a:21.4866,H:0.790352,lB:0.025224,mB:0.004204,nB:0},B:"webkit",C:["","","","I","b","J","D","E","F","A","B","C","K","L","G","M","N","O","c","d","e","f","g","h","i","j","k","l","m","n","o","p","q","r","s","t","u","v","w","x","y","z","0","1","2","3","4","5","6","7","8","9","AB","BB","CB","DB","EB","FB","YB","GB","ZB","Q","HB","IB","JB","KB","LB","MB","NB","OB","PB","QB","RB","SB","TB","UB","aB","bB","R","S","T","U","V","W","X","Y","Z","P","a","H","lB","mB","nB"],E:"Chrome",F:{"0":1432080000,"1":1437523200,"2":1441152000,"3":1444780800,"4":1449014400,"5":1453248000,"6":1456963200,"7":1460592000,"8":1464134400,"9":1469059200,I:1264377600,b:1274745600,J:1283385600,D:1287619200,E:1291248000,F:1296777600,A:1299542400,B:1303862400,C:1307404800,K:1312243200,L:1316131200,G:1316131200,M:1319500800,N:1323734400,O:1328659200,c:1332892800,d:1337040000,e:1340668800,f:1343692800,g:1348531200,h:1352246400,i:1357862400,j:1361404800,k:1364428800,l:1369094400,m:1374105600,n:1376956800,o:1384214400,p:1389657600,q:1392940800,r:1397001600,s:1400544000,t:1405468800,u:1409011200,v:1412640000,w:1416268800,x:1421798400,y:1425513600,z:1429401600,AB:1472601600,BB:1476230400,CB:1480550400,DB:1485302400,EB:1489017600,FB:1492560000,YB:1496707200,GB:1500940800,ZB:1504569600,Q:1508198400,HB:1512518400,IB:1516752000,JB:1520294400,KB:1523923200,LB:1527552000,MB:1532390400,NB:1536019200,OB:1539648000,PB:1543968000,QB:1548720000,RB:1552348800,SB:1555977600,TB:1559606400,UB:1564444800,aB:1568073600,bB:1571702400,R:1575936000,S:1580860800,T:1586304000,U:1589846400,V:1594684800,W:1598313600,X:1601942400,Y:1605571200,Z:1611014400,P:1614556800,a:1618272000,H:1621987200,lB:null,mB:null,nB:null}},E:{A:{I:0,b:0.008542,J:0.004656,D:0.004465,E:0.218608,F:0.004891,A:0.004425,B:0.008408,C:0.012612,K:0.088284,L:2.26175,G:0,oB:0,cB:0.008692,pB:0.109304,qB:0.00456,rB:0.004283,sB:0.02102,dB:0.02102,VB:0.058856,WB:0.088284,tB:0.395176,uB:0.748312,vB:0},B:"webkit",C:["","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","oB","cB","I","b","pB","J","qB","D","rB","E","F","sB","A","dB","B","VB","C","WB","K","tB","L","uB","G","vB",""],E:"Safari",F:{oB:1205798400,cB:1226534400,I:1244419200,b:1275868800,pB:1311120000,J:1343174400,qB:1382400000,D:1382400000,rB:1410998400,E:1413417600,F:1443657600,sB:1458518400,A:1474329600,dB:1490572800,B:1505779200,VB:1522281600,C:1537142400,WB:1553472000,K:1568851200,tB:1585008000,L:1600214400,uB:1619395200,G:null,vB:null}},F:{A:{"0":0.008542,"1":0.004227,"2":0.004725,"3":0.008408,"4":0.008942,"5":0.004707,"6":0.004827,"7":0.004707,"8":0.004707,"9":0.004326,F:0.0082,B:0.016581,C:0.004317,G:0.00685,M:0.00685,N:0.00685,O:0.005014,c:0.006015,d:0.004879,e:0.006597,f:0.006597,g:0.013434,h:0.006702,i:0.006015,j:0.005595,k:0.004393,l:0.008652,m:0.004879,n:0.004879,o:0.004711,p:0.005152,q:0.005014,r:0.009758,s:0.004879,t:0.008408,u:0.004283,v:0.004367,w:0.004534,x:0.008408,y:0.004227,z:0.004418,AB:0.008922,BB:0.014349,CB:0.004425,DB:0.00472,EB:0.004425,FB:0.004425,GB:0.00472,Q:0.004532,HB:0.004566,IB:0.02283,JB:0.00867,KB:0.004656,LB:0.004642,MB:0.004298,NB:0.00944,OB:0.00415,PB:0.004271,QB:0.004298,RB:0.096692,SB:0.008408,TB:0.433012,UB:0.437216,wB:0.00685,xB:0,yB:0.008392,zB:0.004706,VB:0.006229,eB:0.004879,"0B":0.008786,WB:0.00472},B:"webkit",C:["","","","","","","","","","","","","","","","","","","","F","wB","xB","yB","zB","B","VB","eB","0B","C","WB","G","M","N","O","c","d","e","f","g","h","i","j","k","l","m","n","o","p","q","r","s","t","u","v","w","x","y","z","0","1","2","3","4","5","6","7","8","9","AB","BB","CB","DB","EB","FB","GB","Q","HB","IB","JB","KB","LB","MB","NB","OB","PB","QB","RB","SB","TB","UB","","",""],E:"Opera",F:{"0":1486425600,"1":1490054400,"2":1494374400,"3":1498003200,"4":1502236800,"5":1506470400,"6":1510099200,"7":1515024000,"8":1517961600,"9":1521676800,F:1150761600,wB:1223424000,xB:1251763200,yB:1267488000,zB:1277942400,B:1292457600,VB:1302566400,eB:1309219200,"0B":1323129600,C:1323129600,WB:1352073600,G:1372723200,M:1377561600,N:1381104000,O:1386288000,c:1390867200,d:1393891200,e:1399334400,f:1401753600,g:1405987200,h:1409616000,i:1413331200,j:1417132800,k:1422316800,l:1425945600,m:1430179200,n:1433808000,o:1438646400,p:1442448000,q:1445904000,r:1449100800,s:1454371200,t:1457308800,u:1462320000,v:1465344000,w:1470096000,x:1474329600,y:1477267200,z:1481587200,AB:1525910400,BB:1530144000,CB:1534982400,DB:1537833600,EB:1543363200,FB:1548201600,GB:1554768000,Q:1561593600,HB:1566259200,IB:1570406400,JB:1573689600,KB:1578441600,LB:1583971200,MB:1587513600,NB:1592956800,OB:1595894400,PB:1600128000,QB:1603238400,RB:1613520000,SB:1612224000,TB:1616544000,UB:1619568000},D:{F:"o",B:"o",C:"o",wB:"o",xB:"o",yB:"o",zB:"o",VB:"o",eB:"o","0B":"o",WB:"o"}},G:{A:{E:0.00144955,cB:0,"1B":0,fB:0.00289911,"2B":0.00869732,"3B":0.0449361,"4B":0.0304406,"5B":0.0202937,"6B":0.0217433,"7B":0.147854,"8B":0.0347893,"9B":0.149304,AC:0.0855236,BC:0.0739272,CC:0.0768263,DC:0.246424,EC:0.0666794,FC:0.0333397,GC:0.172497,HC:0.572573,IC:10.1498,JC:1.93225},B:"webkit",C:["","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","cB","1B","fB","2B","3B","4B","E","5B","6B","7B","8B","9B","AC","BC","CC","DC","EC","FC","GC","HC","IC","JC","","",""],E:"Safari on iOS",F:{cB:1270252800,"1B":1283904000,fB:1299628800,"2B":1331078400,"3B":1359331200,"4B":1394409600,E:1410912000,"5B":1413763200,"6B":1442361600,"7B":1458518400,"8B":1473724800,"9B":1490572800,AC:1505779200,BC:1522281600,CC:1537142400,DC:1553472000,EC:1568851200,FC:1572220800,GC:1580169600,HC:1585008000,IC:1600214400,JC:1619395200}},H:{A:{KC:1.18546},B:"o",C:["","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","KC","","",""],E:"Opera Mini",F:{KC:1426464000}},I:{A:{XB:0,I:0.0263634,H:0,LC:0,MC:0,NC:0,OC:0.0301296,fB:0.0979213,PC:0,QC:0.43688},B:"webkit",C:["","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","LC","MC","NC","XB","I","OC","fB","PC","QC","H","","",""],E:"Android Browser",F:{LC:1256515200,MC:1274313600,NC:1291593600,XB:1298332800,I:1318896000,OC:1341792000,fB:1374624000,PC:1386547200,QC:1401667200,H:1621987200}},J:{A:{D:0,A:0},B:"webkit",C:["","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","D","A","","",""],E:"Blackberry Browser",F:{D:1325376000,A:1359504000}},K:{A:{A:0,B:0,C:0,Q:0.0111391,VB:0,eB:0,WB:0},B:"o",C:["","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","A","B","VB","eB","C","WB","Q","","",""],E:"Opera Mobile",F:{A:1287100800,B:1300752000,VB:1314835200,eB:1318291200,C:1330300800,WB:1349740800,Q:1613433600},D:{Q:"webkit"}},L:{A:{H:38.7167},B:"webkit",C:["","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","H","","",""],E:"Chrome for Android",F:{H:1621987200}},M:{A:{P:0.278256},B:"moz",C:["","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","P","","",""],E:"Firefox for Android",F:{P:1622505600}},N:{A:{A:0.0115934,B:0.022664},B:"ms",C:["","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","A","B","","",""],E:"IE Mobile",F:{A:1340150400,B:1353456000}},O:{A:{RC:1.36809},B:"webkit",C:["","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","RC","","",""],E:"UC Browser for Android",F:{RC:1471392000},D:{RC:"webkit"}},P:{A:{I:0.309232,SC:0.0103543,TC:0.010304,UC:0.0824619,VC:0.0103584,WC:0.0721541,dB:0.0412309,XC:0.164924,YC:0.113385,ZC:0.412309,aC:2.19555},B:"webkit",C:["","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","I","SC","TC","UC","VC","WC","dB","XC","YC","ZC","aC","","",""],E:"Samsung Internet",F:{I:1461024000,SC:1481846400,TC:1509408000,UC:1528329600,VC:1546128000,WC:1554163200,dB:1567900800,XC:1582588800,YC:1593475200,ZC:1605657600,aC:1618531200}},Q:{A:{bC:0.185504},B:"webkit",C:["","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","bC","","",""],E:"QQ Browser",F:{bC:1589846400}},R:{A:{cC:0},B:"webkit",C:["","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","cC","","",""],E:"Baidu Browser",F:{cC:1491004800}},S:{A:{dC:0.098549},B:"moz",C:["","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","dC","","",""],E:"KaiOS Browser",F:{dC:1527811200}}}; diff --git a/tools/node_modules/@babel/core/node_modules/caniuse-lite/data/browserVersions.js b/tools/node_modules/@babel/core/node_modules/caniuse-lite/data/browserVersions.js new file mode 100644 index 00000000000000..199bf3d415bede --- /dev/null +++ b/tools/node_modules/@babel/core/node_modules/caniuse-lite/data/browserVersions.js @@ -0,0 +1 @@ +module.exports={"0":"43","1":"44","2":"45","3":"46","4":"47","5":"48","6":"49","7":"50","8":"51","9":"52",A:"10",B:"11",C:"12",D:"7",E:"8",F:"9",G:"15",H:"91",I:"4",J:"6",K:"13",L:"14",M:"16",N:"17",O:"18",P:"89",Q:"62",R:"79",S:"80",T:"81",U:"83",V:"84",W:"85",X:"86",Y:"87",Z:"88",a:"90",b:"5",c:"19",d:"20",e:"21",f:"22",g:"23",h:"24",i:"25",j:"26",k:"27",l:"28",m:"29",n:"30",o:"31",p:"32",q:"33",r:"34",s:"35",t:"36",u:"37",v:"38",w:"39",x:"40",y:"41",z:"42",AB:"53",BB:"54",CB:"55",DB:"56",EB:"57",FB:"58",GB:"60",HB:"63",IB:"64",JB:"65",KB:"66",LB:"67",MB:"68",NB:"69",OB:"70",PB:"71",QB:"72",RB:"73",SB:"74",TB:"75",UB:"76",VB:"11.1",WB:"12.1",XB:"3",YB:"59",ZB:"61",aB:"77",bB:"78",cB:"3.2",dB:"10.1",eB:"11.5",fB:"4.2-4.3",gB:"5.5",hB:"2",iB:"82",jB:"3.5",kB:"3.6",lB:"92",mB:"93",nB:"94",oB:"3.1",pB:"5.1",qB:"6.1",rB:"7.1",sB:"9.1",tB:"13.1",uB:"14.1",vB:"TP",wB:"9.5-9.6",xB:"10.0-10.1",yB:"10.5",zB:"10.6","0B":"11.6","1B":"4.0-4.1","2B":"5.0-5.1","3B":"6.0-6.1","4B":"7.0-7.1","5B":"8.1-8.4","6B":"9.0-9.2","7B":"9.3","8B":"10.0-10.2","9B":"10.3",AC:"11.0-11.2",BC:"11.3-11.4",CC:"12.0-12.1",DC:"12.2-12.4",EC:"13.0-13.1",FC:"13.2",GC:"13.3",HC:"13.4-13.7",IC:"14.0-14.4",JC:"14.5-14.6",KC:"all",LC:"2.1",MC:"2.2",NC:"2.3",OC:"4.1",PC:"4.4",QC:"4.4.3-4.4.4",RC:"12.12",SC:"5.0-5.4",TC:"6.2-6.4",UC:"7.2-7.4",VC:"8.2",WC:"9.2",XC:"11.1-11.2",YC:"12.0",ZC:"13.0",aC:"14.0",bC:"10.4",cC:"7.12",dC:"2.5"}; diff --git a/tools/node_modules/@babel/core/node_modules/caniuse-lite/data/browsers.js b/tools/node_modules/@babel/core/node_modules/caniuse-lite/data/browsers.js new file mode 100644 index 00000000000000..04fbb50f7fe992 --- /dev/null +++ b/tools/node_modules/@babel/core/node_modules/caniuse-lite/data/browsers.js @@ -0,0 +1 @@ +module.exports={A:"ie",B:"edge",C:"firefox",D:"chrome",E:"safari",F:"opera",G:"ios_saf",H:"op_mini",I:"android",J:"bb",K:"op_mob",L:"and_chr",M:"and_ff",N:"ie_mob",O:"and_uc",P:"samsung",Q:"and_qq",R:"baidu",S:"kaios"}; diff --git a/tools/node_modules/@babel/core/node_modules/caniuse-lite/data/features.js b/tools/node_modules/@babel/core/node_modules/caniuse-lite/data/features.js new file mode 100644 index 00000000000000..52fa4194ffd920 --- /dev/null +++ b/tools/node_modules/@babel/core/node_modules/caniuse-lite/data/features.js @@ -0,0 +1 @@ +module.exports={"aac":require("./features/aac"),"abortcontroller":require("./features/abortcontroller"),"ac3-ec3":require("./features/ac3-ec3"),"accelerometer":require("./features/accelerometer"),"addeventlistener":require("./features/addeventlistener"),"alternate-stylesheet":require("./features/alternate-stylesheet"),"ambient-light":require("./features/ambient-light"),"apng":require("./features/apng"),"array-find-index":require("./features/array-find-index"),"array-find":require("./features/array-find"),"array-flat":require("./features/array-flat"),"array-includes":require("./features/array-includes"),"arrow-functions":require("./features/arrow-functions"),"asmjs":require("./features/asmjs"),"async-clipboard":require("./features/async-clipboard"),"async-functions":require("./features/async-functions"),"atob-btoa":require("./features/atob-btoa"),"audio-api":require("./features/audio-api"),"audio":require("./features/audio"),"audiotracks":require("./features/audiotracks"),"autofocus":require("./features/autofocus"),"auxclick":require("./features/auxclick"),"av1":require("./features/av1"),"avif":require("./features/avif"),"background-attachment":require("./features/background-attachment"),"background-clip-text":require("./features/background-clip-text"),"background-img-opts":require("./features/background-img-opts"),"background-position-x-y":require("./features/background-position-x-y"),"background-repeat-round-space":require("./features/background-repeat-round-space"),"background-sync":require("./features/background-sync"),"battery-status":require("./features/battery-status"),"beacon":require("./features/beacon"),"beforeafterprint":require("./features/beforeafterprint"),"bigint":require("./features/bigint"),"blobbuilder":require("./features/blobbuilder"),"bloburls":require("./features/bloburls"),"border-image":require("./features/border-image"),"border-radius":require("./features/border-radius"),"broadcastchannel":require("./features/broadcastchannel"),"brotli":require("./features/brotli"),"calc":require("./features/calc"),"canvas-blending":require("./features/canvas-blending"),"canvas-text":require("./features/canvas-text"),"canvas":require("./features/canvas"),"ch-unit":require("./features/ch-unit"),"chacha20-poly1305":require("./features/chacha20-poly1305"),"channel-messaging":require("./features/channel-messaging"),"childnode-remove":require("./features/childnode-remove"),"classlist":require("./features/classlist"),"client-hints-dpr-width-viewport":require("./features/client-hints-dpr-width-viewport"),"clipboard":require("./features/clipboard"),"colr":require("./features/colr"),"comparedocumentposition":require("./features/comparedocumentposition"),"console-basic":require("./features/console-basic"),"console-time":require("./features/console-time"),"const":require("./features/const"),"constraint-validation":require("./features/constraint-validation"),"contenteditable":require("./features/contenteditable"),"contentsecuritypolicy":require("./features/contentsecuritypolicy"),"contentsecuritypolicy2":require("./features/contentsecuritypolicy2"),"cookie-store-api":require("./features/cookie-store-api"),"cors":require("./features/cors"),"createimagebitmap":require("./features/createimagebitmap"),"credential-management":require("./features/credential-management"),"cryptography":require("./features/cryptography"),"css-all":require("./features/css-all"),"css-animation":require("./features/css-animation"),"css-any-link":require("./features/css-any-link"),"css-appearance":require("./features/css-appearance"),"css-apply-rule":require("./features/css-apply-rule"),"css-at-counter-style":require("./features/css-at-counter-style"),"css-backdrop-filter":require("./features/css-backdrop-filter"),"css-background-offsets":require("./features/css-background-offsets"),"css-backgroundblendmode":require("./features/css-backgroundblendmode"),"css-boxdecorationbreak":require("./features/css-boxdecorationbreak"),"css-boxshadow":require("./features/css-boxshadow"),"css-canvas":require("./features/css-canvas"),"css-caret-color":require("./features/css-caret-color"),"css-case-insensitive":require("./features/css-case-insensitive"),"css-clip-path":require("./features/css-clip-path"),"css-color-adjust":require("./features/css-color-adjust"),"css-color-function":require("./features/css-color-function"),"css-conic-gradients":require("./features/css-conic-gradients"),"css-container-queries":require("./features/css-container-queries"),"css-containment":require("./features/css-containment"),"css-content-visibility":require("./features/css-content-visibility"),"css-counters":require("./features/css-counters"),"css-crisp-edges":require("./features/css-crisp-edges"),"css-cross-fade":require("./features/css-cross-fade"),"css-default-pseudo":require("./features/css-default-pseudo"),"css-descendant-gtgt":require("./features/css-descendant-gtgt"),"css-deviceadaptation":require("./features/css-deviceadaptation"),"css-dir-pseudo":require("./features/css-dir-pseudo"),"css-display-contents":require("./features/css-display-contents"),"css-element-function":require("./features/css-element-function"),"css-env-function":require("./features/css-env-function"),"css-exclusions":require("./features/css-exclusions"),"css-featurequeries":require("./features/css-featurequeries"),"css-filter-function":require("./features/css-filter-function"),"css-filters":require("./features/css-filters"),"css-first-letter":require("./features/css-first-letter"),"css-first-line":require("./features/css-first-line"),"css-fixed":require("./features/css-fixed"),"css-focus-visible":require("./features/css-focus-visible"),"css-focus-within":require("./features/css-focus-within"),"css-font-rendering-controls":require("./features/css-font-rendering-controls"),"css-font-stretch":require("./features/css-font-stretch"),"css-gencontent":require("./features/css-gencontent"),"css-gradients":require("./features/css-gradients"),"css-grid":require("./features/css-grid"),"css-hanging-punctuation":require("./features/css-hanging-punctuation"),"css-has":require("./features/css-has"),"css-hyphenate":require("./features/css-hyphenate"),"css-hyphens":require("./features/css-hyphens"),"css-image-orientation":require("./features/css-image-orientation"),"css-image-set":require("./features/css-image-set"),"css-in-out-of-range":require("./features/css-in-out-of-range"),"css-indeterminate-pseudo":require("./features/css-indeterminate-pseudo"),"css-initial-letter":require("./features/css-initial-letter"),"css-initial-value":require("./features/css-initial-value"),"css-letter-spacing":require("./features/css-letter-spacing"),"css-line-clamp":require("./features/css-line-clamp"),"css-logical-props":require("./features/css-logical-props"),"css-marker-pseudo":require("./features/css-marker-pseudo"),"css-masks":require("./features/css-masks"),"css-matches-pseudo":require("./features/css-matches-pseudo"),"css-math-functions":require("./features/css-math-functions"),"css-media-interaction":require("./features/css-media-interaction"),"css-media-resolution":require("./features/css-media-resolution"),"css-media-scripting":require("./features/css-media-scripting"),"css-mediaqueries":require("./features/css-mediaqueries"),"css-mixblendmode":require("./features/css-mixblendmode"),"css-motion-paths":require("./features/css-motion-paths"),"css-namespaces":require("./features/css-namespaces"),"css-not-sel-list":require("./features/css-not-sel-list"),"css-nth-child-of":require("./features/css-nth-child-of"),"css-opacity":require("./features/css-opacity"),"css-optional-pseudo":require("./features/css-optional-pseudo"),"css-overflow-anchor":require("./features/css-overflow-anchor"),"css-overflow-overlay":require("./features/css-overflow-overlay"),"css-overflow":require("./features/css-overflow"),"css-overscroll-behavior":require("./features/css-overscroll-behavior"),"css-page-break":require("./features/css-page-break"),"css-paged-media":require("./features/css-paged-media"),"css-paint-api":require("./features/css-paint-api"),"css-placeholder-shown":require("./features/css-placeholder-shown"),"css-placeholder":require("./features/css-placeholder"),"css-read-only-write":require("./features/css-read-only-write"),"css-rebeccapurple":require("./features/css-rebeccapurple"),"css-reflections":require("./features/css-reflections"),"css-regions":require("./features/css-regions"),"css-repeating-gradients":require("./features/css-repeating-gradients"),"css-resize":require("./features/css-resize"),"css-revert-value":require("./features/css-revert-value"),"css-rrggbbaa":require("./features/css-rrggbbaa"),"css-scroll-behavior":require("./features/css-scroll-behavior"),"css-scroll-timeline":require("./features/css-scroll-timeline"),"css-scrollbar":require("./features/css-scrollbar"),"css-sel2":require("./features/css-sel2"),"css-sel3":require("./features/css-sel3"),"css-selection":require("./features/css-selection"),"css-shapes":require("./features/css-shapes"),"css-snappoints":require("./features/css-snappoints"),"css-sticky":require("./features/css-sticky"),"css-subgrid":require("./features/css-subgrid"),"css-supports-api":require("./features/css-supports-api"),"css-table":require("./features/css-table"),"css-text-align-last":require("./features/css-text-align-last"),"css-text-indent":require("./features/css-text-indent"),"css-text-justify":require("./features/css-text-justify"),"css-text-orientation":require("./features/css-text-orientation"),"css-text-spacing":require("./features/css-text-spacing"),"css-textshadow":require("./features/css-textshadow"),"css-touch-action-2":require("./features/css-touch-action-2"),"css-touch-action":require("./features/css-touch-action"),"css-transitions":require("./features/css-transitions"),"css-unicode-bidi":require("./features/css-unicode-bidi"),"css-unset-value":require("./features/css-unset-value"),"css-variables":require("./features/css-variables"),"css-widows-orphans":require("./features/css-widows-orphans"),"css-writing-mode":require("./features/css-writing-mode"),"css-zoom":require("./features/css-zoom"),"css3-attr":require("./features/css3-attr"),"css3-boxsizing":require("./features/css3-boxsizing"),"css3-colors":require("./features/css3-colors"),"css3-cursors-grab":require("./features/css3-cursors-grab"),"css3-cursors-newer":require("./features/css3-cursors-newer"),"css3-cursors":require("./features/css3-cursors"),"css3-tabsize":require("./features/css3-tabsize"),"currentcolor":require("./features/currentcolor"),"custom-elements":require("./features/custom-elements"),"custom-elementsv1":require("./features/custom-elementsv1"),"customevent":require("./features/customevent"),"datalist":require("./features/datalist"),"dataset":require("./features/dataset"),"datauri":require("./features/datauri"),"date-tolocaledatestring":require("./features/date-tolocaledatestring"),"details":require("./features/details"),"deviceorientation":require("./features/deviceorientation"),"devicepixelratio":require("./features/devicepixelratio"),"dialog":require("./features/dialog"),"dispatchevent":require("./features/dispatchevent"),"dnssec":require("./features/dnssec"),"do-not-track":require("./features/do-not-track"),"document-currentscript":require("./features/document-currentscript"),"document-evaluate-xpath":require("./features/document-evaluate-xpath"),"document-execcommand":require("./features/document-execcommand"),"document-policy":require("./features/document-policy"),"document-scrollingelement":require("./features/document-scrollingelement"),"documenthead":require("./features/documenthead"),"dom-manip-convenience":require("./features/dom-manip-convenience"),"dom-range":require("./features/dom-range"),"domcontentloaded":require("./features/domcontentloaded"),"domfocusin-domfocusout-events":require("./features/domfocusin-domfocusout-events"),"dommatrix":require("./features/dommatrix"),"download":require("./features/download"),"dragndrop":require("./features/dragndrop"),"element-closest":require("./features/element-closest"),"element-from-point":require("./features/element-from-point"),"element-scroll-methods":require("./features/element-scroll-methods"),"eme":require("./features/eme"),"eot":require("./features/eot"),"es5":require("./features/es5"),"es6-class":require("./features/es6-class"),"es6-generators":require("./features/es6-generators"),"es6-module-dynamic-import":require("./features/es6-module-dynamic-import"),"es6-module":require("./features/es6-module"),"es6-number":require("./features/es6-number"),"es6-string-includes":require("./features/es6-string-includes"),"es6":require("./features/es6"),"eventsource":require("./features/eventsource"),"extended-system-fonts":require("./features/extended-system-fonts"),"feature-policy":require("./features/feature-policy"),"fetch":require("./features/fetch"),"fieldset-disabled":require("./features/fieldset-disabled"),"fileapi":require("./features/fileapi"),"filereader":require("./features/filereader"),"filereadersync":require("./features/filereadersync"),"filesystem":require("./features/filesystem"),"flac":require("./features/flac"),"flexbox-gap":require("./features/flexbox-gap"),"flexbox":require("./features/flexbox"),"flow-root":require("./features/flow-root"),"focusin-focusout-events":require("./features/focusin-focusout-events"),"focusoptions-preventscroll":require("./features/focusoptions-preventscroll"),"font-family-system-ui":require("./features/font-family-system-ui"),"font-feature":require("./features/font-feature"),"font-kerning":require("./features/font-kerning"),"font-loading":require("./features/font-loading"),"font-metrics-overrides":require("./features/font-metrics-overrides"),"font-size-adjust":require("./features/font-size-adjust"),"font-smooth":require("./features/font-smooth"),"font-unicode-range":require("./features/font-unicode-range"),"font-variant-alternates":require("./features/font-variant-alternates"),"font-variant-east-asian":require("./features/font-variant-east-asian"),"font-variant-numeric":require("./features/font-variant-numeric"),"fontface":require("./features/fontface"),"form-attribute":require("./features/form-attribute"),"form-submit-attributes":require("./features/form-submit-attributes"),"form-validation":require("./features/form-validation"),"forms":require("./features/forms"),"fullscreen":require("./features/fullscreen"),"gamepad":require("./features/gamepad"),"geolocation":require("./features/geolocation"),"getboundingclientrect":require("./features/getboundingclientrect"),"getcomputedstyle":require("./features/getcomputedstyle"),"getelementsbyclassname":require("./features/getelementsbyclassname"),"getrandomvalues":require("./features/getrandomvalues"),"gyroscope":require("./features/gyroscope"),"hardwareconcurrency":require("./features/hardwareconcurrency"),"hashchange":require("./features/hashchange"),"heif":require("./features/heif"),"hevc":require("./features/hevc"),"hidden":require("./features/hidden"),"high-resolution-time":require("./features/high-resolution-time"),"history":require("./features/history"),"html-media-capture":require("./features/html-media-capture"),"html5semantic":require("./features/html5semantic"),"http-live-streaming":require("./features/http-live-streaming"),"http2":require("./features/http2"),"http3":require("./features/http3"),"iframe-sandbox":require("./features/iframe-sandbox"),"iframe-seamless":require("./features/iframe-seamless"),"iframe-srcdoc":require("./features/iframe-srcdoc"),"imagecapture":require("./features/imagecapture"),"ime":require("./features/ime"),"img-naturalwidth-naturalheight":require("./features/img-naturalwidth-naturalheight"),"import-maps":require("./features/import-maps"),"imports":require("./features/imports"),"indeterminate-checkbox":require("./features/indeterminate-checkbox"),"indexeddb":require("./features/indexeddb"),"indexeddb2":require("./features/indexeddb2"),"inline-block":require("./features/inline-block"),"innertext":require("./features/innertext"),"input-autocomplete-onoff":require("./features/input-autocomplete-onoff"),"input-color":require("./features/input-color"),"input-datetime":require("./features/input-datetime"),"input-email-tel-url":require("./features/input-email-tel-url"),"input-event":require("./features/input-event"),"input-file-accept":require("./features/input-file-accept"),"input-file-directory":require("./features/input-file-directory"),"input-file-multiple":require("./features/input-file-multiple"),"input-inputmode":require("./features/input-inputmode"),"input-minlength":require("./features/input-minlength"),"input-number":require("./features/input-number"),"input-pattern":require("./features/input-pattern"),"input-placeholder":require("./features/input-placeholder"),"input-range":require("./features/input-range"),"input-search":require("./features/input-search"),"input-selection":require("./features/input-selection"),"insert-adjacent":require("./features/insert-adjacent"),"insertadjacenthtml":require("./features/insertadjacenthtml"),"internationalization":require("./features/internationalization"),"intersectionobserver-v2":require("./features/intersectionobserver-v2"),"intersectionobserver":require("./features/intersectionobserver"),"intl-pluralrules":require("./features/intl-pluralrules"),"intrinsic-width":require("./features/intrinsic-width"),"jpeg2000":require("./features/jpeg2000"),"jpegxl":require("./features/jpegxl"),"jpegxr":require("./features/jpegxr"),"js-regexp-lookbehind":require("./features/js-regexp-lookbehind"),"json":require("./features/json"),"justify-content-space-evenly":require("./features/justify-content-space-evenly"),"kerning-pairs-ligatures":require("./features/kerning-pairs-ligatures"),"keyboardevent-charcode":require("./features/keyboardevent-charcode"),"keyboardevent-code":require("./features/keyboardevent-code"),"keyboardevent-getmodifierstate":require("./features/keyboardevent-getmodifierstate"),"keyboardevent-key":require("./features/keyboardevent-key"),"keyboardevent-location":require("./features/keyboardevent-location"),"keyboardevent-which":require("./features/keyboardevent-which"),"lazyload":require("./features/lazyload"),"let":require("./features/let"),"link-icon-png":require("./features/link-icon-png"),"link-icon-svg":require("./features/link-icon-svg"),"link-rel-dns-prefetch":require("./features/link-rel-dns-prefetch"),"link-rel-modulepreload":require("./features/link-rel-modulepreload"),"link-rel-preconnect":require("./features/link-rel-preconnect"),"link-rel-prefetch":require("./features/link-rel-prefetch"),"link-rel-preload":require("./features/link-rel-preload"),"link-rel-prerender":require("./features/link-rel-prerender"),"loading-lazy-attr":require("./features/loading-lazy-attr"),"localecompare":require("./features/localecompare"),"magnetometer":require("./features/magnetometer"),"matchesselector":require("./features/matchesselector"),"matchmedia":require("./features/matchmedia"),"mathml":require("./features/mathml"),"maxlength":require("./features/maxlength"),"media-attribute":require("./features/media-attribute"),"media-fragments":require("./features/media-fragments"),"media-session-api":require("./features/media-session-api"),"mediacapture-fromelement":require("./features/mediacapture-fromelement"),"mediarecorder":require("./features/mediarecorder"),"mediasource":require("./features/mediasource"),"menu":require("./features/menu"),"meta-theme-color":require("./features/meta-theme-color"),"meter":require("./features/meter"),"midi":require("./features/midi"),"minmaxwh":require("./features/minmaxwh"),"mp3":require("./features/mp3"),"mpeg-dash":require("./features/mpeg-dash"),"mpeg4":require("./features/mpeg4"),"multibackgrounds":require("./features/multibackgrounds"),"multicolumn":require("./features/multicolumn"),"mutation-events":require("./features/mutation-events"),"mutationobserver":require("./features/mutationobserver"),"namevalue-storage":require("./features/namevalue-storage"),"native-filesystem-api":require("./features/native-filesystem-api"),"nav-timing":require("./features/nav-timing"),"navigator-language":require("./features/navigator-language"),"netinfo":require("./features/netinfo"),"notifications":require("./features/notifications"),"object-entries":require("./features/object-entries"),"object-fit":require("./features/object-fit"),"object-observe":require("./features/object-observe"),"object-values":require("./features/object-values"),"objectrtc":require("./features/objectrtc"),"offline-apps":require("./features/offline-apps"),"offscreencanvas":require("./features/offscreencanvas"),"ogg-vorbis":require("./features/ogg-vorbis"),"ogv":require("./features/ogv"),"ol-reversed":require("./features/ol-reversed"),"once-event-listener":require("./features/once-event-listener"),"online-status":require("./features/online-status"),"opus":require("./features/opus"),"orientation-sensor":require("./features/orientation-sensor"),"outline":require("./features/outline"),"pad-start-end":require("./features/pad-start-end"),"page-transition-events":require("./features/page-transition-events"),"pagevisibility":require("./features/pagevisibility"),"passive-event-listener":require("./features/passive-event-listener"),"passwordrules":require("./features/passwordrules"),"path2d":require("./features/path2d"),"payment-request":require("./features/payment-request"),"pdf-viewer":require("./features/pdf-viewer"),"permissions-api":require("./features/permissions-api"),"permissions-policy":require("./features/permissions-policy"),"picture-in-picture":require("./features/picture-in-picture"),"picture":require("./features/picture"),"ping":require("./features/ping"),"png-alpha":require("./features/png-alpha"),"pointer-events":require("./features/pointer-events"),"pointer":require("./features/pointer"),"pointerlock":require("./features/pointerlock"),"portals":require("./features/portals"),"prefers-color-scheme":require("./features/prefers-color-scheme"),"prefers-reduced-motion":require("./features/prefers-reduced-motion"),"private-class-fields":require("./features/private-class-fields"),"private-methods-and-accessors":require("./features/private-methods-and-accessors"),"progress":require("./features/progress"),"promise-finally":require("./features/promise-finally"),"promises":require("./features/promises"),"proximity":require("./features/proximity"),"proxy":require("./features/proxy"),"public-class-fields":require("./features/public-class-fields"),"publickeypinning":require("./features/publickeypinning"),"push-api":require("./features/push-api"),"queryselector":require("./features/queryselector"),"readonly-attr":require("./features/readonly-attr"),"referrer-policy":require("./features/referrer-policy"),"registerprotocolhandler":require("./features/registerprotocolhandler"),"rel-noopener":require("./features/rel-noopener"),"rel-noreferrer":require("./features/rel-noreferrer"),"rellist":require("./features/rellist"),"rem":require("./features/rem"),"requestanimationframe":require("./features/requestanimationframe"),"requestidlecallback":require("./features/requestidlecallback"),"resizeobserver":require("./features/resizeobserver"),"resource-timing":require("./features/resource-timing"),"rest-parameters":require("./features/rest-parameters"),"rtcpeerconnection":require("./features/rtcpeerconnection"),"ruby":require("./features/ruby"),"run-in":require("./features/run-in"),"same-site-cookie-attribute":require("./features/same-site-cookie-attribute"),"screen-orientation":require("./features/screen-orientation"),"script-async":require("./features/script-async"),"script-defer":require("./features/script-defer"),"scrollintoview":require("./features/scrollintoview"),"scrollintoviewifneeded":require("./features/scrollintoviewifneeded"),"sdch":require("./features/sdch"),"selection-api":require("./features/selection-api"),"server-timing":require("./features/server-timing"),"serviceworkers":require("./features/serviceworkers"),"setimmediate":require("./features/setimmediate"),"sha-2":require("./features/sha-2"),"shadowdom":require("./features/shadowdom"),"shadowdomv1":require("./features/shadowdomv1"),"sharedarraybuffer":require("./features/sharedarraybuffer"),"sharedworkers":require("./features/sharedworkers"),"sni":require("./features/sni"),"spdy":require("./features/spdy"),"speech-recognition":require("./features/speech-recognition"),"speech-synthesis":require("./features/speech-synthesis"),"spellcheck-attribute":require("./features/spellcheck-attribute"),"sql-storage":require("./features/sql-storage"),"srcset":require("./features/srcset"),"stream":require("./features/stream"),"streams":require("./features/streams"),"stricttransportsecurity":require("./features/stricttransportsecurity"),"style-scoped":require("./features/style-scoped"),"subresource-integrity":require("./features/subresource-integrity"),"svg-css":require("./features/svg-css"),"svg-filters":require("./features/svg-filters"),"svg-fonts":require("./features/svg-fonts"),"svg-fragment":require("./features/svg-fragment"),"svg-html":require("./features/svg-html"),"svg-html5":require("./features/svg-html5"),"svg-img":require("./features/svg-img"),"svg-smil":require("./features/svg-smil"),"svg":require("./features/svg"),"sxg":require("./features/sxg"),"tabindex-attr":require("./features/tabindex-attr"),"template-literals":require("./features/template-literals"),"template":require("./features/template"),"testfeat":require("./features/testfeat"),"text-decoration":require("./features/text-decoration"),"text-emphasis":require("./features/text-emphasis"),"text-overflow":require("./features/text-overflow"),"text-size-adjust":require("./features/text-size-adjust"),"text-stroke":require("./features/text-stroke"),"text-underline-offset":require("./features/text-underline-offset"),"textcontent":require("./features/textcontent"),"textencoder":require("./features/textencoder"),"tls1-1":require("./features/tls1-1"),"tls1-2":require("./features/tls1-2"),"tls1-3":require("./features/tls1-3"),"token-binding":require("./features/token-binding"),"touch":require("./features/touch"),"transforms2d":require("./features/transforms2d"),"transforms3d":require("./features/transforms3d"),"trusted-types":require("./features/trusted-types"),"ttf":require("./features/ttf"),"typedarrays":require("./features/typedarrays"),"u2f":require("./features/u2f"),"unhandledrejection":require("./features/unhandledrejection"),"upgradeinsecurerequests":require("./features/upgradeinsecurerequests"),"url-scroll-to-text-fragment":require("./features/url-scroll-to-text-fragment"),"url":require("./features/url"),"urlsearchparams":require("./features/urlsearchparams"),"use-strict":require("./features/use-strict"),"user-select-none":require("./features/user-select-none"),"user-timing":require("./features/user-timing"),"variable-fonts":require("./features/variable-fonts"),"vector-effect":require("./features/vector-effect"),"vibration":require("./features/vibration"),"video":require("./features/video"),"videotracks":require("./features/videotracks"),"viewport-units":require("./features/viewport-units"),"wai-aria":require("./features/wai-aria"),"wake-lock":require("./features/wake-lock"),"wasm":require("./features/wasm"),"wav":require("./features/wav"),"wbr-element":require("./features/wbr-element"),"web-animation":require("./features/web-animation"),"web-app-manifest":require("./features/web-app-manifest"),"web-bluetooth":require("./features/web-bluetooth"),"web-serial":require("./features/web-serial"),"web-share":require("./features/web-share"),"webauthn":require("./features/webauthn"),"webgl":require("./features/webgl"),"webgl2":require("./features/webgl2"),"webgpu":require("./features/webgpu"),"webhid":require("./features/webhid"),"webkit-user-drag":require("./features/webkit-user-drag"),"webm":require("./features/webm"),"webnfc":require("./features/webnfc"),"webp":require("./features/webp"),"websockets":require("./features/websockets"),"webusb":require("./features/webusb"),"webvr":require("./features/webvr"),"webvtt":require("./features/webvtt"),"webworkers":require("./features/webworkers"),"webxr":require("./features/webxr"),"will-change":require("./features/will-change"),"woff":require("./features/woff"),"woff2":require("./features/woff2"),"word-break":require("./features/word-break"),"wordwrap":require("./features/wordwrap"),"x-doc-messaging":require("./features/x-doc-messaging"),"x-frame-options":require("./features/x-frame-options"),"xhr2":require("./features/xhr2"),"xhtml":require("./features/xhtml"),"xhtmlsmil":require("./features/xhtmlsmil"),"xml-serializer":require("./features/xml-serializer")}; diff --git a/tools/node_modules/@babel/core/node_modules/caniuse-lite/data/features/aac.js b/tools/node_modules/@babel/core/node_modules/caniuse-lite/data/features/aac.js new file mode 100644 index 00000000000000..9e058949920efd --- /dev/null +++ b/tools/node_modules/@babel/core/node_modules/caniuse-lite/data/features/aac.js @@ -0,0 +1 @@ +module.exports={A:{A:{"1":"F A B","2":"J D E gB"},B:{"1":"C K L G M N O R S T U V W X Y Z P a H"},C:{"2":"hB XB I b J D E F A B C K L G M N O c d e jB kB","132":"0 1 2 3 4 5 6 7 8 9 f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB YB GB ZB Q HB IB JB KB LB MB NB OB PB QB RB SB TB UB aB bB R S T iB U V W X Y Z P a H"},D:{"1":"0 1 2 3 4 5 6 7 8 9 C K L G M N O c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB YB GB ZB Q HB IB JB KB LB MB NB OB PB QB RB SB TB UB aB bB R S T U V W X Y Z P a H lB mB nB","2":"I b J D E F","16":"A B"},E:{"1":"I b J D E F A B C K L G pB qB rB sB dB VB WB tB uB vB","2":"oB cB"},F:{"1":"0 1 2 3 4 5 6 7 8 9 G M N O c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB GB Q HB IB JB KB LB MB NB OB PB QB RB SB TB UB","2":"F B C wB xB yB zB VB eB 0B WB"},G:{"1":"E 1B fB 2B 3B 4B 5B 6B 7B 8B 9B AC BC CC DC EC FC GC HC IC JC","16":"cB"},H:{"2":"KC"},I:{"1":"XB I H OC fB PC QC","2":"LC MC NC"},J:{"1":"A","2":"D"},K:{"1":"Q","2":"A B C VB eB WB"},L:{"1":"H"},M:{"132":"P"},N:{"1":"A","2":"B"},O:{"1":"RC"},P:{"1":"I SC TC UC VC WC dB XC YC ZC aC"},Q:{"1":"bC"},R:{"1":"cC"},S:{"132":"dC"}},B:6,C:"AAC audio file format"}; diff --git a/tools/node_modules/@babel/core/node_modules/caniuse-lite/data/features/abortcontroller.js b/tools/node_modules/@babel/core/node_modules/caniuse-lite/data/features/abortcontroller.js new file mode 100644 index 00000000000000..adf94c9cf63d1c --- /dev/null +++ b/tools/node_modules/@babel/core/node_modules/caniuse-lite/data/features/abortcontroller.js @@ -0,0 +1 @@ +module.exports={A:{A:{"2":"J D E F A B gB"},B:{"1":"M N O R S T U V W X Y Z P a H","2":"C K L G"},C:{"1":"EB FB YB GB ZB Q HB IB JB KB LB MB NB OB PB QB RB SB TB UB aB bB R S T iB U V W X Y Z P a H","2":"0 1 2 3 4 5 6 7 8 9 hB XB I b J D E F A B C K L G M N O c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB jB kB"},D:{"1":"KB LB MB NB OB PB QB RB SB TB UB aB bB R S T U V W X Y Z P a H lB mB nB","2":"0 1 2 3 4 5 6 7 8 9 I b J D E F A B C K L G M N O c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB YB GB ZB Q HB IB JB"},E:{"1":"K L G WB tB uB vB","2":"I b J D E F A B oB cB pB qB rB sB dB","130":"C VB"},F:{"1":"AB BB CB DB EB FB GB Q HB IB JB KB LB MB NB OB PB QB RB SB TB UB","2":"0 1 2 3 4 5 6 7 8 9 F B C G M N O c d e f g h i j k l m n o p q r s t u v w x y z wB xB yB zB VB eB 0B WB"},G:{"1":"BC CC DC EC FC GC HC IC JC","2":"E cB 1B fB 2B 3B 4B 5B 6B 7B 8B 9B AC"},H:{"2":"KC"},I:{"1":"H","2":"XB I LC MC NC OC fB PC QC"},J:{"2":"D A"},K:{"2":"A B C Q VB eB WB"},L:{"1":"H"},M:{"1":"P"},N:{"2":"A B"},O:{"2":"RC"},P:{"1":"WC dB XC YC ZC aC","2":"I SC TC UC VC"},Q:{"1":"bC"},R:{"2":"cC"},S:{"2":"dC"}},B:1,C:"AbortController & AbortSignal"}; diff --git a/tools/node_modules/@babel/core/node_modules/caniuse-lite/data/features/ac3-ec3.js b/tools/node_modules/@babel/core/node_modules/caniuse-lite/data/features/ac3-ec3.js new file mode 100644 index 00000000000000..126b0e2e86c31d --- /dev/null +++ b/tools/node_modules/@babel/core/node_modules/caniuse-lite/data/features/ac3-ec3.js @@ -0,0 +1 @@ +module.exports={A:{A:{"2":"J D E F A B gB"},B:{"1":"C K L G M N O","2":"R S T U V W X Y Z P a H"},C:{"2":"0 1 2 3 4 5 6 7 8 9 hB XB I b J D E F A B C K L G M N O c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB YB GB ZB Q HB IB JB KB LB MB NB OB PB QB RB SB TB UB aB bB R S T iB U V W X Y Z P a H jB kB"},D:{"2":"0 1 2 3 4 5 6 7 8 9 I b J D E F A B C K L G M N O c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB YB GB ZB Q HB IB JB KB LB MB NB OB PB QB RB SB TB UB aB bB R S T U V W X Y Z P a H lB mB nB"},E:{"2":"I b J D E F A B C K L G oB cB pB qB rB sB dB VB WB tB uB vB"},F:{"2":"0 1 2 3 4 5 6 7 8 9 F B C G M N O c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB GB Q HB IB JB KB LB MB NB OB PB QB RB SB TB UB wB xB yB zB VB eB 0B WB"},G:{"2":"E cB 1B fB 2B 3B 4B 5B","132":"6B 7B 8B 9B AC BC CC DC EC FC GC HC IC JC"},H:{"2":"KC"},I:{"2":"XB I H LC MC NC OC fB PC QC"},J:{"2":"D","132":"A"},K:{"2":"A B C Q VB eB","132":"WB"},L:{"2":"H"},M:{"2":"P"},N:{"2":"A B"},O:{"132":"RC"},P:{"2":"I SC TC UC VC WC dB XC YC ZC aC"},Q:{"2":"bC"},R:{"2":"cC"},S:{"2":"dC"}},B:6,C:"AC-3 (Dolby Digital) and EC-3 (Dolby Digital Plus) codecs"}; diff --git a/tools/node_modules/@babel/core/node_modules/caniuse-lite/data/features/accelerometer.js b/tools/node_modules/@babel/core/node_modules/caniuse-lite/data/features/accelerometer.js new file mode 100644 index 00000000000000..59ebc538bb55b7 --- /dev/null +++ b/tools/node_modules/@babel/core/node_modules/caniuse-lite/data/features/accelerometer.js @@ -0,0 +1 @@ +module.exports={A:{A:{"2":"J D E F A B gB"},B:{"1":"R S T U V W X Y Z P a H","2":"C K L G M N O"},C:{"2":"0 1 2 3 4 5 6 7 8 9 hB XB I b J D E F A B C K L G M N O c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB YB GB ZB Q HB IB JB KB LB MB NB OB PB QB RB SB TB UB aB bB R S T iB U V W X Y Z P a H jB kB"},D:{"1":"LB MB NB OB PB QB RB SB TB UB aB bB R S T U V W X Y Z P a H lB mB nB","2":"0 1 2 3 4 5 6 7 8 9 I b J D E F A B C K L G M N O c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB","194":"FB YB GB ZB Q HB IB JB KB"},E:{"2":"I b J D E F A B C K L G oB cB pB qB rB sB dB VB WB tB uB vB"},F:{"1":"BB CB DB EB FB GB Q HB IB JB KB LB MB NB OB PB QB RB SB TB UB","2":"0 1 2 3 4 5 6 7 8 9 F B C G M N O c d e f g h i j k l m n o p q r s t u v w x y z AB wB xB yB zB VB eB 0B WB"},G:{"2":"E cB 1B fB 2B 3B 4B 5B 6B 7B 8B 9B AC BC CC DC EC FC GC HC IC JC"},H:{"2":"KC"},I:{"1":"H","2":"XB I LC MC NC OC fB PC QC"},J:{"2":"D A"},K:{"2":"A B C Q VB eB WB"},L:{"1":"H"},M:{"2":"P"},N:{"2":"A B"},O:{"2":"RC"},P:{"2":"I SC TC UC VC WC dB XC YC ZC aC"},Q:{"2":"bC"},R:{"2":"cC"},S:{"2":"dC"}},B:4,C:"Accelerometer"}; diff --git a/tools/node_modules/@babel/core/node_modules/caniuse-lite/data/features/addeventlistener.js b/tools/node_modules/@babel/core/node_modules/caniuse-lite/data/features/addeventlistener.js new file mode 100644 index 00000000000000..791383ff1b41cc --- /dev/null +++ b/tools/node_modules/@babel/core/node_modules/caniuse-lite/data/features/addeventlistener.js @@ -0,0 +1 @@ +module.exports={A:{A:{"1":"F A B","130":"J D E gB"},B:{"1":"C K L G M N O R S T U V W X Y Z P a H"},C:{"1":"0 1 2 3 4 5 6 7 8 9 D E F A B C K L G M N O c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB YB GB ZB Q HB IB JB KB LB MB NB OB PB QB RB SB TB UB aB bB R S T iB U V W X Y Z P a H","257":"hB XB I b J jB kB"},D:{"1":"0 1 2 3 4 5 6 7 8 9 I b J D E F A B C K L G M N O c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB YB GB ZB Q HB IB JB KB LB MB NB OB PB QB RB SB TB UB aB bB R S T U V W X Y Z P a H lB mB nB"},E:{"1":"I b J D E F A B C K L G oB cB pB qB rB sB dB VB WB tB uB vB"},F:{"1":"0 1 2 3 4 5 6 7 8 9 F B C G M N O c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB GB Q HB IB JB KB LB MB NB OB PB QB RB SB TB UB wB xB yB zB VB eB 0B WB"},G:{"1":"E cB 1B fB 2B 3B 4B 5B 6B 7B 8B 9B AC BC CC DC EC FC GC HC IC JC"},H:{"1":"KC"},I:{"1":"XB I H LC MC NC OC fB PC QC"},J:{"1":"D A"},K:{"1":"A B C Q VB eB WB"},L:{"1":"H"},M:{"1":"P"},N:{"1":"A B"},O:{"1":"RC"},P:{"1":"I SC TC UC VC WC dB XC YC ZC aC"},Q:{"1":"bC"},R:{"1":"cC"},S:{"1":"dC"}},B:1,C:"EventTarget.addEventListener()"}; diff --git a/tools/node_modules/@babel/core/node_modules/caniuse-lite/data/features/alternate-stylesheet.js b/tools/node_modules/@babel/core/node_modules/caniuse-lite/data/features/alternate-stylesheet.js new file mode 100644 index 00000000000000..428aef21b3ee65 --- /dev/null +++ b/tools/node_modules/@babel/core/node_modules/caniuse-lite/data/features/alternate-stylesheet.js @@ -0,0 +1 @@ +module.exports={A:{A:{"1":"E F A B","2":"J D gB"},B:{"2":"C K L G M N O R S T U V W X Y Z P a H"},C:{"1":"0 1 2 3 4 5 6 7 8 9 hB XB I b J D E F A B C K L G M N O c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB YB GB ZB Q HB IB JB KB LB MB NB OB PB QB RB SB TB UB aB bB R S T iB U V W X Y Z P a H jB kB"},D:{"2":"0 1 2 3 4 5 6 7 8 9 I b J D E F A B C K L G M N O c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB YB GB ZB Q HB IB JB KB LB MB NB OB PB QB RB SB TB UB aB bB R S T U V W X Y Z P a H lB mB nB"},E:{"2":"I b J D E F A B C K L G oB cB pB qB rB sB dB VB WB tB uB vB"},F:{"1":"F B C wB xB yB zB VB eB 0B WB","16":"0 1 2 3 4 5 6 7 8 9 G M N O c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB GB Q HB IB JB KB LB MB NB OB PB QB RB SB TB UB"},G:{"2":"E cB 1B fB 2B 3B 4B 5B 6B 7B 8B 9B AC BC CC DC EC FC GC HC IC JC"},H:{"16":"KC"},I:{"2":"XB I H LC MC NC OC fB PC QC"},J:{"16":"D A"},K:{"16":"A B C Q VB eB WB"},L:{"16":"H"},M:{"16":"P"},N:{"16":"A B"},O:{"16":"RC"},P:{"16":"I SC TC UC VC WC dB XC YC ZC aC"},Q:{"2":"bC"},R:{"16":"cC"},S:{"1":"dC"}},B:1,C:"Alternate stylesheet"}; diff --git a/tools/node_modules/@babel/core/node_modules/caniuse-lite/data/features/ambient-light.js b/tools/node_modules/@babel/core/node_modules/caniuse-lite/data/features/ambient-light.js new file mode 100644 index 00000000000000..8345e82ea7c8a7 --- /dev/null +++ b/tools/node_modules/@babel/core/node_modules/caniuse-lite/data/features/ambient-light.js @@ -0,0 +1 @@ +module.exports={A:{A:{"2":"J D E F A B gB"},B:{"2":"C K","132":"L G M N O","322":"R S T U V W X Y Z P a H"},C:{"2":"hB XB I b J D E F A B C K L G M N O c d e jB kB","132":"0 1 2 3 4 5 6 7 8 9 f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB YB","194":"GB ZB Q HB IB JB KB LB MB NB OB PB QB RB SB TB UB aB bB R S T iB U V W X Y Z P a H"},D:{"2":"0 1 2 3 4 5 6 7 8 9 I b J D E F A B C K L G M N O c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB","322":"FB YB GB ZB Q HB IB JB KB LB MB NB OB PB QB RB SB TB UB aB bB R S T U V W X Y Z P a H lB mB nB"},E:{"2":"I b J D E F A B C K L G oB cB pB qB rB sB dB VB WB tB uB vB"},F:{"2":"0 1 2 3 4 5 6 7 8 9 F B C G M N O c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB GB Q HB IB JB KB LB MB NB OB PB QB wB xB yB zB VB eB 0B WB","322":"RB SB TB UB"},G:{"2":"E cB 1B fB 2B 3B 4B 5B 6B 7B 8B 9B AC BC CC DC EC FC GC HC IC JC"},H:{"2":"KC"},I:{"2":"XB I H LC MC NC OC fB PC QC"},J:{"2":"D A"},K:{"2":"A B C Q VB eB WB"},L:{"2":"H"},M:{"1":"P"},N:{"2":"A B"},O:{"2":"RC"},P:{"2":"I SC TC UC VC WC dB XC YC ZC aC"},Q:{"2":"bC"},R:{"2":"cC"},S:{"132":"dC"}},B:4,C:"Ambient Light Sensor"}; diff --git a/tools/node_modules/@babel/core/node_modules/caniuse-lite/data/features/apng.js b/tools/node_modules/@babel/core/node_modules/caniuse-lite/data/features/apng.js new file mode 100644 index 00000000000000..db9adf3e332216 --- /dev/null +++ b/tools/node_modules/@babel/core/node_modules/caniuse-lite/data/features/apng.js @@ -0,0 +1 @@ +module.exports={A:{A:{"2":"J D E F A B gB"},B:{"1":"R S T U V W X Y Z P a H","2":"C K L G M N O"},C:{"1":"0 1 2 3 4 5 6 7 8 9 XB I b J D E F A B C K L G M N O c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB YB GB ZB Q HB IB JB KB LB MB NB OB PB QB RB SB TB UB aB bB R S T iB U V W X Y Z P a H jB kB","2":"hB"},D:{"1":"YB GB ZB Q HB IB JB KB LB MB NB OB PB QB RB SB TB UB aB bB R S T U V W X Y Z P a H lB mB nB","2":"0 1 2 3 4 5 6 7 8 9 I b J D E F A B C K L G M N O c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB"},E:{"1":"E F A B C K L G sB dB VB WB tB uB vB","2":"I b J D oB cB pB qB rB"},F:{"1":"3 4 5 6 7 8 9 B C AB BB CB DB EB FB GB Q HB IB JB KB LB MB NB OB PB QB RB SB TB UB wB xB yB zB VB eB 0B WB","2":"0 1 2 F G M N O c d e f g h i j k l m n o p q r s t u v w x y z"},G:{"1":"E 5B 6B 7B 8B 9B AC BC CC DC EC FC GC HC IC JC","2":"cB 1B fB 2B 3B 4B"},H:{"2":"KC"},I:{"1":"H","2":"XB I LC MC NC OC fB PC QC"},J:{"2":"D A"},K:{"1":"A B C Q VB eB WB"},L:{"1":"H"},M:{"1":"P"},N:{"2":"A B"},O:{"2":"RC"},P:{"1":"UC VC WC dB XC YC ZC aC","2":"I SC TC"},Q:{"2":"bC"},R:{"2":"cC"},S:{"1":"dC"}},B:7,C:"Animated PNG (APNG)"}; diff --git a/tools/node_modules/@babel/core/node_modules/caniuse-lite/data/features/array-find-index.js b/tools/node_modules/@babel/core/node_modules/caniuse-lite/data/features/array-find-index.js new file mode 100644 index 00000000000000..a3086bf67bbf37 --- /dev/null +++ b/tools/node_modules/@babel/core/node_modules/caniuse-lite/data/features/array-find-index.js @@ -0,0 +1 @@ +module.exports={A:{A:{"2":"J D E F A B gB"},B:{"1":"C K L G M N O R S T U V W X Y Z P a H"},C:{"1":"0 1 2 3 4 5 6 7 8 9 i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB YB GB ZB Q HB IB JB KB LB MB NB OB PB QB RB SB TB UB aB bB R S T iB U V W X Y Z P a H","2":"hB XB I b J D E F A B C K L G M N O c d e f g h jB kB"},D:{"1":"2 3 4 5 6 7 8 9 AB BB CB DB EB FB YB GB ZB Q HB IB JB KB LB MB NB OB PB QB RB SB TB UB aB bB R S T U V W X Y Z P a H lB mB nB","2":"0 1 I b J D E F A B C K L G M N O c d e f g h i j k l m n o p q r s t u v w x y z"},E:{"1":"E F A B C K L G rB sB dB VB WB tB uB vB","2":"I b J D oB cB pB qB"},F:{"1":"0 1 2 3 4 5 6 7 8 9 p q r s t u v w x y z AB BB CB DB EB FB GB Q HB IB JB KB LB MB NB OB PB QB RB SB TB UB","2":"F B C G M N O c d e f g h i j k l m n o wB xB yB zB VB eB 0B WB"},G:{"1":"E 5B 6B 7B 8B 9B AC BC CC DC EC FC GC HC IC JC","2":"cB 1B fB 2B 3B 4B"},H:{"2":"KC"},I:{"1":"H","2":"XB I LC MC NC OC fB PC QC"},J:{"2":"D","16":"A"},K:{"1":"Q","2":"A B C VB eB WB"},L:{"1":"H"},M:{"1":"P"},N:{"2":"A B"},O:{"1":"RC"},P:{"1":"SC TC UC VC WC dB XC YC ZC aC","2":"I"},Q:{"1":"bC"},R:{"1":"cC"},S:{"1":"dC"}},B:6,C:"Array.prototype.findIndex"}; diff --git a/tools/node_modules/@babel/core/node_modules/caniuse-lite/data/features/array-find.js b/tools/node_modules/@babel/core/node_modules/caniuse-lite/data/features/array-find.js new file mode 100644 index 00000000000000..c30f14949884f4 --- /dev/null +++ b/tools/node_modules/@babel/core/node_modules/caniuse-lite/data/features/array-find.js @@ -0,0 +1 @@ +module.exports={A:{A:{"2":"J D E F A B gB"},B:{"1":"G M N O R S T U V W X Y Z P a H","16":"C K L"},C:{"1":"0 1 2 3 4 5 6 7 8 9 i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB YB GB ZB Q HB IB JB KB LB MB NB OB PB QB RB SB TB UB aB bB R S T iB U V W X Y Z P a H","2":"hB XB I b J D E F A B C K L G M N O c d e f g h jB kB"},D:{"1":"2 3 4 5 6 7 8 9 AB BB CB DB EB FB YB GB ZB Q HB IB JB KB LB MB NB OB PB QB RB SB TB UB aB bB R S T U V W X Y Z P a H lB mB nB","2":"0 1 I b J D E F A B C K L G M N O c d e f g h i j k l m n o p q r s t u v w x y z"},E:{"1":"E F A B C K L G rB sB dB VB WB tB uB vB","2":"I b J D oB cB pB qB"},F:{"1":"0 1 2 3 4 5 6 7 8 9 p q r s t u v w x y z AB BB CB DB EB FB GB Q HB IB JB KB LB MB NB OB PB QB RB SB TB UB","2":"F B C G M N O c d e f g h i j k l m n o wB xB yB zB VB eB 0B WB"},G:{"1":"E 5B 6B 7B 8B 9B AC BC CC DC EC FC GC HC IC JC","2":"cB 1B fB 2B 3B 4B"},H:{"2":"KC"},I:{"1":"H","2":"XB I LC MC NC OC fB PC QC"},J:{"2":"D","16":"A"},K:{"1":"Q","2":"A B C VB eB WB"},L:{"1":"H"},M:{"1":"P"},N:{"2":"A B"},O:{"1":"RC"},P:{"1":"SC TC UC VC WC dB XC YC ZC aC","2":"I"},Q:{"1":"bC"},R:{"1":"cC"},S:{"1":"dC"}},B:6,C:"Array.prototype.find"}; diff --git a/tools/node_modules/@babel/core/node_modules/caniuse-lite/data/features/array-flat.js b/tools/node_modules/@babel/core/node_modules/caniuse-lite/data/features/array-flat.js new file mode 100644 index 00000000000000..34370ddcca79f4 --- /dev/null +++ b/tools/node_modules/@babel/core/node_modules/caniuse-lite/data/features/array-flat.js @@ -0,0 +1 @@ +module.exports={A:{A:{"2":"J D E F A B gB"},B:{"1":"R S T U V W X Y Z P a H","2":"C K L G M N O"},C:{"1":"Q HB IB JB KB LB MB NB OB PB QB RB SB TB UB aB bB R S T iB U V W X Y Z P a H","2":"0 1 2 3 4 5 6 7 8 9 hB XB I b J D E F A B C K L G M N O c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB YB GB ZB jB kB"},D:{"1":"NB OB PB QB RB SB TB UB aB bB R S T U V W X Y Z P a H lB mB nB","2":"0 1 2 3 4 5 6 7 8 9 I b J D E F A B C K L G M N O c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB YB GB ZB Q HB IB JB KB LB MB"},E:{"1":"C K L G WB tB uB vB","2":"I b J D E F A B oB cB pB qB rB sB dB VB"},F:{"1":"DB EB FB GB Q HB IB JB KB LB MB NB OB PB QB RB SB TB UB","2":"0 1 2 3 4 5 6 7 8 9 F B C G M N O c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB wB xB yB zB VB eB 0B WB"},G:{"1":"CC DC EC FC GC HC IC JC","2":"E cB 1B fB 2B 3B 4B 5B 6B 7B 8B 9B AC BC"},H:{"2":"KC"},I:{"1":"H","2":"XB I LC MC NC OC fB PC QC"},J:{"2":"D A"},K:{"1":"Q","2":"A B C VB eB WB"},L:{"1":"H"},M:{"1":"P"},N:{"2":"A B"},O:{"2":"RC"},P:{"1":"dB XC YC ZC aC","2":"I SC TC UC VC WC"},Q:{"2":"bC"},R:{"2":"cC"},S:{"2":"dC"}},B:6,C:"flat & flatMap array methods"}; diff --git a/tools/node_modules/@babel/core/node_modules/caniuse-lite/data/features/array-includes.js b/tools/node_modules/@babel/core/node_modules/caniuse-lite/data/features/array-includes.js new file mode 100644 index 00000000000000..0ee06f8a61f133 --- /dev/null +++ b/tools/node_modules/@babel/core/node_modules/caniuse-lite/data/features/array-includes.js @@ -0,0 +1 @@ +module.exports={A:{A:{"2":"J D E F A B gB"},B:{"1":"L G M N O R S T U V W X Y Z P a H","2":"C K"},C:{"1":"0 1 2 3 4 5 6 7 8 9 AB BB CB DB EB FB YB GB ZB Q HB IB JB KB LB MB NB OB PB QB RB SB TB UB aB bB R S T iB U V W X Y Z P a H","2":"hB XB I b J D E F A B C K L G M N O c d e f g h i j k l m n o p q r s t u v w x y z jB kB"},D:{"1":"4 5 6 7 8 9 AB BB CB DB EB FB YB GB ZB Q HB IB JB KB LB MB NB OB PB QB RB SB TB UB aB bB R S T U V W X Y Z P a H lB mB nB","2":"0 1 2 3 I b J D E F A B C K L G M N O c d e f g h i j k l m n o p q r s t u v w x y z"},E:{"1":"F A B C K L G sB dB VB WB tB uB vB","2":"I b J D E oB cB pB qB rB"},F:{"1":"0 1 2 3 4 5 6 7 8 9 r s t u v w x y z AB BB CB DB EB FB GB Q HB IB JB KB LB MB NB OB PB QB RB SB TB UB","2":"F B C G M N O c d e f g h i j k l m n o p q wB xB yB zB VB eB 0B WB"},G:{"1":"6B 7B 8B 9B AC BC CC DC EC FC GC HC IC JC","2":"E cB 1B fB 2B 3B 4B 5B"},H:{"2":"KC"},I:{"1":"H","2":"XB I LC MC NC OC fB PC QC"},J:{"2":"D A"},K:{"1":"Q","2":"A B C VB eB WB"},L:{"1":"H"},M:{"1":"P"},N:{"2":"A B"},O:{"1":"RC"},P:{"1":"SC TC UC VC WC dB XC YC ZC aC","2":"I"},Q:{"1":"bC"},R:{"1":"cC"},S:{"1":"dC"}},B:6,C:"Array.prototype.includes"}; diff --git a/tools/node_modules/@babel/core/node_modules/caniuse-lite/data/features/arrow-functions.js b/tools/node_modules/@babel/core/node_modules/caniuse-lite/data/features/arrow-functions.js new file mode 100644 index 00000000000000..1e18d7e79af285 --- /dev/null +++ b/tools/node_modules/@babel/core/node_modules/caniuse-lite/data/features/arrow-functions.js @@ -0,0 +1 @@ +module.exports={A:{A:{"2":"J D E F A B gB"},B:{"1":"C K L G M N O R S T U V W X Y Z P a H"},C:{"1":"0 1 2 3 4 5 6 7 8 9 f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB YB GB ZB Q HB IB JB KB LB MB NB OB PB QB RB SB TB UB aB bB R S T iB U V W X Y Z P a H","2":"hB XB I b J D E F A B C K L G M N O c d e jB kB"},D:{"1":"2 3 4 5 6 7 8 9 AB BB CB DB EB FB YB GB ZB Q HB IB JB KB LB MB NB OB PB QB RB SB TB UB aB bB R S T U V W X Y Z P a H lB mB nB","2":"0 1 I b J D E F A B C K L G M N O c d e f g h i j k l m n o p q r s t u v w x y z"},E:{"1":"A B C K L G dB VB WB tB uB vB","2":"I b J D E F oB cB pB qB rB sB"},F:{"1":"0 1 2 3 4 5 6 7 8 9 p q r s t u v w x y z AB BB CB DB EB FB GB Q HB IB JB KB LB MB NB OB PB QB RB SB TB UB","2":"F B C G M N O c d e f g h i j k l m n o wB xB yB zB VB eB 0B WB"},G:{"1":"8B 9B AC BC CC DC EC FC GC HC IC JC","2":"E cB 1B fB 2B 3B 4B 5B 6B 7B"},H:{"2":"KC"},I:{"1":"H","2":"XB I LC MC NC OC fB PC QC"},J:{"2":"D A"},K:{"1":"Q","2":"A B C VB eB WB"},L:{"1":"H"},M:{"1":"P"},N:{"2":"A B"},O:{"1":"RC"},P:{"1":"SC TC UC VC WC dB XC YC ZC aC","2":"I"},Q:{"1":"bC"},R:{"1":"cC"},S:{"1":"dC"}},B:6,C:"Arrow functions"}; diff --git a/tools/node_modules/@babel/core/node_modules/caniuse-lite/data/features/asmjs.js b/tools/node_modules/@babel/core/node_modules/caniuse-lite/data/features/asmjs.js new file mode 100644 index 00000000000000..127bcfbf013688 --- /dev/null +++ b/tools/node_modules/@babel/core/node_modules/caniuse-lite/data/features/asmjs.js @@ -0,0 +1 @@ +module.exports={A:{A:{"2":"J D E F A B gB"},B:{"1":"K L G M N O","132":"R S T U V W X Y Z P a H","322":"C"},C:{"1":"0 1 2 3 4 5 6 7 8 9 f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB YB GB ZB Q HB IB JB KB LB MB NB OB PB QB RB SB TB UB aB bB R S T iB U V W X Y Z P a H","2":"hB XB I b J D E F A B C K L G M N O c d e jB kB"},D:{"2":"I b J D E F A B C K L G M N O c d e f g h i j k","132":"0 1 2 3 4 5 6 7 8 9 l m n o p q r s t u v w x y z AB BB CB DB EB FB YB GB ZB Q HB IB JB KB LB MB NB OB PB QB RB SB TB UB aB bB R S T U V W X Y Z P a H lB mB nB"},E:{"2":"I b J D E F A B C K L G oB cB pB qB rB sB dB VB WB tB uB vB"},F:{"2":"F B C wB xB yB zB VB eB 0B WB","132":"0 1 2 3 4 5 6 7 8 9 G M N O c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB GB Q HB IB JB KB LB MB NB OB PB QB RB SB TB UB"},G:{"2":"E cB 1B fB 2B 3B 4B 5B 6B 7B 8B 9B AC BC CC DC EC FC GC HC IC JC"},H:{"2":"KC"},I:{"2":"XB I LC MC NC OC fB PC QC","132":"H"},J:{"2":"D A"},K:{"2":"A B C VB eB WB","132":"Q"},L:{"132":"H"},M:{"1":"P"},N:{"2":"A B"},O:{"2":"RC"},P:{"2":"I","132":"SC TC UC VC WC dB XC YC ZC aC"},Q:{"132":"bC"},R:{"132":"cC"},S:{"1":"dC"}},B:6,C:"asm.js"}; diff --git a/tools/node_modules/@babel/core/node_modules/caniuse-lite/data/features/async-clipboard.js b/tools/node_modules/@babel/core/node_modules/caniuse-lite/data/features/async-clipboard.js new file mode 100644 index 00000000000000..6e40fc39c6e258 --- /dev/null +++ b/tools/node_modules/@babel/core/node_modules/caniuse-lite/data/features/async-clipboard.js @@ -0,0 +1 @@ +module.exports={A:{A:{"2":"J D E F A B gB"},B:{"1":"R S T U V W X Y Z P a H","2":"C K L G M N O"},C:{"2":"0 1 2 3 4 5 6 7 8 9 hB XB I b J D E F A B C K L G M N O c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB YB GB ZB Q jB kB","132":"HB IB JB KB LB MB NB OB PB QB RB SB TB UB aB bB R S T iB U V W X Y Z P a H"},D:{"1":"Q HB IB JB KB LB MB NB OB PB QB RB SB TB UB aB bB R S T U V W X Y Z P a H lB mB nB","2":"0 1 2 3 4 5 6 7 8 9 I b J D E F A B C K L G M N O c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB","66":"FB YB GB ZB"},E:{"1":"L G tB uB vB","2":"I b J D E F A B C K oB cB pB qB rB sB dB VB WB"},F:{"1":"6 7 8 9 AB BB CB DB EB FB GB Q HB IB JB KB LB MB NB OB PB QB RB SB TB UB","2":"0 1 2 3 4 5 F B C G M N O c d e f g h i j k l m n o p q r s t u v w x y z wB xB yB zB VB eB 0B WB"},G:{"2":"E cB 1B fB 2B 3B 4B 5B 6B 7B 8B 9B AC BC CC DC EC FC GC HC","260":"IC JC"},H:{"2":"KC"},I:{"2":"XB I LC MC NC OC fB PC QC","260":"H"},J:{"2":"D A"},K:{"2":"A B C VB eB WB","260":"Q"},L:{"1":"H"},M:{"132":"P"},N:{"2":"A B"},O:{"2":"RC"},P:{"2":"I SC TC UC VC","260":"WC dB XC YC ZC aC"},Q:{"2":"bC"},R:{"2":"cC"},S:{"2":"dC"}},B:5,C:"Asynchronous Clipboard API"}; diff --git a/tools/node_modules/@babel/core/node_modules/caniuse-lite/data/features/async-functions.js b/tools/node_modules/@babel/core/node_modules/caniuse-lite/data/features/async-functions.js new file mode 100644 index 00000000000000..f34dcd2daec70e --- /dev/null +++ b/tools/node_modules/@babel/core/node_modules/caniuse-lite/data/features/async-functions.js @@ -0,0 +1 @@ +module.exports={A:{A:{"2":"J D E F A B gB"},B:{"1":"G M N O R S T U V W X Y Z P a H","2":"C K","194":"L"},C:{"1":"9 AB BB CB DB EB FB YB GB ZB Q HB IB JB KB LB MB NB OB PB QB RB SB TB UB aB bB R S T iB U V W X Y Z P a H","2":"0 1 2 3 4 5 6 7 8 hB XB I b J D E F A B C K L G M N O c d e f g h i j k l m n o p q r s t u v w x y z jB kB"},D:{"1":"CB DB EB FB YB GB ZB Q HB IB JB KB LB MB NB OB PB QB RB SB TB UB aB bB R S T U V W X Y Z P a H lB mB nB","2":"0 1 2 3 4 5 6 7 8 9 I b J D E F A B C K L G M N O c d e f g h i j k l m n o p q r s t u v w x y z AB BB"},E:{"1":"B C K L G VB WB tB uB vB","2":"I b J D E F A oB cB pB qB rB sB","514":"dB"},F:{"1":"0 1 2 3 4 5 6 7 8 9 z AB BB CB DB EB FB GB Q HB IB JB KB LB MB NB OB PB QB RB SB TB UB","2":"F B C G M N O c d e f g h i j k l m n o p q r s t u v w x y wB xB yB zB VB eB 0B WB"},G:{"1":"AC BC CC DC EC FC GC HC IC JC","2":"E cB 1B fB 2B 3B 4B 5B 6B 7B 8B","514":"9B"},H:{"2":"KC"},I:{"1":"H","2":"XB I LC MC NC OC fB PC QC"},J:{"2":"D A"},K:{"1":"Q","2":"A B C VB eB WB"},L:{"1":"H"},M:{"1":"P"},N:{"2":"A B"},O:{"1":"RC"},P:{"1":"TC UC VC WC dB XC YC ZC aC","2":"I SC"},Q:{"1":"bC"},R:{"2":"cC"},S:{"2":"dC"}},B:6,C:"Async functions"}; diff --git a/tools/node_modules/@babel/core/node_modules/caniuse-lite/data/features/atob-btoa.js b/tools/node_modules/@babel/core/node_modules/caniuse-lite/data/features/atob-btoa.js new file mode 100644 index 00000000000000..2a7876e10d1ae1 --- /dev/null +++ b/tools/node_modules/@babel/core/node_modules/caniuse-lite/data/features/atob-btoa.js @@ -0,0 +1 @@ +module.exports={A:{A:{"1":"A B","2":"J D E F gB"},B:{"1":"C K L G M N O R S T U V W X Y Z P a H"},C:{"1":"0 1 2 3 4 5 6 7 8 9 hB XB I b J D E F A B C K L G M N O c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB YB GB ZB Q HB IB JB KB LB MB NB OB PB QB RB SB TB UB aB bB R S T iB U V W X Y Z P a H jB kB"},D:{"1":"0 1 2 3 4 5 6 7 8 9 I b J D E F A B C K L G M N O c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB YB GB ZB Q HB IB JB KB LB MB NB OB PB QB RB SB TB UB aB bB R S T U V W X Y Z P a H lB mB nB"},E:{"1":"I b J D E F A B C K L G oB cB pB qB rB sB dB VB WB tB uB vB"},F:{"1":"0 1 2 3 4 5 6 7 8 9 B C G M N O c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB GB Q HB IB JB KB LB MB NB OB PB QB RB SB TB UB zB VB eB 0B WB","2":"F wB xB","16":"yB"},G:{"1":"E cB 1B fB 2B 3B 4B 5B 6B 7B 8B 9B AC BC CC DC EC FC GC HC IC JC"},H:{"1":"KC"},I:{"1":"XB I H LC MC NC OC fB PC QC"},J:{"1":"D A"},K:{"1":"B C Q VB eB WB","16":"A"},L:{"1":"H"},M:{"1":"P"},N:{"1":"A B"},O:{"1":"RC"},P:{"1":"I SC TC UC VC WC dB XC YC ZC aC"},Q:{"1":"bC"},R:{"1":"cC"},S:{"1":"dC"}},B:1,C:"Base64 encoding and decoding"}; diff --git a/tools/node_modules/@babel/core/node_modules/caniuse-lite/data/features/audio-api.js b/tools/node_modules/@babel/core/node_modules/caniuse-lite/data/features/audio-api.js new file mode 100644 index 00000000000000..fd2d7793f3ae92 --- /dev/null +++ b/tools/node_modules/@babel/core/node_modules/caniuse-lite/data/features/audio-api.js @@ -0,0 +1 @@ +module.exports={A:{A:{"2":"J D E F A B gB"},B:{"1":"C K L G M N O R S T U V W X Y Z P a H"},C:{"1":"0 1 2 3 4 5 6 7 8 9 i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB YB GB ZB Q HB IB JB KB LB MB NB OB PB QB RB SB TB UB aB bB R S T iB U V W X Y Z P a H","2":"hB XB I b J D E F A B C K L G M N O c d e f g h jB kB"},D:{"1":"0 1 2 3 4 5 6 7 8 9 r s t u v w x y z AB BB CB DB EB FB YB GB ZB Q HB IB JB KB LB MB NB OB PB QB RB SB TB UB aB bB R S T U V W X Y Z P a H lB mB nB","2":"I b J D E F A B C K","33":"L G M N O c d e f g h i j k l m n o p q"},E:{"1":"G uB vB","2":"I b oB cB pB","33":"J D E F A B C K L qB rB sB dB VB WB tB"},F:{"1":"0 1 2 3 4 5 6 7 8 9 f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB GB Q HB IB JB KB LB MB NB OB PB QB RB SB TB UB","2":"F B C wB xB yB zB VB eB 0B WB","33":"G M N O c d e"},G:{"1":"JC","2":"cB 1B fB 2B","33":"E 3B 4B 5B 6B 7B 8B 9B AC BC CC DC EC FC GC HC IC"},H:{"2":"KC"},I:{"1":"H","2":"XB I LC MC NC OC fB PC QC"},J:{"2":"D A"},K:{"1":"Q","2":"A B C VB eB WB"},L:{"1":"H"},M:{"1":"P"},N:{"2":"A B"},O:{"1":"RC"},P:{"1":"I SC TC UC VC WC dB XC YC ZC aC"},Q:{"1":"bC"},R:{"1":"cC"},S:{"1":"dC"}},B:5,C:"Web Audio API"}; diff --git a/tools/node_modules/@babel/core/node_modules/caniuse-lite/data/features/audio.js b/tools/node_modules/@babel/core/node_modules/caniuse-lite/data/features/audio.js new file mode 100644 index 00000000000000..9a7277a9444411 --- /dev/null +++ b/tools/node_modules/@babel/core/node_modules/caniuse-lite/data/features/audio.js @@ -0,0 +1 @@ +module.exports={A:{A:{"1":"F A B","2":"J D E gB"},B:{"1":"C K L G M N O R S T U V W X Y Z P a H"},C:{"1":"0 1 2 3 4 5 6 7 8 9 d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB YB GB ZB Q HB IB JB KB LB MB NB OB PB QB RB SB TB UB aB bB R S T iB U V W X Y Z P a H","2":"hB XB","132":"I b J D E F A B C K L G M N O c jB kB"},D:{"1":"0 1 2 3 4 5 6 7 8 9 I b J D E F A B C K L G M N O c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB YB GB ZB Q HB IB JB KB LB MB NB OB PB QB RB SB TB UB aB bB R S T U V W X Y Z P a H lB mB nB"},E:{"1":"I b J D E F A B C K L G pB qB rB sB dB VB WB tB uB vB","2":"oB cB"},F:{"1":"0 1 2 3 4 5 6 7 8 9 B C G M N O c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB GB Q HB IB JB KB LB MB NB OB PB QB RB SB TB UB yB zB VB eB 0B WB","2":"F","4":"wB xB"},G:{"1":"E 1B fB 2B 3B 4B 5B 6B 7B 8B 9B AC BC CC DC EC FC GC HC IC JC","2":"cB"},H:{"2":"KC"},I:{"1":"XB I H NC OC fB PC QC","2":"LC MC"},J:{"1":"D A"},K:{"1":"B C Q VB eB WB","2":"A"},L:{"1":"H"},M:{"1":"P"},N:{"1":"A B"},O:{"1":"RC"},P:{"1":"I SC TC UC VC WC dB XC YC ZC aC"},Q:{"1":"bC"},R:{"1":"cC"},S:{"1":"dC"}},B:1,C:"Audio element"}; diff --git a/tools/node_modules/@babel/core/node_modules/caniuse-lite/data/features/audiotracks.js b/tools/node_modules/@babel/core/node_modules/caniuse-lite/data/features/audiotracks.js new file mode 100644 index 00000000000000..104d882b591d3f --- /dev/null +++ b/tools/node_modules/@babel/core/node_modules/caniuse-lite/data/features/audiotracks.js @@ -0,0 +1 @@ +module.exports={A:{A:{"1":"A B","2":"J D E F gB"},B:{"1":"C K L G M N O","322":"R S T U V W X Y Z P a H"},C:{"2":"hB XB I b J D E F A B C K L G M N O c d e f g h i j k l m n o p jB kB","194":"0 1 2 3 4 5 6 7 8 9 q r s t u v w x y z AB BB CB DB EB FB YB GB ZB Q HB IB JB KB LB MB NB OB PB QB RB SB TB UB aB bB R S T iB U V W X Y Z P a H"},D:{"2":"0 1 I b J D E F A B C K L G M N O c d e f g h i j k l m n o p q r s t u v w x y z","322":"2 3 4 5 6 7 8 9 AB BB CB DB EB FB YB GB ZB Q HB IB JB KB LB MB NB OB PB QB RB SB TB UB aB bB R S T U V W X Y Z P a H lB mB nB"},E:{"1":"D E F A B C K L G qB rB sB dB VB WB tB uB vB","2":"I b J oB cB pB"},F:{"2":"F B C G M N O c d e f g h i j k l m n o wB xB yB zB VB eB 0B WB","322":"0 1 2 3 4 5 6 7 8 9 p q r s t u v w x y z AB BB CB DB EB FB GB Q HB IB JB KB LB MB NB OB PB QB RB SB TB UB"},G:{"1":"E 4B 5B 6B 7B 8B 9B AC BC CC DC EC FC GC HC IC JC","2":"cB 1B fB 2B 3B"},H:{"2":"KC"},I:{"2":"XB I H LC MC NC OC fB PC QC"},J:{"2":"D A"},K:{"2":"A B C VB eB WB","322":"Q"},L:{"322":"H"},M:{"2":"P"},N:{"1":"A B"},O:{"2":"RC"},P:{"2":"I SC TC UC VC WC dB XC YC ZC aC"},Q:{"2":"bC"},R:{"2":"cC"},S:{"194":"dC"}},B:1,C:"Audio Tracks"}; diff --git a/tools/node_modules/@babel/core/node_modules/caniuse-lite/data/features/autofocus.js b/tools/node_modules/@babel/core/node_modules/caniuse-lite/data/features/autofocus.js new file mode 100644 index 00000000000000..b753995333667d --- /dev/null +++ b/tools/node_modules/@babel/core/node_modules/caniuse-lite/data/features/autofocus.js @@ -0,0 +1 @@ +module.exports={A:{A:{"1":"A B","2":"J D E F gB"},B:{"1":"C K L G M N O R S T U V W X Y Z P a H"},C:{"1":"0 1 2 3 4 5 6 7 8 9 I b J D E F A B C K L G M N O c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB YB GB ZB Q HB IB JB KB LB MB NB OB PB QB RB SB TB UB aB bB R S T iB U V W X Y Z P a H","2":"hB XB jB kB"},D:{"1":"0 1 2 3 4 5 6 7 8 9 b J D E F A B C K L G M N O c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB YB GB ZB Q HB IB JB KB LB MB NB OB PB QB RB SB TB UB aB bB R S T U V W X Y Z P a H lB mB nB","2":"I"},E:{"1":"b J D E F A B C K L G pB qB rB sB dB VB WB tB uB vB","2":"I oB cB"},F:{"1":"0 1 2 3 4 5 6 7 8 9 B C G M N O c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB GB Q HB IB JB KB LB MB NB OB PB QB RB SB TB UB wB xB yB zB VB eB 0B WB","2":"F"},G:{"2":"E cB 1B fB 2B 3B 4B 5B 6B 7B 8B 9B AC BC CC DC EC FC GC HC IC JC"},H:{"2":"KC"},I:{"1":"XB I H OC fB PC QC","2":"LC MC NC"},J:{"1":"D A"},K:{"1":"Q","2":"A B C VB eB WB"},L:{"1":"H"},M:{"1":"P"},N:{"1":"A B"},O:{"2":"RC"},P:{"1":"I SC TC UC VC WC dB XC YC ZC aC"},Q:{"1":"bC"},R:{"1":"cC"},S:{"2":"dC"}},B:1,C:"Autofocus attribute"}; diff --git a/tools/node_modules/@babel/core/node_modules/caniuse-lite/data/features/auxclick.js b/tools/node_modules/@babel/core/node_modules/caniuse-lite/data/features/auxclick.js new file mode 100644 index 00000000000000..4fae51d5d4b959 --- /dev/null +++ b/tools/node_modules/@babel/core/node_modules/caniuse-lite/data/features/auxclick.js @@ -0,0 +1 @@ +module.exports={A:{A:{"2":"J D E F A B gB"},B:{"1":"R S T U V W X Y Z P a H","2":"C K L G M N O"},C:{"2":"0 1 2 3 4 5 6 7 8 9 hB XB I b J D E F A B C K L G M N O c d e f g h i j k l m n o p q r s t u v w x y z jB kB","129":"AB BB CB DB EB FB YB GB ZB Q HB IB JB KB LB MB NB OB PB QB RB SB TB UB aB bB R S T iB U V W X Y Z P a H"},D:{"1":"CB DB EB FB YB GB ZB Q HB IB JB KB LB MB NB OB PB QB RB SB TB UB aB bB R S T U V W X Y Z P a H lB mB nB","2":"0 1 2 3 4 5 6 7 8 9 I b J D E F A B C K L G M N O c d e f g h i j k l m n o p q r s t u v w x y z AB BB"},E:{"2":"I b J D E F A B C K L G oB cB pB qB rB sB dB VB WB tB uB vB"},F:{"1":"0 1 2 3 4 5 6 7 8 9 z AB BB CB DB EB FB GB Q HB IB JB KB LB MB NB OB PB QB RB SB TB UB","2":"F B C G M N O c d e f g h i j k l m n o p q r s t u v w x y wB xB yB zB VB eB 0B WB"},G:{"2":"E cB 1B fB 2B 3B 4B 5B 6B 7B 8B 9B AC BC CC DC EC FC GC HC IC JC"},H:{"2":"KC"},I:{"1":"H","2":"XB I LC MC NC OC fB PC QC"},J:{"2":"D A"},K:{"2":"A B C VB eB WB","16":"Q"},L:{"1":"H"},M:{"1":"P"},N:{"2":"A B"},O:{"1":"RC"},P:{"1":"SC TC UC VC WC dB XC YC ZC aC","2":"I"},Q:{"1":"bC"},R:{"1":"cC"},S:{"2":"dC"}},B:5,C:"Auxclick"}; diff --git a/tools/node_modules/@babel/core/node_modules/caniuse-lite/data/features/av1.js b/tools/node_modules/@babel/core/node_modules/caniuse-lite/data/features/av1.js new file mode 100644 index 00000000000000..c4418a01d23f76 --- /dev/null +++ b/tools/node_modules/@babel/core/node_modules/caniuse-lite/data/features/av1.js @@ -0,0 +1 @@ +module.exports={A:{A:{"2":"J D E F A B gB"},B:{"1":"R S T U V W X Y Z P a H","2":"C K L G M N","194":"O"},C:{"1":"LB MB NB OB PB QB RB SB TB UB aB bB R S T iB U V W X Y Z P a H","2":"0 1 2 3 4 5 6 7 8 9 hB XB I b J D E F A B C K L G M N O c d e f g h i j k l m n o p q r s t u v w x y z AB BB jB kB","66":"CB DB EB FB YB GB ZB Q HB IB","260":"JB","516":"KB"},D:{"1":"OB PB QB RB SB TB UB aB bB R S T U V W X Y Z P a H lB mB nB","2":"0 1 2 3 4 5 6 7 8 9 I b J D E F A B C K L G M N O c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB YB GB ZB Q HB IB JB KB","66":"LB MB NB"},E:{"2":"I b J D E F A B C K L G oB cB pB qB rB sB dB VB WB tB uB vB"},F:{"1":"EB FB GB Q HB IB JB KB LB MB NB OB PB QB RB SB TB UB","2":"0 1 2 3 4 5 6 7 8 9 F B C G M N O c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB wB xB yB zB VB eB 0B WB"},G:{"2":"E cB 1B fB 2B 3B 4B 5B 6B 7B 8B 9B AC BC CC DC EC FC GC HC IC JC"},H:{"2":"KC"},I:{"1":"H","2":"XB I LC MC NC OC fB PC QC"},J:{"2":"D A"},K:{"1":"Q","2":"A B C VB eB WB"},L:{"1":"H"},M:{"1090":"P"},N:{"2":"A B"},O:{"2":"RC"},P:{"1":"YC ZC aC","2":"I SC TC UC VC WC dB XC"},Q:{"2":"bC"},R:{"2":"cC"},S:{"2":"dC"}},B:6,C:"AV1 video format"}; diff --git a/tools/node_modules/@babel/core/node_modules/caniuse-lite/data/features/avif.js b/tools/node_modules/@babel/core/node_modules/caniuse-lite/data/features/avif.js new file mode 100644 index 00000000000000..ed2bd4b7703ccc --- /dev/null +++ b/tools/node_modules/@babel/core/node_modules/caniuse-lite/data/features/avif.js @@ -0,0 +1 @@ +module.exports={A:{A:{"2":"J D E F A B gB"},B:{"2":"C K L G M N O R S T U V W X Y Z P a H"},C:{"2":"0 1 2 3 4 5 6 7 8 9 hB XB I b J D E F A B C K L G M N O c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB YB GB ZB Q HB IB JB KB LB MB NB OB PB QB RB SB TB UB jB kB","450":"aB bB R S T iB U V W X Y Z P a H"},D:{"1":"W X Y Z P a H lB mB nB","2":"0 1 2 3 4 5 6 7 8 9 I b J D E F A B C K L G M N O c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB YB GB ZB Q HB IB JB KB LB MB NB OB PB QB RB SB TB UB aB bB R S T U V"},E:{"2":"I b J D E F A B C K L G oB cB pB qB rB sB dB VB WB tB uB vB"},F:{"1":"PB QB RB SB TB UB","2":"0 1 2 3 4 5 6 7 8 9 F B C G M N O c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB GB Q HB IB JB KB LB MB NB OB wB xB yB zB VB eB 0B WB"},G:{"2":"E cB 1B fB 2B 3B 4B 5B 6B 7B 8B 9B AC BC CC DC EC FC GC HC IC JC"},H:{"2":"KC"},I:{"1":"H","2":"XB I LC MC NC OC fB PC QC"},J:{"2":"D A"},K:{"1":"Q","2":"A B C VB eB WB"},L:{"1":"H"},M:{"450":"P"},N:{"2":"A B"},O:{"2":"RC"},P:{"1":"aC","2":"I SC TC UC VC WC dB XC YC ZC"},Q:{"2":"bC"},R:{"2":"cC"},S:{"2":"dC"}},B:6,C:"AVIF image format"}; diff --git a/tools/node_modules/@babel/core/node_modules/caniuse-lite/data/features/background-attachment.js b/tools/node_modules/@babel/core/node_modules/caniuse-lite/data/features/background-attachment.js new file mode 100644 index 00000000000000..d0ad39648b48de --- /dev/null +++ b/tools/node_modules/@babel/core/node_modules/caniuse-lite/data/features/background-attachment.js @@ -0,0 +1 @@ +module.exports={A:{A:{"1":"F A B","132":"J D E gB"},B:{"1":"C K L G M N O R S T U V W X Y Z P a H"},C:{"1":"0 1 2 3 4 5 6 7 8 9 i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB YB GB ZB Q HB IB JB KB LB MB NB OB PB QB RB SB TB UB aB bB R S T iB U V W X Y Z P a H","132":"hB XB I b J D E F A B C K L G M N O c d e f g h jB kB"},D:{"1":"0 1 2 3 4 5 6 7 8 9 I b J D E F A B C K L G M N O c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB YB GB ZB Q HB IB JB KB LB MB NB OB PB QB RB SB TB UB aB bB R S T U V W X Y Z P a H lB mB nB"},E:{"1":"b J D E F A B C pB qB rB sB dB VB WB","132":"I K oB cB tB","2050":"L G uB vB"},F:{"1":"0 1 2 3 4 5 6 7 8 9 B C G M N O c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB GB Q HB IB JB KB LB MB NB OB PB QB RB SB TB UB yB zB VB eB 0B WB","132":"F wB xB"},G:{"2":"cB 1B fB","772":"E 2B 3B 4B 5B 6B 7B 8B 9B AC BC CC DC","2050":"EC FC GC HC IC JC"},H:{"2":"KC"},I:{"2":"XB I H LC MC NC PC QC","132":"OC fB"},J:{"260":"D A"},K:{"1":"B C Q VB eB WB","132":"A"},L:{"1":"H"},M:{"1":"P"},N:{"1":"A B"},O:{"1":"RC"},P:{"2":"I","1028":"SC TC UC VC WC dB XC YC ZC aC"},Q:{"1":"bC"},R:{"1028":"cC"},S:{"1":"dC"}},B:4,C:"CSS background-attachment"}; diff --git a/tools/node_modules/@babel/core/node_modules/caniuse-lite/data/features/background-clip-text.js b/tools/node_modules/@babel/core/node_modules/caniuse-lite/data/features/background-clip-text.js new file mode 100644 index 00000000000000..ba55d0c51ffc1e --- /dev/null +++ b/tools/node_modules/@babel/core/node_modules/caniuse-lite/data/features/background-clip-text.js @@ -0,0 +1 @@ +module.exports={A:{A:{"2":"J D E F A B gB"},B:{"1":"G M N O","33":"C K L R S T U V W X Y Z P a H"},C:{"1":"6 7 8 9 AB BB CB DB EB FB YB GB ZB Q HB IB JB KB LB MB NB OB PB QB RB SB TB UB aB bB R S T iB U V W X Y Z P a H","2":"0 1 2 3 4 5 hB XB I b J D E F A B C K L G M N O c d e f g h i j k l m n o p q r s t u v w x y z jB kB"},D:{"33":"0 1 2 3 4 5 6 7 8 9 I b J D E F A B C K L G M N O c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB YB GB ZB Q HB IB JB KB LB MB NB OB PB QB RB SB TB UB aB bB R S T U V W X Y Z P a H lB mB nB"},E:{"16":"oB cB","33":"I b J D E F A B C K L G pB qB rB sB dB VB WB tB uB vB"},F:{"2":"F B C wB xB yB zB VB eB 0B WB","33":"0 1 2 3 4 5 6 7 8 9 G M N O c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB GB Q HB IB JB KB LB MB NB OB PB QB RB SB TB UB"},G:{"16":"cB 1B fB 2B","33":"E 3B 4B 5B 6B 7B 8B 9B AC BC CC DC EC FC GC HC IC JC"},H:{"2":"KC"},I:{"16":"XB LC MC NC","33":"I H OC fB PC QC"},J:{"33":"D A"},K:{"16":"A B C VB eB WB","33":"Q"},L:{"33":"H"},M:{"1":"P"},N:{"2":"A B"},O:{"33":"RC"},P:{"33":"I SC TC UC VC WC dB XC YC ZC aC"},Q:{"33":"bC"},R:{"33":"cC"},S:{"1":"dC"}},B:7,C:"Background-clip: text"}; diff --git a/tools/node_modules/@babel/core/node_modules/caniuse-lite/data/features/background-img-opts.js b/tools/node_modules/@babel/core/node_modules/caniuse-lite/data/features/background-img-opts.js new file mode 100644 index 00000000000000..ee1f08b226d8d4 --- /dev/null +++ b/tools/node_modules/@babel/core/node_modules/caniuse-lite/data/features/background-img-opts.js @@ -0,0 +1 @@ +module.exports={A:{A:{"1":"F A B","2":"J D E gB"},B:{"1":"C K L G M N O R S T U V W X Y Z P a H"},C:{"1":"0 1 2 3 4 5 6 7 8 9 I b J D E F A B C K L G M N O c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB YB GB ZB Q HB IB JB KB LB MB NB OB PB QB RB SB TB UB aB bB R S T iB U V W X Y Z P a H","2":"hB XB jB","36":"kB"},D:{"1":"0 1 2 3 4 5 6 7 8 9 G M N O c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB YB GB ZB Q HB IB JB KB LB MB NB OB PB QB RB SB TB UB aB bB R S T U V W X Y Z P a H lB mB nB","516":"I b J D E F A B C K L"},E:{"1":"D E F A B C K L G rB sB dB VB WB tB uB vB","772":"I b J oB cB pB qB"},F:{"1":"0 1 2 3 4 5 6 7 8 9 B C G M N O c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB GB Q HB IB JB KB LB MB NB OB PB QB RB SB TB UB yB zB VB eB 0B WB","2":"F wB","36":"xB"},G:{"1":"E 4B 5B 6B 7B 8B 9B AC BC CC DC EC FC GC HC IC JC","4":"cB 1B fB 3B","516":"2B"},H:{"132":"KC"},I:{"1":"H PC QC","36":"LC","516":"XB I OC fB","548":"MC NC"},J:{"1":"D A"},K:{"1":"A B C Q VB eB WB"},L:{"1":"H"},M:{"1":"P"},N:{"1":"A B"},O:{"1":"RC"},P:{"1":"I SC TC UC VC WC dB XC YC ZC aC"},Q:{"1":"bC"},R:{"1":"cC"},S:{"1":"dC"}},B:4,C:"CSS3 Background-image options"}; diff --git a/tools/node_modules/@babel/core/node_modules/caniuse-lite/data/features/background-position-x-y.js b/tools/node_modules/@babel/core/node_modules/caniuse-lite/data/features/background-position-x-y.js new file mode 100644 index 00000000000000..058aaa12839815 --- /dev/null +++ b/tools/node_modules/@babel/core/node_modules/caniuse-lite/data/features/background-position-x-y.js @@ -0,0 +1 @@ +module.exports={A:{A:{"1":"J D E F A B gB"},B:{"1":"C K L G M N O R S T U V W X Y Z P a H"},C:{"1":"6 7 8 9 AB BB CB DB EB FB YB GB ZB Q HB IB JB KB LB MB NB OB PB QB RB SB TB UB aB bB R S T iB U V W X Y Z P a H","2":"0 1 2 3 4 5 hB XB I b J D E F A B C K L G M N O c d e f g h i j k l m n o p q r s t u v w x y z jB kB"},D:{"1":"0 1 2 3 4 5 6 7 8 9 I b J D E F A B C K L G M N O c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB YB GB ZB Q HB IB JB KB LB MB NB OB PB QB RB SB TB UB aB bB R S T U V W X Y Z P a H lB mB nB"},E:{"1":"I b J D E F A B C K L G oB cB pB qB rB sB dB VB WB tB uB vB"},F:{"1":"0 1 2 3 4 5 6 7 8 9 G M N O c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB GB Q HB IB JB KB LB MB NB OB PB QB RB SB TB UB","2":"F B C wB xB yB zB VB eB 0B WB"},G:{"1":"E cB 1B fB 2B 3B 4B 5B 6B 7B 8B 9B AC BC CC DC EC FC GC HC IC JC"},H:{"2":"KC"},I:{"1":"XB I H LC MC NC OC fB PC QC"},J:{"1":"D A"},K:{"1":"Q","2":"A B C VB eB WB"},L:{"1":"H"},M:{"1":"P"},N:{"1":"A B"},O:{"1":"RC"},P:{"1":"I SC TC UC VC WC dB XC YC ZC aC"},Q:{"1":"bC"},R:{"1":"cC"},S:{"2":"dC"}},B:7,C:"background-position-x & background-position-y"}; diff --git a/tools/node_modules/@babel/core/node_modules/caniuse-lite/data/features/background-repeat-round-space.js b/tools/node_modules/@babel/core/node_modules/caniuse-lite/data/features/background-repeat-round-space.js new file mode 100644 index 00000000000000..e4f962b6875f39 --- /dev/null +++ b/tools/node_modules/@babel/core/node_modules/caniuse-lite/data/features/background-repeat-round-space.js @@ -0,0 +1 @@ +module.exports={A:{A:{"1":"A B","2":"J D E gB","132":"F"},B:{"1":"C K L G M N O R S T U V W X Y Z P a H"},C:{"1":"6 7 8 9 AB BB CB DB EB FB YB GB ZB Q HB IB JB KB LB MB NB OB PB QB RB SB TB UB aB bB R S T iB U V W X Y Z P a H","2":"0 1 2 3 4 5 hB XB I b J D E F A B C K L G M N O c d e f g h i j k l m n o p q r s t u v w x y z jB kB"},D:{"1":"0 1 2 3 4 5 6 7 8 9 p q r s t u v w x y z AB BB CB DB EB FB YB GB ZB Q HB IB JB KB LB MB NB OB PB QB RB SB TB UB aB bB R S T U V W X Y Z P a H lB mB nB","2":"I b J D E F A B C K L G M N O c d e f g h i j k l m n o"},E:{"1":"D E F A B C K L G rB sB dB VB WB tB uB vB","2":"I b J oB cB pB qB"},F:{"1":"0 1 2 3 4 5 6 7 8 9 B C c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB GB Q HB IB JB KB LB MB NB OB PB QB RB SB TB UB yB zB VB eB 0B WB","2":"F G M N O wB xB"},G:{"1":"E 4B 5B 6B 7B 8B 9B AC BC CC DC EC FC GC HC IC JC","2":"cB 1B fB 2B 3B"},H:{"1":"KC"},I:{"1":"H PC QC","2":"XB I LC MC NC OC fB"},J:{"1":"A","2":"D"},K:{"1":"B C Q VB eB WB","2":"A"},L:{"1":"H"},M:{"1":"P"},N:{"1":"A B"},O:{"1":"RC"},P:{"1":"I SC TC UC VC WC dB XC YC ZC aC"},Q:{"1":"bC"},R:{"1":"cC"},S:{"2":"dC"}},B:4,C:"CSS background-repeat round and space"}; diff --git a/tools/node_modules/@babel/core/node_modules/caniuse-lite/data/features/background-sync.js b/tools/node_modules/@babel/core/node_modules/caniuse-lite/data/features/background-sync.js new file mode 100644 index 00000000000000..040ebf1729d6b8 --- /dev/null +++ b/tools/node_modules/@babel/core/node_modules/caniuse-lite/data/features/background-sync.js @@ -0,0 +1 @@ +module.exports={A:{A:{"2":"J D E F A B gB"},B:{"1":"R S T U V W X Y Z P a H","2":"C K L G M N O"},C:{"2":"0 1 2 3 4 5 6 7 8 9 hB XB I b J D E F A B C K L G M N O c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB YB GB ZB Q HB IB JB KB LB MB NB OB PB QB RB SB TB UB aB bB R S T iB U V W X Y Z P jB kB","16":"a H"},D:{"1":"6 7 8 9 AB BB CB DB EB FB YB GB ZB Q HB IB JB KB LB MB NB OB PB QB RB SB TB UB aB bB R S T U V W X Y Z P a H lB mB nB","2":"0 1 2 3 4 5 I b J D E F A B C K L G M N O c d e f g h i j k l m n o p q r s t u v w x y z"},E:{"2":"I b J D E F A B C K L G oB cB pB qB rB sB dB VB WB tB uB vB"},F:{"1":"0 1 2 3 4 5 6 7 8 9 z AB BB CB DB EB FB GB Q HB IB JB KB LB MB NB OB PB QB RB SB TB UB","2":"F B C G M N O c d e f g h i j k l m n o p q r s t u v w x y wB xB yB zB VB eB 0B WB"},G:{"2":"E cB 1B fB 2B 3B 4B 5B 6B 7B 8B 9B AC BC CC DC EC FC GC HC IC JC"},H:{"2":"KC"},I:{"1":"H","2":"XB I LC MC NC OC fB PC QC"},J:{"2":"D A"},K:{"1":"Q","2":"A B C VB eB WB"},L:{"1":"H"},M:{"2":"P"},N:{"2":"A B"},O:{"1":"RC"},P:{"1":"SC TC UC VC WC dB XC YC ZC aC","2":"I"},Q:{"1":"bC"},R:{"2":"cC"},S:{"2":"dC"}},B:7,C:"Background Sync API"}; diff --git a/tools/node_modules/@babel/core/node_modules/caniuse-lite/data/features/battery-status.js b/tools/node_modules/@babel/core/node_modules/caniuse-lite/data/features/battery-status.js new file mode 100644 index 00000000000000..b282269c12f7c6 --- /dev/null +++ b/tools/node_modules/@babel/core/node_modules/caniuse-lite/data/features/battery-status.js @@ -0,0 +1 @@ +module.exports={A:{A:{"2":"J D E F A B gB"},B:{"1":"R S T U V W X Y Z P a H","2":"C K L G M N O"},C:{"1":"0 1 2 3 4 5 6 7 8","2":"9 hB XB I b J D E F AB BB CB DB EB FB YB GB ZB Q HB IB JB KB LB MB NB OB PB QB RB SB TB UB aB bB R S T iB U V W X Y Z P a H jB kB","132":"M N O c d e f g h i j k l m n o p q r s t u v w x y z","164":"A B C K L G"},D:{"1":"0 1 2 3 4 5 6 7 8 9 v w x y z AB BB CB DB EB FB YB GB ZB Q HB IB JB KB LB MB NB OB PB QB RB SB TB UB aB bB R S T U V W X Y Z P a H lB mB nB","2":"I b J D E F A B C K L G M N O c d e f g h i j k l m n o p q r s t","66":"u"},E:{"2":"I b J D E F A B C K L G oB cB pB qB rB sB dB VB WB tB uB vB"},F:{"1":"0 1 2 3 4 5 6 7 8 9 i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB GB Q HB IB JB KB LB MB NB OB PB QB RB SB TB UB","2":"F B C G M N O c d e f g h wB xB yB zB VB eB 0B WB"},G:{"2":"E cB 1B fB 2B 3B 4B 5B 6B 7B 8B 9B AC BC CC DC EC FC GC HC IC JC"},H:{"2":"KC"},I:{"1":"H","2":"XB I LC MC NC OC fB PC QC"},J:{"2":"D A"},K:{"1":"Q","2":"A B C VB eB WB"},L:{"1":"H"},M:{"2":"P"},N:{"2":"A B"},O:{"1":"RC"},P:{"1":"I SC TC UC VC WC dB XC YC ZC aC"},Q:{"1":"bC"},R:{"1":"cC"},S:{"1":"dC"}},B:4,C:"Battery Status API"}; diff --git a/tools/node_modules/@babel/core/node_modules/caniuse-lite/data/features/beacon.js b/tools/node_modules/@babel/core/node_modules/caniuse-lite/data/features/beacon.js new file mode 100644 index 00000000000000..790fc3b9010c74 --- /dev/null +++ b/tools/node_modules/@babel/core/node_modules/caniuse-lite/data/features/beacon.js @@ -0,0 +1 @@ +module.exports={A:{A:{"2":"J D E F A B gB"},B:{"1":"L G M N O R S T U V W X Y Z P a H","2":"C K"},C:{"1":"0 1 2 3 4 5 6 7 8 9 o p q r s t u v w x y z AB BB CB DB EB FB YB GB ZB Q HB IB JB KB LB MB NB OB PB QB RB SB TB UB aB bB R S T iB U V W X Y Z P a H","2":"hB XB I b J D E F A B C K L G M N O c d e f g h i j k l m n jB kB"},D:{"1":"0 1 2 3 4 5 6 7 8 9 w x y z AB BB CB DB EB FB YB GB ZB Q HB IB JB KB LB MB NB OB PB QB RB SB TB UB aB bB R S T U V W X Y Z P a H lB mB nB","2":"I b J D E F A B C K L G M N O c d e f g h i j k l m n o p q r s t u v"},E:{"1":"C K L G VB WB tB uB vB","2":"I b J D E F A B oB cB pB qB rB sB dB"},F:{"1":"0 1 2 3 4 5 6 7 8 9 j k l m n o p q r s t u v w x y z AB BB CB DB EB FB GB Q HB IB JB KB LB MB NB OB PB QB RB SB TB UB","2":"F B C G M N O c d e f g h i wB xB yB zB VB eB 0B WB"},G:{"1":"BC CC DC EC FC GC HC IC JC","2":"E cB 1B fB 2B 3B 4B 5B 6B 7B 8B 9B AC"},H:{"2":"KC"},I:{"1":"H","2":"XB I LC MC NC OC fB PC QC"},J:{"2":"D A"},K:{"1":"Q","2":"A B C VB eB WB"},L:{"1":"H"},M:{"1":"P"},N:{"2":"A B"},O:{"1":"RC"},P:{"1":"I SC TC UC VC WC dB XC YC ZC aC"},Q:{"1":"bC"},R:{"1":"cC"},S:{"1":"dC"}},B:5,C:"Beacon API"}; diff --git a/tools/node_modules/@babel/core/node_modules/caniuse-lite/data/features/beforeafterprint.js b/tools/node_modules/@babel/core/node_modules/caniuse-lite/data/features/beforeafterprint.js new file mode 100644 index 00000000000000..210581efa53c4a --- /dev/null +++ b/tools/node_modules/@babel/core/node_modules/caniuse-lite/data/features/beforeafterprint.js @@ -0,0 +1 @@ +module.exports={A:{A:{"1":"J D E F A B","16":"gB"},B:{"1":"C K L G M N O R S T U V W X Y Z P a H"},C:{"1":"0 1 2 3 4 5 6 7 8 9 J D E F A B C K L G M N O c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB YB GB ZB Q HB IB JB KB LB MB NB OB PB QB RB SB TB UB aB bB R S T iB U V W X Y Z P a H","2":"hB XB I b jB kB"},D:{"1":"HB IB JB KB LB MB NB OB PB QB RB SB TB UB aB bB R S T U V W X Y Z P a H lB mB nB","2":"0 1 2 3 4 5 6 7 8 9 I b J D E F A B C K L G M N O c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB YB GB ZB Q"},E:{"2":"I b J D E F A B C K L G oB cB pB qB rB sB dB VB WB tB uB vB"},F:{"1":"7 8 9 AB BB CB DB EB FB GB Q HB IB JB KB LB MB NB OB PB QB RB SB TB UB","2":"0 1 2 3 4 5 6 F B C G M N O c d e f g h i j k l m n o p q r s t u v w x y z wB xB yB zB VB eB 0B WB"},G:{"1":"EC FC GC HC IC JC","2":"E cB 1B fB 2B 3B 4B 5B 6B 7B 8B 9B AC BC CC DC"},H:{"2":"KC"},I:{"2":"XB I H LC MC NC OC fB PC QC"},J:{"16":"D A"},K:{"2":"A B C Q VB eB WB"},L:{"1":"H"},M:{"1":"P"},N:{"16":"A B"},O:{"16":"RC"},P:{"2":"SC TC UC VC WC dB XC YC ZC aC","16":"I"},Q:{"1":"bC"},R:{"2":"cC"},S:{"1":"dC"}},B:1,C:"Printing Events"}; diff --git a/tools/node_modules/@babel/core/node_modules/caniuse-lite/data/features/bigint.js b/tools/node_modules/@babel/core/node_modules/caniuse-lite/data/features/bigint.js new file mode 100644 index 00000000000000..480af05f397578 --- /dev/null +++ b/tools/node_modules/@babel/core/node_modules/caniuse-lite/data/features/bigint.js @@ -0,0 +1 @@ +module.exports={A:{A:{"2":"J D E F A B gB"},B:{"1":"R S T U V W X Y Z P a H","2":"C K L G M N O"},C:{"1":"MB NB OB PB QB RB SB TB UB aB bB R S T iB U V W X Y Z P a H","2":"0 1 2 3 4 5 6 7 8 9 hB XB I b J D E F A B C K L G M N O c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB YB GB ZB Q HB IB jB kB","194":"JB KB LB"},D:{"1":"LB MB NB OB PB QB RB SB TB UB aB bB R S T U V W X Y Z P a H lB mB nB","2":"0 1 2 3 4 5 6 7 8 9 I b J D E F A B C K L G M N O c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB YB GB ZB Q HB IB JB KB"},E:{"1":"L G uB vB","2":"I b J D E F A B C K oB cB pB qB rB sB dB VB WB tB"},F:{"1":"BB CB DB EB FB GB Q HB IB JB KB LB MB NB OB PB QB RB SB TB UB","2":"0 1 2 3 4 5 6 7 8 9 F B C G M N O c d e f g h i j k l m n o p q r s t u v w x y z AB wB xB yB zB VB eB 0B WB"},G:{"1":"IC JC","2":"E cB 1B fB 2B 3B 4B 5B 6B 7B 8B 9B AC BC CC DC EC FC GC HC"},H:{"2":"KC"},I:{"1":"H","2":"XB I LC MC NC OC fB PC QC"},J:{"2":"D A"},K:{"1":"Q","2":"A B C VB eB WB"},L:{"1":"H"},M:{"1":"P"},N:{"2":"A B"},O:{"2":"RC"},P:{"1":"WC dB XC YC ZC aC","2":"I SC TC UC VC"},Q:{"2":"bC"},R:{"2":"cC"},S:{"2":"dC"}},B:6,C:"BigInt"}; diff --git a/tools/node_modules/@babel/core/node_modules/caniuse-lite/data/features/blobbuilder.js b/tools/node_modules/@babel/core/node_modules/caniuse-lite/data/features/blobbuilder.js new file mode 100644 index 00000000000000..27836c699982ab --- /dev/null +++ b/tools/node_modules/@babel/core/node_modules/caniuse-lite/data/features/blobbuilder.js @@ -0,0 +1 @@ +module.exports={A:{A:{"1":"A B","2":"J D E F gB"},B:{"1":"C K L G M N O R S T U V W X Y Z P a H"},C:{"1":"0 1 2 3 4 5 6 7 8 9 K L G M N O c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB YB GB ZB Q HB IB JB KB LB MB NB OB PB QB RB SB TB UB aB bB R S T iB U V W X Y Z P a H","2":"hB XB I b jB kB","36":"J D E F A B C"},D:{"1":"0 1 2 3 4 5 6 7 8 9 d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB YB GB ZB Q HB IB JB KB LB MB NB OB PB QB RB SB TB UB aB bB R S T U V W X Y Z P a H lB mB nB","2":"I b J D","36":"E F A B C K L G M N O c"},E:{"1":"J D E F A B C K L G qB rB sB dB VB WB tB uB vB","2":"I b oB cB pB"},F:{"1":"0 1 2 3 4 5 6 7 8 9 G M N O c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB GB Q HB IB JB KB LB MB NB OB PB QB RB SB TB UB WB","2":"F B C wB xB yB zB VB eB 0B"},G:{"1":"E 3B 4B 5B 6B 7B 8B 9B AC BC CC DC EC FC GC HC IC JC","2":"cB 1B fB 2B"},H:{"2":"KC"},I:{"1":"H","2":"LC MC NC","36":"XB I OC fB PC QC"},J:{"1":"A","2":"D"},K:{"1":"Q WB","2":"A B C VB eB"},L:{"1":"H"},M:{"1":"P"},N:{"1":"A B"},O:{"1":"RC"},P:{"1":"I SC TC UC VC WC dB XC YC ZC aC"},Q:{"1":"bC"},R:{"1":"cC"},S:{"1":"dC"}},B:5,C:"Blob constructing"}; diff --git a/tools/node_modules/@babel/core/node_modules/caniuse-lite/data/features/bloburls.js b/tools/node_modules/@babel/core/node_modules/caniuse-lite/data/features/bloburls.js new file mode 100644 index 00000000000000..b920325e3f23f1 --- /dev/null +++ b/tools/node_modules/@babel/core/node_modules/caniuse-lite/data/features/bloburls.js @@ -0,0 +1 @@ +module.exports={A:{A:{"2":"J D E F gB","129":"A B"},B:{"1":"G M N O R S T U V W X Y Z P a H","129":"C K L"},C:{"1":"0 1 2 3 4 5 6 7 8 9 I b J D E F A B C K L G M N O c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB YB GB ZB Q HB IB JB KB LB MB NB OB PB QB RB SB TB UB aB bB R S T iB U V W X Y Z P a H","2":"hB XB jB kB"},D:{"1":"0 1 2 3 4 5 6 7 8 9 g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB YB GB ZB Q HB IB JB KB LB MB NB OB PB QB RB SB TB UB aB bB R S T U V W X Y Z P a H lB mB nB","2":"I b J D","33":"E F A B C K L G M N O c d e f"},E:{"1":"D E F A B C K L G qB rB sB dB VB WB tB uB vB","2":"I b oB cB pB","33":"J"},F:{"1":"0 1 2 3 4 5 6 7 8 9 G M N O c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB GB Q HB IB JB KB LB MB NB OB PB QB RB SB TB UB","2":"F B C wB xB yB zB VB eB 0B WB"},G:{"1":"E 4B 5B 6B 7B 8B 9B AC BC CC DC EC FC GC HC IC JC","2":"cB 1B fB 2B","33":"3B"},H:{"2":"KC"},I:{"1":"H PC QC","2":"XB LC MC NC","33":"I OC fB"},J:{"1":"A","2":"D"},K:{"1":"Q","2":"A B C VB eB WB"},L:{"1":"H"},M:{"1":"P"},N:{"1":"B","2":"A"},O:{"1":"RC"},P:{"1":"I SC TC UC VC WC dB XC YC ZC aC"},Q:{"1":"bC"},R:{"1":"cC"},S:{"1":"dC"}},B:5,C:"Blob URLs"}; diff --git a/tools/node_modules/@babel/core/node_modules/caniuse-lite/data/features/border-image.js b/tools/node_modules/@babel/core/node_modules/caniuse-lite/data/features/border-image.js new file mode 100644 index 00000000000000..ddc412ad345b6e --- /dev/null +++ b/tools/node_modules/@babel/core/node_modules/caniuse-lite/data/features/border-image.js @@ -0,0 +1 @@ +module.exports={A:{A:{"1":"B","2":"J D E F A gB"},B:{"1":"L G M N O R S T U V W X Y Z P a H","129":"C K"},C:{"1":"7 8 9 AB BB CB DB EB FB YB GB ZB Q HB IB JB KB LB MB NB OB PB QB RB SB TB UB aB bB R S T iB U V W X Y Z P a H","2":"hB XB","260":"0 1 2 3 4 5 6 G M N O c d e f g h i j k l m n o p q r s t u v w x y z","804":"I b J D E F A B C K L jB kB"},D:{"1":"DB EB FB YB GB ZB Q HB IB JB KB LB MB NB OB PB QB RB SB TB UB aB bB R S T U V W X Y Z P a H lB mB nB","260":"8 9 AB BB CB","388":"0 1 2 3 4 5 6 7 n o p q r s t u v w x y z","1412":"G M N O c d e f g h i j k l m","1956":"I b J D E F A B C K L"},E:{"129":"A B C K L G sB dB VB WB tB uB vB","1412":"J D E F qB rB","1956":"I b oB cB pB"},F:{"1":"0 1 2 3 4 5 6 7 8 9 AB BB CB DB EB FB GB Q HB IB JB KB LB MB NB OB PB QB RB SB TB UB","2":"F wB xB","260":"v w x y z","388":"G M N O c d e f g h i j k l m n o p q r s t u","1796":"yB zB","1828":"B C VB eB 0B WB"},G:{"129":"7B 8B 9B AC BC CC DC EC FC GC HC IC JC","1412":"E 3B 4B 5B 6B","1956":"cB 1B fB 2B"},H:{"1828":"KC"},I:{"1":"H","388":"PC QC","1956":"XB I LC MC NC OC fB"},J:{"1412":"A","1924":"D"},K:{"1":"Q","2":"A","1828":"B C VB eB WB"},L:{"1":"H"},M:{"1":"P"},N:{"1":"B","2":"A"},O:{"388":"RC"},P:{"1":"UC VC WC dB XC YC ZC aC","260":"SC TC","388":"I"},Q:{"260":"bC"},R:{"260":"cC"},S:{"260":"dC"}},B:4,C:"CSS3 Border images"}; diff --git a/tools/node_modules/@babel/core/node_modules/caniuse-lite/data/features/border-radius.js b/tools/node_modules/@babel/core/node_modules/caniuse-lite/data/features/border-radius.js new file mode 100644 index 00000000000000..761f2248b591f8 --- /dev/null +++ b/tools/node_modules/@babel/core/node_modules/caniuse-lite/data/features/border-radius.js @@ -0,0 +1 @@ +module.exports={A:{A:{"1":"F A B","2":"J D E gB"},B:{"1":"C K L G M N O R S T U V W X Y Z P a H"},C:{"1":"7 8 9 AB BB CB DB EB FB YB GB ZB Q HB IB JB KB LB MB NB OB PB QB RB SB TB UB aB bB R S T iB U V W X Y Z P a H","257":"0 1 2 3 4 5 6 I b J D E F A B C K L G M N O c d e f g h i j k l m n o p q r s t u v w x y z","289":"XB jB kB","292":"hB"},D:{"1":"0 1 2 3 4 5 6 7 8 9 b J D E F A B C K L G M N O c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB YB GB ZB Q HB IB JB KB LB MB NB OB PB QB RB SB TB UB aB bB R S T U V W X Y Z P a H lB mB nB","33":"I"},E:{"1":"b D E F A B C K L G rB sB dB VB WB tB uB vB","33":"I oB cB","129":"J pB qB"},F:{"1":"0 1 2 3 4 5 6 7 8 9 B C G M N O c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB GB Q HB IB JB KB LB MB NB OB PB QB RB SB TB UB yB zB VB eB 0B WB","2":"F wB xB"},G:{"1":"E 1B fB 2B 3B 4B 5B 6B 7B 8B 9B AC BC CC DC EC FC GC HC IC JC","33":"cB"},H:{"2":"KC"},I:{"1":"XB I H MC NC OC fB PC QC","33":"LC"},J:{"1":"D A"},K:{"1":"B C Q VB eB WB","2":"A"},L:{"1":"H"},M:{"1":"P"},N:{"1":"A B"},O:{"1":"RC"},P:{"1":"I SC TC UC VC WC dB XC YC ZC aC"},Q:{"1":"bC"},R:{"1":"cC"},S:{"257":"dC"}},B:4,C:"CSS3 Border-radius (rounded corners)"}; diff --git a/tools/node_modules/@babel/core/node_modules/caniuse-lite/data/features/broadcastchannel.js b/tools/node_modules/@babel/core/node_modules/caniuse-lite/data/features/broadcastchannel.js new file mode 100644 index 00000000000000..31831eab314138 --- /dev/null +++ b/tools/node_modules/@babel/core/node_modules/caniuse-lite/data/features/broadcastchannel.js @@ -0,0 +1 @@ +module.exports={A:{A:{"2":"J D E F A B gB"},B:{"1":"R S T U V W X Y Z P a H","2":"C K L G M N O"},C:{"1":"0 1 2 3 4 5 6 7 8 9 v w x y z AB BB CB DB EB FB YB GB ZB Q HB IB JB KB LB MB NB OB PB QB RB SB TB UB aB bB R S T iB U V W X Y Z P a H","2":"hB XB I b J D E F A B C K L G M N O c d e f g h i j k l m n o p q r s t u jB kB"},D:{"1":"BB CB DB EB FB YB GB ZB Q HB IB JB KB LB MB NB OB PB QB RB SB TB UB aB bB R S T U V W X Y Z P a H lB mB nB","2":"0 1 2 3 4 5 6 7 8 9 I b J D E F A B C K L G M N O c d e f g h i j k l m n o p q r s t u v w x y z AB"},E:{"2":"I b J D E F A B C K L G oB cB pB qB rB sB dB VB WB tB uB vB"},F:{"1":"0 1 2 3 4 5 6 7 8 9 y z AB BB CB DB EB FB GB Q HB IB JB KB LB MB NB OB PB QB RB SB TB UB","2":"F B C G M N O c d e f g h i j k l m n o p q r s t u v w x wB xB yB zB VB eB 0B WB"},G:{"2":"E cB 1B fB 2B 3B 4B 5B 6B 7B 8B 9B AC BC CC DC EC FC GC HC IC JC"},H:{"2":"KC"},I:{"1":"H","2":"XB I LC MC NC OC fB PC QC"},J:{"2":"D A"},K:{"1":"Q","2":"A B C VB eB WB"},L:{"1":"H"},M:{"1":"P"},N:{"2":"A B"},O:{"1":"RC"},P:{"1":"UC VC WC dB XC YC ZC aC","2":"I SC TC"},Q:{"1":"bC"},R:{"2":"cC"},S:{"1":"dC"}},B:1,C:"BroadcastChannel"}; diff --git a/tools/node_modules/@babel/core/node_modules/caniuse-lite/data/features/brotli.js b/tools/node_modules/@babel/core/node_modules/caniuse-lite/data/features/brotli.js new file mode 100644 index 00000000000000..0a2f05eed4c11a --- /dev/null +++ b/tools/node_modules/@babel/core/node_modules/caniuse-lite/data/features/brotli.js @@ -0,0 +1 @@ +module.exports={A:{A:{"2":"J D E F A B gB"},B:{"1":"G M N O R S T U V W X Y Z P a H","2":"C K L"},C:{"1":"1 2 3 4 5 6 7 8 9 AB BB CB DB EB FB YB GB ZB Q HB IB JB KB LB MB NB OB PB QB RB SB TB UB aB bB R S T iB U V W X Y Z P a H","2":"0 hB XB I b J D E F A B C K L G M N O c d e f g h i j k l m n o p q r s t u v w x y z jB kB"},D:{"1":"8 9 AB BB CB DB EB FB YB GB ZB Q HB IB JB KB LB MB NB OB PB QB RB SB TB UB aB bB R S T U V W X Y Z P a H lB mB nB","2":"0 1 2 3 4 5 I b J D E F A B C K L G M N O c d e f g h i j k l m n o p q r s t u v w x y z","194":"6","257":"7"},E:{"1":"K L G tB uB vB","2":"I b J D E F A oB cB pB qB rB sB dB","513":"B C VB WB"},F:{"1":"0 1 2 3 4 5 6 7 8 9 v w x y z AB BB CB DB EB FB GB Q HB IB JB KB LB MB NB OB PB QB RB SB TB UB","2":"F B C G M N O c d e f g h i j k l m n o p q r s wB xB yB zB VB eB 0B WB","194":"t u"},G:{"1":"AC BC CC DC EC FC GC HC IC JC","2":"E cB 1B fB 2B 3B 4B 5B 6B 7B 8B 9B"},H:{"2":"KC"},I:{"1":"H","2":"XB I LC MC NC OC fB PC QC"},J:{"2":"D A"},K:{"1":"Q","2":"A B C VB eB WB"},L:{"1":"H"},M:{"1":"P"},N:{"2":"A B"},O:{"1":"RC"},P:{"1":"SC TC UC VC WC dB XC YC ZC aC","2":"I"},Q:{"1":"bC"},R:{"2":"cC"},S:{"1":"dC"}},B:6,C:"Brotli Accept-Encoding/Content-Encoding"}; diff --git a/tools/node_modules/@babel/core/node_modules/caniuse-lite/data/features/calc.js b/tools/node_modules/@babel/core/node_modules/caniuse-lite/data/features/calc.js new file mode 100644 index 00000000000000..fa6dba138f11bc --- /dev/null +++ b/tools/node_modules/@babel/core/node_modules/caniuse-lite/data/features/calc.js @@ -0,0 +1 @@ +module.exports={A:{A:{"2":"J D E gB","260":"F","516":"A B"},B:{"1":"C K L G M N O R S T U V W X Y Z P a H"},C:{"1":"0 1 2 3 4 5 6 7 8 9 M N O c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB YB GB ZB Q HB IB JB KB LB MB NB OB PB QB RB SB TB UB aB bB R S T iB U V W X Y Z P a H","2":"hB XB jB kB","33":"I b J D E F A B C K L G"},D:{"1":"0 1 2 3 4 5 6 7 8 9 j k l m n o p q r s t u v w x y z AB BB CB DB EB FB YB GB ZB Q HB IB JB KB LB MB NB OB PB QB RB SB TB UB aB bB R S T U V W X Y Z P a H lB mB nB","2":"I b J D E F A B C K L G M N O","33":"c d e f g h i"},E:{"1":"D E F A B C K L G qB rB sB dB VB WB tB uB vB","2":"I b oB cB pB","33":"J"},F:{"1":"0 1 2 3 4 5 6 7 8 9 G M N O c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB GB Q HB IB JB KB LB MB NB OB PB QB RB SB TB UB","2":"F B C wB xB yB zB VB eB 0B WB"},G:{"1":"E 4B 5B 6B 7B 8B 9B AC BC CC DC EC FC GC HC IC JC","2":"cB 1B fB 2B","33":"3B"},H:{"2":"KC"},I:{"1":"H","2":"XB I LC MC NC OC fB","132":"PC QC"},J:{"1":"A","2":"D"},K:{"1":"Q","2":"A B C VB eB WB"},L:{"1":"H"},M:{"1":"P"},N:{"1":"A B"},O:{"1":"RC"},P:{"1":"I SC TC UC VC WC dB XC YC ZC aC"},Q:{"1":"bC"},R:{"1":"cC"},S:{"1":"dC"}},B:4,C:"calc() as CSS unit value"}; diff --git a/tools/node_modules/@babel/core/node_modules/caniuse-lite/data/features/canvas-blending.js b/tools/node_modules/@babel/core/node_modules/caniuse-lite/data/features/canvas-blending.js new file mode 100644 index 00000000000000..9b82b595106927 --- /dev/null +++ b/tools/node_modules/@babel/core/node_modules/caniuse-lite/data/features/canvas-blending.js @@ -0,0 +1 @@ +module.exports={A:{A:{"2":"J D E F A B gB"},B:{"1":"K L G M N O R S T U V W X Y Z P a H","2":"C"},C:{"1":"0 1 2 3 4 5 6 7 8 9 d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB YB GB ZB Q HB IB JB KB LB MB NB OB PB QB RB SB TB UB aB bB R S T iB U V W X Y Z P a H","2":"hB XB I b J D E F A B C K L G M N O c jB kB"},D:{"1":"0 1 2 3 4 5 6 7 8 9 n o p q r s t u v w x y z AB BB CB DB EB FB YB GB ZB Q HB IB JB KB LB MB NB OB PB QB RB SB TB UB aB bB R S T U V W X Y Z P a H lB mB nB","2":"I b J D E F A B C K L G M N O c d e f g h i j k l m"},E:{"1":"D E F A B C K L G qB rB sB dB VB WB tB uB vB","2":"I b J oB cB pB"},F:{"1":"0 1 2 3 4 5 6 7 8 9 N O c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB GB Q HB IB JB KB LB MB NB OB PB QB RB SB TB UB","2":"F B C G M wB xB yB zB VB eB 0B WB"},G:{"1":"E 4B 5B 6B 7B 8B 9B AC BC CC DC EC FC GC HC IC JC","2":"cB 1B fB 2B 3B"},H:{"2":"KC"},I:{"1":"H PC QC","2":"XB I LC MC NC OC fB"},J:{"2":"D A"},K:{"1":"Q","2":"A B C VB eB WB"},L:{"1":"H"},M:{"1":"P"},N:{"2":"A B"},O:{"1":"RC"},P:{"1":"I SC TC UC VC WC dB XC YC ZC aC"},Q:{"1":"bC"},R:{"1":"cC"},S:{"1":"dC"}},B:4,C:"Canvas blend modes"}; diff --git a/tools/node_modules/@babel/core/node_modules/caniuse-lite/data/features/canvas-text.js b/tools/node_modules/@babel/core/node_modules/caniuse-lite/data/features/canvas-text.js new file mode 100644 index 00000000000000..9905c6e7998168 --- /dev/null +++ b/tools/node_modules/@babel/core/node_modules/caniuse-lite/data/features/canvas-text.js @@ -0,0 +1 @@ +module.exports={A:{A:{"1":"F A B","2":"gB","8":"J D E"},B:{"1":"C K L G M N O R S T U V W X Y Z P a H"},C:{"1":"0 1 2 3 4 5 6 7 8 9 I b J D E F A B C K L G M N O c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB YB GB ZB Q HB IB JB KB LB MB NB OB PB QB RB SB TB UB aB bB R S T iB U V W X Y Z P a H jB kB","8":"hB XB"},D:{"1":"0 1 2 3 4 5 6 7 8 9 I b J D E F A B C K L G M N O c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB YB GB ZB Q HB IB JB KB LB MB NB OB PB QB RB SB TB UB aB bB R S T U V W X Y Z P a H lB mB nB"},E:{"1":"I b J D E F A B C K L G pB qB rB sB dB VB WB tB uB vB","8":"oB cB"},F:{"1":"0 1 2 3 4 5 6 7 8 9 B C G M N O c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB GB Q HB IB JB KB LB MB NB OB PB QB RB SB TB UB yB zB VB eB 0B WB","8":"F wB xB"},G:{"1":"E cB 1B fB 2B 3B 4B 5B 6B 7B 8B 9B AC BC CC DC EC FC GC HC IC JC"},H:{"2":"KC"},I:{"1":"XB I H LC MC NC OC fB PC QC"},J:{"1":"D A"},K:{"1":"B C Q VB eB WB","8":"A"},L:{"1":"H"},M:{"1":"P"},N:{"1":"A B"},O:{"1":"RC"},P:{"1":"I SC TC UC VC WC dB XC YC ZC aC"},Q:{"1":"bC"},R:{"1":"cC"},S:{"1":"dC"}},B:1,C:"Text API for Canvas"}; diff --git a/tools/node_modules/@babel/core/node_modules/caniuse-lite/data/features/canvas.js b/tools/node_modules/@babel/core/node_modules/caniuse-lite/data/features/canvas.js new file mode 100644 index 00000000000000..043e9a5268cd50 --- /dev/null +++ b/tools/node_modules/@babel/core/node_modules/caniuse-lite/data/features/canvas.js @@ -0,0 +1 @@ +module.exports={A:{A:{"1":"F A B","2":"gB","8":"J D E"},B:{"1":"C K L G M N O R S T U V W X Y Z P a H"},C:{"1":"0 1 2 3 4 5 6 7 8 9 I b J D E F A B C K L G M N O c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB YB GB ZB Q HB IB JB KB LB MB NB OB PB QB RB SB TB UB aB bB R S T iB U V W X Y Z P a H kB","132":"hB XB jB"},D:{"1":"0 1 2 3 4 5 6 7 8 9 I b J D E F A B C K L G M N O c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB YB GB ZB Q HB IB JB KB LB MB NB OB PB QB RB SB TB UB aB bB R S T U V W X Y Z P a H lB mB nB"},E:{"1":"I b J D E F A B C K L G pB qB rB sB dB VB WB tB uB vB","132":"oB cB"},F:{"1":"0 1 2 3 4 5 6 7 8 9 F B C G M N O c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB GB Q HB IB JB KB LB MB NB OB PB QB RB SB TB UB wB xB yB zB VB eB 0B WB"},G:{"1":"E cB 1B fB 2B 3B 4B 5B 6B 7B 8B 9B AC BC CC DC EC FC GC HC IC JC"},H:{"260":"KC"},I:{"1":"XB I H OC fB PC QC","132":"LC MC NC"},J:{"1":"D A"},K:{"1":"A B C Q VB eB WB"},L:{"1":"H"},M:{"1":"P"},N:{"1":"A B"},O:{"1":"RC"},P:{"1":"I SC TC UC VC WC dB XC YC ZC aC"},Q:{"1":"bC"},R:{"1":"cC"},S:{"1":"dC"}},B:1,C:"Canvas (basic support)"}; diff --git a/tools/node_modules/@babel/core/node_modules/caniuse-lite/data/features/ch-unit.js b/tools/node_modules/@babel/core/node_modules/caniuse-lite/data/features/ch-unit.js new file mode 100644 index 00000000000000..1a69867c5e65e5 --- /dev/null +++ b/tools/node_modules/@babel/core/node_modules/caniuse-lite/data/features/ch-unit.js @@ -0,0 +1 @@ +module.exports={A:{A:{"2":"J D E gB","132":"F A B"},B:{"1":"C K L G M N O R S T U V W X Y Z P a H"},C:{"1":"0 1 2 3 4 5 6 7 8 9 hB XB I b J D E F A B C K L G M N O c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB YB GB ZB Q HB IB JB KB LB MB NB OB PB QB RB SB TB UB aB bB R S T iB U V W X Y Z P a H jB kB"},D:{"1":"0 1 2 3 4 5 6 7 8 9 k l m n o p q r s t u v w x y z AB BB CB DB EB FB YB GB ZB Q HB IB JB KB LB MB NB OB PB QB RB SB TB UB aB bB R S T U V W X Y Z P a H lB mB nB","2":"I b J D E F A B C K L G M N O c d e f g h i j"},E:{"1":"D E F A B C K L G rB sB dB VB WB tB uB vB","2":"I b J oB cB pB qB"},F:{"1":"0 1 2 3 4 5 6 7 8 9 G M N O c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB GB Q HB IB JB KB LB MB NB OB PB QB RB SB TB UB","2":"F B C wB xB yB zB VB eB 0B WB"},G:{"1":"E 4B 5B 6B 7B 8B 9B AC BC CC DC EC FC GC HC IC JC","2":"cB 1B fB 2B 3B"},H:{"2":"KC"},I:{"1":"H PC QC","2":"XB I LC MC NC OC fB"},J:{"1":"A","2":"D"},K:{"1":"Q","2":"A B C VB eB WB"},L:{"1":"H"},M:{"1":"P"},N:{"1":"A B"},O:{"1":"RC"},P:{"1":"I SC TC UC VC WC dB XC YC ZC aC"},Q:{"1":"bC"},R:{"1":"cC"},S:{"1":"dC"}},B:4,C:"ch (character) unit"}; diff --git a/tools/node_modules/@babel/core/node_modules/caniuse-lite/data/features/chacha20-poly1305.js b/tools/node_modules/@babel/core/node_modules/caniuse-lite/data/features/chacha20-poly1305.js new file mode 100644 index 00000000000000..817836c1bd7b65 --- /dev/null +++ b/tools/node_modules/@babel/core/node_modules/caniuse-lite/data/features/chacha20-poly1305.js @@ -0,0 +1 @@ +module.exports={A:{A:{"2":"J D E F A B gB"},B:{"1":"R S T U V W X Y Z P a H","2":"C K L G M N O"},C:{"1":"4 5 6 7 8 9 AB BB CB DB EB FB YB GB ZB Q HB IB JB KB LB MB NB OB PB QB RB SB TB UB aB bB R S T iB U V W X Y Z P a H","2":"0 1 2 3 hB XB I b J D E F A B C K L G M N O c d e f g h i j k l m n o p q r s t u v w x y z jB kB"},D:{"1":"6 7 8 9 AB BB CB DB EB FB YB GB ZB Q HB IB JB KB LB MB NB OB PB QB RB SB TB UB aB bB R S T U V W X Y Z P a H lB mB nB","2":"I b J D E F A B C K L G M N O c d e f g h i j k l m n o p","129":"0 1 2 3 4 5 q r s t u v w x y z"},E:{"1":"C K L G VB WB tB uB vB","2":"I b J D E F A B oB cB pB qB rB sB dB"},F:{"1":"0 1 2 3 4 5 6 7 8 9 t u v w x y z AB BB CB DB EB FB GB Q HB IB JB KB LB MB NB OB PB QB RB SB TB UB","2":"F B C G M N O c d e f g h i j k l m n o p q r s wB xB yB zB VB eB 0B WB"},G:{"1":"AC BC CC DC EC FC GC HC IC JC","2":"E cB 1B fB 2B 3B 4B 5B 6B 7B 8B 9B"},H:{"2":"KC"},I:{"1":"H","2":"XB I LC MC NC OC fB PC","16":"QC"},J:{"2":"D A"},K:{"1":"Q","2":"A B C VB eB WB"},L:{"1":"H"},M:{"1":"P"},N:{"2":"A B"},O:{"1":"RC"},P:{"1":"I SC TC UC VC WC dB XC YC ZC aC"},Q:{"1":"bC"},R:{"1":"cC"},S:{"1":"dC"}},B:6,C:"ChaCha20-Poly1305 cipher suites for TLS"}; diff --git a/tools/node_modules/@babel/core/node_modules/caniuse-lite/data/features/channel-messaging.js b/tools/node_modules/@babel/core/node_modules/caniuse-lite/data/features/channel-messaging.js new file mode 100644 index 00000000000000..e88a59ed5fd860 --- /dev/null +++ b/tools/node_modules/@babel/core/node_modules/caniuse-lite/data/features/channel-messaging.js @@ -0,0 +1 @@ +module.exports={A:{A:{"1":"A B","2":"J D E F gB"},B:{"1":"C K L G M N O R S T U V W X Y Z P a H"},C:{"1":"0 1 2 3 4 5 6 7 8 9 y z AB BB CB DB EB FB YB GB ZB Q HB IB JB KB LB MB NB OB PB QB RB SB TB UB aB bB R S T iB U V W X Y Z P a H","2":"hB XB I b J D E F A B C K L G M N O c d e f g h i jB kB","194":"j k l m n o p q r s t u v w x"},D:{"1":"0 1 2 3 4 5 6 7 8 9 I b J D E F A B C K L G M N O c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB YB GB ZB Q HB IB JB KB LB MB NB OB PB QB RB SB TB UB aB bB R S T U V W X Y Z P a H lB mB nB"},E:{"1":"b J D E F A B C K L G pB qB rB sB dB VB WB tB uB vB","2":"I oB cB"},F:{"1":"0 1 2 3 4 5 6 7 8 9 B C G M N O c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB GB Q HB IB JB KB LB MB NB OB PB QB RB SB TB UB zB VB eB 0B WB","2":"F wB xB","16":"yB"},G:{"1":"E 2B 3B 4B 5B 6B 7B 8B 9B AC BC CC DC EC FC GC HC IC JC","2":"cB 1B fB"},H:{"2":"KC"},I:{"1":"H PC QC","2":"XB I LC MC NC OC fB"},J:{"1":"D A"},K:{"1":"B C Q VB eB WB","2":"A"},L:{"1":"H"},M:{"1":"P"},N:{"1":"A B"},O:{"1":"RC"},P:{"1":"I SC TC UC VC WC dB XC YC ZC aC"},Q:{"1":"bC"},R:{"1":"cC"},S:{"1":"dC"}},B:1,C:"Channel messaging"}; diff --git a/tools/node_modules/@babel/core/node_modules/caniuse-lite/data/features/childnode-remove.js b/tools/node_modules/@babel/core/node_modules/caniuse-lite/data/features/childnode-remove.js new file mode 100644 index 00000000000000..9a6aac003d5d41 --- /dev/null +++ b/tools/node_modules/@babel/core/node_modules/caniuse-lite/data/features/childnode-remove.js @@ -0,0 +1 @@ +module.exports={A:{A:{"2":"J D E F A B gB"},B:{"1":"K L G M N O R S T U V W X Y Z P a H","16":"C"},C:{"1":"0 1 2 3 4 5 6 7 8 9 g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB YB GB ZB Q HB IB JB KB LB MB NB OB PB QB RB SB TB UB aB bB R S T iB U V W X Y Z P a H","2":"hB XB I b J D E F A B C K L G M N O c d e f jB kB"},D:{"1":"0 1 2 3 4 5 6 7 8 9 h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB YB GB ZB Q HB IB JB KB LB MB NB OB PB QB RB SB TB UB aB bB R S T U V W X Y Z P a H lB mB nB","2":"I b J D E F A B C K L G M N O c d e f g"},E:{"1":"D E F A B C K L G qB rB sB dB VB WB tB uB vB","2":"I b oB cB pB","16":"J"},F:{"1":"0 1 2 3 4 5 6 7 8 9 G M N O c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB GB Q HB IB JB KB LB MB NB OB PB QB RB SB TB UB","2":"F B C wB xB yB zB VB eB 0B WB"},G:{"1":"E 4B 5B 6B 7B 8B 9B AC BC CC DC EC FC GC HC IC JC","2":"cB 1B fB 2B 3B"},H:{"2":"KC"},I:{"1":"H PC QC","2":"XB I LC MC NC OC fB"},J:{"1":"A","2":"D"},K:{"1":"Q","2":"A B C VB eB WB"},L:{"1":"H"},M:{"1":"P"},N:{"2":"A B"},O:{"1":"RC"},P:{"1":"I SC TC UC VC WC dB XC YC ZC aC"},Q:{"1":"bC"},R:{"1":"cC"},S:{"1":"dC"}},B:1,C:"ChildNode.remove()"}; diff --git a/tools/node_modules/@babel/core/node_modules/caniuse-lite/data/features/classlist.js b/tools/node_modules/@babel/core/node_modules/caniuse-lite/data/features/classlist.js new file mode 100644 index 00000000000000..f143529f001bd0 --- /dev/null +++ b/tools/node_modules/@babel/core/node_modules/caniuse-lite/data/features/classlist.js @@ -0,0 +1 @@ +module.exports={A:{A:{"8":"J D E F gB","1924":"A B"},B:{"1":"C K L G M N O R S T U V W X Y Z P a H"},C:{"1":"0 1 2 3 4 5 6 7 8 9 j k l m n o p q r s t u v w x y z AB BB CB DB EB FB YB GB ZB Q HB IB JB KB LB MB NB OB PB QB RB SB TB UB aB bB R S T iB U V W X Y Z P a H","8":"hB XB jB","516":"h i","772":"I b J D E F A B C K L G M N O c d e f g kB"},D:{"1":"0 1 2 3 4 5 6 7 8 9 l m n o p q r s t u v w x y z AB BB CB DB EB FB YB GB ZB Q HB IB JB KB LB MB NB OB PB QB RB SB TB UB aB bB R S T U V W X Y Z P a H lB mB nB","8":"I b J D","516":"h i j k","772":"g","900":"E F A B C K L G M N O c d e f"},E:{"1":"D E F A B C K L G rB sB dB VB WB tB uB vB","8":"I b oB cB","900":"J pB qB"},F:{"1":"0 1 2 3 4 5 6 7 8 9 G M N O c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB GB Q HB IB JB KB LB MB NB OB PB QB RB SB TB UB","8":"F B wB xB yB zB VB","900":"C eB 0B WB"},G:{"1":"E 4B 5B 6B 7B 8B 9B AC BC CC DC EC FC GC HC IC JC","8":"cB 1B fB","900":"2B 3B"},H:{"900":"KC"},I:{"1":"H PC QC","8":"LC MC NC","900":"XB I OC fB"},J:{"1":"A","900":"D"},K:{"1":"Q","8":"A B","900":"C VB eB WB"},L:{"1":"H"},M:{"1":"P"},N:{"900":"A B"},O:{"1":"RC"},P:{"1":"I SC TC UC VC WC dB XC YC ZC aC"},Q:{"1":"bC"},R:{"1":"cC"},S:{"1":"dC"}},B:1,C:"classList (DOMTokenList)"}; diff --git a/tools/node_modules/@babel/core/node_modules/caniuse-lite/data/features/client-hints-dpr-width-viewport.js b/tools/node_modules/@babel/core/node_modules/caniuse-lite/data/features/client-hints-dpr-width-viewport.js new file mode 100644 index 00000000000000..c2171db1379c97 --- /dev/null +++ b/tools/node_modules/@babel/core/node_modules/caniuse-lite/data/features/client-hints-dpr-width-viewport.js @@ -0,0 +1 @@ +module.exports={A:{A:{"2":"J D E F A B gB"},B:{"1":"R S T U V W X Y Z P a H","2":"C K L G M N O"},C:{"2":"0 1 2 3 4 5 6 7 8 9 hB XB I b J D E F A B C K L G M N O c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB YB GB ZB Q HB IB JB KB LB MB NB OB PB QB RB SB TB UB aB bB R S T iB U V W X Y Z P a H jB kB"},D:{"1":"3 4 5 6 7 8 9 AB BB CB DB EB FB YB GB ZB Q HB IB JB KB LB MB NB OB PB QB RB SB TB UB aB bB R S T U V W X Y Z P a H lB mB nB","2":"0 1 2 I b J D E F A B C K L G M N O c d e f g h i j k l m n o p q r s t u v w x y z"},E:{"2":"I b J D E F A B C K L G oB cB pB qB rB sB dB VB WB tB uB vB"},F:{"1":"0 1 2 3 4 5 6 7 8 9 q r s t u v w x y z AB BB CB DB EB FB GB Q HB IB JB KB LB MB NB OB PB QB RB SB TB UB","2":"F B C G M N O c d e f g h i j k l m n o p wB xB yB zB VB eB 0B WB"},G:{"2":"E cB 1B fB 2B 3B 4B 5B 6B 7B 8B 9B AC BC CC DC EC FC GC HC IC JC"},H:{"2":"KC"},I:{"1":"H","2":"XB I LC MC NC OC fB PC QC"},J:{"2":"D A"},K:{"1":"Q","2":"A B C VB eB WB"},L:{"1":"H"},M:{"2":"P"},N:{"2":"A B"},O:{"1":"RC"},P:{"1":"SC TC UC VC WC dB XC YC ZC aC","2":"I"},Q:{"2":"bC"},R:{"1":"cC"},S:{"2":"dC"}},B:6,C:"Client Hints: DPR, Width, Viewport-Width"}; diff --git a/tools/node_modules/@babel/core/node_modules/caniuse-lite/data/features/clipboard.js b/tools/node_modules/@babel/core/node_modules/caniuse-lite/data/features/clipboard.js new file mode 100644 index 00000000000000..df38f8299102e0 --- /dev/null +++ b/tools/node_modules/@babel/core/node_modules/caniuse-lite/data/features/clipboard.js @@ -0,0 +1 @@ +module.exports={A:{A:{"2436":"J D E F A B gB"},B:{"260":"N O","2436":"C K L G M","8196":"R S T U V W X Y Z P a H"},C:{"2":"hB XB I b J D E F A B C K L G M N O c d e jB kB","772":"f g h i j k l m n o p q r s t u v w x","4100":"0 1 2 3 4 5 6 7 8 9 y z AB BB CB DB EB FB YB GB ZB Q HB IB JB KB LB MB NB OB PB QB RB SB TB UB aB bB R S T iB U V W X Y Z P a H"},D:{"2":"I b J D E F A B C","2564":"K L G M N O c d e f g h i j k l m n o p q r s t u v w x y z","8196":"FB YB GB ZB Q HB IB JB KB LB MB NB OB PB QB RB SB TB UB aB bB R S T U V W X Y Z P a H lB mB nB","10244":"0 1 2 3 4 5 6 7 8 9 AB BB CB DB EB"},E:{"1":"C K L G WB tB uB vB","16":"oB cB","2308":"A B dB VB","2820":"I b J D E F pB qB rB sB"},F:{"2":"F B wB xB yB zB VB eB 0B","16":"C","516":"WB","2564":"G M N O c d e f g h i j k l m","8196":"2 3 4 5 6 7 8 9 AB BB CB DB EB FB GB Q HB IB JB KB LB MB NB OB PB QB RB SB TB UB","10244":"0 1 n o p q r s t u v w x y z"},G:{"1":"CC DC EC FC GC HC IC JC","2":"cB 1B fB","2820":"E 2B 3B 4B 5B 6B 7B 8B 9B AC BC"},H:{"2":"KC"},I:{"2":"XB I LC MC NC OC fB","260":"H","2308":"PC QC"},J:{"2":"D","2308":"A"},K:{"2":"A B C VB eB","16":"WB","1028":"Q"},L:{"8196":"H"},M:{"1028":"P"},N:{"2":"A B"},O:{"2":"RC"},P:{"2052":"SC TC","2308":"I","8196":"UC VC WC dB XC YC ZC aC"},Q:{"10244":"bC"},R:{"2052":"cC"},S:{"4100":"dC"}},B:5,C:"Synchronous Clipboard API"}; diff --git a/tools/node_modules/@babel/core/node_modules/caniuse-lite/data/features/colr.js b/tools/node_modules/@babel/core/node_modules/caniuse-lite/data/features/colr.js new file mode 100644 index 00000000000000..d88a361e042861 --- /dev/null +++ b/tools/node_modules/@babel/core/node_modules/caniuse-lite/data/features/colr.js @@ -0,0 +1 @@ +module.exports={A:{A:{"2":"J D E gB","257":"F A B"},B:{"1":"C K L G M N O","513":"R S T U V W X Y Z P a H"},C:{"1":"0 1 2 3 4 5 6 7 8 9 p q r s t u v w x y z AB BB CB DB EB FB YB GB ZB Q HB IB JB KB LB MB NB OB PB QB RB SB TB UB aB bB R S T iB U V W X Y Z P a H","2":"hB XB I b J D E F A B C K L G M N O c d e f g h i j k l m n o jB kB"},D:{"2":"0 1 2 3 4 5 6 7 8 9 I b J D E F A B C K L G M N O c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB YB GB ZB Q HB IB JB KB LB MB NB OB","513":"PB QB RB SB TB UB aB bB R S T U V W X Y Z P a H lB mB nB"},E:{"1":"L G uB vB","2":"I b J D E F A oB cB pB qB rB sB dB","129":"B C K VB WB tB"},F:{"2":"0 1 2 3 4 5 6 7 8 9 F B C G M N O c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB wB xB yB zB VB eB 0B WB","513":"FB GB Q HB IB JB KB LB MB NB OB PB QB RB SB TB UB"},G:{"1":"AC BC CC DC EC FC GC HC IC JC","2":"E cB 1B fB 2B 3B 4B 5B 6B 7B 8B 9B"},H:{"2":"KC"},I:{"1":"H","2":"XB I LC MC NC OC fB PC QC"},J:{"16":"D A"},K:{"1":"Q","2":"A B C VB eB WB"},L:{"1":"H"},M:{"1":"P"},N:{"16":"A B"},O:{"1":"RC"},P:{"1":"dB XC YC ZC aC","2":"I SC TC UC VC WC"},Q:{"1":"bC"},R:{"1":"cC"},S:{"1":"dC"}},B:6,C:"COLR/CPAL(v0) Font Formats"}; diff --git a/tools/node_modules/@babel/core/node_modules/caniuse-lite/data/features/comparedocumentposition.js b/tools/node_modules/@babel/core/node_modules/caniuse-lite/data/features/comparedocumentposition.js new file mode 100644 index 00000000000000..b86ba4440ed256 --- /dev/null +++ b/tools/node_modules/@babel/core/node_modules/caniuse-lite/data/features/comparedocumentposition.js @@ -0,0 +1 @@ +module.exports={A:{A:{"1":"F A B","2":"J D E gB"},B:{"1":"C K L G M N O R S T U V W X Y Z P a H"},C:{"1":"0 1 2 3 4 5 6 7 8 9 I b J D E F A B C K L G M N O c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB YB GB ZB Q HB IB JB KB LB MB NB OB PB QB RB SB TB UB aB bB R S T iB U V W X Y Z P a H","16":"hB XB jB kB"},D:{"1":"0 1 2 3 4 5 6 7 8 9 n o p q r s t u v w x y z AB BB CB DB EB FB YB GB ZB Q HB IB JB KB LB MB NB OB PB QB RB SB TB UB aB bB R S T U V W X Y Z P a H lB mB nB","16":"I b J D E F A B C K L","132":"G M N O c d e f g h i j k l m"},E:{"1":"A B C K L G dB VB WB tB uB vB","16":"I b J oB cB","132":"D E F qB rB sB","260":"pB"},F:{"1":"0 1 2 3 4 5 6 7 8 9 C N O c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB GB Q HB IB JB KB LB MB NB OB PB QB RB SB TB UB 0B WB","16":"F B wB xB yB zB VB eB","132":"G M"},G:{"1":"8B 9B AC BC CC DC EC FC GC HC IC JC","16":"cB","132":"E 1B fB 2B 3B 4B 5B 6B 7B"},H:{"1":"KC"},I:{"1":"H PC QC","16":"LC MC","132":"XB I NC OC fB"},J:{"132":"D A"},K:{"1":"C Q WB","16":"A B VB eB"},L:{"1":"H"},M:{"1":"P"},N:{"1":"A B"},O:{"1":"RC"},P:{"1":"I SC TC UC VC WC dB XC YC ZC aC"},Q:{"1":"bC"},R:{"1":"cC"},S:{"1":"dC"}},B:1,C:"Node.compareDocumentPosition()"}; diff --git a/tools/node_modules/@babel/core/node_modules/caniuse-lite/data/features/console-basic.js b/tools/node_modules/@babel/core/node_modules/caniuse-lite/data/features/console-basic.js new file mode 100644 index 00000000000000..c1e1dd079f2f00 --- /dev/null +++ b/tools/node_modules/@babel/core/node_modules/caniuse-lite/data/features/console-basic.js @@ -0,0 +1 @@ +module.exports={A:{A:{"1":"A B","2":"J D gB","132":"E F"},B:{"1":"C K L G M N O R S T U V W X Y Z P a H"},C:{"1":"0 1 2 3 4 5 6 7 8 9 I b J D E F A B C K L G M N O c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB YB GB ZB Q HB IB JB KB LB MB NB OB PB QB RB SB TB UB aB bB R S T iB U V W X Y Z P a H","2":"hB XB jB kB"},D:{"1":"0 1 2 3 4 5 6 7 8 9 I b J D E F A B C K L G M N O c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB YB GB ZB Q HB IB JB KB LB MB NB OB PB QB RB SB TB UB aB bB R S T U V W X Y Z P a H lB mB nB"},E:{"1":"I b J D E F A B C K L G oB cB pB qB rB sB dB VB WB tB uB vB"},F:{"1":"0 1 2 3 4 5 6 7 8 9 B C G M N O c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB GB Q HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB eB 0B WB","2":"F wB xB yB zB"},G:{"1":"cB 1B fB 2B","513":"E 3B 4B 5B 6B 7B 8B 9B AC BC CC DC EC FC GC HC IC JC"},H:{"4097":"KC"},I:{"1025":"XB I H LC MC NC OC fB PC QC"},J:{"258":"D A"},K:{"2":"A","258":"B C Q VB eB WB"},L:{"1025":"H"},M:{"2049":"P"},N:{"258":"A B"},O:{"258":"RC"},P:{"1025":"I SC TC UC VC WC dB XC YC ZC aC"},Q:{"1":"bC"},R:{"1025":"cC"},S:{"1":"dC"}},B:1,C:"Basic console logging functions"}; diff --git a/tools/node_modules/@babel/core/node_modules/caniuse-lite/data/features/console-time.js b/tools/node_modules/@babel/core/node_modules/caniuse-lite/data/features/console-time.js new file mode 100644 index 00000000000000..234385569fe89d --- /dev/null +++ b/tools/node_modules/@babel/core/node_modules/caniuse-lite/data/features/console-time.js @@ -0,0 +1 @@ +module.exports={A:{A:{"1":"B","2":"J D E F A gB"},B:{"1":"C K L G M N O R S T U V W X Y Z P a H"},C:{"1":"0 1 2 3 4 5 6 7 8 9 A B C K L G M N O c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB YB GB ZB Q HB IB JB KB LB MB NB OB PB QB RB SB TB UB aB bB R S T iB U V W X Y Z P a H","2":"hB XB I b J D E F jB kB"},D:{"1":"0 1 2 3 4 5 6 7 8 9 I b J D E F A B C K L G M N O c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB YB GB ZB Q HB IB JB KB LB MB NB OB PB QB RB SB TB UB aB bB R S T U V W X Y Z P a H lB mB nB"},E:{"1":"I b J D E F A B C K L G pB qB rB sB dB VB WB tB uB vB","2":"oB cB"},F:{"1":"0 1 2 3 4 5 6 7 8 9 C G M N O c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB GB Q HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB eB 0B WB","2":"F wB xB yB zB","16":"B"},G:{"1":"E cB 1B fB 2B 3B 4B 5B 6B 7B 8B 9B AC BC CC DC EC FC GC HC IC JC"},H:{"1":"KC"},I:{"1":"XB I H LC MC NC OC fB PC QC"},J:{"1":"D A"},K:{"1":"Q","16":"A B C VB eB WB"},L:{"1":"H"},M:{"1":"P"},N:{"1":"B","2":"A"},O:{"1":"RC"},P:{"1":"I SC TC UC VC WC dB XC YC ZC aC"},Q:{"1":"bC"},R:{"1":"cC"},S:{"1":"dC"}},B:1,C:"console.time and console.timeEnd"}; diff --git a/tools/node_modules/@babel/core/node_modules/caniuse-lite/data/features/const.js b/tools/node_modules/@babel/core/node_modules/caniuse-lite/data/features/const.js new file mode 100644 index 00000000000000..eac4968d2262d1 --- /dev/null +++ b/tools/node_modules/@babel/core/node_modules/caniuse-lite/data/features/const.js @@ -0,0 +1 @@ +module.exports={A:{A:{"2":"J D E F A gB","2052":"B"},B:{"1":"C K L G M N O R S T U V W X Y Z P a H"},C:{"1":"0 1 2 3 4 5 6 7 8 9 t u v w x y z AB BB CB DB EB FB YB GB ZB Q HB IB JB KB LB MB NB OB PB QB RB SB TB UB aB bB R S T iB U V W X Y Z P a H","132":"hB XB I b J D E F A B C jB kB","260":"K L G M N O c d e f g h i j k l m n o p q r s"},D:{"1":"6 7 8 9 AB BB CB DB EB FB YB GB ZB Q HB IB JB KB LB MB NB OB PB QB RB SB TB UB aB bB R S T U V W X Y Z P a H lB mB nB","260":"I b J D E F A B C K L G M N O c d","772":"e f g h i j k l m n o p q r s t u v w x","1028":"0 1 2 3 4 5 y z"},E:{"1":"A B C K L G dB VB WB tB uB vB","260":"I b oB cB","772":"J D E F pB qB rB sB"},F:{"1":"0 1 2 3 4 5 6 7 8 9 t u v w x y z AB BB CB DB EB FB GB Q HB IB JB KB LB MB NB OB PB QB RB SB TB UB","2":"F wB","132":"B xB yB zB VB eB","644":"C 0B WB","772":"G M N O c d e f g h i j k","1028":"l m n o p q r s"},G:{"1":"8B 9B AC BC CC DC EC FC GC HC IC JC","260":"cB 1B fB","772":"E 2B 3B 4B 5B 6B 7B"},H:{"644":"KC"},I:{"1":"H","16":"LC MC","260":"NC","772":"XB I OC fB PC QC"},J:{"772":"D A"},K:{"1":"Q","132":"A B VB eB","644":"C WB"},L:{"1":"H"},M:{"1":"P"},N:{"1":"B","2":"A"},O:{"1":"RC"},P:{"1":"SC TC UC VC WC dB XC YC ZC aC","1028":"I"},Q:{"1":"bC"},R:{"1028":"cC"},S:{"1":"dC"}},B:6,C:"const"}; diff --git a/tools/node_modules/@babel/core/node_modules/caniuse-lite/data/features/constraint-validation.js b/tools/node_modules/@babel/core/node_modules/caniuse-lite/data/features/constraint-validation.js new file mode 100644 index 00000000000000..2f53b7a2dedd86 --- /dev/null +++ b/tools/node_modules/@babel/core/node_modules/caniuse-lite/data/features/constraint-validation.js @@ -0,0 +1 @@ +module.exports={A:{A:{"2":"J D E F gB","900":"A B"},B:{"1":"N O R S T U V W X Y Z P a H","388":"L G M","900":"C K"},C:{"1":"8 9 AB BB CB DB EB FB YB GB ZB Q HB IB JB KB LB MB NB OB PB QB RB SB TB UB aB bB R S T iB U V W X Y Z P a H","2":"hB XB jB kB","260":"6 7","388":"0 1 2 3 4 5 m n o p q r s t u v w x y z","900":"I b J D E F A B C K L G M N O c d e f g h i j k l"},D:{"1":"0 1 2 3 4 5 6 7 8 9 x y z AB BB CB DB EB FB YB GB ZB Q HB IB JB KB LB MB NB OB PB QB RB SB TB UB aB bB R S T U V W X Y Z P a H lB mB nB","16":"I b J D E F A B C K L","388":"i j k l m n o p q r s t u v w","900":"G M N O c d e f g h"},E:{"1":"A B C K L G dB VB WB tB uB vB","16":"I b oB cB","388":"E F rB sB","900":"J D pB qB"},F:{"1":"0 1 2 3 4 5 6 7 8 9 k l m n o p q r s t u v w x y z AB BB CB DB EB FB GB Q HB IB JB KB LB MB NB OB PB QB RB SB TB UB","16":"F B wB xB yB zB VB eB","388":"G M N O c d e f g h i j","900":"C 0B WB"},G:{"1":"8B 9B AC BC CC DC EC FC GC HC IC JC","16":"cB 1B fB","388":"E 4B 5B 6B 7B","900":"2B 3B"},H:{"2":"KC"},I:{"1":"H","16":"XB LC MC NC","388":"PC QC","900":"I OC fB"},J:{"16":"D","388":"A"},K:{"1":"Q","16":"A B VB eB","900":"C WB"},L:{"1":"H"},M:{"1":"P"},N:{"900":"A B"},O:{"1":"RC"},P:{"1":"I SC TC UC VC WC dB XC YC ZC aC"},Q:{"1":"bC"},R:{"1":"cC"},S:{"388":"dC"}},B:1,C:"Constraint Validation API"}; diff --git a/tools/node_modules/@babel/core/node_modules/caniuse-lite/data/features/contenteditable.js b/tools/node_modules/@babel/core/node_modules/caniuse-lite/data/features/contenteditable.js new file mode 100644 index 00000000000000..5f925e1f8e839a --- /dev/null +++ b/tools/node_modules/@babel/core/node_modules/caniuse-lite/data/features/contenteditable.js @@ -0,0 +1 @@ +module.exports={A:{A:{"1":"J D E F A B gB"},B:{"1":"C K L G M N O R S T U V W X Y Z P a H"},C:{"1":"0 1 2 3 4 5 6 7 8 9 I b J D E F A B C K L G M N O c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB YB GB ZB Q HB IB JB KB LB MB NB OB PB QB RB SB TB UB aB bB R S T iB U V W X Y Z P a H jB kB","2":"hB","4":"XB"},D:{"1":"0 1 2 3 4 5 6 7 8 9 I b J D E F A B C K L G M N O c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB YB GB ZB Q HB IB JB KB LB MB NB OB PB QB RB SB TB UB aB bB R S T U V W X Y Z P a H lB mB nB"},E:{"1":"I b J D E F A B C K L G oB cB pB qB rB sB dB VB WB tB uB vB"},F:{"1":"0 1 2 3 4 5 6 7 8 9 F B C G M N O c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB GB Q HB IB JB KB LB MB NB OB PB QB RB SB TB UB wB xB yB zB VB eB 0B WB"},G:{"1":"E 2B 3B 4B 5B 6B 7B 8B 9B AC BC CC DC EC FC GC HC IC JC","2":"cB 1B fB"},H:{"2":"KC"},I:{"1":"XB I H OC fB PC QC","2":"LC MC NC"},J:{"1":"D A"},K:{"1":"Q WB","2":"A B C VB eB"},L:{"1":"H"},M:{"1":"P"},N:{"1":"A B"},O:{"1":"RC"},P:{"1":"I SC TC UC VC WC dB XC YC ZC aC"},Q:{"1":"bC"},R:{"1":"cC"},S:{"1":"dC"}},B:1,C:"contenteditable attribute (basic support)"}; diff --git a/tools/node_modules/@babel/core/node_modules/caniuse-lite/data/features/contentsecuritypolicy.js b/tools/node_modules/@babel/core/node_modules/caniuse-lite/data/features/contentsecuritypolicy.js new file mode 100644 index 00000000000000..45e059a933bcf5 --- /dev/null +++ b/tools/node_modules/@babel/core/node_modules/caniuse-lite/data/features/contentsecuritypolicy.js @@ -0,0 +1 @@ +module.exports={A:{A:{"2":"J D E F gB","132":"A B"},B:{"1":"C K L G M N O R S T U V W X Y Z P a H"},C:{"1":"0 1 2 3 4 5 6 7 8 9 g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB YB GB ZB Q HB IB JB KB LB MB NB OB PB QB RB SB TB UB aB bB R S T iB U V W X Y Z P a H","2":"hB XB jB kB","129":"I b J D E F A B C K L G M N O c d e f"},D:{"1":"0 1 2 3 4 5 6 7 8 9 i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB YB GB ZB Q HB IB JB KB LB MB NB OB PB QB RB SB TB UB aB bB R S T U V W X Y Z P a H lB mB nB","2":"I b J D E F A B C K","257":"L G M N O c d e f g h"},E:{"1":"D E F A B C K L G rB sB dB VB WB tB uB vB","2":"I b oB cB","257":"J qB","260":"pB"},F:{"1":"0 1 2 3 4 5 6 7 8 9 G M N O c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB GB Q HB IB JB KB LB MB NB OB PB QB RB SB TB UB","2":"F B C wB xB yB zB VB eB 0B WB"},G:{"1":"E 4B 5B 6B 7B 8B 9B AC BC CC DC EC FC GC HC IC JC","2":"cB 1B fB","257":"3B","260":"2B"},H:{"2":"KC"},I:{"1":"H PC QC","2":"XB I LC MC NC OC fB"},J:{"2":"D","257":"A"},K:{"1":"Q","2":"A B C VB eB WB"},L:{"1":"H"},M:{"1":"P"},N:{"132":"A B"},O:{"257":"RC"},P:{"1":"I SC TC UC VC WC dB XC YC ZC aC"},Q:{"1":"bC"},R:{"1":"cC"},S:{"1":"dC"}},B:4,C:"Content Security Policy 1.0"}; diff --git a/tools/node_modules/@babel/core/node_modules/caniuse-lite/data/features/contentsecuritypolicy2.js b/tools/node_modules/@babel/core/node_modules/caniuse-lite/data/features/contentsecuritypolicy2.js new file mode 100644 index 00000000000000..c0d2532cb969a2 --- /dev/null +++ b/tools/node_modules/@babel/core/node_modules/caniuse-lite/data/features/contentsecuritypolicy2.js @@ -0,0 +1 @@ +module.exports={A:{A:{"2":"J D E F A B gB"},B:{"1":"R S T U V W X Y Z P a H","2":"C K L","32772":"G M N O"},C:{"2":"hB XB I b J D E F A B C K L G M N O c d e f g h i j k l m n jB kB","132":"o p q r","260":"s","516":"0 1 t u v w x y z","8196":"2 3 4 5 6 7 8 9 AB BB CB DB EB FB YB GB ZB Q HB IB JB KB LB MB NB OB PB QB RB SB TB UB aB bB R S T iB U V W X Y Z P a H"},D:{"1":"0 1 2 3 4 5 6 7 8 9 x y z AB BB CB DB EB FB YB GB ZB Q HB IB JB KB LB MB NB OB PB QB RB SB TB UB aB bB R S T U V W X Y Z P a H lB mB nB","2":"I b J D E F A B C K L G M N O c d e f g h i j k l m n o p q r s","1028":"t u v","2052":"w"},E:{"1":"A B C K L G dB VB WB tB uB vB","2":"I b J D E F oB cB pB qB rB sB"},F:{"1":"0 1 2 3 4 5 6 7 8 9 k l m n o p q r s t u v w x y z AB BB CB DB EB FB GB Q HB IB JB KB LB MB NB OB PB QB RB SB TB UB","2":"F B C G M N O c d e f wB xB yB zB VB eB 0B WB","1028":"g h i","2052":"j"},G:{"1":"8B 9B AC BC CC DC EC FC GC HC IC JC","2":"E cB 1B fB 2B 3B 4B 5B 6B 7B"},H:{"2":"KC"},I:{"1":"H","2":"XB I LC MC NC OC fB PC QC"},J:{"2":"D A"},K:{"1":"Q","2":"A B C VB eB WB"},L:{"1":"H"},M:{"4100":"P"},N:{"2":"A B"},O:{"2":"RC"},P:{"1":"I SC TC UC VC WC dB XC YC ZC aC"},Q:{"1":"bC"},R:{"1":"cC"},S:{"8196":"dC"}},B:2,C:"Content Security Policy Level 2"}; diff --git a/tools/node_modules/@babel/core/node_modules/caniuse-lite/data/features/cookie-store-api.js b/tools/node_modules/@babel/core/node_modules/caniuse-lite/data/features/cookie-store-api.js new file mode 100644 index 00000000000000..82998d63f37c3b --- /dev/null +++ b/tools/node_modules/@babel/core/node_modules/caniuse-lite/data/features/cookie-store-api.js @@ -0,0 +1 @@ +module.exports={A:{A:{"2":"J D E F A B gB"},B:{"1":"Y Z P a H","2":"C K L G M N O","194":"R S T U V W X"},C:{"2":"0 1 2 3 4 5 6 7 8 9 hB XB I b J D E F A B C K L G M N O c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB YB GB ZB Q HB IB JB KB LB MB NB OB PB QB RB SB TB UB aB bB R S T iB U V W X Y Z P a H jB kB"},D:{"1":"Y Z P a H lB mB nB","2":"0 1 2 3 4 5 6 7 8 9 I b J D E F A B C K L G M N O c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB YB GB ZB Q HB","194":"IB JB KB LB MB NB OB PB QB RB SB TB UB aB bB R S T U V W X"},E:{"2":"I b J D E F A B C K L G oB cB pB qB rB sB dB VB WB tB uB vB"},F:{"1":"SB TB UB","2":"0 1 2 3 4 5 6 7 F B C G M N O c d e f g h i j k l m n o p q r s t u v w x y z wB xB yB zB VB eB 0B WB","194":"8 9 AB BB CB DB EB FB GB Q HB IB JB KB LB MB NB OB PB QB RB"},G:{"2":"E cB 1B fB 2B 3B 4B 5B 6B 7B 8B 9B AC BC CC DC EC FC GC HC IC JC"},H:{"2":"KC"},I:{"1":"H","2":"XB I LC MC NC OC fB PC QC"},J:{"2":"D A"},K:{"1":"Q","2":"A B C VB eB WB"},L:{"1":"H"},M:{"2":"P"},N:{"2":"A B"},O:{"2":"RC"},P:{"1":"aC","2":"I SC TC UC VC WC dB XC YC ZC"},Q:{"2":"bC"},R:{"2":"cC"},S:{"2":"dC"}},B:7,C:"Cookie Store API"}; diff --git a/tools/node_modules/@babel/core/node_modules/caniuse-lite/data/features/cors.js b/tools/node_modules/@babel/core/node_modules/caniuse-lite/data/features/cors.js new file mode 100644 index 00000000000000..1d1b0dd4a1765d --- /dev/null +++ b/tools/node_modules/@babel/core/node_modules/caniuse-lite/data/features/cors.js @@ -0,0 +1 @@ +module.exports={A:{A:{"1":"B","2":"J D gB","132":"A","260":"E F"},B:{"1":"C K L G M N O R S T U V W X Y Z P a H"},C:{"1":"0 1 2 3 4 5 6 7 8 9 I b J D E F A B C K L G M N O c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB YB GB PB QB RB SB TB UB aB bB R S T iB U V W X Y Z P a H jB kB","2":"hB XB","1025":"ZB Q HB IB JB KB LB MB NB OB"},D:{"1":"0 1 2 3 4 5 6 7 8 9 K L G M N O c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB YB GB ZB Q HB IB JB KB LB MB NB OB PB QB RB SB TB UB aB bB R S T U V W X Y Z P a H lB mB nB","132":"I b J D E F A B C"},E:{"2":"oB cB","513":"J D E F A B C K L G qB rB sB dB VB WB tB uB vB","644":"I b pB"},F:{"1":"0 1 2 3 4 5 6 7 8 9 C G M N O c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB GB Q HB IB JB KB LB MB NB OB PB QB RB SB TB UB WB","2":"F B wB xB yB zB VB eB 0B"},G:{"513":"E 3B 4B 5B 6B 7B 8B 9B AC BC CC DC EC FC GC HC IC JC","644":"cB 1B fB 2B"},H:{"2":"KC"},I:{"1":"H PC QC","132":"XB I LC MC NC OC fB"},J:{"1":"A","132":"D"},K:{"1":"C Q WB","2":"A B VB eB"},L:{"1":"H"},M:{"1":"P"},N:{"1":"B","132":"A"},O:{"1":"RC"},P:{"1":"I SC TC UC VC WC dB XC YC ZC aC"},Q:{"1":"bC"},R:{"1":"cC"},S:{"1":"dC"}},B:1,C:"Cross-Origin Resource Sharing"}; diff --git a/tools/node_modules/@babel/core/node_modules/caniuse-lite/data/features/createimagebitmap.js b/tools/node_modules/@babel/core/node_modules/caniuse-lite/data/features/createimagebitmap.js new file mode 100644 index 00000000000000..4c58ca0df677aa --- /dev/null +++ b/tools/node_modules/@babel/core/node_modules/caniuse-lite/data/features/createimagebitmap.js @@ -0,0 +1 @@ +module.exports={A:{A:{"2":"J D E F A B gB"},B:{"1":"R S T U V W X Y Z P a H","2":"C K L G M N O"},C:{"2":"hB XB I b J D E F A B C K L G M N O c d e f g h i j k l m n o p q r s t u v w x y jB kB","3076":"0 1 2 3 4 5 6 7 8 9 z AB BB CB DB EB FB YB GB ZB Q HB IB JB KB LB MB NB OB PB QB RB SB TB UB aB bB R S T iB U V W X Y Z P a H"},D:{"1":"YB GB ZB Q HB IB JB KB LB MB NB OB PB QB RB SB TB UB aB bB R S T U V W X Y Z P a H lB mB nB","2":"0 1 2 3 4 5 6 I b J D E F A B C K L G M N O c d e f g h i j k l m n o p q r s t u v w x y z","132":"7 8","260":"9 AB","516":"BB CB DB EB FB"},E:{"2":"I b J D E F A B C K L G oB cB pB qB rB sB dB VB WB tB uB vB"},F:{"1":"3 4 5 6 7 8 9 AB BB CB DB EB FB GB Q HB IB JB KB LB MB NB OB PB QB RB SB TB UB","2":"F B C G M N O c d e f g h i j k l m n o p q r s t wB xB yB zB VB eB 0B WB","132":"u v","260":"w x","516":"0 1 2 y z"},G:{"2":"E cB 1B fB 2B 3B 4B 5B 6B 7B 8B 9B AC BC CC DC EC FC GC HC IC JC"},H:{"2":"KC"},I:{"1":"H","2":"XB I LC MC NC OC fB PC QC"},J:{"2":"D A"},K:{"1":"Q","2":"A B C VB eB WB"},L:{"1":"H"},M:{"3076":"P"},N:{"2":"A B"},O:{"1":"RC"},P:{"1":"TC UC VC WC dB XC YC ZC aC","16":"I SC"},Q:{"1":"bC"},R:{"2":"cC"},S:{"3076":"dC"}},B:1,C:"createImageBitmap"}; diff --git a/tools/node_modules/@babel/core/node_modules/caniuse-lite/data/features/credential-management.js b/tools/node_modules/@babel/core/node_modules/caniuse-lite/data/features/credential-management.js new file mode 100644 index 00000000000000..65b4e6ea1bc7d3 --- /dev/null +++ b/tools/node_modules/@babel/core/node_modules/caniuse-lite/data/features/credential-management.js @@ -0,0 +1 @@ +module.exports={A:{A:{"2":"J D E F A B gB"},B:{"1":"R S T U V W X Y Z P a H","2":"C K L G M N O"},C:{"2":"0 1 2 3 4 5 6 7 8 9 hB XB I b J D E F A B C K L G M N O c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB YB GB ZB Q HB IB JB KB LB MB NB OB PB QB RB SB TB UB aB bB R S T iB U V W X Y Z P a H jB kB"},D:{"1":"EB FB YB GB ZB Q HB IB JB KB LB MB NB OB PB QB RB SB TB UB aB bB R S T U V W X Y Z P a H lB mB nB","2":"0 1 2 3 4 I b J D E F A B C K L G M N O c d e f g h i j k l m n o p q r s t u v w x y z","66":"5 6 7","129":"8 9 AB BB CB DB"},E:{"2":"I b J D E F A B C K L G oB cB pB qB rB sB dB VB WB tB uB vB"},F:{"1":"2 3 4 5 6 7 8 9 AB BB CB DB EB FB GB Q HB IB JB KB LB MB NB OB PB QB RB SB TB UB","2":"0 1 F B C G M N O c d e f g h i j k l m n o p q r s t u v w x y z wB xB yB zB VB eB 0B WB"},G:{"1":"IC JC","2":"E cB 1B fB 2B 3B 4B 5B 6B 7B 8B 9B AC BC CC DC EC FC GC HC"},H:{"2":"KC"},I:{"1":"H","2":"XB I LC MC NC OC fB PC QC"},J:{"2":"D A"},K:{"2":"A B C Q VB eB WB"},L:{"1":"H"},M:{"2":"P"},N:{"2":"A B"},O:{"1":"RC"},P:{"1":"UC VC WC dB XC YC ZC aC","2":"I SC TC"},Q:{"2":"bC"},R:{"2":"cC"},S:{"2":"dC"}},B:5,C:"Credential Management API"}; diff --git a/tools/node_modules/@babel/core/node_modules/caniuse-lite/data/features/cryptography.js b/tools/node_modules/@babel/core/node_modules/caniuse-lite/data/features/cryptography.js new file mode 100644 index 00000000000000..5589e97857c0e9 --- /dev/null +++ b/tools/node_modules/@babel/core/node_modules/caniuse-lite/data/features/cryptography.js @@ -0,0 +1 @@ +module.exports={A:{A:{"2":"gB","8":"J D E F A","164":"B"},B:{"1":"R S T U V W X Y Z P a H","513":"C K L G M N O"},C:{"1":"0 1 2 3 4 5 6 7 8 9 r s t u v w x y z AB BB CB DB EB FB YB GB ZB Q HB IB JB KB LB MB NB OB PB QB RB SB TB UB aB bB R S T iB U V W X Y Z P a H","8":"hB XB I b J D E F A B C K L G M N O c d e f g h i j k l m n o jB kB","66":"p q"},D:{"1":"0 1 2 3 4 5 6 7 8 9 u v w x y z AB BB CB DB EB FB YB GB ZB Q HB IB JB KB LB MB NB OB PB QB RB SB TB UB aB bB R S T U V W X Y Z P a H lB mB nB","8":"I b J D E F A B C K L G M N O c d e f g h i j k l m n o p q r s t"},E:{"1":"B C K L G VB WB tB uB vB","8":"I b J D oB cB pB qB","289":"E F A rB sB dB"},F:{"1":"0 1 2 3 4 5 6 7 8 9 h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB GB Q HB IB JB KB LB MB NB OB PB QB RB SB TB UB","8":"F B C G M N O c d e f g wB xB yB zB VB eB 0B WB"},G:{"1":"AC BC CC DC EC FC GC HC IC JC","8":"cB 1B fB 2B 3B 4B","289":"E 5B 6B 7B 8B 9B"},H:{"2":"KC"},I:{"1":"H","8":"XB I LC MC NC OC fB PC QC"},J:{"8":"D A"},K:{"1":"Q","8":"A B C VB eB WB"},L:{"1":"H"},M:{"1":"P"},N:{"8":"A","164":"B"},O:{"1":"RC"},P:{"1":"I SC TC UC VC WC dB XC YC ZC aC"},Q:{"1":"bC"},R:{"1":"cC"},S:{"1":"dC"}},B:2,C:"Web Cryptography"}; diff --git a/tools/node_modules/@babel/core/node_modules/caniuse-lite/data/features/css-all.js b/tools/node_modules/@babel/core/node_modules/caniuse-lite/data/features/css-all.js new file mode 100644 index 00000000000000..c5c0ac9b29eda1 --- /dev/null +++ b/tools/node_modules/@babel/core/node_modules/caniuse-lite/data/features/css-all.js @@ -0,0 +1 @@ +module.exports={A:{A:{"2":"J D E F A B gB"},B:{"1":"R S T U V W X Y Z P a H","2":"C K L G M N O"},C:{"1":"0 1 2 3 4 5 6 7 8 9 k l m n o p q r s t u v w x y z AB BB CB DB EB FB YB GB ZB Q HB IB JB KB LB MB NB OB PB QB RB SB TB UB aB bB R S T iB U V W X Y Z P a H","2":"hB XB I b J D E F A B C K L G M N O c d e f g h i j jB kB"},D:{"1":"0 1 2 3 4 5 6 7 8 9 u v w x y z AB BB CB DB EB FB YB GB ZB Q HB IB JB KB LB MB NB OB PB QB RB SB TB UB aB bB R S T U V W X Y Z P a H lB mB nB","2":"I b J D E F A B C K L G M N O c d e f g h i j k l m n o p q r s t"},E:{"1":"A B C K L G sB dB VB WB tB uB vB","2":"I b J D E F oB cB pB qB rB"},F:{"1":"0 1 2 3 4 5 6 7 8 9 h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB GB Q HB IB JB KB LB MB NB OB PB QB RB SB TB UB","2":"F B C G M N O c d e f g wB xB yB zB VB eB 0B WB"},G:{"1":"7B 8B 9B AC BC CC DC EC FC GC HC IC JC","2":"E cB 1B fB 2B 3B 4B 5B 6B"},H:{"2":"KC"},I:{"1":"H QC","2":"XB I LC MC NC OC fB PC"},J:{"2":"D A"},K:{"1":"Q","2":"A B C VB eB WB"},L:{"1":"H"},M:{"1":"P"},N:{"2":"A B"},O:{"1":"RC"},P:{"1":"I SC TC UC VC WC dB XC YC ZC aC"},Q:{"1":"bC"},R:{"1":"cC"},S:{"1":"dC"}},B:4,C:"CSS all property"}; diff --git a/tools/node_modules/@babel/core/node_modules/caniuse-lite/data/features/css-animation.js b/tools/node_modules/@babel/core/node_modules/caniuse-lite/data/features/css-animation.js new file mode 100644 index 00000000000000..2797c665b6ca59 --- /dev/null +++ b/tools/node_modules/@babel/core/node_modules/caniuse-lite/data/features/css-animation.js @@ -0,0 +1 @@ +module.exports={A:{A:{"1":"A B","2":"J D E F gB"},B:{"1":"C K L G M N O R S T U V W X Y Z P a H"},C:{"1":"0 1 2 3 4 5 6 7 8 9 M N O c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB YB GB ZB Q HB IB JB KB LB MB NB OB PB QB RB SB TB UB aB bB R S T iB U V W X Y Z P a H","2":"hB XB I jB kB","33":"b J D E F A B C K L G"},D:{"1":"0 1 2 3 4 5 6 7 8 9 AB BB CB DB EB FB YB GB ZB Q HB IB JB KB LB MB NB OB PB QB RB SB TB UB aB bB R S T U V W X Y Z P a H lB mB nB","33":"I b J D E F A B C K L G M N O c d e f g h i j k l m n o p q r s t u v w x y z"},E:{"1":"F A B C K L G sB dB VB WB tB uB vB","2":"oB cB","33":"J D E pB qB rB","292":"I b"},F:{"1":"0 1 2 3 4 5 6 7 8 9 n o p q r s t u v w x y z AB BB CB DB EB FB GB Q HB IB JB KB LB MB NB OB PB QB RB SB TB UB WB","2":"F B wB xB yB zB VB eB 0B","33":"C G M N O c d e f g h i j k l m"},G:{"1":"6B 7B 8B 9B AC BC CC DC EC FC GC HC IC JC","33":"E 3B 4B 5B","164":"cB 1B fB 2B"},H:{"2":"KC"},I:{"1":"H","33":"I OC fB PC QC","164":"XB LC MC NC"},J:{"33":"D A"},K:{"1":"Q WB","2":"A B C VB eB"},L:{"1":"H"},M:{"1":"P"},N:{"1":"A B"},O:{"1":"RC"},P:{"1":"I SC TC UC VC WC dB XC YC ZC aC"},Q:{"33":"bC"},R:{"1":"cC"},S:{"1":"dC"}},B:5,C:"CSS Animation"}; diff --git a/tools/node_modules/@babel/core/node_modules/caniuse-lite/data/features/css-any-link.js b/tools/node_modules/@babel/core/node_modules/caniuse-lite/data/features/css-any-link.js new file mode 100644 index 00000000000000..13680715cb60d6 --- /dev/null +++ b/tools/node_modules/@babel/core/node_modules/caniuse-lite/data/features/css-any-link.js @@ -0,0 +1 @@ +module.exports={A:{A:{"2":"J D E F A B gB"},B:{"1":"R S T U V W X Y Z P a H","2":"C K L G M N O"},C:{"1":"7 8 9 AB BB CB DB EB FB YB GB ZB Q HB IB JB KB LB MB NB OB PB QB RB SB TB UB aB bB R S T iB U V W X Y Z P a H","16":"hB","33":"0 1 2 3 4 5 6 XB I b J D E F A B C K L G M N O c d e f g h i j k l m n o p q r s t u v w x y z jB kB"},D:{"1":"JB KB LB MB NB OB PB QB RB SB TB UB aB bB R S T U V W X Y Z P a H lB mB nB","16":"I b J D E F A B C K L","33":"0 1 2 3 4 5 6 7 8 9 G M N O c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB YB GB ZB Q HB IB"},E:{"1":"F A B C K L G sB dB VB WB tB uB vB","16":"I b J oB cB pB","33":"D E qB rB"},F:{"1":"9 AB BB CB DB EB FB GB Q HB IB JB KB LB MB NB OB PB QB RB SB TB UB","2":"F B C wB xB yB zB VB eB 0B WB","33":"0 1 2 3 4 5 6 7 8 G M N O c d e f g h i j k l m n o p q r s t u v w x y z"},G:{"1":"6B 7B 8B 9B AC BC CC DC EC FC GC HC IC JC","16":"cB 1B fB 2B","33":"E 3B 4B 5B"},H:{"2":"KC"},I:{"1":"H","16":"XB I LC MC NC OC fB","33":"PC QC"},J:{"16":"D A"},K:{"1":"Q","2":"A B C VB eB WB"},L:{"1":"H"},M:{"1":"P"},N:{"2":"A B"},O:{"33":"RC"},P:{"1":"WC dB XC YC ZC aC","16":"I","33":"SC TC UC VC"},Q:{"1":"bC"},R:{"1":"cC"},S:{"33":"dC"}},B:5,C:"CSS :any-link selector"}; diff --git a/tools/node_modules/@babel/core/node_modules/caniuse-lite/data/features/css-appearance.js b/tools/node_modules/@babel/core/node_modules/caniuse-lite/data/features/css-appearance.js new file mode 100644 index 00000000000000..bd2d7484f0d3f0 --- /dev/null +++ b/tools/node_modules/@babel/core/node_modules/caniuse-lite/data/features/css-appearance.js @@ -0,0 +1 @@ +module.exports={A:{A:{"2":"J D E F A B gB"},B:{"1":"V W X Y Z P a H","33":"U","164":"R S T","388":"C K L G M N O"},C:{"1":"S T iB U V W X Y Z P a H","164":"0 1 2 3 4 5 6 7 8 9 s t u v w x y z AB BB CB DB EB FB YB GB ZB Q HB IB JB KB LB MB NB OB PB QB RB SB TB UB aB bB R","676":"hB XB I b J D E F A B C K L G M N O c d e f g h i j k l m n o p q r jB kB"},D:{"1":"V W X Y Z P a H lB mB nB","33":"U","164":"0 1 2 3 4 5 6 7 8 9 I b J D E F A B C K L G M N O c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB YB GB ZB Q HB IB JB KB LB MB NB OB PB QB RB SB TB UB aB bB R S T"},E:{"164":"I b J D E F A B C K L G oB cB pB qB rB sB dB VB WB tB uB vB"},F:{"1":"RB SB TB UB","2":"F B C wB xB yB zB VB eB 0B WB","33":"OB PB QB","164":"0 1 2 3 4 5 6 7 8 9 G M N O c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB GB Q HB IB JB KB LB MB NB"},G:{"164":"E cB 1B fB 2B 3B 4B 5B 6B 7B 8B 9B AC BC CC DC EC FC GC HC IC JC"},H:{"2":"KC"},I:{"1":"H","164":"XB I LC MC NC OC fB PC QC"},J:{"164":"D A"},K:{"2":"A B C VB eB WB","164":"Q"},L:{"1":"H"},M:{"1":"P"},N:{"2":"A","388":"B"},O:{"164":"RC"},P:{"164":"I SC TC UC VC WC dB XC YC ZC aC"},Q:{"164":"bC"},R:{"164":"cC"},S:{"164":"dC"}},B:5,C:"CSS Appearance"}; diff --git a/tools/node_modules/@babel/core/node_modules/caniuse-lite/data/features/css-apply-rule.js b/tools/node_modules/@babel/core/node_modules/caniuse-lite/data/features/css-apply-rule.js new file mode 100644 index 00000000000000..796973079a1405 --- /dev/null +++ b/tools/node_modules/@babel/core/node_modules/caniuse-lite/data/features/css-apply-rule.js @@ -0,0 +1 @@ +module.exports={A:{A:{"2":"J D E F A B gB"},B:{"2":"C K L G M N O","194":"R S T U V W X Y Z P a H"},C:{"2":"0 1 2 3 4 5 6 7 8 9 hB XB I b J D E F A B C K L G M N O c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB YB GB ZB Q HB IB JB KB LB MB NB OB PB QB RB SB TB UB aB bB R S T iB U V W X Y Z P a H jB kB"},D:{"2":"0 1 2 3 4 5 6 7 I b J D E F A B C K L G M N O c d e f g h i j k l m n o p q r s t u v w x y z","194":"8 9 AB BB CB DB EB FB YB GB ZB Q HB IB JB KB LB MB NB OB PB QB RB SB TB UB aB bB R S T U V W X Y Z P a H lB mB nB"},E:{"2":"I b J D E F A B C K L G oB cB pB qB rB sB dB VB WB tB uB vB"},F:{"2":"F B C G M N O c d e f g h i j k l m n o p q r s t u wB xB yB zB VB eB 0B WB","194":"0 1 2 3 4 5 6 7 8 9 v w x y z AB BB CB DB EB FB GB Q HB IB JB KB LB MB NB OB PB QB RB SB TB UB"},G:{"2":"E cB 1B fB 2B 3B 4B 5B 6B 7B 8B 9B AC BC CC DC EC FC GC HC IC JC"},H:{"2":"KC"},I:{"2":"XB I H LC MC NC OC fB PC QC"},J:{"2":"D A"},K:{"2":"A B C VB eB WB","194":"Q"},L:{"194":"H"},M:{"2":"P"},N:{"2":"A B"},O:{"2":"RC"},P:{"2":"I","194":"SC TC UC VC WC dB XC YC ZC aC"},Q:{"2":"bC"},R:{"194":"cC"},S:{"2":"dC"}},B:7,C:"CSS @apply rule"}; diff --git a/tools/node_modules/@babel/core/node_modules/caniuse-lite/data/features/css-at-counter-style.js b/tools/node_modules/@babel/core/node_modules/caniuse-lite/data/features/css-at-counter-style.js new file mode 100644 index 00000000000000..7dcce012227c6d --- /dev/null +++ b/tools/node_modules/@babel/core/node_modules/caniuse-lite/data/features/css-at-counter-style.js @@ -0,0 +1 @@ +module.exports={A:{A:{"2":"J D E F A B gB"},B:{"2":"C K L G M N O R S T U V W X Y Z P a","132":"H"},C:{"2":"hB XB I b J D E F A B C K L G M N O c d e f g h i j k l m n o p jB kB","132":"0 1 2 3 4 5 6 7 8 9 q r s t u v w x y z AB BB CB DB EB FB YB GB ZB Q HB IB JB KB LB MB NB OB PB QB RB SB TB UB aB bB R S T iB U V W X Y Z P a H"},D:{"2":"0 1 2 3 4 5 6 7 8 9 I b J D E F A B C K L G M N O c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB YB GB ZB Q HB IB JB KB LB MB NB OB PB QB RB SB TB UB aB bB R S T U V W X Y Z P a","132":"H lB mB nB"},E:{"2":"I b J D E F A B C K L G oB cB pB qB rB sB dB VB WB tB uB vB"},F:{"2":"0 1 2 3 4 5 6 7 8 9 F B C G M N O c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB GB Q HB IB JB KB LB MB NB OB PB QB RB SB TB UB wB xB yB zB VB eB 0B WB"},G:{"2":"E cB 1B fB 2B 3B 4B 5B 6B 7B 8B 9B AC BC CC DC EC FC GC HC IC JC"},H:{"2":"KC"},I:{"2":"XB I LC MC NC OC fB PC QC","132":"H"},J:{"2":"D A"},K:{"2":"A B C Q VB eB WB"},L:{"132":"H"},M:{"132":"P"},N:{"2":"A B"},O:{"2":"RC"},P:{"2":"I SC TC UC VC WC dB XC YC ZC aC"},Q:{"2":"bC"},R:{"2":"cC"},S:{"132":"dC"}},B:4,C:"CSS Counter Styles"}; diff --git a/tools/node_modules/@babel/core/node_modules/caniuse-lite/data/features/css-backdrop-filter.js b/tools/node_modules/@babel/core/node_modules/caniuse-lite/data/features/css-backdrop-filter.js new file mode 100644 index 00000000000000..590f80f1385384 --- /dev/null +++ b/tools/node_modules/@babel/core/node_modules/caniuse-lite/data/features/css-backdrop-filter.js @@ -0,0 +1 @@ +module.exports={A:{A:{"2":"J D E F A B gB"},B:{"1":"R S T U V W X Y Z P a H","2":"C K L G M","257":"N O"},C:{"2":"0 1 2 3 4 5 6 7 8 9 hB XB I b J D E F A B C K L G M N O c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB YB GB ZB Q HB IB JB KB LB MB NB jB kB","578":"OB PB QB RB SB TB UB aB bB R S T iB U V W X Y Z P a H"},D:{"1":"UB aB bB R S T U V W X Y Z P a H lB mB nB","2":"0 1 2 3 I b J D E F A B C K L G M N O c d e f g h i j k l m n o p q r s t u v w x y z","194":"4 5 6 7 8 9 AB BB CB DB EB FB YB GB ZB Q HB IB JB KB LB MB NB OB PB QB RB SB TB"},E:{"2":"I b J D E oB cB pB qB rB","33":"F A B C K L G sB dB VB WB tB uB vB"},F:{"1":"IB JB KB LB MB NB OB PB QB RB SB TB UB","2":"F B C G M N O c d e f g h i j k l m n o p q wB xB yB zB VB eB 0B WB","194":"0 1 2 3 4 5 6 7 8 9 r s t u v w x y z AB BB CB DB EB FB GB Q HB"},G:{"2":"E cB 1B fB 2B 3B 4B 5B","33":"6B 7B 8B 9B AC BC CC DC EC FC GC HC IC JC"},H:{"2":"KC"},I:{"1":"H","2":"XB I LC MC NC OC fB PC QC"},J:{"2":"D A"},K:{"1":"Q","2":"A B C VB eB WB"},L:{"1":"H"},M:{"578":"P"},N:{"2":"A B"},O:{"2":"RC"},P:{"1":"YC ZC aC","2":"I","194":"SC TC UC VC WC dB XC"},Q:{"194":"bC"},R:{"194":"cC"},S:{"2":"dC"}},B:7,C:"CSS Backdrop Filter"}; diff --git a/tools/node_modules/@babel/core/node_modules/caniuse-lite/data/features/css-background-offsets.js b/tools/node_modules/@babel/core/node_modules/caniuse-lite/data/features/css-background-offsets.js new file mode 100644 index 00000000000000..875e245eb96d53 --- /dev/null +++ b/tools/node_modules/@babel/core/node_modules/caniuse-lite/data/features/css-background-offsets.js @@ -0,0 +1 @@ +module.exports={A:{A:{"1":"F A B","2":"J D E gB"},B:{"1":"C K L G M N O R S T U V W X Y Z P a H"},C:{"1":"0 1 2 3 4 5 6 7 8 9 K L G M N O c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB YB GB ZB Q HB IB JB KB LB MB NB OB PB QB RB SB TB UB aB bB R S T iB U V W X Y Z P a H","2":"hB XB I b J D E F A B C jB kB"},D:{"1":"0 1 2 3 4 5 6 7 8 9 i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB YB GB ZB Q HB IB JB KB LB MB NB OB PB QB RB SB TB UB aB bB R S T U V W X Y Z P a H lB mB nB","2":"I b J D E F A B C K L G M N O c d e f g h"},E:{"1":"D E F A B C K L G rB sB dB VB WB tB uB vB","2":"I b J oB cB pB qB"},F:{"1":"0 1 2 3 4 5 6 7 8 9 B C G M N O c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB GB Q HB IB JB KB LB MB NB OB PB QB RB SB TB UB yB zB VB eB 0B WB","2":"F wB xB"},G:{"1":"E 4B 5B 6B 7B 8B 9B AC BC CC DC EC FC GC HC IC JC","2":"cB 1B fB 2B 3B"},H:{"1":"KC"},I:{"1":"H PC QC","2":"XB I LC MC NC OC fB"},J:{"1":"A","2":"D"},K:{"1":"B C Q VB eB WB","2":"A"},L:{"1":"H"},M:{"1":"P"},N:{"1":"A B"},O:{"1":"RC"},P:{"1":"I SC TC UC VC WC dB XC YC ZC aC"},Q:{"1":"bC"},R:{"1":"cC"},S:{"1":"dC"}},B:4,C:"CSS background-position edge offsets"}; diff --git a/tools/node_modules/@babel/core/node_modules/caniuse-lite/data/features/css-backgroundblendmode.js b/tools/node_modules/@babel/core/node_modules/caniuse-lite/data/features/css-backgroundblendmode.js new file mode 100644 index 00000000000000..153c772fcd0a7b --- /dev/null +++ b/tools/node_modules/@babel/core/node_modules/caniuse-lite/data/features/css-backgroundblendmode.js @@ -0,0 +1 @@ +module.exports={A:{A:{"2":"J D E F A B gB"},B:{"1":"R S T U V W X Y Z P a H","2":"C K L G M N O"},C:{"1":"0 1 2 3 4 5 6 7 8 9 n o p q r s t u v w x y z AB BB CB DB EB FB YB GB ZB Q HB IB JB KB LB MB NB OB PB QB RB SB TB UB aB bB R S T iB U V W X Y Z P a H","2":"hB XB I b J D E F A B C K L G M N O c d e f g h i j k l m jB kB"},D:{"1":"0 1 2 4 5 6 7 8 9 s t u v w x y z AB BB CB DB EB FB YB GB ZB Q HB IB JB KB LB MB NB OB PB QB RB SB TB UB aB bB R S T U V W X Y Z P a H lB mB nB","2":"I b J D E F A B C K L G M N O c d e f g h i j k l m n o p q r","260":"3"},E:{"1":"B C K L G dB VB WB tB uB vB","2":"I b J D oB cB pB qB","132":"E F A rB sB"},F:{"1":"0 1 2 3 4 5 6 7 8 9 f g h i j k l m n o p r s t u v w x y z AB BB CB DB EB FB GB Q HB IB JB KB LB MB NB OB PB QB RB SB TB UB","2":"F B C G M N O c d e wB xB yB zB VB eB 0B WB","260":"q"},G:{"1":"9B AC BC CC DC EC FC GC HC IC JC","2":"cB 1B fB 2B 3B 4B","132":"E 5B 6B 7B 8B"},H:{"2":"KC"},I:{"1":"H","2":"XB I LC MC NC OC fB PC QC"},J:{"2":"D A"},K:{"1":"Q","2":"A B C VB eB WB"},L:{"1":"H"},M:{"1":"P"},N:{"2":"A B"},O:{"1":"RC"},P:{"1":"I SC TC UC VC WC dB XC YC ZC aC"},Q:{"1":"bC"},R:{"1":"cC"},S:{"1":"dC"}},B:4,C:"CSS background-blend-mode"}; diff --git a/tools/node_modules/@babel/core/node_modules/caniuse-lite/data/features/css-boxdecorationbreak.js b/tools/node_modules/@babel/core/node_modules/caniuse-lite/data/features/css-boxdecorationbreak.js new file mode 100644 index 00000000000000..cad1c6d6124da7 --- /dev/null +++ b/tools/node_modules/@babel/core/node_modules/caniuse-lite/data/features/css-boxdecorationbreak.js @@ -0,0 +1 @@ +module.exports={A:{A:{"2":"J D E F A B gB"},B:{"2":"C K L G M N O","164":"R S T U V W X Y Z P a H"},C:{"1":"0 1 2 3 4 5 6 7 8 9 p q r s t u v w x y z AB BB CB DB EB FB YB GB ZB Q HB IB JB KB LB MB NB OB PB QB RB SB TB UB aB bB R S T iB U V W X Y Z P a H","2":"hB XB I b J D E F A B C K L G M N O c d e f g h i j k l m n o jB kB"},D:{"2":"I b J D E F A B C K L G M N O c d e","164":"0 1 2 3 4 5 6 7 8 9 f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB YB GB ZB Q HB IB JB KB LB MB NB OB PB QB RB SB TB UB aB bB R S T U V W X Y Z P a H lB mB nB"},E:{"2":"I b J oB cB pB","164":"D E F A B C K L G qB rB sB dB VB WB tB uB vB"},F:{"2":"F wB xB yB zB","129":"B C VB eB 0B WB","164":"0 1 2 3 4 5 6 7 8 9 G M N O c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB GB Q HB IB JB KB LB MB NB OB PB QB RB SB TB UB"},G:{"2":"cB 1B fB 2B 3B","164":"E 4B 5B 6B 7B 8B 9B AC BC CC DC EC FC GC HC IC JC"},H:{"132":"KC"},I:{"2":"XB I LC MC NC OC fB","164":"H PC QC"},J:{"2":"D","164":"A"},K:{"2":"A","129":"B C VB eB WB","164":"Q"},L:{"164":"H"},M:{"1":"P"},N:{"2":"A B"},O:{"1":"RC"},P:{"164":"I SC TC UC VC WC dB XC YC ZC aC"},Q:{"164":"bC"},R:{"164":"cC"},S:{"1":"dC"}},B:5,C:"CSS box-decoration-break"}; diff --git a/tools/node_modules/@babel/core/node_modules/caniuse-lite/data/features/css-boxshadow.js b/tools/node_modules/@babel/core/node_modules/caniuse-lite/data/features/css-boxshadow.js new file mode 100644 index 00000000000000..fc5689860eb563 --- /dev/null +++ b/tools/node_modules/@babel/core/node_modules/caniuse-lite/data/features/css-boxshadow.js @@ -0,0 +1 @@ +module.exports={A:{A:{"1":"F A B","2":"J D E gB"},B:{"1":"C K L G M N O R S T U V W X Y Z P a H"},C:{"1":"0 1 2 3 4 5 6 7 8 9 I b J D E F A B C K L G M N O c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB YB GB ZB Q HB IB JB KB LB MB NB OB PB QB RB SB TB UB aB bB R S T iB U V W X Y Z P a H","2":"hB XB","33":"jB kB"},D:{"1":"0 1 2 3 4 5 6 7 8 9 A B C K L G M N O c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB YB GB ZB Q HB IB JB KB LB MB NB OB PB QB RB SB TB UB aB bB R S T U V W X Y Z P a H lB mB nB","33":"I b J D E F"},E:{"1":"J D E F A B C K L G pB qB rB sB dB VB WB tB uB vB","33":"b","164":"I oB cB"},F:{"1":"0 1 2 3 4 5 6 7 8 9 B C G M N O c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB GB Q HB IB JB KB LB MB NB OB PB QB RB SB TB UB yB zB VB eB 0B WB","2":"F wB xB"},G:{"1":"E 2B 3B 4B 5B 6B 7B 8B 9B AC BC CC DC EC FC GC HC IC JC","33":"1B fB","164":"cB"},H:{"2":"KC"},I:{"1":"I H OC fB PC QC","164":"XB LC MC NC"},J:{"1":"A","33":"D"},K:{"1":"B C Q VB eB WB","2":"A"},L:{"1":"H"},M:{"1":"P"},N:{"1":"A B"},O:{"1":"RC"},P:{"1":"I SC TC UC VC WC dB XC YC ZC aC"},Q:{"1":"bC"},R:{"1":"cC"},S:{"1":"dC"}},B:4,C:"CSS3 Box-shadow"}; diff --git a/tools/node_modules/@babel/core/node_modules/caniuse-lite/data/features/css-canvas.js b/tools/node_modules/@babel/core/node_modules/caniuse-lite/data/features/css-canvas.js new file mode 100644 index 00000000000000..f3257e2c885391 --- /dev/null +++ b/tools/node_modules/@babel/core/node_modules/caniuse-lite/data/features/css-canvas.js @@ -0,0 +1 @@ +module.exports={A:{A:{"2":"J D E F A B gB"},B:{"2":"C K L G M N O R S T U V W X Y Z P a H"},C:{"2":"0 1 2 3 4 5 6 7 8 9 hB XB I b J D E F A B C K L G M N O c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB YB GB ZB Q HB IB JB KB LB MB NB OB PB QB RB SB TB UB aB bB R S T iB U V W X Y Z P a H jB kB"},D:{"2":"5 6 7 8 9 AB BB CB DB EB FB YB GB ZB Q HB IB JB KB LB MB NB OB PB QB RB SB TB UB aB bB R S T U V W X Y Z P a H lB mB nB","33":"0 1 2 3 4 I b J D E F A B C K L G M N O c d e f g h i j k l m n o p q r s t u v w x y z"},E:{"2":"oB cB","33":"I b J D E F A B C K L G pB qB rB sB dB VB WB tB uB vB"},F:{"2":"0 1 2 3 4 5 6 7 8 9 F B C s t u v w x y z AB BB CB DB EB FB GB Q HB IB JB KB LB MB NB OB PB QB RB SB TB UB wB xB yB zB VB eB 0B WB","33":"G M N O c d e f g h i j k l m n o p q r"},G:{"33":"E cB 1B fB 2B 3B 4B 5B 6B 7B 8B 9B AC BC CC DC EC FC GC HC IC JC"},H:{"2":"KC"},I:{"2":"H","33":"XB I LC MC NC OC fB PC QC"},J:{"33":"D A"},K:{"2":"A B C Q VB eB WB"},L:{"2":"H"},M:{"2":"P"},N:{"2":"A B"},O:{"2":"RC"},P:{"2":"SC TC UC VC WC dB XC YC ZC aC","33":"I"},Q:{"2":"bC"},R:{"2":"cC"},S:{"2":"dC"}},B:7,C:"CSS Canvas Drawings"}; diff --git a/tools/node_modules/@babel/core/node_modules/caniuse-lite/data/features/css-caret-color.js b/tools/node_modules/@babel/core/node_modules/caniuse-lite/data/features/css-caret-color.js new file mode 100644 index 00000000000000..b605aab39dbbff --- /dev/null +++ b/tools/node_modules/@babel/core/node_modules/caniuse-lite/data/features/css-caret-color.js @@ -0,0 +1 @@ +module.exports={A:{A:{"2":"J D E F A B gB"},B:{"1":"R S T U V W X Y Z P a H","2":"C K L G M N O"},C:{"1":"AB BB CB DB EB FB YB GB ZB Q HB IB JB KB LB MB NB OB PB QB RB SB TB UB aB bB R S T iB U V W X Y Z P a H","2":"0 1 2 3 4 5 6 7 8 9 hB XB I b J D E F A B C K L G M N O c d e f g h i j k l m n o p q r s t u v w x y z jB kB"},D:{"1":"EB FB YB GB ZB Q HB IB JB KB LB MB NB OB PB QB RB SB TB UB aB bB R S T U V W X Y Z P a H lB mB nB","2":"0 1 2 3 4 5 6 7 8 9 I b J D E F A B C K L G M N O c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB"},E:{"1":"C K L G VB WB tB uB vB","2":"I b J D E F A B oB cB pB qB rB sB dB"},F:{"1":"1 2 3 4 5 6 7 8 9 AB BB CB DB EB FB GB Q HB IB JB KB LB MB NB OB PB QB RB SB TB UB","2":"0 F B C G M N O c d e f g h i j k l m n o p q r s t u v w x y z wB xB yB zB VB eB 0B WB"},G:{"1":"BC CC DC EC FC GC HC IC JC","2":"E cB 1B fB 2B 3B 4B 5B 6B 7B 8B 9B AC"},H:{"2":"KC"},I:{"1":"H","2":"XB I LC MC NC OC fB PC QC"},J:{"2":"D A"},K:{"1":"Q","2":"A B C VB eB WB"},L:{"1":"H"},M:{"1":"P"},N:{"2":"A B"},O:{"1":"RC"},P:{"1":"UC VC WC dB XC YC ZC aC","2":"I SC TC"},Q:{"1":"bC"},R:{"2":"cC"},S:{"2":"dC"}},B:4,C:"CSS caret-color"}; diff --git a/tools/node_modules/@babel/core/node_modules/caniuse-lite/data/features/css-case-insensitive.js b/tools/node_modules/@babel/core/node_modules/caniuse-lite/data/features/css-case-insensitive.js new file mode 100644 index 00000000000000..8db371b00c3a85 --- /dev/null +++ b/tools/node_modules/@babel/core/node_modules/caniuse-lite/data/features/css-case-insensitive.js @@ -0,0 +1 @@ +module.exports={A:{A:{"2":"J D E F A B gB"},B:{"1":"R S T U V W X Y Z P a H","2":"C K L G M N O"},C:{"1":"4 5 6 7 8 9 AB BB CB DB EB FB YB GB ZB Q HB IB JB KB LB MB NB OB PB QB RB SB TB UB aB bB R S T iB U V W X Y Z P a H","2":"0 1 2 3 hB XB I b J D E F A B C K L G M N O c d e f g h i j k l m n o p q r s t u v w x y z jB kB"},D:{"1":"6 7 8 9 AB BB CB DB EB FB YB GB ZB Q HB IB JB KB LB MB NB OB PB QB RB SB TB UB aB bB R S T U V W X Y Z P a H lB mB nB","2":"0 1 2 3 4 5 I b J D E F A B C K L G M N O c d e f g h i j k l m n o p q r s t u v w x y z"},E:{"1":"F A B C K L G sB dB VB WB tB uB vB","2":"I b J D E oB cB pB qB rB"},F:{"1":"0 1 2 3 4 5 6 7 8 9 t u v w x y z AB BB CB DB EB FB GB Q HB IB JB KB LB MB NB OB PB QB RB SB TB UB","2":"F B C G M N O c d e f g h i j k l m n o p q r s wB xB yB zB VB eB 0B WB"},G:{"1":"6B 7B 8B 9B AC BC CC DC EC FC GC HC IC JC","2":"E cB 1B fB 2B 3B 4B 5B"},H:{"2":"KC"},I:{"1":"H","2":"XB I LC MC NC OC fB PC QC"},J:{"2":"D A"},K:{"1":"Q","2":"A B C VB eB WB"},L:{"1":"H"},M:{"1":"P"},N:{"2":"A B"},O:{"1":"RC"},P:{"1":"SC TC UC VC WC dB XC YC ZC aC","2":"I"},Q:{"1":"bC"},R:{"2":"cC"},S:{"1":"dC"}},B:5,C:"Case-insensitive CSS attribute selectors"}; diff --git a/tools/node_modules/@babel/core/node_modules/caniuse-lite/data/features/css-clip-path.js b/tools/node_modules/@babel/core/node_modules/caniuse-lite/data/features/css-clip-path.js new file mode 100644 index 00000000000000..a230c38ddbaead --- /dev/null +++ b/tools/node_modules/@babel/core/node_modules/caniuse-lite/data/features/css-clip-path.js @@ -0,0 +1 @@ +module.exports={A:{A:{"2":"J D E F A B gB"},B:{"2":"C K L G M N","260":"R S T U V W X Y Z P a H","3138":"O"},C:{"1":"BB CB DB EB FB YB GB ZB Q HB IB JB KB LB MB NB OB PB QB RB SB TB UB aB bB R S T iB U V W X Y Z P a H","2":"hB XB","132":"0 1 2 3 I b J D E F A B C K L G M N O c d e f g h i j k l m n o p q r s t u v w x y z jB kB","644":"4 5 6 7 8 9 AB"},D:{"2":"I b J D E F A B C K L G M N O c d e f g","260":"CB DB EB FB YB GB ZB Q HB IB JB KB LB MB NB OB PB QB RB SB TB UB aB bB R S T U V W X Y Z P a H lB mB nB","292":"0 1 2 3 4 5 6 7 8 9 h i j k l m n o p q r s t u v w x y z AB BB"},E:{"2":"I b J oB cB pB qB","292":"D E F A B C K L G rB sB dB VB WB tB uB vB"},F:{"2":"F B C wB xB yB zB VB eB 0B WB","260":"0 1 2 3 4 5 6 7 8 9 z AB BB CB DB EB FB GB Q HB IB JB KB LB MB NB OB PB QB RB SB TB UB","292":"G M N O c d e f g h i j k l m n o p q r s t u v w x y"},G:{"2":"cB 1B fB 2B 3B","292":"E 4B 5B 6B 7B 8B 9B AC BC CC DC EC FC GC HC IC JC"},H:{"2":"KC"},I:{"2":"XB I LC MC NC OC fB","260":"H","292":"PC QC"},J:{"2":"D A"},K:{"2":"A B C VB eB WB","260":"Q"},L:{"260":"H"},M:{"1":"P"},N:{"2":"A B"},O:{"292":"RC"},P:{"292":"I SC TC UC VC WC dB XC YC ZC aC"},Q:{"292":"bC"},R:{"260":"cC"},S:{"644":"dC"}},B:4,C:"CSS clip-path property (for HTML)"}; diff --git a/tools/node_modules/@babel/core/node_modules/caniuse-lite/data/features/css-color-adjust.js b/tools/node_modules/@babel/core/node_modules/caniuse-lite/data/features/css-color-adjust.js new file mode 100644 index 00000000000000..653552ace2d443 --- /dev/null +++ b/tools/node_modules/@babel/core/node_modules/caniuse-lite/data/features/css-color-adjust.js @@ -0,0 +1 @@ +module.exports={A:{A:{"2":"J D E F A B gB"},B:{"2":"C K L G M N O","33":"R S T U V W X Y Z P a H"},C:{"1":"5 6 7 8 9 AB BB CB DB EB FB YB GB ZB Q HB IB JB KB LB MB NB OB PB QB RB SB TB UB aB bB R S T iB U V W X Y Z P a H","2":"0 1 2 3 4 hB XB I b J D E F A B C K L G M N O c d e f g h i j k l m n o p q r s t u v w x y z jB kB"},D:{"16":"I b J D E F A B C K L G M N O","33":"0 1 2 3 4 5 6 7 8 9 c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB YB GB ZB Q HB IB JB KB LB MB NB OB PB QB RB SB TB UB aB bB R S T U V W X Y Z P a H lB mB nB"},E:{"2":"I b oB cB pB","33":"J D E F A B C K L G qB rB sB dB VB WB tB uB vB"},F:{"2":"F B C wB xB yB zB VB eB 0B WB","33":"0 1 2 3 4 5 6 7 8 9 G M N O c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB GB Q HB IB JB KB LB MB NB OB PB QB RB SB TB UB"},G:{"16":"E cB 1B fB 2B 3B 4B 5B 6B 7B 8B 9B AC BC CC DC EC FC GC HC IC JC"},H:{"2":"KC"},I:{"16":"XB I LC MC NC OC fB PC QC","33":"H"},J:{"16":"D A"},K:{"2":"A B C Q VB eB WB"},L:{"16":"H"},M:{"1":"P"},N:{"16":"A B"},O:{"16":"RC"},P:{"16":"I SC TC UC VC WC dB XC YC ZC aC"},Q:{"33":"bC"},R:{"16":"cC"},S:{"1":"dC"}},B:5,C:"CSS color-adjust"}; diff --git a/tools/node_modules/@babel/core/node_modules/caniuse-lite/data/features/css-color-function.js b/tools/node_modules/@babel/core/node_modules/caniuse-lite/data/features/css-color-function.js new file mode 100644 index 00000000000000..a13a441cb0d692 --- /dev/null +++ b/tools/node_modules/@babel/core/node_modules/caniuse-lite/data/features/css-color-function.js @@ -0,0 +1 @@ +module.exports={A:{A:{"2":"J D E F A B gB"},B:{"2":"C K L G M N O R S T U V W X Y Z P a H"},C:{"2":"0 1 2 3 4 5 6 7 8 9 hB XB I b J D E F A B C K L G M N O c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB YB GB ZB Q HB IB JB KB LB MB NB OB PB QB RB SB TB UB aB bB R S T iB U V W X Y Z P a H jB kB"},D:{"2":"0 1 2 3 4 5 6 7 8 9 I b J D E F A B C K L G M N O c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB YB GB ZB Q HB IB JB KB LB MB NB OB PB QB RB SB TB UB aB bB R S T U V W X Y Z P a H lB mB nB"},E:{"1":"B C K L G dB VB WB tB uB vB","2":"I b J D E F A oB cB pB qB rB sB"},F:{"2":"0 1 2 3 4 5 6 7 8 9 F B C G M N O c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB GB Q HB IB JB KB LB MB NB OB PB QB RB SB TB UB wB xB yB zB VB eB 0B WB"},G:{"1":"9B AC BC CC DC EC FC GC HC IC JC","2":"E cB 1B fB 2B 3B 4B 5B 6B 7B 8B"},H:{"2":"KC"},I:{"2":"XB I H LC MC NC OC fB PC QC"},J:{"2":"D A"},K:{"2":"A B C Q VB eB WB"},L:{"2":"H"},M:{"2":"P"},N:{"2":"A B"},O:{"2":"RC"},P:{"2":"I SC TC UC VC WC dB XC YC ZC aC"},Q:{"2":"bC"},R:{"2":"cC"},S:{"2":"dC"}},B:5,C:"CSS color() function"}; diff --git a/tools/node_modules/@babel/core/node_modules/caniuse-lite/data/features/css-conic-gradients.js b/tools/node_modules/@babel/core/node_modules/caniuse-lite/data/features/css-conic-gradients.js new file mode 100644 index 00000000000000..c581c691525fa2 --- /dev/null +++ b/tools/node_modules/@babel/core/node_modules/caniuse-lite/data/features/css-conic-gradients.js @@ -0,0 +1 @@ +module.exports={A:{A:{"2":"J D E F A B gB"},B:{"1":"R S T U V W X Y Z P a H","2":"C K L G M N O"},C:{"1":"U V W X Y Z P a H","2":"0 1 2 3 4 5 6 7 8 9 hB XB I b J D E F A B C K L G M N O c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB YB GB ZB Q HB IB JB KB LB MB NB OB PB QB RB SB jB kB","578":"TB UB aB bB R S T iB"},D:{"1":"NB OB PB QB RB SB TB UB aB bB R S T U V W X Y Z P a H lB mB nB","2":"0 1 2 3 4 5 6 7 8 9 I b J D E F A B C K L G M N O c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB","194":"YB GB ZB Q HB IB JB KB LB MB"},E:{"1":"K L G WB tB uB vB","2":"I b J D E F A B C oB cB pB qB rB sB dB VB"},F:{"1":"IB JB KB LB MB NB OB PB QB RB SB TB UB","2":"0 1 2 F B C G M N O c d e f g h i j k l m n o p q r s t u v w x y z wB xB yB zB VB eB 0B WB","194":"3 4 5 6 7 8 9 AB BB CB DB EB FB GB Q HB"},G:{"1":"DC EC FC GC HC IC JC","2":"E cB 1B fB 2B 3B 4B 5B 6B 7B 8B 9B AC BC CC"},H:{"2":"KC"},I:{"1":"H","2":"XB I LC MC NC OC fB PC QC"},J:{"2":"D A"},K:{"1":"Q","2":"A B C VB eB WB"},L:{"1":"H"},M:{"1":"P"},N:{"2":"A B"},O:{"2":"RC"},P:{"1":"dB XC YC ZC aC","2":"I SC TC UC VC WC"},Q:{"2":"bC"},R:{"2":"cC"},S:{"2":"dC"}},B:5,C:"CSS Conical Gradients"}; diff --git a/tools/node_modules/@babel/core/node_modules/caniuse-lite/data/features/css-container-queries.js b/tools/node_modules/@babel/core/node_modules/caniuse-lite/data/features/css-container-queries.js new file mode 100644 index 00000000000000..9280b4fb27af86 --- /dev/null +++ b/tools/node_modules/@babel/core/node_modules/caniuse-lite/data/features/css-container-queries.js @@ -0,0 +1 @@ +module.exports={A:{A:{"2":"J D E F A B gB"},B:{"2":"C K L G M N O R S T U V W X Y Z P a H"},C:{"2":"0 1 2 3 4 5 6 7 8 9 hB XB I b J D E F A B C K L G M N O c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB YB GB ZB Q HB IB JB KB LB MB NB OB PB QB RB SB TB UB aB bB R S T iB U V W X Y Z P a H jB kB"},D:{"2":"0 1 2 3 4 5 6 7 8 9 I b J D E F A B C K L G M N O c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB YB GB ZB Q HB IB JB KB LB MB NB OB PB QB RB SB TB UB aB bB R S T U V W X Y Z P a H","194":"lB mB nB"},E:{"2":"I b J D E F A B C K L G oB cB pB qB rB sB dB VB WB tB uB vB"},F:{"2":"0 1 2 3 4 5 6 7 8 9 F B C G M N O c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB GB Q HB IB JB KB LB MB NB OB PB QB RB SB TB UB wB xB yB zB VB eB 0B WB"},G:{"2":"E cB 1B fB 2B 3B 4B 5B 6B 7B 8B 9B AC BC CC DC EC FC GC HC IC JC"},H:{"2":"KC"},I:{"2":"XB I H LC MC NC OC fB PC QC"},J:{"2":"D A"},K:{"2":"A B C Q VB eB WB"},L:{"2":"H"},M:{"2":"P"},N:{"2":"A B"},O:{"2":"RC"},P:{"2":"I SC TC UC VC WC dB XC YC ZC aC"},Q:{"2":"bC"},R:{"2":"cC"},S:{"2":"dC"}},B:7,C:"CSS Container Queries"}; diff --git a/tools/node_modules/@babel/core/node_modules/caniuse-lite/data/features/css-containment.js b/tools/node_modules/@babel/core/node_modules/caniuse-lite/data/features/css-containment.js new file mode 100644 index 00000000000000..3fca45b98d84c9 --- /dev/null +++ b/tools/node_modules/@babel/core/node_modules/caniuse-lite/data/features/css-containment.js @@ -0,0 +1 @@ +module.exports={A:{A:{"2":"J D E F A B gB"},B:{"1":"R S T U V W X Y Z P a H","2":"C K L G M N O"},C:{"1":"NB OB PB QB RB SB TB UB aB bB R S T iB U V W X Y Z P a H","2":"hB XB I b J D E F A B C K L G M N O c d e f g h i j k l m n o p q r s t u v w x jB kB","194":"0 1 2 3 4 5 6 7 8 9 y z AB BB CB DB EB FB YB GB ZB Q HB IB JB KB LB MB"},D:{"1":"9 AB BB CB DB EB FB YB GB ZB Q HB IB JB KB LB MB NB OB PB QB RB SB TB UB aB bB R S T U V W X Y Z P a H lB mB nB","2":"0 1 2 3 4 5 6 7 I b J D E F A B C K L G M N O c d e f g h i j k l m n o p q r s t u v w x y z","66":"8"},E:{"2":"I b J D E F A B C K L G oB cB pB qB rB sB dB VB WB tB uB vB"},F:{"1":"0 1 2 3 4 5 6 7 8 9 x y z AB BB CB DB EB FB GB Q HB IB JB KB LB MB NB OB PB QB RB SB TB UB","2":"F B C G M N O c d e f g h i j k l m n o p q r s t u wB xB yB zB VB eB 0B WB","66":"v w"},G:{"2":"E cB 1B fB 2B 3B 4B 5B 6B 7B 8B 9B AC BC CC DC EC FC GC HC IC JC"},H:{"2":"KC"},I:{"1":"H","2":"XB I LC MC NC OC fB PC QC"},J:{"2":"D A"},K:{"1":"Q","2":"A B C VB eB WB"},L:{"1":"H"},M:{"1":"P"},N:{"2":"A B"},O:{"1":"RC"},P:{"1":"TC UC VC WC dB XC YC ZC aC","2":"I SC"},Q:{"1":"bC"},R:{"2":"cC"},S:{"194":"dC"}},B:2,C:"CSS Containment"}; diff --git a/tools/node_modules/@babel/core/node_modules/caniuse-lite/data/features/css-content-visibility.js b/tools/node_modules/@babel/core/node_modules/caniuse-lite/data/features/css-content-visibility.js new file mode 100644 index 00000000000000..2b5df19d65d7d4 --- /dev/null +++ b/tools/node_modules/@babel/core/node_modules/caniuse-lite/data/features/css-content-visibility.js @@ -0,0 +1 @@ +module.exports={A:{A:{"2":"J D E F A B gB"},B:{"1":"W X Y Z P a H","2":"C K L G M N O R S T U V"},C:{"2":"0 1 2 3 4 5 6 7 8 9 hB XB I b J D E F A B C K L G M N O c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB YB GB ZB Q HB IB JB KB LB MB NB OB PB QB RB SB TB UB aB bB R S T iB U V W X Y Z P a H jB kB"},D:{"1":"W X Y Z P a H lB mB nB","2":"0 1 2 3 4 5 6 7 8 9 I b J D E F A B C K L G M N O c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB YB GB ZB Q HB IB JB KB LB MB NB OB PB QB RB SB TB UB aB bB R S T U V"},E:{"2":"I b J D E F A B C K L oB cB pB qB rB sB dB VB WB tB uB vB","16":"G"},F:{"1":"PB QB RB SB TB UB","2":"0 1 2 3 4 5 6 7 8 9 F B C G M N O c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB GB Q HB IB JB KB LB MB NB OB wB xB yB zB VB eB 0B WB"},G:{"2":"E cB 1B fB 2B 3B 4B 5B 6B 7B 8B 9B AC BC CC DC EC FC GC HC IC JC"},H:{"2":"KC"},I:{"1":"H","2":"XB I LC MC NC OC fB PC QC"},J:{"2":"D A"},K:{"2":"A B C Q VB eB WB"},L:{"1":"H"},M:{"2":"P"},N:{"2":"A B"},O:{"2":"RC"},P:{"1":"aC","2":"I SC TC UC VC WC dB XC YC ZC"},Q:{"2":"bC"},R:{"2":"cC"},S:{"2":"dC"}},B:5,C:"CSS content-visibility"}; diff --git a/tools/node_modules/@babel/core/node_modules/caniuse-lite/data/features/css-counters.js b/tools/node_modules/@babel/core/node_modules/caniuse-lite/data/features/css-counters.js new file mode 100644 index 00000000000000..e8f562296df89f --- /dev/null +++ b/tools/node_modules/@babel/core/node_modules/caniuse-lite/data/features/css-counters.js @@ -0,0 +1 @@ +module.exports={A:{A:{"1":"E F A B","2":"J D gB"},B:{"1":"C K L G M N O R S T U V W X Y Z P a H"},C:{"1":"0 1 2 3 4 5 6 7 8 9 hB XB I b J D E F A B C K L G M N O c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB YB GB ZB Q HB IB JB KB LB MB NB OB PB QB RB SB TB UB aB bB R S T iB U V W X Y Z P a H jB kB"},D:{"1":"0 1 2 3 4 5 6 7 8 9 I b J D E F A B C K L G M N O c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB YB GB ZB Q HB IB JB KB LB MB NB OB PB QB RB SB TB UB aB bB R S T U V W X Y Z P a H lB mB nB"},E:{"1":"I b J D E F A B C K L G oB cB pB qB rB sB dB VB WB tB uB vB"},F:{"1":"0 1 2 3 4 5 6 7 8 9 F B C G M N O c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB GB Q HB IB JB KB LB MB NB OB PB QB RB SB TB UB wB xB yB zB VB eB 0B WB"},G:{"1":"E cB 1B fB 2B 3B 4B 5B 6B 7B 8B 9B AC BC CC DC EC FC GC HC IC JC"},H:{"1":"KC"},I:{"1":"XB I H LC MC NC OC fB PC QC"},J:{"1":"D A"},K:{"1":"A B C Q VB eB WB"},L:{"1":"H"},M:{"1":"P"},N:{"1":"A B"},O:{"1":"RC"},P:{"1":"I SC TC UC VC WC dB XC YC ZC aC"},Q:{"1":"bC"},R:{"1":"cC"},S:{"1":"dC"}},B:2,C:"CSS Counters"}; diff --git a/tools/node_modules/@babel/core/node_modules/caniuse-lite/data/features/css-crisp-edges.js b/tools/node_modules/@babel/core/node_modules/caniuse-lite/data/features/css-crisp-edges.js new file mode 100644 index 00000000000000..3e5f34f69e789f --- /dev/null +++ b/tools/node_modules/@babel/core/node_modules/caniuse-lite/data/features/css-crisp-edges.js @@ -0,0 +1 @@ +module.exports={A:{A:{"2":"J gB","2340":"D E F A B"},B:{"2":"C K L G M N O","1025":"R S T U V W X Y Z P a H"},C:{"2":"hB XB jB","513":"JB KB LB MB NB OB PB QB RB SB TB UB aB bB R S T iB U V W X Y Z P a H","545":"0 1 2 3 4 5 6 7 8 9 I b J D E F A B C K L G M N O c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB YB GB ZB Q HB IB kB"},D:{"2":"I b J D E F A B C K L G M N O c d e f g h i j k l m n o p q r s t u v w x","1025":"0 1 2 3 4 5 6 7 8 9 y z AB BB CB DB EB FB YB GB ZB Q HB IB JB KB LB MB NB OB PB QB RB SB TB UB aB bB R S T U V W X Y Z P a H lB mB nB"},E:{"1":"A B C K L G dB VB WB tB uB vB","2":"I b oB cB pB","164":"J","4644":"D E F qB rB sB"},F:{"2":"F B G M N O c d e f g h i j k wB xB yB zB VB eB","545":"C 0B WB","1025":"0 1 2 3 4 5 6 7 8 9 l m n o p q r s t u v w x y z AB BB CB DB EB FB GB Q HB IB JB KB LB MB NB OB PB QB RB SB TB UB"},G:{"1":"8B 9B AC BC CC DC EC FC GC HC IC JC","2":"cB 1B fB","4260":"2B 3B","4644":"E 4B 5B 6B 7B"},H:{"2":"KC"},I:{"2":"XB I LC MC NC OC fB PC QC","1025":"H"},J:{"2":"D","4260":"A"},K:{"2":"A B VB eB","545":"C WB","1025":"Q"},L:{"1025":"H"},M:{"545":"P"},N:{"2340":"A B"},O:{"1":"RC"},P:{"1025":"I SC TC UC VC WC dB XC YC ZC aC"},Q:{"1025":"bC"},R:{"1025":"cC"},S:{"4097":"dC"}},B:7,C:"Crisp edges/pixelated images"}; diff --git a/tools/node_modules/@babel/core/node_modules/caniuse-lite/data/features/css-cross-fade.js b/tools/node_modules/@babel/core/node_modules/caniuse-lite/data/features/css-cross-fade.js new file mode 100644 index 00000000000000..38a1b8d266bf9c --- /dev/null +++ b/tools/node_modules/@babel/core/node_modules/caniuse-lite/data/features/css-cross-fade.js @@ -0,0 +1 @@ +module.exports={A:{A:{"2":"J D E F A B gB"},B:{"2":"C K L G M N O","33":"R S T U V W X Y Z P a H"},C:{"2":"0 1 2 3 4 5 6 7 8 9 hB XB I b J D E F A B C K L G M N O c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB YB GB ZB Q HB IB JB KB LB MB NB OB PB QB RB SB TB UB aB bB R S T iB U V W X Y Z P a H jB kB"},D:{"2":"I b J D E F A B C K L G M","33":"0 1 2 3 4 5 6 7 8 9 N O c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB YB GB ZB Q HB IB JB KB LB MB NB OB PB QB RB SB TB UB aB bB R S T U V W X Y Z P a H lB mB nB"},E:{"1":"A B C K L G dB VB WB tB uB vB","2":"I b oB cB","33":"J D E F pB qB rB sB"},F:{"2":"F B C wB xB yB zB VB eB 0B WB","33":"0 1 2 3 4 5 6 7 8 9 G M N O c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB GB Q HB IB JB KB LB MB NB OB PB QB RB SB TB UB"},G:{"1":"8B 9B AC BC CC DC EC FC GC HC IC JC","2":"cB 1B fB","33":"E 2B 3B 4B 5B 6B 7B"},H:{"2":"KC"},I:{"2":"XB I LC MC NC OC fB","33":"H PC QC"},J:{"2":"D A"},K:{"2":"A B C VB eB WB","33":"Q"},L:{"33":"H"},M:{"2":"P"},N:{"2":"A B"},O:{"33":"RC"},P:{"33":"I SC TC UC VC WC dB XC YC ZC aC"},Q:{"33":"bC"},R:{"33":"cC"},S:{"2":"dC"}},B:4,C:"CSS Cross-Fade Function"}; diff --git a/tools/node_modules/@babel/core/node_modules/caniuse-lite/data/features/css-default-pseudo.js b/tools/node_modules/@babel/core/node_modules/caniuse-lite/data/features/css-default-pseudo.js new file mode 100644 index 00000000000000..ccce7d70218311 --- /dev/null +++ b/tools/node_modules/@babel/core/node_modules/caniuse-lite/data/features/css-default-pseudo.js @@ -0,0 +1 @@ +module.exports={A:{A:{"2":"J D E F A B gB"},B:{"1":"R S T U V W X Y Z P a H","2":"C K L G M N O"},C:{"1":"0 1 2 3 4 5 6 7 8 9 I b J D E F A B C K L G M N O c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB YB GB ZB Q HB IB JB KB LB MB NB OB PB QB RB SB TB UB aB bB R S T iB U V W X Y Z P a H","16":"hB XB jB kB"},D:{"1":"8 9 AB BB CB DB EB FB YB GB ZB Q HB IB JB KB LB MB NB OB PB QB RB SB TB UB aB bB R S T U V W X Y Z P a H lB mB nB","16":"I b J D E F A B C K L","132":"0 1 2 3 4 5 6 7 G M N O c d e f g h i j k l m n o p q r s t u v w x y z"},E:{"1":"B C K L G dB VB WB tB uB vB","16":"I b oB cB","132":"J D E F A pB qB rB sB"},F:{"1":"0 1 2 3 4 5 6 7 8 9 v w x y z AB BB CB DB EB FB GB Q HB IB JB KB LB MB NB OB PB QB RB SB TB UB","16":"F B wB xB yB zB VB eB","132":"G M N O c d e f g h i j k l m n o p q r s t u","260":"C 0B WB"},G:{"1":"9B AC BC CC DC EC FC GC HC IC JC","16":"cB 1B fB 2B 3B","132":"E 4B 5B 6B 7B 8B"},H:{"260":"KC"},I:{"1":"H","16":"XB LC MC NC","132":"I OC fB PC QC"},J:{"16":"D","132":"A"},K:{"1":"Q","16":"A B C VB eB","260":"WB"},L:{"1":"H"},M:{"1":"P"},N:{"2":"A B"},O:{"132":"RC"},P:{"1":"SC TC UC VC WC dB XC YC ZC aC","132":"I"},Q:{"1":"bC"},R:{"2":"cC"},S:{"1":"dC"}},B:7,C:":default CSS pseudo-class"}; diff --git a/tools/node_modules/@babel/core/node_modules/caniuse-lite/data/features/css-descendant-gtgt.js b/tools/node_modules/@babel/core/node_modules/caniuse-lite/data/features/css-descendant-gtgt.js new file mode 100644 index 00000000000000..2cfe3acc1411dc --- /dev/null +++ b/tools/node_modules/@babel/core/node_modules/caniuse-lite/data/features/css-descendant-gtgt.js @@ -0,0 +1 @@ +module.exports={A:{A:{"2":"J D E F A B gB"},B:{"2":"C K L G M N O S T U V W X Y Z P a H","16":"R"},C:{"2":"0 1 2 3 4 5 6 7 8 9 hB XB I b J D E F A B C K L G M N O c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB YB GB ZB Q HB IB JB KB LB MB NB OB PB QB RB SB TB UB aB bB R S T iB U V W X Y Z P a H jB kB"},D:{"2":"0 1 2 3 4 5 6 7 8 9 I b J D E F A B C K L G M N O c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB YB GB ZB Q HB IB JB KB LB MB NB OB PB QB RB SB TB UB aB bB R S T U V W X Y Z P a H lB mB nB"},E:{"1":"B","2":"I b J D E F A C K L G oB cB pB qB rB sB dB VB WB tB uB vB"},F:{"2":"0 1 2 3 4 5 6 7 8 9 F B C G M N O c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB GB Q HB IB JB KB LB MB NB OB PB QB RB SB TB UB wB xB yB zB VB eB 0B WB"},G:{"2":"E cB 1B fB 2B 3B 4B 5B 6B 7B 8B 9B AC BC CC DC EC FC GC HC IC JC"},H:{"2":"KC"},I:{"2":"XB I H LC MC NC OC fB PC QC"},J:{"2":"D A"},K:{"2":"A B C Q VB eB WB"},L:{"2":"H"},M:{"2":"P"},N:{"2":"A B"},O:{"2":"RC"},P:{"2":"I SC TC UC VC WC dB XC YC ZC aC"},Q:{"2":"bC"},R:{"2":"cC"},S:{"2":"dC"}},B:7,C:"Explicit descendant combinator >>"}; diff --git a/tools/node_modules/@babel/core/node_modules/caniuse-lite/data/features/css-deviceadaptation.js b/tools/node_modules/@babel/core/node_modules/caniuse-lite/data/features/css-deviceadaptation.js new file mode 100644 index 00000000000000..5fdae4838d22e6 --- /dev/null +++ b/tools/node_modules/@babel/core/node_modules/caniuse-lite/data/features/css-deviceadaptation.js @@ -0,0 +1 @@ +module.exports={A:{A:{"2":"J D E F gB","164":"A B"},B:{"66":"R S T U V W X Y Z P a H","164":"C K L G M N O"},C:{"2":"0 1 2 3 4 5 6 7 8 9 hB XB I b J D E F A B C K L G M N O c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB YB GB ZB Q HB IB JB KB LB MB NB OB PB QB RB SB TB UB aB bB R S T iB U V W X Y Z P a H jB kB"},D:{"2":"I b J D E F A B C K L G M N O c d e f g h i j k l","66":"0 1 2 3 4 5 6 7 8 9 m n o p q r s t u v w x y z AB BB CB DB EB FB YB GB ZB Q HB IB JB KB LB MB NB OB PB QB RB SB TB UB aB bB R S T U V W X Y Z P a H lB mB nB"},E:{"2":"I b J D E F A B C K L G oB cB pB qB rB sB dB VB WB tB uB vB"},F:{"2":"F B C G M N O c d e f g h i j k l m n o p q r s t u v w wB xB yB zB VB eB 0B WB","66":"0 1 2 3 4 5 6 7 8 9 x y z AB BB CB DB EB FB GB Q HB IB JB KB LB MB NB OB PB QB RB SB TB UB"},G:{"2":"E cB 1B fB 2B 3B 4B 5B 6B 7B 8B 9B AC BC CC DC EC FC GC HC IC JC"},H:{"292":"KC"},I:{"2":"XB I H LC MC NC OC fB PC QC"},J:{"2":"D A"},K:{"2":"A Q","292":"B C VB eB WB"},L:{"2":"H"},M:{"2":"P"},N:{"164":"A B"},O:{"2":"RC"},P:{"2":"I SC TC UC VC WC dB XC YC ZC aC"},Q:{"66":"bC"},R:{"2":"cC"},S:{"2":"dC"}},B:5,C:"CSS Device Adaptation"}; diff --git a/tools/node_modules/@babel/core/node_modules/caniuse-lite/data/features/css-dir-pseudo.js b/tools/node_modules/@babel/core/node_modules/caniuse-lite/data/features/css-dir-pseudo.js new file mode 100644 index 00000000000000..284470564cd24d --- /dev/null +++ b/tools/node_modules/@babel/core/node_modules/caniuse-lite/data/features/css-dir-pseudo.js @@ -0,0 +1 @@ +module.exports={A:{A:{"2":"J D E F A B gB"},B:{"2":"C K L G M N O R S T U V W X Y Z P a H"},C:{"1":"6 7 8 9 AB BB CB DB EB FB YB GB ZB Q HB IB JB KB LB MB NB OB PB QB RB SB TB UB aB bB R S T iB U V W X Y Z P a H","2":"hB XB I b J D E F A B C K L G M jB kB","33":"0 1 2 3 4 5 N O c d e f g h i j k l m n o p q r s t u v w x y z"},D:{"2":"0 1 2 3 4 5 6 7 8 9 I b J D E F A B C K L G M N O c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB YB GB ZB Q HB IB JB KB LB MB NB OB PB QB RB SB TB UB aB bB R S T U V W X Y Z P a","194":"H lB mB nB"},E:{"2":"I b J D E F A B C K L G oB cB pB qB rB sB dB VB WB tB uB vB"},F:{"2":"0 1 2 3 4 5 6 7 8 9 F B C G M N O c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB GB Q HB IB JB KB LB MB NB OB PB QB RB SB TB UB wB xB yB zB VB eB 0B WB"},G:{"2":"E cB 1B fB 2B 3B 4B 5B 6B 7B 8B 9B AC BC CC DC EC FC GC HC IC JC"},H:{"2":"KC"},I:{"2":"XB I H LC MC NC OC fB PC QC"},J:{"2":"D A"},K:{"2":"A B C Q VB eB WB"},L:{"2":"H"},M:{"1":"P"},N:{"2":"A B"},O:{"2":"RC"},P:{"2":"I SC TC UC VC WC dB XC YC ZC aC"},Q:{"2":"bC"},R:{"2":"cC"},S:{"33":"dC"}},B:5,C:":dir() CSS pseudo-class"}; diff --git a/tools/node_modules/@babel/core/node_modules/caniuse-lite/data/features/css-display-contents.js b/tools/node_modules/@babel/core/node_modules/caniuse-lite/data/features/css-display-contents.js new file mode 100644 index 00000000000000..a16058dd035bf0 --- /dev/null +++ b/tools/node_modules/@babel/core/node_modules/caniuse-lite/data/features/css-display-contents.js @@ -0,0 +1 @@ +module.exports={A:{A:{"2":"J D E F A B gB"},B:{"1":"P a H","2":"C K L G M N O","260":"R S T U V W X Y Z"},C:{"1":"Q HB IB JB KB LB MB NB OB PB QB RB SB TB UB aB bB R S T iB U V W X Y Z P a H","2":"hB XB I b J D E F A B C K L G M N O c d e f g h i j k l m n o p q r s t jB kB","260":"0 1 2 3 4 5 6 7 8 9 u v w x y z AB BB CB DB EB FB YB GB ZB"},D:{"1":"P a H lB mB nB","2":"0 1 2 3 4 5 6 7 8 9 I b J D E F A B C K L G M N O c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB","194":"FB YB GB ZB Q HB IB","260":"JB KB LB MB NB OB PB QB RB SB TB UB aB bB R S T U V W X Y Z"},E:{"2":"I b J D E F A B oB cB pB qB rB sB dB","260":"L G tB uB vB","772":"C K VB WB"},F:{"1":"UB","2":"0 1 2 3 4 5 6 7 8 F B C G M N O c d e f g h i j k l m n o p q r s t u v w x y z wB xB yB zB VB eB 0B WB","260":"9 AB BB CB DB EB FB GB Q HB IB JB KB LB MB NB OB PB QB RB SB TB"},G:{"2":"E cB 1B fB 2B 3B 4B 5B 6B 7B 8B 9B AC","260":"HC IC JC","772":"BC CC DC EC FC GC"},H:{"2":"KC"},I:{"1":"H","2":"XB I LC MC NC OC fB PC QC"},J:{"2":"D A"},K:{"2":"A B C VB eB WB","260":"Q"},L:{"1":"H"},M:{"1":"P"},N:{"2":"A B"},O:{"2":"RC"},P:{"2":"I SC TC UC VC","260":"WC dB XC YC ZC aC"},Q:{"260":"bC"},R:{"2":"cC"},S:{"260":"dC"}},B:5,C:"CSS display: contents"}; diff --git a/tools/node_modules/@babel/core/node_modules/caniuse-lite/data/features/css-element-function.js b/tools/node_modules/@babel/core/node_modules/caniuse-lite/data/features/css-element-function.js new file mode 100644 index 00000000000000..0071b561450191 --- /dev/null +++ b/tools/node_modules/@babel/core/node_modules/caniuse-lite/data/features/css-element-function.js @@ -0,0 +1 @@ +module.exports={A:{A:{"2":"J D E F A B gB"},B:{"2":"C K L G M N O R S T U V W X Y Z P a H"},C:{"33":"0 1 2 3 4 5 6 7 8 9 I b J D E F A B C K L G M N O c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB YB GB ZB Q HB IB JB KB LB MB NB OB PB QB RB SB TB UB aB bB R S T iB U V W X Y Z P a H","164":"hB XB jB kB"},D:{"2":"0 1 2 3 4 5 6 7 8 9 I b J D E F A B C K L G M N O c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB YB GB ZB Q HB IB JB KB LB MB NB OB PB QB RB SB TB UB aB bB R S T U V W X Y Z P a H lB mB nB"},E:{"2":"I b J D E F A B C K L G oB cB pB qB rB sB dB VB WB tB uB vB"},F:{"2":"0 1 2 3 4 5 6 7 8 9 F B C G M N O c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB GB Q HB IB JB KB LB MB NB OB PB QB RB SB TB UB wB xB yB zB VB eB 0B WB"},G:{"2":"E cB 1B fB 2B 3B 4B 5B 6B 7B 8B 9B AC BC CC DC EC FC GC HC IC JC"},H:{"2":"KC"},I:{"2":"XB I H LC MC NC OC fB PC QC"},J:{"2":"D A"},K:{"2":"A B C Q VB eB WB"},L:{"2":"H"},M:{"33":"P"},N:{"2":"A B"},O:{"2":"RC"},P:{"2":"I SC TC UC VC WC dB XC YC ZC aC"},Q:{"2":"bC"},R:{"2":"cC"},S:{"33":"dC"}},B:5,C:"CSS element() function"}; diff --git a/tools/node_modules/@babel/core/node_modules/caniuse-lite/data/features/css-env-function.js b/tools/node_modules/@babel/core/node_modules/caniuse-lite/data/features/css-env-function.js new file mode 100644 index 00000000000000..ef12a5ab692753 --- /dev/null +++ b/tools/node_modules/@babel/core/node_modules/caniuse-lite/data/features/css-env-function.js @@ -0,0 +1 @@ +module.exports={A:{A:{"2":"J D E F A B gB"},B:{"1":"R S T U V W X Y Z P a H","2":"C K L G M N O"},C:{"1":"JB KB LB MB NB OB PB QB RB SB TB UB aB bB R S T iB U V W X Y Z P a H","2":"0 1 2 3 4 5 6 7 8 9 hB XB I b J D E F A B C K L G M N O c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB YB GB ZB Q HB IB jB kB"},D:{"1":"NB OB PB QB RB SB TB UB aB bB R S T U V W X Y Z P a H lB mB nB","2":"0 1 2 3 4 5 6 7 8 9 I b J D E F A B C K L G M N O c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB YB GB ZB Q HB IB JB KB LB MB"},E:{"1":"C K L G VB WB tB uB vB","2":"I b J D E F A oB cB pB qB rB sB dB","132":"B"},F:{"1":"DB EB FB GB Q HB IB JB KB LB MB NB OB PB QB RB SB TB UB","2":"0 1 2 3 4 5 6 7 8 9 F B C G M N O c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB wB xB yB zB VB eB 0B WB"},G:{"1":"BC CC DC EC FC GC HC IC JC","2":"E cB 1B fB 2B 3B 4B 5B 6B 7B 8B 9B","132":"AC"},H:{"2":"KC"},I:{"1":"H","2":"XB I LC MC NC OC fB PC QC"},J:{"2":"D A"},K:{"2":"A B C Q VB eB WB"},L:{"1":"H"},M:{"1":"P"},N:{"2":"A B"},O:{"2":"RC"},P:{"1":"dB XC YC ZC aC","2":"I SC TC UC VC WC"},Q:{"2":"bC"},R:{"2":"cC"},S:{"2":"dC"}},B:7,C:"CSS Environment Variables env()"}; diff --git a/tools/node_modules/@babel/core/node_modules/caniuse-lite/data/features/css-exclusions.js b/tools/node_modules/@babel/core/node_modules/caniuse-lite/data/features/css-exclusions.js new file mode 100644 index 00000000000000..36dbb0d148c0e3 --- /dev/null +++ b/tools/node_modules/@babel/core/node_modules/caniuse-lite/data/features/css-exclusions.js @@ -0,0 +1 @@ +module.exports={A:{A:{"2":"J D E F gB","33":"A B"},B:{"2":"R S T U V W X Y Z P a H","33":"C K L G M N O"},C:{"2":"0 1 2 3 4 5 6 7 8 9 hB XB I b J D E F A B C K L G M N O c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB YB GB ZB Q HB IB JB KB LB MB NB OB PB QB RB SB TB UB aB bB R S T iB U V W X Y Z P a H jB kB"},D:{"2":"0 1 2 3 4 5 6 7 8 9 I b J D E F A B C K L G M N O c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB YB GB ZB Q HB IB JB KB LB MB NB OB PB QB RB SB TB UB aB bB R S T U V W X Y Z P a H lB mB nB"},E:{"2":"I b J D E F A B C K L G oB cB pB qB rB sB dB VB WB tB uB vB"},F:{"2":"0 1 2 3 4 5 6 7 8 9 F B C G M N O c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB GB Q HB IB JB KB LB MB NB OB PB QB RB SB TB UB wB xB yB zB VB eB 0B WB"},G:{"2":"E cB 1B fB 2B 3B 4B 5B 6B 7B 8B 9B AC BC CC DC EC FC GC HC IC JC"},H:{"2":"KC"},I:{"2":"XB I H LC MC NC OC fB PC QC"},J:{"2":"D A"},K:{"2":"A B C Q VB eB WB"},L:{"2":"H"},M:{"2":"P"},N:{"33":"A B"},O:{"2":"RC"},P:{"2":"I SC TC UC VC WC dB XC YC ZC aC"},Q:{"2":"bC"},R:{"2":"cC"},S:{"2":"dC"}},B:5,C:"CSS Exclusions Level 1"}; diff --git a/tools/node_modules/@babel/core/node_modules/caniuse-lite/data/features/css-featurequeries.js b/tools/node_modules/@babel/core/node_modules/caniuse-lite/data/features/css-featurequeries.js new file mode 100644 index 00000000000000..6f280d9625dfe4 --- /dev/null +++ b/tools/node_modules/@babel/core/node_modules/caniuse-lite/data/features/css-featurequeries.js @@ -0,0 +1 @@ +module.exports={A:{A:{"2":"J D E F A B gB"},B:{"1":"C K L G M N O R S T U V W X Y Z P a H"},C:{"1":"0 1 2 3 4 5 6 7 8 9 f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB YB GB ZB Q HB IB JB KB LB MB NB OB PB QB RB SB TB UB aB bB R S T iB U V W X Y Z P a H","2":"hB XB I b J D E F A B C K L G M N O c d e jB kB"},D:{"1":"0 1 2 3 4 5 6 7 8 9 l m n o p q r s t u v w x y z AB BB CB DB EB FB YB GB ZB Q HB IB JB KB LB MB NB OB PB QB RB SB TB UB aB bB R S T U V W X Y Z P a H lB mB nB","2":"I b J D E F A B C K L G M N O c d e f g h i j k"},E:{"1":"F A B C K L G sB dB VB WB tB uB vB","2":"I b J D E oB cB pB qB rB"},F:{"1":"0 1 2 3 4 5 6 7 8 9 G M N O c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB GB Q HB IB JB KB LB MB NB OB PB QB RB SB TB UB WB","2":"F B C wB xB yB zB VB eB 0B"},G:{"1":"6B 7B 8B 9B AC BC CC DC EC FC GC HC IC JC","2":"E cB 1B fB 2B 3B 4B 5B"},H:{"1":"KC"},I:{"1":"H PC QC","2":"XB I LC MC NC OC fB"},J:{"2":"D A"},K:{"1":"Q","2":"A B C VB eB WB"},L:{"1":"H"},M:{"1":"P"},N:{"2":"A B"},O:{"1":"RC"},P:{"1":"I SC TC UC VC WC dB XC YC ZC aC"},Q:{"1":"bC"},R:{"1":"cC"},S:{"1":"dC"}},B:4,C:"CSS Feature Queries"}; diff --git a/tools/node_modules/@babel/core/node_modules/caniuse-lite/data/features/css-filter-function.js b/tools/node_modules/@babel/core/node_modules/caniuse-lite/data/features/css-filter-function.js new file mode 100644 index 00000000000000..c86d1faaa18c2c --- /dev/null +++ b/tools/node_modules/@babel/core/node_modules/caniuse-lite/data/features/css-filter-function.js @@ -0,0 +1 @@ +module.exports={A:{A:{"2":"J D E F A B gB"},B:{"2":"C K L G M N O R S T U V W X Y Z P a H"},C:{"2":"0 1 2 3 4 5 6 7 8 9 hB XB I b J D E F A B C K L G M N O c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB YB GB ZB Q HB IB JB KB LB MB NB OB PB QB RB SB TB UB aB bB R S T iB U V W X Y Z P a H jB kB"},D:{"2":"0 1 2 3 4 5 6 7 8 9 I b J D E F A B C K L G M N O c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB YB GB ZB Q HB IB JB KB LB MB NB OB PB QB RB SB TB UB aB bB R S T U V W X Y Z P a H lB mB nB"},E:{"1":"A B C K L G sB dB VB WB tB uB vB","2":"I b J D E oB cB pB qB rB","33":"F"},F:{"2":"0 1 2 3 4 5 6 7 8 9 F B C G M N O c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB GB Q HB IB JB KB LB MB NB OB PB QB RB SB TB UB wB xB yB zB VB eB 0B WB"},G:{"1":"8B 9B AC BC CC DC EC FC GC HC IC JC","2":"E cB 1B fB 2B 3B 4B 5B","33":"6B 7B"},H:{"2":"KC"},I:{"2":"XB I H LC MC NC OC fB PC QC"},J:{"2":"D A"},K:{"2":"A B C Q VB eB WB"},L:{"2":"H"},M:{"2":"P"},N:{"2":"A B"},O:{"2":"RC"},P:{"2":"I SC TC UC VC WC dB XC YC ZC aC"},Q:{"2":"bC"},R:{"2":"cC"},S:{"2":"dC"}},B:5,C:"CSS filter() function"}; diff --git a/tools/node_modules/@babel/core/node_modules/caniuse-lite/data/features/css-filters.js b/tools/node_modules/@babel/core/node_modules/caniuse-lite/data/features/css-filters.js new file mode 100644 index 00000000000000..d09c04d938a8fe --- /dev/null +++ b/tools/node_modules/@babel/core/node_modules/caniuse-lite/data/features/css-filters.js @@ -0,0 +1 @@ +module.exports={A:{A:{"2":"J D E F A B gB"},B:{"1":"R S T U V W X Y Z P a H","1028":"K L G M N O","1346":"C"},C:{"1":"0 1 2 3 4 5 6 7 8 9 s t u v w x y z AB BB CB DB EB FB YB GB ZB Q HB IB JB KB LB MB NB OB PB QB RB SB TB UB aB bB R S T iB U V W X Y Z P a H","2":"hB XB jB","196":"r","516":"I b J D E F A B C K L G M N O c d e f g h i j k l m n o p q kB"},D:{"1":"AB BB CB DB EB FB YB GB ZB Q HB IB JB KB LB MB NB OB PB QB RB SB TB UB aB bB R S T U V W X Y Z P a H lB mB nB","2":"I b J D E F A B C K L G M N","33":"0 1 2 3 4 5 6 7 8 9 O c d e f g h i j k l m n o p q r s t u v w x y z"},E:{"1":"A B C K L G sB dB VB WB tB uB vB","2":"I b oB cB pB","33":"J D E F qB rB"},F:{"1":"0 1 2 3 4 5 6 7 8 9 x y z AB BB CB DB EB FB GB Q HB IB JB KB LB MB NB OB PB QB RB SB TB UB","2":"F B C wB xB yB zB VB eB 0B WB","33":"G M N O c d e f g h i j k l m n o p q r s t u v w"},G:{"1":"7B 8B 9B AC BC CC DC EC FC GC HC IC JC","2":"cB 1B fB 2B","33":"E 3B 4B 5B 6B"},H:{"2":"KC"},I:{"1":"H","2":"XB I LC MC NC OC fB","33":"PC QC"},J:{"2":"D","33":"A"},K:{"1":"Q","2":"A B C VB eB WB"},L:{"1":"H"},M:{"1":"P"},N:{"2":"A B"},O:{"1":"RC"},P:{"1":"UC VC WC dB XC YC ZC aC","33":"I SC TC"},Q:{"1":"bC"},R:{"1":"cC"},S:{"1":"dC"}},B:5,C:"CSS Filter Effects"}; diff --git a/tools/node_modules/@babel/core/node_modules/caniuse-lite/data/features/css-first-letter.js b/tools/node_modules/@babel/core/node_modules/caniuse-lite/data/features/css-first-letter.js new file mode 100644 index 00000000000000..f253d3ae2e0bd8 --- /dev/null +++ b/tools/node_modules/@babel/core/node_modules/caniuse-lite/data/features/css-first-letter.js @@ -0,0 +1 @@ +module.exports={A:{A:{"1":"F A B","16":"gB","516":"E","1540":"J D"},B:{"1":"C K L G M N O R S T U V W X Y Z P a H"},C:{"1":"0 1 2 3 4 5 6 7 8 9 I b J D E F A B C K L G M N O c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB YB GB ZB Q HB IB JB KB LB MB NB OB PB QB RB SB TB UB aB bB R S T iB U V W X Y Z P a H jB kB","132":"XB","260":"hB"},D:{"1":"0 1 2 3 4 5 6 7 8 9 F A B C K L G M N O c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB YB GB ZB Q HB IB JB KB LB MB NB OB PB QB RB SB TB UB aB bB R S T U V W X Y Z P a H lB mB nB","16":"b J D E","132":"I"},E:{"1":"J D E F A B C K L G pB qB rB sB dB VB WB tB uB vB","16":"b oB","132":"I cB"},F:{"1":"0 1 2 3 4 5 6 7 8 9 C G M N O c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB GB Q HB IB JB KB LB MB NB OB PB QB RB SB TB UB 0B WB","16":"F wB","260":"B xB yB zB VB eB"},G:{"1":"E 2B 3B 4B 5B 6B 7B 8B 9B AC BC CC DC EC FC GC HC IC JC","16":"cB 1B fB"},H:{"1":"KC"},I:{"1":"XB I H OC fB PC QC","16":"LC MC","132":"NC"},J:{"1":"D A"},K:{"1":"C Q WB","260":"A B VB eB"},L:{"1":"H"},M:{"1":"P"},N:{"1":"A B"},O:{"1":"RC"},P:{"1":"I SC TC UC VC WC dB XC YC ZC aC"},Q:{"1":"bC"},R:{"1":"cC"},S:{"1":"dC"}},B:2,C:"::first-letter CSS pseudo-element selector"}; diff --git a/tools/node_modules/@babel/core/node_modules/caniuse-lite/data/features/css-first-line.js b/tools/node_modules/@babel/core/node_modules/caniuse-lite/data/features/css-first-line.js new file mode 100644 index 00000000000000..db71ce08656c08 --- /dev/null +++ b/tools/node_modules/@babel/core/node_modules/caniuse-lite/data/features/css-first-line.js @@ -0,0 +1 @@ +module.exports={A:{A:{"1":"F A B","132":"J D E gB"},B:{"1":"C K L G M N O R S T U V W X Y Z P a H"},C:{"1":"0 1 2 3 4 5 6 7 8 9 hB XB I b J D E F A B C K L G M N O c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB YB GB ZB Q HB IB JB KB LB MB NB OB PB QB RB SB TB UB aB bB R S T iB U V W X Y Z P a H jB kB"},D:{"1":"0 1 2 3 4 5 6 7 8 9 I b J D E F A B C K L G M N O c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB YB GB ZB Q HB IB JB KB LB MB NB OB PB QB RB SB TB UB aB bB R S T U V W X Y Z P a H lB mB nB"},E:{"1":"I b J D E F A B C K L G oB cB pB qB rB sB dB VB WB tB uB vB"},F:{"1":"0 1 2 3 4 5 6 7 8 9 F B C G M N O c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB GB Q HB IB JB KB LB MB NB OB PB QB RB SB TB UB wB xB yB zB VB eB 0B WB"},G:{"1":"E cB 1B fB 2B 3B 4B 5B 6B 7B 8B 9B AC BC CC DC EC FC GC HC IC JC"},H:{"1":"KC"},I:{"1":"XB I H LC MC NC OC fB PC QC"},J:{"1":"D A"},K:{"1":"A B C Q VB eB WB"},L:{"1":"H"},M:{"1":"P"},N:{"1":"A B"},O:{"1":"RC"},P:{"1":"I SC TC UC VC WC dB XC YC ZC aC"},Q:{"1":"bC"},R:{"1":"cC"},S:{"1":"dC"}},B:2,C:"CSS first-line pseudo-element"}; diff --git a/tools/node_modules/@babel/core/node_modules/caniuse-lite/data/features/css-fixed.js b/tools/node_modules/@babel/core/node_modules/caniuse-lite/data/features/css-fixed.js new file mode 100644 index 00000000000000..4c7f4cc03c90d1 --- /dev/null +++ b/tools/node_modules/@babel/core/node_modules/caniuse-lite/data/features/css-fixed.js @@ -0,0 +1 @@ +module.exports={A:{A:{"1":"D E F A B","2":"gB","8":"J"},B:{"1":"C K L G M N O R S T U V W X Y Z P a H"},C:{"1":"0 1 2 3 4 5 6 7 8 9 hB XB I b J D E F A B C K L G M N O c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB YB GB ZB Q HB IB JB KB LB MB NB OB PB QB RB SB TB UB aB bB R S T iB U V W X Y Z P a H jB kB"},D:{"1":"0 1 2 3 4 5 6 7 8 9 I b J D E F A B C K L G M N O c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB YB GB ZB Q HB IB JB KB LB MB NB OB PB QB RB SB TB UB aB bB R S T U V W X Y Z P a H lB mB nB"},E:{"1":"I b J D E F A B C K L G oB cB pB qB rB dB VB WB tB uB vB","1025":"sB"},F:{"1":"0 1 2 3 4 5 6 7 8 9 F B C G M N O c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB GB Q HB IB JB KB LB MB NB OB PB QB RB SB TB UB wB xB yB zB VB eB 0B WB"},G:{"1":"E 5B 6B 7B 8B 9B AC BC CC DC EC FC GC HC IC JC","2":"cB 1B fB","132":"2B 3B 4B"},H:{"2":"KC"},I:{"1":"XB H PC QC","260":"LC MC NC","513":"I OC fB"},J:{"1":"D A"},K:{"1":"A B C Q VB eB WB"},L:{"1":"H"},M:{"1":"P"},N:{"1":"A B"},O:{"1":"RC"},P:{"1":"I SC TC UC VC WC dB XC YC ZC aC"},Q:{"1":"bC"},R:{"1":"cC"},S:{"1":"dC"}},B:2,C:"CSS position:fixed"}; diff --git a/tools/node_modules/@babel/core/node_modules/caniuse-lite/data/features/css-focus-visible.js b/tools/node_modules/@babel/core/node_modules/caniuse-lite/data/features/css-focus-visible.js new file mode 100644 index 00000000000000..7bbfdc28c2cf05 --- /dev/null +++ b/tools/node_modules/@babel/core/node_modules/caniuse-lite/data/features/css-focus-visible.js @@ -0,0 +1 @@ +module.exports={A:{A:{"2":"J D E F A B gB"},B:{"1":"X Y Z P a H","2":"C K L G M N O","328":"R S T U V W"},C:{"1":"W X Y Z P a H","2":"hB XB jB kB","161":"0 1 2 3 4 5 6 7 8 9 I b J D E F A B C K L G M N O c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB YB GB ZB Q HB IB JB KB LB MB NB OB PB QB RB SB TB UB aB bB R S T iB U V"},D:{"1":"X Y Z P a H lB mB nB","2":"0 1 2 3 4 5 6 7 8 9 I b J D E F A B C K L G M N O c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB YB GB ZB Q HB IB JB KB","328":"LB MB NB OB PB QB RB SB TB UB aB bB R S T U V W"},E:{"2":"I b J D E F A B C K L oB cB pB qB rB sB dB VB WB tB uB vB","16":"G"},F:{"1":"QB RB SB TB UB","2":"0 1 2 3 4 5 6 7 8 9 F B C G M N O c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB GB Q HB IB JB wB xB yB zB VB eB 0B WB","328":"KB LB MB NB OB PB"},G:{"2":"E cB 1B fB 2B 3B 4B 5B 6B 7B 8B 9B AC BC CC DC EC FC GC HC IC JC"},H:{"2":"KC"},I:{"1":"H","2":"XB I LC MC NC OC fB PC QC"},J:{"2":"D A"},K:{"1":"Q","2":"A B C VB eB WB"},L:{"1":"H"},M:{"1":"P"},N:{"2":"A B"},O:{"2":"RC"},P:{"1":"aC","2":"I SC TC UC VC WC dB XC YC ZC"},Q:{"2":"bC"},R:{"2":"cC"},S:{"161":"dC"}},B:7,C:":focus-visible CSS pseudo-class"}; diff --git a/tools/node_modules/@babel/core/node_modules/caniuse-lite/data/features/css-focus-within.js b/tools/node_modules/@babel/core/node_modules/caniuse-lite/data/features/css-focus-within.js new file mode 100644 index 00000000000000..5cb3a8b2e01003 --- /dev/null +++ b/tools/node_modules/@babel/core/node_modules/caniuse-lite/data/features/css-focus-within.js @@ -0,0 +1 @@ +module.exports={A:{A:{"2":"J D E F A B gB"},B:{"1":"R S T U V W X Y Z P a H","2":"C K L G M N O"},C:{"1":"9 AB BB CB DB EB FB YB GB ZB Q HB IB JB KB LB MB NB OB PB QB RB SB TB UB aB bB R S T iB U V W X Y Z P a H","2":"0 1 2 3 4 5 6 7 8 hB XB I b J D E F A B C K L G M N O c d e f g h i j k l m n o p q r s t u v w x y z jB kB"},D:{"1":"GB ZB Q HB IB JB KB LB MB NB OB PB QB RB SB TB UB aB bB R S T U V W X Y Z P a H lB mB nB","2":"0 1 2 3 4 5 6 7 8 9 I b J D E F A B C K L G M N O c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB","194":"YB"},E:{"1":"B C K L G dB VB WB tB uB vB","2":"I b J D E F A oB cB pB qB rB sB"},F:{"1":"4 5 6 7 8 9 AB BB CB DB EB FB GB Q HB IB JB KB LB MB NB OB PB QB RB SB TB UB","2":"0 1 2 F B C G M N O c d e f g h i j k l m n o p q r s t u v w x y z wB xB yB zB VB eB 0B WB","194":"3"},G:{"1":"9B AC BC CC DC EC FC GC HC IC JC","2":"E cB 1B fB 2B 3B 4B 5B 6B 7B 8B"},H:{"2":"KC"},I:{"1":"H","2":"XB I LC MC NC OC fB PC QC"},J:{"2":"D A"},K:{"1":"Q","2":"A B C VB eB WB"},L:{"1":"H"},M:{"1":"P"},N:{"2":"A B"},O:{"2":"RC"},P:{"1":"VC WC dB XC YC ZC aC","2":"I SC TC UC"},Q:{"1":"bC"},R:{"16":"cC"},S:{"2":"dC"}},B:7,C:":focus-within CSS pseudo-class"}; diff --git a/tools/node_modules/@babel/core/node_modules/caniuse-lite/data/features/css-font-rendering-controls.js b/tools/node_modules/@babel/core/node_modules/caniuse-lite/data/features/css-font-rendering-controls.js new file mode 100644 index 00000000000000..f86e1b4ac5e395 --- /dev/null +++ b/tools/node_modules/@babel/core/node_modules/caniuse-lite/data/features/css-font-rendering-controls.js @@ -0,0 +1 @@ +module.exports={A:{A:{"2":"J D E F A B gB"},B:{"1":"R S T U V W X Y Z P a H","2":"C K L G M N O"},C:{"1":"FB YB GB ZB Q HB IB JB KB LB MB NB OB PB QB RB SB TB UB aB bB R S T iB U V W X Y Z P a H","2":"0 1 2 hB XB I b J D E F A B C K L G M N O c d e f g h i j k l m n o p q r s t u v w x y z jB kB","194":"3 4 5 6 7 8 9 AB BB CB DB EB"},D:{"1":"GB ZB Q HB IB JB KB LB MB NB OB PB QB RB SB TB UB aB bB R S T U V W X Y Z P a H lB mB nB","2":"0 1 2 3 4 5 I b J D E F A B C K L G M N O c d e f g h i j k l m n o p q r s t u v w x y z","66":"6 7 8 9 AB BB CB DB EB FB YB"},E:{"1":"C K L G VB WB tB uB vB","2":"I b J D E F A B oB cB pB qB rB sB dB"},F:{"1":"4 5 6 7 8 9 AB BB CB DB EB FB GB Q HB IB JB KB LB MB NB OB PB QB RB SB TB UB","2":"F B C G M N O c d e f g h i j k l m n o p q r s wB xB yB zB VB eB 0B WB","66":"0 1 2 3 t u v w x y z"},G:{"1":"BC CC DC EC FC GC HC IC JC","2":"E cB 1B fB 2B 3B 4B 5B 6B 7B 8B 9B AC"},H:{"2":"KC"},I:{"1":"H","2":"XB I LC MC NC OC fB PC QC"},J:{"2":"D A"},K:{"1":"Q","2":"A B C VB eB WB"},L:{"1":"H"},M:{"1":"P"},N:{"2":"A B"},O:{"2":"RC"},P:{"1":"VC WC dB XC YC ZC aC","2":"I","66":"SC TC UC"},Q:{"1":"bC"},R:{"2":"cC"},S:{"194":"dC"}},B:5,C:"CSS font-display"}; diff --git a/tools/node_modules/@babel/core/node_modules/caniuse-lite/data/features/css-font-stretch.js b/tools/node_modules/@babel/core/node_modules/caniuse-lite/data/features/css-font-stretch.js new file mode 100644 index 00000000000000..9cf7fcd3a28346 --- /dev/null +++ b/tools/node_modules/@babel/core/node_modules/caniuse-lite/data/features/css-font-stretch.js @@ -0,0 +1 @@ +module.exports={A:{A:{"1":"F A B","2":"J D E gB"},B:{"1":"C K L G M N O R S T U V W X Y Z P a H"},C:{"1":"0 1 2 3 4 5 6 7 8 9 F A B C K L G M N O c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB YB GB ZB Q HB IB JB KB LB MB NB OB PB QB RB SB TB UB aB bB R S T iB U V W X Y Z P a H","2":"hB XB I b J D E jB kB"},D:{"1":"5 6 7 8 9 AB BB CB DB EB FB YB GB ZB Q HB IB JB KB LB MB NB OB PB QB RB SB TB UB aB bB R S T U V W X Y Z P a H lB mB nB","2":"0 1 2 3 4 I b J D E F A B C K L G M N O c d e f g h i j k l m n o p q r s t u v w x y z"},E:{"1":"B C K L G VB WB tB uB vB","2":"I b J D E F A oB cB pB qB rB sB dB"},F:{"1":"0 1 2 3 4 5 6 7 8 9 s t u v w x y z AB BB CB DB EB FB GB Q HB IB JB KB LB MB NB OB PB QB RB SB TB UB","2":"F B C G M N O c d e f g h i j k l m n o p q r wB xB yB zB VB eB 0B WB"},G:{"1":"9B AC BC CC DC EC FC GC HC IC JC","2":"E cB 1B fB 2B 3B 4B 5B 6B 7B 8B"},H:{"2":"KC"},I:{"1":"H","2":"XB I LC MC NC OC fB PC QC"},J:{"2":"D A"},K:{"1":"Q","2":"A B C VB eB WB"},L:{"1":"H"},M:{"1":"P"},N:{"1":"A B"},O:{"1":"RC"},P:{"1":"SC TC UC VC WC dB XC YC ZC aC","2":"I"},Q:{"1":"bC"},R:{"1":"cC"},S:{"1":"dC"}},B:4,C:"CSS font-stretch"}; diff --git a/tools/node_modules/@babel/core/node_modules/caniuse-lite/data/features/css-gencontent.js b/tools/node_modules/@babel/core/node_modules/caniuse-lite/data/features/css-gencontent.js new file mode 100644 index 00000000000000..ff17fcafc5c423 --- /dev/null +++ b/tools/node_modules/@babel/core/node_modules/caniuse-lite/data/features/css-gencontent.js @@ -0,0 +1 @@ +module.exports={A:{A:{"1":"F A B","2":"J D gB","132":"E"},B:{"1":"C K L G M N O R S T U V W X Y Z P a H"},C:{"1":"0 1 2 3 4 5 6 7 8 9 hB XB I b J D E F A B C K L G M N O c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB YB GB ZB Q HB IB JB KB LB MB NB OB PB QB RB SB TB UB aB bB R S T iB U V W X Y Z P a H jB kB"},D:{"1":"0 1 2 3 4 5 6 7 8 9 I b J D E F A B C K L G M N O c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB YB GB ZB Q HB IB JB KB LB MB NB OB PB QB RB SB TB UB aB bB R S T U V W X Y Z P a H lB mB nB"},E:{"1":"I b J D E F A B C K L G oB cB pB qB rB sB dB VB WB tB uB vB"},F:{"1":"0 1 2 3 4 5 6 7 8 9 F B C G M N O c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB GB Q HB IB JB KB LB MB NB OB PB QB RB SB TB UB wB xB yB zB VB eB 0B WB"},G:{"1":"E cB 1B fB 2B 3B 4B 5B 6B 7B 8B 9B AC BC CC DC EC FC GC HC IC JC"},H:{"1":"KC"},I:{"1":"XB I H LC MC NC OC fB PC QC"},J:{"1":"D A"},K:{"1":"A B C Q VB eB WB"},L:{"1":"H"},M:{"1":"P"},N:{"1":"A B"},O:{"1":"RC"},P:{"1":"I SC TC UC VC WC dB XC YC ZC aC"},Q:{"1":"bC"},R:{"1":"cC"},S:{"1":"dC"}},B:2,C:"CSS Generated content for pseudo-elements"}; diff --git a/tools/node_modules/@babel/core/node_modules/caniuse-lite/data/features/css-gradients.js b/tools/node_modules/@babel/core/node_modules/caniuse-lite/data/features/css-gradients.js new file mode 100644 index 00000000000000..e4a2fd328c7bf0 --- /dev/null +++ b/tools/node_modules/@babel/core/node_modules/caniuse-lite/data/features/css-gradients.js @@ -0,0 +1 @@ +module.exports={A:{A:{"1":"A B","2":"J D E F gB"},B:{"1":"C K L G M N O R S T U V W X Y Z P a H"},C:{"1":"0 1 2 3 4 5 6 7 8 9 t u v w x y z AB BB CB DB EB FB YB GB ZB Q HB IB JB KB LB MB NB OB PB QB RB SB TB UB aB bB R S T iB U V W X Y Z P a H","2":"hB XB jB","260":"M N O c d e f g h i j k l m n o p q r s","292":"I b J D E F A B C K L G kB"},D:{"1":"0 1 2 3 4 5 6 7 8 9 j k l m n o p q r s t u v w x y z AB BB CB DB EB FB YB GB ZB Q HB IB JB KB LB MB NB OB PB QB RB SB TB UB aB bB R S T U V W X Y Z P a H lB mB nB","33":"A B C K L G M N O c d e f g h i","548":"I b J D E F"},E:{"2":"oB cB","260":"D E F A B C K L G qB rB sB dB VB WB tB uB vB","292":"J pB","804":"I b"},F:{"1":"0 1 2 3 4 5 6 7 8 9 G M N O c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB GB Q HB IB JB KB LB MB NB OB PB QB RB SB TB UB WB","2":"F B wB xB yB zB","33":"C 0B","164":"VB eB"},G:{"260":"E 4B 5B 6B 7B 8B 9B AC BC CC DC EC FC GC HC IC JC","292":"2B 3B","804":"cB 1B fB"},H:{"2":"KC"},I:{"1":"H PC QC","33":"I OC fB","548":"XB LC MC NC"},J:{"1":"A","548":"D"},K:{"1":"Q WB","2":"A B","33":"C","164":"VB eB"},L:{"1":"H"},M:{"1":"P"},N:{"1":"A B"},O:{"1":"RC"},P:{"1":"I SC TC UC VC WC dB XC YC ZC aC"},Q:{"1":"bC"},R:{"1":"cC"},S:{"1":"dC"}},B:4,C:"CSS Gradients"}; diff --git a/tools/node_modules/@babel/core/node_modules/caniuse-lite/data/features/css-grid.js b/tools/node_modules/@babel/core/node_modules/caniuse-lite/data/features/css-grid.js new file mode 100644 index 00000000000000..7886b119aaf5c8 --- /dev/null +++ b/tools/node_modules/@babel/core/node_modules/caniuse-lite/data/features/css-grid.js @@ -0,0 +1 @@ +module.exports={A:{A:{"2":"J D E gB","8":"F","292":"A B"},B:{"1":"M N O R S T U V W X Y Z P a H","292":"C K L G"},C:{"1":"BB CB DB EB FB YB GB ZB Q HB IB JB KB LB MB NB OB PB QB RB SB TB UB aB bB R S T iB U V W X Y Z P a H","2":"hB XB I b J D E F A B C K L G M N O jB kB","8":"c d e f g h i j k l m n o p q r s t u v w","584":"0 1 2 3 4 5 6 7 8 x y z","1025":"9 AB"},D:{"1":"FB YB GB ZB Q HB IB JB KB LB MB NB OB PB QB RB SB TB UB aB bB R S T U V W X Y Z P a H lB mB nB","2":"I b J D E F A B C K L G M N O c d e f g h","8":"i j k l","200":"0 1 2 3 4 5 6 7 8 9 m n o p q r s t u v w x y z AB BB CB DB","1025":"EB"},E:{"1":"B C K L G dB VB WB tB uB vB","2":"I b oB cB pB","8":"J D E F A qB rB sB"},F:{"1":"1 2 3 4 5 6 7 8 9 AB BB CB DB EB FB GB Q HB IB JB KB LB MB NB OB PB QB RB SB TB UB","2":"F B C G M N O c d e f g h i j k wB xB yB zB VB eB 0B WB","200":"0 l m n o p q r s t u v w x y z"},G:{"1":"9B AC BC CC DC EC FC GC HC IC JC","2":"cB 1B fB 2B","8":"E 3B 4B 5B 6B 7B 8B"},H:{"2":"KC"},I:{"1":"H","2":"XB I LC MC NC OC","8":"fB PC QC"},J:{"2":"D A"},K:{"1":"Q","2":"A B C VB eB WB"},L:{"1":"H"},M:{"1":"P"},N:{"292":"A B"},O:{"1":"RC"},P:{"1":"TC UC VC WC dB XC YC ZC aC","2":"SC","8":"I"},Q:{"1":"bC"},R:{"2":"cC"},S:{"1":"dC"}},B:4,C:"CSS Grid Layout (level 1)"}; diff --git a/tools/node_modules/@babel/core/node_modules/caniuse-lite/data/features/css-hanging-punctuation.js b/tools/node_modules/@babel/core/node_modules/caniuse-lite/data/features/css-hanging-punctuation.js new file mode 100644 index 00000000000000..1379a31d9729b4 --- /dev/null +++ b/tools/node_modules/@babel/core/node_modules/caniuse-lite/data/features/css-hanging-punctuation.js @@ -0,0 +1 @@ +module.exports={A:{A:{"2":"J D E F A B gB"},B:{"2":"C K L G M N O R S T U V W X Y Z P a H"},C:{"2":"0 1 2 3 4 5 6 7 8 9 hB XB I b J D E F A B C K L G M N O c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB YB GB ZB Q HB IB JB KB LB MB NB OB PB QB RB SB TB UB aB bB R S T iB U V W X Y Z P a H jB kB"},D:{"2":"0 1 2 3 4 5 6 7 8 9 I b J D E F A B C K L G M N O c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB YB GB ZB Q HB IB JB KB LB MB NB OB PB QB RB SB TB UB aB bB R S T U V W X Y Z P a H lB mB nB"},E:{"1":"A B C K L G dB VB WB tB uB vB","2":"I b J D E F oB cB pB qB rB sB"},F:{"2":"0 1 2 3 4 5 6 7 8 9 F B C G M N O c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB GB Q HB IB JB KB LB MB NB OB PB QB RB SB TB UB wB xB yB zB VB eB 0B WB"},G:{"1":"8B 9B AC BC CC DC EC FC GC HC IC JC","2":"E cB 1B fB 2B 3B 4B 5B 6B 7B"},H:{"2":"KC"},I:{"2":"XB I H LC MC NC OC fB PC QC"},J:{"2":"D A"},K:{"2":"A B C Q VB eB WB"},L:{"2":"H"},M:{"2":"P"},N:{"2":"A B"},O:{"2":"RC"},P:{"2":"I SC TC UC VC WC dB XC YC ZC aC"},Q:{"2":"bC"},R:{"2":"cC"},S:{"2":"dC"}},B:5,C:"CSS hanging-punctuation"}; diff --git a/tools/node_modules/@babel/core/node_modules/caniuse-lite/data/features/css-has.js b/tools/node_modules/@babel/core/node_modules/caniuse-lite/data/features/css-has.js new file mode 100644 index 00000000000000..52bfead4380192 --- /dev/null +++ b/tools/node_modules/@babel/core/node_modules/caniuse-lite/data/features/css-has.js @@ -0,0 +1 @@ +module.exports={A:{A:{"2":"J D E F A B gB"},B:{"2":"C K L G M N O R S T U V W X Y Z P a H"},C:{"2":"0 1 2 3 4 5 6 7 8 9 hB XB I b J D E F A B C K L G M N O c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB YB GB ZB Q HB IB JB KB LB MB NB OB PB QB RB SB TB UB aB bB R S T iB U V W X Y Z P a H jB kB"},D:{"2":"0 1 2 3 4 5 6 7 8 9 I b J D E F A B C K L G M N O c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB YB GB ZB Q HB IB JB KB LB MB NB OB PB QB RB SB TB UB aB bB R S T U V W X Y Z P a H lB mB nB"},E:{"2":"I b J D E F A B C K L G oB cB pB qB rB sB dB VB WB tB uB vB"},F:{"2":"0 1 2 3 4 5 6 7 8 9 F B C G M N O c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB GB Q HB IB JB KB LB MB NB OB PB QB RB SB TB UB wB xB yB zB VB eB 0B WB"},G:{"2":"E cB 1B fB 2B 3B 4B 5B 6B 7B 8B 9B AC BC CC DC EC FC GC HC IC JC"},H:{"2":"KC"},I:{"2":"XB I H LC MC NC OC fB PC QC"},J:{"2":"D A"},K:{"2":"A B C Q VB eB WB"},L:{"2":"H"},M:{"2":"P"},N:{"2":"A B"},O:{"2":"RC"},P:{"2":"I SC TC UC VC WC dB XC YC ZC aC"},Q:{"2":"bC"},R:{"2":"cC"},S:{"2":"dC"}},B:5,C:":has() CSS relational pseudo-class"}; diff --git a/tools/node_modules/@babel/core/node_modules/caniuse-lite/data/features/css-hyphenate.js b/tools/node_modules/@babel/core/node_modules/caniuse-lite/data/features/css-hyphenate.js new file mode 100644 index 00000000000000..afb15db6f93e30 --- /dev/null +++ b/tools/node_modules/@babel/core/node_modules/caniuse-lite/data/features/css-hyphenate.js @@ -0,0 +1 @@ +module.exports={A:{A:{"16":"J D E F A B gB"},B:{"1":"R S T U V W X Y Z P a H","16":"C K L G M N O"},C:{"16":"0 1 2 3 4 5 6 7 8 9 hB XB I b J D E F A B C K L G M N O c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB YB GB ZB Q HB IB JB KB LB MB NB OB PB QB RB SB TB UB aB bB R S T iB U V W X Y Z P a H jB kB"},D:{"1":"CB DB EB FB YB GB ZB Q HB IB JB KB LB MB NB OB PB QB RB SB TB UB aB bB R S T U V W X Y Z P a H lB mB nB","16":"0 1 2 3 4 5 6 7 8 9 I b J D E F A B C K L G M N O c d e f g h i j k l m n o p q r s t u v w x y z AB BB"},E:{"16":"I b J D E F A B C K L G oB cB pB qB rB sB dB VB WB tB uB vB"},F:{"16":"0 1 2 3 4 5 6 7 8 9 F B C G M N O c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB GB Q HB IB JB KB LB MB NB OB PB QB RB SB TB UB wB xB yB zB VB eB 0B WB"},G:{"16":"E cB 1B fB 2B 3B 4B 5B 6B 7B 8B 9B AC BC CC DC EC FC GC HC IC JC"},H:{"16":"KC"},I:{"16":"XB I H LC MC NC OC fB PC QC"},J:{"16":"D A"},K:{"16":"A B C Q VB eB WB"},L:{"16":"H"},M:{"16":"P"},N:{"16":"A B"},O:{"16":"RC"},P:{"16":"I SC TC UC VC WC dB XC YC ZC aC"},Q:{"16":"bC"},R:{"16":"cC"},S:{"16":"dC"}},B:5,C:"CSS4 Hyphenation"}; diff --git a/tools/node_modules/@babel/core/node_modules/caniuse-lite/data/features/css-hyphens.js b/tools/node_modules/@babel/core/node_modules/caniuse-lite/data/features/css-hyphens.js new file mode 100644 index 00000000000000..9a17fd16034082 --- /dev/null +++ b/tools/node_modules/@babel/core/node_modules/caniuse-lite/data/features/css-hyphens.js @@ -0,0 +1 @@ +module.exports={A:{A:{"2":"J D E F gB","33":"A B"},B:{"33":"C K L G M N O","132":"R S T U V W X Y","260":"Z P a H"},C:{"1":"0 1 2 3 4 5 6 7 8 9 AB BB CB DB EB FB YB GB ZB Q HB IB JB KB LB MB NB OB PB QB RB SB TB UB aB bB R S T iB U V W X Y Z P a H","2":"hB XB I b jB kB","33":"J D E F A B C K L G M N O c d e f g h i j k l m n o p q r s t u v w x y z"},D:{"1":"Z P a H lB mB nB","2":"0 1 2 3 4 5 6 7 8 9 I b J D E F A B C K L G M N O c d e f g h i j k l m n o p q r s t u v w x y z AB BB","132":"CB DB EB FB YB GB ZB Q HB IB JB KB LB MB NB OB PB QB RB SB TB UB aB bB R S T U V W X Y"},E:{"2":"I b oB cB","33":"J D E F A B C K L G pB qB rB sB dB VB WB tB uB vB"},F:{"2":"F B C G M N O c d e f g h i j k l m n o p q r s t u v w x y wB xB yB zB VB eB 0B WB","132":"0 1 2 3 4 5 6 7 8 9 z AB BB CB DB EB FB GB Q HB IB JB KB LB MB NB OB PB QB RB SB TB UB"},G:{"2":"cB 1B","33":"E fB 2B 3B 4B 5B 6B 7B 8B 9B AC BC CC DC EC FC GC HC IC JC"},H:{"2":"KC"},I:{"1":"H","2":"XB I LC MC NC OC fB PC QC"},J:{"2":"D A"},K:{"1":"Q","2":"A B C VB eB WB"},L:{"1":"H"},M:{"1":"P"},N:{"2":"A B"},O:{"4":"RC"},P:{"1":"TC UC VC WC dB XC YC ZC aC","2":"I","132":"SC"},Q:{"2":"bC"},R:{"132":"cC"},S:{"1":"dC"}},B:5,C:"CSS Hyphenation"}; diff --git a/tools/node_modules/@babel/core/node_modules/caniuse-lite/data/features/css-image-orientation.js b/tools/node_modules/@babel/core/node_modules/caniuse-lite/data/features/css-image-orientation.js new file mode 100644 index 00000000000000..98a7b0200cea1b --- /dev/null +++ b/tools/node_modules/@babel/core/node_modules/caniuse-lite/data/features/css-image-orientation.js @@ -0,0 +1 @@ +module.exports={A:{A:{"2":"J D E F A B gB"},B:{"1":"P a H","2":"C K L G M N O R S","257":"T U V W X Y Z"},C:{"1":"0 1 2 3 4 5 6 7 8 9 j k l m n o p q r s t u v w x y z AB BB CB DB EB FB YB GB ZB Q HB IB JB KB LB MB NB OB PB QB RB SB TB UB aB bB R S T iB U V W X Y Z P a H","2":"hB XB I b J D E F A B C K L G M N O c d e f g h i jB kB"},D:{"1":"P a H lB mB nB","2":"0 1 2 3 4 5 6 7 8 9 I b J D E F A B C K L G M N O c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB YB GB ZB Q HB IB JB KB LB MB NB OB PB QB RB SB TB UB aB bB R S","257":"T U V W X Y Z"},E:{"1":"L G tB uB vB","2":"I b J D E F A B C K oB cB pB qB rB sB dB VB WB"},F:{"1":"MB NB OB PB QB","2":"0 1 2 3 4 5 6 7 8 9 F B C G M N O c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB GB Q HB IB JB KB LB wB xB yB zB VB eB 0B WB","257":"RB SB TB UB"},G:{"1":"IC JC","132":"E cB 1B fB 2B 3B 4B 5B 6B 7B 8B 9B AC BC CC DC EC FC GC HC"},H:{"2":"KC"},I:{"1":"H","2":"XB I LC MC NC OC fB PC QC"},J:{"2":"D A"},K:{"2":"A B C Q VB eB WB"},L:{"1":"H"},M:{"1":"P"},N:{"2":"A B"},O:{"2":"RC"},P:{"1":"ZC aC","2":"I SC TC UC VC WC dB XC YC"},Q:{"2":"bC"},R:{"2":"cC"},S:{"1":"dC"}},B:4,C:"CSS3 image-orientation"}; diff --git a/tools/node_modules/@babel/core/node_modules/caniuse-lite/data/features/css-image-set.js b/tools/node_modules/@babel/core/node_modules/caniuse-lite/data/features/css-image-set.js new file mode 100644 index 00000000000000..41feddc04cdd4a --- /dev/null +++ b/tools/node_modules/@babel/core/node_modules/caniuse-lite/data/features/css-image-set.js @@ -0,0 +1 @@ +module.exports={A:{A:{"2":"J D E F A B gB"},B:{"2":"C K L G M N O","164":"R S T U V W X Y Z P a H"},C:{"2":"0 1 2 3 4 5 6 7 8 9 hB XB I b J D E F A B C K L G M N O c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB YB GB ZB Q HB IB JB KB LB MB NB OB PB QB RB SB TB UB aB bB R S T iB U V W jB kB","66":"X Y","260":"P a H","772":"Z"},D:{"2":"I b J D E F A B C K L G M N O c d","164":"0 1 2 3 4 5 6 7 8 9 e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB YB GB ZB Q HB IB JB KB LB MB NB OB PB QB RB SB TB UB aB bB R S T U V W X Y Z P a H lB mB nB"},E:{"2":"I b oB cB pB","132":"A B C K dB VB WB tB","164":"J D E F qB rB sB","516":"L G uB vB"},F:{"2":"F B C wB xB yB zB VB eB 0B WB","164":"0 1 2 3 4 5 6 7 8 9 G M N O c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB GB Q HB IB JB KB LB MB NB OB PB QB RB SB TB UB"},G:{"2":"cB 1B fB 2B","132":"8B 9B AC BC CC DC EC FC GC HC","164":"E 3B 4B 5B 6B 7B","516":"IC JC"},H:{"2":"KC"},I:{"2":"XB I LC MC NC OC fB","164":"H PC QC"},J:{"2":"D","164":"A"},K:{"2":"A B C VB eB WB","164":"Q"},L:{"164":"H"},M:{"260":"P"},N:{"2":"A B"},O:{"164":"RC"},P:{"164":"I SC TC UC VC WC dB XC YC ZC aC"},Q:{"164":"bC"},R:{"164":"cC"},S:{"2":"dC"}},B:5,C:"CSS image-set"}; diff --git a/tools/node_modules/@babel/core/node_modules/caniuse-lite/data/features/css-in-out-of-range.js b/tools/node_modules/@babel/core/node_modules/caniuse-lite/data/features/css-in-out-of-range.js new file mode 100644 index 00000000000000..9194c639b9e6b3 --- /dev/null +++ b/tools/node_modules/@babel/core/node_modules/caniuse-lite/data/features/css-in-out-of-range.js @@ -0,0 +1 @@ +module.exports={A:{A:{"2":"J D E F A B gB"},B:{"1":"R S T U V W X Y Z P a H","2":"C","260":"K L G M N O"},C:{"1":"7 8 9 AB BB CB DB EB FB YB GB ZB Q HB IB JB KB LB MB NB OB PB QB RB SB TB UB aB bB R S T iB U V W X Y Z P a H","2":"hB XB I b J D E F A B C K L G M N O c d e f g h i j k l jB kB","516":"0 1 2 3 4 5 6 m n o p q r s t u v w x y z"},D:{"1":"AB BB CB DB EB FB YB GB ZB Q HB IB JB KB LB MB NB OB PB QB RB SB TB UB aB bB R S T U V W X Y Z P a H lB mB nB","2":"I","16":"b J D E F A B C K L","260":"9","772":"0 1 2 3 4 5 6 7 8 G M N O c d e f g h i j k l m n o p q r s t u v w x y z"},E:{"1":"B C K L G dB VB WB tB uB vB","2":"I oB cB","16":"b","772":"J D E F A pB qB rB sB"},F:{"1":"0 1 2 3 4 5 6 7 8 9 x y z AB BB CB DB EB FB GB Q HB IB JB KB LB MB NB OB PB QB RB SB TB UB","16":"F wB","260":"B C w xB yB zB VB eB 0B WB","772":"G M N O c d e f g h i j k l m n o p q r s t u v"},G:{"1":"9B AC BC CC DC EC FC GC HC IC JC","2":"cB 1B fB","772":"E 2B 3B 4B 5B 6B 7B 8B"},H:{"132":"KC"},I:{"1":"H","2":"XB LC MC NC","260":"I OC fB PC QC"},J:{"2":"D","260":"A"},K:{"1":"Q","260":"A B C VB eB WB"},L:{"1":"H"},M:{"1":"P"},N:{"2":"A B"},O:{"1":"RC"},P:{"1":"SC TC UC VC WC dB XC YC ZC aC","260":"I"},Q:{"1":"bC"},R:{"1":"cC"},S:{"516":"dC"}},B:5,C:":in-range and :out-of-range CSS pseudo-classes"}; diff --git a/tools/node_modules/@babel/core/node_modules/caniuse-lite/data/features/css-indeterminate-pseudo.js b/tools/node_modules/@babel/core/node_modules/caniuse-lite/data/features/css-indeterminate-pseudo.js new file mode 100644 index 00000000000000..4e3ba251e31d9c --- /dev/null +++ b/tools/node_modules/@babel/core/node_modules/caniuse-lite/data/features/css-indeterminate-pseudo.js @@ -0,0 +1 @@ +module.exports={A:{A:{"2":"J D E gB","132":"A B","388":"F"},B:{"1":"R S T U V W X Y Z P a H","132":"C K L G M N O"},C:{"1":"8 9 AB BB CB DB EB FB YB GB ZB Q HB IB JB KB LB MB NB OB PB QB RB SB TB UB aB bB R S T iB U V W X Y Z P a H","16":"hB XB jB kB","132":"0 1 2 3 4 5 6 7 J D E F A B C K L G M N O c d e f g h i j k l m n o p q r s t u v w x y z","388":"I b"},D:{"1":"0 1 2 3 4 5 6 7 8 9 w x y z AB BB CB DB EB FB YB GB ZB Q HB IB JB KB LB MB NB OB PB QB RB SB TB UB aB bB R S T U V W X Y Z P a H lB mB nB","16":"I b J D E F A B C K L","132":"G M N O c d e f g h i j k l m n o p q r s t u v"},E:{"1":"B C K L G dB VB WB tB uB vB","16":"I b J oB cB","132":"D E F A qB rB sB","388":"pB"},F:{"1":"0 1 2 3 4 5 6 7 8 9 j k l m n o p q r s t u v w x y z AB BB CB DB EB FB GB Q HB IB JB KB LB MB NB OB PB QB RB SB TB UB","16":"F B wB xB yB zB VB eB","132":"G M N O c d e f g h i","516":"C 0B WB"},G:{"1":"9B AC BC CC DC EC FC GC HC IC JC","16":"cB 1B fB 2B 3B","132":"E 4B 5B 6B 7B 8B"},H:{"516":"KC"},I:{"1":"H","16":"XB LC MC NC QC","132":"PC","388":"I OC fB"},J:{"16":"D","132":"A"},K:{"1":"Q","16":"A B C VB eB","516":"WB"},L:{"1":"H"},M:{"1":"P"},N:{"132":"A B"},O:{"1":"RC"},P:{"1":"I SC TC UC VC WC dB XC YC ZC aC"},Q:{"1":"bC"},R:{"1":"cC"},S:{"132":"dC"}},B:7,C:":indeterminate CSS pseudo-class"}; diff --git a/tools/node_modules/@babel/core/node_modules/caniuse-lite/data/features/css-initial-letter.js b/tools/node_modules/@babel/core/node_modules/caniuse-lite/data/features/css-initial-letter.js new file mode 100644 index 00000000000000..47ced1ed6e43e7 --- /dev/null +++ b/tools/node_modules/@babel/core/node_modules/caniuse-lite/data/features/css-initial-letter.js @@ -0,0 +1 @@ +module.exports={A:{A:{"2":"J D E F A B gB"},B:{"2":"C K L G M N O R S T U V W X Y Z P a H"},C:{"2":"0 1 2 3 4 5 6 7 8 9 hB XB I b J D E F A B C K L G M N O c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB YB GB ZB Q HB IB JB KB LB MB NB OB PB QB RB SB TB UB aB bB R S T iB U V W X Y Z P a H jB kB"},D:{"2":"0 1 2 3 4 5 6 7 8 9 I b J D E F A B C K L G M N O c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB YB GB ZB Q HB IB JB KB LB MB NB OB PB QB RB SB TB UB aB bB R S T U V W X Y Z P a H lB mB nB"},E:{"2":"I b J D E oB cB pB qB rB","4":"F","164":"A B C K L G sB dB VB WB tB uB vB"},F:{"2":"0 1 2 3 4 5 6 7 8 9 F B C G M N O c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB GB Q HB IB JB KB LB MB NB OB PB QB RB SB TB UB wB xB yB zB VB eB 0B WB"},G:{"2":"E cB 1B fB 2B 3B 4B 5B","164":"6B 7B 8B 9B AC BC CC DC EC FC GC HC IC JC"},H:{"2":"KC"},I:{"2":"XB I H LC MC NC OC fB PC QC"},J:{"2":"D A"},K:{"2":"A B C Q VB eB WB"},L:{"2":"H"},M:{"2":"P"},N:{"2":"A B"},O:{"2":"RC"},P:{"2":"I SC TC UC VC WC dB XC YC ZC aC"},Q:{"2":"bC"},R:{"2":"cC"},S:{"2":"dC"}},B:5,C:"CSS Initial Letter"}; diff --git a/tools/node_modules/@babel/core/node_modules/caniuse-lite/data/features/css-initial-value.js b/tools/node_modules/@babel/core/node_modules/caniuse-lite/data/features/css-initial-value.js new file mode 100644 index 00000000000000..e0bca99c9b00ed --- /dev/null +++ b/tools/node_modules/@babel/core/node_modules/caniuse-lite/data/features/css-initial-value.js @@ -0,0 +1 @@ +module.exports={A:{A:{"2":"J D E F A B gB"},B:{"1":"C K L G M N O R S T U V W X Y Z P a H"},C:{"1":"0 1 2 3 4 5 6 7 8 9 c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB YB GB ZB Q HB IB JB KB LB MB NB OB PB QB RB SB TB UB aB bB R S T iB U V W X Y Z P a H","33":"I b J D E F A B C K L G M N O jB kB","164":"hB XB"},D:{"1":"0 1 2 3 4 5 6 7 8 9 I b J D E F A B C K L G M N O c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB YB GB ZB Q HB IB JB KB LB MB NB OB PB QB RB SB TB UB aB bB R S T U V W X Y Z P a H lB mB nB"},E:{"1":"I b J D E F A B C K L G cB pB qB rB sB dB VB WB tB uB vB","16":"oB"},F:{"1":"0 1 2 3 4 5 6 7 8 9 G M N O c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB GB Q HB IB JB KB LB MB NB OB PB QB RB SB TB UB","2":"F B C wB xB yB zB VB eB 0B WB"},G:{"1":"E 1B fB 2B 3B 4B 5B 6B 7B 8B 9B AC BC CC DC EC FC GC HC IC JC","16":"cB"},H:{"2":"KC"},I:{"1":"XB I H NC OC fB PC QC","16":"LC MC"},J:{"1":"D A"},K:{"1":"Q","2":"A B C VB eB WB"},L:{"1":"H"},M:{"1":"P"},N:{"2":"A B"},O:{"1":"RC"},P:{"1":"I SC TC UC VC WC dB XC YC ZC aC"},Q:{"1":"bC"},R:{"1":"cC"},S:{"1":"dC"}},B:4,C:"CSS initial value"}; diff --git a/tools/node_modules/@babel/core/node_modules/caniuse-lite/data/features/css-letter-spacing.js b/tools/node_modules/@babel/core/node_modules/caniuse-lite/data/features/css-letter-spacing.js new file mode 100644 index 00000000000000..293ae4cc5bc5b2 --- /dev/null +++ b/tools/node_modules/@babel/core/node_modules/caniuse-lite/data/features/css-letter-spacing.js @@ -0,0 +1 @@ +module.exports={A:{A:{"1":"F A B","16":"gB","132":"J D E"},B:{"1":"C K L G M N O R S T U V W X Y Z P a H"},C:{"1":"0 1 2 3 4 5 6 7 8 9 hB XB I b J D E F A B C K L G M N O c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB YB GB ZB Q HB IB JB KB LB MB NB OB PB QB RB SB TB UB aB bB R S T iB U V W X Y Z P a H jB kB"},D:{"1":"0 1 2 3 4 5 6 7 8 9 n o p q r s t u v w x y z AB BB CB DB EB FB YB GB ZB Q HB IB JB KB LB MB NB OB PB QB RB SB TB UB aB bB R S T U V W X Y Z P a H lB mB nB","132":"I b J D E F A B C K L G M N O c d e f g h i j k l m"},E:{"1":"D E F A B C K L G qB rB sB dB VB WB tB uB vB","16":"oB","132":"I b J cB pB"},F:{"1":"0 1 2 3 4 5 6 7 8 9 N O c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB GB Q HB IB JB KB LB MB NB OB PB QB RB SB TB UB","16":"F wB","132":"B C G M xB yB zB VB eB 0B WB"},G:{"1":"E 1B fB 2B 3B 4B 5B 6B 7B 8B 9B AC BC CC DC EC FC GC HC IC JC","16":"cB"},H:{"2":"KC"},I:{"1":"H PC QC","16":"LC MC","132":"XB I NC OC fB"},J:{"132":"D A"},K:{"1":"Q","132":"A B C VB eB WB"},L:{"1":"H"},M:{"1":"P"},N:{"1":"A B"},O:{"1":"RC"},P:{"1":"I SC TC UC VC WC dB XC YC ZC aC"},Q:{"1":"bC"},R:{"1":"cC"},S:{"1":"dC"}},B:2,C:"letter-spacing CSS property"}; diff --git a/tools/node_modules/@babel/core/node_modules/caniuse-lite/data/features/css-line-clamp.js b/tools/node_modules/@babel/core/node_modules/caniuse-lite/data/features/css-line-clamp.js new file mode 100644 index 00000000000000..7f36a4c76edec2 --- /dev/null +++ b/tools/node_modules/@babel/core/node_modules/caniuse-lite/data/features/css-line-clamp.js @@ -0,0 +1 @@ +module.exports={A:{A:{"2":"J D E F A B gB"},B:{"2":"C K L G M","33":"R S T U V W X Y Z P a H","129":"N O"},C:{"2":"0 1 2 3 4 5 6 7 8 9 hB XB I b J D E F A B C K L G M N O c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB YB GB ZB Q HB IB JB KB LB jB kB","33":"MB NB OB PB QB RB SB TB UB aB bB R S T iB U V W X Y Z P a H"},D:{"16":"I b J D E F A B C K","33":"0 1 2 3 4 5 6 7 8 9 L G M N O c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB YB GB ZB Q HB IB JB KB LB MB NB OB PB QB RB SB TB UB aB bB R S T U V W X Y Z P a H lB mB nB"},E:{"2":"I oB cB","33":"b J D E F A B C K L G pB qB rB sB dB VB WB tB uB vB"},F:{"2":"F B C wB xB yB zB VB eB 0B WB","33":"0 1 2 3 4 5 6 7 8 9 G M N O c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB GB Q HB IB JB KB LB MB NB OB PB QB RB SB TB UB"},G:{"2":"cB 1B fB","33":"E 2B 3B 4B 5B 6B 7B 8B 9B AC BC CC DC EC FC GC HC IC JC"},H:{"2":"KC"},I:{"16":"LC MC","33":"XB I H NC OC fB PC QC"},J:{"33":"D A"},K:{"2":"A B C VB eB WB","33":"Q"},L:{"33":"H"},M:{"33":"P"},N:{"2":"A B"},O:{"33":"RC"},P:{"33":"I SC TC UC VC WC dB XC YC ZC aC"},Q:{"33":"bC"},R:{"33":"cC"},S:{"2":"dC"}},B:5,C:"CSS line-clamp"}; diff --git a/tools/node_modules/@babel/core/node_modules/caniuse-lite/data/features/css-logical-props.js b/tools/node_modules/@babel/core/node_modules/caniuse-lite/data/features/css-logical-props.js new file mode 100644 index 00000000000000..5227d071803cf1 --- /dev/null +++ b/tools/node_modules/@babel/core/node_modules/caniuse-lite/data/features/css-logical-props.js @@ -0,0 +1 @@ +module.exports={A:{A:{"2":"J D E F A B gB"},B:{"1":"P a H","2":"C K L G M N O","2052":"Y Z","3588":"R S T U V W X"},C:{"1":"0 1 2 3 4 5 6 7 8 9 y z AB BB CB DB EB FB YB GB ZB Q HB IB JB KB LB MB NB OB PB QB RB SB TB UB aB bB R S T iB U V W X Y Z P a H","2":"hB","164":"XB I b J D E F A B C K L G M N O c d e f g h i j k l m n o p q r s t u v w x jB kB"},D:{"1":"P a H lB mB nB","292":"0 1 2 3 4 5 6 7 8 9 I b J D E F A B C K L G M N O c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB YB GB ZB Q HB IB JB KB LB MB","2052":"Y Z","3588":"NB OB PB QB RB SB TB UB aB bB R S T U V W X"},E:{"1":"G vB","292":"I b J D E F A B C oB cB pB qB rB sB dB VB","2052":"uB","3588":"K L WB tB"},F:{"1":"UB","2":"F B C wB xB yB zB VB eB 0B WB","292":"0 1 2 3 4 5 6 7 8 9 G M N O c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB","2052":"SB TB","3588":"DB EB FB GB Q HB IB JB KB LB MB NB OB PB QB RB"},G:{"292":"E cB 1B fB 2B 3B 4B 5B 6B 7B 8B 9B AC BC CC","2052":"JC","3588":"DC EC FC GC HC IC"},H:{"2":"KC"},I:{"1":"H","292":"XB I LC MC NC OC fB PC QC"},J:{"292":"D A"},K:{"2":"A B C VB eB WB","3588":"Q"},L:{"1":"H"},M:{"1":"P"},N:{"2":"A B"},O:{"292":"RC"},P:{"292":"I SC TC UC VC WC","3588":"dB XC YC ZC aC"},Q:{"3588":"bC"},R:{"3588":"cC"},S:{"3588":"dC"}},B:5,C:"CSS Logical Properties"}; diff --git a/tools/node_modules/@babel/core/node_modules/caniuse-lite/data/features/css-marker-pseudo.js b/tools/node_modules/@babel/core/node_modules/caniuse-lite/data/features/css-marker-pseudo.js new file mode 100644 index 00000000000000..456fac6a351ff6 --- /dev/null +++ b/tools/node_modules/@babel/core/node_modules/caniuse-lite/data/features/css-marker-pseudo.js @@ -0,0 +1 @@ +module.exports={A:{A:{"2":"J D E F A B gB"},B:{"1":"X Y Z P a H","2":"C K L G M N O R S T U V W"},C:{"1":"MB NB OB PB QB RB SB TB UB aB bB R S T iB U V W X Y Z P a H","2":"0 1 2 3 4 5 6 7 8 9 hB XB I b J D E F A B C K L G M N O c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB YB GB ZB Q HB IB JB KB LB jB kB"},D:{"1":"X Y Z P a H lB mB nB","2":"0 1 2 3 4 5 6 7 8 9 I b J D E F A B C K L G M N O c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB YB GB ZB Q HB IB JB KB LB MB NB OB PB QB RB SB TB UB aB bB R S T U V W"},E:{"2":"I b J D E F A B oB cB pB qB rB sB dB","129":"C K L G VB WB tB uB vB"},F:{"1":"QB RB SB TB UB","2":"0 1 2 3 4 5 6 7 8 9 F B C G M N O c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB GB Q HB IB JB KB LB MB NB OB PB wB xB yB zB VB eB 0B WB"},G:{"1":"BC CC DC EC FC GC HC IC JC","2":"E cB 1B fB 2B 3B 4B 5B 6B 7B 8B 9B AC"},H:{"2":"KC"},I:{"1":"H","2":"XB I LC MC NC OC fB PC QC"},J:{"2":"D A"},K:{"1":"Q","2":"A B C VB eB WB"},L:{"1":"H"},M:{"1":"P"},N:{"2":"A B"},O:{"2":"RC"},P:{"1":"aC","2":"I SC TC UC VC WC dB XC YC ZC"},Q:{"2":"bC"},R:{"2":"cC"},S:{"2":"dC"}},B:5,C:"CSS ::marker pseudo-element"}; diff --git a/tools/node_modules/@babel/core/node_modules/caniuse-lite/data/features/css-masks.js b/tools/node_modules/@babel/core/node_modules/caniuse-lite/data/features/css-masks.js new file mode 100644 index 00000000000000..dd9d667f95b5bc --- /dev/null +++ b/tools/node_modules/@babel/core/node_modules/caniuse-lite/data/features/css-masks.js @@ -0,0 +1 @@ +module.exports={A:{A:{"2":"J D E F A B gB"},B:{"2":"C K L G M","164":"R S T U V W X Y Z P a H","3138":"N","12292":"O"},C:{"1":"AB BB CB DB EB FB YB GB ZB Q HB IB JB KB LB MB NB OB PB QB RB SB TB UB aB bB R S T iB U V W X Y Z P a H","2":"hB XB","260":"0 1 2 3 4 5 6 7 8 9 I b J D E F A B C K L G M N O c d e f g h i j k l m n o p q r s t u v w x y z jB kB"},D:{"164":"0 1 2 3 4 5 6 7 8 9 I b J D E F A B C K L G M N O c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB YB GB ZB Q HB IB JB KB LB MB NB OB PB QB RB SB TB UB aB bB R S T U V W X Y Z P a H lB mB nB"},E:{"2":"oB cB","164":"I b J D E F A B C K L G pB qB rB sB dB VB WB tB uB vB"},F:{"2":"F B C wB xB yB zB VB eB 0B WB","164":"0 1 2 3 4 5 6 7 8 9 G M N O c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB GB Q HB IB JB KB LB MB NB OB PB QB RB SB TB UB"},G:{"164":"E cB 1B fB 2B 3B 4B 5B 6B 7B 8B 9B AC BC CC DC EC FC GC HC IC JC"},H:{"2":"KC"},I:{"164":"H PC QC","676":"XB I LC MC NC OC fB"},J:{"164":"D A"},K:{"2":"A B C VB eB WB","164":"Q"},L:{"164":"H"},M:{"1":"P"},N:{"2":"A B"},O:{"164":"RC"},P:{"164":"I SC TC UC VC WC dB XC YC ZC aC"},Q:{"164":"bC"},R:{"164":"cC"},S:{"260":"dC"}},B:4,C:"CSS Masks"}; diff --git a/tools/node_modules/@babel/core/node_modules/caniuse-lite/data/features/css-matches-pseudo.js b/tools/node_modules/@babel/core/node_modules/caniuse-lite/data/features/css-matches-pseudo.js new file mode 100644 index 00000000000000..5d3416819d6c55 --- /dev/null +++ b/tools/node_modules/@babel/core/node_modules/caniuse-lite/data/features/css-matches-pseudo.js @@ -0,0 +1 @@ +module.exports={A:{A:{"2":"J D E F A B gB"},B:{"1":"Z P a H","2":"C K L G M N O","1220":"R S T U V W X Y"},C:{"1":"bB R S T iB U V W X Y Z P a H","16":"hB XB jB kB","548":"0 1 2 3 4 5 6 7 8 9 I b J D E F A B C K L G M N O c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB YB GB ZB Q HB IB JB KB LB MB NB OB PB QB RB SB TB UB aB"},D:{"1":"Z P a H lB mB nB","16":"I b J D E F A B C K L","164":"0 1 2 3 4 5 6 7 8 9 G M N O c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB YB GB ZB Q HB IB","196":"JB KB LB","1220":"MB NB OB PB QB RB SB TB UB aB bB R S T U V W X Y"},E:{"1":"L G uB vB","2":"I oB cB","16":"b","164":"J D E pB qB rB","260":"F A B C K sB dB VB WB tB"},F:{"1":"TB UB","2":"F B C wB xB yB zB VB eB 0B WB","164":"0 1 2 3 4 5 6 7 8 G M N O c d e f g h i j k l m n o p q r s t u v w x y z","196":"9 AB BB","1220":"CB DB EB FB GB Q HB IB JB KB LB MB NB OB PB QB RB SB"},G:{"1":"IC JC","16":"cB 1B fB 2B 3B","164":"E 4B 5B","260":"6B 7B 8B 9B AC BC CC DC EC FC GC HC"},H:{"2":"KC"},I:{"1":"H","16":"XB LC MC NC","164":"I OC fB PC QC"},J:{"16":"D","164":"A"},K:{"1":"Q","2":"A B C VB eB WB"},L:{"1":"H"},M:{"1":"P"},N:{"2":"A B"},O:{"164":"RC"},P:{"164":"I SC TC UC VC WC dB XC YC ZC aC"},Q:{"1220":"bC"},R:{"164":"cC"},S:{"548":"dC"}},B:5,C:":is() CSS pseudo-class"}; diff --git a/tools/node_modules/@babel/core/node_modules/caniuse-lite/data/features/css-math-functions.js b/tools/node_modules/@babel/core/node_modules/caniuse-lite/data/features/css-math-functions.js new file mode 100644 index 00000000000000..01cf8ad55507f5 --- /dev/null +++ b/tools/node_modules/@babel/core/node_modules/caniuse-lite/data/features/css-math-functions.js @@ -0,0 +1 @@ +module.exports={A:{A:{"2":"J D E F A B gB"},B:{"1":"R S T U V W X Y Z P a H","2":"C K L G M N O"},C:{"1":"TB UB aB bB R S T iB U V W X Y Z P a H","2":"0 1 2 3 4 5 6 7 8 9 hB XB I b J D E F A B C K L G M N O c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB YB GB ZB Q HB IB JB KB LB MB NB OB PB QB RB SB jB kB"},D:{"1":"R S T U V W X Y Z P a H lB mB nB","2":"0 1 2 3 4 5 6 7 8 9 I b J D E F A B C K L G M N O c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB YB GB ZB Q HB IB JB KB LB MB NB OB PB QB RB SB TB UB aB bB"},E:{"1":"L G tB uB vB","2":"I b J D E F A B oB cB pB qB rB sB dB","132":"C K VB WB"},F:{"1":"KB LB MB NB OB PB QB RB SB TB UB","2":"0 1 2 3 4 5 6 7 8 9 F B C G M N O c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB GB Q HB IB JB wB xB yB zB VB eB 0B WB"},G:{"1":"HC IC JC","2":"E cB 1B fB 2B 3B 4B 5B 6B 7B 8B 9B AC","132":"BC CC DC EC FC GC"},H:{"2":"KC"},I:{"1":"H","2":"XB I LC MC NC OC fB PC QC"},J:{"2":"D A"},K:{"1":"Q","2":"A B C VB eB WB"},L:{"1":"H"},M:{"1":"P"},N:{"2":"A B"},O:{"2":"RC"},P:{"1":"YC ZC aC","2":"I SC TC UC VC WC dB XC"},Q:{"2":"bC"},R:{"2":"cC"},S:{"2":"dC"}},B:5,C:"CSS math functions min(), max() and clamp()"}; diff --git a/tools/node_modules/@babel/core/node_modules/caniuse-lite/data/features/css-media-interaction.js b/tools/node_modules/@babel/core/node_modules/caniuse-lite/data/features/css-media-interaction.js new file mode 100644 index 00000000000000..10564e4fa3f58b --- /dev/null +++ b/tools/node_modules/@babel/core/node_modules/caniuse-lite/data/features/css-media-interaction.js @@ -0,0 +1 @@ +module.exports={A:{A:{"2":"J D E F A B gB"},B:{"1":"C K L G M N O R S T U V W X Y Z P a H"},C:{"1":"IB JB KB LB MB NB OB PB QB RB SB TB UB aB bB R S T iB U V W X Y Z P a H","2":"0 1 2 3 4 5 6 7 8 9 hB XB I b J D E F A B C K L G M N O c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB YB GB ZB Q HB jB kB"},D:{"1":"0 1 2 3 4 5 6 7 8 9 y z AB BB CB DB EB FB YB GB ZB Q HB IB JB KB LB MB NB OB PB QB RB SB TB UB aB bB R S T U V W X Y Z P a H lB mB nB","2":"I b J D E F A B C K L G M N O c d e f g h i j k l m n o p q r s t u v w x"},E:{"1":"F A B C K L G sB dB VB WB tB uB vB","2":"I b J D E oB cB pB qB rB"},F:{"1":"0 1 2 3 4 5 6 7 8 9 l m n o p q r s t u v w x y z AB BB CB DB EB FB GB Q HB IB JB KB LB MB NB OB PB QB RB SB TB UB","2":"F B C G M N O c d e f g h i j k wB xB yB zB VB eB 0B WB"},G:{"1":"6B 7B 8B 9B AC BC CC DC EC FC GC HC IC JC","2":"E cB 1B fB 2B 3B 4B 5B"},H:{"2":"KC"},I:{"1":"H","2":"XB I LC MC NC OC fB PC QC"},J:{"2":"D A"},K:{"1":"Q","2":"A B C VB eB WB"},L:{"1":"H"},M:{"1":"P"},N:{"2":"A B"},O:{"1":"RC"},P:{"1":"SC TC UC VC WC dB XC YC ZC aC","2":"I"},Q:{"1":"bC"},R:{"1":"cC"},S:{"2":"dC"}},B:5,C:"Media Queries: interaction media features"}; diff --git a/tools/node_modules/@babel/core/node_modules/caniuse-lite/data/features/css-media-resolution.js b/tools/node_modules/@babel/core/node_modules/caniuse-lite/data/features/css-media-resolution.js new file mode 100644 index 00000000000000..6e34cd77218c32 --- /dev/null +++ b/tools/node_modules/@babel/core/node_modules/caniuse-lite/data/features/css-media-resolution.js @@ -0,0 +1 @@ +module.exports={A:{A:{"2":"J D E gB","132":"F A B"},B:{"1":"C K L G M N O R S T U V W X Y Z P a H"},C:{"1":"0 1 2 3 4 5 6 7 8 9 M N O c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB YB GB ZB Q HB IB JB KB LB MB NB OB PB QB RB SB TB UB aB bB R S T iB U V W X Y Z P a H","2":"hB XB","260":"I b J D E F A B C K L G jB kB"},D:{"1":"0 1 2 3 4 5 6 7 8 9 m n o p q r s t u v w x y z AB BB CB DB EB FB YB GB ZB Q HB IB JB KB LB MB NB OB PB QB RB SB TB UB aB bB R S T U V W X Y Z P a H lB mB nB","548":"I b J D E F A B C K L G M N O c d e f g h i j k l"},E:{"2":"oB cB","548":"I b J D E F A B C K L G pB qB rB sB dB VB WB tB uB vB"},F:{"1":"0 1 2 3 4 5 6 7 8 9 G M N O c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB GB Q HB IB JB KB LB MB NB OB PB QB RB SB TB UB WB","2":"F","548":"B C wB xB yB zB VB eB 0B"},G:{"16":"cB","548":"E 1B fB 2B 3B 4B 5B 6B 7B 8B 9B AC BC CC DC EC FC GC HC IC JC"},H:{"132":"KC"},I:{"1":"H PC QC","16":"LC MC","548":"XB I NC OC fB"},J:{"548":"D A"},K:{"1":"Q WB","548":"A B C VB eB"},L:{"1":"H"},M:{"1":"P"},N:{"132":"A B"},O:{"1":"RC"},P:{"1":"I SC TC UC VC WC dB XC YC ZC aC"},Q:{"1":"bC"},R:{"1":"cC"},S:{"1":"dC"}},B:2,C:"Media Queries: resolution feature"}; diff --git a/tools/node_modules/@babel/core/node_modules/caniuse-lite/data/features/css-media-scripting.js b/tools/node_modules/@babel/core/node_modules/caniuse-lite/data/features/css-media-scripting.js new file mode 100644 index 00000000000000..631bade8a6870e --- /dev/null +++ b/tools/node_modules/@babel/core/node_modules/caniuse-lite/data/features/css-media-scripting.js @@ -0,0 +1 @@ +module.exports={A:{A:{"2":"J D E F A B gB"},B:{"16":"C K L G M N O R S T U V W X Y Z P a H"},C:{"2":"0 1 2 3 4 5 6 7 8 hB XB I b J D E F A B C K L G M N O c d e f g h i j k l m n o p q r s t u v w x y z jB kB","16":"9 AB BB CB DB EB FB YB GB ZB Q HB IB JB KB LB MB NB OB PB QB RB SB TB UB aB bB R S T iB U V W X Y Z P a H"},D:{"2":"0 1 2 3 4 5 6 7 8 9 I b J D E F A B C K L G M N O c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB YB GB ZB Q HB IB JB KB LB MB NB OB PB QB RB SB TB UB aB bB R S T U V W X Y Z P a H","16":"lB mB nB"},E:{"2":"I b J D E F A B C K L G oB cB pB qB rB sB dB VB WB tB uB vB"},F:{"2":"0 1 2 3 4 5 6 7 8 9 F B C G M N O c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB GB Q HB IB JB KB LB MB NB OB PB QB RB SB TB UB wB xB yB zB VB eB 0B WB"},G:{"2":"E cB 1B fB 2B 3B 4B 5B 6B 7B 8B 9B AC BC CC DC EC FC GC HC IC JC"},H:{"2":"KC"},I:{"2":"XB I H LC MC NC OC fB PC QC"},J:{"2":"D A"},K:{"2":"A B C Q VB eB WB"},L:{"2":"H"},M:{"2":"P"},N:{"2":"A B"},O:{"2":"RC"},P:{"2":"I SC TC UC VC WC dB XC YC ZC aC"},Q:{"2":"bC"},R:{"2":"cC"},S:{"2":"dC"}},B:5,C:"Media Queries: scripting media feature"}; diff --git a/tools/node_modules/@babel/core/node_modules/caniuse-lite/data/features/css-mediaqueries.js b/tools/node_modules/@babel/core/node_modules/caniuse-lite/data/features/css-mediaqueries.js new file mode 100644 index 00000000000000..eebb3697b6c6b9 --- /dev/null +++ b/tools/node_modules/@babel/core/node_modules/caniuse-lite/data/features/css-mediaqueries.js @@ -0,0 +1 @@ +module.exports={A:{A:{"8":"J D E gB","129":"F A B"},B:{"1":"C K L G M N O R S T U V W X Y Z P a H"},C:{"1":"0 1 2 3 4 5 6 7 8 9 I b J D E F A B C K L G M N O c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB YB GB ZB Q HB IB JB KB LB MB NB OB PB QB RB SB TB UB aB bB R S T iB U V W X Y Z P a H jB kB","2":"hB XB"},D:{"1":"0 1 2 3 4 5 6 7 8 9 j k l m n o p q r s t u v w x y z AB BB CB DB EB FB YB GB ZB Q HB IB JB KB LB MB NB OB PB QB RB SB TB UB aB bB R S T U V W X Y Z P a H lB mB nB","129":"I b J D E F A B C K L G M N O c d e f g h i"},E:{"1":"D E F A B C K L G qB rB sB dB VB WB tB uB vB","129":"I b J pB","388":"oB cB"},F:{"1":"0 1 2 3 4 5 6 7 8 9 B C G M N O c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB GB Q HB IB JB KB LB MB NB OB PB QB RB SB TB UB wB xB yB zB VB eB 0B WB","2":"F"},G:{"1":"E 4B 5B 6B 7B 8B 9B AC BC CC DC EC FC GC HC IC JC","129":"cB 1B fB 2B 3B"},H:{"1":"KC"},I:{"1":"H PC QC","129":"XB I LC MC NC OC fB"},J:{"1":"D A"},K:{"1":"A B C Q VB eB WB"},L:{"1":"H"},M:{"1":"P"},N:{"129":"A B"},O:{"1":"RC"},P:{"1":"I SC TC UC VC WC dB XC YC ZC aC"},Q:{"1":"bC"},R:{"1":"cC"},S:{"1":"dC"}},B:2,C:"CSS3 Media Queries"}; diff --git a/tools/node_modules/@babel/core/node_modules/caniuse-lite/data/features/css-mixblendmode.js b/tools/node_modules/@babel/core/node_modules/caniuse-lite/data/features/css-mixblendmode.js new file mode 100644 index 00000000000000..51e815f30e52df --- /dev/null +++ b/tools/node_modules/@babel/core/node_modules/caniuse-lite/data/features/css-mixblendmode.js @@ -0,0 +1 @@ +module.exports={A:{A:{"2":"J D E F A B gB"},B:{"1":"R S T U V W X Y Z P a H","2":"C K L G M N O"},C:{"1":"0 1 2 3 4 5 6 7 8 9 p q r s t u v w x y z AB BB CB DB EB FB YB GB ZB Q HB IB JB KB LB MB NB OB PB QB RB SB TB UB aB bB R S T iB U V W X Y Z P a H","2":"hB XB I b J D E F A B C K L G M N O c d e f g h i j k l m n o jB kB"},D:{"1":"0 1 2 3 4 5 6 7 8 9 y z AB BB CB DB EB FB YB GB ZB Q HB IB JB KB LB MB NB OB PB QB RB SB TB UB aB bB R S T U V W X Y Z P a H lB mB nB","2":"I b J D E F A B C K L G M N O c d e f g h i j k l","194":"m n o p q r s t u v w x"},E:{"2":"I b J D oB cB pB qB","260":"E F A B C K L G rB sB dB VB WB tB uB vB"},F:{"1":"0 1 2 3 4 5 6 7 8 9 m n o p q r s t u v w x y z AB BB CB DB EB FB GB Q HB IB JB KB LB MB NB OB PB QB RB SB TB UB","2":"F B C G M N O c d e f g h i j k l wB xB yB zB VB eB 0B WB"},G:{"2":"cB 1B fB 2B 3B 4B","260":"E 5B 6B 7B 8B 9B AC BC CC DC EC FC GC HC IC JC"},H:{"2":"KC"},I:{"1":"H","2":"XB I LC MC NC OC fB PC QC"},J:{"2":"D A"},K:{"1":"Q","2":"A B C VB eB WB"},L:{"1":"H"},M:{"1":"P"},N:{"2":"A B"},O:{"1":"RC"},P:{"1":"SC TC UC VC WC dB XC YC ZC aC","2":"I"},Q:{"1":"bC"},R:{"1":"cC"},S:{"1":"dC"}},B:4,C:"Blending of HTML/SVG elements"}; diff --git a/tools/node_modules/@babel/core/node_modules/caniuse-lite/data/features/css-motion-paths.js b/tools/node_modules/@babel/core/node_modules/caniuse-lite/data/features/css-motion-paths.js new file mode 100644 index 00000000000000..b1fb2888342b04 --- /dev/null +++ b/tools/node_modules/@babel/core/node_modules/caniuse-lite/data/features/css-motion-paths.js @@ -0,0 +1 @@ +module.exports={A:{A:{"2":"J D E F A B gB"},B:{"1":"R S T U V W X Y Z P a H","2":"C K L G M N O"},C:{"1":"QB RB SB TB UB aB bB R S T iB U V W X Y Z P a H","2":"0 1 2 3 4 5 6 7 8 9 hB XB I b J D E F A B C K L G M N O c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB YB GB ZB Q HB IB JB KB LB MB NB OB PB jB kB"},D:{"1":"3 4 5 6 7 8 9 AB BB CB DB EB FB YB GB ZB Q HB IB JB KB LB MB NB OB PB QB RB SB TB UB aB bB R S T U V W X Y Z P a H lB mB nB","2":"I b J D E F A B C K L G M N O c d e f g h i j k l m n o p q r s t u v w x y z","194":"0 1 2"},E:{"2":"I b J D E F A B C K L G oB cB pB qB rB sB dB VB WB tB uB vB"},F:{"1":"0 1 2 3 4 5 6 7 8 9 q r s t u v w x y z AB BB CB DB EB FB GB Q HB IB JB KB LB MB NB OB PB QB RB SB TB UB","2":"F B C G M N O c d e f g h i j k l m wB xB yB zB VB eB 0B WB","194":"n o p"},G:{"2":"E cB 1B fB 2B 3B 4B 5B 6B 7B 8B 9B AC BC CC DC EC FC GC HC IC JC"},H:{"2":"KC"},I:{"1":"H","2":"XB I LC MC NC OC fB PC QC"},J:{"2":"D A"},K:{"1":"Q","2":"A B C VB eB WB"},L:{"1":"H"},M:{"1":"P"},N:{"2":"A B"},O:{"1":"RC"},P:{"1":"SC TC UC VC WC dB XC YC ZC aC","2":"I"},Q:{"1":"bC"},R:{"1":"cC"},S:{"2":"dC"}},B:5,C:"CSS Motion Path"}; diff --git a/tools/node_modules/@babel/core/node_modules/caniuse-lite/data/features/css-namespaces.js b/tools/node_modules/@babel/core/node_modules/caniuse-lite/data/features/css-namespaces.js new file mode 100644 index 00000000000000..6e558b7b0f69cf --- /dev/null +++ b/tools/node_modules/@babel/core/node_modules/caniuse-lite/data/features/css-namespaces.js @@ -0,0 +1 @@ +module.exports={A:{A:{"1":"F A B","2":"J D E gB"},B:{"1":"C K L G M N O R S T U V W X Y Z P a H"},C:{"1":"0 1 2 3 4 5 6 7 8 9 hB XB I b J D E F A B C K L G M N O c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB YB GB ZB Q HB IB JB KB LB MB NB OB PB QB RB SB TB UB aB bB R S T iB U V W X Y Z P a H jB kB"},D:{"1":"0 1 2 3 4 5 6 7 8 9 I b J D E F A B C K L G M N O c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB YB GB ZB Q HB IB JB KB LB MB NB OB PB QB RB SB TB UB aB bB R S T U V W X Y Z P a H lB mB nB"},E:{"1":"I b J D E F A B C K L G pB qB rB sB dB VB WB tB uB vB","16":"oB cB"},F:{"1":"0 1 2 3 4 5 6 7 8 9 F B C G M N O c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB GB Q HB IB JB KB LB MB NB OB PB QB RB SB TB UB wB xB yB zB VB eB 0B WB"},G:{"1":"E fB 2B 3B 4B 5B 6B 7B 8B 9B AC BC CC DC EC FC GC HC IC JC","16":"cB 1B"},H:{"1":"KC"},I:{"1":"XB I H LC MC NC OC fB PC QC"},J:{"1":"D A"},K:{"1":"A B C Q VB eB WB"},L:{"1":"H"},M:{"1":"P"},N:{"1":"A B"},O:{"1":"RC"},P:{"1":"I SC TC UC VC WC dB XC YC ZC aC"},Q:{"1":"bC"},R:{"1":"cC"},S:{"1":"dC"}},B:2,C:"CSS namespaces"}; diff --git a/tools/node_modules/@babel/core/node_modules/caniuse-lite/data/features/css-not-sel-list.js b/tools/node_modules/@babel/core/node_modules/caniuse-lite/data/features/css-not-sel-list.js new file mode 100644 index 00000000000000..dfb068845ea325 --- /dev/null +++ b/tools/node_modules/@babel/core/node_modules/caniuse-lite/data/features/css-not-sel-list.js @@ -0,0 +1 @@ +module.exports={A:{A:{"2":"J D E F A B gB"},B:{"1":"Z P a H","2":"C K L G M N O S T U V W X Y","16":"R"},C:{"1":"V W X Y Z P a H","2":"0 1 2 3 4 5 6 7 8 9 hB XB I b J D E F A B C K L G M N O c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB YB GB ZB Q HB IB JB KB LB MB NB OB PB QB RB SB TB UB aB bB R S T iB U jB kB"},D:{"1":"Z P a H lB mB nB","2":"0 1 2 3 4 5 6 7 8 9 I b J D E F A B C K L G M N O c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB YB GB ZB Q HB IB JB KB LB MB NB OB PB QB RB SB TB UB aB bB R S T U V W X Y"},E:{"1":"F A B C K L G sB dB VB WB tB uB vB","2":"I b J D E oB cB pB qB rB"},F:{"1":"TB UB","2":"0 1 2 3 4 5 6 7 8 9 F B C G M N O c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB GB Q HB IB JB KB LB MB NB OB PB QB RB SB wB xB yB zB VB eB 0B WB"},G:{"1":"6B 7B 8B 9B AC BC CC DC EC FC GC HC IC JC","2":"E cB 1B fB 2B 3B 4B 5B"},H:{"2":"KC"},I:{"1":"H","2":"XB I LC MC NC OC fB PC QC"},J:{"2":"D A"},K:{"2":"A B C Q VB eB WB"},L:{"1":"H"},M:{"1":"P"},N:{"2":"A B"},O:{"2":"RC"},P:{"2":"I SC TC UC VC WC dB XC YC ZC aC"},Q:{"2":"bC"},R:{"2":"cC"},S:{"2":"dC"}},B:5,C:"selector list argument of :not()"}; diff --git a/tools/node_modules/@babel/core/node_modules/caniuse-lite/data/features/css-nth-child-of.js b/tools/node_modules/@babel/core/node_modules/caniuse-lite/data/features/css-nth-child-of.js new file mode 100644 index 00000000000000..86c406357d72e3 --- /dev/null +++ b/tools/node_modules/@babel/core/node_modules/caniuse-lite/data/features/css-nth-child-of.js @@ -0,0 +1 @@ +module.exports={A:{A:{"2":"J D E F A B gB"},B:{"2":"C K L G M N O R S T U V W X Y Z P a H"},C:{"2":"0 1 2 3 4 5 6 7 8 9 hB XB I b J D E F A B C K L G M N O c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB YB GB ZB Q HB IB JB KB LB MB NB OB PB QB RB SB TB UB aB bB R S T iB U V W X Y Z P a H jB kB"},D:{"2":"0 1 2 3 4 5 6 7 8 9 I b J D E F A B C K L G M N O c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB YB GB ZB Q HB IB JB KB LB MB NB OB PB QB RB SB TB UB aB bB R S T U V W X Y Z P a H lB mB nB"},E:{"1":"F A B C K L G sB dB VB WB tB uB vB","2":"I b J D E oB cB pB qB rB"},F:{"2":"0 1 2 3 4 5 6 7 8 9 F B C G M N O c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB GB Q HB IB JB KB LB MB NB OB PB QB RB SB TB UB wB xB yB zB VB eB 0B WB"},G:{"1":"6B 7B 8B 9B AC BC CC DC EC FC GC HC IC JC","2":"E cB 1B fB 2B 3B 4B 5B"},H:{"2":"KC"},I:{"2":"XB I H LC MC NC OC fB PC QC"},J:{"2":"D A"},K:{"2":"A B C Q VB eB WB"},L:{"2":"H"},M:{"2":"P"},N:{"2":"A B"},O:{"2":"RC"},P:{"2":"I SC TC UC VC WC dB XC YC ZC aC"},Q:{"2":"bC"},R:{"2":"cC"},S:{"2":"dC"}},B:7,C:"selector list argument of :nth-child and :nth-last-child CSS pseudo-classes"}; diff --git a/tools/node_modules/@babel/core/node_modules/caniuse-lite/data/features/css-opacity.js b/tools/node_modules/@babel/core/node_modules/caniuse-lite/data/features/css-opacity.js new file mode 100644 index 00000000000000..510efcb086626c --- /dev/null +++ b/tools/node_modules/@babel/core/node_modules/caniuse-lite/data/features/css-opacity.js @@ -0,0 +1 @@ +module.exports={A:{A:{"1":"F A B","4":"J D E gB"},B:{"1":"C K L G M N O R S T U V W X Y Z P a H"},C:{"1":"0 1 2 3 4 5 6 7 8 9 hB XB I b J D E F A B C K L G M N O c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB YB GB ZB Q HB IB JB KB LB MB NB OB PB QB RB SB TB UB aB bB R S T iB U V W X Y Z P a H jB kB"},D:{"1":"0 1 2 3 4 5 6 7 8 9 I b J D E F A B C K L G M N O c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB YB GB ZB Q HB IB JB KB LB MB NB OB PB QB RB SB TB UB aB bB R S T U V W X Y Z P a H lB mB nB"},E:{"1":"I b J D E F A B C K L G oB cB pB qB rB sB dB VB WB tB uB vB"},F:{"1":"0 1 2 3 4 5 6 7 8 9 F B C G M N O c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB GB Q HB IB JB KB LB MB NB OB PB QB RB SB TB UB wB xB yB zB VB eB 0B WB"},G:{"1":"E cB 1B fB 2B 3B 4B 5B 6B 7B 8B 9B AC BC CC DC EC FC GC HC IC JC"},H:{"1":"KC"},I:{"1":"XB I H LC MC NC OC fB PC QC"},J:{"1":"D A"},K:{"1":"A B C Q VB eB WB"},L:{"1":"H"},M:{"1":"P"},N:{"1":"A B"},O:{"1":"RC"},P:{"1":"I SC TC UC VC WC dB XC YC ZC aC"},Q:{"1":"bC"},R:{"1":"cC"},S:{"1":"dC"}},B:2,C:"CSS3 Opacity"}; diff --git a/tools/node_modules/@babel/core/node_modules/caniuse-lite/data/features/css-optional-pseudo.js b/tools/node_modules/@babel/core/node_modules/caniuse-lite/data/features/css-optional-pseudo.js new file mode 100644 index 00000000000000..e80edc9580a89f --- /dev/null +++ b/tools/node_modules/@babel/core/node_modules/caniuse-lite/data/features/css-optional-pseudo.js @@ -0,0 +1 @@ +module.exports={A:{A:{"1":"A B","2":"J D E F gB"},B:{"1":"C K L G M N O R S T U V W X Y Z P a H"},C:{"1":"0 1 2 3 4 5 6 7 8 9 I b J D E F A B C K L G M N O c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB YB GB ZB Q HB IB JB KB LB MB NB OB PB QB RB SB TB UB aB bB R S T iB U V W X Y Z P a H","2":"hB XB jB kB"},D:{"1":"0 1 2 3 4 5 6 7 8 9 G M N O c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB YB GB ZB Q HB IB JB KB LB MB NB OB PB QB RB SB TB UB aB bB R S T U V W X Y Z P a H lB mB nB","16":"I b J D E F A B C K L"},E:{"1":"b J D E F A B C K L G pB qB rB sB dB VB WB tB uB vB","2":"I oB cB"},F:{"1":"0 1 2 3 4 5 6 7 8 9 G M N O c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB GB Q HB IB JB KB LB MB NB OB PB QB RB SB TB UB","16":"F wB","132":"B C xB yB zB VB eB 0B WB"},G:{"1":"E 2B 3B 4B 5B 6B 7B 8B 9B AC BC CC DC EC FC GC HC IC JC","2":"cB 1B fB"},H:{"132":"KC"},I:{"1":"XB I H NC OC fB PC QC","16":"LC MC"},J:{"1":"D A"},K:{"1":"Q","132":"A B C VB eB WB"},L:{"1":"H"},M:{"1":"P"},N:{"1":"A B"},O:{"1":"RC"},P:{"1":"I SC TC UC VC WC dB XC YC ZC aC"},Q:{"1":"bC"},R:{"1":"cC"},S:{"1":"dC"}},B:7,C:":optional CSS pseudo-class"}; diff --git a/tools/node_modules/@babel/core/node_modules/caniuse-lite/data/features/css-overflow-anchor.js b/tools/node_modules/@babel/core/node_modules/caniuse-lite/data/features/css-overflow-anchor.js new file mode 100644 index 00000000000000..9b226240bddca1 --- /dev/null +++ b/tools/node_modules/@babel/core/node_modules/caniuse-lite/data/features/css-overflow-anchor.js @@ -0,0 +1 @@ +module.exports={A:{A:{"2":"J D E F A B gB"},B:{"1":"R S T U V W X Y Z P a H","2":"C K L G M N O"},C:{"1":"KB LB MB NB OB PB QB RB SB TB UB aB bB R S T iB U V W X Y Z P a H","2":"0 1 2 3 4 5 6 7 8 9 hB XB I b J D E F A B C K L G M N O c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB YB GB ZB Q HB IB JB jB kB"},D:{"1":"DB EB FB YB GB ZB Q HB IB JB KB LB MB NB OB PB QB RB SB TB UB aB bB R S T U V W X Y Z P a H lB mB nB","2":"0 1 2 3 4 5 6 7 8 9 I b J D E F A B C K L G M N O c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB"},E:{"2":"I b J D E F A B C K L G oB cB pB qB rB sB dB VB WB tB uB vB"},F:{"1":"0 1 2 3 4 5 6 7 8 9 AB BB CB DB EB FB GB Q HB IB JB KB LB MB NB OB PB QB RB SB TB UB","2":"F B C G M N O c d e f g h i j k l m n o p q r s t u v w x y z wB xB yB zB VB eB 0B WB"},G:{"2":"E cB 1B fB 2B 3B 4B 5B 6B 7B 8B 9B AC BC CC DC EC FC GC HC IC JC"},H:{"2":"KC"},I:{"1":"H","2":"XB I LC MC NC OC fB PC QC"},J:{"2":"D A"},K:{"1":"Q","2":"A B C VB eB WB"},L:{"1":"H"},M:{"1":"P"},N:{"2":"A B"},O:{"2":"RC"},P:{"1":"SC TC UC VC WC dB XC YC ZC aC","2":"I"},Q:{"2":"bC"},R:{"1":"cC"},S:{"2":"dC"}},B:5,C:"CSS overflow-anchor (Scroll Anchoring)"}; diff --git a/tools/node_modules/@babel/core/node_modules/caniuse-lite/data/features/css-overflow-overlay.js b/tools/node_modules/@babel/core/node_modules/caniuse-lite/data/features/css-overflow-overlay.js new file mode 100644 index 00000000000000..6d9fe90b82d9a7 --- /dev/null +++ b/tools/node_modules/@babel/core/node_modules/caniuse-lite/data/features/css-overflow-overlay.js @@ -0,0 +1 @@ +module.exports={A:{A:{"2":"J D E F A B gB"},B:{"1":"R S T U V W X Y Z P a H","2":"C K L G M N O"},C:{"2":"0 1 2 3 4 5 6 7 8 9 hB XB I b J D E F A B C K L G M N O c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB YB GB ZB Q HB IB JB KB LB MB NB OB PB QB RB SB TB UB aB bB R S T iB U V W X Y Z P a H jB kB"},D:{"1":"0 1 2 3 4 5 6 7 8 9 G M N O c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB YB GB ZB Q HB IB JB KB LB MB NB OB PB QB RB SB TB UB aB bB R S T U V W X Y Z P a H lB mB nB","16":"I b J D E F A B C K L"},E:{"1":"I b J D E F A B pB qB rB sB dB VB","16":"oB cB","130":"C K L G WB tB uB vB"},F:{"1":"0 1 2 3 4 5 6 7 8 9 G M N O c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB GB Q HB IB JB KB LB MB NB OB PB QB RB SB TB UB","2":"F B C wB xB yB zB VB eB 0B WB"},G:{"1":"E 1B fB 2B 3B 4B 5B 6B 7B 8B 9B AC BC","16":"cB","130":"CC DC EC FC GC HC IC JC"},H:{"2":"KC"},I:{"1":"XB I H LC MC NC OC fB PC QC"},J:{"16":"D A"},K:{"1":"Q","2":"A B C VB eB WB"},L:{"1":"H"},M:{"2":"P"},N:{"2":"A B"},O:{"1":"RC"},P:{"1":"I SC TC UC VC WC dB XC YC ZC aC"},Q:{"1":"bC"},R:{"1":"cC"},S:{"2":"dC"}},B:7,C:"CSS overflow: overlay"}; diff --git a/tools/node_modules/@babel/core/node_modules/caniuse-lite/data/features/css-overflow.js b/tools/node_modules/@babel/core/node_modules/caniuse-lite/data/features/css-overflow.js new file mode 100644 index 00000000000000..4ec37236f01d4f --- /dev/null +++ b/tools/node_modules/@babel/core/node_modules/caniuse-lite/data/features/css-overflow.js @@ -0,0 +1 @@ +module.exports={A:{A:{"388":"J D E F A B gB"},B:{"1":"a H","260":"R S T U V W X Y Z P","388":"C K L G M N O"},C:{"1":"T iB U V W X Y Z P a H","260":"ZB Q HB IB JB KB LB MB NB OB PB QB RB SB TB UB aB bB R S","388":"0 1 2 3 4 5 6 7 8 9 hB XB I b J D E F A B C K L G M N O c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB YB GB jB kB"},D:{"1":"a H lB mB nB","260":"MB NB OB PB QB RB SB TB UB aB bB R S T U V W X Y Z P","388":"0 1 2 3 4 5 6 7 8 9 I b J D E F A B C K L G M N O c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB YB GB ZB Q HB IB JB KB LB"},E:{"260":"L G tB uB vB","388":"I b J D E F A B C K oB cB pB qB rB sB dB VB WB"},F:{"260":"CB DB EB FB GB Q HB IB JB KB LB MB NB OB PB QB RB SB TB UB","388":"0 1 2 3 4 5 6 7 8 9 F B C G M N O c d e f g h i j k l m n o p q r s t u v w x y z AB BB wB xB yB zB VB eB 0B WB"},G:{"260":"HC IC JC","388":"E cB 1B fB 2B 3B 4B 5B 6B 7B 8B 9B AC BC CC DC EC FC GC"},H:{"388":"KC"},I:{"1":"H","388":"XB I LC MC NC OC fB PC QC"},J:{"388":"D A"},K:{"388":"A B C Q VB eB WB"},L:{"1":"H"},M:{"1":"P"},N:{"388":"A B"},O:{"388":"RC"},P:{"388":"I SC TC UC VC WC dB XC YC ZC aC"},Q:{"388":"bC"},R:{"388":"cC"},S:{"388":"dC"}},B:5,C:"CSS overflow property"}; diff --git a/tools/node_modules/@babel/core/node_modules/caniuse-lite/data/features/css-overscroll-behavior.js b/tools/node_modules/@babel/core/node_modules/caniuse-lite/data/features/css-overscroll-behavior.js new file mode 100644 index 00000000000000..baa46454018955 --- /dev/null +++ b/tools/node_modules/@babel/core/node_modules/caniuse-lite/data/features/css-overscroll-behavior.js @@ -0,0 +1 @@ +module.exports={A:{A:{"2":"J D E F gB","132":"A B"},B:{"1":"R S T U V W X Y Z P a H","132":"C K L G M N","516":"O"},C:{"1":"YB GB ZB Q HB IB JB KB LB MB NB OB PB QB RB SB TB UB aB bB R S T iB U V W X Y Z P a H","2":"0 1 2 3 4 5 6 7 8 9 hB XB I b J D E F A B C K L G M N O c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB jB kB"},D:{"1":"JB KB LB MB NB OB PB QB RB SB TB UB aB bB R S T U V W X Y Z P a H lB mB nB","2":"0 1 2 3 4 5 6 7 8 9 I b J D E F A B C K L G M N O c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB YB GB ZB Q","260":"HB IB"},E:{"2":"I b J D E F A B C K L G oB cB pB qB rB sB dB VB WB tB vB","1090":"uB"},F:{"1":"9 AB BB CB DB EB FB GB Q HB IB JB KB LB MB NB OB PB QB RB SB TB UB","2":"0 1 2 3 4 5 6 F B C G M N O c d e f g h i j k l m n o p q r s t u v w x y z wB xB yB zB VB eB 0B WB","260":"7 8"},G:{"2":"E cB 1B fB 2B 3B 4B 5B 6B 7B 8B 9B AC BC CC DC EC FC GC HC IC JC"},H:{"2":"KC"},I:{"1":"H","2":"XB I LC MC NC OC fB PC QC"},J:{"2":"D A"},K:{"2":"A B C Q VB eB WB"},L:{"1":"H"},M:{"1":"P"},N:{"132":"A B"},O:{"2":"RC"},P:{"1":"VC WC dB XC YC ZC aC","2":"I SC TC UC"},Q:{"1":"bC"},R:{"2":"cC"},S:{"2":"dC"}},B:7,C:"CSS overscroll-behavior"}; diff --git a/tools/node_modules/@babel/core/node_modules/caniuse-lite/data/features/css-page-break.js b/tools/node_modules/@babel/core/node_modules/caniuse-lite/data/features/css-page-break.js new file mode 100644 index 00000000000000..a9db3a83c90590 --- /dev/null +++ b/tools/node_modules/@babel/core/node_modules/caniuse-lite/data/features/css-page-break.js @@ -0,0 +1 @@ +module.exports={A:{A:{"388":"A B","900":"J D E F gB"},B:{"388":"C K L G M N O","900":"R S T U V W X Y Z P a H"},C:{"772":"JB KB LB MB NB OB PB QB RB SB TB UB aB bB R S T iB U V W X Y Z P a H","900":"0 1 2 3 4 5 6 7 8 9 hB XB I b J D E F A B C K L G M N O c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB YB GB ZB Q HB IB jB kB"},D:{"900":"0 1 2 3 4 5 6 7 8 9 I b J D E F A B C K L G M N O c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB YB GB ZB Q HB IB JB KB LB MB NB OB PB QB RB SB TB UB aB bB R S T U V W X Y Z P a H lB mB nB"},E:{"772":"A","900":"I b J D E F B C K L G oB cB pB qB rB sB dB VB WB tB uB vB"},F:{"16":"F wB","129":"B C xB yB zB VB eB 0B WB","900":"0 1 2 3 4 5 6 7 8 9 G M N O c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB GB Q HB IB JB KB LB MB NB OB PB QB RB SB TB UB"},G:{"900":"E cB 1B fB 2B 3B 4B 5B 6B 7B 8B 9B AC BC CC DC EC FC GC HC IC JC"},H:{"129":"KC"},I:{"900":"XB I H LC MC NC OC fB PC QC"},J:{"900":"D A"},K:{"129":"A B C VB eB WB","900":"Q"},L:{"900":"H"},M:{"900":"P"},N:{"388":"A B"},O:{"900":"RC"},P:{"900":"I SC TC UC VC WC dB XC YC ZC aC"},Q:{"900":"bC"},R:{"900":"cC"},S:{"900":"dC"}},B:2,C:"CSS page-break properties"}; diff --git a/tools/node_modules/@babel/core/node_modules/caniuse-lite/data/features/css-paged-media.js b/tools/node_modules/@babel/core/node_modules/caniuse-lite/data/features/css-paged-media.js new file mode 100644 index 00000000000000..da43ed2c9784c8 --- /dev/null +++ b/tools/node_modules/@babel/core/node_modules/caniuse-lite/data/features/css-paged-media.js @@ -0,0 +1 @@ +module.exports={A:{A:{"2":"J D gB","132":"E F A B"},B:{"1":"R S T U V W X Y Z P a H","132":"C K L G M N O"},C:{"2":"hB XB I b J D E F A B C K L G M N O jB kB","132":"0 1 2 3 4 5 6 7 8 9 c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB YB GB ZB Q HB IB JB KB LB MB NB OB PB QB RB SB TB UB aB bB R S T iB U V W X Y Z P a H"},D:{"1":"0 1 2 3 4 5 6 7 8 9 G M N O c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB YB GB ZB Q HB IB JB KB LB MB NB OB PB QB RB SB TB UB aB bB R S T U V W X Y Z P a H lB mB nB","16":"I b J D E F A B C K L"},E:{"2":"I b J D E F A B C K L G oB cB pB qB rB sB dB VB WB tB uB vB"},F:{"1":"0 1 2 3 4 5 6 7 8 9 G M N O c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB GB Q HB IB JB KB LB MB NB OB PB QB RB SB TB UB","132":"F B C wB xB yB zB VB eB 0B WB"},G:{"2":"E cB 1B fB 2B 3B 4B 5B 6B 7B 8B 9B AC BC CC DC EC FC GC HC IC JC"},H:{"16":"KC"},I:{"16":"XB I H LC MC NC OC fB PC QC"},J:{"16":"D A"},K:{"16":"A B C VB eB WB","258":"Q"},L:{"1":"H"},M:{"132":"P"},N:{"258":"A B"},O:{"258":"RC"},P:{"1":"I SC TC UC VC WC dB XC YC ZC aC"},Q:{"1":"bC"},R:{"1":"cC"},S:{"132":"dC"}},B:5,C:"CSS Paged Media (@page)"}; diff --git a/tools/node_modules/@babel/core/node_modules/caniuse-lite/data/features/css-paint-api.js b/tools/node_modules/@babel/core/node_modules/caniuse-lite/data/features/css-paint-api.js new file mode 100644 index 00000000000000..ee70b72f1b9e68 --- /dev/null +++ b/tools/node_modules/@babel/core/node_modules/caniuse-lite/data/features/css-paint-api.js @@ -0,0 +1 @@ +module.exports={A:{A:{"2":"J D E F A B gB"},B:{"1":"R S T U V W X Y Z P a H","2":"C K L G M N O"},C:{"2":"0 1 2 3 4 5 6 7 8 9 hB XB I b J D E F A B C K L G M N O c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB YB GB ZB Q HB IB JB KB LB MB NB OB PB QB RB SB TB UB aB bB R S T iB U V W X Y Z P a H jB kB"},D:{"1":"JB KB LB MB NB OB PB QB RB SB TB UB aB bB R S T U V W X Y Z P a H lB mB nB","2":"0 1 2 3 4 5 6 7 8 9 I b J D E F A B C K L G M N O c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB YB GB ZB Q HB IB"},E:{"2":"I b J D E F A B C oB cB pB qB rB sB dB VB","194":"K L G WB tB uB vB"},F:{"1":"9 AB BB CB DB EB FB GB Q HB IB JB KB LB MB NB OB PB QB RB SB TB UB","2":"0 1 2 3 4 5 6 7 8 F B C G M N O c d e f g h i j k l m n o p q r s t u v w x y z wB xB yB zB VB eB 0B WB"},G:{"2":"E cB 1B fB 2B 3B 4B 5B 6B 7B 8B 9B AC BC CC DC EC FC GC HC IC JC"},H:{"2":"KC"},I:{"1":"H","2":"XB I LC MC NC OC fB PC QC"},J:{"2":"D A"},K:{"2":"A B C Q VB eB WB"},L:{"1":"H"},M:{"2":"P"},N:{"2":"A B"},O:{"2":"RC"},P:{"2":"I SC TC UC VC WC dB XC YC ZC aC"},Q:{"2":"bC"},R:{"2":"cC"},S:{"2":"dC"}},B:5,C:"CSS Paint API"}; diff --git a/tools/node_modules/@babel/core/node_modules/caniuse-lite/data/features/css-placeholder-shown.js b/tools/node_modules/@babel/core/node_modules/caniuse-lite/data/features/css-placeholder-shown.js new file mode 100644 index 00000000000000..44224611d8a3a7 --- /dev/null +++ b/tools/node_modules/@babel/core/node_modules/caniuse-lite/data/features/css-placeholder-shown.js @@ -0,0 +1 @@ +module.exports={A:{A:{"2":"J D E F gB","292":"A B"},B:{"1":"R S T U V W X Y Z P a H","2":"C K L G M N O"},C:{"1":"8 9 AB BB CB DB EB FB YB GB ZB Q HB IB JB KB LB MB NB OB PB QB RB SB TB UB aB bB R S T iB U V W X Y Z P a H","2":"hB XB jB kB","164":"0 1 2 3 4 5 6 7 I b J D E F A B C K L G M N O c d e f g h i j k l m n o p q r s t u v w x y z"},D:{"1":"4 5 6 7 8 9 AB BB CB DB EB FB YB GB ZB Q HB IB JB KB LB MB NB OB PB QB RB SB TB UB aB bB R S T U V W X Y Z P a H lB mB nB","2":"0 1 2 3 I b J D E F A B C K L G M N O c d e f g h i j k l m n o p q r s t u v w x y z"},E:{"1":"F A B C K L G sB dB VB WB tB uB vB","2":"I b J D E oB cB pB qB rB"},F:{"1":"0 1 2 3 4 5 6 7 8 9 r s t u v w x y z AB BB CB DB EB FB GB Q HB IB JB KB LB MB NB OB PB QB RB SB TB UB","2":"F B C G M N O c d e f g h i j k l m n o p q wB xB yB zB VB eB 0B WB"},G:{"1":"6B 7B 8B 9B AC BC CC DC EC FC GC HC IC JC","2":"E cB 1B fB 2B 3B 4B 5B"},H:{"2":"KC"},I:{"1":"H","2":"XB I LC MC NC OC fB PC QC"},J:{"2":"D A"},K:{"1":"Q","2":"A B C VB eB WB"},L:{"1":"H"},M:{"1":"P"},N:{"2":"A B"},O:{"1":"RC"},P:{"1":"SC TC UC VC WC dB XC YC ZC aC","2":"I"},Q:{"1":"bC"},R:{"1":"cC"},S:{"164":"dC"}},B:5,C:":placeholder-shown CSS pseudo-class"}; diff --git a/tools/node_modules/@babel/core/node_modules/caniuse-lite/data/features/css-placeholder.js b/tools/node_modules/@babel/core/node_modules/caniuse-lite/data/features/css-placeholder.js new file mode 100644 index 00000000000000..423ec8d769cb19 --- /dev/null +++ b/tools/node_modules/@babel/core/node_modules/caniuse-lite/data/features/css-placeholder.js @@ -0,0 +1 @@ +module.exports={A:{A:{"2":"J D E F A B gB"},B:{"1":"R S T U V W X Y Z P a H","36":"C K L G M N O"},C:{"1":"8 9 AB BB CB DB EB FB YB GB ZB Q HB IB JB KB LB MB NB OB PB QB RB SB TB UB aB bB R S T iB U V W X Y Z P a H","2":"hB XB I b J D E F A B C K L G M N O jB kB","33":"0 1 2 3 4 5 6 7 c d e f g h i j k l m n o p q r s t u v w x y z"},D:{"1":"EB FB YB GB ZB Q HB IB JB KB LB MB NB OB PB QB RB SB TB UB aB bB R S T U V W X Y Z P a H lB mB nB","36":"0 1 2 3 4 5 6 7 8 9 I b J D E F A B C K L G M N O c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB"},E:{"1":"B C K L G dB VB WB tB uB vB","2":"I oB cB","36":"b J D E F A pB qB rB sB"},F:{"1":"1 2 3 4 5 6 7 8 9 AB BB CB DB EB FB GB Q HB IB JB KB LB MB NB OB PB QB RB SB TB UB","2":"F B C wB xB yB zB VB eB 0B WB","36":"0 G M N O c d e f g h i j k l m n o p q r s t u v w x y z"},G:{"1":"9B AC BC CC DC EC FC GC HC IC JC","2":"cB 1B","36":"E fB 2B 3B 4B 5B 6B 7B 8B"},H:{"2":"KC"},I:{"1":"H","36":"XB I LC MC NC OC fB PC QC"},J:{"36":"D A"},K:{"1":"Q","2":"A B C VB eB WB"},L:{"1":"H"},M:{"1":"P"},N:{"36":"A B"},O:{"1":"RC"},P:{"1":"UC VC WC dB XC YC ZC aC","36":"I SC TC"},Q:{"1":"bC"},R:{"1":"cC"},S:{"33":"dC"}},B:5,C:"::placeholder CSS pseudo-element"}; diff --git a/tools/node_modules/@babel/core/node_modules/caniuse-lite/data/features/css-read-only-write.js b/tools/node_modules/@babel/core/node_modules/caniuse-lite/data/features/css-read-only-write.js new file mode 100644 index 00000000000000..fe76feaa34ed5e --- /dev/null +++ b/tools/node_modules/@babel/core/node_modules/caniuse-lite/data/features/css-read-only-write.js @@ -0,0 +1 @@ +module.exports={A:{A:{"2":"J D E F A B gB"},B:{"1":"K L G M N O R S T U V W X Y Z P a H","2":"C"},C:{"1":"bB R S T iB U V W X Y Z P a H","16":"hB","33":"0 1 2 3 4 5 6 7 8 9 XB I b J D E F A B C K L G M N O c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB YB GB ZB Q HB IB JB KB LB MB NB OB PB QB RB SB TB UB aB jB kB"},D:{"1":"0 1 2 3 4 5 6 7 8 9 t u v w x y z AB BB CB DB EB FB YB GB ZB Q HB IB JB KB LB MB NB OB PB QB RB SB TB UB aB bB R S T U V W X Y Z P a H lB mB nB","16":"I b J D E F A B C K L","132":"G M N O c d e f g h i j k l m n o p q r s"},E:{"1":"F A B C K L G sB dB VB WB tB uB vB","16":"oB cB","132":"I b J D E pB qB rB"},F:{"1":"0 1 2 3 4 5 6 7 8 9 g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB GB Q HB IB JB KB LB MB NB OB PB QB RB SB TB UB","16":"F B wB xB yB zB VB","132":"C G M N O c d e f eB 0B WB"},G:{"1":"6B 7B 8B 9B AC BC CC DC EC FC GC HC IC JC","16":"cB 1B","132":"E fB 2B 3B 4B 5B"},H:{"2":"KC"},I:{"1":"H","16":"LC MC","132":"XB I NC OC fB PC QC"},J:{"1":"A","132":"D"},K:{"1":"Q","2":"A B VB","132":"C eB WB"},L:{"1":"H"},M:{"1":"P"},N:{"2":"A B"},O:{"1":"RC"},P:{"1":"I SC TC UC VC WC dB XC YC ZC aC"},Q:{"1":"bC"},R:{"1":"cC"},S:{"33":"dC"}},B:1,C:"CSS :read-only and :read-write selectors"}; diff --git a/tools/node_modules/@babel/core/node_modules/caniuse-lite/data/features/css-rebeccapurple.js b/tools/node_modules/@babel/core/node_modules/caniuse-lite/data/features/css-rebeccapurple.js new file mode 100644 index 00000000000000..f2f7576b6a2db2 --- /dev/null +++ b/tools/node_modules/@babel/core/node_modules/caniuse-lite/data/features/css-rebeccapurple.js @@ -0,0 +1 @@ +module.exports={A:{A:{"2":"J D E F A gB","132":"B"},B:{"1":"C K L G M N O R S T U V W X Y Z P a H"},C:{"1":"0 1 2 3 4 5 6 7 8 9 q r s t u v w x y z AB BB CB DB EB FB YB GB ZB Q HB IB JB KB LB MB NB OB PB QB RB SB TB UB aB bB R S T iB U V W X Y Z P a H","2":"hB XB I b J D E F A B C K L G M N O c d e f g h i j k l m n o p jB kB"},D:{"1":"0 1 2 3 4 5 6 7 8 9 v w x y z AB BB CB DB EB FB YB GB ZB Q HB IB JB KB LB MB NB OB PB QB RB SB TB UB aB bB R S T U V W X Y Z P a H lB mB nB","2":"I b J D E F A B C K L G M N O c d e f g h i j k l m n o p q r s t u"},E:{"1":"D E F A B C K L G rB sB dB VB WB tB uB vB","2":"I b J oB cB pB","16":"qB"},F:{"1":"0 1 2 3 4 5 6 7 8 9 i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB GB Q HB IB JB KB LB MB NB OB PB QB RB SB TB UB","2":"F B C G M N O c d e f g h wB xB yB zB VB eB 0B WB"},G:{"1":"E 5B 6B 7B 8B 9B AC BC CC DC EC FC GC HC IC JC","2":"cB 1B fB 2B 3B 4B"},H:{"2":"KC"},I:{"1":"H PC QC","2":"XB I LC MC NC OC fB"},J:{"2":"D A"},K:{"1":"Q","2":"A B C VB eB WB"},L:{"1":"H"},M:{"1":"P"},N:{"2":"A B"},O:{"1":"RC"},P:{"1":"I SC TC UC VC WC dB XC YC ZC aC"},Q:{"1":"bC"},R:{"1":"cC"},S:{"1":"dC"}},B:5,C:"Rebeccapurple color"}; diff --git a/tools/node_modules/@babel/core/node_modules/caniuse-lite/data/features/css-reflections.js b/tools/node_modules/@babel/core/node_modules/caniuse-lite/data/features/css-reflections.js new file mode 100644 index 00000000000000..46732f49cf4c1b --- /dev/null +++ b/tools/node_modules/@babel/core/node_modules/caniuse-lite/data/features/css-reflections.js @@ -0,0 +1 @@ +module.exports={A:{A:{"2":"J D E F A B gB"},B:{"2":"C K L G M N O","33":"R S T U V W X Y Z P a H"},C:{"2":"0 1 2 3 4 5 6 7 8 9 hB XB I b J D E F A B C K L G M N O c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB YB GB ZB Q HB IB JB KB LB MB NB OB PB QB RB SB TB UB aB bB R S T iB U V W X Y Z P a H jB kB"},D:{"33":"0 1 2 3 4 5 6 7 8 9 I b J D E F A B C K L G M N O c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB YB GB ZB Q HB IB JB KB LB MB NB OB PB QB RB SB TB UB aB bB R S T U V W X Y Z P a H lB mB nB"},E:{"2":"oB cB","33":"I b J D E F A B C K L G pB qB rB sB dB VB WB tB uB vB"},F:{"2":"F B C wB xB yB zB VB eB 0B WB","33":"0 1 2 3 4 5 6 7 8 9 G M N O c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB GB Q HB IB JB KB LB MB NB OB PB QB RB SB TB UB"},G:{"33":"E cB 1B fB 2B 3B 4B 5B 6B 7B 8B 9B AC BC CC DC EC FC GC HC IC JC"},H:{"2":"KC"},I:{"33":"XB I H LC MC NC OC fB PC QC"},J:{"33":"D A"},K:{"2":"A B C VB eB WB","33":"Q"},L:{"33":"H"},M:{"2":"P"},N:{"2":"A B"},O:{"2":"RC"},P:{"33":"I SC TC UC VC WC dB XC YC ZC aC"},Q:{"33":"bC"},R:{"33":"cC"},S:{"2":"dC"}},B:7,C:"CSS Reflections"}; diff --git a/tools/node_modules/@babel/core/node_modules/caniuse-lite/data/features/css-regions.js b/tools/node_modules/@babel/core/node_modules/caniuse-lite/data/features/css-regions.js new file mode 100644 index 00000000000000..d013be2243e6be --- /dev/null +++ b/tools/node_modules/@babel/core/node_modules/caniuse-lite/data/features/css-regions.js @@ -0,0 +1 @@ +module.exports={A:{A:{"2":"J D E F gB","420":"A B"},B:{"2":"R S T U V W X Y Z P a H","420":"C K L G M N O"},C:{"2":"0 1 2 3 4 5 6 7 8 9 hB XB I b J D E F A B C K L G M N O c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB YB GB ZB Q HB IB JB KB LB MB NB OB PB QB RB SB TB UB aB bB R S T iB U V W X Y Z P a H jB kB"},D:{"2":"0 1 2 3 4 5 6 7 8 9 I b J D E F A B C K L s t u v w x y z AB BB CB DB EB FB YB GB ZB Q HB IB JB KB LB MB NB OB PB QB RB SB TB UB aB bB R S T U V W X Y Z P a H lB mB nB","36":"G M N O","66":"c d e f g h i j k l m n o p q r"},E:{"2":"I b J C K L G oB cB pB VB WB tB uB vB","33":"D E F A B qB rB sB dB"},F:{"2":"0 1 2 3 4 5 6 7 8 9 F B C G M N O c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB GB Q HB IB JB KB LB MB NB OB PB QB RB SB TB UB wB xB yB zB VB eB 0B WB"},G:{"2":"cB 1B fB 2B 3B BC CC DC EC FC GC HC IC JC","33":"E 4B 5B 6B 7B 8B 9B AC"},H:{"2":"KC"},I:{"2":"XB I H LC MC NC OC fB PC QC"},J:{"2":"D A"},K:{"2":"A B C Q VB eB WB"},L:{"2":"H"},M:{"2":"P"},N:{"420":"A B"},O:{"2":"RC"},P:{"2":"I SC TC UC VC WC dB XC YC ZC aC"},Q:{"2":"bC"},R:{"2":"cC"},S:{"2":"dC"}},B:5,C:"CSS Regions"}; diff --git a/tools/node_modules/@babel/core/node_modules/caniuse-lite/data/features/css-repeating-gradients.js b/tools/node_modules/@babel/core/node_modules/caniuse-lite/data/features/css-repeating-gradients.js new file mode 100644 index 00000000000000..e60a50264a83f5 --- /dev/null +++ b/tools/node_modules/@babel/core/node_modules/caniuse-lite/data/features/css-repeating-gradients.js @@ -0,0 +1 @@ +module.exports={A:{A:{"1":"A B","2":"J D E F gB"},B:{"1":"C K L G M N O R S T U V W X Y Z P a H"},C:{"1":"0 1 2 3 4 5 6 7 8 9 M N O c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB YB GB ZB Q HB IB JB KB LB MB NB OB PB QB RB SB TB UB aB bB R S T iB U V W X Y Z P a H","2":"hB XB jB","33":"I b J D E F A B C K L G kB"},D:{"1":"0 1 2 3 4 5 6 7 8 9 j k l m n o p q r s t u v w x y z AB BB CB DB EB FB YB GB ZB Q HB IB JB KB LB MB NB OB PB QB RB SB TB UB aB bB R S T U V W X Y Z P a H lB mB nB","2":"I b J D E F","33":"A B C K L G M N O c d e f g h i"},E:{"1":"D E F A B C K L G qB rB sB dB VB WB tB uB vB","2":"I b oB cB","33":"J pB"},F:{"1":"0 1 2 3 4 5 6 7 8 9 G M N O c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB GB Q HB IB JB KB LB MB NB OB PB QB RB SB TB UB WB","2":"F B wB xB yB zB","33":"C 0B","36":"VB eB"},G:{"1":"E 4B 5B 6B 7B 8B 9B AC BC CC DC EC FC GC HC IC JC","2":"cB 1B fB","33":"2B 3B"},H:{"2":"KC"},I:{"1":"H PC QC","2":"XB LC MC NC","33":"I OC fB"},J:{"1":"A","2":"D"},K:{"1":"Q WB","2":"A B","33":"C","36":"VB eB"},L:{"1":"H"},M:{"1":"P"},N:{"1":"A B"},O:{"1":"RC"},P:{"1":"I SC TC UC VC WC dB XC YC ZC aC"},Q:{"1":"bC"},R:{"1":"cC"},S:{"1":"dC"}},B:4,C:"CSS Repeating Gradients"}; diff --git a/tools/node_modules/@babel/core/node_modules/caniuse-lite/data/features/css-resize.js b/tools/node_modules/@babel/core/node_modules/caniuse-lite/data/features/css-resize.js new file mode 100644 index 00000000000000..0836f540d4c39e --- /dev/null +++ b/tools/node_modules/@babel/core/node_modules/caniuse-lite/data/features/css-resize.js @@ -0,0 +1 @@ +module.exports={A:{A:{"2":"J D E F A B gB"},B:{"1":"R S T U V W X Y Z P a H","2":"C K L G M N O"},C:{"1":"0 1 2 3 4 5 6 7 8 9 b J D E F A B C K L G M N O c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB YB GB ZB Q HB IB JB KB LB MB NB OB PB QB RB SB TB UB aB bB R S T iB U V W X Y Z P a H","2":"hB XB jB kB","33":"I"},D:{"1":"0 1 2 3 4 5 6 7 8 9 I b J D E F A B C K L G M N O c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB YB GB ZB Q HB IB JB KB LB MB NB OB PB QB RB SB TB UB aB bB R S T U V W X Y Z P a H lB mB nB"},E:{"1":"I b J D E F A B C K L G pB qB rB sB dB VB WB tB uB vB","2":"oB cB"},F:{"1":"0 1 2 3 4 5 6 7 8 9 G M N O c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB GB Q HB IB JB KB LB MB NB OB PB QB RB SB TB UB","2":"F B C wB xB yB zB VB eB 0B","132":"WB"},G:{"2":"E cB 1B fB 2B 3B 4B 5B 6B 7B 8B 9B AC BC CC DC EC FC GC HC IC JC"},H:{"2":"KC"},I:{"1":"H","2":"XB I LC MC NC OC fB PC QC"},J:{"2":"D A"},K:{"1":"Q","2":"A B C VB eB WB"},L:{"1":"H"},M:{"1":"P"},N:{"2":"A B"},O:{"1":"RC"},P:{"1":"SC TC UC VC WC dB XC YC ZC aC","2":"I"},Q:{"1":"bC"},R:{"1":"cC"},S:{"2":"dC"}},B:4,C:"CSS resize property"}; diff --git a/tools/node_modules/@babel/core/node_modules/caniuse-lite/data/features/css-revert-value.js b/tools/node_modules/@babel/core/node_modules/caniuse-lite/data/features/css-revert-value.js new file mode 100644 index 00000000000000..d075c5b4d91d04 --- /dev/null +++ b/tools/node_modules/@babel/core/node_modules/caniuse-lite/data/features/css-revert-value.js @@ -0,0 +1 @@ +module.exports={A:{A:{"2":"J D E F A B gB"},B:{"1":"V W X Y Z P a H","2":"C K L G M N O R S T U"},C:{"1":"LB MB NB OB PB QB RB SB TB UB aB bB R S T iB U V W X Y Z P a H","2":"0 1 2 3 4 5 6 7 8 9 hB XB I b J D E F A B C K L G M N O c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB YB GB ZB Q HB IB JB KB jB kB"},D:{"1":"V W X Y Z P a H lB mB nB","2":"0 1 2 3 4 5 6 7 8 9 I b J D E F A B C K L G M N O c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB YB GB ZB Q HB IB JB KB LB MB NB OB PB QB RB SB TB UB aB bB R S T U"},E:{"1":"A B C K L G sB dB VB WB tB uB vB","2":"I b J D E F oB cB pB qB rB"},F:{"1":"RB SB TB UB","2":"0 1 2 3 4 5 6 7 8 9 F B C G M N O c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB GB Q HB IB JB KB LB MB NB OB PB QB wB xB yB zB VB eB 0B WB"},G:{"1":"7B 8B 9B AC BC CC DC EC FC GC HC IC JC","2":"E cB 1B fB 2B 3B 4B 5B 6B"},H:{"2":"KC"},I:{"1":"H","2":"XB I LC MC NC OC fB PC QC"},J:{"2":"D A"},K:{"2":"A B C Q VB eB WB"},L:{"1":"H"},M:{"1":"P"},N:{"2":"A B"},O:{"2":"RC"},P:{"1":"aC","2":"I SC TC UC VC WC dB XC YC ZC"},Q:{"2":"bC"},R:{"2":"cC"},S:{"2":"dC"}},B:5,C:"CSS revert value"}; diff --git a/tools/node_modules/@babel/core/node_modules/caniuse-lite/data/features/css-rrggbbaa.js b/tools/node_modules/@babel/core/node_modules/caniuse-lite/data/features/css-rrggbbaa.js new file mode 100644 index 00000000000000..5587375a91e35c --- /dev/null +++ b/tools/node_modules/@babel/core/node_modules/caniuse-lite/data/features/css-rrggbbaa.js @@ -0,0 +1 @@ +module.exports={A:{A:{"2":"J D E F A B gB"},B:{"1":"R S T U V W X Y Z P a H","2":"C K L G M N O"},C:{"1":"6 7 8 9 AB BB CB DB EB FB YB GB ZB Q HB IB JB KB LB MB NB OB PB QB RB SB TB UB aB bB R S T iB U V W X Y Z P a H","2":"0 1 2 3 4 5 hB XB I b J D E F A B C K L G M N O c d e f g h i j k l m n o p q r s t u v w x y z jB kB"},D:{"1":"Q HB IB JB KB LB MB NB OB PB QB RB SB TB UB aB bB R S T U V W X Y Z P a H lB mB nB","2":"0 1 2 3 4 5 6 7 8 I b J D E F A B C K L G M N O c d e f g h i j k l m n o p q r s t u v w x y z","194":"9 AB BB CB DB EB FB YB GB ZB"},E:{"1":"A B C K L G dB VB WB tB uB vB","2":"I b J D E F oB cB pB qB rB sB"},F:{"1":"9 AB BB CB DB EB FB GB Q HB IB JB KB LB MB NB OB PB QB RB SB TB UB","2":"F B C G M N O c d e f g h i j k l m n o p q r s t u v wB xB yB zB VB eB 0B WB","194":"0 1 2 3 4 5 6 7 8 w x y z"},G:{"1":"8B 9B AC BC CC DC EC FC GC HC IC JC","2":"E cB 1B fB 2B 3B 4B 5B 6B 7B"},H:{"2":"KC"},I:{"1":"H","2":"XB I LC MC NC OC fB PC QC"},J:{"2":"D A"},K:{"1":"Q","2":"A B C VB eB WB"},L:{"1":"H"},M:{"1":"P"},N:{"2":"A B"},O:{"2":"RC"},P:{"1":"VC WC dB XC YC ZC aC","2":"I","194":"SC TC UC"},Q:{"2":"bC"},R:{"194":"cC"},S:{"2":"dC"}},B:7,C:"#rrggbbaa hex color notation"}; diff --git a/tools/node_modules/@babel/core/node_modules/caniuse-lite/data/features/css-scroll-behavior.js b/tools/node_modules/@babel/core/node_modules/caniuse-lite/data/features/css-scroll-behavior.js new file mode 100644 index 00000000000000..422e7c3503258d --- /dev/null +++ b/tools/node_modules/@babel/core/node_modules/caniuse-lite/data/features/css-scroll-behavior.js @@ -0,0 +1 @@ +module.exports={A:{A:{"2":"J D E F A B gB"},B:{"2":"C K L G M N O","129":"R S T U V W X Y Z P a H"},C:{"1":"0 1 2 3 4 5 6 7 8 9 t u v w x y z AB BB CB DB EB FB YB GB ZB Q HB IB JB KB LB MB NB OB PB QB RB SB TB UB aB bB R S T iB U V W X Y Z P a H","2":"hB XB I b J D E F A B C K L G M N O c d e f g h i j k l m n o p q r s jB kB"},D:{"2":"I b J D E F A B C K L G M N O c d e f g h i j k l m n o p q r s t u v w x","129":"ZB Q HB IB JB KB LB MB NB OB PB QB RB SB TB UB aB bB R S T U V W X Y Z P a H lB mB nB","450":"0 1 2 3 4 5 6 7 8 9 y z AB BB CB DB EB FB YB GB"},E:{"2":"I b J D E F A B C K oB cB pB qB rB sB dB VB WB tB","578":"L G uB vB"},F:{"2":"F B C G M N O c d e f g h i j k wB xB yB zB VB eB 0B WB","129":"5 6 7 8 9 AB BB CB DB EB FB GB Q HB IB JB KB LB MB NB OB PB QB RB SB TB UB","450":"0 1 2 3 4 l m n o p q r s t u v w x y z"},G:{"2":"E cB 1B fB 2B 3B 4B 5B 6B 7B 8B 9B AC BC CC DC EC FC GC HC IC JC"},H:{"2":"KC"},I:{"1":"H","2":"XB I LC MC NC OC fB PC QC"},J:{"2":"D A"},K:{"2":"A B C Q VB eB WB"},L:{"1":"H"},M:{"1":"P"},N:{"2":"A B"},O:{"129":"RC"},P:{"1":"VC WC dB XC YC ZC aC","2":"I SC TC UC"},Q:{"129":"bC"},R:{"2":"cC"},S:{"2":"dC"}},B:5,C:"CSSOM Scroll-behavior"}; diff --git a/tools/node_modules/@babel/core/node_modules/caniuse-lite/data/features/css-scroll-timeline.js b/tools/node_modules/@babel/core/node_modules/caniuse-lite/data/features/css-scroll-timeline.js new file mode 100644 index 00000000000000..b5366e43f14b0d --- /dev/null +++ b/tools/node_modules/@babel/core/node_modules/caniuse-lite/data/features/css-scroll-timeline.js @@ -0,0 +1 @@ +module.exports={A:{A:{"2":"J D E F A B gB"},B:{"2":"C K L G M N O R S T U V W X Y Z P","194":"a H"},C:{"2":"0 1 2 3 4 5 6 7 8 9 hB XB I b J D E F A B C K L G M N O c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB YB GB ZB Q HB IB JB KB LB MB NB OB PB QB RB SB TB UB aB bB R S T iB U V W X Y Z P a H jB kB"},D:{"2":"0 1 2 3 4 5 6 7 8 9 I b J D E F A B C K L G M N O c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB YB GB ZB Q HB IB JB KB LB MB NB OB PB QB RB SB TB UB aB bB R S T U V","194":"Z P a H lB mB nB","322":"W X Y"},E:{"2":"I b J D E F A B C K L G oB cB pB qB rB sB dB VB WB tB uB vB"},F:{"2":"0 1 2 3 4 5 6 7 8 9 F B C G M N O c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB GB Q HB IB JB KB LB MB NB OB PB QB wB xB yB zB VB eB 0B WB","194":"TB UB","322":"RB SB"},G:{"2":"E cB 1B fB 2B 3B 4B 5B 6B 7B 8B 9B AC BC CC DC EC FC GC HC IC JC"},H:{"2":"KC"},I:{"2":"XB I H LC MC NC OC fB PC QC"},J:{"2":"D A"},K:{"2":"A B C Q VB eB WB"},L:{"2":"H"},M:{"2":"P"},N:{"2":"A B"},O:{"2":"RC"},P:{"2":"I SC TC UC VC WC dB XC YC ZC aC"},Q:{"2":"bC"},R:{"2":"cC"},S:{"2":"dC"}},B:7,C:"CSS @scroll-timeline"}; diff --git a/tools/node_modules/@babel/core/node_modules/caniuse-lite/data/features/css-scrollbar.js b/tools/node_modules/@babel/core/node_modules/caniuse-lite/data/features/css-scrollbar.js new file mode 100644 index 00000000000000..6d41937b0bb4db --- /dev/null +++ b/tools/node_modules/@babel/core/node_modules/caniuse-lite/data/features/css-scrollbar.js @@ -0,0 +1 @@ +module.exports={A:{A:{"132":"J D E F A B gB"},B:{"2":"C K L G M N O","292":"R S T U V W X Y Z P a H"},C:{"2":"0 1 2 3 4 5 6 7 8 9 hB XB I b J D E F A B C K L G M N O c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB YB GB ZB Q jB kB","3074":"HB","4100":"IB JB KB LB MB NB OB PB QB RB SB TB UB aB bB R S T iB U V W X Y Z P a H"},D:{"292":"0 1 2 3 4 5 6 7 8 9 I b J D E F A B C K L G M N O c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB YB GB ZB Q HB IB JB KB LB MB NB OB PB QB RB SB TB UB aB bB R S T U V W X Y Z P a H lB mB nB"},E:{"16":"I b oB cB","292":"J D E F A B C K L G pB qB rB sB dB VB WB tB uB vB"},F:{"2":"F B C wB xB yB zB VB eB 0B WB","292":"0 1 2 3 4 5 6 7 8 9 G M N O c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB GB Q HB IB JB KB LB MB NB OB PB QB RB SB TB UB"},G:{"16":"cB 1B fB 2B 3B","292":"4B","804":"E 5B 6B 7B 8B 9B AC BC CC DC EC FC GC HC IC JC"},H:{"2":"KC"},I:{"16":"LC MC","292":"XB I H NC OC fB PC QC"},J:{"292":"D A"},K:{"2":"A B C VB eB WB","292":"Q"},L:{"292":"H"},M:{"2":"P"},N:{"2":"A B"},O:{"292":"RC"},P:{"292":"I SC TC UC VC WC dB XC YC ZC aC"},Q:{"292":"bC"},R:{"292":"cC"},S:{"2":"dC"}},B:7,C:"CSS scrollbar styling"}; diff --git a/tools/node_modules/@babel/core/node_modules/caniuse-lite/data/features/css-sel2.js b/tools/node_modules/@babel/core/node_modules/caniuse-lite/data/features/css-sel2.js new file mode 100644 index 00000000000000..8e1fd1668fa672 --- /dev/null +++ b/tools/node_modules/@babel/core/node_modules/caniuse-lite/data/features/css-sel2.js @@ -0,0 +1 @@ +module.exports={A:{A:{"1":"D E F A B","2":"gB","8":"J"},B:{"1":"C K L G M N O R S T U V W X Y Z P a H"},C:{"1":"0 1 2 3 4 5 6 7 8 9 hB XB I b J D E F A B C K L G M N O c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB YB GB ZB Q HB IB JB KB LB MB NB OB PB QB RB SB TB UB aB bB R S T iB U V W X Y Z P a H jB kB"},D:{"1":"0 1 2 3 4 5 6 7 8 9 I b J D E F A B C K L G M N O c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB YB GB ZB Q HB IB JB KB LB MB NB OB PB QB RB SB TB UB aB bB R S T U V W X Y Z P a H lB mB nB"},E:{"1":"I b J D E F A B C K L G oB cB pB qB rB sB dB VB WB tB uB vB"},F:{"1":"0 1 2 3 4 5 6 7 8 9 F B C G M N O c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB GB Q HB IB JB KB LB MB NB OB PB QB RB SB TB UB wB xB yB zB VB eB 0B WB"},G:{"1":"E cB 1B fB 2B 3B 4B 5B 6B 7B 8B 9B AC BC CC DC EC FC GC HC IC JC"},H:{"1":"KC"},I:{"1":"XB I H LC MC NC OC fB PC QC"},J:{"1":"D A"},K:{"1":"A B C Q VB eB WB"},L:{"1":"H"},M:{"1":"P"},N:{"1":"A B"},O:{"1":"RC"},P:{"1":"I SC TC UC VC WC dB XC YC ZC aC"},Q:{"1":"bC"},R:{"1":"cC"},S:{"1":"dC"}},B:2,C:"CSS 2.1 selectors"}; diff --git a/tools/node_modules/@babel/core/node_modules/caniuse-lite/data/features/css-sel3.js b/tools/node_modules/@babel/core/node_modules/caniuse-lite/data/features/css-sel3.js new file mode 100644 index 00000000000000..be8d8fcb2383d6 --- /dev/null +++ b/tools/node_modules/@babel/core/node_modules/caniuse-lite/data/features/css-sel3.js @@ -0,0 +1 @@ +module.exports={A:{A:{"1":"F A B","2":"gB","8":"J","132":"D E"},B:{"1":"C K L G M N O R S T U V W X Y Z P a H"},C:{"1":"0 1 2 3 4 5 6 7 8 9 I b J D E F A B C K L G M N O c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB YB GB ZB Q HB IB JB KB LB MB NB OB PB QB RB SB TB UB aB bB R S T iB U V W X Y Z P a H jB kB","2":"hB XB"},D:{"1":"0 1 2 3 4 5 6 7 8 9 I b J D E F A B C K L G M N O c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB YB GB ZB Q HB IB JB KB LB MB NB OB PB QB RB SB TB UB aB bB R S T U V W X Y Z P a H lB mB nB"},E:{"1":"I b J D E F A B C K L G cB pB qB rB sB dB VB WB tB uB vB","2":"oB"},F:{"1":"0 1 2 3 4 5 6 7 8 9 B C G M N O c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB GB Q HB IB JB KB LB MB NB OB PB QB RB SB TB UB wB xB yB zB VB eB 0B WB","2":"F"},G:{"1":"E cB 1B fB 2B 3B 4B 5B 6B 7B 8B 9B AC BC CC DC EC FC GC HC IC JC"},H:{"1":"KC"},I:{"1":"XB I H LC MC NC OC fB PC QC"},J:{"1":"D A"},K:{"1":"A B C Q VB eB WB"},L:{"1":"H"},M:{"1":"P"},N:{"1":"A B"},O:{"1":"RC"},P:{"1":"I SC TC UC VC WC dB XC YC ZC aC"},Q:{"1":"bC"},R:{"1":"cC"},S:{"1":"dC"}},B:2,C:"CSS3 selectors"}; diff --git a/tools/node_modules/@babel/core/node_modules/caniuse-lite/data/features/css-selection.js b/tools/node_modules/@babel/core/node_modules/caniuse-lite/data/features/css-selection.js new file mode 100644 index 00000000000000..7cbf7c71fda778 --- /dev/null +++ b/tools/node_modules/@babel/core/node_modules/caniuse-lite/data/features/css-selection.js @@ -0,0 +1 @@ +module.exports={A:{A:{"1":"F A B","2":"J D E gB"},B:{"1":"C K L G M N O R S T U V W X Y Z P a H"},C:{"1":"Q HB IB JB KB LB MB NB OB PB QB RB SB TB UB aB bB R S T iB U V W X Y Z P a H","33":"0 1 2 3 4 5 6 7 8 9 hB XB I b J D E F A B C K L G M N O c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB YB GB ZB jB kB"},D:{"1":"0 1 2 3 4 5 6 7 8 9 I b J D E F A B C K L G M N O c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB YB GB ZB Q HB IB JB KB LB MB NB OB PB QB RB SB TB UB aB bB R S T U V W X Y Z P a H lB mB nB"},E:{"1":"I b J D E F A B C K L G oB cB pB qB rB sB dB VB WB tB uB vB"},F:{"1":"0 1 2 3 4 5 6 7 8 9 B C G M N O c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB GB Q HB IB JB KB LB MB NB OB PB QB RB SB TB UB wB xB yB zB VB eB 0B WB","2":"F"},G:{"2":"E cB 1B fB 2B 3B 4B 5B 6B 7B 8B 9B AC BC CC DC EC FC GC HC IC JC"},H:{"2":"KC"},I:{"1":"H PC QC","2":"XB I LC MC NC OC fB"},J:{"1":"A","2":"D"},K:{"1":"C Q eB WB","16":"A B VB"},L:{"1":"H"},M:{"1":"P"},N:{"1":"A B"},O:{"1":"RC"},P:{"1":"I SC TC UC VC WC dB XC YC ZC aC"},Q:{"1":"bC"},R:{"1":"cC"},S:{"33":"dC"}},B:5,C:"::selection CSS pseudo-element"}; diff --git a/tools/node_modules/@babel/core/node_modules/caniuse-lite/data/features/css-shapes.js b/tools/node_modules/@babel/core/node_modules/caniuse-lite/data/features/css-shapes.js new file mode 100644 index 00000000000000..2f8df297286094 --- /dev/null +++ b/tools/node_modules/@babel/core/node_modules/caniuse-lite/data/features/css-shapes.js @@ -0,0 +1 @@ +module.exports={A:{A:{"2":"J D E F A B gB"},B:{"1":"R S T U V W X Y Z P a H","2":"C K L G M N O"},C:{"1":"Q HB IB JB KB LB MB NB OB PB QB RB SB TB UB aB bB R S T iB U V W X Y Z P a H","2":"0 1 2 3 4 5 6 7 hB XB I b J D E F A B C K L G M N O c d e f g h i j k l m n o p q r s t u v w x y z jB kB","322":"8 9 AB BB CB DB EB FB YB GB ZB"},D:{"1":"0 1 2 3 4 5 6 7 8 9 u v w x y z AB BB CB DB EB FB YB GB ZB Q HB IB JB KB LB MB NB OB PB QB RB SB TB UB aB bB R S T U V W X Y Z P a H lB mB nB","2":"I b J D E F A B C K L G M N O c d e f g h i j k l m n o p q","194":"r s t"},E:{"1":"B C K L G dB VB WB tB uB vB","2":"I b J D oB cB pB qB","33":"E F A rB sB"},F:{"1":"0 1 2 3 4 5 6 7 8 9 h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB GB Q HB IB JB KB LB MB NB OB PB QB RB SB TB UB","2":"F B C G M N O c d e f g wB xB yB zB VB eB 0B WB"},G:{"1":"9B AC BC CC DC EC FC GC HC IC JC","2":"cB 1B fB 2B 3B 4B","33":"E 5B 6B 7B 8B"},H:{"2":"KC"},I:{"1":"H","2":"XB I LC MC NC OC fB PC QC"},J:{"2":"D A"},K:{"1":"Q","2":"A B C VB eB WB"},L:{"1":"H"},M:{"1":"P"},N:{"2":"A B"},O:{"1":"RC"},P:{"1":"I SC TC UC VC WC dB XC YC ZC aC"},Q:{"1":"bC"},R:{"1":"cC"},S:{"2":"dC"}},B:4,C:"CSS Shapes Level 1"}; diff --git a/tools/node_modules/@babel/core/node_modules/caniuse-lite/data/features/css-snappoints.js b/tools/node_modules/@babel/core/node_modules/caniuse-lite/data/features/css-snappoints.js new file mode 100644 index 00000000000000..03970e2e8ddd8c --- /dev/null +++ b/tools/node_modules/@babel/core/node_modules/caniuse-lite/data/features/css-snappoints.js @@ -0,0 +1 @@ +module.exports={A:{A:{"2":"J D E F gB","6308":"A","6436":"B"},B:{"1":"R S T U V W X Y Z P a H","6436":"C K L G M N O"},C:{"1":"MB NB OB PB QB RB SB TB UB aB bB R S T iB U V W X Y Z P a H","2":"hB XB I b J D E F A B C K L G M N O c d e f g h i j k l m n o p q r s t u v jB kB","2052":"0 1 2 3 4 5 6 7 8 9 w x y z AB BB CB DB EB FB YB GB ZB Q HB IB JB KB LB"},D:{"1":"NB OB PB QB RB SB TB UB aB bB R S T U V W X Y Z P a H lB mB nB","2":"0 1 2 3 4 5 6 7 8 9 I b J D E F A B C K L G M N O c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB YB GB ZB Q HB IB JB","8258":"KB LB MB"},E:{"1":"B C K L G VB WB tB uB vB","2":"I b J D E oB cB pB qB rB","3108":"F A sB dB"},F:{"1":"IB JB KB LB MB NB OB PB QB RB SB TB UB","2":"0 1 2 3 4 5 6 7 8 9 F B C G M N O c d e f g h i j k l m n o p q r s t u v w x y z AB wB xB yB zB VB eB 0B WB","8258":"BB CB DB EB FB GB Q HB"},G:{"1":"AC BC CC DC EC FC GC HC IC JC","2":"E cB 1B fB 2B 3B 4B 5B","3108":"6B 7B 8B 9B"},H:{"2":"KC"},I:{"1":"H","2":"XB I LC MC NC OC fB PC QC"},J:{"2":"D A"},K:{"2":"A B C Q VB eB WB"},L:{"1":"H"},M:{"1":"P"},N:{"2":"A B"},O:{"2":"RC"},P:{"1":"dB XC YC ZC aC","2":"I SC TC UC VC WC"},Q:{"2":"bC"},R:{"2":"cC"},S:{"2052":"dC"}},B:4,C:"CSS Scroll Snap"}; diff --git a/tools/node_modules/@babel/core/node_modules/caniuse-lite/data/features/css-sticky.js b/tools/node_modules/@babel/core/node_modules/caniuse-lite/data/features/css-sticky.js new file mode 100644 index 00000000000000..863e39a994b5bc --- /dev/null +++ b/tools/node_modules/@babel/core/node_modules/caniuse-lite/data/features/css-sticky.js @@ -0,0 +1 @@ +module.exports={A:{A:{"2":"J D E F A B gB"},B:{"1":"H","2":"C K L G","1028":"R S T U V W X Y Z P a","4100":"M N O"},C:{"1":"YB GB ZB Q HB IB JB KB LB MB NB OB PB QB RB SB TB UB aB bB R S T iB U V W X Y Z P a H","2":"hB XB I b J D E F A B C K L G M N O c d e f g h i jB kB","194":"j k l m n o","516":"0 1 2 3 4 5 6 7 8 9 p q r s t u v w x y z AB BB CB DB EB FB"},D:{"1":"H lB mB nB","2":"0 1 2 3 4 5 6 7 8 I b J D E F A B C K L G M N O c d e f u v w x y z","322":"9 g h i j k l m n o p q r s t AB BB CB","1028":"DB EB FB YB GB ZB Q HB IB JB KB LB MB NB OB PB QB RB SB TB UB aB bB R S T U V W X Y Z P a"},E:{"1":"K L G tB uB vB","2":"I b J oB cB pB","33":"E F A B C rB sB dB VB WB","2084":"D qB"},F:{"2":"F B C G M N O c d e f g h i j k l m n o p q r s t u v wB xB yB zB VB eB 0B WB","322":"w x y","1028":"0 1 2 3 4 5 6 7 8 9 z AB BB CB DB EB FB GB Q HB IB JB KB LB MB NB OB PB QB RB SB TB UB"},G:{"1":"EC FC GC HC IC JC","2":"cB 1B fB 2B","33":"E 5B 6B 7B 8B 9B AC BC CC DC","2084":"3B 4B"},H:{"2":"KC"},I:{"1":"H","2":"XB I LC MC NC OC fB PC QC"},J:{"2":"D A"},K:{"2":"A B C VB eB WB","1028":"Q"},L:{"1":"H"},M:{"1":"P"},N:{"2":"A B"},O:{"1028":"RC"},P:{"1":"TC UC VC WC dB XC YC ZC aC","2":"I SC"},Q:{"1028":"bC"},R:{"2":"cC"},S:{"516":"dC"}},B:5,C:"CSS position:sticky"}; diff --git a/tools/node_modules/@babel/core/node_modules/caniuse-lite/data/features/css-subgrid.js b/tools/node_modules/@babel/core/node_modules/caniuse-lite/data/features/css-subgrid.js new file mode 100644 index 00000000000000..a2b7cb32e3b06d --- /dev/null +++ b/tools/node_modules/@babel/core/node_modules/caniuse-lite/data/features/css-subgrid.js @@ -0,0 +1 @@ +module.exports={A:{A:{"2":"J D E F A B gB"},B:{"2":"C K L G M N O R S T U V W X Y Z P a H"},C:{"1":"PB QB RB SB TB UB aB bB R S T iB U V W X Y Z P a H","2":"0 1 2 3 4 5 6 7 8 9 hB XB I b J D E F A B C K L G M N O c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB YB GB ZB Q HB IB JB KB LB MB NB OB jB kB"},D:{"2":"0 1 2 3 4 5 6 7 8 9 I b J D E F A B C K L G M N O c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB YB GB ZB Q HB IB JB KB LB MB NB OB PB QB RB SB TB UB aB bB R S T U V W X Y Z P a H lB mB nB"},E:{"2":"I b J D E F A B C K L G oB cB pB qB rB sB dB VB WB tB uB vB"},F:{"2":"0 1 2 3 4 5 6 7 8 9 F B C G M N O c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB GB Q HB IB JB KB LB MB NB OB PB QB RB SB TB UB wB xB yB zB VB eB 0B WB"},G:{"2":"E cB 1B fB 2B 3B 4B 5B 6B 7B 8B 9B AC BC CC DC EC FC GC HC IC JC"},H:{"2":"KC"},I:{"2":"XB I H LC MC NC OC fB PC QC"},J:{"2":"D A"},K:{"2":"A B C Q VB eB WB"},L:{"2":"H"},M:{"1":"P"},N:{"2":"A B"},O:{"2":"RC"},P:{"2":"I SC TC UC VC WC dB XC YC ZC aC"},Q:{"2":"bC"},R:{"2":"cC"},S:{"2":"dC"}},B:5,C:"CSS Subgrid"}; diff --git a/tools/node_modules/@babel/core/node_modules/caniuse-lite/data/features/css-supports-api.js b/tools/node_modules/@babel/core/node_modules/caniuse-lite/data/features/css-supports-api.js new file mode 100644 index 00000000000000..e3b9ff4e56f03c --- /dev/null +++ b/tools/node_modules/@babel/core/node_modules/caniuse-lite/data/features/css-supports-api.js @@ -0,0 +1 @@ +module.exports={A:{A:{"2":"J D E F A B gB"},B:{"1":"R S T U V W X Y Z P a H","260":"C K L G M N O"},C:{"1":"CB DB EB FB YB GB ZB Q HB IB JB KB LB MB NB OB PB QB RB SB TB UB aB bB R S T iB U V W X Y Z P a H","2":"hB XB I b J D E F A B C K L G M N O c jB kB","66":"d e","260":"0 1 2 3 4 5 6 7 8 9 f g h i j k l m n o p q r s t u v w x y z AB BB"},D:{"1":"ZB Q HB IB JB KB LB MB NB OB PB QB RB SB TB UB aB bB R S T U V W X Y Z P a H lB mB nB","2":"I b J D E F A B C K L G M N O c d e f g h i j k","260":"0 1 2 3 4 5 6 7 8 9 l m n o p q r s t u v w x y z AB BB CB DB EB FB YB GB"},E:{"1":"F A B C K L G sB dB VB WB tB uB vB","2":"I b J D E oB cB pB qB rB"},F:{"1":"0 1 2 3 4 5 6 7 8 9 G M N O c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB GB Q HB IB JB KB LB MB NB OB PB QB RB SB TB UB","2":"F B C wB xB yB zB VB eB 0B","132":"WB"},G:{"1":"6B 7B 8B 9B AC BC CC DC EC FC GC HC IC JC","2":"E cB 1B fB 2B 3B 4B 5B"},H:{"132":"KC"},I:{"1":"H PC QC","2":"XB I LC MC NC OC fB"},J:{"2":"D A"},K:{"1":"Q","2":"A B C VB eB","132":"WB"},L:{"1":"H"},M:{"1":"P"},N:{"2":"A B"},O:{"1":"RC"},P:{"1":"I SC TC UC VC WC dB XC YC ZC aC"},Q:{"1":"bC"},R:{"1":"cC"},S:{"1":"dC"}},B:4,C:"CSS.supports() API"}; diff --git a/tools/node_modules/@babel/core/node_modules/caniuse-lite/data/features/css-table.js b/tools/node_modules/@babel/core/node_modules/caniuse-lite/data/features/css-table.js new file mode 100644 index 00000000000000..3e231982fe5fdd --- /dev/null +++ b/tools/node_modules/@babel/core/node_modules/caniuse-lite/data/features/css-table.js @@ -0,0 +1 @@ +module.exports={A:{A:{"1":"E F A B","2":"J D gB"},B:{"1":"C K L G M N O R S T U V W X Y Z P a H"},C:{"1":"0 1 2 3 4 5 6 7 8 9 XB I b J D E F A B C K L G M N O c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB YB GB ZB Q HB IB JB KB LB MB NB OB PB QB RB SB TB UB aB bB R S T iB U V W X Y Z P a H jB kB","132":"hB"},D:{"1":"0 1 2 3 4 5 6 7 8 9 I b J D E F A B C K L G M N O c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB YB GB ZB Q HB IB JB KB LB MB NB OB PB QB RB SB TB UB aB bB R S T U V W X Y Z P a H lB mB nB"},E:{"1":"I b J D E F A B C K L G oB cB pB qB rB sB dB VB WB tB uB vB"},F:{"1":"0 1 2 3 4 5 6 7 8 9 F B C G M N O c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB GB Q HB IB JB KB LB MB NB OB PB QB RB SB TB UB wB xB yB zB VB eB 0B WB"},G:{"1":"E cB 1B fB 2B 3B 4B 5B 6B 7B 8B 9B AC BC CC DC EC FC GC HC IC JC"},H:{"1":"KC"},I:{"1":"XB I H LC MC NC OC fB PC QC"},J:{"1":"D A"},K:{"1":"A B C Q VB eB WB"},L:{"1":"H"},M:{"1":"P"},N:{"1":"A B"},O:{"1":"RC"},P:{"1":"I SC TC UC VC WC dB XC YC ZC aC"},Q:{"1":"bC"},R:{"1":"cC"},S:{"1":"dC"}},B:2,C:"CSS Table display"}; diff --git a/tools/node_modules/@babel/core/node_modules/caniuse-lite/data/features/css-text-align-last.js b/tools/node_modules/@babel/core/node_modules/caniuse-lite/data/features/css-text-align-last.js new file mode 100644 index 00000000000000..83ecc13c19d384 --- /dev/null +++ b/tools/node_modules/@babel/core/node_modules/caniuse-lite/data/features/css-text-align-last.js @@ -0,0 +1 @@ +module.exports={A:{A:{"132":"J D E F A B gB"},B:{"1":"R S T U V W X Y Z P a H","4":"C K L G M N O"},C:{"1":"6 7 8 9 AB BB CB DB EB FB YB GB ZB Q HB IB JB KB LB MB NB OB PB QB RB SB TB UB aB bB R S T iB U V W X Y Z P a H","2":"hB XB I b J D E F A B jB kB","33":"0 1 2 3 4 5 C K L G M N O c d e f g h i j k l m n o p q r s t u v w x y z"},D:{"1":"4 5 6 7 8 9 AB BB CB DB EB FB YB GB ZB Q HB IB JB KB LB MB NB OB PB QB RB SB TB UB aB bB R S T U V W X Y Z P a H lB mB nB","2":"I b J D E F A B C K L G M N O c d e f g h i j k l m n o p q r","322":"0 1 2 3 s t u v w x y z"},E:{"2":"I b J D E F A B C K L G oB cB pB qB rB sB dB VB WB tB uB vB"},F:{"1":"0 1 2 3 4 5 6 7 8 9 r s t u v w x y z AB BB CB DB EB FB GB Q HB IB JB KB LB MB NB OB PB QB RB SB TB UB","2":"F B C G M N O c d e wB xB yB zB VB eB 0B WB","578":"f g h i j k l m n o p q"},G:{"2":"E cB 1B fB 2B 3B 4B 5B 6B 7B 8B 9B AC BC CC DC EC FC GC HC IC JC"},H:{"2":"KC"},I:{"1":"H","2":"XB I LC MC NC OC fB PC QC"},J:{"2":"D A"},K:{"1":"Q","2":"A B C VB eB WB"},L:{"1":"H"},M:{"1":"P"},N:{"132":"A B"},O:{"1":"RC"},P:{"1":"SC TC UC VC WC dB XC YC ZC aC","2":"I"},Q:{"2":"bC"},R:{"1":"cC"},S:{"33":"dC"}},B:5,C:"CSS3 text-align-last"}; diff --git a/tools/node_modules/@babel/core/node_modules/caniuse-lite/data/features/css-text-indent.js b/tools/node_modules/@babel/core/node_modules/caniuse-lite/data/features/css-text-indent.js new file mode 100644 index 00000000000000..6bfb2c6a84d33c --- /dev/null +++ b/tools/node_modules/@babel/core/node_modules/caniuse-lite/data/features/css-text-indent.js @@ -0,0 +1 @@ +module.exports={A:{A:{"132":"J D E F A B gB"},B:{"132":"C K L G M N O","388":"R S T U V W X Y Z P a H"},C:{"132":"0 1 2 3 4 5 6 7 8 9 hB XB I b J D E F A B C K L G M N O c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB YB GB ZB Q HB IB JB KB LB MB NB OB PB QB RB SB TB UB aB bB R S T iB U V W X Y Z P a H jB kB"},D:{"132":"I b J D E F A B C K L G M N O c d e f g h i j k l m n o p q r s t u","388":"0 1 2 3 4 5 6 7 8 9 v w x y z AB BB CB DB EB FB YB GB ZB Q HB IB JB KB LB MB NB OB PB QB RB SB TB UB aB bB R S T U V W X Y Z P a H lB mB nB"},E:{"132":"I b J D E F A B C K L G oB cB pB qB rB sB dB VB WB tB uB vB"},F:{"132":"F B C G M N O c d e f g h wB xB yB zB VB eB 0B WB","388":"0 1 2 3 4 5 6 7 8 9 i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB GB Q HB IB JB KB LB MB NB OB PB QB RB SB TB UB"},G:{"132":"E cB 1B fB 2B 3B 4B 5B 6B 7B 8B 9B AC BC CC DC EC FC GC HC IC JC"},H:{"132":"KC"},I:{"132":"XB I LC MC NC OC fB PC QC","388":"H"},J:{"132":"D A"},K:{"132":"A B C VB eB WB","388":"Q"},L:{"388":"H"},M:{"132":"P"},N:{"132":"A B"},O:{"132":"RC"},P:{"132":"I","388":"SC TC UC VC WC dB XC YC ZC aC"},Q:{"388":"bC"},R:{"388":"cC"},S:{"132":"dC"}},B:5,C:"CSS text-indent"}; diff --git a/tools/node_modules/@babel/core/node_modules/caniuse-lite/data/features/css-text-justify.js b/tools/node_modules/@babel/core/node_modules/caniuse-lite/data/features/css-text-justify.js new file mode 100644 index 00000000000000..69a95a79e724a3 --- /dev/null +++ b/tools/node_modules/@babel/core/node_modules/caniuse-lite/data/features/css-text-justify.js @@ -0,0 +1 @@ +module.exports={A:{A:{"16":"J D gB","132":"E F A B"},B:{"132":"C K L G M N O","322":"R S T U V W X Y Z P a H"},C:{"2":"0 1 2 3 4 5 6 7 8 9 hB XB I b J D E F A B C K L G M N O c d e f g h i j k l m n o p q r s t u v w x y z AB jB kB","1025":"CB DB EB FB YB GB ZB Q HB IB JB KB LB MB NB OB PB QB RB SB TB UB aB bB R S T iB U V W X Y Z P a H","1602":"BB"},D:{"2":"I b J D E F A B C K L G M N O c d e f g h i j k l m n o p q r s t u v w x y z","322":"0 1 2 3 4 5 6 7 8 9 AB BB CB DB EB FB YB GB ZB Q HB IB JB KB LB MB NB OB PB QB RB SB TB UB aB bB R S T U V W X Y Z P a H lB mB nB"},E:{"2":"I b J D E F A B C K L G oB cB pB qB rB sB dB VB WB tB uB vB"},F:{"2":"F B C G M N O c d e f g h i j k l m wB xB yB zB VB eB 0B WB","322":"0 1 2 3 4 5 6 7 8 9 n o p q r s t u v w x y z AB BB CB DB EB FB GB Q HB IB JB KB LB MB NB OB PB QB RB SB TB UB"},G:{"2":"E cB 1B fB 2B 3B 4B 5B 6B 7B 8B 9B AC BC CC DC EC FC GC HC IC JC"},H:{"2":"KC"},I:{"2":"XB I LC MC NC OC fB PC QC","322":"H"},J:{"2":"D A"},K:{"2":"A B C VB eB WB","322":"Q"},L:{"322":"H"},M:{"1025":"P"},N:{"132":"A B"},O:{"2":"RC"},P:{"2":"I","322":"SC TC UC VC WC dB XC YC ZC aC"},Q:{"322":"bC"},R:{"322":"cC"},S:{"2":"dC"}},B:5,C:"CSS text-justify"}; diff --git a/tools/node_modules/@babel/core/node_modules/caniuse-lite/data/features/css-text-orientation.js b/tools/node_modules/@babel/core/node_modules/caniuse-lite/data/features/css-text-orientation.js new file mode 100644 index 00000000000000..4fc0e061c4ce86 --- /dev/null +++ b/tools/node_modules/@babel/core/node_modules/caniuse-lite/data/features/css-text-orientation.js @@ -0,0 +1 @@ +module.exports={A:{A:{"2":"J D E F A B gB"},B:{"1":"R S T U V W X Y Z P a H","2":"C K L G M N O"},C:{"1":"0 1 2 3 4 5 6 7 8 9 y z AB BB CB DB EB FB YB GB ZB Q HB IB JB KB LB MB NB OB PB QB RB SB TB UB aB bB R S T iB U V W X Y Z P a H","2":"hB XB I b J D E F A B C K L G M N O c d e f g h i j k l m n o p q r s t u jB kB","194":"v w x"},D:{"1":"5 6 7 8 9 AB BB CB DB EB FB YB GB ZB Q HB IB JB KB LB MB NB OB PB QB RB SB TB UB aB bB R S T U V W X Y Z P a H lB mB nB","2":"0 1 2 3 4 I b J D E F A B C K L G M N O c d e f g h i j k l m n o p q r s t u v w x y z"},E:{"1":"L G uB vB","2":"I b J D E F oB cB pB qB rB sB","16":"A","33":"B C K dB VB WB tB"},F:{"1":"0 1 2 3 4 5 6 7 8 9 s t u v w x y z AB BB CB DB EB FB GB Q HB IB JB KB LB MB NB OB PB QB RB SB TB UB","2":"F B C G M N O c d e f g h i j k l m n o p q r wB xB yB zB VB eB 0B WB"},G:{"1":"8B 9B AC BC CC DC EC FC GC HC IC JC","2":"E cB 1B fB 2B 3B 4B 5B 6B 7B"},H:{"2":"KC"},I:{"1":"H","2":"XB I LC MC NC OC fB PC QC"},J:{"2":"D A"},K:{"1":"Q","2":"A B C VB eB WB"},L:{"1":"H"},M:{"1":"P"},N:{"2":"A B"},O:{"1":"RC"},P:{"1":"SC TC UC VC WC dB XC YC ZC aC","2":"I"},Q:{"1":"bC"},R:{"1":"cC"},S:{"1":"dC"}},B:4,C:"CSS text-orientation"}; diff --git a/tools/node_modules/@babel/core/node_modules/caniuse-lite/data/features/css-text-spacing.js b/tools/node_modules/@babel/core/node_modules/caniuse-lite/data/features/css-text-spacing.js new file mode 100644 index 00000000000000..727bfdc19fcdaa --- /dev/null +++ b/tools/node_modules/@babel/core/node_modules/caniuse-lite/data/features/css-text-spacing.js @@ -0,0 +1 @@ +module.exports={A:{A:{"2":"J D gB","161":"E F A B"},B:{"2":"R S T U V W X Y Z P a H","161":"C K L G M N O"},C:{"2":"0 1 2 3 4 5 6 7 8 9 hB XB I b J D E F A B C K L G M N O c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB YB GB ZB Q HB IB JB KB LB MB NB OB PB QB RB SB TB UB aB bB R S T iB U V W X Y Z P a H jB kB"},D:{"2":"0 1 2 3 4 5 6 7 8 9 I b J D E F A B C K L G M N O c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB YB GB ZB Q HB IB JB KB LB MB NB OB PB QB RB SB TB UB aB bB R S T U V W X Y Z P a H lB mB nB"},E:{"2":"I b J D E F A B C K L G oB cB pB qB rB sB dB VB WB tB uB vB"},F:{"2":"0 1 2 3 4 5 6 7 8 9 F B C G M N O c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB GB Q HB IB JB KB LB MB NB OB PB QB RB SB TB UB wB xB yB zB VB eB 0B WB"},G:{"2":"E cB 1B fB 2B 3B 4B 5B 6B 7B 8B 9B AC BC CC DC EC FC GC HC IC JC"},H:{"2":"KC"},I:{"2":"XB I H LC MC NC OC fB PC QC"},J:{"2":"D A"},K:{"2":"A B C Q VB eB WB"},L:{"2":"H"},M:{"2":"P"},N:{"16":"A B"},O:{"2":"RC"},P:{"2":"I SC TC UC VC WC dB XC YC ZC aC"},Q:{"2":"bC"},R:{"2":"cC"},S:{"2":"dC"}},B:5,C:"CSS Text 4 text-spacing"}; diff --git a/tools/node_modules/@babel/core/node_modules/caniuse-lite/data/features/css-textshadow.js b/tools/node_modules/@babel/core/node_modules/caniuse-lite/data/features/css-textshadow.js new file mode 100644 index 00000000000000..2d5bdfd62b03ef --- /dev/null +++ b/tools/node_modules/@babel/core/node_modules/caniuse-lite/data/features/css-textshadow.js @@ -0,0 +1 @@ +module.exports={A:{A:{"2":"J D E F gB","129":"A B"},B:{"1":"R S T U V W X Y Z P a H","129":"C K L G M N O"},C:{"1":"0 1 2 3 4 5 6 7 8 9 I b J D E F A B C K L G M N O c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB YB GB ZB Q HB IB JB KB LB MB NB OB PB QB RB SB TB UB aB bB R S T iB U V W X Y Z P a H jB kB","2":"hB XB"},D:{"1":"0 1 2 3 4 5 6 7 8 9 I b J D E F A B C K L G M N O c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB YB GB ZB Q HB IB JB KB LB MB NB OB PB QB RB SB TB UB aB bB R S T U V W X Y Z P a H lB mB nB"},E:{"1":"I b J D E F A B C K L G pB qB rB sB dB VB WB tB uB vB","260":"oB cB"},F:{"1":"0 1 2 3 4 5 6 7 8 9 B C G M N O c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB GB Q HB IB JB KB LB MB NB OB PB QB RB SB TB UB wB xB yB zB VB eB 0B WB","2":"F"},G:{"1":"E cB 1B fB 2B 3B 4B 5B 6B 7B 8B 9B AC BC CC DC EC FC GC HC IC JC"},H:{"4":"KC"},I:{"1":"XB I H LC MC NC OC fB PC QC"},J:{"1":"A","4":"D"},K:{"1":"A B C Q VB eB WB"},L:{"1":"H"},M:{"1":"P"},N:{"129":"A B"},O:{"1":"RC"},P:{"1":"I SC TC UC VC WC dB XC YC ZC aC"},Q:{"1":"bC"},R:{"1":"cC"},S:{"1":"dC"}},B:4,C:"CSS3 Text-shadow"}; diff --git a/tools/node_modules/@babel/core/node_modules/caniuse-lite/data/features/css-touch-action-2.js b/tools/node_modules/@babel/core/node_modules/caniuse-lite/data/features/css-touch-action-2.js new file mode 100644 index 00000000000000..6be2e07e459d77 --- /dev/null +++ b/tools/node_modules/@babel/core/node_modules/caniuse-lite/data/features/css-touch-action-2.js @@ -0,0 +1 @@ +module.exports={A:{A:{"2":"J D E F gB","132":"B","164":"A"},B:{"1":"R S T U V W X Y Z P a H","132":"C K L G M N O"},C:{"2":"0 1 2 3 4 5 6 7 8 9 hB XB I b J D E F A B C K L G M N O c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB YB GB ZB Q HB IB JB KB LB MB NB OB PB QB RB SB TB UB aB bB R S T iB U V W X Y Z P a H jB kB"},D:{"1":"DB EB FB YB GB ZB Q HB IB JB KB LB MB NB OB PB QB RB SB TB UB aB bB R S T U V W X Y Z P a H lB mB nB","2":"0 1 2 3 4 5 6 7 8 9 I b J D E F A B C K L G M N O c d e f g h i j k l m n o p q r s t u v w x y z AB BB","260":"CB"},E:{"2":"I b J D E F A B C K L G oB cB pB qB rB sB dB VB WB tB uB vB"},F:{"1":"0 1 2 3 4 5 6 7 8 9 AB BB CB DB EB FB GB Q HB IB JB KB LB MB NB OB PB QB RB SB TB UB","2":"F B C G M N O c d e f g h i j k l m n o p q r s t u v w x y wB xB yB zB VB eB 0B WB","260":"z"},G:{"2":"E cB 1B fB 2B 3B 4B 5B 6B 7B 8B 9B AC BC CC DC EC FC GC HC IC JC"},H:{"2":"KC"},I:{"1":"H","2":"XB I LC MC NC OC fB PC QC"},J:{"2":"D A"},K:{"2":"A B C Q VB eB WB"},L:{"1":"H"},M:{"2":"P"},N:{"132":"B","164":"A"},O:{"2":"RC"},P:{"1":"SC TC UC VC WC dB XC YC ZC aC","16":"I"},Q:{"2":"bC"},R:{"1":"cC"},S:{"2":"dC"}},B:5,C:"CSS touch-action level 2 values"}; diff --git a/tools/node_modules/@babel/core/node_modules/caniuse-lite/data/features/css-touch-action.js b/tools/node_modules/@babel/core/node_modules/caniuse-lite/data/features/css-touch-action.js new file mode 100644 index 00000000000000..e81acd167b28ed --- /dev/null +++ b/tools/node_modules/@babel/core/node_modules/caniuse-lite/data/features/css-touch-action.js @@ -0,0 +1 @@ +module.exports={A:{A:{"1":"B","2":"J D E F gB","289":"A"},B:{"1":"C K L G M N O R S T U V W X Y Z P a H"},C:{"1":"EB FB YB GB ZB Q HB IB JB KB LB MB NB OB PB QB RB SB TB UB aB bB R S T iB U V W X Y Z P a H","2":"hB XB I b J D E F A B C K L G M N O c d e f g h i j k l jB kB","194":"0 1 2 3 4 5 6 7 8 m n o p q r s t u v w x y z","1025":"9 AB BB CB DB"},D:{"1":"0 1 2 3 4 5 6 7 8 9 t u v w x y z AB BB CB DB EB FB YB GB ZB Q HB IB JB KB LB MB NB OB PB QB RB SB TB UB aB bB R S T U V W X Y Z P a H lB mB nB","2":"I b J D E F A B C K L G M N O c d e f g h i j k l m n o p q r s"},E:{"2":"I b J D E F A B C K L G oB cB pB qB rB sB dB VB WB tB uB vB"},F:{"1":"0 1 2 3 4 5 6 7 8 9 g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB GB Q HB IB JB KB LB MB NB OB PB QB RB SB TB UB","2":"F B C G M N O c d e f wB xB yB zB VB eB 0B WB"},G:{"1":"EC FC GC HC IC JC","2":"E cB 1B fB 2B 3B 4B 5B 6B","516":"7B 8B 9B AC BC CC DC"},H:{"2":"KC"},I:{"1":"H","2":"XB I LC MC NC OC fB PC QC"},J:{"2":"D A"},K:{"1":"Q","2":"A B C VB eB WB"},L:{"1":"H"},M:{"1":"P"},N:{"1":"B","289":"A"},O:{"1":"RC"},P:{"1":"I SC TC UC VC WC dB XC YC ZC aC"},Q:{"1":"bC"},R:{"1":"cC"},S:{"194":"dC"}},B:2,C:"CSS touch-action property"}; diff --git a/tools/node_modules/@babel/core/node_modules/caniuse-lite/data/features/css-transitions.js b/tools/node_modules/@babel/core/node_modules/caniuse-lite/data/features/css-transitions.js new file mode 100644 index 00000000000000..6c68bffeca919d --- /dev/null +++ b/tools/node_modules/@babel/core/node_modules/caniuse-lite/data/features/css-transitions.js @@ -0,0 +1 @@ +module.exports={A:{A:{"1":"A B","2":"J D E F gB"},B:{"1":"C K L G M N O R S T U V W X Y Z P a H"},C:{"1":"0 1 2 3 4 5 6 7 8 9 M N O c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB YB GB ZB Q HB IB JB KB LB MB NB OB PB QB RB SB TB UB aB bB R S T iB U V W X Y Z P a H","2":"hB XB jB kB","33":"b J D E F A B C K L G","164":"I"},D:{"1":"0 1 2 3 4 5 6 7 8 9 j k l m n o p q r s t u v w x y z AB BB CB DB EB FB YB GB ZB Q HB IB JB KB LB MB NB OB PB QB RB SB TB UB aB bB R S T U V W X Y Z P a H lB mB nB","33":"I b J D E F A B C K L G M N O c d e f g h i"},E:{"1":"D E F A B C K L G qB rB sB dB VB WB tB uB vB","33":"J pB","164":"I b oB cB"},F:{"1":"0 1 2 3 4 5 6 7 8 9 G M N O c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB GB Q HB IB JB KB LB MB NB OB PB QB RB SB TB UB WB","2":"F wB xB","33":"C","164":"B yB zB VB eB 0B"},G:{"1":"E 4B 5B 6B 7B 8B 9B AC BC CC DC EC FC GC HC IC JC","33":"3B","164":"cB 1B fB 2B"},H:{"2":"KC"},I:{"1":"H PC QC","33":"XB I LC MC NC OC fB"},J:{"1":"A","33":"D"},K:{"1":"Q WB","33":"C","164":"A B VB eB"},L:{"1":"H"},M:{"1":"P"},N:{"1":"A B"},O:{"1":"RC"},P:{"1":"I SC TC UC VC WC dB XC YC ZC aC"},Q:{"1":"bC"},R:{"1":"cC"},S:{"1":"dC"}},B:5,C:"CSS3 Transitions"}; diff --git a/tools/node_modules/@babel/core/node_modules/caniuse-lite/data/features/css-unicode-bidi.js b/tools/node_modules/@babel/core/node_modules/caniuse-lite/data/features/css-unicode-bidi.js new file mode 100644 index 00000000000000..e5ac1c31730dad --- /dev/null +++ b/tools/node_modules/@babel/core/node_modules/caniuse-lite/data/features/css-unicode-bidi.js @@ -0,0 +1 @@ +module.exports={A:{A:{"132":"J D E F A B gB"},B:{"1":"R S T U V W X Y Z P a H","132":"C K L G M N O"},C:{"1":"7 8 9 AB BB CB DB EB FB YB GB ZB Q HB IB JB KB LB MB NB OB PB QB RB SB TB UB aB bB R S T iB U V W X Y Z P a H","33":"0 1 2 3 4 5 6 N O c d e f g h i j k l m n o p q r s t u v w x y z","132":"hB XB I b J D E F jB kB","292":"A B C K L G M"},D:{"1":"5 6 7 8 9 AB BB CB DB EB FB YB GB ZB Q HB IB JB KB LB MB NB OB PB QB RB SB TB UB aB bB R S T U V W X Y Z P a H lB mB nB","132":"I b J D E F A B C K L G M","548":"0 1 2 3 4 N O c d e f g h i j k l m n o p q r s t u v w x y z"},E:{"132":"I b J D E oB cB pB qB rB","548":"F A B C K L G sB dB VB WB tB uB vB"},F:{"132":"0 1 2 3 4 5 6 7 8 9 F B C G M N O c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB GB Q HB IB JB KB LB MB NB OB PB QB RB SB TB UB wB xB yB zB VB eB 0B WB"},G:{"132":"E cB 1B fB 2B 3B 4B 5B","548":"6B 7B 8B 9B AC BC CC DC EC FC GC HC IC JC"},H:{"16":"KC"},I:{"1":"H","16":"XB I LC MC NC OC fB PC QC"},J:{"16":"D A"},K:{"16":"A B C Q VB eB WB"},L:{"1":"H"},M:{"1":"P"},N:{"132":"A B"},O:{"16":"RC"},P:{"1":"SC TC UC VC WC dB XC YC ZC aC","16":"I"},Q:{"16":"bC"},R:{"16":"cC"},S:{"33":"dC"}},B:4,C:"CSS unicode-bidi property"}; diff --git a/tools/node_modules/@babel/core/node_modules/caniuse-lite/data/features/css-unset-value.js b/tools/node_modules/@babel/core/node_modules/caniuse-lite/data/features/css-unset-value.js new file mode 100644 index 00000000000000..39c80eb1bf7b64 --- /dev/null +++ b/tools/node_modules/@babel/core/node_modules/caniuse-lite/data/features/css-unset-value.js @@ -0,0 +1 @@ +module.exports={A:{A:{"2":"J D E F A B gB"},B:{"1":"K L G M N O R S T U V W X Y Z P a H","2":"C"},C:{"1":"0 1 2 3 4 5 6 7 8 9 k l m n o p q r s t u v w x y z AB BB CB DB EB FB YB GB ZB Q HB IB JB KB LB MB NB OB PB QB RB SB TB UB aB bB R S T iB U V W X Y Z P a H","2":"hB XB I b J D E F A B C K L G M N O c d e f g h i j jB kB"},D:{"1":"0 1 2 3 4 5 6 7 8 9 y z AB BB CB DB EB FB YB GB ZB Q HB IB JB KB LB MB NB OB PB QB RB SB TB UB aB bB R S T U V W X Y Z P a H lB mB nB","2":"I b J D E F A B C K L G M N O c d e f g h i j k l m n o p q r s t u v w x"},E:{"1":"A B C K L G sB dB VB WB tB uB vB","2":"I b J D E F oB cB pB qB rB"},F:{"1":"0 1 2 3 4 5 6 7 8 9 l m n o p q r s t u v w x y z AB BB CB DB EB FB GB Q HB IB JB KB LB MB NB OB PB QB RB SB TB UB","2":"F B C G M N O c d e f g h i j k wB xB yB zB VB eB 0B WB"},G:{"1":"7B 8B 9B AC BC CC DC EC FC GC HC IC JC","2":"E cB 1B fB 2B 3B 4B 5B 6B"},H:{"2":"KC"},I:{"1":"H","2":"XB I LC MC NC OC fB PC QC"},J:{"2":"D A"},K:{"2":"A B C Q VB eB WB"},L:{"1":"H"},M:{"1":"P"},N:{"2":"A B"},O:{"1":"RC"},P:{"1":"I SC TC UC VC WC dB XC YC ZC aC"},Q:{"1":"bC"},R:{"1":"cC"},S:{"1":"dC"}},B:4,C:"CSS unset value"}; diff --git a/tools/node_modules/@babel/core/node_modules/caniuse-lite/data/features/css-variables.js b/tools/node_modules/@babel/core/node_modules/caniuse-lite/data/features/css-variables.js new file mode 100644 index 00000000000000..d1b4adb7a15932 --- /dev/null +++ b/tools/node_modules/@babel/core/node_modules/caniuse-lite/data/features/css-variables.js @@ -0,0 +1 @@ +module.exports={A:{A:{"2":"J D E F A B gB"},B:{"1":"M N O R S T U V W X Y Z P a H","2":"C K L","260":"G"},C:{"1":"0 1 2 3 4 5 6 7 8 9 o p q r s t u v w x y z AB BB CB DB EB FB YB GB ZB Q HB IB JB KB LB MB NB OB PB QB RB SB TB UB aB bB R S T iB U V W X Y Z P a H","2":"hB XB I b J D E F A B C K L G M N O c d e f g h i j k l m n jB kB"},D:{"1":"6 7 8 9 AB BB CB DB EB FB YB GB ZB Q HB IB JB KB LB MB NB OB PB QB RB SB TB UB aB bB R S T U V W X Y Z P a H lB mB nB","2":"0 1 2 3 4 I b J D E F A B C K L G M N O c d e f g h i j k l m n o p q r s t u v w x y z","194":"5"},E:{"1":"A B C K L G dB VB WB tB uB vB","2":"I b J D E F oB cB pB qB rB","260":"sB"},F:{"1":"0 1 2 3 4 5 6 7 8 9 t u v w x y z AB BB CB DB EB FB GB Q HB IB JB KB LB MB NB OB PB QB RB SB TB UB","2":"F B C G M N O c d e f g h i j k l m n o p q r wB xB yB zB VB eB 0B WB","194":"s"},G:{"1":"8B 9B AC BC CC DC EC FC GC HC IC JC","2":"E cB 1B fB 2B 3B 4B 5B 6B","260":"7B"},H:{"2":"KC"},I:{"1":"H","2":"XB I LC MC NC OC fB PC QC"},J:{"2":"D A"},K:{"1":"Q","2":"A B C VB eB WB"},L:{"1":"H"},M:{"1":"P"},N:{"2":"A B"},O:{"1":"RC"},P:{"1":"SC TC UC VC WC dB XC YC ZC aC","2":"I"},Q:{"2":"bC"},R:{"2":"cC"},S:{"1":"dC"}},B:4,C:"CSS Variables (Custom Properties)"}; diff --git a/tools/node_modules/@babel/core/node_modules/caniuse-lite/data/features/css-widows-orphans.js b/tools/node_modules/@babel/core/node_modules/caniuse-lite/data/features/css-widows-orphans.js new file mode 100644 index 00000000000000..9d49febbeb31ef --- /dev/null +++ b/tools/node_modules/@babel/core/node_modules/caniuse-lite/data/features/css-widows-orphans.js @@ -0,0 +1 @@ +module.exports={A:{A:{"1":"A B","2":"J D gB","129":"E F"},B:{"1":"C K L G M N O R S T U V W X Y Z P a H"},C:{"2":"0 1 2 3 4 5 6 7 8 9 hB XB I b J D E F A B C K L G M N O c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB YB GB ZB Q HB IB JB KB LB MB NB OB PB QB RB SB TB UB aB bB R S T iB U V W X Y Z P a H jB kB"},D:{"1":"0 1 2 3 4 5 6 7 8 9 i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB YB GB ZB Q HB IB JB KB LB MB NB OB PB QB RB SB TB UB aB bB R S T U V W X Y Z P a H lB mB nB","2":"I b J D E F A B C K L G M N O c d e f g h"},E:{"1":"D E F A B C K L G rB sB dB VB WB tB uB vB","2":"I b J oB cB pB qB"},F:{"1":"0 1 2 3 4 5 6 7 8 9 C G M N O c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB GB Q HB IB JB KB LB MB NB OB PB QB RB SB TB UB WB","129":"F B wB xB yB zB VB eB 0B"},G:{"1":"E 4B 5B 6B 7B 8B 9B AC BC CC DC EC FC GC HC IC JC","2":"cB 1B fB 2B 3B"},H:{"1":"KC"},I:{"1":"H PC QC","2":"XB I LC MC NC OC fB"},J:{"2":"D A"},K:{"1":"Q WB","2":"A B C VB eB"},L:{"1":"H"},M:{"2":"P"},N:{"1":"A B"},O:{"1":"RC"},P:{"1":"I SC TC UC VC WC dB XC YC ZC aC"},Q:{"1":"bC"},R:{"1":"cC"},S:{"2":"dC"}},B:2,C:"CSS widows & orphans"}; diff --git a/tools/node_modules/@babel/core/node_modules/caniuse-lite/data/features/css-writing-mode.js b/tools/node_modules/@babel/core/node_modules/caniuse-lite/data/features/css-writing-mode.js new file mode 100644 index 00000000000000..c96b587a0a2787 --- /dev/null +++ b/tools/node_modules/@babel/core/node_modules/caniuse-lite/data/features/css-writing-mode.js @@ -0,0 +1 @@ +module.exports={A:{A:{"132":"J D E F A B gB"},B:{"1":"C K L G M N O R S T U V W X Y Z P a H"},C:{"1":"0 1 2 3 4 5 6 7 8 9 y z AB BB CB DB EB FB YB GB ZB Q HB IB JB KB LB MB NB OB PB QB RB SB TB UB aB bB R S T iB U V W X Y Z P a H","2":"hB XB I b J D E F A B C K L G M N O c d e f g h i j k l m n o p q r s jB kB","322":"t u v w x"},D:{"1":"5 6 7 8 9 AB BB CB DB EB FB YB GB ZB Q HB IB JB KB LB MB NB OB PB QB RB SB TB UB aB bB R S T U V W X Y Z P a H lB mB nB","2":"I b J","16":"D","33":"0 1 2 3 4 E F A B C K L G M N O c d e f g h i j k l m n o p q r s t u v w x y z"},E:{"1":"B C K L G VB WB tB uB vB","2":"I oB cB","16":"b","33":"J D E F A pB qB rB sB dB"},F:{"1":"0 1 2 3 4 5 6 7 8 9 s t u v w x y z AB BB CB DB EB FB GB Q HB IB JB KB LB MB NB OB PB QB RB SB TB UB","2":"F B C wB xB yB zB VB eB 0B WB","33":"G M N O c d e f g h i j k l m n o p q r"},G:{"1":"AC BC CC DC EC FC GC HC IC JC","16":"cB 1B fB","33":"E 2B 3B 4B 5B 6B 7B 8B 9B"},H:{"2":"KC"},I:{"1":"H","2":"LC MC NC","33":"XB I OC fB PC QC"},J:{"33":"D A"},K:{"1":"Q","2":"A B C VB eB WB"},L:{"1":"H"},M:{"1":"P"},N:{"36":"A B"},O:{"1":"RC"},P:{"1":"SC TC UC VC WC dB XC YC ZC aC","33":"I"},Q:{"1":"bC"},R:{"1":"cC"},S:{"1":"dC"}},B:4,C:"CSS writing-mode property"}; diff --git a/tools/node_modules/@babel/core/node_modules/caniuse-lite/data/features/css-zoom.js b/tools/node_modules/@babel/core/node_modules/caniuse-lite/data/features/css-zoom.js new file mode 100644 index 00000000000000..fd2f2b681255ab --- /dev/null +++ b/tools/node_modules/@babel/core/node_modules/caniuse-lite/data/features/css-zoom.js @@ -0,0 +1 @@ +module.exports={A:{A:{"1":"J D gB","129":"E F A B"},B:{"1":"C K L G M N O R S T U V W X Y Z P a H"},C:{"2":"0 1 2 3 4 5 6 7 8 9 hB XB I b J D E F A B C K L G M N O c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB YB GB ZB Q HB IB JB KB LB MB NB OB PB QB RB SB TB UB aB bB R S T iB U V W X Y Z P a H jB kB"},D:{"1":"0 1 2 3 4 5 6 7 8 9 I b J D E F A B C K L G M N O c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB YB GB ZB Q HB IB JB KB LB MB NB OB PB QB RB SB TB UB aB bB R S T U V W X Y Z P a H lB mB nB"},E:{"1":"I b J D E F A B C K L G pB qB rB sB dB VB WB tB uB vB","2":"oB cB"},F:{"1":"0 1 2 3 4 5 6 7 8 9 G M N O c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB GB Q HB IB JB KB LB MB NB OB PB QB RB SB TB UB","2":"F B C wB xB yB zB VB eB 0B WB"},G:{"1":"E 1B fB 2B 3B 4B 5B 6B 7B 8B 9B AC BC CC DC EC FC GC HC IC JC","2":"cB"},H:{"2":"KC"},I:{"1":"XB I H LC MC NC OC fB PC QC"},J:{"1":"D A"},K:{"1":"Q","2":"A B C VB eB WB"},L:{"1":"H"},M:{"2":"P"},N:{"129":"A B"},O:{"1":"RC"},P:{"1":"I SC TC UC VC WC dB XC YC ZC aC"},Q:{"1":"bC"},R:{"1":"cC"},S:{"2":"dC"}},B:7,C:"CSS zoom"}; diff --git a/tools/node_modules/@babel/core/node_modules/caniuse-lite/data/features/css3-attr.js b/tools/node_modules/@babel/core/node_modules/caniuse-lite/data/features/css3-attr.js new file mode 100644 index 00000000000000..012f8c6fcd8dcc --- /dev/null +++ b/tools/node_modules/@babel/core/node_modules/caniuse-lite/data/features/css3-attr.js @@ -0,0 +1 @@ +module.exports={A:{A:{"2":"J D E F A B gB"},B:{"2":"C K L G M N O R S T U V W X Y Z P a H"},C:{"2":"0 1 2 3 4 5 6 7 8 9 hB XB I b J D E F A B C K L G M N O c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB YB GB ZB Q HB IB JB KB LB MB NB OB PB QB RB SB TB UB aB bB R S T iB U V W X Y Z P a H jB kB"},D:{"2":"0 1 2 3 4 5 6 7 8 9 I b J D E F A B C K L G M N O c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB YB GB ZB Q HB IB JB KB LB MB NB OB PB QB RB SB TB UB aB bB R S T U V W X Y Z P a H lB mB nB"},E:{"2":"I b J D E F A B C K L G oB cB pB qB rB sB dB VB WB tB uB vB"},F:{"2":"0 1 2 3 4 5 6 7 8 9 F B C G M N O c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB GB Q HB IB JB KB LB MB NB OB PB QB RB SB TB UB wB xB yB zB VB eB 0B WB"},G:{"2":"E cB 1B fB 2B 3B 4B 5B 6B 7B 8B 9B AC BC CC DC EC FC GC HC IC JC"},H:{"2":"KC"},I:{"2":"XB I H LC MC NC OC fB PC QC"},J:{"2":"D A"},K:{"2":"A B C Q VB eB WB"},L:{"2":"H"},M:{"2":"P"},N:{"2":"A B"},O:{"2":"RC"},P:{"2":"I SC TC UC VC WC dB XC YC ZC aC"},Q:{"2":"bC"},R:{"2":"cC"},S:{"2":"dC"}},B:4,C:"CSS3 attr() function for all properties"}; diff --git a/tools/node_modules/@babel/core/node_modules/caniuse-lite/data/features/css3-boxsizing.js b/tools/node_modules/@babel/core/node_modules/caniuse-lite/data/features/css3-boxsizing.js new file mode 100644 index 00000000000000..9e20f9e412df8c --- /dev/null +++ b/tools/node_modules/@babel/core/node_modules/caniuse-lite/data/features/css3-boxsizing.js @@ -0,0 +1 @@ +module.exports={A:{A:{"1":"E F A B","8":"J D gB"},B:{"1":"C K L G M N O R S T U V W X Y Z P a H"},C:{"1":"0 1 2 3 4 5 6 7 8 9 m n o p q r s t u v w x y z AB BB CB DB EB FB YB GB ZB Q HB IB JB KB LB MB NB OB PB QB RB SB TB UB aB bB R S T iB U V W X Y Z P a H","33":"hB XB I b J D E F A B C K L G M N O c d e f g h i j k l jB kB"},D:{"1":"0 1 2 3 4 5 6 7 8 9 A B C K L G M N O c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB YB GB ZB Q HB IB JB KB LB MB NB OB PB QB RB SB TB UB aB bB R S T U V W X Y Z P a H lB mB nB","33":"I b J D E F"},E:{"1":"J D E F A B C K L G pB qB rB sB dB VB WB tB uB vB","33":"I b oB cB"},F:{"1":"0 1 2 3 4 5 6 7 8 9 B C G M N O c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB GB Q HB IB JB KB LB MB NB OB PB QB RB SB TB UB wB xB yB zB VB eB 0B WB","2":"F"},G:{"1":"E 2B 3B 4B 5B 6B 7B 8B 9B AC BC CC DC EC FC GC HC IC JC","33":"cB 1B fB"},H:{"1":"KC"},I:{"1":"I H OC fB PC QC","33":"XB LC MC NC"},J:{"1":"A","33":"D"},K:{"1":"A B C Q VB eB WB"},L:{"1":"H"},M:{"1":"P"},N:{"1":"A B"},O:{"1":"RC"},P:{"1":"I SC TC UC VC WC dB XC YC ZC aC"},Q:{"1":"bC"},R:{"1":"cC"},S:{"1":"dC"}},B:5,C:"CSS3 Box-sizing"}; diff --git a/tools/node_modules/@babel/core/node_modules/caniuse-lite/data/features/css3-colors.js b/tools/node_modules/@babel/core/node_modules/caniuse-lite/data/features/css3-colors.js new file mode 100644 index 00000000000000..923b5d6d4b06b0 --- /dev/null +++ b/tools/node_modules/@babel/core/node_modules/caniuse-lite/data/features/css3-colors.js @@ -0,0 +1 @@ +module.exports={A:{A:{"1":"F A B","2":"J D E gB"},B:{"1":"C K L G M N O R S T U V W X Y Z P a H"},C:{"1":"0 1 2 3 4 5 6 7 8 9 XB I b J D E F A B C K L G M N O c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB YB GB ZB Q HB IB JB KB LB MB NB OB PB QB RB SB TB UB aB bB R S T iB U V W X Y Z P a H jB kB","4":"hB"},D:{"1":"0 1 2 3 4 5 6 7 8 9 I b J D E F A B C K L G M N O c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB YB GB ZB Q HB IB JB KB LB MB NB OB PB QB RB SB TB UB aB bB R S T U V W X Y Z P a H lB mB nB"},E:{"1":"I b J D E F A B C K L G oB cB pB qB rB sB dB VB WB tB uB vB"},F:{"1":"0 1 2 3 4 5 6 7 8 9 B C G M N O c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB GB Q HB IB JB KB LB MB NB OB PB QB RB SB TB UB xB yB zB VB eB 0B WB","2":"F","4":"wB"},G:{"1":"E cB 1B fB 2B 3B 4B 5B 6B 7B 8B 9B AC BC CC DC EC FC GC HC IC JC"},H:{"1":"KC"},I:{"1":"XB I H LC MC NC OC fB PC QC"},J:{"1":"D A"},K:{"1":"A B C Q VB eB WB"},L:{"1":"H"},M:{"1":"P"},N:{"1":"A B"},O:{"1":"RC"},P:{"1":"I SC TC UC VC WC dB XC YC ZC aC"},Q:{"1":"bC"},R:{"1":"cC"},S:{"1":"dC"}},B:2,C:"CSS3 Colors"}; diff --git a/tools/node_modules/@babel/core/node_modules/caniuse-lite/data/features/css3-cursors-grab.js b/tools/node_modules/@babel/core/node_modules/caniuse-lite/data/features/css3-cursors-grab.js new file mode 100644 index 00000000000000..999f732daa581b --- /dev/null +++ b/tools/node_modules/@babel/core/node_modules/caniuse-lite/data/features/css3-cursors-grab.js @@ -0,0 +1 @@ +module.exports={A:{A:{"2":"J D E F A B gB"},B:{"1":"G M N O R S T U V W X Y Z P a H","2":"C K L"},C:{"1":"0 1 2 3 4 5 6 7 8 9 k l m n o p q r s t u v w x y z AB BB CB DB EB FB YB GB ZB Q HB IB JB KB LB MB NB OB PB QB RB SB TB UB aB bB R S T iB U V W X Y Z P a H","33":"hB XB I b J D E F A B C K L G M N O c d e f g h i j jB kB"},D:{"1":"MB NB OB PB QB RB SB TB UB aB bB R S T U V W X Y Z P a H lB mB nB","33":"0 1 2 3 4 5 6 7 8 9 I b J D E F A B C K L G M N O c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB YB GB ZB Q HB IB JB KB LB"},E:{"1":"B C K L G VB WB tB uB vB","33":"I b J D E F A oB cB pB qB rB sB dB"},F:{"1":"C CB DB EB FB GB Q HB IB JB KB LB MB NB OB PB QB RB SB TB UB 0B WB","2":"F B wB xB yB zB VB eB","33":"0 1 2 3 4 5 6 7 8 9 G M N O c d e f g h i j k l m n o p q r s t u v w x y z AB BB"},G:{"2":"E cB 1B fB 2B 3B 4B 5B 6B 7B 8B 9B AC BC CC DC EC FC GC HC IC JC"},H:{"2":"KC"},I:{"1":"H","2":"XB I LC MC NC OC fB PC QC"},J:{"33":"D A"},K:{"2":"A B C VB eB WB","33":"Q"},L:{"1":"H"},M:{"2":"P"},N:{"2":"A B"},O:{"2":"RC"},P:{"2":"I SC TC UC VC WC dB XC YC ZC aC"},Q:{"33":"bC"},R:{"2":"cC"},S:{"2":"dC"}},B:3,C:"CSS grab & grabbing cursors"}; diff --git a/tools/node_modules/@babel/core/node_modules/caniuse-lite/data/features/css3-cursors-newer.js b/tools/node_modules/@babel/core/node_modules/caniuse-lite/data/features/css3-cursors-newer.js new file mode 100644 index 00000000000000..0866324f66f4f1 --- /dev/null +++ b/tools/node_modules/@babel/core/node_modules/caniuse-lite/data/features/css3-cursors-newer.js @@ -0,0 +1 @@ +module.exports={A:{A:{"2":"J D E F A B gB"},B:{"1":"C K L G M N O R S T U V W X Y Z P a H"},C:{"1":"0 1 2 3 4 5 6 7 8 9 h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB YB GB ZB Q HB IB JB KB LB MB NB OB PB QB RB SB TB UB aB bB R S T iB U V W X Y Z P a H","33":"hB XB I b J D E F A B C K L G M N O c d e f g jB kB"},D:{"1":"0 1 2 3 4 5 6 7 8 9 u v w x y z AB BB CB DB EB FB YB GB ZB Q HB IB JB KB LB MB NB OB PB QB RB SB TB UB aB bB R S T U V W X Y Z P a H lB mB nB","33":"I b J D E F A B C K L G M N O c d e f g h i j k l m n o p q r s t"},E:{"1":"F A B C K L G sB dB VB WB tB uB vB","33":"I b J D E oB cB pB qB rB"},F:{"1":"0 1 2 3 4 5 6 7 8 9 C h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB GB Q HB IB JB KB LB MB NB OB PB QB RB SB TB UB 0B WB","2":"F B wB xB yB zB VB eB","33":"G M N O c d e f g"},G:{"2":"E cB 1B fB 2B 3B 4B 5B 6B 7B 8B 9B AC BC CC DC EC FC GC HC IC JC"},H:{"2":"KC"},I:{"1":"H","2":"XB I LC MC NC OC fB PC QC"},J:{"33":"D A"},K:{"1":"Q","2":"A B C VB eB WB"},L:{"1":"H"},M:{"2":"P"},N:{"2":"A B"},O:{"2":"RC"},P:{"2":"I SC TC UC VC WC dB XC YC ZC aC"},Q:{"2":"bC"},R:{"2":"cC"},S:{"2":"dC"}},B:4,C:"CSS3 Cursors: zoom-in & zoom-out"}; diff --git a/tools/node_modules/@babel/core/node_modules/caniuse-lite/data/features/css3-cursors.js b/tools/node_modules/@babel/core/node_modules/caniuse-lite/data/features/css3-cursors.js new file mode 100644 index 00000000000000..127938c32b0a24 --- /dev/null +++ b/tools/node_modules/@babel/core/node_modules/caniuse-lite/data/features/css3-cursors.js @@ -0,0 +1 @@ +module.exports={A:{A:{"1":"F A B","132":"J D E gB"},B:{"1":"L G M N O R S T U V W X Y Z P a H","260":"C K"},C:{"1":"0 1 2 3 4 5 6 7 8 9 I b J D E F A B C K L G M N O c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB YB GB ZB Q HB IB JB KB LB MB NB OB PB QB RB SB TB UB aB bB R S T iB U V W X Y Z P a H","4":"hB XB jB kB"},D:{"1":"0 1 2 3 4 5 6 7 8 9 b J D E F A B C K L G M N O c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB YB GB ZB Q HB IB JB KB LB MB NB OB PB QB RB SB TB UB aB bB R S T U V W X Y Z P a H lB mB nB","4":"I"},E:{"1":"b J D E F A B C K L G pB qB rB sB dB VB WB tB uB vB","4":"I oB cB"},F:{"1":"0 1 2 3 4 5 6 7 8 9 G M N O c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB GB Q HB IB JB KB LB MB NB OB PB QB RB SB TB UB","260":"F B C wB xB yB zB VB eB 0B WB"},G:{"2":"E cB 1B fB 2B 3B 4B 5B 6B 7B 8B 9B AC BC CC DC EC FC GC HC IC JC"},H:{"2":"KC"},I:{"1":"H","2":"XB I LC MC NC OC fB PC QC"},J:{"2":"D","16":"A"},K:{"1":"Q","2":"A B C VB eB WB"},L:{"1":"H"},M:{"2":"P"},N:{"2":"A B"},O:{"2":"RC"},P:{"2":"I SC TC UC VC WC dB XC YC ZC aC"},Q:{"2":"bC"},R:{"2":"cC"},S:{"2":"dC"}},B:4,C:"CSS3 Cursors (original values)"}; diff --git a/tools/node_modules/@babel/core/node_modules/caniuse-lite/data/features/css3-tabsize.js b/tools/node_modules/@babel/core/node_modules/caniuse-lite/data/features/css3-tabsize.js new file mode 100644 index 00000000000000..d4b8931ca86cc6 --- /dev/null +++ b/tools/node_modules/@babel/core/node_modules/caniuse-lite/data/features/css3-tabsize.js @@ -0,0 +1 @@ +module.exports={A:{A:{"2":"J D E F A B gB"},B:{"1":"R S T U V W X Y Z P a H","2":"C K L G M N O"},C:{"1":"H","2":"hB XB jB kB","33":"AB BB CB DB EB FB YB GB ZB Q HB IB JB KB LB MB NB OB PB QB RB SB TB UB aB bB R S T iB U V W X Y Z P a","164":"0 1 2 3 4 5 6 7 8 9 I b J D E F A B C K L G M N O c d e f g h i j k l m n o p q r s t u v w x y z"},D:{"1":"0 1 2 3 4 5 6 7 8 9 z AB BB CB DB EB FB YB GB ZB Q HB IB JB KB LB MB NB OB PB QB RB SB TB UB aB bB R S T U V W X Y Z P a H lB mB nB","2":"I b J D E F A B C K L G M N O c d","132":"e f g h i j k l m n o p q r s t u v w x y"},E:{"1":"L G tB uB vB","2":"I b J oB cB pB","132":"D E F A B C K qB rB sB dB VB WB"},F:{"1":"0 1 2 3 4 5 6 7 8 9 m n o p q r s t u v w x y z AB BB CB DB EB FB GB Q HB IB JB KB LB MB NB OB PB QB RB SB TB UB","2":"F wB xB yB","132":"G M N O c d e f g h i j k l","164":"B C zB VB eB 0B WB"},G:{"1":"HC IC JC","2":"cB 1B fB 2B 3B","132":"E 4B 5B 6B 7B 8B 9B AC BC CC DC EC FC GC"},H:{"164":"KC"},I:{"1":"H","2":"XB I LC MC NC OC fB","132":"PC QC"},J:{"132":"D A"},K:{"1":"Q","2":"A","164":"B C VB eB WB"},L:{"1":"H"},M:{"33":"P"},N:{"2":"A B"},O:{"1":"RC"},P:{"1":"I SC TC UC VC WC dB XC YC ZC aC"},Q:{"1":"bC"},R:{"1":"cC"},S:{"164":"dC"}},B:5,C:"CSS3 tab-size"}; diff --git a/tools/node_modules/@babel/core/node_modules/caniuse-lite/data/features/currentcolor.js b/tools/node_modules/@babel/core/node_modules/caniuse-lite/data/features/currentcolor.js new file mode 100644 index 00000000000000..e5279c33e1bee7 --- /dev/null +++ b/tools/node_modules/@babel/core/node_modules/caniuse-lite/data/features/currentcolor.js @@ -0,0 +1 @@ +module.exports={A:{A:{"1":"F A B","2":"J D E gB"},B:{"1":"C K L G M N O R S T U V W X Y Z P a H"},C:{"1":"0 1 2 3 4 5 6 7 8 9 hB XB I b J D E F A B C K L G M N O c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB YB GB ZB Q HB IB JB KB LB MB NB OB PB QB RB SB TB UB aB bB R S T iB U V W X Y Z P a H jB kB"},D:{"1":"0 1 2 3 4 5 6 7 8 9 I b J D E F A B C K L G M N O c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB YB GB ZB Q HB IB JB KB LB MB NB OB PB QB RB SB TB UB aB bB R S T U V W X Y Z P a H lB mB nB"},E:{"1":"I b J D E F A B C K L G pB qB rB sB dB VB WB tB uB vB","2":"oB cB"},F:{"1":"0 1 2 3 4 5 6 7 8 9 B C G M N O c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB GB Q HB IB JB KB LB MB NB OB PB QB RB SB TB UB wB xB yB zB VB eB 0B WB","2":"F"},G:{"1":"E 1B fB 2B 3B 4B 5B 6B 7B 8B 9B AC BC CC DC EC FC GC HC IC JC","16":"cB"},H:{"1":"KC"},I:{"1":"XB I H LC MC NC OC fB PC QC"},J:{"1":"D A"},K:{"1":"A B C Q VB eB WB"},L:{"1":"H"},M:{"1":"P"},N:{"1":"A B"},O:{"1":"RC"},P:{"1":"I SC TC UC VC WC dB XC YC ZC aC"},Q:{"1":"bC"},R:{"1":"cC"},S:{"1":"dC"}},B:2,C:"CSS currentColor value"}; diff --git a/tools/node_modules/@babel/core/node_modules/caniuse-lite/data/features/custom-elements.js b/tools/node_modules/@babel/core/node_modules/caniuse-lite/data/features/custom-elements.js new file mode 100644 index 00000000000000..2fedd254e71834 --- /dev/null +++ b/tools/node_modules/@babel/core/node_modules/caniuse-lite/data/features/custom-elements.js @@ -0,0 +1 @@ +module.exports={A:{A:{"2":"J D E F gB","8":"A B"},B:{"1":"R","2":"S T U V W X Y Z P a H","8":"C K L G M N O"},C:{"2":"hB XB I b J D E F A B C K L G M N O c d e f YB GB ZB Q HB IB JB KB LB MB NB OB PB QB RB SB TB UB aB bB R S T iB U V W X Y Z P a H jB kB","66":"g h i j k l m","72":"0 1 2 3 4 5 6 7 8 9 n o p q r s t u v w x y z AB BB CB DB EB FB"},D:{"1":"0 1 2 3 4 5 6 7 8 9 q r s t u v w x y z AB BB CB DB EB FB YB GB ZB Q HB IB JB KB LB MB NB OB PB QB RB SB TB UB aB bB R","2":"I b J D E F A B C K L G M N O c d e f g h i j S T U V W X Y Z P a H lB mB nB","66":"k l m n o p"},E:{"2":"I b oB cB pB","8":"J D E F A B C K L G qB rB sB dB VB WB tB uB vB"},F:{"1":"0 1 2 3 4 5 6 7 8 9 d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB GB Q HB IB JB KB","2":"F B C LB MB NB OB PB QB RB SB TB UB wB xB yB zB VB eB 0B WB","66":"G M N O c"},G:{"2":"cB 1B fB 2B 3B","8":"E 4B 5B 6B 7B 8B 9B AC BC CC DC EC FC GC HC IC JC"},H:{"2":"KC"},I:{"1":"QC","2":"XB I H LC MC NC OC fB PC"},J:{"2":"D A"},K:{"1":"Q","2":"A B C VB eB WB"},L:{"2":"H"},M:{"2":"P"},N:{"2":"A B"},O:{"1":"RC"},P:{"1":"I SC TC UC VC WC dB XC YC","2":"ZC aC"},Q:{"1":"bC"},R:{"1":"cC"},S:{"72":"dC"}},B:7,C:"Custom Elements (deprecated V0 spec)"}; diff --git a/tools/node_modules/@babel/core/node_modules/caniuse-lite/data/features/custom-elementsv1.js b/tools/node_modules/@babel/core/node_modules/caniuse-lite/data/features/custom-elementsv1.js new file mode 100644 index 00000000000000..e01bc3a2911d10 --- /dev/null +++ b/tools/node_modules/@babel/core/node_modules/caniuse-lite/data/features/custom-elementsv1.js @@ -0,0 +1 @@ +module.exports={A:{A:{"2":"J D E F gB","8":"A B"},B:{"1":"R S T U V W X Y Z P a H","8":"C K L G M N O"},C:{"1":"HB IB JB KB LB MB NB OB PB QB RB SB TB UB aB bB R S T iB U V W X Y Z P a H","2":"hB XB I b J D E F A B C K L G M N O c d e f g h i j k l m jB kB","8":"0 1 2 3 4 5 6 n o p q r s t u v w x y z","456":"7 8 9 AB BB CB DB EB FB","712":"YB GB ZB Q"},D:{"1":"LB MB NB OB PB QB RB SB TB UB aB bB R S T U V W X Y Z P a H lB mB nB","2":"0 1 2 3 4 5 6 7 8 I b J D E F A B C K L G M N O c d e f g h i j k l m n o p q r s t u v w x y z","8":"9 AB","132":"BB CB DB EB FB YB GB ZB Q HB IB JB KB"},E:{"2":"I b J D oB cB pB qB rB","8":"E F A sB","132":"B C K L G dB VB WB tB uB vB"},F:{"1":"IB JB KB LB MB NB OB PB QB RB SB TB UB","2":"F B C G M N O c d e f g h i j k l m n o p q r s t u v w x wB xB yB zB VB eB 0B WB","132":"0 1 2 3 4 5 6 7 8 9 y z AB BB CB DB EB FB GB Q HB"},G:{"2":"E cB 1B fB 2B 3B 4B 5B 6B 7B 8B","132":"9B AC BC CC DC EC FC GC HC IC JC"},H:{"2":"KC"},I:{"1":"H","2":"XB I LC MC NC OC fB PC QC"},J:{"2":"D A"},K:{"1":"Q","2":"A B C VB eB WB"},L:{"1":"H"},M:{"1":"P"},N:{"2":"A B"},O:{"1":"RC"},P:{"1":"TC UC VC WC dB XC YC ZC aC","2":"I","132":"SC"},Q:{"132":"bC"},R:{"132":"cC"},S:{"8":"dC"}},B:1,C:"Custom Elements (V1)"}; diff --git a/tools/node_modules/@babel/core/node_modules/caniuse-lite/data/features/customevent.js b/tools/node_modules/@babel/core/node_modules/caniuse-lite/data/features/customevent.js new file mode 100644 index 00000000000000..d0c35007b9e1ef --- /dev/null +++ b/tools/node_modules/@babel/core/node_modules/caniuse-lite/data/features/customevent.js @@ -0,0 +1 @@ +module.exports={A:{A:{"2":"J D E gB","132":"F A B"},B:{"1":"C K L G M N O R S T U V W X Y Z P a H"},C:{"1":"0 1 2 3 4 5 6 7 8 9 B C K L G M N O c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB YB GB ZB Q HB IB JB KB LB MB NB OB PB QB RB SB TB UB aB bB R S T iB U V W X Y Z P a H","2":"hB XB I b jB kB","132":"J D E F A"},D:{"1":"0 1 2 3 4 5 6 7 8 9 G M N O c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB YB GB ZB Q HB IB JB KB LB MB NB OB PB QB RB SB TB UB aB bB R S T U V W X Y Z P a H lB mB nB","2":"I","16":"b J D E K L","388":"F A B C"},E:{"1":"D E F A B C K L G qB rB sB dB VB WB tB uB vB","2":"I oB cB","16":"b J","388":"pB"},F:{"1":"0 1 2 3 4 5 6 7 8 9 C G M N O c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB GB Q HB IB JB KB LB MB NB OB PB QB RB SB TB UB 0B WB","2":"F wB xB yB zB","132":"B VB eB"},G:{"1":"E 3B 4B 5B 6B 7B 8B 9B AC BC CC DC EC FC GC HC IC JC","2":"1B","16":"cB fB","388":"2B"},H:{"1":"KC"},I:{"1":"H PC QC","2":"LC MC NC","388":"XB I OC fB"},J:{"1":"A","388":"D"},K:{"1":"C Q WB","2":"A","132":"B VB eB"},L:{"1":"H"},M:{"1":"P"},N:{"132":"A B"},O:{"1":"RC"},P:{"1":"I SC TC UC VC WC dB XC YC ZC aC"},Q:{"1":"bC"},R:{"1":"cC"},S:{"1":"dC"}},B:1,C:"CustomEvent"}; diff --git a/tools/node_modules/@babel/core/node_modules/caniuse-lite/data/features/datalist.js b/tools/node_modules/@babel/core/node_modules/caniuse-lite/data/features/datalist.js new file mode 100644 index 00000000000000..3a0d214e6534cf --- /dev/null +++ b/tools/node_modules/@babel/core/node_modules/caniuse-lite/data/features/datalist.js @@ -0,0 +1 @@ +module.exports={A:{A:{"2":"gB","8":"J D E F","260":"A B"},B:{"1":"R S T U V W X Y Z P a H","260":"C K L G","1284":"M N O"},C:{"8":"hB XB jB kB","4612":"0 1 2 3 4 5 6 7 8 9 I b J D E F A B C K L G M N O c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB YB GB ZB Q HB IB JB KB LB MB NB OB PB QB RB SB TB UB aB bB R S T iB U V W X Y Z P a H"},D:{"1":"NB OB PB QB RB SB TB UB aB bB R S T U V W X Y Z P a H lB mB nB","8":"I b J D E F A B C K L G M N O c","132":"0 1 2 3 4 5 6 7 8 9 d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB YB GB ZB Q HB IB JB KB LB MB"},E:{"1":"K L G WB tB uB vB","8":"I b J D E F A B C oB cB pB qB rB sB dB VB"},F:{"1":"F B C IB JB KB LB MB NB OB PB QB RB SB TB UB wB xB yB zB VB eB 0B WB","132":"0 1 2 3 4 5 6 7 8 9 G M N O c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB GB Q HB"},G:{"8":"E cB 1B fB 2B 3B 4B 5B 6B 7B 8B 9B AC BC CC","2049":"DC EC FC GC HC IC JC"},H:{"2":"KC"},I:{"1":"H QC","8":"XB I LC MC NC OC fB PC"},J:{"1":"A","8":"D"},K:{"1":"A B C VB eB WB","8":"Q"},L:{"1":"H"},M:{"516":"P"},N:{"8":"A B"},O:{"8":"RC"},P:{"1":"I SC TC UC VC WC dB XC YC ZC aC"},Q:{"132":"bC"},R:{"1":"cC"},S:{"2":"dC"}},B:1,C:"Datalist element"}; diff --git a/tools/node_modules/@babel/core/node_modules/caniuse-lite/data/features/dataset.js b/tools/node_modules/@babel/core/node_modules/caniuse-lite/data/features/dataset.js new file mode 100644 index 00000000000000..9d61dda166baaf --- /dev/null +++ b/tools/node_modules/@babel/core/node_modules/caniuse-lite/data/features/dataset.js @@ -0,0 +1 @@ +module.exports={A:{A:{"1":"B","4":"J D E F A gB"},B:{"1":"C K L G M","129":"N O R S T U V W X Y Z P a H"},C:{"1":"0 1 2 3 4 5 6 7 J D E F A B C K L G M N O c d e f g h i j k l m n o p q r s t u v w x y z","4":"hB XB I b jB kB","129":"8 9 AB BB CB DB EB FB YB GB ZB Q HB IB JB KB LB MB NB OB PB QB RB SB TB UB aB bB R S T iB U V W X Y Z P a H"},D:{"1":"2 3 4 5 6 7 8 9 AB BB","4":"I b J","129":"0 1 D E F A B C K L G M N O c d e f g h i j k l m n o p q r s t u v w x y z CB DB EB FB YB GB ZB Q HB IB JB KB LB MB NB OB PB QB RB SB TB UB aB bB R S T U V W X Y Z P a H lB mB nB"},E:{"4":"I b oB cB","129":"J D E F A B C K L G pB qB rB sB dB VB WB tB uB vB"},F:{"1":"C p q r s t u v w x y VB eB 0B WB","4":"F B wB xB yB zB","129":"0 1 2 3 4 5 6 7 8 9 G M N O c d e f g h i j k l m n o z AB BB CB DB EB FB GB Q HB IB JB KB LB MB NB OB PB QB RB SB TB UB"},G:{"4":"cB 1B fB","129":"E 2B 3B 4B 5B 6B 7B 8B 9B AC BC CC DC EC FC GC HC IC JC"},H:{"4":"KC"},I:{"4":"LC MC NC","129":"XB I H OC fB PC QC"},J:{"129":"D A"},K:{"1":"C VB eB WB","4":"A B","129":"Q"},L:{"129":"H"},M:{"129":"P"},N:{"1":"B","4":"A"},O:{"129":"RC"},P:{"129":"I SC TC UC VC WC dB XC YC ZC aC"},Q:{"1":"bC"},R:{"129":"cC"},S:{"1":"dC"}},B:1,C:"dataset & data-* attributes"}; diff --git a/tools/node_modules/@babel/core/node_modules/caniuse-lite/data/features/datauri.js b/tools/node_modules/@babel/core/node_modules/caniuse-lite/data/features/datauri.js new file mode 100644 index 00000000000000..270491c9728e81 --- /dev/null +++ b/tools/node_modules/@babel/core/node_modules/caniuse-lite/data/features/datauri.js @@ -0,0 +1 @@ +module.exports={A:{A:{"2":"J D gB","132":"E","260":"F A B"},B:{"1":"R S T U V W X Y Z P a H","260":"C K G M N O","772":"L"},C:{"1":"0 1 2 3 4 5 6 7 8 9 hB XB I b J D E F A B C K L G M N O c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB YB GB ZB Q HB IB JB KB LB MB NB OB PB QB RB SB TB UB aB bB R S T iB U V W X Y Z P a H jB kB"},D:{"1":"0 1 2 3 4 5 6 7 8 9 I b J D E F A B C K L G M N O c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB YB GB ZB Q HB IB JB KB LB MB NB OB PB QB RB SB TB UB aB bB R S T U V W X Y Z P a H lB mB nB"},E:{"1":"I b J D E F A B C K L G oB cB pB qB rB sB dB VB WB tB uB vB"},F:{"1":"0 1 2 3 4 5 6 7 8 9 F B C G M N O c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB GB Q HB IB JB KB LB MB NB OB PB QB RB SB TB UB wB xB yB zB VB eB 0B WB"},G:{"1":"E cB 1B fB 2B 3B 4B 5B 6B 7B 8B 9B AC BC CC DC EC FC GC HC IC JC"},H:{"1":"KC"},I:{"1":"XB I H LC MC NC OC fB PC QC"},J:{"1":"D A"},K:{"1":"A B C Q VB eB WB"},L:{"1":"H"},M:{"1":"P"},N:{"260":"A B"},O:{"1":"RC"},P:{"1":"I SC TC UC VC WC dB XC YC ZC aC"},Q:{"1":"bC"},R:{"1":"cC"},S:{"1":"dC"}},B:6,C:"Data URIs"}; diff --git a/tools/node_modules/@babel/core/node_modules/caniuse-lite/data/features/date-tolocaledatestring.js b/tools/node_modules/@babel/core/node_modules/caniuse-lite/data/features/date-tolocaledatestring.js new file mode 100644 index 00000000000000..70469f75ba18d0 --- /dev/null +++ b/tools/node_modules/@babel/core/node_modules/caniuse-lite/data/features/date-tolocaledatestring.js @@ -0,0 +1 @@ +module.exports={A:{A:{"16":"gB","132":"J D E F A B"},B:{"1":"O R S T U V W X Y Z P a H","132":"C K L G M N"},C:{"1":"DB EB FB YB GB ZB Q HB IB JB KB LB MB NB OB PB QB RB SB TB UB aB bB R S T iB U V W X Y Z P a H","132":"hB XB I b J D E F A B C K L G M N O c d e f g h i j k l jB kB","260":"9 AB BB CB","772":"0 1 2 3 4 5 6 7 8 m n o p q r s t u v w x y z"},D:{"1":"OB PB QB RB SB TB UB aB bB R S T U V W X Y Z P a H lB mB nB","132":"I b J D E F A B C K L G M N O c d e f g","260":"0 1 2 3 4 5 6 7 8 9 v w x y z AB BB CB DB EB FB YB GB ZB Q HB IB JB KB LB MB NB","772":"h i j k l m n o p q r s t u"},E:{"1":"C K L G WB tB uB vB","16":"I b oB cB","132":"J D E F A pB qB rB sB","260":"B dB VB"},F:{"1":"EB FB GB Q HB IB JB KB LB MB NB OB PB QB RB SB TB UB","16":"F B C wB xB yB zB VB eB 0B","132":"WB","260":"0 1 2 3 4 5 6 7 8 9 i j k l m n o p q r s t u v w x y z AB BB CB DB","772":"G M N O c d e f g h"},G:{"1":"9B AC BC CC DC EC FC GC HC IC JC","16":"cB 1B fB 2B","132":"E 3B 4B 5B 6B 7B 8B"},H:{"132":"KC"},I:{"1":"H","16":"XB LC MC NC","132":"I OC fB","772":"PC QC"},J:{"132":"D A"},K:{"1":"Q","16":"A B C VB eB","132":"WB"},L:{"1":"H"},M:{"1":"P"},N:{"132":"A B"},O:{"260":"RC"},P:{"1":"WC dB XC YC ZC aC","260":"I SC TC UC VC"},Q:{"260":"bC"},R:{"132":"cC"},S:{"132":"dC"}},B:6,C:"Date.prototype.toLocaleDateString"}; diff --git a/tools/node_modules/@babel/core/node_modules/caniuse-lite/data/features/details.js b/tools/node_modules/@babel/core/node_modules/caniuse-lite/data/features/details.js new file mode 100644 index 00000000000000..173790ca50a11d --- /dev/null +++ b/tools/node_modules/@babel/core/node_modules/caniuse-lite/data/features/details.js @@ -0,0 +1 @@ +module.exports={A:{A:{"2":"F A B gB","8":"J D E"},B:{"1":"R S T U V W X Y Z P a H","2":"C K L G M N O"},C:{"1":"6 7 8 9 AB BB CB DB EB FB YB GB ZB Q HB IB JB KB LB MB NB OB PB QB RB SB TB UB aB bB R S T iB U V W X Y Z P a H","2":"hB","8":"0 1 2 3 XB I b J D E F A B C K L G M N O c d e f g h i j k l m n o p q r s t u v w x y z jB kB","194":"4 5"},D:{"1":"0 1 2 3 4 5 6 7 8 9 t u v w x y z AB BB CB DB EB FB YB GB ZB Q HB IB JB KB LB MB NB OB PB QB RB SB TB UB aB bB R S T U V W X Y Z P a H lB mB nB","8":"I b J D E F A B","257":"c d e f g h i j k l m n o p q r s","769":"C K L G M N O"},E:{"1":"C K L G WB tB uB vB","8":"I b oB cB pB","257":"J D E F A qB rB sB","1025":"B dB VB"},F:{"1":"0 1 2 3 4 5 6 7 8 9 G M N O c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB GB Q HB IB JB KB LB MB NB OB PB QB RB SB TB UB","2":"C VB eB 0B WB","8":"F B wB xB yB zB"},G:{"1":"E 3B 4B 5B 6B 7B BC CC DC EC FC GC HC IC JC","8":"cB 1B fB 2B","1025":"8B 9B AC"},H:{"8":"KC"},I:{"1":"I H OC fB PC QC","8":"XB LC MC NC"},J:{"1":"A","8":"D"},K:{"1":"Q","8":"A B C VB eB WB"},L:{"1":"H"},M:{"1":"P"},N:{"2":"A B"},O:{"769":"RC"},P:{"1":"I SC TC UC VC WC dB XC YC ZC aC"},Q:{"1":"bC"},R:{"1":"cC"},S:{"1":"dC"}},B:1,C:"Details & Summary elements"}; diff --git a/tools/node_modules/@babel/core/node_modules/caniuse-lite/data/features/deviceorientation.js b/tools/node_modules/@babel/core/node_modules/caniuse-lite/data/features/deviceorientation.js new file mode 100644 index 00000000000000..15706d59fefdfe --- /dev/null +++ b/tools/node_modules/@babel/core/node_modules/caniuse-lite/data/features/deviceorientation.js @@ -0,0 +1 @@ +module.exports={A:{A:{"2":"J D E F A gB","132":"B"},B:{"1":"C K L G M N O","4":"R S T U V W X Y Z P a H"},C:{"2":"hB XB jB","4":"0 1 2 3 4 5 6 7 8 9 J D E F A B C K L G M N O c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB YB GB ZB Q HB IB JB KB LB MB NB OB PB QB RB SB TB UB aB bB R S T iB U V W X Y Z P a H","8":"I b kB"},D:{"2":"I b J","4":"0 1 2 3 4 5 6 7 8 9 D E F A B C K L G M N O c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB YB GB ZB Q HB IB JB KB LB MB NB OB PB QB RB SB TB UB aB bB R S T U V W X Y Z P a H lB mB nB"},E:{"2":"I b J D E F A B C K L G oB cB pB qB rB sB dB VB WB tB uB vB"},F:{"2":"F B C wB xB yB zB VB eB 0B WB","4":"0 1 2 3 4 5 6 7 8 9 G M N O c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB GB Q HB IB JB KB LB MB NB OB PB QB RB SB TB UB"},G:{"2":"cB 1B","4":"E fB 2B 3B 4B 5B 6B 7B 8B 9B AC BC CC DC EC FC GC HC IC JC"},H:{"2":"KC"},I:{"2":"LC MC NC","4":"XB I H OC fB PC QC"},J:{"2":"D","4":"A"},K:{"1":"C WB","2":"A B VB eB","4":"Q"},L:{"4":"H"},M:{"4":"P"},N:{"1":"B","2":"A"},O:{"4":"RC"},P:{"4":"I SC TC UC VC WC dB XC YC ZC aC"},Q:{"4":"bC"},R:{"4":"cC"},S:{"4":"dC"}},B:4,C:"DeviceOrientation & DeviceMotion events"}; diff --git a/tools/node_modules/@babel/core/node_modules/caniuse-lite/data/features/devicepixelratio.js b/tools/node_modules/@babel/core/node_modules/caniuse-lite/data/features/devicepixelratio.js new file mode 100644 index 00000000000000..5eeaf96c3a012d --- /dev/null +++ b/tools/node_modules/@babel/core/node_modules/caniuse-lite/data/features/devicepixelratio.js @@ -0,0 +1 @@ +module.exports={A:{A:{"1":"B","2":"J D E F A gB"},B:{"1":"C K L G M N O R S T U V W X Y Z P a H"},C:{"1":"0 1 2 3 4 5 6 7 8 9 O c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB YB GB ZB Q HB IB JB KB LB MB NB OB PB QB RB SB TB UB aB bB R S T iB U V W X Y Z P a H","2":"hB XB I b J D E F A B C K L G M N jB kB"},D:{"1":"0 1 2 3 4 5 6 7 8 9 I b J D E F A B C K L G M N O c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB YB GB ZB Q HB IB JB KB LB MB NB OB PB QB RB SB TB UB aB bB R S T U V W X Y Z P a H lB mB nB"},E:{"1":"I b J D E F A B C K L G oB cB pB qB rB sB dB VB WB tB uB vB"},F:{"1":"0 1 2 3 4 5 6 7 8 9 C G M N O c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB GB Q HB IB JB KB LB MB NB OB PB QB RB SB TB UB 0B WB","2":"F B wB xB yB zB VB eB"},G:{"1":"E cB 1B fB 2B 3B 4B 5B 6B 7B 8B 9B AC BC CC DC EC FC GC HC IC JC"},H:{"1":"KC"},I:{"1":"XB I H LC MC NC OC fB PC QC"},J:{"1":"D A"},K:{"1":"C Q WB","2":"A B VB eB"},L:{"1":"H"},M:{"1":"P"},N:{"1":"B","2":"A"},O:{"1":"RC"},P:{"1":"I SC TC UC VC WC dB XC YC ZC aC"},Q:{"1":"bC"},R:{"1":"cC"},S:{"1":"dC"}},B:5,C:"Window.devicePixelRatio"}; diff --git a/tools/node_modules/@babel/core/node_modules/caniuse-lite/data/features/dialog.js b/tools/node_modules/@babel/core/node_modules/caniuse-lite/data/features/dialog.js new file mode 100644 index 00000000000000..b9c74e5abf6047 --- /dev/null +++ b/tools/node_modules/@babel/core/node_modules/caniuse-lite/data/features/dialog.js @@ -0,0 +1 @@ +module.exports={A:{A:{"2":"J D E F A B gB"},B:{"1":"R S T U V W X Y Z P a H","2":"C K L G M N O"},C:{"2":"0 1 2 3 4 5 6 7 8 9 hB XB I b J D E F A B C K L G M N O c d e f g h i j k l m n o p q r s t u v w x y z jB kB","194":"AB BB CB DB EB FB YB GB ZB Q HB IB JB KB LB MB NB OB PB QB RB SB TB UB aB bB R","1218":"S T iB U V W X Y Z P a H"},D:{"1":"0 1 2 3 4 5 6 7 8 9 u v w x y z AB BB CB DB EB FB YB GB ZB Q HB IB JB KB LB MB NB OB PB QB RB SB TB UB aB bB R S T U V W X Y Z P a H lB mB nB","2":"I b J D E F A B C K L G M N O c d e f g h i j k l m n o","322":"p q r s t"},E:{"2":"I b J D E F A B C K L G oB cB pB qB rB sB dB VB WB tB uB vB"},F:{"1":"0 1 2 3 4 5 6 7 8 9 h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB GB Q HB IB JB KB LB MB NB OB PB QB RB SB TB UB","2":"F B C G M N O wB xB yB zB VB eB 0B WB","578":"c d e f g"},G:{"2":"E cB 1B fB 2B 3B 4B 5B 6B 7B 8B 9B AC BC CC DC EC FC GC HC IC JC"},H:{"2":"KC"},I:{"1":"H","2":"XB I LC MC NC OC fB PC QC"},J:{"2":"D A"},K:{"1":"Q","2":"A B C VB eB WB"},L:{"1":"H"},M:{"194":"P"},N:{"2":"A B"},O:{"1":"RC"},P:{"1":"I SC TC UC VC WC dB XC YC ZC aC"},Q:{"1":"bC"},R:{"1":"cC"},S:{"2":"dC"}},B:1,C:"Dialog element"}; diff --git a/tools/node_modules/@babel/core/node_modules/caniuse-lite/data/features/dispatchevent.js b/tools/node_modules/@babel/core/node_modules/caniuse-lite/data/features/dispatchevent.js new file mode 100644 index 00000000000000..9bd3d886225b07 --- /dev/null +++ b/tools/node_modules/@babel/core/node_modules/caniuse-lite/data/features/dispatchevent.js @@ -0,0 +1 @@ +module.exports={A:{A:{"1":"B","16":"gB","129":"F A","130":"J D E"},B:{"1":"C K L G M N O R S T U V W X Y Z P a H"},C:{"1":"0 1 2 3 4 5 6 7 8 9 hB XB I b J D E F A B C K L G M N O c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB YB GB ZB Q HB IB JB KB LB MB NB OB PB QB RB SB TB UB aB bB R S T iB U V W X Y Z P a H jB kB"},D:{"1":"0 1 2 3 4 5 6 7 8 9 I b J D E F A B C K L G M N O c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB YB GB ZB Q HB IB JB KB LB MB NB OB PB QB RB SB TB UB aB bB R S T U V W X Y Z P a H lB mB nB"},E:{"1":"I b J D E F A B C K L G cB pB qB rB sB dB VB WB tB uB vB","16":"oB"},F:{"1":"0 1 2 3 4 5 6 7 8 9 B C G M N O c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB GB Q HB IB JB KB LB MB NB OB PB QB RB SB TB UB wB xB yB zB VB eB 0B WB","16":"F"},G:{"1":"E 1B fB 2B 3B 4B 5B 6B 7B 8B 9B AC BC CC DC EC FC GC HC IC JC","16":"cB"},H:{"1":"KC"},I:{"1":"XB I H NC OC fB PC QC","16":"LC MC"},J:{"1":"D A"},K:{"1":"A B C Q VB eB WB"},L:{"1":"H"},M:{"1":"P"},N:{"1":"B","129":"A"},O:{"1":"RC"},P:{"1":"I SC TC UC VC WC dB XC YC ZC aC"},Q:{"1":"bC"},R:{"1":"cC"},S:{"1":"dC"}},B:1,C:"EventTarget.dispatchEvent"}; diff --git a/tools/node_modules/@babel/core/node_modules/caniuse-lite/data/features/dnssec.js b/tools/node_modules/@babel/core/node_modules/caniuse-lite/data/features/dnssec.js new file mode 100644 index 00000000000000..798e163cd36efe --- /dev/null +++ b/tools/node_modules/@babel/core/node_modules/caniuse-lite/data/features/dnssec.js @@ -0,0 +1 @@ +module.exports={A:{A:{"132":"J D E F A B gB"},B:{"132":"C K L G M N O R S T U V W X Y Z P a H"},C:{"132":"0 1 2 3 4 5 6 7 8 9 hB XB I b J D E F A B C K L G M N O c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB YB GB ZB Q HB IB JB KB LB MB NB OB PB QB RB SB TB UB aB bB R S T iB U V W X Y Z P a H jB kB"},D:{"132":"0 1 2 3 4 5 6 7 8 9 I b o p q r s t u v w x y z AB BB CB DB EB FB YB GB ZB Q HB IB JB KB LB MB NB OB PB QB RB SB TB UB aB bB R S T U V W X Y Z P a H lB mB nB","388":"J D E F A B C K L G M N O c d e f g h i j k l m n"},E:{"132":"I b J D E F A B C K L G oB cB pB qB rB sB dB VB WB tB uB vB"},F:{"132":"0 1 2 3 4 5 6 7 8 9 F B C G M N O c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB GB Q HB IB JB KB LB MB NB OB PB QB RB SB TB UB wB xB yB zB VB eB 0B WB"},G:{"132":"E cB 1B fB 2B 3B 4B 5B 6B 7B 8B 9B AC BC CC DC EC FC GC HC IC JC"},H:{"132":"KC"},I:{"132":"XB I H LC MC NC OC fB PC QC"},J:{"132":"D A"},K:{"132":"A B C Q VB eB WB"},L:{"132":"H"},M:{"132":"P"},N:{"132":"A B"},O:{"132":"RC"},P:{"132":"I SC TC UC VC WC dB XC YC ZC aC"},Q:{"132":"bC"},R:{"132":"cC"},S:{"132":"dC"}},B:6,C:"DNSSEC and DANE"}; diff --git a/tools/node_modules/@babel/core/node_modules/caniuse-lite/data/features/do-not-track.js b/tools/node_modules/@babel/core/node_modules/caniuse-lite/data/features/do-not-track.js new file mode 100644 index 00000000000000..29980a172ee0d9 --- /dev/null +++ b/tools/node_modules/@babel/core/node_modules/caniuse-lite/data/features/do-not-track.js @@ -0,0 +1 @@ +module.exports={A:{A:{"2":"J D E gB","164":"F A","260":"B"},B:{"1":"N O R S T U V W X Y Z P a H","260":"C K L G M"},C:{"1":"0 1 2 3 4 5 6 7 8 9 p q r s t u v w x y z AB BB CB DB EB FB YB GB ZB Q HB IB JB KB LB MB NB OB PB QB RB SB TB UB aB bB R S T iB U V W X Y Z P a H","2":"hB XB I b J D E jB kB","516":"F A B C K L G M N O c d e f g h i j k l m n o"},D:{"1":"0 1 2 3 4 5 6 7 8 9 g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB YB GB ZB Q HB IB JB KB LB MB NB OB PB QB RB SB TB UB aB bB R S T U V W X Y Z P a H lB mB nB","2":"I b J D E F A B C K L G M N O c d e f"},E:{"1":"J A B C pB sB dB VB","2":"I b K L G oB cB WB tB uB vB","1028":"D E F qB rB"},F:{"1":"0 1 2 3 4 5 6 7 8 9 C G M N O c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB GB Q HB IB JB KB LB MB NB OB PB QB RB SB TB UB WB","2":"F B wB xB yB zB VB eB 0B"},G:{"1":"6B 7B 8B 9B AC BC CC","2":"cB 1B fB 2B 3B DC EC FC GC HC IC JC","1028":"E 4B 5B"},H:{"1":"KC"},I:{"1":"H PC QC","2":"XB I LC MC NC OC fB"},J:{"16":"D","1028":"A"},K:{"1":"Q WB","16":"A B C VB eB"},L:{"1":"H"},M:{"1":"P"},N:{"164":"A","260":"B"},O:{"1":"RC"},P:{"1":"I SC TC UC VC WC dB XC YC ZC aC"},Q:{"1":"bC"},R:{"1":"cC"},S:{"1":"dC"}},B:4,C:"Do Not Track API"}; diff --git a/tools/node_modules/@babel/core/node_modules/caniuse-lite/data/features/document-currentscript.js b/tools/node_modules/@babel/core/node_modules/caniuse-lite/data/features/document-currentscript.js new file mode 100644 index 00000000000000..823db0423e11ee --- /dev/null +++ b/tools/node_modules/@babel/core/node_modules/caniuse-lite/data/features/document-currentscript.js @@ -0,0 +1 @@ +module.exports={A:{A:{"2":"J D E F A B gB"},B:{"1":"C K L G M N O R S T U V W X Y Z P a H"},C:{"1":"0 1 2 3 4 5 6 7 8 9 I b J D E F A B C K L G M N O c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB YB GB ZB Q HB IB JB KB LB MB NB OB PB QB RB SB TB UB aB bB R S T iB U V W X Y Z P a H","2":"hB XB jB kB"},D:{"1":"0 1 2 3 4 5 6 7 8 9 m n o p q r s t u v w x y z AB BB CB DB EB FB YB GB ZB Q HB IB JB KB LB MB NB OB PB QB RB SB TB UB aB bB R S T U V W X Y Z P a H lB mB nB","2":"I b J D E F A B C K L G M N O c d e f g h i j k l"},E:{"1":"E F A B C K L G sB dB VB WB tB uB vB","2":"I b J D oB cB pB qB rB"},F:{"1":"0 1 2 3 4 5 6 7 8 9 M N O c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB GB Q HB IB JB KB LB MB NB OB PB QB RB SB TB UB","2":"F B C G wB xB yB zB VB eB 0B WB"},G:{"1":"E 5B 6B 7B 8B 9B AC BC CC DC EC FC GC HC IC JC","2":"cB 1B fB 2B 3B 4B"},H:{"2":"KC"},I:{"1":"H PC QC","2":"XB I LC MC NC OC fB"},J:{"2":"D A"},K:{"1":"Q","2":"A B C VB eB WB"},L:{"1":"H"},M:{"1":"P"},N:{"2":"A B"},O:{"1":"RC"},P:{"1":"I SC TC UC VC WC dB XC YC ZC aC"},Q:{"1":"bC"},R:{"1":"cC"},S:{"1":"dC"}},B:1,C:"document.currentScript"}; diff --git a/tools/node_modules/@babel/core/node_modules/caniuse-lite/data/features/document-evaluate-xpath.js b/tools/node_modules/@babel/core/node_modules/caniuse-lite/data/features/document-evaluate-xpath.js new file mode 100644 index 00000000000000..cb7bd905d9680e --- /dev/null +++ b/tools/node_modules/@babel/core/node_modules/caniuse-lite/data/features/document-evaluate-xpath.js @@ -0,0 +1 @@ +module.exports={A:{A:{"2":"J D E F A B gB"},B:{"1":"C K L G M N O R S T U V W X Y Z P a H"},C:{"1":"0 1 2 3 4 5 6 7 8 9 XB I b J D E F A B C K L G M N O c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB YB GB ZB Q HB IB JB KB LB MB NB OB PB QB RB SB TB UB aB bB R S T iB U V W X Y Z P a H jB kB","16":"hB"},D:{"1":"0 1 2 3 4 5 6 7 8 9 I b J D E F A B C K L G M N O c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB YB GB ZB Q HB IB JB KB LB MB NB OB PB QB RB SB TB UB aB bB R S T U V W X Y Z P a H lB mB nB"},E:{"1":"I b J D E F A B C K L G oB cB pB qB rB sB dB VB WB tB uB vB"},F:{"1":"0 1 2 3 4 5 6 7 8 9 B C G M N O c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB GB Q HB IB JB KB LB MB NB OB PB QB RB SB TB UB wB xB yB zB VB eB 0B WB","16":"F"},G:{"1":"E cB 1B fB 2B 3B 4B 5B 6B 7B 8B 9B AC BC CC DC EC FC GC HC IC JC"},H:{"1":"KC"},I:{"1":"XB I H LC MC NC OC fB PC QC"},J:{"1":"D A"},K:{"1":"A B C Q VB eB WB"},L:{"1":"H"},M:{"1":"P"},N:{"2":"A B"},O:{"1":"RC"},P:{"1":"I SC TC UC VC WC dB XC YC ZC aC"},Q:{"1":"bC"},R:{"1":"cC"},S:{"1":"dC"}},B:7,C:"document.evaluate & XPath"}; diff --git a/tools/node_modules/@babel/core/node_modules/caniuse-lite/data/features/document-execcommand.js b/tools/node_modules/@babel/core/node_modules/caniuse-lite/data/features/document-execcommand.js new file mode 100644 index 00000000000000..6292f4db80bd74 --- /dev/null +++ b/tools/node_modules/@babel/core/node_modules/caniuse-lite/data/features/document-execcommand.js @@ -0,0 +1 @@ +module.exports={A:{A:{"1":"J D E F A B gB"},B:{"1":"C K L G M N O R S T U V W X Y Z P a H"},C:{"1":"0 1 2 3 4 5 6 7 8 9 F A B C K L G M N O c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB YB GB ZB Q HB IB JB KB LB MB NB OB PB QB RB SB TB UB aB bB R S T iB U V W X Y Z P a H","2":"hB XB I b J D E jB kB"},D:{"1":"0 1 2 3 4 5 6 7 8 9 I b J D E F A B C K L G M N O c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB YB GB ZB Q HB IB JB KB LB MB NB OB PB QB RB SB TB UB aB bB R S T U V W X Y Z P a H lB mB nB"},E:{"1":"J D E F A B C K L G qB rB sB dB VB WB tB uB vB","16":"I b oB cB pB"},F:{"1":"0 1 2 3 4 5 6 7 8 9 B C G M N O c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB GB Q HB IB JB KB LB MB NB OB PB QB RB SB TB UB xB yB zB VB eB 0B WB","16":"F wB"},G:{"1":"E 4B 5B 6B 7B 8B 9B AC BC CC DC EC FC GC HC IC JC","2":"cB 1B","16":"fB 2B 3B"},H:{"2":"KC"},I:{"1":"H OC fB PC QC","2":"XB I LC MC NC"},J:{"1":"A","2":"D"},K:{"1":"A B C Q VB eB WB"},L:{"1":"H"},M:{"1":"P"},N:{"1":"B","2":"A"},O:{"2":"RC"},P:{"1":"I SC TC UC VC WC dB XC YC ZC aC"},Q:{"1":"bC"},R:{"1":"cC"},S:{"1":"dC"}},B:7,C:"Document.execCommand()"}; diff --git a/tools/node_modules/@babel/core/node_modules/caniuse-lite/data/features/document-policy.js b/tools/node_modules/@babel/core/node_modules/caniuse-lite/data/features/document-policy.js new file mode 100644 index 00000000000000..45ae7ec96abc3a --- /dev/null +++ b/tools/node_modules/@babel/core/node_modules/caniuse-lite/data/features/document-policy.js @@ -0,0 +1 @@ +module.exports={A:{A:{"2":"J D E F A B gB"},B:{"2":"C K L G M N O R S T U V","132":"W X Y Z P a H"},C:{"2":"0 1 2 3 4 5 6 7 8 9 hB XB I b J D E F A B C K L G M N O c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB YB GB ZB Q HB IB JB KB LB MB NB OB PB QB RB SB TB UB aB bB R S T iB U V W X Y Z P a H jB kB"},D:{"2":"0 1 2 3 4 5 6 7 8 9 I b J D E F A B C K L G M N O c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB YB GB ZB Q HB IB JB KB LB MB NB OB PB QB RB SB TB UB aB bB R S T U V","132":"W X Y Z P a H lB mB nB"},E:{"2":"I b J D E F A B C K L G oB cB pB qB rB sB dB VB WB tB uB vB"},F:{"2":"0 1 2 3 4 5 6 7 8 9 F B C G M N O c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB GB Q HB IB JB KB LB MB NB OB wB xB yB zB VB eB 0B WB","132":"PB QB RB SB TB UB"},G:{"2":"E cB 1B fB 2B 3B 4B 5B 6B 7B 8B 9B AC BC CC DC EC FC GC HC IC JC"},H:{"2":"KC"},I:{"2":"XB I LC MC NC OC fB PC QC","132":"H"},J:{"2":"D A"},K:{"2":"A B C Q VB eB WB"},L:{"132":"H"},M:{"2":"P"},N:{"2":"A B"},O:{"2":"RC"},P:{"2":"I SC TC UC VC WC dB XC YC ZC aC"},Q:{"2":"bC"},R:{"2":"cC"},S:{"2":"dC"}},B:7,C:"Document Policy"}; diff --git a/tools/node_modules/@babel/core/node_modules/caniuse-lite/data/features/document-scrollingelement.js b/tools/node_modules/@babel/core/node_modules/caniuse-lite/data/features/document-scrollingelement.js new file mode 100644 index 00000000000000..72689926119e4e --- /dev/null +++ b/tools/node_modules/@babel/core/node_modules/caniuse-lite/data/features/document-scrollingelement.js @@ -0,0 +1 @@ +module.exports={A:{A:{"2":"J D E F A B gB"},B:{"1":"L G M N O R S T U V W X Y Z P a H","16":"C K"},C:{"1":"5 6 7 8 9 AB BB CB DB EB FB YB GB ZB Q HB IB JB KB LB MB NB OB PB QB RB SB TB UB aB bB R S T iB U V W X Y Z P a H","2":"0 1 2 3 4 hB XB I b J D E F A B C K L G M N O c d e f g h i j k l m n o p q r s t u v w x y z jB kB"},D:{"1":"1 2 3 4 5 6 7 8 9 AB BB CB DB EB FB YB GB ZB Q HB IB JB KB LB MB NB OB PB QB RB SB TB UB aB bB R S T U V W X Y Z P a H lB mB nB","2":"0 I b J D E F A B C K L G M N O c d e f g h i j k l m n o p q r s t u v w x y z"},E:{"1":"F A B C K L G sB dB VB WB tB uB vB","2":"I b J D E oB cB pB qB rB"},F:{"1":"0 1 2 3 4 5 6 7 8 9 o p q r s t u v w x y z AB BB CB DB EB FB GB Q HB IB JB KB LB MB NB OB PB QB RB SB TB UB","2":"F B C G M N O c d e f g h i j k l m n wB xB yB zB VB eB 0B WB"},G:{"1":"6B 7B 8B 9B AC BC CC DC EC FC GC HC IC JC","2":"E cB 1B fB 2B 3B 4B 5B"},H:{"2":"KC"},I:{"1":"H","2":"XB I LC MC NC OC fB PC QC"},J:{"2":"D A"},K:{"1":"Q","2":"A B C VB eB WB"},L:{"1":"H"},M:{"1":"P"},N:{"2":"A B"},O:{"1":"RC"},P:{"1":"I SC TC UC VC WC dB XC YC ZC aC"},Q:{"1":"bC"},R:{"1":"cC"},S:{"1":"dC"}},B:5,C:"document.scrollingElement"}; diff --git a/tools/node_modules/@babel/core/node_modules/caniuse-lite/data/features/documenthead.js b/tools/node_modules/@babel/core/node_modules/caniuse-lite/data/features/documenthead.js new file mode 100644 index 00000000000000..e4eed5c3868957 --- /dev/null +++ b/tools/node_modules/@babel/core/node_modules/caniuse-lite/data/features/documenthead.js @@ -0,0 +1 @@ +module.exports={A:{A:{"1":"F A B","2":"J D E gB"},B:{"1":"C K L G M N O R S T U V W X Y Z P a H"},C:{"1":"0 1 2 3 4 5 6 7 8 9 I b J D E F A B C K L G M N O c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB YB GB ZB Q HB IB JB KB LB MB NB OB PB QB RB SB TB UB aB bB R S T iB U V W X Y Z P a H","2":"hB XB jB kB"},D:{"1":"0 1 2 3 4 5 6 7 8 9 I b J D E F A B C K L G M N O c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB YB GB ZB Q HB IB JB KB LB MB NB OB PB QB RB SB TB UB aB bB R S T U V W X Y Z P a H lB mB nB"},E:{"1":"J D E F A B C K L G pB qB rB sB dB VB WB tB uB vB","2":"I oB cB","16":"b"},F:{"1":"0 1 2 3 4 5 6 7 8 9 B C G M N O c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB GB Q HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB eB 0B WB","2":"F wB xB yB zB"},G:{"1":"E 1B fB 2B 3B 4B 5B 6B 7B 8B 9B AC BC CC DC EC FC GC HC IC JC","16":"cB"},H:{"1":"KC"},I:{"1":"XB I H NC OC fB PC QC","16":"LC MC"},J:{"1":"D A"},K:{"1":"B C Q VB eB WB","2":"A"},L:{"1":"H"},M:{"1":"P"},N:{"1":"A B"},O:{"1":"RC"},P:{"1":"I SC TC UC VC WC dB XC YC ZC aC"},Q:{"1":"bC"},R:{"1":"cC"},S:{"1":"dC"}},B:1,C:"document.head"}; diff --git a/tools/node_modules/@babel/core/node_modules/caniuse-lite/data/features/dom-manip-convenience.js b/tools/node_modules/@babel/core/node_modules/caniuse-lite/data/features/dom-manip-convenience.js new file mode 100644 index 00000000000000..44abc1777c2820 --- /dev/null +++ b/tools/node_modules/@babel/core/node_modules/caniuse-lite/data/features/dom-manip-convenience.js @@ -0,0 +1 @@ +module.exports={A:{A:{"2":"J D E F A B gB"},B:{"1":"N O R S T U V W X Y Z P a H","2":"C K L G M"},C:{"1":"6 7 8 9 AB BB CB DB EB FB YB GB ZB Q HB IB JB KB LB MB NB OB PB QB RB SB TB UB aB bB R S T iB U V W X Y Z P a H","2":"0 1 2 3 4 5 hB XB I b J D E F A B C K L G M N O c d e f g h i j k l m n o p q r s t u v w x y z jB kB"},D:{"1":"BB CB DB EB FB YB GB ZB Q HB IB JB KB LB MB NB OB PB QB RB SB TB UB aB bB R S T U V W X Y Z P a H lB mB nB","2":"0 1 2 3 4 5 6 7 8 I b J D E F A B C K L G M N O c d e f g h i j k l m n o p q r s t u v w x y z","194":"9 AB"},E:{"1":"A B C K L G dB VB WB tB uB vB","2":"I b J D E F oB cB pB qB rB sB"},F:{"1":"0 1 2 3 4 5 6 7 8 9 y z AB BB CB DB EB FB GB Q HB IB JB KB LB MB NB OB PB QB RB SB TB UB","2":"F B C G M N O c d e f g h i j k l m n o p q r s t u v w wB xB yB zB VB eB 0B WB","194":"x"},G:{"1":"8B 9B AC BC CC DC EC FC GC HC IC JC","2":"E cB 1B fB 2B 3B 4B 5B 6B 7B"},H:{"2":"KC"},I:{"1":"H","2":"XB I LC MC NC OC fB PC QC"},J:{"2":"D A"},K:{"1":"Q","2":"A B C VB eB WB"},L:{"1":"H"},M:{"1":"P"},N:{"2":"A B"},O:{"1":"RC"},P:{"1":"TC UC VC WC dB XC YC ZC aC","2":"I SC"},Q:{"194":"bC"},R:{"2":"cC"},S:{"2":"dC"}},B:1,C:"DOM manipulation convenience methods"}; diff --git a/tools/node_modules/@babel/core/node_modules/caniuse-lite/data/features/dom-range.js b/tools/node_modules/@babel/core/node_modules/caniuse-lite/data/features/dom-range.js new file mode 100644 index 00000000000000..c646b5d4d33489 --- /dev/null +++ b/tools/node_modules/@babel/core/node_modules/caniuse-lite/data/features/dom-range.js @@ -0,0 +1 @@ +module.exports={A:{A:{"1":"F A B","2":"gB","8":"J D E"},B:{"1":"C K L G M N O R S T U V W X Y Z P a H"},C:{"1":"0 1 2 3 4 5 6 7 8 9 hB XB I b J D E F A B C K L G M N O c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB YB GB ZB Q HB IB JB KB LB MB NB OB PB QB RB SB TB UB aB bB R S T iB U V W X Y Z P a H jB kB"},D:{"1":"0 1 2 3 4 5 6 7 8 9 I b J D E F A B C K L G M N O c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB YB GB ZB Q HB IB JB KB LB MB NB OB PB QB RB SB TB UB aB bB R S T U V W X Y Z P a H lB mB nB"},E:{"1":"I b J D E F A B C K L G oB cB pB qB rB sB dB VB WB tB uB vB"},F:{"1":"0 1 2 3 4 5 6 7 8 9 F B C G M N O c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB GB Q HB IB JB KB LB MB NB OB PB QB RB SB TB UB wB xB yB zB VB eB 0B WB"},G:{"1":"E cB 1B fB 2B 3B 4B 5B 6B 7B 8B 9B AC BC CC DC EC FC GC HC IC JC"},H:{"1":"KC"},I:{"1":"XB I H LC MC NC OC fB PC QC"},J:{"1":"D A"},K:{"1":"A B C Q VB eB WB"},L:{"1":"H"},M:{"1":"P"},N:{"1":"A B"},O:{"1":"RC"},P:{"1":"I SC TC UC VC WC dB XC YC ZC aC"},Q:{"1":"bC"},R:{"1":"cC"},S:{"1":"dC"}},B:1,C:"Document Object Model Range"}; diff --git a/tools/node_modules/@babel/core/node_modules/caniuse-lite/data/features/domcontentloaded.js b/tools/node_modules/@babel/core/node_modules/caniuse-lite/data/features/domcontentloaded.js new file mode 100644 index 00000000000000..48508a38dba0ae --- /dev/null +++ b/tools/node_modules/@babel/core/node_modules/caniuse-lite/data/features/domcontentloaded.js @@ -0,0 +1 @@ +module.exports={A:{A:{"1":"F A B","2":"J D E gB"},B:{"1":"C K L G M N O R S T U V W X Y Z P a H"},C:{"1":"0 1 2 3 4 5 6 7 8 9 hB XB I b J D E F A B C K L G M N O c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB YB GB ZB Q HB IB JB KB LB MB NB OB PB QB RB SB TB UB aB bB R S T iB U V W X Y Z P a H jB kB"},D:{"1":"0 1 2 3 4 5 6 7 8 9 I b J D E F A B C K L G M N O c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB YB GB ZB Q HB IB JB KB LB MB NB OB PB QB RB SB TB UB aB bB R S T U V W X Y Z P a H lB mB nB"},E:{"1":"I b J D E F A B C K L G oB cB pB qB rB sB dB VB WB tB uB vB"},F:{"1":"0 1 2 3 4 5 6 7 8 9 F B C G M N O c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB GB Q HB IB JB KB LB MB NB OB PB QB RB SB TB UB wB xB yB zB VB eB 0B WB"},G:{"1":"E cB 1B fB 2B 3B 4B 5B 6B 7B 8B 9B AC BC CC DC EC FC GC HC IC JC"},H:{"1":"KC"},I:{"1":"XB I H LC MC NC OC fB PC QC"},J:{"1":"D A"},K:{"1":"A B C Q VB eB WB"},L:{"1":"H"},M:{"1":"P"},N:{"1":"A B"},O:{"1":"RC"},P:{"1":"I SC TC UC VC WC dB XC YC ZC aC"},Q:{"1":"bC"},R:{"1":"cC"},S:{"1":"dC"}},B:1,C:"DOMContentLoaded"}; diff --git a/tools/node_modules/@babel/core/node_modules/caniuse-lite/data/features/domfocusin-domfocusout-events.js b/tools/node_modules/@babel/core/node_modules/caniuse-lite/data/features/domfocusin-domfocusout-events.js new file mode 100644 index 00000000000000..b73fab54282d04 --- /dev/null +++ b/tools/node_modules/@babel/core/node_modules/caniuse-lite/data/features/domfocusin-domfocusout-events.js @@ -0,0 +1 @@ +module.exports={A:{A:{"2":"J D E F A B gB"},B:{"1":"R S T U V W X Y Z P a H","2":"C K L G M N O"},C:{"2":"0 1 2 3 4 5 6 7 8 9 hB XB I b J D E F A B C K L G M N O c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB YB GB ZB Q HB IB JB KB LB MB NB OB PB QB RB SB TB UB aB bB R S T iB U V W X Y Z P a H jB kB"},D:{"1":"0 1 2 3 4 5 6 7 8 9 j k l m n o p q r s t u v w x y z AB BB CB DB EB FB YB GB ZB Q HB IB JB KB LB MB NB OB PB QB RB SB TB UB aB bB R S T U V W X Y Z P a H lB mB nB","16":"I b J D E F A B C K L G M N O c d e f g h i"},E:{"1":"J D E F A B C K L G pB qB rB sB dB VB WB tB uB vB","2":"I oB cB","16":"b"},F:{"1":"0 1 2 3 4 5 6 7 8 9 C G M N O c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB GB Q HB IB JB KB LB MB NB OB PB QB RB SB TB UB 0B WB","16":"F B wB xB yB zB VB eB"},G:{"1":"E 4B 5B 6B 7B 8B 9B AC BC CC DC EC FC GC HC IC JC","16":"cB 1B fB 2B 3B"},H:{"16":"KC"},I:{"1":"I H OC fB PC QC","16":"XB LC MC NC"},J:{"16":"D A"},K:{"16":"A B C Q VB eB WB"},L:{"1":"H"},M:{"2":"P"},N:{"16":"A B"},O:{"16":"RC"},P:{"1":"I SC TC UC VC WC dB XC YC ZC aC"},Q:{"1":"bC"},R:{"1":"cC"},S:{"2":"dC"}},B:5,C:"DOMFocusIn & DOMFocusOut events"}; diff --git a/tools/node_modules/@babel/core/node_modules/caniuse-lite/data/features/dommatrix.js b/tools/node_modules/@babel/core/node_modules/caniuse-lite/data/features/dommatrix.js new file mode 100644 index 00000000000000..253296ed298bcc --- /dev/null +++ b/tools/node_modules/@babel/core/node_modules/caniuse-lite/data/features/dommatrix.js @@ -0,0 +1 @@ +module.exports={A:{A:{"2":"J D E F gB","132":"A B"},B:{"132":"C K L G M N O","1028":"R S T U V W X Y Z P a H"},C:{"2":"hB XB I b J D E F A B C K L G M N O c d e f g h i j k l m n o p jB kB","1028":"NB OB PB QB RB SB TB UB aB bB R S T iB U V W X Y Z P a H","2564":"0 1 2 3 4 5 q r s t u v w x y z","3076":"6 7 8 9 AB BB CB DB EB FB YB GB ZB Q HB IB JB KB LB MB"},D:{"16":"I b J D","132":"0 1 2 3 4 5 6 7 8 9 F A B C K L G M N O c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB YB GB","388":"E","1028":"ZB Q HB IB JB KB LB MB NB OB PB QB RB SB TB UB aB bB R S T U V W X Y Z P a H lB mB nB"},E:{"16":"I oB cB","132":"b J D E F A pB qB rB sB dB","1028":"B C K L G VB WB tB uB vB"},F:{"2":"F B C wB xB yB zB VB eB 0B WB","132":"0 1 2 3 4 G M N O c d e f g h i j k l m n o p q r s t u v w x y z","1028":"5 6 7 8 9 AB BB CB DB EB FB GB Q HB IB JB KB LB MB NB OB PB QB RB SB TB UB"},G:{"16":"cB 1B fB","132":"E 2B 3B 4B 5B 6B 7B 8B 9B AC BC CC DC EC FC GC HC IC JC"},H:{"2":"KC"},I:{"132":"I OC fB PC QC","292":"XB LC MC NC","1028":"H"},J:{"16":"D","132":"A"},K:{"2":"A B C VB eB WB","132":"Q"},L:{"1028":"H"},M:{"1028":"P"},N:{"132":"A B"},O:{"132":"RC"},P:{"132":"I SC TC UC VC WC dB XC YC ZC aC"},Q:{"132":"bC"},R:{"132":"cC"},S:{"2564":"dC"}},B:4,C:"DOMMatrix"}; diff --git a/tools/node_modules/@babel/core/node_modules/caniuse-lite/data/features/download.js b/tools/node_modules/@babel/core/node_modules/caniuse-lite/data/features/download.js new file mode 100644 index 00000000000000..7025d1ba48ba0a --- /dev/null +++ b/tools/node_modules/@babel/core/node_modules/caniuse-lite/data/features/download.js @@ -0,0 +1 @@ +module.exports={A:{A:{"2":"J D E F A B gB"},B:{"1":"K L G M N O R S T U V W X Y Z P a H","2":"C"},C:{"1":"0 1 2 3 4 5 6 7 8 9 d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB YB GB ZB Q HB IB JB KB LB MB NB OB PB QB RB SB TB UB aB bB R S T iB U V W X Y Z P a H","2":"hB XB I b J D E F A B C K L G M N O c jB kB"},D:{"1":"0 1 2 3 4 5 6 7 8 9 L G M N O c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB YB GB ZB Q HB IB JB KB LB MB NB OB PB QB RB SB TB UB aB bB R S T U V W X Y Z P a H lB mB nB","2":"I b J D E F A B C K"},E:{"1":"B C K L G dB VB WB tB uB vB","2":"I b J D E F A oB cB pB qB rB sB"},F:{"1":"0 1 2 3 4 5 6 7 8 9 G M N O c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB GB Q HB IB JB KB LB MB NB OB PB QB RB SB TB UB","2":"F B C wB xB yB zB VB eB 0B WB"},G:{"1":"EC FC GC HC IC JC","2":"E cB 1B fB 2B 3B 4B 5B 6B 7B 8B 9B AC BC CC DC"},H:{"2":"KC"},I:{"1":"H PC QC","2":"XB I LC MC NC OC fB"},J:{"1":"A","2":"D"},K:{"1":"Q","2":"A B C VB eB WB"},L:{"1":"H"},M:{"1":"P"},N:{"2":"A B"},O:{"1":"RC"},P:{"1":"I SC TC UC VC WC dB XC YC ZC aC"},Q:{"1":"bC"},R:{"1":"cC"},S:{"1":"dC"}},B:1,C:"Download attribute"}; diff --git a/tools/node_modules/@babel/core/node_modules/caniuse-lite/data/features/dragndrop.js b/tools/node_modules/@babel/core/node_modules/caniuse-lite/data/features/dragndrop.js new file mode 100644 index 00000000000000..26b58acd41aada --- /dev/null +++ b/tools/node_modules/@babel/core/node_modules/caniuse-lite/data/features/dragndrop.js @@ -0,0 +1 @@ +module.exports={A:{A:{"644":"J D E F gB","772":"A B"},B:{"1":"O R S T U V W X Y Z P a H","260":"C K L G M N"},C:{"1":"0 1 2 3 4 5 6 7 8 9 I b J D E F A B C K L G M N O c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB YB GB ZB Q HB IB JB KB LB MB NB OB PB QB RB SB TB UB aB bB R S T iB U V W X Y Z P a H jB kB","8":"hB XB"},D:{"1":"0 1 2 3 4 5 6 7 8 9 I b J D E F A B C K L G M N O c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB YB GB ZB Q HB IB JB KB LB MB NB OB PB QB RB SB TB UB aB bB R S T U V W X Y Z P a H lB mB nB"},E:{"1":"I b J D E F A B C K L G oB cB pB qB rB sB dB VB WB tB uB vB"},F:{"1":"0 1 2 3 4 5 6 7 8 9 C G M N O c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB GB Q HB IB JB KB LB MB NB OB PB QB RB SB TB UB WB","8":"F B wB xB yB zB VB eB 0B"},G:{"2":"E cB 1B fB 2B 3B 4B 5B 6B 7B 8B 9B AC BC CC DC EC FC GC HC IC JC"},H:{"2":"KC"},I:{"2":"XB I LC MC NC OC fB PC QC","1025":"H"},J:{"2":"D A"},K:{"1":"WB","8":"A B C VB eB","1025":"Q"},L:{"1025":"H"},M:{"2":"P"},N:{"1":"A B"},O:{"2":"RC"},P:{"2":"I SC TC UC VC WC dB XC YC ZC aC"},Q:{"1":"bC"},R:{"2":"cC"},S:{"2":"dC"}},B:1,C:"Drag and Drop"}; diff --git a/tools/node_modules/@babel/core/node_modules/caniuse-lite/data/features/element-closest.js b/tools/node_modules/@babel/core/node_modules/caniuse-lite/data/features/element-closest.js new file mode 100644 index 00000000000000..8f8cfaae66862b --- /dev/null +++ b/tools/node_modules/@babel/core/node_modules/caniuse-lite/data/features/element-closest.js @@ -0,0 +1 @@ +module.exports={A:{A:{"2":"J D E F A B gB"},B:{"1":"G M N O R S T U V W X Y Z P a H","2":"C K L"},C:{"1":"0 1 2 3 4 5 6 7 8 9 s t u v w x y z AB BB CB DB EB FB YB GB ZB Q HB IB JB KB LB MB NB OB PB QB RB SB TB UB aB bB R S T iB U V W X Y Z P a H","2":"hB XB I b J D E F A B C K L G M N O c d e f g h i j k l m n o p q r jB kB"},D:{"1":"0 1 2 3 4 5 6 7 8 9 y z AB BB CB DB EB FB YB GB ZB Q HB IB JB KB LB MB NB OB PB QB RB SB TB UB aB bB R S T U V W X Y Z P a H lB mB nB","2":"I b J D E F A B C K L G M N O c d e f g h i j k l m n o p q r s t u v w x"},E:{"1":"F A B C K L G sB dB VB WB tB uB vB","2":"I b J D E oB cB pB qB rB"},F:{"1":"0 1 2 3 4 5 6 7 8 9 l m n o p q r s t u v w x y z AB BB CB DB EB FB GB Q HB IB JB KB LB MB NB OB PB QB RB SB TB UB","2":"F B C G M N O c d e f g h i j k wB xB yB zB VB eB 0B WB"},G:{"1":"6B 7B 8B 9B AC BC CC DC EC FC GC HC IC JC","2":"E cB 1B fB 2B 3B 4B 5B"},H:{"2":"KC"},I:{"1":"H","2":"XB I LC MC NC OC fB PC QC"},J:{"2":"D A"},K:{"1":"Q","2":"A B C VB eB WB"},L:{"1":"H"},M:{"1":"P"},N:{"2":"A B"},O:{"1":"RC"},P:{"1":"SC TC UC VC WC dB XC YC ZC aC","2":"I"},Q:{"2":"bC"},R:{"1":"cC"},S:{"1":"dC"}},B:1,C:"Element.closest()"}; diff --git a/tools/node_modules/@babel/core/node_modules/caniuse-lite/data/features/element-from-point.js b/tools/node_modules/@babel/core/node_modules/caniuse-lite/data/features/element-from-point.js new file mode 100644 index 00000000000000..a361d7fc944ebf --- /dev/null +++ b/tools/node_modules/@babel/core/node_modules/caniuse-lite/data/features/element-from-point.js @@ -0,0 +1 @@ +module.exports={A:{A:{"1":"J D E F A B","16":"gB"},B:{"1":"C K L G M N O R S T U V W X Y Z P a H"},C:{"1":"0 1 2 3 4 5 6 7 8 9 XB I b J D E F A B C K L G M N O c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB YB GB ZB Q HB IB JB KB LB MB NB OB PB QB RB SB TB UB aB bB R S T iB U V W X Y Z P a H jB kB","16":"hB"},D:{"1":"0 1 2 3 4 5 6 7 8 9 G M N O c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB YB GB ZB Q HB IB JB KB LB MB NB OB PB QB RB SB TB UB aB bB R S T U V W X Y Z P a H lB mB nB","16":"I b J D E F A B C K L"},E:{"1":"b J D E F A B C K L G pB qB rB sB dB VB WB tB uB vB","16":"I oB cB"},F:{"1":"0 1 2 3 4 5 6 7 8 9 B C G M N O c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB GB Q HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB eB 0B WB","16":"F wB xB yB zB"},G:{"1":"E 1B fB 2B 3B 4B 5B 6B 7B 8B 9B AC BC CC DC EC FC GC HC IC JC","16":"cB"},H:{"1":"KC"},I:{"1":"XB I H NC OC fB PC QC","16":"LC MC"},J:{"1":"D A"},K:{"1":"C Q WB","16":"A B VB eB"},L:{"1":"H"},M:{"1":"P"},N:{"1":"A B"},O:{"1":"RC"},P:{"1":"I SC TC UC VC WC dB XC YC ZC aC"},Q:{"1":"bC"},R:{"1":"cC"},S:{"1":"dC"}},B:5,C:"document.elementFromPoint()"}; diff --git a/tools/node_modules/@babel/core/node_modules/caniuse-lite/data/features/element-scroll-methods.js b/tools/node_modules/@babel/core/node_modules/caniuse-lite/data/features/element-scroll-methods.js new file mode 100644 index 00000000000000..e7509464a89850 --- /dev/null +++ b/tools/node_modules/@babel/core/node_modules/caniuse-lite/data/features/element-scroll-methods.js @@ -0,0 +1 @@ +module.exports={A:{A:{"2":"J D E F A B gB"},B:{"1":"R S T U V W X Y Z P a H","2":"C K L G M N O"},C:{"1":"0 1 2 3 4 5 6 7 8 9 t u v w x y z AB BB CB DB EB FB YB GB ZB Q HB IB JB KB LB MB NB OB PB QB RB SB TB UB aB bB R S T iB U V W X Y Z P a H","2":"hB XB I b J D E F A B C K L G M N O c d e f g h i j k l m n o p q r s jB kB"},D:{"1":"ZB Q HB IB JB KB LB MB NB OB PB QB RB SB TB UB aB bB R S T U V W X Y Z P a H lB mB nB","2":"0 1 2 3 4 5 6 7 8 9 I b J D E F A B C K L G M N O c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB YB GB"},E:{"1":"L G uB vB","2":"I b J D E F oB cB pB qB rB sB","132":"A B C K dB VB WB tB"},F:{"1":"5 6 7 8 9 AB BB CB DB EB FB GB Q HB IB JB KB LB MB NB OB PB QB RB SB TB UB","2":"0 1 2 3 4 F B C G M N O c d e f g h i j k l m n o p q r s t u v w x y z wB xB yB zB VB eB 0B WB"},G:{"1":"JC","2":"E cB 1B fB 2B 3B 4B 5B 6B 7B","132":"8B 9B AC BC CC DC EC FC GC HC IC"},H:{"2":"KC"},I:{"1":"H","2":"XB I LC MC NC OC fB PC QC"},J:{"2":"D A"},K:{"1":"Q","2":"A B C VB eB WB"},L:{"1":"H"},M:{"1":"P"},N:{"2":"A B"},O:{"1":"RC"},P:{"1":"VC WC dB XC YC ZC aC","2":"I SC TC UC"},Q:{"1":"bC"},R:{"2":"cC"},S:{"1":"dC"}},B:5,C:"Scroll methods on elements (scroll, scrollTo, scrollBy)"}; diff --git a/tools/node_modules/@babel/core/node_modules/caniuse-lite/data/features/eme.js b/tools/node_modules/@babel/core/node_modules/caniuse-lite/data/features/eme.js new file mode 100644 index 00000000000000..931fcd1c1137de --- /dev/null +++ b/tools/node_modules/@babel/core/node_modules/caniuse-lite/data/features/eme.js @@ -0,0 +1 @@ +module.exports={A:{A:{"2":"J D E F A gB","164":"B"},B:{"1":"C K L G M N O R S T U V W X Y Z P a H"},C:{"1":"0 1 2 3 4 5 6 7 8 9 v w x y z AB BB CB DB EB FB YB GB ZB Q HB IB JB KB LB MB NB OB PB QB RB SB TB UB aB bB R S T iB U V W X Y Z P a H","2":"hB XB I b J D E F A B C K L G M N O c d e f g h i j k l m n o p q r s t u jB kB"},D:{"1":"0 1 2 3 4 5 6 7 8 9 z AB BB CB DB EB FB YB GB ZB Q HB IB JB KB LB MB NB OB PB QB RB SB TB UB aB bB R S T U V W X Y Z P a H lB mB nB","2":"I b J D E F A B C K L G M N O c d e f g h i j k l m n o p q r","132":"s t u v w x y"},E:{"1":"C K L G WB tB uB vB","2":"I b J oB cB pB qB","164":"D E F A B rB sB dB VB"},F:{"1":"0 1 2 3 4 5 6 7 8 9 m n o p q r s t u v w x y z AB BB CB DB EB FB GB Q HB IB JB KB LB MB NB OB PB QB RB SB TB UB","2":"F B C G M N O c d e wB xB yB zB VB eB 0B WB","132":"f g h i j k l"},G:{"1":"BC CC DC EC FC GC HC IC JC","2":"E cB 1B fB 2B 3B 4B 5B 6B 7B 8B 9B AC"},H:{"2":"KC"},I:{"1":"H","2":"XB I LC MC NC OC fB PC QC"},J:{"2":"D A"},K:{"1":"Q","2":"A B C VB eB WB"},L:{"1":"H"},M:{"1":"P"},N:{"2":"A B"},O:{"1":"RC"},P:{"1":"SC TC UC VC WC dB XC YC ZC aC","2":"I"},Q:{"16":"bC"},R:{"2":"cC"},S:{"1":"dC"}},B:2,C:"Encrypted Media Extensions"}; diff --git a/tools/node_modules/@babel/core/node_modules/caniuse-lite/data/features/eot.js b/tools/node_modules/@babel/core/node_modules/caniuse-lite/data/features/eot.js new file mode 100644 index 00000000000000..0e4eed3cb67e8c --- /dev/null +++ b/tools/node_modules/@babel/core/node_modules/caniuse-lite/data/features/eot.js @@ -0,0 +1 @@ +module.exports={A:{A:{"1":"J D E F A B","2":"gB"},B:{"2":"C K L G M N O R S T U V W X Y Z P a H"},C:{"2":"0 1 2 3 4 5 6 7 8 9 hB XB I b J D E F A B C K L G M N O c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB YB GB ZB Q HB IB JB KB LB MB NB OB PB QB RB SB TB UB aB bB R S T iB U V W X Y Z P a H jB kB"},D:{"2":"0 1 2 3 4 5 6 7 8 9 I b J D E F A B C K L G M N O c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB YB GB ZB Q HB IB JB KB LB MB NB OB PB QB RB SB TB UB aB bB R S T U V W X Y Z P a H lB mB nB"},E:{"2":"I b J D E F A B C K L G oB cB pB qB rB sB dB VB WB tB uB vB"},F:{"2":"0 1 2 3 4 5 6 7 8 9 F B C G M N O c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB GB Q HB IB JB KB LB MB NB OB PB QB RB SB TB UB wB xB yB zB VB eB 0B WB"},G:{"2":"E cB 1B fB 2B 3B 4B 5B 6B 7B 8B 9B AC BC CC DC EC FC GC HC IC JC"},H:{"2":"KC"},I:{"2":"XB I H LC MC NC OC fB PC QC"},J:{"2":"D A"},K:{"2":"A B C Q VB eB WB"},L:{"2":"H"},M:{"2":"P"},N:{"2":"A B"},O:{"2":"RC"},P:{"2":"I SC TC UC VC WC dB XC YC ZC aC"},Q:{"2":"bC"},R:{"2":"cC"},S:{"2":"dC"}},B:7,C:"EOT - Embedded OpenType fonts"}; diff --git a/tools/node_modules/@babel/core/node_modules/caniuse-lite/data/features/es5.js b/tools/node_modules/@babel/core/node_modules/caniuse-lite/data/features/es5.js new file mode 100644 index 00000000000000..c9ddde9d3e09e7 --- /dev/null +++ b/tools/node_modules/@babel/core/node_modules/caniuse-lite/data/features/es5.js @@ -0,0 +1 @@ +module.exports={A:{A:{"1":"A B","2":"J D gB","260":"F","1026":"E"},B:{"1":"C K L G M N O R S T U V W X Y Z P a H"},C:{"1":"0 1 2 3 4 5 6 7 8 9 e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB YB GB ZB Q HB IB JB KB LB MB NB OB PB QB RB SB TB UB aB bB R S T iB U V W X Y Z P a H","4":"hB XB jB kB","132":"I b J D E F A B C K L G M N O c d"},D:{"1":"0 1 2 3 4 5 6 7 8 9 g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB YB GB ZB Q HB IB JB KB LB MB NB OB PB QB RB SB TB UB aB bB R S T U V W X Y Z P a H lB mB nB","4":"I b J D E F A B C K L G M N O","132":"c d e f"},E:{"1":"J D E F A B C K L G qB rB sB dB VB WB tB uB vB","4":"I b oB cB pB"},F:{"1":"0 1 2 3 4 5 6 7 8 9 G M N O c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB GB Q HB IB JB KB LB MB NB OB PB QB RB SB TB UB","4":"F B C wB xB yB zB VB eB 0B","132":"WB"},G:{"1":"E 3B 4B 5B 6B 7B 8B 9B AC BC CC DC EC FC GC HC IC JC","4":"cB 1B fB 2B"},H:{"132":"KC"},I:{"1":"H PC QC","4":"XB LC MC NC","132":"OC fB","900":"I"},J:{"1":"A","4":"D"},K:{"1":"Q","4":"A B C VB eB","132":"WB"},L:{"1":"H"},M:{"1":"P"},N:{"1":"A B"},O:{"1":"RC"},P:{"1":"I SC TC UC VC WC dB XC YC ZC aC"},Q:{"1":"bC"},R:{"1":"cC"},S:{"1":"dC"}},B:6,C:"ECMAScript 5"}; diff --git a/tools/node_modules/@babel/core/node_modules/caniuse-lite/data/features/es6-class.js b/tools/node_modules/@babel/core/node_modules/caniuse-lite/data/features/es6-class.js new file mode 100644 index 00000000000000..4c08dd6ecd2148 --- /dev/null +++ b/tools/node_modules/@babel/core/node_modules/caniuse-lite/data/features/es6-class.js @@ -0,0 +1 @@ +module.exports={A:{A:{"2":"J D E F A B gB"},B:{"1":"K L G M N O R S T U V W X Y Z P a H","2":"C"},C:{"1":"2 3 4 5 6 7 8 9 AB BB CB DB EB FB YB GB ZB Q HB IB JB KB LB MB NB OB PB QB RB SB TB UB aB bB R S T iB U V W X Y Z P a H","2":"0 1 hB XB I b J D E F A B C K L G M N O c d e f g h i j k l m n o p q r s t u v w x y z jB kB"},D:{"1":"6 7 8 9 AB BB CB DB EB FB YB GB ZB Q HB IB JB KB LB MB NB OB PB QB RB SB TB UB aB bB R S T U V W X Y Z P a H lB mB nB","2":"I b J D E F A B C K L G M N O c d e f g h i j k l m n o p q r s t u v w x y","132":"0 1 2 3 4 5 z"},E:{"1":"F A B C K L G sB dB VB WB tB uB vB","2":"I b J D E oB cB pB qB rB"},F:{"1":"0 1 2 3 4 5 6 7 8 9 t u v w x y z AB BB CB DB EB FB GB Q HB IB JB KB LB MB NB OB PB QB RB SB TB UB","2":"F B C G M N O c d e f g h i j k l wB xB yB zB VB eB 0B WB","132":"m n o p q r s"},G:{"1":"6B 7B 8B 9B AC BC CC DC EC FC GC HC IC JC","2":"E cB 1B fB 2B 3B 4B 5B"},H:{"2":"KC"},I:{"1":"H","2":"XB I LC MC NC OC fB PC QC"},J:{"2":"D A"},K:{"1":"Q","2":"A B C VB eB WB"},L:{"1":"H"},M:{"1":"P"},N:{"2":"A B"},O:{"1":"RC"},P:{"1":"SC TC UC VC WC dB XC YC ZC aC","2":"I"},Q:{"1":"bC"},R:{"1":"cC"},S:{"1":"dC"}},B:6,C:"ES6 classes"}; diff --git a/tools/node_modules/@babel/core/node_modules/caniuse-lite/data/features/es6-generators.js b/tools/node_modules/@babel/core/node_modules/caniuse-lite/data/features/es6-generators.js new file mode 100644 index 00000000000000..f6ac5d7320b14b --- /dev/null +++ b/tools/node_modules/@babel/core/node_modules/caniuse-lite/data/features/es6-generators.js @@ -0,0 +1 @@ +module.exports={A:{A:{"2":"J D E F A B gB"},B:{"1":"K L G M N O R S T U V W X Y Z P a H","2":"C"},C:{"1":"0 1 2 3 4 5 6 7 8 9 j k l m n o p q r s t u v w x y z AB BB CB DB EB FB YB GB ZB Q HB IB JB KB LB MB NB OB PB QB RB SB TB UB aB bB R S T iB U V W X Y Z P a H","2":"hB XB I b J D E F A B C K L G M N O c d e f g h i jB kB"},D:{"1":"0 1 2 3 4 5 6 7 8 9 w x y z AB BB CB DB EB FB YB GB ZB Q HB IB JB KB LB MB NB OB PB QB RB SB TB UB aB bB R S T U V W X Y Z P a H lB mB nB","2":"I b J D E F A B C K L G M N O c d e f g h i j k l m n o p q r s t u v"},E:{"1":"A B C K L G dB VB WB tB uB vB","2":"I b J D E F oB cB pB qB rB sB"},F:{"1":"0 1 2 3 4 5 6 7 8 9 j k l m n o p q r s t u v w x y z AB BB CB DB EB FB GB Q HB IB JB KB LB MB NB OB PB QB RB SB TB UB","2":"F B C G M N O c d e f g h i wB xB yB zB VB eB 0B WB"},G:{"1":"8B 9B AC BC CC DC EC FC GC HC IC JC","2":"E cB 1B fB 2B 3B 4B 5B 6B 7B"},H:{"2":"KC"},I:{"1":"H","2":"XB I LC MC NC OC fB PC QC"},J:{"2":"D A"},K:{"1":"Q","2":"A B C VB eB WB"},L:{"1":"H"},M:{"1":"P"},N:{"2":"A B"},O:{"1":"RC"},P:{"1":"I SC TC UC VC WC dB XC YC ZC aC"},Q:{"1":"bC"},R:{"1":"cC"},S:{"1":"dC"}},B:6,C:"ES6 Generators"}; diff --git a/tools/node_modules/@babel/core/node_modules/caniuse-lite/data/features/es6-module-dynamic-import.js b/tools/node_modules/@babel/core/node_modules/caniuse-lite/data/features/es6-module-dynamic-import.js new file mode 100644 index 00000000000000..1729b6400a7ca1 --- /dev/null +++ b/tools/node_modules/@babel/core/node_modules/caniuse-lite/data/features/es6-module-dynamic-import.js @@ -0,0 +1 @@ +module.exports={A:{A:{"2":"J D E F A B gB"},B:{"1":"R S T U V W X Y Z P a H","2":"C K L G M N O"},C:{"1":"LB MB NB OB PB QB RB SB TB UB aB bB R S T iB U V W X Y Z P a H","2":"0 1 2 3 4 5 6 7 8 9 hB XB I b J D E F A B C K L G M N O c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB YB GB ZB Q HB IB JB jB kB","194":"KB"},D:{"1":"HB IB JB KB LB MB NB OB PB QB RB SB TB UB aB bB R S T U V W X Y Z P a H lB mB nB","2":"0 1 2 3 4 5 6 7 8 9 I b J D E F A B C K L G M N O c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB YB GB ZB Q"},E:{"1":"C K L G VB WB tB uB vB","2":"I b J D E F A B oB cB pB qB rB sB dB"},F:{"1":"7 8 9 AB BB CB DB EB FB GB Q HB IB JB KB LB MB NB OB PB QB RB SB TB UB","2":"0 1 2 3 4 5 6 F B C G M N O c d e f g h i j k l m n o p q r s t u v w x y z wB xB yB zB VB eB 0B WB"},G:{"1":"AC BC CC DC EC FC GC HC IC JC","2":"E cB 1B fB 2B 3B 4B 5B 6B 7B 8B 9B"},H:{"2":"KC"},I:{"1":"H","2":"XB I LC MC NC OC fB PC QC"},J:{"2":"D A"},K:{"1":"Q","2":"A B C VB eB WB"},L:{"1":"H"},M:{"1":"P"},N:{"2":"A B"},O:{"2":"RC"},P:{"1":"VC WC dB XC YC ZC aC","2":"I SC TC UC"},Q:{"1":"bC"},R:{"2":"cC"},S:{"2":"dC"}},B:6,C:"JavaScript modules: dynamic import()"}; diff --git a/tools/node_modules/@babel/core/node_modules/caniuse-lite/data/features/es6-module.js b/tools/node_modules/@babel/core/node_modules/caniuse-lite/data/features/es6-module.js new file mode 100644 index 00000000000000..50a96acfb0e9b5 --- /dev/null +++ b/tools/node_modules/@babel/core/node_modules/caniuse-lite/data/features/es6-module.js @@ -0,0 +1 @@ +module.exports={A:{A:{"2":"J D E F A B gB"},B:{"1":"R S T U V W X Y Z P a H","2":"C K L","4097":"M N O","4290":"G"},C:{"1":"GB ZB Q HB IB JB KB LB MB NB OB PB QB RB SB TB UB aB bB R S T iB U V W X Y Z P a H","2":"0 1 2 3 4 5 6 7 8 9 hB XB I b J D E F A B C K L G M N O c d e f g h i j k l m n o p q r s t u v w x y z AB jB kB","322":"BB CB DB EB FB YB"},D:{"1":"ZB Q HB IB JB KB LB MB NB OB PB QB RB SB TB UB aB bB R S T U V W X Y Z P a H lB mB nB","2":"0 1 2 3 4 5 6 7 8 9 I b J D E F A B C K L G M N O c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB YB","194":"GB"},E:{"1":"B C K L G VB WB tB uB vB","2":"I b J D E F A oB cB pB qB rB sB","3076":"dB"},F:{"1":"5 6 7 8 9 AB BB CB DB EB FB GB Q HB IB JB KB LB MB NB OB PB QB RB SB TB UB","2":"0 1 2 3 F B C G M N O c d e f g h i j k l m n o p q r s t u v w x y z wB xB yB zB VB eB 0B WB","194":"4"},G:{"1":"AC BC CC DC EC FC GC HC IC JC","2":"E cB 1B fB 2B 3B 4B 5B 6B 7B 8B","3076":"9B"},H:{"2":"KC"},I:{"1":"H","2":"XB I LC MC NC OC fB PC QC"},J:{"2":"D A"},K:{"2":"A B C Q VB eB WB"},L:{"1":"H"},M:{"1":"P"},N:{"2":"A B"},O:{"2":"RC"},P:{"1":"VC WC dB XC YC ZC aC","2":"I SC TC UC"},Q:{"1":"bC"},R:{"2":"cC"},S:{"2":"dC"}},B:1,C:"JavaScript modules via script tag"}; diff --git a/tools/node_modules/@babel/core/node_modules/caniuse-lite/data/features/es6-number.js b/tools/node_modules/@babel/core/node_modules/caniuse-lite/data/features/es6-number.js new file mode 100644 index 00000000000000..625f82af700708 --- /dev/null +++ b/tools/node_modules/@babel/core/node_modules/caniuse-lite/data/features/es6-number.js @@ -0,0 +1 @@ +module.exports={A:{A:{"2":"J D E F A B gB"},B:{"1":"C K L G M N O R S T U V W X Y Z P a H"},C:{"1":"0 1 2 3 4 5 6 7 8 9 p q r s t u v w x y z AB BB CB DB EB FB YB GB ZB Q HB IB JB KB LB MB NB OB PB QB RB SB TB UB aB bB R S T iB U V W X Y Z P a H","2":"hB XB I b J D E F A B C K L G jB kB","132":"M N O c d e f g h","260":"i j k l m n","516":"o"},D:{"1":"0 1 2 3 4 5 6 7 8 9 r s t u v w x y z AB BB CB DB EB FB YB GB ZB Q HB IB JB KB LB MB NB OB PB QB RB SB TB UB aB bB R S T U V W X Y Z P a H lB mB nB","2":"I b J D E F A B C K L G M N O","1028":"c d e f g h i j k l m n o p q"},E:{"1":"F A B C K L G sB dB VB WB tB uB vB","2":"I b J D E oB cB pB qB rB"},F:{"1":"0 1 2 3 4 5 6 7 8 9 e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB GB Q HB IB JB KB LB MB NB OB PB QB RB SB TB UB","2":"F B C wB xB yB zB VB eB 0B WB","1028":"G M N O c d"},G:{"1":"6B 7B 8B 9B AC BC CC DC EC FC GC HC IC JC","2":"E cB 1B fB 2B 3B 4B 5B"},H:{"2":"KC"},I:{"1":"H","2":"XB I LC MC NC","1028":"OC fB PC QC"},J:{"2":"D A"},K:{"1":"Q","2":"A B C VB eB WB"},L:{"1":"H"},M:{"1":"P"},N:{"2":"A B"},O:{"1":"RC"},P:{"1":"I SC TC UC VC WC dB XC YC ZC aC"},Q:{"1":"bC"},R:{"1":"cC"},S:{"1":"dC"}},B:6,C:"ES6 Number"}; diff --git a/tools/node_modules/@babel/core/node_modules/caniuse-lite/data/features/es6-string-includes.js b/tools/node_modules/@babel/core/node_modules/caniuse-lite/data/features/es6-string-includes.js new file mode 100644 index 00000000000000..73b486ed1ca846 --- /dev/null +++ b/tools/node_modules/@babel/core/node_modules/caniuse-lite/data/features/es6-string-includes.js @@ -0,0 +1 @@ +module.exports={A:{A:{"2":"J D E F A B gB"},B:{"1":"C K L G M N O R S T U V W X Y Z P a H"},C:{"1":"0 1 2 3 4 5 6 7 8 9 x y z AB BB CB DB EB FB YB GB ZB Q HB IB JB KB LB MB NB OB PB QB RB SB TB UB aB bB R S T iB U V W X Y Z P a H","2":"hB XB I b J D E F A B C K L G M N O c d e f g h i j k l m n o p q r s t u v w jB kB"},D:{"1":"0 1 2 3 4 5 6 7 8 9 y z AB BB CB DB EB FB YB GB ZB Q HB IB JB KB LB MB NB OB PB QB RB SB TB UB aB bB R S T U V W X Y Z P a H lB mB nB","2":"I b J D E F A B C K L G M N O c d e f g h i j k l m n o p q r s t u v w x"},E:{"1":"F A B C K L G sB dB VB WB tB uB vB","2":"I b J D E oB cB pB qB rB"},F:{"1":"0 1 2 3 4 5 6 7 8 9 l m n o p q r s t u v w x y z AB BB CB DB EB FB GB Q HB IB JB KB LB MB NB OB PB QB RB SB TB UB","2":"F B C G M N O c d e f g h i j k wB xB yB zB VB eB 0B WB"},G:{"1":"6B 7B 8B 9B AC BC CC DC EC FC GC HC IC JC","2":"E cB 1B fB 2B 3B 4B 5B"},H:{"2":"KC"},I:{"1":"H","2":"XB I LC MC NC OC fB PC QC"},J:{"2":"D A"},K:{"1":"Q","2":"A B C VB eB WB"},L:{"1":"H"},M:{"1":"P"},N:{"2":"A B"},O:{"1":"RC"},P:{"1":"I SC TC UC VC WC dB XC YC ZC aC"},Q:{"1":"bC"},R:{"1":"cC"},S:{"1":"dC"}},B:6,C:"String.prototype.includes"}; diff --git a/tools/node_modules/@babel/core/node_modules/caniuse-lite/data/features/es6.js b/tools/node_modules/@babel/core/node_modules/caniuse-lite/data/features/es6.js new file mode 100644 index 00000000000000..ed0584fb48c721 --- /dev/null +++ b/tools/node_modules/@babel/core/node_modules/caniuse-lite/data/features/es6.js @@ -0,0 +1 @@ +module.exports={A:{A:{"2":"J D E F A gB","388":"B"},B:{"257":"R S T U V W X Y Z P a H","260":"C K L","769":"G M N O"},C:{"2":"hB XB I b jB kB","4":"0 1 2 3 4 5 6 7 8 9 J D E F A B C K L G M N O c d e f g h i j k l m n o p q r s t u v w x y z AB","257":"BB CB DB EB FB YB GB ZB Q HB IB JB KB LB MB NB OB PB QB RB SB TB UB aB bB R S T iB U V W X Y Z P a H"},D:{"2":"I b J D E F A B C K L G M N O c d","4":"0 1 2 3 4 5 6 7 e f g h i j k l m n o p q r s t u v w x y z","257":"8 9 AB BB CB DB EB FB YB GB ZB Q HB IB JB KB LB MB NB OB PB QB RB SB TB UB aB bB R S T U V W X Y Z P a H lB mB nB"},E:{"1":"A B C K L G dB VB WB tB uB vB","2":"I b J D oB cB pB qB","4":"E F rB sB"},F:{"2":"F B C wB xB yB zB VB eB 0B WB","4":"G M N O c d e f g h i j k l m n o p q r s t u","257":"0 1 2 3 4 5 6 7 8 9 v w x y z AB BB CB DB EB FB GB Q HB IB JB KB LB MB NB OB PB QB RB SB TB UB"},G:{"1":"8B 9B AC BC CC DC EC FC GC HC IC JC","2":"cB 1B fB 2B 3B","4":"E 4B 5B 6B 7B"},H:{"2":"KC"},I:{"2":"XB I LC MC NC OC fB","4":"PC QC","257":"H"},J:{"2":"D","4":"A"},K:{"2":"A B C VB eB WB","257":"Q"},L:{"257":"H"},M:{"257":"P"},N:{"2":"A","388":"B"},O:{"257":"RC"},P:{"4":"I","257":"SC TC UC VC WC dB XC YC ZC aC"},Q:{"257":"bC"},R:{"4":"cC"},S:{"4":"dC"}},B:6,C:"ECMAScript 2015 (ES6)"}; diff --git a/tools/node_modules/@babel/core/node_modules/caniuse-lite/data/features/eventsource.js b/tools/node_modules/@babel/core/node_modules/caniuse-lite/data/features/eventsource.js new file mode 100644 index 00000000000000..d9da0e2f99cc8c --- /dev/null +++ b/tools/node_modules/@babel/core/node_modules/caniuse-lite/data/features/eventsource.js @@ -0,0 +1 @@ +module.exports={A:{A:{"2":"J D E F A B gB"},B:{"1":"R S T U V W X Y Z P a H","2":"C K L G M N O"},C:{"1":"0 1 2 3 4 5 6 7 8 9 J D E F A B C K L G M N O c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB YB GB ZB Q HB IB JB KB LB MB NB OB PB QB RB SB TB UB aB bB R S T iB U V W X Y Z P a H","2":"hB XB I b jB kB"},D:{"1":"0 1 2 3 4 5 6 7 8 9 J D E F A B C K L G M N O c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB YB GB ZB Q HB IB JB KB LB MB NB OB PB QB RB SB TB UB aB bB R S T U V W X Y Z P a H lB mB nB","2":"I b"},E:{"1":"b J D E F A B C K L G pB qB rB sB dB VB WB tB uB vB","2":"I oB cB"},F:{"1":"0 1 2 3 4 5 6 7 8 9 B C G M N O c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB GB Q HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB eB 0B WB","4":"F wB xB yB zB"},G:{"1":"E 1B fB 2B 3B 4B 5B 6B 7B 8B 9B AC BC CC DC EC FC GC HC IC JC","2":"cB"},H:{"2":"KC"},I:{"1":"H PC QC","2":"XB I LC MC NC OC fB"},J:{"1":"D A"},K:{"1":"C Q VB eB WB","4":"A B"},L:{"1":"H"},M:{"1":"P"},N:{"2":"A B"},O:{"1":"RC"},P:{"1":"I SC TC UC VC WC dB XC YC ZC aC"},Q:{"1":"bC"},R:{"1":"cC"},S:{"1":"dC"}},B:1,C:"Server-sent events"}; diff --git a/tools/node_modules/@babel/core/node_modules/caniuse-lite/data/features/extended-system-fonts.js b/tools/node_modules/@babel/core/node_modules/caniuse-lite/data/features/extended-system-fonts.js new file mode 100644 index 00000000000000..5660dfeebee61e --- /dev/null +++ b/tools/node_modules/@babel/core/node_modules/caniuse-lite/data/features/extended-system-fonts.js @@ -0,0 +1 @@ +module.exports={A:{A:{"2":"J D E F A B gB"},B:{"2":"C K L G M N O R S T U V W X Y Z P a H"},C:{"2":"0 1 2 3 4 5 6 7 8 9 hB XB I b J D E F A B C K L G M N O c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB YB GB ZB Q HB IB JB KB LB MB NB OB PB QB RB SB TB UB aB bB R S T iB U V W X Y Z P a H jB kB"},D:{"2":"0 1 2 3 4 5 6 7 8 9 I b J D E F A B C K L G M N O c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB YB GB ZB Q HB IB JB KB LB MB NB OB PB QB RB SB TB UB aB bB R S T U V W X Y Z P a H lB mB nB"},E:{"1":"L G tB uB vB","2":"I b J D E F A B C K oB cB pB qB rB sB dB VB WB"},F:{"2":"0 1 2 3 4 5 6 7 8 9 F B C G M N O c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB GB Q HB IB JB KB LB MB NB OB PB QB RB SB TB UB wB xB yB zB VB eB 0B WB"},G:{"1":"HC IC JC","2":"E cB 1B fB 2B 3B 4B 5B 6B 7B 8B 9B AC BC CC DC EC FC GC"},H:{"2":"KC"},I:{"2":"XB I H LC MC NC OC fB PC QC"},J:{"2":"D A"},K:{"2":"A B C Q VB eB WB"},L:{"2":"H"},M:{"2":"P"},N:{"2":"A B"},O:{"2":"RC"},P:{"2":"I SC TC UC VC WC dB XC YC ZC aC"},Q:{"2":"bC"},R:{"2":"cC"},S:{"2":"dC"}},B:5,C:"ui-serif, ui-sans-serif, ui-monospace and ui-rounded values for font-family"}; diff --git a/tools/node_modules/@babel/core/node_modules/caniuse-lite/data/features/feature-policy.js b/tools/node_modules/@babel/core/node_modules/caniuse-lite/data/features/feature-policy.js new file mode 100644 index 00000000000000..7128833d52326a --- /dev/null +++ b/tools/node_modules/@babel/core/node_modules/caniuse-lite/data/features/feature-policy.js @@ -0,0 +1 @@ +module.exports={A:{A:{"2":"J D E F A B gB"},B:{"1":"R S T U V W X Y","2":"C K L G M N O","1025":"Z P a H"},C:{"2":"0 1 2 3 4 5 6 7 8 9 hB XB I b J D E F A B C K L G M N O c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB YB GB ZB Q HB IB JB KB LB MB NB OB PB QB RB jB kB","260":"SB TB UB aB bB R S T iB U V W X Y Z P a H"},D:{"1":"SB TB UB aB bB R S T U V W X Y","2":"0 1 2 3 4 5 6 7 8 9 I b J D E F A B C K L G M N O c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB YB","132":"GB ZB Q HB IB JB KB LB MB NB OB PB QB RB","1025":"Z P a H lB mB nB"},E:{"2":"I b J D E F A B oB cB pB qB rB sB dB","772":"C K L G VB WB tB uB vB"},F:{"1":"Q HB IB JB KB LB MB NB OB PB QB RB SB","2":"0 1 2 3 F B C G M N O c d e f g h i j k l m n o p q r s t u v w x y z wB xB yB zB VB eB 0B WB","132":"4 5 6 7 8 9 AB BB CB DB EB FB GB","1025":"TB UB"},G:{"2":"E cB 1B fB 2B 3B 4B 5B 6B 7B 8B 9B AC","772":"BC CC DC EC FC GC HC IC JC"},H:{"2":"KC"},I:{"1":"H","2":"XB I LC MC NC OC fB PC QC"},J:{"2":"D A"},K:{"1":"Q","2":"A B C VB eB WB"},L:{"1025":"H"},M:{"260":"P"},N:{"2":"A B"},O:{"2":"RC"},P:{"1":"XC YC ZC aC","2":"I SC TC UC","132":"VC WC dB"},Q:{"132":"bC"},R:{"2":"cC"},S:{"2":"dC"}},B:5,C:"Feature Policy"}; diff --git a/tools/node_modules/@babel/core/node_modules/caniuse-lite/data/features/fetch.js b/tools/node_modules/@babel/core/node_modules/caniuse-lite/data/features/fetch.js new file mode 100644 index 00000000000000..c80700f2856b68 --- /dev/null +++ b/tools/node_modules/@babel/core/node_modules/caniuse-lite/data/features/fetch.js @@ -0,0 +1 @@ +module.exports={A:{A:{"2":"J D E F A B gB"},B:{"1":"L G M N O R S T U V W X Y Z P a H","2":"C K"},C:{"1":"0 1 2 3 4 5 6 7 8 9 x y z AB BB CB DB EB FB YB GB ZB Q HB IB JB KB LB MB NB OB PB QB RB SB TB UB aB bB R S T iB U V W X Y Z P a H","2":"hB XB I b J D E F A B C K L G M N O c d e f g h i j k l m n o p q jB kB","1025":"w","1218":"r s t u v"},D:{"1":"0 1 2 3 4 5 6 7 8 9 z AB BB CB DB EB FB YB GB ZB Q HB IB JB KB LB MB NB OB PB QB RB SB TB UB aB bB R S T U V W X Y Z P a H lB mB nB","2":"I b J D E F A B C K L G M N O c d e f g h i j k l m n o p q r s t u v w","260":"x","772":"y"},E:{"1":"B C K L G dB VB WB tB uB vB","2":"I b J D E F A oB cB pB qB rB sB"},F:{"1":"0 1 2 3 4 5 6 7 8 9 m n o p q r s t u v w x y z AB BB CB DB EB FB GB Q HB IB JB KB LB MB NB OB PB QB RB SB TB UB","2":"F B C G M N O c d e f g h i j wB xB yB zB VB eB 0B WB","260":"k","772":"l"},G:{"1":"9B AC BC CC DC EC FC GC HC IC JC","2":"E cB 1B fB 2B 3B 4B 5B 6B 7B 8B"},H:{"2":"KC"},I:{"1":"H","2":"XB I LC MC NC OC fB PC QC"},J:{"2":"D A"},K:{"1":"Q","2":"A B C VB eB WB"},L:{"1":"H"},M:{"1":"P"},N:{"2":"A B"},O:{"1":"RC"},P:{"1":"I SC TC UC VC WC dB XC YC ZC aC"},Q:{"1":"bC"},R:{"1":"cC"},S:{"1":"dC"}},B:1,C:"Fetch"}; diff --git a/tools/node_modules/@babel/core/node_modules/caniuse-lite/data/features/fieldset-disabled.js b/tools/node_modules/@babel/core/node_modules/caniuse-lite/data/features/fieldset-disabled.js new file mode 100644 index 00000000000000..15e0289a26eeaf --- /dev/null +++ b/tools/node_modules/@babel/core/node_modules/caniuse-lite/data/features/fieldset-disabled.js @@ -0,0 +1 @@ +module.exports={A:{A:{"16":"gB","132":"E F","388":"J D A B"},B:{"1":"C K L G M N O R S T U V W X Y Z P a H"},C:{"1":"0 1 2 3 4 5 6 7 8 9 I b J D E F A B C K L G M N O c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB YB GB ZB Q HB IB JB KB LB MB NB OB PB QB RB SB TB UB aB bB R S T iB U V W X Y Z P a H","2":"hB XB jB kB"},D:{"1":"0 1 2 3 4 5 6 7 8 9 d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB YB GB ZB Q HB IB JB KB LB MB NB OB PB QB RB SB TB UB aB bB R S T U V W X Y Z P a H lB mB nB","2":"I b J D E F A B C K L G","16":"M N O c"},E:{"1":"J D E F A B C K L G qB rB sB dB VB WB tB uB vB","2":"I b oB cB pB"},F:{"1":"0 1 2 3 4 5 6 7 8 9 B C G M N O c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB GB Q HB IB JB KB LB MB NB OB PB QB RB SB TB UB xB yB zB VB eB 0B WB","16":"F wB"},G:{"1":"E 3B 4B 5B 6B 7B 8B 9B AC BC CC DC EC FC GC HC IC JC","2":"cB 1B fB 2B"},H:{"388":"KC"},I:{"1":"H PC QC","2":"XB I LC MC NC OC fB"},J:{"1":"A","2":"D"},K:{"1":"A B C Q VB eB WB"},L:{"1":"H"},M:{"1":"P"},N:{"1":"A","260":"B"},O:{"1":"RC"},P:{"1":"I SC TC UC VC WC dB XC YC ZC aC"},Q:{"1":"bC"},R:{"1":"cC"},S:{"1":"dC"}},B:1,C:"disabled attribute of the fieldset element"}; diff --git a/tools/node_modules/@babel/core/node_modules/caniuse-lite/data/features/fileapi.js b/tools/node_modules/@babel/core/node_modules/caniuse-lite/data/features/fileapi.js new file mode 100644 index 00000000000000..8004e70edd0002 --- /dev/null +++ b/tools/node_modules/@babel/core/node_modules/caniuse-lite/data/features/fileapi.js @@ -0,0 +1 @@ +module.exports={A:{A:{"2":"J D E F gB","260":"A B"},B:{"1":"R S T U V W X Y Z P a H","260":"C K L G M N O"},C:{"1":"0 1 2 3 4 5 6 7 8 9 l m n o p q r s t u v w x y z AB BB CB DB EB FB YB GB ZB Q HB IB JB KB LB MB NB OB PB QB RB SB TB UB aB bB R S T iB U V W X Y Z P a H","2":"hB XB jB","260":"I b J D E F A B C K L G M N O c d e f g h i j k kB"},D:{"1":"0 1 2 3 4 5 6 7 8 9 v w x y z AB BB CB DB EB FB YB GB ZB Q HB IB JB KB LB MB NB OB PB QB RB SB TB UB aB bB R S T U V W X Y Z P a H lB mB nB","2":"I b","260":"K L G M N O c d e f g h i j k l m n o p q r s t u","388":"J D E F A B C"},E:{"1":"A B C K L G dB VB WB tB uB vB","2":"I b oB cB","260":"J D E F qB rB sB","388":"pB"},F:{"1":"0 1 2 3 4 5 6 7 8 9 i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB GB Q HB IB JB KB LB MB NB OB PB QB RB SB TB UB","2":"F B wB xB yB zB","260":"C G M N O c d e f g h VB eB 0B WB"},G:{"1":"8B 9B AC BC CC DC EC FC GC HC IC JC","2":"cB 1B fB 2B","260":"E 3B 4B 5B 6B 7B"},H:{"2":"KC"},I:{"1":"H QC","2":"LC MC NC","260":"PC","388":"XB I OC fB"},J:{"260":"A","388":"D"},K:{"1":"Q","2":"A B","260":"C VB eB WB"},L:{"1":"H"},M:{"1":"P"},N:{"2":"A","260":"B"},O:{"1":"RC"},P:{"1":"I SC TC UC VC WC dB XC YC ZC aC"},Q:{"1":"bC"},R:{"1":"cC"},S:{"1":"dC"}},B:5,C:"File API"}; diff --git a/tools/node_modules/@babel/core/node_modules/caniuse-lite/data/features/filereader.js b/tools/node_modules/@babel/core/node_modules/caniuse-lite/data/features/filereader.js new file mode 100644 index 00000000000000..342b5a344245ed --- /dev/null +++ b/tools/node_modules/@babel/core/node_modules/caniuse-lite/data/features/filereader.js @@ -0,0 +1 @@ +module.exports={A:{A:{"2":"J D E F gB","132":"A B"},B:{"1":"C K L G M N O R S T U V W X Y Z P a H"},C:{"1":"0 1 2 3 4 5 6 7 8 9 I b J D E F A B C K L G M N O c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB YB GB ZB Q HB IB JB KB LB MB NB OB PB QB RB SB TB UB aB bB R S T iB U V W X Y Z P a H kB","2":"hB XB jB"},D:{"1":"0 1 2 3 4 5 6 7 8 9 J D E F A B C K L G M N O c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB YB GB ZB Q HB IB JB KB LB MB NB OB PB QB RB SB TB UB aB bB R S T U V W X Y Z P a H lB mB nB","2":"I b"},E:{"1":"J D E F A B C K L G qB rB sB dB VB WB tB uB vB","2":"I b oB cB pB"},F:{"1":"0 1 2 3 4 5 6 7 8 9 C G M N O c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB GB Q HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB eB 0B WB","2":"F B wB xB yB zB"},G:{"1":"E 3B 4B 5B 6B 7B 8B 9B AC BC CC DC EC FC GC HC IC JC","2":"cB 1B fB 2B"},H:{"2":"KC"},I:{"1":"XB I H OC fB PC QC","2":"LC MC NC"},J:{"1":"A","2":"D"},K:{"1":"C Q VB eB WB","2":"A B"},L:{"1":"H"},M:{"1":"P"},N:{"1":"A B"},O:{"1":"RC"},P:{"1":"I SC TC UC VC WC dB XC YC ZC aC"},Q:{"1":"bC"},R:{"1":"cC"},S:{"1":"dC"}},B:5,C:"FileReader API"}; diff --git a/tools/node_modules/@babel/core/node_modules/caniuse-lite/data/features/filereadersync.js b/tools/node_modules/@babel/core/node_modules/caniuse-lite/data/features/filereadersync.js new file mode 100644 index 00000000000000..2f9bc30ce6e9fe --- /dev/null +++ b/tools/node_modules/@babel/core/node_modules/caniuse-lite/data/features/filereadersync.js @@ -0,0 +1 @@ +module.exports={A:{A:{"1":"A B","2":"J D E F gB"},B:{"1":"C K L G M N O R S T U V W X Y Z P a H"},C:{"1":"0 1 2 3 4 5 6 7 8 9 E F A B C K L G M N O c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB YB GB ZB Q HB IB JB KB LB MB NB OB PB QB RB SB TB UB aB bB R S T iB U V W X Y Z P a H","2":"hB XB I b J D jB kB"},D:{"1":"0 1 2 3 4 5 6 7 8 9 G M N O c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB YB GB ZB Q HB IB JB KB LB MB NB OB PB QB RB SB TB UB aB bB R S T U V W X Y Z P a H lB mB nB","16":"I b J D E F A B C K L"},E:{"1":"J D E F A B C K L G qB rB sB dB VB WB tB uB vB","2":"I b oB cB pB"},F:{"1":"0 1 2 3 4 5 6 7 8 9 C G M N O c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB GB Q HB IB JB KB LB MB NB OB PB QB RB SB TB UB 0B WB","2":"F wB xB","16":"B yB zB VB eB"},G:{"1":"E 3B 4B 5B 6B 7B 8B 9B AC BC CC DC EC FC GC HC IC JC","2":"cB 1B fB 2B"},H:{"2":"KC"},I:{"1":"H PC QC","2":"XB I LC MC NC OC fB"},J:{"1":"A","2":"D"},K:{"1":"C Q eB WB","2":"A","16":"B VB"},L:{"1":"H"},M:{"1":"P"},N:{"1":"A B"},O:{"1":"RC"},P:{"1":"I SC TC UC VC WC dB XC YC ZC aC"},Q:{"1":"bC"},R:{"1":"cC"},S:{"1":"dC"}},B:5,C:"FileReaderSync"}; diff --git a/tools/node_modules/@babel/core/node_modules/caniuse-lite/data/features/filesystem.js b/tools/node_modules/@babel/core/node_modules/caniuse-lite/data/features/filesystem.js new file mode 100644 index 00000000000000..a66e1e8e712564 --- /dev/null +++ b/tools/node_modules/@babel/core/node_modules/caniuse-lite/data/features/filesystem.js @@ -0,0 +1 @@ +module.exports={A:{A:{"2":"J D E F A B gB"},B:{"2":"C K L G M N O","33":"R S T U V W X Y Z P a H"},C:{"2":"0 1 2 3 4 5 6 7 8 9 hB XB I b J D E F A B C K L G M N O c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB YB GB ZB Q HB IB JB KB LB MB NB OB PB QB RB SB TB UB aB bB R S T iB U V W X Y Z P a H jB kB"},D:{"2":"I b J D","33":"0 1 2 3 4 5 6 7 8 9 K L G M N O c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB YB GB ZB Q HB IB JB KB LB MB NB OB PB QB RB SB TB UB aB bB R S T U V W X Y Z P a H lB mB nB","36":"E F A B C"},E:{"2":"I b J D E F A B C K L G oB cB pB qB rB sB dB VB WB tB uB vB"},F:{"2":"F B C wB xB yB zB VB eB 0B WB","33":"0 1 2 3 4 5 6 7 8 9 G M N O c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB GB Q HB IB JB KB LB MB NB OB PB QB RB SB TB UB"},G:{"2":"E cB 1B fB 2B 3B 4B 5B 6B 7B 8B 9B AC BC CC DC EC FC GC HC IC JC"},H:{"2":"KC"},I:{"2":"XB I H LC MC NC OC fB PC QC"},J:{"2":"D","33":"A"},K:{"2":"A B C VB eB WB","33":"Q"},L:{"33":"H"},M:{"2":"P"},N:{"2":"A B"},O:{"2":"RC"},P:{"2":"I","33":"SC TC UC VC WC dB XC YC ZC aC"},Q:{"2":"bC"},R:{"2":"cC"},S:{"2":"dC"}},B:7,C:"Filesystem & FileWriter API"}; diff --git a/tools/node_modules/@babel/core/node_modules/caniuse-lite/data/features/flac.js b/tools/node_modules/@babel/core/node_modules/caniuse-lite/data/features/flac.js new file mode 100644 index 00000000000000..02f957e9bf2608 --- /dev/null +++ b/tools/node_modules/@babel/core/node_modules/caniuse-lite/data/features/flac.js @@ -0,0 +1 @@ +module.exports={A:{A:{"2":"J D E F A B gB"},B:{"1":"M N O R S T U V W X Y Z P a H","2":"C K L G"},C:{"1":"8 9 AB BB CB DB EB FB YB GB ZB Q HB IB JB KB LB MB NB OB PB QB RB SB TB UB aB bB R S T iB U V W X Y Z P a H","2":"0 1 2 3 4 5 6 7 hB XB I b J D E F A B C K L G M N O c d e f g h i j k l m n o p q r s t u v w x y z jB kB"},D:{"1":"DB EB FB YB GB ZB Q HB IB JB KB LB MB NB OB PB QB RB SB TB UB aB bB R S T U V W X Y Z P a H lB mB nB","2":"0 I b J D E F A B C K L G M N O c d e f g h i j k l m n o p q r s t u v w x y z","16":"1 2 3","388":"4 5 6 7 8 9 AB BB CB"},E:{"1":"K L G tB uB vB","2":"I b J D E F A oB cB pB qB rB sB dB","516":"B C VB WB"},F:{"1":"0 1 2 3 4 5 6 7 8 9 z AB BB CB DB EB FB GB Q HB IB JB KB LB MB NB OB PB QB RB SB TB UB","2":"F B C G M N O c d e f g h i j k l m n o p q r s t u v w x y wB xB yB zB VB eB 0B WB"},G:{"1":"AC BC CC DC EC FC GC HC IC JC","2":"E cB 1B fB 2B 3B 4B 5B 6B 7B 8B 9B"},H:{"2":"KC"},I:{"1":"H","2":"LC MC NC","16":"XB I OC fB PC QC"},J:{"1":"A","2":"D"},K:{"1":"WB","16":"A B C VB eB","129":"Q"},L:{"1":"H"},M:{"1":"P"},N:{"2":"A B"},O:{"1":"RC"},P:{"1":"SC TC UC VC WC dB XC YC ZC aC","129":"I"},Q:{"1":"bC"},R:{"1":"cC"},S:{"2":"dC"}},B:6,C:"FLAC audio format"}; diff --git a/tools/node_modules/@babel/core/node_modules/caniuse-lite/data/features/flexbox-gap.js b/tools/node_modules/@babel/core/node_modules/caniuse-lite/data/features/flexbox-gap.js new file mode 100644 index 00000000000000..4c070fa846b920 --- /dev/null +++ b/tools/node_modules/@babel/core/node_modules/caniuse-lite/data/features/flexbox-gap.js @@ -0,0 +1 @@ +module.exports={A:{A:{"2":"J D E F A B gB"},B:{"1":"V W X Y Z P a H","2":"C K L G M N O R S T U"},C:{"1":"HB IB JB KB LB MB NB OB PB QB RB SB TB UB aB bB R S T iB U V W X Y Z P a H","2":"0 1 2 3 4 5 6 7 8 9 hB XB I b J D E F A B C K L G M N O c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB YB GB ZB Q jB kB"},D:{"1":"V W X Y Z P a H lB mB nB","2":"0 1 2 3 4 5 6 7 8 9 I b J D E F A B C K L G M N O c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB YB GB ZB Q HB IB JB KB LB MB NB OB PB QB RB SB TB UB aB bB R S T U"},E:{"1":"G uB vB","2":"I b J D E F A B C K L oB cB pB qB rB sB dB VB WB tB"},F:{"1":"RB SB TB UB","2":"0 1 2 3 4 5 6 7 8 9 F B C G M N O c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB GB Q HB IB JB KB LB MB NB OB PB QB wB xB yB zB VB eB 0B WB"},G:{"1":"JC","2":"E cB 1B fB 2B 3B 4B 5B 6B 7B 8B 9B AC BC CC DC EC FC GC HC IC"},H:{"2":"KC"},I:{"1":"H","2":"XB I LC MC NC OC fB PC QC"},J:{"2":"D A"},K:{"2":"A B C Q VB eB WB"},L:{"1":"H"},M:{"1":"P"},N:{"2":"A B"},O:{"2":"RC"},P:{"1":"aC","2":"I SC TC UC VC WC dB XC YC ZC"},Q:{"2":"bC"},R:{"2":"cC"},S:{"2":"dC"}},B:5,C:"gap property for Flexbox"}; diff --git a/tools/node_modules/@babel/core/node_modules/caniuse-lite/data/features/flexbox.js b/tools/node_modules/@babel/core/node_modules/caniuse-lite/data/features/flexbox.js new file mode 100644 index 00000000000000..c2664fc3a3c232 --- /dev/null +++ b/tools/node_modules/@babel/core/node_modules/caniuse-lite/data/features/flexbox.js @@ -0,0 +1 @@ +module.exports={A:{A:{"2":"J D E F gB","1028":"B","1316":"A"},B:{"1":"C K L G M N O R S T U V W X Y Z P a H"},C:{"1":"0 1 2 3 4 5 6 7 8 9 l m n o p q r s t u v w x y z AB BB CB DB EB FB YB GB ZB Q HB IB JB KB LB MB NB OB PB QB RB SB TB UB aB bB R S T iB U V W X Y Z P a H","164":"hB XB I b J D E F A B C K L G M N O c d e jB kB","516":"f g h i j k"},D:{"1":"0 1 2 3 4 5 6 7 8 9 m n o p q r s t u v w x y z AB BB CB DB EB FB YB GB ZB Q HB IB JB KB LB MB NB OB PB QB RB SB TB UB aB bB R S T U V W X Y Z P a H lB mB nB","33":"e f g h i j k l","164":"I b J D E F A B C K L G M N O c d"},E:{"1":"F A B C K L G sB dB VB WB tB uB vB","33":"D E qB rB","164":"I b J oB cB pB"},F:{"1":"0 1 2 3 4 5 6 7 8 9 N O c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB GB Q HB IB JB KB LB MB NB OB PB QB RB SB TB UB WB","2":"F B C wB xB yB zB VB eB 0B","33":"G M"},G:{"1":"6B 7B 8B 9B AC BC CC DC EC FC GC HC IC JC","33":"E 4B 5B","164":"cB 1B fB 2B 3B"},H:{"1":"KC"},I:{"1":"H PC QC","164":"XB I LC MC NC OC fB"},J:{"1":"A","164":"D"},K:{"1":"Q WB","2":"A B C VB eB"},L:{"1":"H"},M:{"1":"P"},N:{"1":"B","292":"A"},O:{"1":"RC"},P:{"1":"I SC TC UC VC WC dB XC YC ZC aC"},Q:{"1":"bC"},R:{"1":"cC"},S:{"1":"dC"}},B:4,C:"CSS Flexible Box Layout Module"}; diff --git a/tools/node_modules/@babel/core/node_modules/caniuse-lite/data/features/flow-root.js b/tools/node_modules/@babel/core/node_modules/caniuse-lite/data/features/flow-root.js new file mode 100644 index 00000000000000..36e94694041a54 --- /dev/null +++ b/tools/node_modules/@babel/core/node_modules/caniuse-lite/data/features/flow-root.js @@ -0,0 +1 @@ +module.exports={A:{A:{"2":"J D E F A B gB"},B:{"1":"R S T U V W X Y Z P a H","2":"C K L G M N O"},C:{"1":"AB BB CB DB EB FB YB GB ZB Q HB IB JB KB LB MB NB OB PB QB RB SB TB UB aB bB R S T iB U V W X Y Z P a H","2":"0 1 2 3 4 5 6 7 8 9 hB XB I b J D E F A B C K L G M N O c d e f g h i j k l m n o p q r s t u v w x y z jB kB"},D:{"1":"FB YB GB ZB Q HB IB JB KB LB MB NB OB PB QB RB SB TB UB aB bB R S T U V W X Y Z P a H lB mB nB","2":"0 1 2 3 4 5 6 7 8 9 I b J D E F A B C K L G M N O c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB"},E:{"1":"K L G tB uB vB","2":"I b J D E F A B C oB cB pB qB rB sB dB VB WB"},F:{"1":"2 3 4 5 6 7 8 9 AB BB CB DB EB FB GB Q HB IB JB KB LB MB NB OB PB QB RB SB TB UB","2":"0 1 F B C G M N O c d e f g h i j k l m n o p q r s t u v w x y z wB xB yB zB VB eB 0B WB"},G:{"1":"EC FC GC HC IC JC","2":"E cB 1B fB 2B 3B 4B 5B 6B 7B 8B 9B AC BC CC DC"},H:{"2":"KC"},I:{"1":"H","2":"XB I LC MC NC OC fB PC QC"},J:{"2":"D A"},K:{"1":"Q","2":"A B C VB eB WB"},L:{"1":"H"},M:{"1":"P"},N:{"2":"A B"},O:{"2":"RC"},P:{"1":"UC VC WC dB XC YC ZC aC","2":"I SC TC"},Q:{"1":"bC"},R:{"2":"cC"},S:{"2":"dC"}},B:5,C:"display: flow-root"}; diff --git a/tools/node_modules/@babel/core/node_modules/caniuse-lite/data/features/focusin-focusout-events.js b/tools/node_modules/@babel/core/node_modules/caniuse-lite/data/features/focusin-focusout-events.js new file mode 100644 index 00000000000000..c98fb3cbf2694f --- /dev/null +++ b/tools/node_modules/@babel/core/node_modules/caniuse-lite/data/features/focusin-focusout-events.js @@ -0,0 +1 @@ +module.exports={A:{A:{"1":"J D E F A B","2":"gB"},B:{"1":"C K L G M N O R S T U V W X Y Z P a H"},C:{"1":"9 AB BB CB DB EB FB YB GB ZB Q HB IB JB KB LB MB NB OB PB QB RB SB TB UB aB bB R S T iB U V W X Y Z P a H","2":"0 1 2 3 4 5 6 7 8 hB XB I b J D E F A B C K L G M N O c d e f g h i j k l m n o p q r s t u v w x y z jB kB"},D:{"1":"0 1 2 3 4 5 6 7 8 9 G M N O c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB YB GB ZB Q HB IB JB KB LB MB NB OB PB QB RB SB TB UB aB bB R S T U V W X Y Z P a H lB mB nB","16":"I b J D E F A B C K L"},E:{"1":"J D E F A B C K L G pB qB rB sB dB VB WB tB uB vB","16":"I b oB cB"},F:{"1":"0 1 2 3 4 5 6 7 8 9 C G M N O c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB GB Q HB IB JB KB LB MB NB OB PB QB RB SB TB UB 0B WB","2":"F wB xB yB zB","16":"B VB eB"},G:{"1":"E 2B 3B 4B 5B 6B 7B 8B 9B AC BC CC DC EC FC GC HC IC JC","2":"cB 1B fB"},H:{"2":"KC"},I:{"1":"I H OC fB PC QC","2":"LC MC NC","16":"XB"},J:{"1":"D A"},K:{"1":"C Q WB","2":"A","16":"B VB eB"},L:{"1":"H"},M:{"1":"P"},N:{"1":"A B"},O:{"1":"RC"},P:{"1":"I SC TC UC VC WC dB XC YC ZC aC"},Q:{"1":"bC"},R:{"1":"cC"},S:{"2":"dC"}},B:5,C:"focusin & focusout events"}; diff --git a/tools/node_modules/@babel/core/node_modules/caniuse-lite/data/features/focusoptions-preventscroll.js b/tools/node_modules/@babel/core/node_modules/caniuse-lite/data/features/focusoptions-preventscroll.js new file mode 100644 index 00000000000000..7f34497774586c --- /dev/null +++ b/tools/node_modules/@babel/core/node_modules/caniuse-lite/data/features/focusoptions-preventscroll.js @@ -0,0 +1 @@ +module.exports={A:{A:{"2":"J D E F A B gB"},B:{"1":"R S T U V W X Y Z P a H","2":"C K L G M","132":"N O"},C:{"2":"0 1 2 3 4 5 6 7 8 9 hB XB I b J D E F A B C K L G M N O c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB YB GB ZB Q HB IB JB KB LB MB NB OB PB QB RB SB TB UB aB bB R S T iB U V W X Y Z P a H jB kB"},D:{"1":"IB JB KB LB MB NB OB PB QB RB SB TB UB aB bB R S T U V W X Y Z P a H lB mB nB","2":"0 1 2 3 4 5 6 7 8 9 I b J D E F A B C K L G M N O c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB YB GB ZB Q HB"},E:{"2":"I b J D E F A B C K L G oB cB pB qB rB sB dB VB WB tB uB vB"},F:{"1":"8 9 AB BB CB DB EB FB GB Q HB IB JB KB LB MB NB OB PB QB RB SB TB UB","2":"0 1 2 3 4 5 6 7 F B C G M N O c d e f g h i j k l m n o p q r s t u v w x y z wB xB yB zB VB eB 0B WB"},G:{"2":"E cB 1B fB 2B 3B 4B 5B 6B 7B 8B 9B AC BC CC DC EC FC GC HC IC JC"},H:{"2":"KC"},I:{"2":"XB I H LC MC NC OC fB PC QC"},J:{"2":"D A"},K:{"2":"A B C Q VB eB WB"},L:{"2":"H"},M:{"2":"P"},N:{"2":"A B"},O:{"2":"RC"},P:{"2":"I SC TC UC VC WC dB XC YC ZC aC"},Q:{"2":"bC"},R:{"2":"cC"},S:{"2":"dC"}},B:1,C:"preventScroll support in focus"}; diff --git a/tools/node_modules/@babel/core/node_modules/caniuse-lite/data/features/font-family-system-ui.js b/tools/node_modules/@babel/core/node_modules/caniuse-lite/data/features/font-family-system-ui.js new file mode 100644 index 00000000000000..faa946ede3d0dd --- /dev/null +++ b/tools/node_modules/@babel/core/node_modules/caniuse-lite/data/features/font-family-system-ui.js @@ -0,0 +1 @@ +module.exports={A:{A:{"2":"J D E F A B gB"},B:{"1":"R S T U V W X Y Z P a H","2":"C K L G M N O"},C:{"2":"hB XB I b J D E F A B C K L G M N O c d e f g h i j k l m n o p q r s t u v w x y z jB kB","132":"0 1 2 3 4 5 6 7 8 9 AB BB CB DB EB FB YB GB ZB Q HB IB JB KB LB MB NB OB PB QB RB SB TB UB aB bB R S T iB U V W X Y Z P a H"},D:{"1":"DB EB FB YB GB ZB Q HB IB JB KB LB MB NB OB PB QB RB SB TB UB aB bB R S T U V W X Y Z P a H lB mB nB","2":"0 1 2 3 4 5 6 7 8 9 I b J D E F A B C K L G M N O c d e f g h i j k l m n o p q r s t u v w x y z","260":"AB BB CB"},E:{"1":"B C K L G VB WB tB uB vB","2":"I b J D E oB cB pB qB rB","16":"F","132":"A sB dB"},F:{"1":"0 1 2 3 4 5 6 7 8 9 AB BB CB DB EB FB GB Q HB IB JB KB LB MB NB OB PB QB RB SB TB UB","2":"F B C G M N O c d e f g h i j k l m n o p q r s t u v w x y z wB xB yB zB VB eB 0B WB"},G:{"1":"AC BC CC DC EC FC GC HC IC JC","2":"E cB 1B fB 2B 3B 4B 5B","132":"6B 7B 8B 9B"},H:{"2":"KC"},I:{"1":"H","2":"XB I LC MC NC OC fB PC QC"},J:{"2":"D A"},K:{"1":"Q","2":"A B C VB eB WB"},L:{"1":"H"},M:{"2":"P"},N:{"2":"A B"},O:{"1":"RC"},P:{"1":"TC UC VC WC dB XC YC ZC aC","2":"I SC"},Q:{"1":"bC"},R:{"2":"cC"},S:{"132":"dC"}},B:5,C:"system-ui value for font-family"}; diff --git a/tools/node_modules/@babel/core/node_modules/caniuse-lite/data/features/font-feature.js b/tools/node_modules/@babel/core/node_modules/caniuse-lite/data/features/font-feature.js new file mode 100644 index 00000000000000..003c51326cd73b --- /dev/null +++ b/tools/node_modules/@babel/core/node_modules/caniuse-lite/data/features/font-feature.js @@ -0,0 +1 @@ +module.exports={A:{A:{"1":"A B","2":"J D E F gB"},B:{"1":"C K L G M N O R S T U V W X Y Z P a H"},C:{"1":"0 1 2 3 4 5 6 7 8 9 r s t u v w x y z AB BB CB DB EB FB YB GB ZB Q HB IB JB KB LB MB NB OB PB QB RB SB TB UB aB bB R S T iB U V W X Y Z P a H","2":"hB XB jB kB","33":"G M N O c d e f g h i j k l m n o p q","164":"I b J D E F A B C K L"},D:{"1":"5 6 7 8 9 AB BB CB DB EB FB YB GB ZB Q HB IB JB KB LB MB NB OB PB QB RB SB TB UB aB bB R S T U V W X Y Z P a H lB mB nB","2":"I b J D E F A B C K L G","33":"0 1 2 3 4 e f g h i j k l m n o p q r s t u v w x y z","292":"M N O c d"},E:{"1":"A B C K L G sB dB VB WB tB uB vB","2":"D E F oB cB qB rB","4":"I b J pB"},F:{"1":"0 1 2 3 4 5 6 7 8 9 s t u v w x y z AB BB CB DB EB FB GB Q HB IB JB KB LB MB NB OB PB QB RB SB TB UB","2":"F B C wB xB yB zB VB eB 0B WB","33":"G M N O c d e f g h i j k l m n o p q r"},G:{"1":"7B 8B 9B AC BC CC DC EC FC GC HC IC JC","2":"E 4B 5B 6B","4":"cB 1B fB 2B 3B"},H:{"2":"KC"},I:{"1":"H","2":"XB I LC MC NC OC fB","33":"PC QC"},J:{"2":"D","33":"A"},K:{"1":"Q","2":"A B C VB eB WB"},L:{"1":"H"},M:{"1":"P"},N:{"2":"A B"},O:{"1":"RC"},P:{"1":"SC TC UC VC WC dB XC YC ZC aC","33":"I"},Q:{"1":"bC"},R:{"1":"cC"},S:{"1":"dC"}},B:4,C:"CSS font-feature-settings"}; diff --git a/tools/node_modules/@babel/core/node_modules/caniuse-lite/data/features/font-kerning.js b/tools/node_modules/@babel/core/node_modules/caniuse-lite/data/features/font-kerning.js new file mode 100644 index 00000000000000..3cd2226c336c0b --- /dev/null +++ b/tools/node_modules/@babel/core/node_modules/caniuse-lite/data/features/font-kerning.js @@ -0,0 +1 @@ +module.exports={A:{A:{"2":"J D E F A B gB"},B:{"1":"R S T U V W X Y Z P a H","2":"C K L G M N O"},C:{"1":"0 1 2 3 4 5 6 7 8 9 r s t u v w x y z AB BB CB DB EB FB YB GB ZB Q HB IB JB KB LB MB NB OB PB QB RB SB TB UB aB bB R S T iB U V W X Y Z P a H","2":"hB XB I b J D E F A B C K L G M N O c d e f g jB kB","194":"h i j k l m n o p q"},D:{"1":"0 1 2 3 4 5 6 7 8 9 q r s t u v w x y z AB BB CB DB EB FB YB GB ZB Q HB IB JB KB LB MB NB OB PB QB RB SB TB UB aB bB R S T U V W X Y Z P a H lB mB nB","2":"I b J D E F A B C K L G M N O c d e f g h i j k l","33":"m n o p"},E:{"1":"A B C K L G sB dB VB WB tB uB vB","2":"I b J oB cB pB qB","33":"D E F rB"},F:{"1":"0 1 2 3 4 5 6 7 8 9 d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB GB Q HB IB JB KB LB MB NB OB PB QB RB SB TB UB","2":"F B C G wB xB yB zB VB eB 0B WB","33":"M N O c"},G:{"1":"CC DC EC FC GC HC IC JC","2":"cB 1B fB 2B 3B 4B","33":"E 5B 6B 7B 8B 9B AC BC"},H:{"2":"KC"},I:{"1":"H QC","2":"XB I LC MC NC OC fB","33":"PC"},J:{"2":"D","33":"A"},K:{"1":"Q","2":"A B C VB eB WB"},L:{"1":"H"},M:{"1":"P"},N:{"2":"A B"},O:{"1":"RC"},P:{"1":"I SC TC UC VC WC dB XC YC ZC aC"},Q:{"1":"bC"},R:{"1":"cC"},S:{"1":"dC"}},B:4,C:"CSS3 font-kerning"}; diff --git a/tools/node_modules/@babel/core/node_modules/caniuse-lite/data/features/font-loading.js b/tools/node_modules/@babel/core/node_modules/caniuse-lite/data/features/font-loading.js new file mode 100644 index 00000000000000..4bdd175f0f4b79 --- /dev/null +++ b/tools/node_modules/@babel/core/node_modules/caniuse-lite/data/features/font-loading.js @@ -0,0 +1 @@ +module.exports={A:{A:{"2":"J D E F A B gB"},B:{"1":"R S T U V W X Y Z P a H","2":"C K L G M N O"},C:{"1":"0 1 2 3 4 5 6 7 8 9 y z AB BB CB DB EB FB YB GB ZB Q HB IB JB KB LB MB NB OB PB QB RB SB TB UB aB bB R S T iB U V W X Y Z P a H","2":"hB XB I b J D E F A B C K L G M N O c d e f g h i j k l m n o p q r jB kB","194":"s t u v w x"},D:{"1":"0 1 2 3 4 5 6 7 8 9 s t u v w x y z AB BB CB DB EB FB YB GB ZB Q HB IB JB KB LB MB NB OB PB QB RB SB TB UB aB bB R S T U V W X Y Z P a H lB mB nB","2":"I b J D E F A B C K L G M N O c d e f g h i j k l m n o p q r"},E:{"1":"A B C K L G dB VB WB tB uB vB","2":"I b J D E F oB cB pB qB rB sB"},F:{"1":"0 1 2 3 4 5 6 7 8 9 f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB GB Q HB IB JB KB LB MB NB OB PB QB RB SB TB UB","2":"F B C G M N O c d e wB xB yB zB VB eB 0B WB"},G:{"1":"8B 9B AC BC CC DC EC FC GC HC IC JC","2":"E cB 1B fB 2B 3B 4B 5B 6B 7B"},H:{"2":"KC"},I:{"1":"H","2":"XB I LC MC NC OC fB PC QC"},J:{"2":"D A"},K:{"1":"Q","2":"A B C VB eB WB"},L:{"1":"H"},M:{"1":"P"},N:{"2":"A B"},O:{"1":"RC"},P:{"1":"I SC TC UC VC WC dB XC YC ZC aC"},Q:{"1":"bC"},R:{"1":"cC"},S:{"1":"dC"}},B:5,C:"CSS Font Loading"}; diff --git a/tools/node_modules/@babel/core/node_modules/caniuse-lite/data/features/font-metrics-overrides.js b/tools/node_modules/@babel/core/node_modules/caniuse-lite/data/features/font-metrics-overrides.js new file mode 100644 index 00000000000000..5d0f8c6e7e449e --- /dev/null +++ b/tools/node_modules/@babel/core/node_modules/caniuse-lite/data/features/font-metrics-overrides.js @@ -0,0 +1 @@ +module.exports={A:{A:{"2":"J D E F A B gB"},B:{"2":"C K L G M N O R S T U V W X Y Z P a H"},C:{"2":"0 1 2 3 4 5 6 7 8 9 hB XB I b J D E F A B C K L G M N O c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB YB GB ZB Q HB IB JB KB LB MB NB OB PB QB RB SB TB UB aB bB R S T iB U V W X Y Z P a H jB kB"},D:{"1":"Y Z P a H lB mB nB","2":"0 1 2 3 4 5 6 7 8 9 I b J D E F A B C K L G M N O c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB YB GB ZB Q HB IB JB KB LB MB NB OB PB QB RB SB TB UB aB bB R S T U V W","194":"X"},E:{"2":"I b J D E F A B C K L G oB cB pB qB rB sB dB VB WB tB uB vB"},F:{"2":"0 1 2 3 4 5 6 7 8 9 F B C G M N O c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB GB Q HB IB JB KB LB MB NB OB PB QB RB SB TB UB wB xB yB zB VB eB 0B WB"},G:{"2":"E cB 1B fB 2B 3B 4B 5B 6B 7B 8B 9B AC BC CC DC EC FC GC HC IC JC"},H:{"2":"KC"},I:{"2":"XB I H LC MC NC OC fB PC QC"},J:{"2":"D A"},K:{"2":"A B C Q VB eB WB"},L:{"2":"H"},M:{"2":"P"},N:{"2":"A B"},O:{"2":"RC"},P:{"2":"I SC TC UC VC WC dB XC YC ZC aC"},Q:{"2":"bC"},R:{"2":"cC"},S:{"2":"dC"}},B:7,C:"@font-face metrics overrides"}; diff --git a/tools/node_modules/@babel/core/node_modules/caniuse-lite/data/features/font-size-adjust.js b/tools/node_modules/@babel/core/node_modules/caniuse-lite/data/features/font-size-adjust.js new file mode 100644 index 00000000000000..53f16f1aba1a5c --- /dev/null +++ b/tools/node_modules/@babel/core/node_modules/caniuse-lite/data/features/font-size-adjust.js @@ -0,0 +1 @@ +module.exports={A:{A:{"2":"J D E F A B gB"},B:{"2":"C K L G M N O","194":"R S T U V W X Y Z P a H"},C:{"1":"0 1 2 3 4 5 6 7 8 9 XB I b J D E F A B C K L G M N O c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB YB GB ZB Q HB IB JB KB LB MB NB OB PB QB RB SB TB UB aB bB R S T iB U V W X Y Z P a H jB kB","2":"hB"},D:{"2":"I b J D E F A B C K L G M N O c d e f g h i j k l m n o p q r s t u v w x y z","194":"0 1 2 3 4 5 6 7 8 9 AB BB CB DB EB FB YB GB ZB Q HB IB JB KB LB MB NB OB PB QB RB SB TB UB aB bB R S T U V W X Y Z P a H lB mB nB"},E:{"2":"I b J D E F A B C K L G oB cB pB qB rB sB dB VB WB tB uB vB"},F:{"2":"F B C G M N O c d e f g h i j k l m wB xB yB zB VB eB 0B WB","194":"0 1 2 3 4 5 6 7 8 9 n o p q r s t u v w x y z AB BB CB DB EB FB GB Q HB IB JB KB LB MB NB OB PB QB RB SB TB UB"},G:{"2":"E cB 1B fB 2B 3B 4B 5B 6B 7B 8B 9B AC BC CC DC EC FC GC HC IC JC"},H:{"2":"KC"},I:{"2":"XB I H LC MC NC OC fB PC QC"},J:{"2":"D A"},K:{"2":"A B C Q VB eB WB"},L:{"2":"H"},M:{"258":"P"},N:{"2":"A B"},O:{"2":"RC"},P:{"2":"I SC TC UC VC WC dB XC YC ZC aC"},Q:{"194":"bC"},R:{"2":"cC"},S:{"2":"dC"}},B:4,C:"CSS font-size-adjust"}; diff --git a/tools/node_modules/@babel/core/node_modules/caniuse-lite/data/features/font-smooth.js b/tools/node_modules/@babel/core/node_modules/caniuse-lite/data/features/font-smooth.js new file mode 100644 index 00000000000000..f5df92faa3bed5 --- /dev/null +++ b/tools/node_modules/@babel/core/node_modules/caniuse-lite/data/features/font-smooth.js @@ -0,0 +1 @@ +module.exports={A:{A:{"2":"J D E F A B gB"},B:{"2":"C K L G M N O","676":"R S T U V W X Y Z P a H"},C:{"2":"hB XB I b J D E F A B C K L G M N O c d e f g h jB kB","804":"0 1 2 3 4 5 6 7 8 9 i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB YB GB ZB Q HB IB JB KB LB MB NB OB PB QB RB SB TB UB aB bB R S T iB U V W X Y Z P a H"},D:{"2":"I","676":"0 1 2 3 4 5 6 7 8 9 b J D E F A B C K L G M N O c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB YB GB ZB Q HB IB JB KB LB MB NB OB PB QB RB SB TB UB aB bB R S T U V W X Y Z P a H lB mB nB"},E:{"2":"oB cB","676":"I b J D E F A B C K L G pB qB rB sB dB VB WB tB uB vB"},F:{"2":"F B C wB xB yB zB VB eB 0B WB","676":"0 1 2 3 4 5 6 7 8 9 G M N O c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB GB Q HB IB JB KB LB MB NB OB PB QB RB SB TB UB"},G:{"2":"E cB 1B fB 2B 3B 4B 5B 6B 7B 8B 9B AC BC CC DC EC FC GC HC IC JC"},H:{"2":"KC"},I:{"2":"XB I H LC MC NC OC fB PC QC"},J:{"2":"D A"},K:{"2":"A B C Q VB eB WB"},L:{"2":"H"},M:{"2":"P"},N:{"2":"A B"},O:{"2":"RC"},P:{"2":"I SC TC UC VC WC dB XC YC ZC aC"},Q:{"2":"bC"},R:{"2":"cC"},S:{"804":"dC"}},B:7,C:"CSS font-smooth"}; diff --git a/tools/node_modules/@babel/core/node_modules/caniuse-lite/data/features/font-unicode-range.js b/tools/node_modules/@babel/core/node_modules/caniuse-lite/data/features/font-unicode-range.js new file mode 100644 index 00000000000000..e588acb79178de --- /dev/null +++ b/tools/node_modules/@babel/core/node_modules/caniuse-lite/data/features/font-unicode-range.js @@ -0,0 +1 @@ +module.exports={A:{A:{"2":"J D E gB","4":"F A B"},B:{"1":"N O R S T U V W X Y Z P a H","4":"C K L G M"},C:{"1":"1 2 3 4 5 6 7 8 9 AB BB CB DB EB FB YB GB ZB Q HB IB JB KB LB MB NB OB PB QB RB SB TB UB aB bB R S T iB U V W X Y Z P a H","2":"hB XB I b J D E F A B C K L G M N O c d e f g h i j k l m n o p q r s jB kB","194":"0 t u v w x y z"},D:{"1":"0 1 2 3 4 5 6 7 8 9 t u v w x y z AB BB CB DB EB FB YB GB ZB Q HB IB JB KB LB MB NB OB PB QB RB SB TB UB aB bB R S T U V W X Y Z P a H lB mB nB","4":"I b J D E F A B C K L G M N O c d e f g h i j k l m n o p q r s"},E:{"1":"A B C K L G dB VB WB tB uB vB","4":"I b J D E F oB cB pB qB rB sB"},F:{"1":"0 1 2 3 4 5 6 7 8 9 g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB GB Q HB IB JB KB LB MB NB OB PB QB RB SB TB UB","2":"F B C wB xB yB zB VB eB 0B WB","4":"G M N O c d e f"},G:{"1":"8B 9B AC BC CC DC EC FC GC HC IC JC","4":"E cB 1B fB 2B 3B 4B 5B 6B 7B"},H:{"2":"KC"},I:{"1":"H","4":"XB I LC MC NC OC fB PC QC"},J:{"2":"D","4":"A"},K:{"2":"A B C VB eB WB","4":"Q"},L:{"1":"H"},M:{"1":"P"},N:{"4":"A B"},O:{"1":"RC"},P:{"1":"SC TC UC VC WC dB XC YC ZC aC","4":"I"},Q:{"1":"bC"},R:{"2":"cC"},S:{"1":"dC"}},B:4,C:"Font unicode-range subsetting"}; diff --git a/tools/node_modules/@babel/core/node_modules/caniuse-lite/data/features/font-variant-alternates.js b/tools/node_modules/@babel/core/node_modules/caniuse-lite/data/features/font-variant-alternates.js new file mode 100644 index 00000000000000..d1164ceea401c5 --- /dev/null +++ b/tools/node_modules/@babel/core/node_modules/caniuse-lite/data/features/font-variant-alternates.js @@ -0,0 +1 @@ +module.exports={A:{A:{"2":"J D E F gB","130":"A B"},B:{"130":"C K L G M N O R S T U V W X Y Z P a H"},C:{"1":"0 1 2 3 4 5 6 7 8 9 r s t u v w x y z AB BB CB DB EB FB YB GB ZB Q HB IB JB KB LB MB NB OB PB QB RB SB TB UB aB bB R S T iB U V W X Y Z P a H","2":"hB XB jB kB","130":"I b J D E F A B C K L G M N O c d e f g","322":"h i j k l m n o p q"},D:{"2":"I b J D E F A B C K L G","130":"0 1 2 3 4 5 6 7 8 9 M N O c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB YB GB ZB Q HB IB JB KB LB MB NB OB PB QB RB SB TB UB aB bB R S T U V W X Y Z P a H lB mB nB"},E:{"1":"A B C K L G sB dB VB WB tB uB vB","2":"D E F oB cB qB rB","130":"I b J pB"},F:{"2":"F B C wB xB yB zB VB eB 0B WB","130":"0 1 2 3 4 5 6 7 8 9 G M N O c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB GB Q HB IB JB KB LB MB NB OB PB QB RB SB TB UB"},G:{"1":"7B 8B 9B AC BC CC DC EC FC GC HC IC JC","2":"E cB 4B 5B 6B","130":"1B fB 2B 3B"},H:{"2":"KC"},I:{"2":"XB I LC MC NC OC fB","130":"H PC QC"},J:{"2":"D","130":"A"},K:{"2":"A B C VB eB WB","130":"Q"},L:{"130":"H"},M:{"1":"P"},N:{"2":"A B"},O:{"130":"RC"},P:{"130":"I SC TC UC VC WC dB XC YC ZC aC"},Q:{"130":"bC"},R:{"130":"cC"},S:{"1":"dC"}},B:5,C:"CSS font-variant-alternates"}; diff --git a/tools/node_modules/@babel/core/node_modules/caniuse-lite/data/features/font-variant-east-asian.js b/tools/node_modules/@babel/core/node_modules/caniuse-lite/data/features/font-variant-east-asian.js new file mode 100644 index 00000000000000..1109f0a92efd7a --- /dev/null +++ b/tools/node_modules/@babel/core/node_modules/caniuse-lite/data/features/font-variant-east-asian.js @@ -0,0 +1 @@ +module.exports={A:{A:{"2":"J D E F A B gB"},B:{"1":"R S T U V W X Y Z P a H","2":"C K L G M N O"},C:{"1":"0 1 2 3 4 5 6 7 8 9 r s t u v w x y z AB BB CB DB EB FB YB GB ZB Q HB IB JB KB LB MB NB OB PB QB RB SB TB UB aB bB R S T iB U V W X Y Z P a H","2":"hB XB I b J D E F A B C K L G M N O c d e f g jB kB","132":"h i j k l m n o p q"},D:{"1":"HB IB JB KB LB MB NB OB PB QB RB SB TB UB aB bB R S T U V W X Y Z P a H lB mB nB","2":"0 1 2 3 4 5 6 7 8 9 I b J D E F A B C K L G M N O c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB YB GB ZB Q"},E:{"2":"I b J D E F A B C K L G oB cB pB qB rB sB dB VB WB tB uB vB"},F:{"1":"7 8 9 AB BB CB DB EB FB GB Q HB IB JB KB LB MB NB OB PB QB RB SB TB UB","2":"0 1 2 3 4 5 6 F B C G M N O c d e f g h i j k l m n o p q r s t u v w x y z wB xB yB zB VB eB 0B WB"},G:{"2":"E 1B fB 2B 3B 4B 5B 6B 7B 8B 9B AC BC CC DC EC FC GC HC IC JC","16":"cB"},H:{"2":"KC"},I:{"2":"XB I H LC MC NC OC fB PC QC"},J:{"2":"D A"},K:{"2":"A B C Q VB eB WB"},L:{"2":"H"},M:{"132":"P"},N:{"2":"A B"},O:{"2":"RC"},P:{"2":"I SC TC UC VC WC dB XC YC ZC aC"},Q:{"2":"bC"},R:{"2":"cC"},S:{"1":"dC"}},B:4,C:"CSS font-variant-east-asian "}; diff --git a/tools/node_modules/@babel/core/node_modules/caniuse-lite/data/features/font-variant-numeric.js b/tools/node_modules/@babel/core/node_modules/caniuse-lite/data/features/font-variant-numeric.js new file mode 100644 index 00000000000000..83fbd969747433 --- /dev/null +++ b/tools/node_modules/@babel/core/node_modules/caniuse-lite/data/features/font-variant-numeric.js @@ -0,0 +1 @@ +module.exports={A:{A:{"2":"J D E F A B gB"},B:{"1":"R S T U V W X Y Z P a H","2":"C K L G M N O"},C:{"1":"0 1 2 3 4 5 6 7 8 9 r s t u v w x y z AB BB CB DB EB FB YB GB ZB Q HB IB JB KB LB MB NB OB PB QB RB SB TB UB aB bB R S T iB U V W X Y Z P a H","2":"hB XB I b J D E F A B C K L G M N O c d e f g h i j k l m n o p q jB kB"},D:{"1":"9 AB BB CB DB EB FB YB GB ZB Q HB IB JB KB LB MB NB OB PB QB RB SB TB UB aB bB R S T U V W X Y Z P a H lB mB nB","2":"0 1 2 3 4 5 6 7 8 I b J D E F A B C K L G M N O c d e f g h i j k l m n o p q r s t u v w x y z"},E:{"1":"A B C K L G sB dB VB WB tB uB vB","2":"I b J D E F oB cB pB qB rB"},F:{"1":"0 1 2 3 4 5 6 7 8 9 w x y z AB BB CB DB EB FB GB Q HB IB JB KB LB MB NB OB PB QB RB SB TB UB","2":"F B C G M N O c d e f g h i j k l m n o p q r s t u v wB xB yB zB VB eB 0B WB"},G:{"1":"7B 8B 9B AC BC CC DC EC FC GC HC IC JC","2":"E cB 1B fB 2B 3B 4B 5B 6B"},H:{"2":"KC"},I:{"1":"H","2":"XB I LC MC NC OC fB PC QC"},J:{"2":"D","16":"A"},K:{"1":"Q","2":"A B C VB eB WB"},L:{"1":"H"},M:{"1":"P"},N:{"2":"A B"},O:{"1":"RC"},P:{"1":"TC UC VC WC dB XC YC ZC aC","2":"I SC"},Q:{"1":"bC"},R:{"2":"cC"},S:{"1":"dC"}},B:2,C:"CSS font-variant-numeric"}; diff --git a/tools/node_modules/@babel/core/node_modules/caniuse-lite/data/features/fontface.js b/tools/node_modules/@babel/core/node_modules/caniuse-lite/data/features/fontface.js new file mode 100644 index 00000000000000..43fb1098176b71 --- /dev/null +++ b/tools/node_modules/@babel/core/node_modules/caniuse-lite/data/features/fontface.js @@ -0,0 +1 @@ +module.exports={A:{A:{"1":"F A B","132":"J D E gB"},B:{"1":"C K L G M N O R S T U V W X Y Z P a H"},C:{"1":"0 1 2 3 4 5 6 7 8 9 I b J D E F A B C K L G M N O c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB YB GB ZB Q HB IB JB KB LB MB NB OB PB QB RB SB TB UB aB bB R S T iB U V W X Y Z P a H jB kB","2":"hB XB"},D:{"1":"0 1 2 3 4 5 6 7 8 9 I b J D E F A B C K L G M N O c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB YB GB ZB Q HB IB JB KB LB MB NB OB PB QB RB SB TB UB aB bB R S T U V W X Y Z P a H lB mB nB"},E:{"1":"I b J D E F A B C K L G cB pB qB rB sB dB VB WB tB uB vB","2":"oB"},F:{"1":"0 1 2 3 4 5 6 7 8 9 B C G M N O c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB GB Q HB IB JB KB LB MB NB OB PB QB RB SB TB UB xB yB zB VB eB 0B WB","2":"F wB"},G:{"1":"E fB 2B 3B 4B 5B 6B 7B 8B 9B AC BC CC DC EC FC GC HC IC JC","260":"cB 1B"},H:{"2":"KC"},I:{"1":"I H OC fB PC QC","2":"LC","4":"XB MC NC"},J:{"1":"A","4":"D"},K:{"1":"A B C Q VB eB WB"},L:{"1":"H"},M:{"1":"P"},N:{"1":"A B"},O:{"1":"RC"},P:{"1":"I SC TC UC VC WC dB XC YC ZC aC"},Q:{"1":"bC"},R:{"1":"cC"},S:{"1":"dC"}},B:4,C:"@font-face Web fonts"}; diff --git a/tools/node_modules/@babel/core/node_modules/caniuse-lite/data/features/form-attribute.js b/tools/node_modules/@babel/core/node_modules/caniuse-lite/data/features/form-attribute.js new file mode 100644 index 00000000000000..a67ac783da0269 --- /dev/null +++ b/tools/node_modules/@babel/core/node_modules/caniuse-lite/data/features/form-attribute.js @@ -0,0 +1 @@ +module.exports={A:{A:{"2":"J D E F A B gB"},B:{"1":"M N O R S T U V W X Y Z P a H","2":"C K L G"},C:{"1":"0 1 2 3 4 5 6 7 8 9 I b J D E F A B C K L G M N O c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB YB GB ZB Q HB IB JB KB LB MB NB OB PB QB RB SB TB UB aB bB R S T iB U V W X Y Z P a H","2":"hB XB jB kB"},D:{"1":"0 1 2 3 4 5 6 7 8 9 A B C K L G M N O c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB YB GB ZB Q HB IB JB KB LB MB NB OB PB QB RB SB TB UB aB bB R S T U V W X Y Z P a H lB mB nB","2":"I b J D E F"},E:{"1":"J D E F A B C K L G pB qB rB sB dB VB WB tB uB vB","2":"I oB cB","16":"b"},F:{"1":"0 1 2 3 4 5 6 7 8 9 B C G M N O c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB GB Q HB IB JB KB LB MB NB OB PB QB RB SB TB UB wB xB yB zB VB eB 0B WB","2":"F"},G:{"1":"E 2B 3B 4B 5B 6B 7B 8B 9B AC BC CC DC EC FC GC HC IC JC","2":"cB 1B fB"},H:{"1":"KC"},I:{"1":"XB I H OC fB PC QC","2":"LC MC NC"},J:{"1":"D A"},K:{"1":"A B C Q VB eB WB"},L:{"1":"H"},M:{"1":"P"},N:{"2":"A B"},O:{"1":"RC"},P:{"1":"I SC TC UC VC WC dB XC YC ZC aC"},Q:{"1":"bC"},R:{"1":"cC"},S:{"1":"dC"}},B:1,C:"Form attribute"}; diff --git a/tools/node_modules/@babel/core/node_modules/caniuse-lite/data/features/form-submit-attributes.js b/tools/node_modules/@babel/core/node_modules/caniuse-lite/data/features/form-submit-attributes.js new file mode 100644 index 00000000000000..5f2ae3eb75e7e2 --- /dev/null +++ b/tools/node_modules/@babel/core/node_modules/caniuse-lite/data/features/form-submit-attributes.js @@ -0,0 +1 @@ +module.exports={A:{A:{"1":"A B","2":"J D E F gB"},B:{"1":"C K L G M N O R S T U V W X Y Z P a H"},C:{"1":"0 1 2 3 4 5 6 7 8 9 I b J D E F A B C K L G M N O c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB YB GB ZB Q HB IB JB KB LB MB NB OB PB QB RB SB TB UB aB bB R S T iB U V W X Y Z P a H","2":"hB XB jB kB"},D:{"1":"0 1 2 3 4 5 6 7 8 9 G M N O c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB YB GB ZB Q HB IB JB KB LB MB NB OB PB QB RB SB TB UB aB bB R S T U V W X Y Z P a H lB mB nB","16":"I b J D E F A B C K L"},E:{"1":"J D E F A B C K L G pB qB rB sB dB VB WB tB uB vB","2":"I b oB cB"},F:{"1":"0 1 2 3 4 5 6 7 8 9 B C G M N O c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB GB Q HB IB JB KB LB MB NB OB PB QB RB SB TB UB zB VB eB 0B WB","2":"F wB","16":"xB yB"},G:{"1":"E 2B 3B 4B 5B 6B 7B 8B 9B AC BC CC DC EC FC GC HC IC JC","2":"cB 1B fB"},H:{"1":"KC"},I:{"1":"I H OC fB PC QC","2":"LC MC NC","16":"XB"},J:{"1":"A","2":"D"},K:{"1":"B C Q VB eB WB","16":"A"},L:{"1":"H"},M:{"1":"P"},N:{"1":"A B"},O:{"1":"RC"},P:{"1":"I SC TC UC VC WC dB XC YC ZC aC"},Q:{"1":"bC"},R:{"1":"cC"},S:{"1":"dC"}},B:1,C:"Attributes for form submission"}; diff --git a/tools/node_modules/@babel/core/node_modules/caniuse-lite/data/features/form-validation.js b/tools/node_modules/@babel/core/node_modules/caniuse-lite/data/features/form-validation.js new file mode 100644 index 00000000000000..27f81313aba5d8 --- /dev/null +++ b/tools/node_modules/@babel/core/node_modules/caniuse-lite/data/features/form-validation.js @@ -0,0 +1 @@ +module.exports={A:{A:{"1":"A B","2":"J D E F gB"},B:{"1":"C K L G M N O R S T U V W X Y Z P a H"},C:{"1":"0 1 2 3 4 5 6 7 8 9 I b J D E F A B C K L G M N O c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB YB GB ZB Q HB IB JB KB LB MB NB OB PB QB RB SB TB UB aB bB R S T iB U V W X Y Z P a H","2":"hB XB jB kB"},D:{"1":"0 1 2 3 4 5 6 7 8 9 A B C K L G M N O c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB YB GB ZB Q HB IB JB KB LB MB NB OB PB QB RB SB TB UB aB bB R S T U V W X Y Z P a H lB mB nB","2":"I b J D E F"},E:{"1":"B C K L G dB VB WB tB uB vB","2":"I oB cB","132":"b J D E F A pB qB rB sB"},F:{"1":"0 1 2 3 4 5 6 7 8 9 B C G M N O c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB GB Q HB IB JB KB LB MB NB OB PB QB RB SB TB UB xB yB zB VB eB 0B WB","2":"F wB"},G:{"1":"9B AC BC CC DC EC FC GC HC IC JC","2":"cB","132":"E 1B fB 2B 3B 4B 5B 6B 7B 8B"},H:{"516":"KC"},I:{"1":"H QC","2":"XB LC MC NC","132":"I OC fB PC"},J:{"1":"A","132":"D"},K:{"1":"A B C Q VB eB WB"},L:{"1":"H"},M:{"1":"P"},N:{"260":"A B"},O:{"1":"RC"},P:{"1":"I SC TC UC VC WC dB XC YC ZC aC"},Q:{"1":"bC"},R:{"1":"cC"},S:{"132":"dC"}},B:1,C:"Form validation"}; diff --git a/tools/node_modules/@babel/core/node_modules/caniuse-lite/data/features/forms.js b/tools/node_modules/@babel/core/node_modules/caniuse-lite/data/features/forms.js new file mode 100644 index 00000000000000..436475c7558ba9 --- /dev/null +++ b/tools/node_modules/@babel/core/node_modules/caniuse-lite/data/features/forms.js @@ -0,0 +1 @@ +module.exports={A:{A:{"2":"gB","4":"A B","8":"J D E F"},B:{"1":"M N O R S T U V W X Y Z P a H","4":"C K L G"},C:{"4":"0 1 2 3 4 5 6 7 8 9 I b J D E F A B C K L G M N O c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB YB GB ZB Q HB IB JB KB LB MB NB OB PB QB RB SB TB UB aB bB R S T iB U V W X Y Z P a H","8":"hB XB jB kB"},D:{"1":"ZB Q HB IB JB KB LB MB NB OB PB QB RB SB TB UB aB bB R S T U V W X Y Z P a H lB mB nB","4":"0 1 2 3 4 5 6 7 8 9 I b J D E F A B C K L G M N O c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB YB GB"},E:{"4":"I b J D E F A B C K L G pB qB rB sB dB VB WB tB uB vB","8":"oB cB"},F:{"1":"9 F B C AB BB CB DB EB FB GB Q HB IB JB KB LB MB NB OB PB QB RB SB TB UB wB xB yB zB VB eB 0B WB","4":"0 1 2 3 4 5 6 7 8 G M N O c d e f g h i j k l m n o p q r s t u v w x y z"},G:{"2":"cB","4":"E 1B fB 2B 3B 4B 5B 6B 7B 8B 9B AC BC CC DC EC FC GC HC IC JC"},H:{"2":"KC"},I:{"1":"H","2":"XB I LC MC NC OC fB","4":"PC QC"},J:{"2":"D","4":"A"},K:{"1":"A B C VB eB WB","4":"Q"},L:{"1":"H"},M:{"4":"P"},N:{"4":"A B"},O:{"1":"RC"},P:{"1":"VC WC dB XC YC ZC aC","4":"I SC TC UC"},Q:{"1":"bC"},R:{"4":"cC"},S:{"4":"dC"}},B:1,C:"HTML5 form features"}; diff --git a/tools/node_modules/@babel/core/node_modules/caniuse-lite/data/features/fullscreen.js b/tools/node_modules/@babel/core/node_modules/caniuse-lite/data/features/fullscreen.js new file mode 100644 index 00000000000000..39cdd4af22f661 --- /dev/null +++ b/tools/node_modules/@babel/core/node_modules/caniuse-lite/data/features/fullscreen.js @@ -0,0 +1 @@ +module.exports={A:{A:{"2":"J D E F A gB","548":"B"},B:{"1":"R S T U V W X Y Z P a H","516":"C K L G M N O"},C:{"1":"IB JB KB LB MB NB OB PB QB RB SB TB UB aB bB R S T iB U V W X Y Z P a H","2":"hB XB I b J D E F jB kB","676":"0 1 2 3 A B C K L G M N O c d e f g h i j k l m n o p q r s t u v w x y z","1700":"4 5 6 7 8 9 AB BB CB DB EB FB YB GB ZB Q HB"},D:{"1":"PB QB RB SB TB UB aB bB R S T U V W X Y Z P a H lB mB nB","2":"I b J D E F A B C K L","676":"G M N O c","804":"0 1 2 3 4 5 6 7 8 9 d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB YB GB ZB Q HB IB JB KB LB MB NB OB"},E:{"2":"I b oB cB","676":"pB","804":"J D E F A B C K L G qB rB sB dB VB WB tB uB vB"},F:{"1":"IB JB KB LB MB NB OB PB QB RB SB TB UB WB","2":"F B C wB xB yB zB VB eB 0B","804":"0 1 2 3 4 5 6 7 8 9 G M N O c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB GB Q HB"},G:{"2":"E cB 1B fB 2B 3B 4B 5B 6B 7B 8B 9B AC BC","2052":"CC DC EC FC GC HC IC JC"},H:{"2":"KC"},I:{"2":"XB I H LC MC NC OC fB PC QC"},J:{"2":"D","292":"A"},K:{"2":"A B C VB eB WB","804":"Q"},L:{"804":"H"},M:{"1":"P"},N:{"2":"A","548":"B"},O:{"804":"RC"},P:{"1":"dB XC YC ZC aC","804":"I SC TC UC VC WC"},Q:{"804":"bC"},R:{"804":"cC"},S:{"1":"dC"}},B:1,C:"Full Screen API"}; diff --git a/tools/node_modules/@babel/core/node_modules/caniuse-lite/data/features/gamepad.js b/tools/node_modules/@babel/core/node_modules/caniuse-lite/data/features/gamepad.js new file mode 100644 index 00000000000000..20e0174cfea4a2 --- /dev/null +++ b/tools/node_modules/@babel/core/node_modules/caniuse-lite/data/features/gamepad.js @@ -0,0 +1 @@ +module.exports={A:{A:{"2":"J D E F A B gB"},B:{"1":"C K L G M N O R S T U V W X Y Z P a H"},C:{"1":"0 1 2 3 4 5 6 7 8 9 m n o p q r s t u v w x y z AB BB CB DB EB FB YB GB ZB Q HB IB JB KB LB MB NB OB PB QB RB SB TB UB aB bB R S T iB U V W X Y Z P a H","2":"hB XB I b J D E F A B C K L G M N O c d e f g h i j k l jB kB"},D:{"1":"0 1 2 3 4 5 6 7 8 9 i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB YB GB ZB Q HB IB JB KB LB MB NB OB PB QB RB SB TB UB aB bB R S T U V W X Y Z P a H lB mB nB","2":"I b J D E F A B C K L G M N O c d","33":"e f g h"},E:{"1":"B C K L G dB VB WB tB uB vB","2":"I b J D E F A oB cB pB qB rB sB"},F:{"1":"0 1 2 3 4 5 6 7 8 9 h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB GB Q HB IB JB KB LB MB NB OB PB QB RB SB TB UB","2":"F B C G M N O c d e f g wB xB yB zB VB eB 0B WB"},G:{"1":"9B AC BC CC DC EC FC GC HC IC JC","2":"E cB 1B fB 2B 3B 4B 5B 6B 7B 8B"},H:{"2":"KC"},I:{"2":"XB I H LC MC NC OC fB PC QC"},J:{"2":"D A"},K:{"2":"A B C Q VB eB WB"},L:{"1":"H"},M:{"1":"P"},N:{"2":"A B"},O:{"1":"RC"},P:{"1":"I SC TC UC VC WC dB XC YC ZC aC"},Q:{"1":"bC"},R:{"1":"cC"},S:{"2":"dC"}},B:5,C:"Gamepad API"}; diff --git a/tools/node_modules/@babel/core/node_modules/caniuse-lite/data/features/geolocation.js b/tools/node_modules/@babel/core/node_modules/caniuse-lite/data/features/geolocation.js new file mode 100644 index 00000000000000..f4093520775772 --- /dev/null +++ b/tools/node_modules/@babel/core/node_modules/caniuse-lite/data/features/geolocation.js @@ -0,0 +1 @@ +module.exports={A:{A:{"1":"F A B","2":"gB","8":"J D E"},B:{"1":"C K L G M N O","129":"R S T U V W X Y Z P a H"},C:{"1":"0 1 2 3 4 5 6 7 8 9 I b J D E F A B C K L G M N O c d e f g h i j k l m n o p q r s t u v w x y z AB BB jB kB","8":"hB XB","129":"CB DB EB FB YB GB ZB Q HB IB JB KB LB MB NB OB PB QB RB SB TB UB aB bB R S T iB U V W X Y Z P a H"},D:{"1":"0 1 2 3 4 5 6 b J D E F A B C K L G M N O c d e f g h i j k l m n o p q r s t u v w x y z","4":"I","129":"7 8 9 AB BB CB DB EB FB YB GB ZB Q HB IB JB KB LB MB NB OB PB QB RB SB TB UB aB bB R S T U V W X Y Z P a H lB mB nB"},E:{"1":"b J D E F B C K L G pB qB rB sB dB VB WB tB uB vB","8":"I oB cB","129":"A"},F:{"1":"B C M N O c d e f g h i j k l m n o p q r s t u v zB VB eB 0B WB","2":"F G wB","8":"xB yB","129":"0 1 2 3 4 5 6 7 8 9 w x y z AB BB CB DB EB FB GB Q HB IB JB KB LB MB NB OB PB QB RB SB TB UB"},G:{"1":"E cB 1B fB 2B 3B 4B 5B 6B 7B","129":"8B 9B AC BC CC DC EC FC GC HC IC JC"},H:{"2":"KC"},I:{"1":"XB I LC MC NC OC fB PC QC","129":"H"},J:{"1":"D A"},K:{"1":"B C Q VB eB WB","8":"A"},L:{"129":"H"},M:{"129":"P"},N:{"1":"A B"},O:{"1":"RC"},P:{"1":"I","129":"SC TC UC VC WC dB XC YC ZC aC"},Q:{"129":"bC"},R:{"129":"cC"},S:{"1":"dC"}},B:2,C:"Geolocation"}; diff --git a/tools/node_modules/@babel/core/node_modules/caniuse-lite/data/features/getboundingclientrect.js b/tools/node_modules/@babel/core/node_modules/caniuse-lite/data/features/getboundingclientrect.js new file mode 100644 index 00000000000000..c4f581e2901043 --- /dev/null +++ b/tools/node_modules/@babel/core/node_modules/caniuse-lite/data/features/getboundingclientrect.js @@ -0,0 +1 @@ +module.exports={A:{A:{"644":"J D gB","2049":"F A B","2692":"E"},B:{"1":"R S T U V W X Y Z P a H","2049":"C K L G M N O"},C:{"1":"0 1 2 3 4 5 6 7 8 9 C K L G M N O c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB YB GB ZB Q HB IB JB KB LB MB NB OB PB QB RB SB TB UB aB bB R S T iB U V W X Y Z P a H","2":"hB","260":"I b J D E F A B","1156":"XB","1284":"jB","1796":"kB"},D:{"1":"0 1 2 3 4 5 6 7 8 9 I b J D E F A B C K L G M N O c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB YB GB ZB Q HB IB JB KB LB MB NB OB PB QB RB SB TB UB aB bB R S T U V W X Y Z P a H lB mB nB"},E:{"1":"I b J D E F A B C K L G pB qB rB sB dB VB WB tB uB vB","16":"oB cB"},F:{"1":"0 1 2 3 4 5 6 7 8 9 B C G M N O c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB GB Q HB IB JB KB LB MB NB OB PB QB RB SB TB UB zB VB eB 0B WB","16":"F wB","132":"xB yB"},G:{"1":"E 1B fB 2B 3B 4B 5B 6B 7B 8B 9B AC BC CC DC EC FC GC HC IC JC","16":"cB"},H:{"1":"KC"},I:{"1":"XB I H NC OC fB PC QC","16":"LC MC"},J:{"1":"D A"},K:{"1":"B C Q VB eB WB","132":"A"},L:{"1":"H"},M:{"1":"P"},N:{"2049":"A B"},O:{"1":"RC"},P:{"1":"I SC TC UC VC WC dB XC YC ZC aC"},Q:{"1":"bC"},R:{"1":"cC"},S:{"1":"dC"}},B:5,C:"Element.getBoundingClientRect()"}; diff --git a/tools/node_modules/@babel/core/node_modules/caniuse-lite/data/features/getcomputedstyle.js b/tools/node_modules/@babel/core/node_modules/caniuse-lite/data/features/getcomputedstyle.js new file mode 100644 index 00000000000000..7b7a3a40a05571 --- /dev/null +++ b/tools/node_modules/@babel/core/node_modules/caniuse-lite/data/features/getcomputedstyle.js @@ -0,0 +1 @@ +module.exports={A:{A:{"1":"F A B","2":"J D E gB"},B:{"1":"C K L G M N O R S T U V W X Y Z P a H"},C:{"1":"0 1 2 3 4 5 6 7 8 9 I b J D E F A B C K L G M N O c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB YB GB ZB Q HB IB JB KB LB MB NB OB PB QB RB SB TB UB aB bB R S T iB U V W X Y Z P a H","2":"hB","132":"XB jB kB"},D:{"1":"0 1 2 3 4 5 6 7 8 9 B C K L G M N O c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB YB GB ZB Q HB IB JB KB LB MB NB OB PB QB RB SB TB UB aB bB R S T U V W X Y Z P a H lB mB nB","260":"I b J D E F A"},E:{"1":"b J D E F A B C K L G pB qB rB sB dB VB WB tB uB vB","260":"I oB cB"},F:{"1":"0 1 2 3 4 5 6 7 8 9 B C G M N O c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB GB Q HB IB JB KB LB MB NB OB PB QB RB SB TB UB zB VB eB 0B WB","260":"F wB xB yB"},G:{"1":"E 2B 3B 4B 5B 6B 7B 8B 9B AC BC CC DC EC FC GC HC IC JC","260":"cB 1B fB"},H:{"260":"KC"},I:{"1":"I H OC fB PC QC","260":"XB LC MC NC"},J:{"1":"A","260":"D"},K:{"1":"B C Q VB eB WB","260":"A"},L:{"1":"H"},M:{"1":"P"},N:{"1":"A B"},O:{"1":"RC"},P:{"1":"I SC TC UC VC WC dB XC YC ZC aC"},Q:{"1":"bC"},R:{"1":"cC"},S:{"1":"dC"}},B:2,C:"getComputedStyle"}; diff --git a/tools/node_modules/@babel/core/node_modules/caniuse-lite/data/features/getelementsbyclassname.js b/tools/node_modules/@babel/core/node_modules/caniuse-lite/data/features/getelementsbyclassname.js new file mode 100644 index 00000000000000..bdad9db9de34fe --- /dev/null +++ b/tools/node_modules/@babel/core/node_modules/caniuse-lite/data/features/getelementsbyclassname.js @@ -0,0 +1 @@ +module.exports={A:{A:{"1":"F A B","2":"gB","8":"J D E"},B:{"1":"C K L G M N O R S T U V W X Y Z P a H"},C:{"1":"0 1 2 3 4 5 6 7 8 9 XB I b J D E F A B C K L G M N O c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB YB GB ZB Q HB IB JB KB LB MB NB OB PB QB RB SB TB UB aB bB R S T iB U V W X Y Z P a H jB kB","8":"hB"},D:{"1":"0 1 2 3 4 5 6 7 8 9 I b J D E F A B C K L G M N O c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB YB GB ZB Q HB IB JB KB LB MB NB OB PB QB RB SB TB UB aB bB R S T U V W X Y Z P a H lB mB nB"},E:{"1":"I b J D E F A B C K L G oB cB pB qB rB sB dB VB WB tB uB vB"},F:{"1":"0 1 2 3 4 5 6 7 8 9 B C G M N O c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB GB Q HB IB JB KB LB MB NB OB PB QB RB SB TB UB wB xB yB zB VB eB 0B WB","2":"F"},G:{"1":"E cB 1B fB 2B 3B 4B 5B 6B 7B 8B 9B AC BC CC DC EC FC GC HC IC JC"},H:{"1":"KC"},I:{"1":"XB I H LC MC NC OC fB PC QC"},J:{"1":"D A"},K:{"1":"A B C Q VB eB WB"},L:{"1":"H"},M:{"1":"P"},N:{"1":"A B"},O:{"1":"RC"},P:{"1":"I SC TC UC VC WC dB XC YC ZC aC"},Q:{"1":"bC"},R:{"1":"cC"},S:{"1":"dC"}},B:1,C:"getElementsByClassName"}; diff --git a/tools/node_modules/@babel/core/node_modules/caniuse-lite/data/features/getrandomvalues.js b/tools/node_modules/@babel/core/node_modules/caniuse-lite/data/features/getrandomvalues.js new file mode 100644 index 00000000000000..60d12c1ee27440 --- /dev/null +++ b/tools/node_modules/@babel/core/node_modules/caniuse-lite/data/features/getrandomvalues.js @@ -0,0 +1 @@ +module.exports={A:{A:{"2":"J D E F A gB","33":"B"},B:{"1":"C K L G M N O R S T U V W X Y Z P a H"},C:{"1":"0 1 2 3 4 5 6 7 8 9 e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB YB GB ZB Q HB IB JB KB LB MB NB OB PB QB RB SB TB UB aB bB R S T iB U V W X Y Z P a H","2":"hB XB I b J D E F A B C K L G M N O c d jB kB"},D:{"1":"0 1 2 3 4 5 6 7 8 9 B C K L G M N O c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB YB GB ZB Q HB IB JB KB LB MB NB OB PB QB RB SB TB UB aB bB R S T U V W X Y Z P a H lB mB nB","2":"I b J D E F A"},E:{"1":"D E F A B C K L G qB rB sB dB VB WB tB uB vB","2":"I b J oB cB pB"},F:{"1":"0 1 2 3 4 5 6 7 8 9 G M N O c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB GB Q HB IB JB KB LB MB NB OB PB QB RB SB TB UB","2":"F B C wB xB yB zB VB eB 0B WB"},G:{"1":"E 4B 5B 6B 7B 8B 9B AC BC CC DC EC FC GC HC IC JC","2":"cB 1B fB 2B 3B"},H:{"2":"KC"},I:{"1":"H PC QC","2":"XB I LC MC NC OC fB"},J:{"1":"A","2":"D"},K:{"1":"Q","2":"A B C VB eB WB"},L:{"1":"H"},M:{"1":"P"},N:{"2":"A","33":"B"},O:{"1":"RC"},P:{"1":"I SC TC UC VC WC dB XC YC ZC aC"},Q:{"1":"bC"},R:{"1":"cC"},S:{"1":"dC"}},B:2,C:"crypto.getRandomValues()"}; diff --git a/tools/node_modules/@babel/core/node_modules/caniuse-lite/data/features/gyroscope.js b/tools/node_modules/@babel/core/node_modules/caniuse-lite/data/features/gyroscope.js new file mode 100644 index 00000000000000..ce6834723b9d94 --- /dev/null +++ b/tools/node_modules/@babel/core/node_modules/caniuse-lite/data/features/gyroscope.js @@ -0,0 +1 @@ +module.exports={A:{A:{"2":"J D E F A B gB"},B:{"1":"R S T U V W X Y Z P a H","2":"C K L G M N O"},C:{"2":"0 1 2 3 4 5 6 7 8 9 hB XB I b J D E F A B C K L G M N O c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB YB GB ZB Q HB IB JB KB LB MB NB OB PB QB RB SB TB UB aB bB R S T iB U V W X Y Z P a H jB kB"},D:{"1":"LB MB NB OB PB QB RB SB TB UB aB bB R S T U V W X Y Z P a H lB mB nB","2":"0 1 2 3 4 5 6 7 8 9 I b J D E F A B C K L G M N O c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB","194":"FB YB GB ZB Q HB IB JB KB"},E:{"2":"I b J D E F A B C K L G oB cB pB qB rB sB dB VB WB tB uB vB"},F:{"1":"BB CB DB EB FB GB Q HB IB JB KB LB MB NB OB PB QB RB SB TB UB","2":"0 1 2 3 4 5 6 7 8 9 F B C G M N O c d e f g h i j k l m n o p q r s t u v w x y z AB wB xB yB zB VB eB 0B WB"},G:{"2":"E cB 1B fB 2B 3B 4B 5B 6B 7B 8B 9B AC BC CC DC EC FC GC HC IC JC"},H:{"2":"KC"},I:{"1":"H","2":"XB I LC MC NC OC fB PC QC"},J:{"2":"D A"},K:{"2":"A B C Q VB eB WB"},L:{"1":"H"},M:{"2":"P"},N:{"2":"A B"},O:{"2":"RC"},P:{"2":"I SC TC UC VC WC dB XC YC ZC aC"},Q:{"2":"bC"},R:{"2":"cC"},S:{"2":"dC"}},B:4,C:"Gyroscope"}; diff --git a/tools/node_modules/@babel/core/node_modules/caniuse-lite/data/features/hardwareconcurrency.js b/tools/node_modules/@babel/core/node_modules/caniuse-lite/data/features/hardwareconcurrency.js new file mode 100644 index 00000000000000..4e7937937566c8 --- /dev/null +++ b/tools/node_modules/@babel/core/node_modules/caniuse-lite/data/features/hardwareconcurrency.js @@ -0,0 +1 @@ +module.exports={A:{A:{"2":"J D E F A B gB"},B:{"1":"G M N O R S T U V W X Y Z P a H","2":"C K L"},C:{"1":"5 6 7 8 9 AB BB CB DB EB FB YB GB ZB Q HB IB JB KB LB MB NB OB PB QB RB SB TB UB aB bB R S T iB U V W X Y Z P a H","2":"0 1 2 3 4 hB XB I b J D E F A B C K L G M N O c d e f g h i j k l m n o p q r s t u v w x y z jB kB"},D:{"1":"0 1 2 3 4 5 6 7 8 9 u v w x y z AB BB CB DB EB FB YB GB ZB Q HB IB JB KB LB MB NB OB PB QB RB SB TB UB aB bB R S T U V W X Y Z P a H lB mB nB","2":"I b J D E F A B C K L G M N O c d e f g h i j k l m n o p q r s t"},E:{"2":"I b J D oB cB pB qB rB","129":"B C K L G dB VB WB tB uB vB","194":"E F A sB"},F:{"1":"0 1 2 3 4 5 6 7 8 9 h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB GB Q HB IB JB KB LB MB NB OB PB QB RB SB TB UB","2":"F B C G M N O c d e f g wB xB yB zB VB eB 0B WB"},G:{"2":"cB 1B fB 2B 3B 4B","129":"9B AC BC CC DC EC FC GC HC IC JC","194":"E 5B 6B 7B 8B"},H:{"2":"KC"},I:{"1":"H","2":"XB I LC MC NC OC fB PC QC"},J:{"2":"D A"},K:{"1":"Q","2":"A B C VB eB WB"},L:{"1":"H"},M:{"1":"P"},N:{"2":"A B"},O:{"1":"RC"},P:{"1":"I SC TC UC VC WC dB XC YC ZC aC"},Q:{"1":"bC"},R:{"1":"cC"},S:{"1":"dC"}},B:1,C:"navigator.hardwareConcurrency"}; diff --git a/tools/node_modules/@babel/core/node_modules/caniuse-lite/data/features/hashchange.js b/tools/node_modules/@babel/core/node_modules/caniuse-lite/data/features/hashchange.js new file mode 100644 index 00000000000000..18a3b3880737a0 --- /dev/null +++ b/tools/node_modules/@babel/core/node_modules/caniuse-lite/data/features/hashchange.js @@ -0,0 +1 @@ +module.exports={A:{A:{"1":"E F A B","8":"J D gB"},B:{"1":"C K L G M N O R S T U V W X Y Z P a H"},C:{"1":"0 1 2 3 4 5 6 7 8 9 I b J D E F A B C K L G M N O c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB YB GB ZB Q HB IB JB KB LB MB NB OB PB QB RB SB TB UB aB bB R S T iB U V W X Y Z P a H kB","8":"hB XB jB"},D:{"1":"0 1 2 3 4 5 6 7 8 9 b J D E F A B C K L G M N O c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB YB GB ZB Q HB IB JB KB LB MB NB OB PB QB RB SB TB UB aB bB R S T U V W X Y Z P a H lB mB nB","8":"I"},E:{"1":"b J D E F A B C K L G pB qB rB sB dB VB WB tB uB vB","8":"I oB cB"},F:{"1":"0 1 2 3 4 5 6 7 8 9 B C G M N O c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB GB Q HB IB JB KB LB MB NB OB PB QB RB SB TB UB zB VB eB 0B WB","8":"F wB xB yB"},G:{"1":"E 1B fB 2B 3B 4B 5B 6B 7B 8B 9B AC BC CC DC EC FC GC HC IC JC","2":"cB"},H:{"2":"KC"},I:{"1":"XB I H MC NC OC fB PC QC","2":"LC"},J:{"1":"D A"},K:{"1":"B C Q VB eB WB","8":"A"},L:{"1":"H"},M:{"1":"P"},N:{"1":"A B"},O:{"1":"RC"},P:{"1":"I SC TC UC VC WC dB XC YC ZC aC"},Q:{"1":"bC"},R:{"1":"cC"},S:{"1":"dC"}},B:1,C:"Hashchange event"}; diff --git a/tools/node_modules/@babel/core/node_modules/caniuse-lite/data/features/heif.js b/tools/node_modules/@babel/core/node_modules/caniuse-lite/data/features/heif.js new file mode 100644 index 00000000000000..e00b1d083a9516 --- /dev/null +++ b/tools/node_modules/@babel/core/node_modules/caniuse-lite/data/features/heif.js @@ -0,0 +1 @@ +module.exports={A:{A:{"2":"J D E F A B gB"},B:{"2":"C K L G M N O R S T U V W X Y Z P a H"},C:{"2":"0 1 2 3 4 5 6 7 8 9 hB XB I b J D E F A B C K L G M N O c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB YB GB ZB Q HB IB JB KB LB MB NB OB PB QB RB SB TB UB aB bB R S T iB U V W X Y Z P a H jB kB"},D:{"2":"0 1 2 3 4 5 6 7 8 9 I b J D E F A B C K L G M N O c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB YB GB ZB Q HB IB JB KB LB MB NB OB PB QB RB SB TB UB aB bB R S T U V W X Y Z P a H lB mB nB"},E:{"2":"I b J D E F A oB cB pB qB rB sB dB","130":"B C K L G VB WB tB uB vB"},F:{"2":"0 1 2 3 4 5 6 7 8 9 F B C G M N O c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB GB Q HB IB JB KB LB MB NB OB PB QB RB SB TB UB wB xB yB zB VB eB 0B WB"},G:{"2":"E cB 1B fB 2B 3B 4B 5B 6B 7B 8B 9B","130":"AC BC CC DC EC FC GC HC IC JC"},H:{"2":"KC"},I:{"2":"XB I H LC MC NC OC fB PC QC"},J:{"2":"D A"},K:{"2":"A B C Q VB eB WB"},L:{"2":"H"},M:{"2":"P"},N:{"2":"A B"},O:{"2":"RC"},P:{"2":"I SC TC UC VC WC dB XC YC ZC aC"},Q:{"2":"bC"},R:{"2":"cC"},S:{"2":"dC"}},B:6,C:"HEIF/ISO Base Media File Format"}; diff --git a/tools/node_modules/@babel/core/node_modules/caniuse-lite/data/features/hevc.js b/tools/node_modules/@babel/core/node_modules/caniuse-lite/data/features/hevc.js new file mode 100644 index 00000000000000..f19cb1a47f65ea --- /dev/null +++ b/tools/node_modules/@babel/core/node_modules/caniuse-lite/data/features/hevc.js @@ -0,0 +1 @@ +module.exports={A:{A:{"2":"J D E F A gB","132":"B"},B:{"2":"R S T U V W X Y Z P a H","132":"C K L G M N O"},C:{"2":"0 1 2 3 4 5 6 7 8 9 hB XB I b J D E F A B C K L G M N O c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB YB GB ZB Q HB IB JB KB LB MB NB OB PB QB RB SB TB UB aB bB R S T iB U V W X Y Z P a H jB kB"},D:{"2":"0 1 2 3 4 5 6 7 8 9 I b J D E F A B C K L G M N O c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB YB GB ZB Q HB IB JB KB LB MB NB OB PB QB RB SB TB UB aB bB R S T U V W X Y Z P a H lB mB nB"},E:{"1":"K L G tB uB vB","2":"I b J D E F A oB cB pB qB rB sB dB","516":"B C VB WB"},F:{"2":"0 1 2 3 4 5 6 7 8 9 F B C G M N O c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB GB Q HB IB JB KB LB MB NB OB PB QB RB SB TB UB wB xB yB zB VB eB 0B WB"},G:{"1":"AC BC CC DC EC FC GC HC IC JC","2":"E cB 1B fB 2B 3B 4B 5B 6B 7B 8B 9B"},H:{"2":"KC"},I:{"2":"XB I LC MC NC OC fB PC QC","258":"H"},J:{"2":"D A"},K:{"2":"A B C Q VB eB WB"},L:{"258":"H"},M:{"2":"P"},N:{"2":"A B"},O:{"2":"RC"},P:{"2":"I","258":"SC TC UC VC WC dB XC YC ZC aC"},Q:{"2":"bC"},R:{"2":"cC"},S:{"2":"dC"}},B:6,C:"HEVC/H.265 video format"}; diff --git a/tools/node_modules/@babel/core/node_modules/caniuse-lite/data/features/hidden.js b/tools/node_modules/@babel/core/node_modules/caniuse-lite/data/features/hidden.js new file mode 100644 index 00000000000000..32d786edc2d019 --- /dev/null +++ b/tools/node_modules/@babel/core/node_modules/caniuse-lite/data/features/hidden.js @@ -0,0 +1 @@ +module.exports={A:{A:{"1":"B","2":"J D E F A gB"},B:{"1":"C K L G M N O R S T U V W X Y Z P a H"},C:{"1":"0 1 2 3 4 5 6 7 8 9 I b J D E F A B C K L G M N O c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB YB GB ZB Q HB IB JB KB LB MB NB OB PB QB RB SB TB UB aB bB R S T iB U V W X Y Z P a H","2":"hB XB jB kB"},D:{"1":"0 1 2 3 4 5 6 7 8 9 J D E F A B C K L G M N O c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB YB GB ZB Q HB IB JB KB LB MB NB OB PB QB RB SB TB UB aB bB R S T U V W X Y Z P a H lB mB nB","2":"I b"},E:{"1":"J D E F A B C K L G pB qB rB sB dB VB WB tB uB vB","2":"I b oB cB"},F:{"1":"0 1 2 3 4 5 6 7 8 9 C G M N O c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB GB Q HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB eB 0B WB","2":"F B wB xB yB zB"},G:{"1":"E 2B 3B 4B 5B 6B 7B 8B 9B AC BC CC DC EC FC GC HC IC JC","2":"cB 1B fB"},H:{"1":"KC"},I:{"1":"I H OC fB PC QC","2":"XB LC MC NC"},J:{"1":"A","2":"D"},K:{"1":"C Q VB eB WB","2":"A B"},L:{"1":"H"},M:{"1":"P"},N:{"1":"B","2":"A"},O:{"1":"RC"},P:{"1":"I SC TC UC VC WC dB XC YC ZC aC"},Q:{"1":"bC"},R:{"1":"cC"},S:{"1":"dC"}},B:1,C:"hidden attribute"}; diff --git a/tools/node_modules/@babel/core/node_modules/caniuse-lite/data/features/high-resolution-time.js b/tools/node_modules/@babel/core/node_modules/caniuse-lite/data/features/high-resolution-time.js new file mode 100644 index 00000000000000..4916bb3837cabf --- /dev/null +++ b/tools/node_modules/@babel/core/node_modules/caniuse-lite/data/features/high-resolution-time.js @@ -0,0 +1 @@ +module.exports={A:{A:{"1":"A B","2":"J D E F gB"},B:{"1":"C K L G M N O R S T U V W X Y Z P a H"},C:{"1":"0 1 2 3 4 5 6 7 8 9 G M N O c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB YB GB ZB Q HB IB JB KB LB MB NB OB PB QB RB SB TB UB aB bB R S T iB U V W X Y Z P a H","2":"hB XB I b J D E F A B C K L jB kB"},D:{"1":"0 1 2 3 4 5 6 7 8 9 h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB YB GB ZB Q HB IB JB KB LB MB NB OB PB QB RB SB TB UB aB bB R S T U V W X Y Z P a H lB mB nB","2":"I b J D E F A B C K L G M N O c","33":"d e f g"},E:{"1":"E F A B C K L G sB dB VB WB tB uB vB","2":"I b J D oB cB pB qB rB"},F:{"1":"0 1 2 3 4 5 6 7 8 9 G M N O c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB GB Q HB IB JB KB LB MB NB OB PB QB RB SB TB UB","2":"F B C wB xB yB zB VB eB 0B WB"},G:{"1":"E 6B 7B 8B 9B AC BC CC DC EC FC GC HC IC JC","2":"cB 1B fB 2B 3B 4B 5B"},H:{"2":"KC"},I:{"1":"H PC QC","2":"XB I LC MC NC OC fB"},J:{"1":"A","2":"D"},K:{"1":"Q","2":"A B C VB eB WB"},L:{"1":"H"},M:{"1":"P"},N:{"1":"A B"},O:{"1":"RC"},P:{"1":"I SC TC UC VC WC dB XC YC ZC aC"},Q:{"1":"bC"},R:{"1":"cC"},S:{"1":"dC"}},B:2,C:"High Resolution Time API"}; diff --git a/tools/node_modules/@babel/core/node_modules/caniuse-lite/data/features/history.js b/tools/node_modules/@babel/core/node_modules/caniuse-lite/data/features/history.js new file mode 100644 index 00000000000000..2b3978fcf7d5f6 --- /dev/null +++ b/tools/node_modules/@babel/core/node_modules/caniuse-lite/data/features/history.js @@ -0,0 +1 @@ +module.exports={A:{A:{"1":"A B","2":"J D E F gB"},B:{"1":"C K L G M N O R S T U V W X Y Z P a H"},C:{"1":"0 1 2 3 4 5 6 7 8 9 I b J D E F A B C K L G M N O c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB YB GB ZB Q HB IB JB KB LB MB NB OB PB QB RB SB TB UB aB bB R S T iB U V W X Y Z P a H","2":"hB XB jB kB"},D:{"1":"0 1 2 3 4 5 6 7 8 9 b J D E F A B C K L G M N O c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB YB GB ZB Q HB IB JB KB LB MB NB OB PB QB RB SB TB UB aB bB R S T U V W X Y Z P a H lB mB nB","2":"I"},E:{"1":"J D E F A B C K L G qB rB sB dB VB WB tB uB vB","2":"I oB cB","4":"b pB"},F:{"1":"0 1 2 3 4 5 6 7 8 9 C G M N O c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB GB Q HB IB JB KB LB MB NB OB PB QB RB SB TB UB eB 0B WB","2":"F B wB xB yB zB VB"},G:{"1":"E 2B 3B 4B 5B 6B 7B 8B 9B AC BC CC DC EC FC GC HC IC JC","2":"cB 1B","4":"fB"},H:{"2":"KC"},I:{"1":"H MC NC fB PC QC","2":"XB I LC OC"},J:{"1":"D A"},K:{"1":"C Q VB eB WB","2":"A B"},L:{"1":"H"},M:{"1":"P"},N:{"1":"A B"},O:{"1":"RC"},P:{"1":"I SC TC UC VC WC dB XC YC ZC aC"},Q:{"1":"bC"},R:{"1":"cC"},S:{"1":"dC"}},B:1,C:"Session history management"}; diff --git a/tools/node_modules/@babel/core/node_modules/caniuse-lite/data/features/html-media-capture.js b/tools/node_modules/@babel/core/node_modules/caniuse-lite/data/features/html-media-capture.js new file mode 100644 index 00000000000000..155ce527fbfbf2 --- /dev/null +++ b/tools/node_modules/@babel/core/node_modules/caniuse-lite/data/features/html-media-capture.js @@ -0,0 +1 @@ +module.exports={A:{A:{"2":"J D E F A B gB"},B:{"2":"C K L G M N O R S T U V W X Y Z P a H"},C:{"2":"0 1 2 3 4 5 6 7 8 9 hB XB I b J D E F A B C K L G M N O c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB YB GB ZB Q HB IB JB KB LB MB NB OB PB QB RB SB TB UB aB bB R S T iB U V W X Y Z P a H jB kB"},D:{"2":"0 1 2 3 4 5 6 7 8 9 I b J D E F A B C K L G M N O c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB YB GB ZB Q HB IB JB KB LB MB NB OB PB QB RB SB TB UB aB bB R S T U V W X Y Z P a H lB mB nB"},E:{"2":"I b J D E F A B C K L G oB cB pB qB rB sB dB VB WB tB uB vB"},F:{"2":"0 1 2 3 4 5 6 7 8 9 F B C G M N O c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB GB Q HB IB JB KB LB MB NB OB PB QB RB SB TB UB wB xB yB zB VB eB 0B WB"},G:{"2":"cB 1B fB 2B","129":"E 3B 4B 5B 6B 7B 8B 9B AC BC CC DC EC FC GC HC IC JC"},H:{"2":"KC"},I:{"1":"XB I H OC fB PC QC","2":"LC","257":"MC NC"},J:{"1":"A","16":"D"},K:{"1":"Q","2":"A B C VB eB WB"},L:{"1":"H"},M:{"2":"P"},N:{"2":"A B"},O:{"516":"RC"},P:{"1":"I SC TC UC VC WC dB XC YC ZC aC"},Q:{"16":"bC"},R:{"1":"cC"},S:{"2":"dC"}},B:4,C:"HTML Media Capture"}; diff --git a/tools/node_modules/@babel/core/node_modules/caniuse-lite/data/features/html5semantic.js b/tools/node_modules/@babel/core/node_modules/caniuse-lite/data/features/html5semantic.js new file mode 100644 index 00000000000000..3ea3194c98d1cb --- /dev/null +++ b/tools/node_modules/@babel/core/node_modules/caniuse-lite/data/features/html5semantic.js @@ -0,0 +1 @@ +module.exports={A:{A:{"2":"gB","8":"J D E","260":"F A B"},B:{"1":"C K L G M N O R S T U V W X Y Z P a H"},C:{"1":"0 1 2 3 4 5 6 7 8 9 e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB YB GB ZB Q HB IB JB KB LB MB NB OB PB QB RB SB TB UB aB bB R S T iB U V W X Y Z P a H","2":"hB","132":"XB jB kB","260":"I b J D E F A B C K L G M N O c d"},D:{"1":"0 1 2 3 4 5 6 7 8 9 j k l m n o p q r s t u v w x y z AB BB CB DB EB FB YB GB ZB Q HB IB JB KB LB MB NB OB PB QB RB SB TB UB aB bB R S T U V W X Y Z P a H lB mB nB","132":"I b","260":"J D E F A B C K L G M N O c d e f g h i"},E:{"1":"D E F A B C K L G qB rB sB dB VB WB tB uB vB","132":"I oB cB","260":"b J pB"},F:{"1":"0 1 2 3 4 5 6 7 8 9 G M N O c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB GB Q HB IB JB KB LB MB NB OB PB QB RB SB TB UB","132":"F B wB xB yB zB","260":"C VB eB 0B WB"},G:{"1":"E 4B 5B 6B 7B 8B 9B AC BC CC DC EC FC GC HC IC JC","132":"cB","260":"1B fB 2B 3B"},H:{"132":"KC"},I:{"1":"H PC QC","132":"LC","260":"XB I MC NC OC fB"},J:{"260":"D A"},K:{"1":"Q","132":"A","260":"B C VB eB WB"},L:{"1":"H"},M:{"1":"P"},N:{"260":"A B"},O:{"1":"RC"},P:{"1":"I SC TC UC VC WC dB XC YC ZC aC"},Q:{"1":"bC"},R:{"1":"cC"},S:{"1":"dC"}},B:1,C:"HTML5 semantic elements"}; diff --git a/tools/node_modules/@babel/core/node_modules/caniuse-lite/data/features/http-live-streaming.js b/tools/node_modules/@babel/core/node_modules/caniuse-lite/data/features/http-live-streaming.js new file mode 100644 index 00000000000000..d5dc1d54fd2eb1 --- /dev/null +++ b/tools/node_modules/@babel/core/node_modules/caniuse-lite/data/features/http-live-streaming.js @@ -0,0 +1 @@ +module.exports={A:{A:{"2":"J D E F A B gB"},B:{"1":"C K L G M N O","2":"R S T U V W X Y Z P a H"},C:{"2":"0 1 2 3 4 5 6 7 8 9 hB XB I b J D E F A B C K L G M N O c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB YB GB ZB Q HB IB JB KB LB MB NB OB PB QB RB SB TB UB aB bB R S T iB U V W X Y Z P a H jB kB"},D:{"2":"0 1 2 3 4 5 6 7 8 9 I b J D E F A B C K L G M N O c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB YB GB ZB Q HB IB JB KB LB MB NB OB PB QB RB SB TB UB aB bB R S T U V W X Y Z P a H lB mB nB"},E:{"1":"J D E F A B C K L G qB rB sB dB VB WB tB uB vB","2":"I b oB cB pB"},F:{"2":"0 1 2 3 4 5 6 7 8 9 F B C G M N O c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB GB Q HB IB JB KB LB MB NB OB PB QB RB SB TB UB wB xB yB zB VB eB 0B WB"},G:{"1":"E cB 1B fB 2B 3B 4B 5B 6B 7B 8B 9B AC BC CC DC EC FC GC HC IC JC"},H:{"2":"KC"},I:{"1":"XB I H OC fB PC QC","2":"LC MC NC"},J:{"1":"A","2":"D"},K:{"1":"Q","2":"A B C VB eB WB"},L:{"1":"H"},M:{"2":"P"},N:{"2":"A B"},O:{"1":"RC"},P:{"1":"I SC TC UC VC WC dB XC YC ZC aC"},Q:{"1":"bC"},R:{"1":"cC"},S:{"2":"dC"}},B:7,C:"HTTP Live Streaming (HLS)"}; diff --git a/tools/node_modules/@babel/core/node_modules/caniuse-lite/data/features/http2.js b/tools/node_modules/@babel/core/node_modules/caniuse-lite/data/features/http2.js new file mode 100644 index 00000000000000..627f0f5bb39400 --- /dev/null +++ b/tools/node_modules/@babel/core/node_modules/caniuse-lite/data/features/http2.js @@ -0,0 +1 @@ +module.exports={A:{A:{"2":"J D E F A gB","132":"B"},B:{"1":"C K L G M N O","513":"R S T U V W X Y Z P a H"},C:{"1":"0 1 2 3 4 5 6 7 8 9 t u v w x y z","2":"hB XB I b J D E F A B C K L G M N O c d e f g h i j k l m n o p q r s jB kB","513":"AB BB CB DB EB FB YB GB ZB Q HB IB JB KB LB MB NB OB PB QB RB SB TB UB aB bB R S T iB U V W X Y Z P a H"},D:{"1":"0 1 2 3 4 5 6 7 y z","2":"I b J D E F A B C K L G M N O c d e f g h i j k l m n o p q r s t u v w x","513":"8 9 AB BB CB DB EB FB YB GB ZB Q HB IB JB KB LB MB NB OB PB QB RB SB TB UB aB bB R S T U V W X Y Z P a H lB mB nB"},E:{"1":"B C K L G VB WB tB uB vB","2":"I b J D E oB cB pB qB rB","260":"F A sB dB"},F:{"1":"l m n o p q r s t u","2":"F B C G M N O c d e f g h i j k wB xB yB zB VB eB 0B WB","513":"0 1 2 3 4 5 6 7 8 9 v w x y z AB BB CB DB EB FB GB Q HB IB JB KB LB MB NB OB PB QB RB SB TB UB"},G:{"1":"6B 7B 8B 9B AC BC CC DC EC FC GC HC IC JC","2":"E cB 1B fB 2B 3B 4B 5B"},H:{"2":"KC"},I:{"2":"XB I LC MC NC OC fB PC QC","513":"H"},J:{"2":"D A"},K:{"1":"Q","2":"A B C VB eB WB"},L:{"513":"H"},M:{"513":"P"},N:{"2":"A B"},O:{"1":"RC"},P:{"1":"I","513":"SC TC UC VC WC dB XC YC ZC aC"},Q:{"513":"bC"},R:{"1":"cC"},S:{"1":"dC"}},B:6,C:"HTTP/2 protocol"}; diff --git a/tools/node_modules/@babel/core/node_modules/caniuse-lite/data/features/http3.js b/tools/node_modules/@babel/core/node_modules/caniuse-lite/data/features/http3.js new file mode 100644 index 00000000000000..3eba9392243ede --- /dev/null +++ b/tools/node_modules/@babel/core/node_modules/caniuse-lite/data/features/http3.js @@ -0,0 +1 @@ +module.exports={A:{A:{"2":"J D E F A B gB"},B:{"1":"Y Z P a H","2":"C K L G M N O","322":"R S T U V","578":"W X"},C:{"1":"Z P a H","2":"0 1 2 3 4 5 6 7 8 9 hB XB I b J D E F A B C K L G M N O c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB YB GB ZB Q HB IB JB KB LB MB NB OB PB jB kB","194":"QB RB SB TB UB aB bB R S T iB U V W X Y"},D:{"1":"Y Z P a H lB mB nB","2":"0 1 2 3 4 5 6 7 8 9 I b J D E F A B C K L G M N O c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB YB GB ZB Q HB IB JB KB LB MB NB OB PB QB RB SB TB UB aB bB","322":"R S T U V","578":"W X"},E:{"2":"I b J D E F A B C K oB cB pB qB rB sB dB VB WB tB","1090":"L G uB vB"},F:{"1":"SB TB UB","2":"0 1 2 3 4 5 6 7 8 9 F B C G M N O c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB GB Q HB IB JB KB LB MB NB OB PB QB wB xB yB zB VB eB 0B WB","578":"RB"},G:{"2":"E cB 1B fB 2B 3B 4B 5B 6B 7B 8B 9B AC BC CC DC EC FC GC HC","66":"IC JC"},H:{"2":"KC"},I:{"1":"H","2":"XB I LC MC NC OC fB PC QC"},J:{"2":"D A"},K:{"2":"A B C Q VB eB WB"},L:{"1":"H"},M:{"194":"P"},N:{"2":"A B"},O:{"2":"RC"},P:{"1":"aC","2":"I SC TC UC VC WC dB XC YC ZC"},Q:{"2":"bC"},R:{"2":"cC"},S:{"2":"dC"}},B:6,C:"HTTP/3 protocol"}; diff --git a/tools/node_modules/@babel/core/node_modules/caniuse-lite/data/features/iframe-sandbox.js b/tools/node_modules/@babel/core/node_modules/caniuse-lite/data/features/iframe-sandbox.js new file mode 100644 index 00000000000000..3b060fb4a4add2 --- /dev/null +++ b/tools/node_modules/@babel/core/node_modules/caniuse-lite/data/features/iframe-sandbox.js @@ -0,0 +1 @@ +module.exports={A:{A:{"1":"A B","2":"J D E F gB"},B:{"1":"C K L G M N O R S T U V W X Y Z P a H"},C:{"1":"0 1 2 3 4 5 6 7 8 9 l m n o p q r s t u v w x y z AB BB CB DB EB FB YB GB ZB Q HB IB JB KB LB MB NB OB PB QB RB SB TB UB aB bB R S T iB U V W X Y Z P a H","2":"hB XB I b J D E F A B C K L G M jB kB","4":"N O c d e f g h i j k"},D:{"1":"0 1 2 3 4 5 6 7 8 9 I b J D E F A B C K L G M N O c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB YB GB ZB Q HB IB JB KB LB MB NB OB PB QB RB SB TB UB aB bB R S T U V W X Y Z P a H lB mB nB"},E:{"1":"b J D E F A B C K L G pB qB rB sB dB VB WB tB uB vB","2":"I oB cB"},F:{"1":"0 1 2 3 4 5 6 7 8 9 G M N O c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB GB Q HB IB JB KB LB MB NB OB PB QB RB SB TB UB","2":"F B C wB xB yB zB VB eB 0B WB"},G:{"1":"E fB 2B 3B 4B 5B 6B 7B 8B 9B AC BC CC DC EC FC GC HC IC JC","2":"cB 1B"},H:{"2":"KC"},I:{"1":"XB I H MC NC OC fB PC QC","2":"LC"},J:{"1":"D A"},K:{"1":"Q","2":"A B C VB eB WB"},L:{"1":"H"},M:{"1":"P"},N:{"1":"A B"},O:{"1":"RC"},P:{"1":"I SC TC UC VC WC dB XC YC ZC aC"},Q:{"1":"bC"},R:{"1":"cC"},S:{"1":"dC"}},B:1,C:"sandbox attribute for iframes"}; diff --git a/tools/node_modules/@babel/core/node_modules/caniuse-lite/data/features/iframe-seamless.js b/tools/node_modules/@babel/core/node_modules/caniuse-lite/data/features/iframe-seamless.js new file mode 100644 index 00000000000000..798e56c471bc7e --- /dev/null +++ b/tools/node_modules/@babel/core/node_modules/caniuse-lite/data/features/iframe-seamless.js @@ -0,0 +1 @@ +module.exports={A:{A:{"2":"J D E F A B gB"},B:{"2":"C K L G M N O R S T U V W X Y Z P a H"},C:{"2":"0 1 2 3 4 5 6 7 8 9 hB XB I b J D E F A B C K L G M N O c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB YB GB ZB Q HB IB JB KB LB MB NB OB PB QB RB SB TB UB aB bB R S T iB U V W X Y Z P a H jB kB"},D:{"2":"0 1 2 3 4 5 6 7 8 9 I b J D E F A B C K L G M N O c k l m n o p q r s t u v w x y z AB BB CB DB EB FB YB GB ZB Q HB IB JB KB LB MB NB OB PB QB RB SB TB UB aB bB R S T U V W X Y Z P a H lB mB nB","66":"d e f g h i j"},E:{"2":"I b J E F A B C K L G oB cB pB qB sB dB VB WB tB uB vB","130":"D rB"},F:{"2":"0 1 2 3 4 5 6 7 8 9 F B C G M N O c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB GB Q HB IB JB KB LB MB NB OB PB QB RB SB TB UB wB xB yB zB VB eB 0B WB"},G:{"2":"E cB 1B fB 2B 3B 5B 6B 7B 8B 9B AC BC CC DC EC FC GC HC IC JC","130":"4B"},H:{"2":"KC"},I:{"2":"XB I H LC MC NC OC fB PC QC"},J:{"2":"D A"},K:{"2":"A B C Q VB eB WB"},L:{"2":"H"},M:{"2":"P"},N:{"2":"A B"},O:{"2":"RC"},P:{"2":"I SC TC UC VC WC dB XC YC ZC aC"},Q:{"2":"bC"},R:{"2":"cC"},S:{"2":"dC"}},B:7,C:"seamless attribute for iframes"}; diff --git a/tools/node_modules/@babel/core/node_modules/caniuse-lite/data/features/iframe-srcdoc.js b/tools/node_modules/@babel/core/node_modules/caniuse-lite/data/features/iframe-srcdoc.js new file mode 100644 index 00000000000000..c4e3064a09c039 --- /dev/null +++ b/tools/node_modules/@babel/core/node_modules/caniuse-lite/data/features/iframe-srcdoc.js @@ -0,0 +1 @@ +module.exports={A:{A:{"2":"gB","8":"J D E F A B"},B:{"1":"R S T U V W X Y Z P a H","8":"C K L G M N O"},C:{"1":"0 1 2 3 4 5 6 7 8 9 i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB YB GB ZB Q HB IB JB KB LB MB NB OB PB QB RB SB TB UB aB bB R S T iB U V W X Y Z P a H","2":"hB","8":"XB I b J D E F A B C K L G M N O c d e f g h jB kB"},D:{"1":"0 1 2 3 4 5 6 7 8 9 d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB YB GB ZB Q HB IB JB KB LB MB NB OB PB QB RB SB TB UB aB bB R S T U V W X Y Z P a H lB mB nB","2":"I b J D E F A B C K","8":"L G M N O c"},E:{"1":"J D E F A B C K L G qB rB sB dB VB WB tB uB vB","2":"oB cB","8":"I b pB"},F:{"1":"0 1 2 3 4 5 6 7 8 9 G M N O c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB GB Q HB IB JB KB LB MB NB OB PB QB RB SB TB UB","2":"F B wB xB yB zB","8":"C VB eB 0B WB"},G:{"1":"E 3B 4B 5B 6B 7B 8B 9B AC BC CC DC EC FC GC HC IC JC","2":"cB","8":"1B fB 2B"},H:{"2":"KC"},I:{"1":"H PC QC","8":"XB I LC MC NC OC fB"},J:{"1":"A","8":"D"},K:{"1":"Q","2":"A B","8":"C VB eB WB"},L:{"1":"H"},M:{"1":"P"},N:{"8":"A B"},O:{"1":"RC"},P:{"1":"I SC TC UC VC WC dB XC YC ZC aC"},Q:{"1":"bC"},R:{"1":"cC"},S:{"1":"dC"}},B:1,C:"srcdoc attribute for iframes"}; diff --git a/tools/node_modules/@babel/core/node_modules/caniuse-lite/data/features/imagecapture.js b/tools/node_modules/@babel/core/node_modules/caniuse-lite/data/features/imagecapture.js new file mode 100644 index 00000000000000..14330d2a1690f3 --- /dev/null +++ b/tools/node_modules/@babel/core/node_modules/caniuse-lite/data/features/imagecapture.js @@ -0,0 +1 @@ +module.exports={A:{A:{"2":"J D E F A B gB"},B:{"2":"C K L G M N O","322":"R S T U V W X Y Z P a H"},C:{"2":"hB XB I b J D E F A B C K L G M N O c d e f g h i j k l m n o p q r jB kB","194":"0 1 2 3 4 5 6 7 8 9 s t u v w x y z AB BB CB DB EB FB YB GB ZB Q HB IB JB KB LB MB NB OB PB QB RB SB TB UB aB bB R S T iB U V W X Y Z P a H"},D:{"2":"0 1 2 3 4 5 6 7 8 9 I b J D E F A B C K L G M N O c d e f g h i j k l m n o p q r s t u v w x y z","322":"AB BB CB DB EB FB YB GB ZB Q HB IB JB KB LB MB NB OB PB QB RB SB TB UB aB bB R S T U V W X Y Z P a H lB mB nB"},E:{"2":"I b J D E F A B C K L G oB cB pB qB rB sB dB VB WB tB uB vB"},F:{"2":"F B C G M N O c d e f g h i j k l m n o p q r s t u v w wB xB yB zB VB eB 0B WB","322":"0 1 2 3 4 5 6 7 8 9 x y z AB BB CB DB EB FB GB Q HB IB JB KB LB MB NB OB PB QB RB SB TB UB"},G:{"2":"E cB 1B fB 2B 3B 4B 5B 6B 7B 8B 9B AC BC CC DC EC FC GC HC IC JC"},H:{"2":"KC"},I:{"2":"XB I H LC MC NC OC fB PC QC"},J:{"2":"D A"},K:{"2":"A B C Q VB eB WB"},L:{"1":"H"},M:{"2":"P"},N:{"2":"A B"},O:{"2":"RC"},P:{"1":"SC TC UC VC WC dB XC YC ZC aC","2":"I"},Q:{"322":"bC"},R:{"1":"cC"},S:{"194":"dC"}},B:5,C:"ImageCapture API"}; diff --git a/tools/node_modules/@babel/core/node_modules/caniuse-lite/data/features/ime.js b/tools/node_modules/@babel/core/node_modules/caniuse-lite/data/features/ime.js new file mode 100644 index 00000000000000..a9d46394ba1417 --- /dev/null +++ b/tools/node_modules/@babel/core/node_modules/caniuse-lite/data/features/ime.js @@ -0,0 +1 @@ +module.exports={A:{A:{"2":"J D E F A gB","161":"B"},B:{"2":"R S T U V W X Y Z P a H","161":"C K L G M N O"},C:{"2":"0 1 2 3 4 5 6 7 8 9 hB XB I b J D E F A B C K L G M N O c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB YB GB ZB Q HB IB JB KB LB MB NB OB PB QB RB SB TB UB aB bB R S T iB U V W X Y Z P a H jB kB"},D:{"2":"0 1 2 3 4 5 6 7 8 9 I b J D E F A B C K L G M N O c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB YB GB ZB Q HB IB JB KB LB MB NB OB PB QB RB SB TB UB aB bB R S T U V W X Y Z P a H lB mB nB"},E:{"2":"I b J D E F A B C K L G oB cB pB qB rB sB dB VB WB tB uB vB"},F:{"2":"0 1 2 3 4 5 6 7 8 9 F B C G M N O c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB GB Q HB IB JB KB LB MB NB OB PB QB RB SB TB UB wB xB yB zB VB eB 0B WB"},G:{"2":"E cB 1B fB 2B 3B 4B 5B 6B 7B 8B 9B AC BC CC DC EC FC GC HC IC JC"},H:{"2":"KC"},I:{"2":"XB I H LC MC NC OC fB PC QC"},J:{"2":"D A"},K:{"2":"A B C Q VB eB WB"},L:{"2":"H"},M:{"2":"P"},N:{"2":"A","161":"B"},O:{"2":"RC"},P:{"2":"I SC TC UC VC WC dB XC YC ZC aC"},Q:{"2":"bC"},R:{"2":"cC"},S:{"2":"dC"}},B:5,C:"Input Method Editor API"}; diff --git a/tools/node_modules/@babel/core/node_modules/caniuse-lite/data/features/img-naturalwidth-naturalheight.js b/tools/node_modules/@babel/core/node_modules/caniuse-lite/data/features/img-naturalwidth-naturalheight.js new file mode 100644 index 00000000000000..bb01ed12e50e54 --- /dev/null +++ b/tools/node_modules/@babel/core/node_modules/caniuse-lite/data/features/img-naturalwidth-naturalheight.js @@ -0,0 +1 @@ +module.exports={A:{A:{"1":"F A B","2":"J D E gB"},B:{"1":"C K L G M N O R S T U V W X Y Z P a H"},C:{"1":"0 1 2 3 4 5 6 7 8 9 hB XB I b J D E F A B C K L G M N O c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB YB GB ZB Q HB IB JB KB LB MB NB OB PB QB RB SB TB UB aB bB R S T iB U V W X Y Z P a H jB kB"},D:{"1":"0 1 2 3 4 5 6 7 8 9 I b J D E F A B C K L G M N O c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB YB GB ZB Q HB IB JB KB LB MB NB OB PB QB RB SB TB UB aB bB R S T U V W X Y Z P a H lB mB nB"},E:{"1":"I b J D E F A B C K L G oB cB pB qB rB sB dB VB WB tB uB vB"},F:{"1":"0 1 2 3 4 5 6 7 8 9 F B C G M N O c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB GB Q HB IB JB KB LB MB NB OB PB QB RB SB TB UB wB xB yB zB VB eB 0B WB"},G:{"1":"E cB 1B fB 2B 3B 4B 5B 6B 7B 8B 9B AC BC CC DC EC FC GC HC IC JC"},H:{"1":"KC"},I:{"1":"XB I H LC MC NC OC fB PC QC"},J:{"1":"D A"},K:{"1":"A B C Q VB eB WB"},L:{"1":"H"},M:{"1":"P"},N:{"1":"A B"},O:{"1":"RC"},P:{"1":"I SC TC UC VC WC dB XC YC ZC aC"},Q:{"1":"bC"},R:{"1":"cC"},S:{"1":"dC"}},B:1,C:"naturalWidth & naturalHeight image properties"}; diff --git a/tools/node_modules/@babel/core/node_modules/caniuse-lite/data/features/import-maps.js b/tools/node_modules/@babel/core/node_modules/caniuse-lite/data/features/import-maps.js new file mode 100644 index 00000000000000..0988d6666d2d04 --- /dev/null +++ b/tools/node_modules/@babel/core/node_modules/caniuse-lite/data/features/import-maps.js @@ -0,0 +1 @@ +module.exports={A:{A:{"2":"J D E F A B gB"},B:{"1":"P a H","2":"C K L G M N O","194":"R S T U V W X Y Z"},C:{"2":"0 1 2 3 4 5 6 7 8 9 hB XB I b J D E F A B C K L G M N O c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB YB GB ZB Q HB IB JB KB LB MB NB OB PB QB RB SB TB UB aB bB R S T iB U V W X Y Z P a H jB kB"},D:{"1":"P a H lB mB nB","2":"0 1 2 3 4 5 6 7 8 9 I b J D E F A B C K L G M N O c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB YB GB ZB Q HB IB JB KB LB MB NB OB PB QB RB","194":"SB TB UB aB bB R S T U V W X Y Z"},E:{"2":"I b J D E F A B C K L G oB cB pB qB rB sB dB VB WB tB uB vB"},F:{"1":"UB","2":"0 1 2 3 4 5 6 7 8 9 F B C G M N O c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB GB wB xB yB zB VB eB 0B WB","194":"Q HB IB JB KB LB MB NB OB PB QB RB SB TB"},G:{"2":"E cB 1B fB 2B 3B 4B 5B 6B 7B 8B 9B AC BC CC DC EC FC GC HC IC JC"},H:{"2":"KC"},I:{"1":"H","2":"XB I LC MC NC OC fB PC QC"},J:{"2":"D A"},K:{"2":"A B C Q VB eB WB"},L:{"1":"H"},M:{"2":"P"},N:{"2":"A B"},O:{"2":"RC"},P:{"2":"I SC TC UC VC WC dB XC YC ZC aC"},Q:{"2":"bC"},R:{"2":"cC"},S:{"2":"dC"}},B:7,C:"Import maps"}; diff --git a/tools/node_modules/@babel/core/node_modules/caniuse-lite/data/features/imports.js b/tools/node_modules/@babel/core/node_modules/caniuse-lite/data/features/imports.js new file mode 100644 index 00000000000000..40b26fd65d181b --- /dev/null +++ b/tools/node_modules/@babel/core/node_modules/caniuse-lite/data/features/imports.js @@ -0,0 +1 @@ +module.exports={A:{A:{"2":"J D E F gB","8":"A B"},B:{"1":"R","2":"S T U V W X Y Z P a H","8":"C K L G M N O"},C:{"2":"hB XB I b J D E F A B C K L G M N O c d e f g h i j k l m jB kB","8":"n o DB EB FB YB GB ZB Q HB IB JB KB LB MB NB OB PB QB RB SB TB UB aB bB R S T iB U V W X Y Z P a H","72":"0 1 2 3 4 5 6 7 8 9 p q r s t u v w x y z AB BB CB"},D:{"1":"0 1 2 3 4 5 6 7 8 9 t u v w x y z AB BB CB DB EB FB YB GB ZB Q HB IB JB KB LB MB NB OB PB QB RB SB TB UB aB bB R","2":"I b J D E F A B C K L G M N O c d e f g h i j k l m S T U V W X Y Z P a H lB mB nB","66":"n o p q r","72":"s"},E:{"2":"I b oB cB pB","8":"J D E F A B C K L G qB rB sB dB VB WB tB uB vB"},F:{"1":"0 1 2 3 4 5 6 7 8 9 g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB GB Q HB IB JB KB","2":"F B C G M LB MB NB OB PB QB RB SB TB UB wB xB yB zB VB eB 0B WB","66":"N O c d e","72":"f"},G:{"2":"cB 1B fB 2B 3B","8":"E 4B 5B 6B 7B 8B 9B AC BC CC DC EC FC GC HC IC JC"},H:{"2":"KC"},I:{"2":"XB I H LC MC NC OC fB PC QC"},J:{"2":"D A"},K:{"1":"Q","2":"A B C VB eB WB"},L:{"2":"H"},M:{"8":"P"},N:{"2":"A B"},O:{"1":"RC"},P:{"1":"I SC TC UC VC WC dB XC YC","2":"ZC aC"},Q:{"1":"bC"},R:{"1":"cC"},S:{"1":"dC"}},B:5,C:"HTML Imports"}; diff --git a/tools/node_modules/@babel/core/node_modules/caniuse-lite/data/features/indeterminate-checkbox.js b/tools/node_modules/@babel/core/node_modules/caniuse-lite/data/features/indeterminate-checkbox.js new file mode 100644 index 00000000000000..59d941b95a07ee --- /dev/null +++ b/tools/node_modules/@babel/core/node_modules/caniuse-lite/data/features/indeterminate-checkbox.js @@ -0,0 +1 @@ +module.exports={A:{A:{"1":"J D E F A B","16":"gB"},B:{"1":"C K L G M N O R S T U V W X Y Z P a H"},C:{"1":"0 1 2 3 4 5 6 7 8 9 I b J D E F A B C K L G M N O c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB YB GB ZB Q HB IB JB KB LB MB NB OB PB QB RB SB TB UB aB bB R S T iB U V W X Y Z P a H kB","2":"hB XB","16":"jB"},D:{"1":"0 1 2 3 4 5 6 7 8 9 l m n o p q r s t u v w x y z AB BB CB DB EB FB YB GB ZB Q HB IB JB KB LB MB NB OB PB QB RB SB TB UB aB bB R S T U V W X Y Z P a H lB mB nB","2":"I b J D E F A B C K L G M N O c d e f g h i j k"},E:{"1":"J D E F A B C K L G qB rB sB dB VB WB tB uB vB","2":"I b oB cB pB"},F:{"1":"0 1 2 3 4 5 6 7 8 9 C G M N O c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB GB Q HB IB JB KB LB MB NB OB PB QB RB SB TB UB 0B WB","2":"F B wB xB yB zB VB eB"},G:{"1":"DC EC FC GC HC IC JC","2":"E cB 1B fB 2B 3B 4B 5B 6B 7B 8B 9B AC BC CC"},H:{"2":"KC"},I:{"1":"H PC QC","2":"XB I LC MC NC OC fB"},J:{"2":"D A"},K:{"1":"Q","2":"A B C VB eB WB"},L:{"1":"H"},M:{"1":"P"},N:{"1":"A B"},O:{"2":"RC"},P:{"1":"I SC TC UC VC WC dB XC YC ZC aC"},Q:{"1":"bC"},R:{"1":"cC"},S:{"1":"dC"}},B:1,C:"indeterminate checkbox"}; diff --git a/tools/node_modules/@babel/core/node_modules/caniuse-lite/data/features/indexeddb.js b/tools/node_modules/@babel/core/node_modules/caniuse-lite/data/features/indexeddb.js new file mode 100644 index 00000000000000..e60d3ecfd23fe2 --- /dev/null +++ b/tools/node_modules/@babel/core/node_modules/caniuse-lite/data/features/indexeddb.js @@ -0,0 +1 @@ +module.exports={A:{A:{"2":"J D E F gB","132":"A B"},B:{"1":"R S T U V W X Y Z P a H","132":"C K L G M N O"},C:{"1":"0 1 2 3 4 5 6 7 8 9 M N O c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB YB GB ZB Q HB IB JB KB LB MB NB OB PB QB RB SB TB UB aB bB R S T iB U V W X Y Z P a H","2":"hB XB jB kB","33":"A B C K L G","36":"I b J D E F"},D:{"1":"0 1 2 3 4 5 6 7 8 9 h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB YB GB ZB Q HB IB JB KB LB MB NB OB PB QB RB SB TB UB aB bB R S T U V W X Y Z P a H lB mB nB","2":"A","8":"I b J D E F","33":"g","36":"B C K L G M N O c d e f"},E:{"1":"A B C K L G dB VB WB tB vB","8":"I b J D oB cB pB qB","260":"E F rB sB","516":"uB"},F:{"1":"0 1 2 3 4 5 6 7 8 9 G M N O c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB GB Q HB IB JB KB LB MB NB OB PB QB RB SB TB UB","2":"F wB xB","8":"B C yB zB VB eB 0B WB"},G:{"1":"8B 9B AC BC CC DC EC FC GC HC IC","8":"cB 1B fB 2B 3B 4B","260":"E 5B 6B 7B","516":"JC"},H:{"2":"KC"},I:{"1":"H PC QC","8":"XB I LC MC NC OC fB"},J:{"1":"A","8":"D"},K:{"1":"Q","2":"A","8":"B C VB eB WB"},L:{"1":"H"},M:{"1":"P"},N:{"132":"A B"},O:{"1":"RC"},P:{"1":"I SC TC UC VC WC dB XC YC ZC aC"},Q:{"1":"bC"},R:{"1":"cC"},S:{"1":"dC"}},B:2,C:"IndexedDB"}; diff --git a/tools/node_modules/@babel/core/node_modules/caniuse-lite/data/features/indexeddb2.js b/tools/node_modules/@babel/core/node_modules/caniuse-lite/data/features/indexeddb2.js new file mode 100644 index 00000000000000..0565d3edc3f6b2 --- /dev/null +++ b/tools/node_modules/@babel/core/node_modules/caniuse-lite/data/features/indexeddb2.js @@ -0,0 +1 @@ +module.exports={A:{A:{"2":"J D E F A B gB"},B:{"1":"R S T U V W X Y Z P a H","2":"C K L G M N O"},C:{"1":"8 9 AB BB CB DB EB FB YB GB ZB Q HB IB JB KB LB MB NB OB PB QB RB SB TB UB aB bB R S T iB U V W X Y Z P a H","2":"0 hB XB I b J D E F A B C K L G M N O c d e f g h i j k l m n o p q r s t u v w x y z jB kB","132":"1 2 3","260":"4 5 6 7"},D:{"1":"FB YB GB ZB Q HB IB JB KB LB MB NB OB PB QB RB SB TB UB aB bB R S T U V W X Y Z P a H lB mB nB","2":"0 1 2 3 4 I b J D E F A B C K L G M N O c d e f g h i j k l m n o p q r s t u v w x y z","132":"5 6 7 8","260":"9 AB BB CB DB EB"},E:{"1":"B C K L G dB VB WB tB uB vB","2":"I b J D E F A oB cB pB qB rB sB"},F:{"1":"2 3 4 5 6 7 8 9 AB BB CB DB EB FB GB Q HB IB JB KB LB MB NB OB PB QB RB SB TB UB","2":"F B C G M N O c d e f g h i j k l m n o p q r wB xB yB zB VB eB 0B WB","132":"s t u v","260":"0 1 w x y z"},G:{"1":"9B AC BC CC DC EC FC GC HC IC JC","2":"E cB 1B fB 2B 3B 4B 5B 6B 7B","16":"8B"},H:{"2":"KC"},I:{"1":"H","2":"XB I LC MC NC OC fB PC QC"},J:{"2":"D A"},K:{"1":"Q","2":"A B C VB eB WB"},L:{"1":"H"},M:{"1":"P"},N:{"2":"A B"},O:{"2":"RC"},P:{"1":"UC VC WC dB XC YC ZC aC","2":"I","260":"SC TC"},Q:{"1":"bC"},R:{"2":"cC"},S:{"260":"dC"}},B:4,C:"IndexedDB 2.0"}; diff --git a/tools/node_modules/@babel/core/node_modules/caniuse-lite/data/features/inline-block.js b/tools/node_modules/@babel/core/node_modules/caniuse-lite/data/features/inline-block.js new file mode 100644 index 00000000000000..6dbe3950f662dd --- /dev/null +++ b/tools/node_modules/@babel/core/node_modules/caniuse-lite/data/features/inline-block.js @@ -0,0 +1 @@ +module.exports={A:{A:{"1":"E F A B","4":"gB","132":"J D"},B:{"1":"C K L G M N O R S T U V W X Y Z P a H"},C:{"1":"0 1 2 3 4 5 6 7 8 9 XB I b J D E F A B C K L G M N O c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB YB GB ZB Q HB IB JB KB LB MB NB OB PB QB RB SB TB UB aB bB R S T iB U V W X Y Z P a H jB kB","36":"hB"},D:{"1":"0 1 2 3 4 5 6 7 8 9 I b J D E F A B C K L G M N O c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB YB GB ZB Q HB IB JB KB LB MB NB OB PB QB RB SB TB UB aB bB R S T U V W X Y Z P a H lB mB nB"},E:{"1":"I b J D E F A B C K L G oB cB pB qB rB sB dB VB WB tB uB vB"},F:{"1":"0 1 2 3 4 5 6 7 8 9 F B C G M N O c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB GB Q HB IB JB KB LB MB NB OB PB QB RB SB TB UB wB xB yB zB VB eB 0B WB"},G:{"1":"E cB 1B fB 2B 3B 4B 5B 6B 7B 8B 9B AC BC CC DC EC FC GC HC IC JC"},H:{"1":"KC"},I:{"1":"XB I H LC MC NC OC fB PC QC"},J:{"1":"D A"},K:{"1":"A B C Q VB eB WB"},L:{"1":"H"},M:{"1":"P"},N:{"1":"A B"},O:{"1":"RC"},P:{"1":"I SC TC UC VC WC dB XC YC ZC aC"},Q:{"1":"bC"},R:{"1":"cC"},S:{"1":"dC"}},B:2,C:"CSS inline-block"}; diff --git a/tools/node_modules/@babel/core/node_modules/caniuse-lite/data/features/innertext.js b/tools/node_modules/@babel/core/node_modules/caniuse-lite/data/features/innertext.js new file mode 100644 index 00000000000000..dfd103a62b483a --- /dev/null +++ b/tools/node_modules/@babel/core/node_modules/caniuse-lite/data/features/innertext.js @@ -0,0 +1 @@ +module.exports={A:{A:{"1":"J D E F A B","16":"gB"},B:{"1":"C K L G M N O R S T U V W X Y Z P a H"},C:{"1":"2 3 4 5 6 7 8 9 AB BB CB DB EB FB YB GB ZB Q HB IB JB KB LB MB NB OB PB QB RB SB TB UB aB bB R S T iB U V W X Y Z P a H","2":"0 1 hB XB I b J D E F A B C K L G M N O c d e f g h i j k l m n o p q r s t u v w x y z jB kB"},D:{"1":"0 1 2 3 4 5 6 7 8 9 I b J D E F A B C K L G M N O c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB YB GB ZB Q HB IB JB KB LB MB NB OB PB QB RB SB TB UB aB bB R S T U V W X Y Z P a H lB mB nB"},E:{"1":"I b J D E F A B C K L G cB pB qB rB sB dB VB WB tB uB vB","16":"oB"},F:{"1":"0 1 2 3 4 5 6 7 8 9 B C G M N O c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB GB Q HB IB JB KB LB MB NB OB PB QB RB SB TB UB wB xB yB zB VB eB 0B WB","16":"F"},G:{"1":"E 1B fB 2B 3B 4B 5B 6B 7B 8B 9B AC BC CC DC EC FC GC HC IC JC","16":"cB"},H:{"1":"KC"},I:{"1":"XB I H NC OC fB PC QC","16":"LC MC"},J:{"1":"D A"},K:{"1":"A B C Q VB eB WB"},L:{"1":"H"},M:{"1":"P"},N:{"1":"A B"},O:{"1":"RC"},P:{"1":"I SC TC UC VC WC dB XC YC ZC aC"},Q:{"1":"bC"},R:{"1":"cC"},S:{"1":"dC"}},B:1,C:"HTMLElement.innerText"}; diff --git a/tools/node_modules/@babel/core/node_modules/caniuse-lite/data/features/input-autocomplete-onoff.js b/tools/node_modules/@babel/core/node_modules/caniuse-lite/data/features/input-autocomplete-onoff.js new file mode 100644 index 00000000000000..8335a7c1ed2ca5 --- /dev/null +++ b/tools/node_modules/@babel/core/node_modules/caniuse-lite/data/features/input-autocomplete-onoff.js @@ -0,0 +1 @@ +module.exports={A:{A:{"1":"J D E F A gB","132":"B"},B:{"132":"C K L G M N O","260":"R S T U V W X Y Z P a H"},C:{"1":"hB XB I b J D E F A B C K L G M N O c d e f g h i j k l m jB kB","516":"0 1 2 3 4 5 6 7 8 9 n o p q r s t u v w x y z AB BB CB DB EB FB YB GB ZB Q HB IB JB KB LB MB NB OB PB QB RB SB TB UB aB bB R S T iB U V W X Y Z P a H"},D:{"1":"N O c d e f g h i j","2":"I b J D E F A B C K L G M","132":"k l m n o p q r s t u v w x","260":"0 1 2 3 4 5 6 7 8 9 y z AB BB CB DB EB FB YB GB ZB Q HB IB JB KB LB MB NB OB PB QB RB SB TB UB aB bB R S T U V W X Y Z P a H lB mB nB"},E:{"1":"J pB qB","2":"I b oB cB","2052":"D E F A B C K L G rB sB dB VB WB tB uB vB"},F:{"1":"0 1 2 3 4 5 6 7 8 9 F B C G M N O c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB GB Q HB IB JB KB LB MB NB OB PB QB RB SB TB UB wB xB yB zB VB eB 0B WB"},G:{"2":"cB 1B fB","1025":"E 2B 3B 4B 5B 6B 7B 8B 9B AC BC CC DC EC FC GC HC IC JC"},H:{"1025":"KC"},I:{"1":"XB I H LC MC NC OC fB PC QC"},J:{"1":"D A"},K:{"1":"A B C Q VB eB WB"},L:{"1":"H"},M:{"1":"P"},N:{"2052":"A B"},O:{"1025":"RC"},P:{"1":"I SC TC UC VC WC dB XC YC ZC aC"},Q:{"260":"bC"},R:{"1":"cC"},S:{"516":"dC"}},B:1,C:"autocomplete attribute: on & off values"}; diff --git a/tools/node_modules/@babel/core/node_modules/caniuse-lite/data/features/input-color.js b/tools/node_modules/@babel/core/node_modules/caniuse-lite/data/features/input-color.js new file mode 100644 index 00000000000000..4180786d7fc266 --- /dev/null +++ b/tools/node_modules/@babel/core/node_modules/caniuse-lite/data/features/input-color.js @@ -0,0 +1 @@ +module.exports={A:{A:{"2":"J D E F A B gB"},B:{"1":"L G M N O R S T U V W X Y Z P a H","2":"C K"},C:{"1":"0 1 2 3 4 5 6 7 8 9 m n o p q r s t u v w x y z AB BB CB DB EB FB YB GB ZB Q HB IB JB KB LB MB NB OB PB QB RB SB TB UB aB bB R S T iB U V W X Y Z P a H","2":"hB XB I b J D E F A B C K L G M N O c d e f g h i j k l jB kB"},D:{"1":"0 1 2 3 4 5 6 7 8 9 d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB YB GB ZB Q HB IB JB KB LB MB NB OB PB QB RB SB TB UB aB bB R S T U V W X Y Z P a H lB mB nB","2":"I b J D E F A B C K L G M N O c"},E:{"1":"K L G WB tB uB vB","2":"I b J D E F A B C oB cB pB qB rB sB dB VB"},F:{"1":"0 1 2 3 4 5 6 7 8 9 B C N O c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB GB Q HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB eB 0B WB","2":"F G M wB xB yB zB"},G:{"2":"E cB 1B fB 2B 3B 4B 5B 6B 7B 8B 9B AC BC CC","129":"DC EC FC GC HC IC JC"},H:{"2":"KC"},I:{"1":"H PC QC","2":"XB I LC MC NC OC fB"},J:{"1":"D A"},K:{"1":"A B C Q VB eB WB"},L:{"1":"H"},M:{"1":"P"},N:{"2":"A B"},O:{"1":"RC"},P:{"1":"I SC TC UC VC WC dB XC YC ZC aC"},Q:{"1":"bC"},R:{"1":"cC"},S:{"2":"dC"}},B:1,C:"Color input type"}; diff --git a/tools/node_modules/@babel/core/node_modules/caniuse-lite/data/features/input-datetime.js b/tools/node_modules/@babel/core/node_modules/caniuse-lite/data/features/input-datetime.js new file mode 100644 index 00000000000000..f54cda84f6471f --- /dev/null +++ b/tools/node_modules/@babel/core/node_modules/caniuse-lite/data/features/input-datetime.js @@ -0,0 +1 @@ +module.exports={A:{A:{"2":"J D E F A B gB"},B:{"1":"K L G M N O R S T U V W X Y Z P a H","132":"C"},C:{"2":"0 1 2 3 4 5 6 7 8 9 hB XB I b J D E F A B C K L G M N O c d e f g h i j k l m n o p q r s t u v w x y z jB kB","1090":"AB BB CB DB","2052":"EB FB YB GB ZB Q HB IB JB KB LB MB NB OB PB QB RB SB TB UB aB bB R S T iB U V W X Y Z P a H"},D:{"1":"0 1 2 3 4 5 6 7 8 9 i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB YB GB ZB Q HB IB JB KB LB MB NB OB PB QB RB SB TB UB aB bB R S T U V W X Y Z P a H lB mB nB","2":"I b J D E F A B C K L G M N O c","2052":"d e f g h"},E:{"2":"I b J D E F A B C K L oB cB pB qB rB sB dB VB WB tB","4100":"G uB vB"},F:{"1":"0 1 2 3 4 5 6 7 8 9 F B C G M N O c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB GB Q HB IB JB KB LB MB NB OB PB QB RB SB TB UB wB xB yB zB VB eB 0B WB"},G:{"2":"cB 1B fB","260":"E 2B 3B 4B 5B 6B 7B 8B 9B AC BC CC DC EC FC GC HC IC JC"},H:{"2":"KC"},I:{"1":"H PC QC","2":"XB LC MC NC","514":"I OC fB"},J:{"1":"A","2":"D"},K:{"1":"A B C Q VB eB WB"},L:{"1":"H"},M:{"1":"P"},N:{"2":"A B"},O:{"1":"RC"},P:{"1":"I SC TC UC VC WC dB XC YC ZC aC"},Q:{"1":"bC"},R:{"1":"cC"},S:{"2052":"dC"}},B:1,C:"Date and time input types"}; diff --git a/tools/node_modules/@babel/core/node_modules/caniuse-lite/data/features/input-email-tel-url.js b/tools/node_modules/@babel/core/node_modules/caniuse-lite/data/features/input-email-tel-url.js new file mode 100644 index 00000000000000..136c0bc5066587 --- /dev/null +++ b/tools/node_modules/@babel/core/node_modules/caniuse-lite/data/features/input-email-tel-url.js @@ -0,0 +1 @@ +module.exports={A:{A:{"1":"A B","2":"J D E F gB"},B:{"1":"C K L G M N O R S T U V W X Y Z P a H"},C:{"1":"0 1 2 3 4 5 6 7 8 9 I b J D E F A B C K L G M N O c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB YB GB ZB Q HB IB JB KB LB MB NB OB PB QB RB SB TB UB aB bB R S T iB U V W X Y Z P a H","2":"hB XB jB kB"},D:{"1":"0 1 2 3 4 5 6 7 8 9 b J D E F A B C K L G M N O c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB YB GB ZB Q HB IB JB KB LB MB NB OB PB QB RB SB TB UB aB bB R S T U V W X Y Z P a H lB mB nB","2":"I"},E:{"1":"b J D E F A B C K L G pB qB rB sB dB VB WB tB uB vB","2":"I oB cB"},F:{"1":"0 1 2 3 4 5 6 7 8 9 B C G M N O c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB GB Q HB IB JB KB LB MB NB OB PB QB RB SB TB UB wB xB yB zB VB eB 0B WB","2":"F"},G:{"1":"E cB 1B fB 2B 3B 4B 5B 6B 7B 8B 9B AC BC CC DC EC FC GC HC IC JC"},H:{"2":"KC"},I:{"1":"XB I H OC fB PC QC","132":"LC MC NC"},J:{"1":"A","132":"D"},K:{"1":"A B C Q VB eB WB"},L:{"1":"H"},M:{"1":"P"},N:{"1":"A B"},O:{"1":"RC"},P:{"1":"I SC TC UC VC WC dB XC YC ZC aC"},Q:{"1":"bC"},R:{"1":"cC"},S:{"1":"dC"}},B:1,C:"Email, telephone & URL input types"}; diff --git a/tools/node_modules/@babel/core/node_modules/caniuse-lite/data/features/input-event.js b/tools/node_modules/@babel/core/node_modules/caniuse-lite/data/features/input-event.js new file mode 100644 index 00000000000000..664e828dee64b6 --- /dev/null +++ b/tools/node_modules/@babel/core/node_modules/caniuse-lite/data/features/input-event.js @@ -0,0 +1 @@ +module.exports={A:{A:{"2":"J D E gB","2561":"A B","2692":"F"},B:{"1":"R S T U V W X Y Z P a H","2561":"C K L G M N O"},C:{"1":"6 7 8 9 AB BB CB DB EB FB YB GB ZB Q HB IB JB KB LB MB NB OB PB QB RB SB TB UB aB bB R S T iB U V W X Y Z P a H","16":"hB","1537":"0 1 2 3 4 5 I b J D E F A B C K L G M N O c d e f g h i j k l m n o p q r s t u v w x y z kB","1796":"XB jB"},D:{"1":"KB LB MB NB OB PB QB RB SB TB UB aB bB R S T U V W X Y Z P a H lB mB nB","16":"I b J D E F A B C K L","1025":"0 1 2 3 4 5 6 7 8 9 s t u v w x y z AB BB CB DB EB FB YB GB ZB Q HB IB JB","1537":"G M N O c d e f g h i j k l m n o p q r"},E:{"1":"L G tB uB vB","16":"I b J oB cB","1025":"D E F A B C qB rB sB dB VB","1537":"pB","4097":"K WB"},F:{"1":"9 AB BB CB DB EB FB GB Q HB IB JB KB LB MB NB OB PB QB RB SB TB UB WB","16":"F B C wB xB yB zB VB eB","260":"0B","1025":"0 1 2 3 4 5 6 7 8 f g h i j k l m n o p q r s t u v w x y z","1537":"G M N O c d e"},G:{"16":"cB 1B fB","1025":"E 5B 6B 7B 8B 9B AC BC CC DC EC FC GC HC IC JC","1537":"2B 3B 4B"},H:{"2":"KC"},I:{"16":"LC MC","1025":"H QC","1537":"XB I NC OC fB PC"},J:{"1025":"A","1537":"D"},K:{"1":"A B C VB eB WB","1025":"Q"},L:{"1":"H"},M:{"1537":"P"},N:{"2561":"A B"},O:{"1537":"RC"},P:{"1025":"I SC TC UC VC WC dB XC YC ZC aC"},Q:{"1025":"bC"},R:{"1025":"cC"},S:{"1537":"dC"}},B:1,C:"input event"}; diff --git a/tools/node_modules/@babel/core/node_modules/caniuse-lite/data/features/input-file-accept.js b/tools/node_modules/@babel/core/node_modules/caniuse-lite/data/features/input-file-accept.js new file mode 100644 index 00000000000000..3d2d022a54e194 --- /dev/null +++ b/tools/node_modules/@babel/core/node_modules/caniuse-lite/data/features/input-file-accept.js @@ -0,0 +1 @@ +module.exports={A:{A:{"1":"A B","2":"J D E F gB"},B:{"1":"R S T U V W X Y Z P a H","2":"C K L G M N O"},C:{"1":"0 1 2 3 4 5 6 7 8 9 u v w x y z AB BB CB DB EB FB YB GB ZB Q HB IB JB KB LB MB NB OB PB QB RB SB TB UB aB bB R S T iB U V W X Y Z P a H","2":"hB XB jB kB","132":"I b J D E F A B C K L G M N O c d e f g h i j k l m n o p q r s t"},D:{"1":"0 1 2 3 4 5 6 7 8 9 j k l m n o p q r s t u v w x y z AB BB CB DB EB FB YB GB ZB Q HB IB JB KB LB MB NB OB PB QB RB SB TB UB aB bB R S T U V W X Y Z P a H lB mB nB","2":"I","16":"b J D E e f g h i","132":"F A B C K L G M N O c d"},E:{"1":"C K L G VB WB tB uB vB","2":"I b oB cB pB","132":"J D E F A B qB rB sB dB"},F:{"1":"0 1 2 3 4 5 6 7 8 9 G M N O c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB GB Q HB IB JB KB LB MB NB OB PB QB RB SB TB UB","2":"F B C wB xB yB zB VB eB 0B WB"},G:{"2":"3B 4B","132":"E 5B 6B 7B 8B 9B AC BC CC DC EC FC GC HC IC JC","514":"cB 1B fB 2B"},H:{"2":"KC"},I:{"2":"LC MC NC","260":"XB I OC fB","514":"H PC QC"},J:{"132":"A","260":"D"},K:{"2":"A B C VB eB WB","260":"Q"},L:{"260":"H"},M:{"2":"P"},N:{"514":"A","1028":"B"},O:{"2":"RC"},P:{"260":"I SC TC UC VC WC dB XC YC ZC aC"},Q:{"260":"bC"},R:{"260":"cC"},S:{"1":"dC"}},B:1,C:"accept attribute for file input"}; diff --git a/tools/node_modules/@babel/core/node_modules/caniuse-lite/data/features/input-file-directory.js b/tools/node_modules/@babel/core/node_modules/caniuse-lite/data/features/input-file-directory.js new file mode 100644 index 00000000000000..69c0a070eb8b85 --- /dev/null +++ b/tools/node_modules/@babel/core/node_modules/caniuse-lite/data/features/input-file-directory.js @@ -0,0 +1 @@ +module.exports={A:{A:{"2":"J D E F A B gB"},B:{"1":"L G M N O R S T U V W X Y Z P a H","2":"C K"},C:{"1":"7 8 9 AB BB CB DB EB FB YB GB ZB Q HB IB JB KB LB MB NB OB PB QB RB SB TB UB aB bB R S T iB U V W X Y Z P a H","2":"0 1 2 3 4 5 6 hB XB I b J D E F A B C K L G M N O c d e f g h i j k l m n o p q r s t u v w x y z jB kB"},D:{"1":"0 1 2 3 4 5 6 7 8 9 n o p q r s t u v w x y z AB BB CB DB EB FB YB GB ZB Q HB IB JB KB LB MB NB OB PB QB RB SB TB UB aB bB R S T U V W X Y Z P a H lB mB nB","2":"I b J D E F A B C K L G M N O c d e f g h i j k l m"},E:{"1":"C K L G VB WB tB uB vB","2":"I b J D E F A B oB cB pB qB rB sB dB"},F:{"1":"0 1 2 3 4 5 6 7 8 9 N O c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB GB Q HB IB JB KB LB MB NB OB PB QB RB SB TB UB","2":"F B C G M wB xB yB zB VB eB 0B WB"},G:{"2":"E cB 1B fB 2B 3B 4B 5B 6B 7B 8B 9B AC BC CC DC EC FC GC HC IC JC"},H:{"2":"KC"},I:{"2":"XB I H LC MC NC OC fB PC QC"},J:{"2":"D A"},K:{"2":"A B C Q VB eB WB"},L:{"2":"H"},M:{"2":"P"},N:{"2":"A B"},O:{"2":"RC"},P:{"2":"I SC TC UC VC WC dB XC YC ZC aC"},Q:{"1":"bC"},R:{"2":"cC"},S:{"2":"dC"}},B:7,C:"Directory selection from file input"}; diff --git a/tools/node_modules/@babel/core/node_modules/caniuse-lite/data/features/input-file-multiple.js b/tools/node_modules/@babel/core/node_modules/caniuse-lite/data/features/input-file-multiple.js new file mode 100644 index 00000000000000..5a3a35263fdcc9 --- /dev/null +++ b/tools/node_modules/@babel/core/node_modules/caniuse-lite/data/features/input-file-multiple.js @@ -0,0 +1 @@ +module.exports={A:{A:{"1":"A B","2":"J D E F gB"},B:{"1":"C K L G M N O R S T U V W X Y Z P a H"},C:{"1":"0 1 2 3 4 5 6 7 8 9 I b J D E F A B C K L G M N O c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB YB GB ZB Q HB IB JB KB LB MB NB OB PB QB RB SB TB UB aB bB R S T iB U V W X Y Z P a H kB","2":"hB XB jB"},D:{"1":"0 1 2 3 4 5 6 7 8 9 b J D E F A B C K L G M N O c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB YB GB ZB Q HB IB JB KB LB MB NB OB PB QB RB SB TB UB aB bB R S T U V W X Y Z P a H lB mB nB","2":"I"},E:{"1":"I b J D E F A B C K L G pB qB rB sB dB VB WB tB uB vB","2":"oB cB"},F:{"1":"0 1 2 3 4 5 6 7 8 9 B C G M N O c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB GB Q HB IB JB KB LB MB NB OB PB QB RB SB TB UB zB VB eB 0B WB","2":"F wB xB yB"},G:{"1":"E 3B 4B 5B 6B 7B 8B 9B AC BC CC DC EC FC GC HC IC JC","2":"cB 1B fB 2B"},H:{"130":"KC"},I:{"130":"XB I H LC MC NC OC fB PC QC"},J:{"2":"D A"},K:{"130":"A B C Q VB eB WB"},L:{"132":"H"},M:{"1":"P"},N:{"2":"A B"},O:{"130":"RC"},P:{"130":"I","132":"SC TC UC VC WC dB XC YC ZC aC"},Q:{"132":"bC"},R:{"132":"cC"},S:{"2":"dC"}},B:1,C:"Multiple file selection"}; diff --git a/tools/node_modules/@babel/core/node_modules/caniuse-lite/data/features/input-inputmode.js b/tools/node_modules/@babel/core/node_modules/caniuse-lite/data/features/input-inputmode.js new file mode 100644 index 00000000000000..d41fa8e58ecdc2 --- /dev/null +++ b/tools/node_modules/@babel/core/node_modules/caniuse-lite/data/features/input-inputmode.js @@ -0,0 +1 @@ +module.exports={A:{A:{"2":"J D E F A B gB"},B:{"1":"R S T U V W X Y Z P a H","2":"C K L G M N O"},C:{"2":"hB XB I b J D E F A B C K L G M jB kB","4":"N O c d","194":"0 1 2 3 4 5 6 7 8 9 e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB YB GB ZB Q HB IB JB KB LB MB NB OB PB QB RB SB TB UB aB bB R S T iB U V W X Y Z P a H"},D:{"1":"KB LB MB NB OB PB QB RB SB TB UB aB bB R S T U V W X Y Z P a H lB mB nB","2":"0 1 2 3 4 5 6 7 8 9 I b J D E F A B C K L G M N O c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB","66":"DB EB FB YB GB ZB Q HB IB JB"},E:{"2":"I b J D E F A B C K L G oB cB pB qB rB sB dB VB WB tB uB vB"},F:{"1":"AB BB CB DB EB FB GB Q HB IB JB KB LB MB NB OB PB QB RB SB TB UB","2":"F B C G M N O c d e f g h i j k l m n o p q r s t u v w x y z wB xB yB zB VB eB 0B WB","66":"0 1 2 3 4 5 6 7 8 9"},G:{"1":"DC EC FC GC HC IC JC","2":"E cB 1B fB 2B 3B 4B 5B 6B 7B 8B 9B AC BC CC"},H:{"2":"KC"},I:{"1":"H","2":"XB I LC MC NC OC fB PC QC"},J:{"2":"D A"},K:{"1":"Q","2":"A B C VB eB WB"},L:{"1":"H"},M:{"1":"P"},N:{"2":"A B"},O:{"2":"RC"},P:{"1":"WC dB XC YC ZC aC","2":"I SC TC UC VC"},Q:{"1":"bC"},R:{"2":"cC"},S:{"194":"dC"}},B:1,C:"inputmode attribute"}; diff --git a/tools/node_modules/@babel/core/node_modules/caniuse-lite/data/features/input-minlength.js b/tools/node_modules/@babel/core/node_modules/caniuse-lite/data/features/input-minlength.js new file mode 100644 index 00000000000000..debb50285ccd83 --- /dev/null +++ b/tools/node_modules/@babel/core/node_modules/caniuse-lite/data/features/input-minlength.js @@ -0,0 +1 @@ +module.exports={A:{A:{"2":"J D E F A B gB"},B:{"1":"N O R S T U V W X Y Z P a H","2":"C K L G M"},C:{"1":"8 9 AB BB CB DB EB FB YB GB ZB Q HB IB JB KB LB MB NB OB PB QB RB SB TB UB aB bB R S T iB U V W X Y Z P a H","2":"0 1 2 3 4 5 6 7 hB XB I b J D E F A B C K L G M N O c d e f g h i j k l m n o p q r s t u v w x y z jB kB"},D:{"1":"0 1 2 3 4 5 6 7 8 9 x y z AB BB CB DB EB FB YB GB ZB Q HB IB JB KB LB MB NB OB PB QB RB SB TB UB aB bB R S T U V W X Y Z P a H lB mB nB","2":"I b J D E F A B C K L G M N O c d e f g h i j k l m n o p q r s t u v w"},E:{"1":"B C K L G dB VB WB tB uB vB","2":"I b J D E F A oB cB pB qB rB sB"},F:{"1":"0 1 2 3 4 5 6 7 8 9 k l m n o p q r s t u v w x y z AB BB CB DB EB FB GB Q HB IB JB KB LB MB NB OB PB QB RB SB TB UB","2":"F B C G M N O c d e f g h i j wB xB yB zB VB eB 0B WB"},G:{"1":"9B AC BC CC DC EC FC GC HC IC JC","2":"E cB 1B fB 2B 3B 4B 5B 6B 7B 8B"},H:{"2":"KC"},I:{"1":"H","2":"XB I LC MC NC OC fB PC QC"},J:{"2":"D A"},K:{"1":"Q","2":"A B C VB eB WB"},L:{"1":"H"},M:{"1":"P"},N:{"2":"A B"},O:{"1":"RC"},P:{"1":"SC TC UC VC WC dB XC YC ZC aC","2":"I"},Q:{"1":"bC"},R:{"1":"cC"},S:{"2":"dC"}},B:1,C:"Minimum length attribute for input fields"}; diff --git a/tools/node_modules/@babel/core/node_modules/caniuse-lite/data/features/input-number.js b/tools/node_modules/@babel/core/node_modules/caniuse-lite/data/features/input-number.js new file mode 100644 index 00000000000000..f4508d38be5dd9 --- /dev/null +++ b/tools/node_modules/@babel/core/node_modules/caniuse-lite/data/features/input-number.js @@ -0,0 +1 @@ +module.exports={A:{A:{"2":"J D E F gB","129":"A B"},B:{"1":"R S T U V W X Y Z P a H","129":"C K","1025":"L G M N O"},C:{"2":"hB XB I b J D E F A B C K L G M N O c d e f g h i j k l jB kB","513":"0 1 2 3 4 5 6 7 8 9 m n o p q r s t u v w x y z AB BB CB DB EB FB YB GB ZB Q HB IB JB KB LB MB NB OB PB QB RB SB TB UB aB bB R S T iB U V W X Y Z P a H"},D:{"1":"0 1 2 3 4 5 6 7 8 9 J D E F A B C K L G M N O c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB YB GB ZB Q HB IB JB KB LB MB NB OB PB QB RB SB TB UB aB bB R S T U V W X Y Z P a H lB mB nB","2":"I b"},E:{"1":"b J D E F A B C K L G pB qB rB sB dB VB WB tB uB vB","2":"I oB cB"},F:{"1":"0 1 2 3 4 5 6 7 8 9 F B C G M N O c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB GB Q HB IB JB KB LB MB NB OB PB QB RB SB TB UB wB xB yB zB VB eB 0B WB"},G:{"388":"E cB 1B fB 2B 3B 4B 5B 6B 7B 8B 9B AC BC CC DC EC FC GC HC IC JC"},H:{"2":"KC"},I:{"2":"XB LC MC NC","388":"I H OC fB PC QC"},J:{"2":"D","388":"A"},K:{"1":"A B C VB eB WB","388":"Q"},L:{"388":"H"},M:{"641":"P"},N:{"388":"A B"},O:{"388":"RC"},P:{"388":"I SC TC UC VC WC dB XC YC ZC aC"},Q:{"388":"bC"},R:{"388":"cC"},S:{"513":"dC"}},B:1,C:"Number input type"}; diff --git a/tools/node_modules/@babel/core/node_modules/caniuse-lite/data/features/input-pattern.js b/tools/node_modules/@babel/core/node_modules/caniuse-lite/data/features/input-pattern.js new file mode 100644 index 00000000000000..300b0339cc01b7 --- /dev/null +++ b/tools/node_modules/@babel/core/node_modules/caniuse-lite/data/features/input-pattern.js @@ -0,0 +1 @@ +module.exports={A:{A:{"1":"A B","2":"J D E F gB"},B:{"1":"C K L G M N O R S T U V W X Y Z P a H"},C:{"1":"0 1 2 3 4 5 6 7 8 9 I b J D E F A B C K L G M N O c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB YB GB ZB Q HB IB JB KB LB MB NB OB PB QB RB SB TB UB aB bB R S T iB U V W X Y Z P a H","2":"hB XB jB kB"},D:{"1":"0 1 2 3 4 5 6 7 8 9 A B C K L G M N O c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB YB GB ZB Q HB IB JB KB LB MB NB OB PB QB RB SB TB UB aB bB R S T U V W X Y Z P a H lB mB nB","2":"I b J D E F"},E:{"1":"B C K L G dB VB WB tB uB vB","2":"I oB cB","16":"b","388":"J D E F A pB qB rB sB"},F:{"1":"0 1 2 3 4 5 6 7 8 9 B C G M N O c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB GB Q HB IB JB KB LB MB NB OB PB QB RB SB TB UB wB xB yB zB VB eB 0B WB","2":"F"},G:{"1":"9B AC BC CC DC EC FC GC HC IC JC","16":"cB 1B fB","388":"E 2B 3B 4B 5B 6B 7B 8B"},H:{"2":"KC"},I:{"1":"H QC","2":"XB I LC MC NC OC fB PC"},J:{"1":"A","2":"D"},K:{"1":"A B C VB eB WB","132":"Q"},L:{"1":"H"},M:{"1":"P"},N:{"132":"A B"},O:{"1":"RC"},P:{"1":"I SC TC UC VC WC dB XC YC ZC aC"},Q:{"1":"bC"},R:{"1":"cC"},S:{"1":"dC"}},B:1,C:"Pattern attribute for input fields"}; diff --git a/tools/node_modules/@babel/core/node_modules/caniuse-lite/data/features/input-placeholder.js b/tools/node_modules/@babel/core/node_modules/caniuse-lite/data/features/input-placeholder.js new file mode 100644 index 00000000000000..6bce161c29c178 --- /dev/null +++ b/tools/node_modules/@babel/core/node_modules/caniuse-lite/data/features/input-placeholder.js @@ -0,0 +1 @@ +module.exports={A:{A:{"1":"A B","2":"J D E F gB"},B:{"1":"C K L G M N O R S T U V W X Y Z P a H"},C:{"1":"0 1 2 3 4 5 6 7 8 9 I b J D E F A B C K L G M N O c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB YB GB ZB Q HB IB JB KB LB MB NB OB PB QB RB SB TB UB aB bB R S T iB U V W X Y Z P a H","2":"hB XB jB kB"},D:{"1":"0 1 2 3 4 5 6 7 8 9 I b J D E F A B C K L G M N O c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB YB GB ZB Q HB IB JB KB LB MB NB OB PB QB RB SB TB UB aB bB R S T U V W X Y Z P a H lB mB nB"},E:{"1":"b J D E F A B C K L G pB qB rB sB dB VB WB tB uB vB","132":"I oB cB"},F:{"1":"0 1 2 3 4 5 6 7 8 9 C G M N O c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB GB Q HB IB JB KB LB MB NB OB PB QB RB SB TB UB eB 0B WB","2":"F wB xB yB zB","132":"B VB"},G:{"1":"E cB 1B fB 2B 3B 4B 5B 6B 7B 8B 9B AC BC CC DC EC FC GC HC IC JC"},H:{"1":"KC"},I:{"1":"XB H LC MC NC fB PC QC","4":"I OC"},J:{"1":"D A"},K:{"1":"B C Q VB eB WB","2":"A"},L:{"1":"H"},M:{"1":"P"},N:{"1":"A B"},O:{"1":"RC"},P:{"1":"I SC TC UC VC WC dB XC YC ZC aC"},Q:{"1":"bC"},R:{"1":"cC"},S:{"1":"dC"}},B:1,C:"input placeholder attribute"}; diff --git a/tools/node_modules/@babel/core/node_modules/caniuse-lite/data/features/input-range.js b/tools/node_modules/@babel/core/node_modules/caniuse-lite/data/features/input-range.js new file mode 100644 index 00000000000000..a93ccf0b994a0f --- /dev/null +++ b/tools/node_modules/@babel/core/node_modules/caniuse-lite/data/features/input-range.js @@ -0,0 +1 @@ +module.exports={A:{A:{"1":"A B","2":"J D E F gB"},B:{"1":"C K L G M N O R S T U V W X Y Z P a H"},C:{"1":"0 1 2 3 4 5 6 7 8 9 g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB YB GB ZB Q HB IB JB KB LB MB NB OB PB QB RB SB TB UB aB bB R S T iB U V W X Y Z P a H","2":"hB XB I b J D E F A B C K L G M N O c d e f jB kB"},D:{"1":"0 1 2 3 4 5 6 7 8 9 I b J D E F A B C K L G M N O c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB YB GB ZB Q HB IB JB KB LB MB NB OB PB QB RB SB TB UB aB bB R S T U V W X Y Z P a H lB mB nB"},E:{"1":"I b J D E F A B C K L G oB cB pB qB rB sB dB VB WB tB uB vB"},F:{"1":"0 1 2 3 4 5 6 7 8 9 F B C G M N O c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB GB Q HB IB JB KB LB MB NB OB PB QB RB SB TB UB wB xB yB zB VB eB 0B WB"},G:{"1":"E 2B 3B 4B 5B 6B 7B 8B 9B AC BC CC DC EC FC GC HC IC JC","2":"cB 1B fB"},H:{"2":"KC"},I:{"1":"H fB PC QC","4":"XB I LC MC NC OC"},J:{"1":"D A"},K:{"1":"A B C Q VB eB WB"},L:{"1":"H"},M:{"1":"P"},N:{"1":"A B"},O:{"1":"RC"},P:{"1":"I SC TC UC VC WC dB XC YC ZC aC"},Q:{"1":"bC"},R:{"1":"cC"},S:{"1":"dC"}},B:1,C:"Range input type"}; diff --git a/tools/node_modules/@babel/core/node_modules/caniuse-lite/data/features/input-search.js b/tools/node_modules/@babel/core/node_modules/caniuse-lite/data/features/input-search.js new file mode 100644 index 00000000000000..7374c7ae7e2322 --- /dev/null +++ b/tools/node_modules/@babel/core/node_modules/caniuse-lite/data/features/input-search.js @@ -0,0 +1 @@ +module.exports={A:{A:{"2":"J D E F gB","129":"A B"},B:{"1":"R S T U V W X Y Z P a H","129":"C K L G M N O"},C:{"2":"hB XB jB kB","129":"0 1 2 3 4 5 6 7 8 9 I b J D E F A B C K L G M N O c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB YB GB ZB Q HB IB JB KB LB MB NB OB PB QB RB SB TB UB aB bB R S T iB U V W X Y Z P a H"},D:{"1":"0 1 2 3 4 5 6 7 8 9 j k l m n o p q r s t u v w x y z AB BB CB DB EB FB YB GB ZB Q HB IB JB KB LB MB NB OB PB QB RB SB TB UB aB bB R S T U V W X Y Z P a H lB mB nB","16":"I b J D E F A B C K L e f g h i","129":"G M N O c d"},E:{"1":"J D E F A B C K L G pB qB rB sB dB VB WB tB uB vB","16":"I b oB cB"},F:{"1":"0 1 2 3 4 5 6 7 8 9 C G M N O c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB GB Q HB IB JB KB LB MB NB OB PB QB RB SB TB UB 0B WB","2":"F wB xB yB zB","16":"B VB eB"},G:{"1":"E 2B 3B 4B 5B 6B 7B 8B 9B AC BC CC DC EC FC GC HC IC JC","16":"cB 1B fB"},H:{"129":"KC"},I:{"1":"H PC QC","16":"LC MC","129":"XB I NC OC fB"},J:{"1":"D","129":"A"},K:{"1":"C","2":"A","16":"B VB eB","129":"Q WB"},L:{"1":"H"},M:{"129":"P"},N:{"129":"A B"},O:{"1":"RC"},P:{"1":"I SC TC UC VC WC dB XC YC ZC aC"},Q:{"1":"bC"},R:{"1":"cC"},S:{"129":"dC"}},B:1,C:"Search input type"}; diff --git a/tools/node_modules/@babel/core/node_modules/caniuse-lite/data/features/input-selection.js b/tools/node_modules/@babel/core/node_modules/caniuse-lite/data/features/input-selection.js new file mode 100644 index 00000000000000..a92093aae7d02c --- /dev/null +++ b/tools/node_modules/@babel/core/node_modules/caniuse-lite/data/features/input-selection.js @@ -0,0 +1 @@ +module.exports={A:{A:{"1":"F A B","2":"J D E gB"},B:{"1":"C K L G M N O R S T U V W X Y Z P a H"},C:{"1":"0 1 2 3 4 5 6 7 8 9 hB XB I b J D E F A B C K L G M N O c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB YB GB ZB Q HB IB JB KB LB MB NB OB PB QB RB SB TB UB aB bB R S T iB U V W X Y Z P a H jB kB"},D:{"1":"0 1 2 3 4 5 6 7 8 9 I b J D E F A B C K L G M N O c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB YB GB ZB Q HB IB JB KB LB MB NB OB PB QB RB SB TB UB aB bB R S T U V W X Y Z P a H lB mB nB"},E:{"1":"I b J D E F A B C K L G pB qB rB sB dB VB WB tB uB vB","16":"oB cB"},F:{"1":"0 1 2 3 4 5 6 7 8 9 B C G M N O c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB GB Q HB IB JB KB LB MB NB OB PB QB RB SB TB UB zB VB eB 0B WB","16":"F wB xB yB"},G:{"1":"E 1B fB 2B 3B 4B 5B 6B 7B 8B 9B AC BC CC DC EC FC GC HC IC JC","16":"cB"},H:{"2":"KC"},I:{"1":"XB I H LC MC NC OC fB PC QC"},J:{"1":"D A"},K:{"1":"A B C Q VB eB WB"},L:{"1":"H"},M:{"1":"P"},N:{"1":"A B"},O:{"1":"RC"},P:{"1":"I SC TC UC VC WC dB XC YC ZC aC"},Q:{"1":"bC"},R:{"1":"cC"},S:{"1":"dC"}},B:1,C:"Selection controls for input & textarea"}; diff --git a/tools/node_modules/@babel/core/node_modules/caniuse-lite/data/features/insert-adjacent.js b/tools/node_modules/@babel/core/node_modules/caniuse-lite/data/features/insert-adjacent.js new file mode 100644 index 00000000000000..f5301859884cc3 --- /dev/null +++ b/tools/node_modules/@babel/core/node_modules/caniuse-lite/data/features/insert-adjacent.js @@ -0,0 +1 @@ +module.exports={A:{A:{"1":"J D E F A B","16":"gB"},B:{"1":"C K L G M N O R S T U V W X Y Z P a H"},C:{"1":"5 6 7 8 9 AB BB CB DB EB FB YB GB ZB Q HB IB JB KB LB MB NB OB PB QB RB SB TB UB aB bB R S T iB U V W X Y Z P a H","2":"0 1 2 3 4 hB XB I b J D E F A B C K L G M N O c d e f g h i j k l m n o p q r s t u v w x y z jB kB"},D:{"1":"0 1 2 3 4 5 6 7 8 9 I b J D E F A B C K L G M N O c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB YB GB ZB Q HB IB JB KB LB MB NB OB PB QB RB SB TB UB aB bB R S T U V W X Y Z P a H lB mB nB"},E:{"1":"I b J D E F A B C K L G oB cB pB qB rB sB dB VB WB tB uB vB"},F:{"1":"0 1 2 3 4 5 6 7 8 9 B C G M N O c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB GB Q HB IB JB KB LB MB NB OB PB QB RB SB TB UB wB xB yB zB VB eB 0B WB","16":"F"},G:{"1":"E cB 1B fB 2B 3B 4B 5B 6B 7B 8B 9B AC BC CC DC EC FC GC HC IC JC"},H:{"1":"KC"},I:{"1":"XB I H NC OC fB PC QC","16":"LC MC"},J:{"1":"D A"},K:{"1":"A B C Q VB eB WB"},L:{"1":"H"},M:{"1":"P"},N:{"1":"A B"},O:{"1":"RC"},P:{"1":"I SC TC UC VC WC dB XC YC ZC aC"},Q:{"1":"bC"},R:{"1":"cC"},S:{"1":"dC"}},B:1,C:"Element.insertAdjacentElement() & Element.insertAdjacentText()"}; diff --git a/tools/node_modules/@babel/core/node_modules/caniuse-lite/data/features/insertadjacenthtml.js b/tools/node_modules/@babel/core/node_modules/caniuse-lite/data/features/insertadjacenthtml.js new file mode 100644 index 00000000000000..3d87c7338c02e5 --- /dev/null +++ b/tools/node_modules/@babel/core/node_modules/caniuse-lite/data/features/insertadjacenthtml.js @@ -0,0 +1 @@ +module.exports={A:{A:{"1":"A B","16":"gB","132":"J D E F"},B:{"1":"C K L G M N O R S T U V W X Y Z P a H"},C:{"1":"0 1 2 3 4 5 6 7 8 9 E F A B C K L G M N O c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB YB GB ZB Q HB IB JB KB LB MB NB OB PB QB RB SB TB UB aB bB R S T iB U V W X Y Z P a H","2":"hB XB I b J D jB kB"},D:{"1":"0 1 2 3 4 5 6 7 8 9 I b J D E F A B C K L G M N O c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB YB GB ZB Q HB IB JB KB LB MB NB OB PB QB RB SB TB UB aB bB R S T U V W X Y Z P a H lB mB nB"},E:{"1":"I b J D E F A B C K L G pB qB rB sB dB VB WB tB uB vB","2":"oB cB"},F:{"1":"0 1 2 3 4 5 6 7 8 9 B C G M N O c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB GB Q HB IB JB KB LB MB NB OB PB QB RB SB TB UB xB yB zB VB eB 0B WB","16":"F wB"},G:{"1":"E 1B fB 2B 3B 4B 5B 6B 7B 8B 9B AC BC CC DC EC FC GC HC IC JC","16":"cB"},H:{"1":"KC"},I:{"1":"XB I H NC OC fB PC QC","16":"LC MC"},J:{"1":"D A"},K:{"1":"A B C Q VB eB WB"},L:{"1":"H"},M:{"1":"P"},N:{"1":"A B"},O:{"1":"RC"},P:{"1":"I SC TC UC VC WC dB XC YC ZC aC"},Q:{"1":"bC"},R:{"1":"cC"},S:{"1":"dC"}},B:4,C:"Element.insertAdjacentHTML()"}; diff --git a/tools/node_modules/@babel/core/node_modules/caniuse-lite/data/features/internationalization.js b/tools/node_modules/@babel/core/node_modules/caniuse-lite/data/features/internationalization.js new file mode 100644 index 00000000000000..f2aebf49450157 --- /dev/null +++ b/tools/node_modules/@babel/core/node_modules/caniuse-lite/data/features/internationalization.js @@ -0,0 +1 @@ +module.exports={A:{A:{"1":"B","2":"J D E F A gB"},B:{"1":"C K L G M N O R S T U V W X Y Z P a H"},C:{"1":"0 1 2 3 4 5 6 7 8 9 m n o p q r s t u v w x y z AB BB CB DB EB FB YB GB ZB Q HB IB JB KB LB MB NB OB PB QB RB SB TB UB aB bB R S T iB U V W X Y Z P a H","2":"hB XB I b J D E F A B C K L G M N O c d e f g h i j k l jB kB"},D:{"1":"0 1 2 3 4 5 6 7 8 9 h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB YB GB ZB Q HB IB JB KB LB MB NB OB PB QB RB SB TB UB aB bB R S T U V W X Y Z P a H lB mB nB","2":"I b J D E F A B C K L G M N O c d e f g"},E:{"1":"A B C K L G dB VB WB tB uB vB","2":"I b J D E F oB cB pB qB rB sB"},F:{"1":"0 1 2 3 4 5 6 7 8 9 G M N O c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB GB Q HB IB JB KB LB MB NB OB PB QB RB SB TB UB","2":"F B C wB xB yB zB VB eB 0B WB"},G:{"1":"8B 9B AC BC CC DC EC FC GC HC IC JC","2":"E cB 1B fB 2B 3B 4B 5B 6B 7B"},H:{"2":"KC"},I:{"1":"H PC QC","2":"XB I LC MC NC OC fB"},J:{"2":"D A"},K:{"1":"Q","2":"A B C VB eB WB"},L:{"1":"H"},M:{"1":"P"},N:{"1":"B","2":"A"},O:{"1":"RC"},P:{"1":"I SC TC UC VC WC dB XC YC ZC aC"},Q:{"2":"bC"},R:{"1":"cC"},S:{"2":"dC"}},B:6,C:"Internationalization API"}; diff --git a/tools/node_modules/@babel/core/node_modules/caniuse-lite/data/features/intersectionobserver-v2.js b/tools/node_modules/@babel/core/node_modules/caniuse-lite/data/features/intersectionobserver-v2.js new file mode 100644 index 00000000000000..6db0d4be47c0da --- /dev/null +++ b/tools/node_modules/@babel/core/node_modules/caniuse-lite/data/features/intersectionobserver-v2.js @@ -0,0 +1 @@ +module.exports={A:{A:{"2":"J D E F A B gB"},B:{"1":"R S T U V W X Y Z P a H","2":"C K L G M N O"},C:{"2":"0 1 2 3 4 5 6 7 8 9 hB XB I b J D E F A B C K L G M N O c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB YB GB ZB Q HB IB JB KB LB MB NB OB PB QB RB SB TB UB aB bB R S T iB U V W X Y Z P a H jB kB"},D:{"1":"SB TB UB aB bB R S T U V W X Y Z P a H lB mB nB","2":"0 1 2 3 4 5 6 7 8 9 I b J D E F A B C K L G M N O c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB YB GB ZB Q HB IB JB KB LB MB NB OB PB QB RB"},E:{"2":"I b J D E F A B C K L G oB cB pB qB rB sB dB VB WB tB uB vB"},F:{"1":"Q HB IB JB KB LB MB NB OB PB QB RB SB TB UB","2":"0 1 2 3 4 5 6 7 8 9 F B C G M N O c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB GB wB xB yB zB VB eB 0B WB"},G:{"2":"E cB 1B fB 2B 3B 4B 5B 6B 7B 8B 9B AC BC CC DC EC FC GC HC IC JC"},H:{"2":"KC"},I:{"1":"H","2":"XB I LC MC NC OC fB PC QC"},J:{"2":"D A"},K:{"2":"A B C Q VB eB WB"},L:{"1":"H"},M:{"2":"P"},N:{"2":"A B"},O:{"2":"RC"},P:{"1":"XC YC ZC aC","2":"I SC TC UC VC WC dB"},Q:{"2":"bC"},R:{"2":"cC"},S:{"2":"dC"}},B:7,C:"IntersectionObserver V2"}; diff --git a/tools/node_modules/@babel/core/node_modules/caniuse-lite/data/features/intersectionobserver.js b/tools/node_modules/@babel/core/node_modules/caniuse-lite/data/features/intersectionobserver.js new file mode 100644 index 00000000000000..081b0d61631bb4 --- /dev/null +++ b/tools/node_modules/@babel/core/node_modules/caniuse-lite/data/features/intersectionobserver.js @@ -0,0 +1 @@ +module.exports={A:{A:{"2":"J D E F A B gB"},B:{"1":"M N O","2":"C K L","516":"G","1025":"R S T U V W X Y Z P a H"},C:{"1":"CB DB EB FB YB GB ZB Q HB IB JB KB LB MB NB OB PB QB RB SB TB UB aB bB R S T iB U V W X Y Z P a H","2":"0 1 2 3 4 5 6 7 8 hB XB I b J D E F A B C K L G M N O c d e f g h i j k l m n o p q r s t u v w x y z jB kB","194":"9 AB BB"},D:{"1":"FB YB GB ZB Q HB IB","2":"0 1 2 3 4 5 6 7 I b J D E F A B C K L G M N O c d e f g h i j k l m n o p q r s t u v w x y z","516":"8 9 AB BB CB DB EB","1025":"JB KB LB MB NB OB PB QB RB SB TB UB aB bB R S T U V W X Y Z P a H lB mB nB"},E:{"1":"K L G WB tB uB vB","2":"I b J D E F A B C oB cB pB qB rB sB dB VB"},F:{"1":"2 3 4 5 6 7 8 9 AB BB CB DB EB FB GB Q HB","2":"F B C G M N O c d e f g h i j k l m n o p q r s t u wB xB yB zB VB eB 0B WB","516":"0 1 v w x y z","1025":"IB JB KB LB MB NB OB PB QB RB SB TB UB"},G:{"1":"DC EC FC GC HC IC JC","2":"E cB 1B fB 2B 3B 4B 5B 6B 7B 8B 9B AC BC CC"},H:{"2":"KC"},I:{"2":"XB I LC MC NC OC fB PC QC","1025":"H"},J:{"2":"D A"},K:{"1":"Q","2":"A B C VB eB WB"},L:{"1":"H"},M:{"1":"P"},N:{"2":"A B"},O:{"516":"RC"},P:{"1":"UC VC WC dB XC YC ZC aC","2":"I","516":"SC TC"},Q:{"1025":"bC"},R:{"2":"cC"},S:{"2":"dC"}},B:5,C:"IntersectionObserver"}; diff --git a/tools/node_modules/@babel/core/node_modules/caniuse-lite/data/features/intl-pluralrules.js b/tools/node_modules/@babel/core/node_modules/caniuse-lite/data/features/intl-pluralrules.js new file mode 100644 index 00000000000000..67b04b404caa8a --- /dev/null +++ b/tools/node_modules/@babel/core/node_modules/caniuse-lite/data/features/intl-pluralrules.js @@ -0,0 +1 @@ +module.exports={A:{A:{"2":"J D E F A B gB"},B:{"1":"R S T U V W X Y Z P a H","2":"C K L G M N","130":"O"},C:{"1":"FB YB GB ZB Q HB IB JB KB LB MB NB OB PB QB RB SB TB UB aB bB R S T iB U V W X Y Z P a H","2":"0 1 2 3 4 5 6 7 8 9 hB XB I b J D E F A B C K L G M N O c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB jB kB"},D:{"1":"HB IB JB KB LB MB NB OB PB QB RB SB TB UB aB bB R S T U V W X Y Z P a H lB mB nB","2":"0 1 2 3 4 5 6 7 8 9 I b J D E F A B C K L G M N O c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB YB GB ZB Q"},E:{"1":"K L G tB uB vB","2":"I b J D E F A B C oB cB pB qB rB sB dB VB WB"},F:{"1":"7 8 9 AB BB CB DB EB FB GB Q HB IB JB KB LB MB NB OB PB QB RB SB TB UB","2":"0 1 2 3 4 5 6 F B C G M N O c d e f g h i j k l m n o p q r s t u v w x y z wB xB yB zB VB eB 0B WB"},G:{"1":"EC FC GC HC IC JC","2":"E cB 1B fB 2B 3B 4B 5B 6B 7B 8B 9B AC BC CC DC"},H:{"2":"KC"},I:{"1":"H","2":"XB I LC MC NC OC fB PC QC"},J:{"2":"D A"},K:{"1":"Q","2":"A B C VB eB WB"},L:{"1":"H"},M:{"1":"P"},N:{"2":"A B"},O:{"1":"RC"},P:{"1":"VC WC dB XC YC ZC aC","2":"I SC TC UC"},Q:{"2":"bC"},R:{"2":"cC"},S:{"2":"dC"}},B:6,C:"Intl.PluralRules API"}; diff --git a/tools/node_modules/@babel/core/node_modules/caniuse-lite/data/features/intrinsic-width.js b/tools/node_modules/@babel/core/node_modules/caniuse-lite/data/features/intrinsic-width.js new file mode 100644 index 00000000000000..0bbdf5d8749199 --- /dev/null +++ b/tools/node_modules/@babel/core/node_modules/caniuse-lite/data/features/intrinsic-width.js @@ -0,0 +1 @@ +module.exports={A:{A:{"2":"J D E F A B gB"},B:{"2":"C K L G M N O","1537":"R S T U V W X Y Z P a H"},C:{"2":"hB","932":"0 1 2 3 4 5 6 7 8 9 XB I b J D E F A B C K L G M N O c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB YB GB ZB Q HB IB JB jB kB","2308":"KB LB MB NB OB PB QB RB SB TB UB aB bB R S T iB U V W X Y Z P a H"},D:{"2":"I b J D E F A B C K L G M N O c d e","545":"0 1 2 f g h i j k l m n o p q r s t u v w x y z","1537":"3 4 5 6 7 8 9 AB BB CB DB EB FB YB GB ZB Q HB IB JB KB LB MB NB OB PB QB RB SB TB UB aB bB R S T U V W X Y Z P a H lB mB nB"},E:{"2":"I b J oB cB pB","516":"B C K L G VB WB tB uB vB","548":"F A sB dB","676":"D E qB rB"},F:{"2":"F B C wB xB yB zB VB eB 0B WB","513":"r","545":"G M N O c d e f g h i j k l m n o p","1537":"0 1 2 3 4 5 6 7 8 9 q s t u v w x y z AB BB CB DB EB FB GB Q HB IB JB KB LB MB NB OB PB QB RB SB TB UB"},G:{"2":"cB 1B fB 2B 3B","516":"IC JC","548":"6B 7B 8B 9B AC BC CC DC EC FC GC HC","676":"E 4B 5B"},H:{"2":"KC"},I:{"2":"XB I LC MC NC OC fB","545":"PC QC","1537":"H"},J:{"2":"D","545":"A"},K:{"2":"A B C VB eB WB","1537":"Q"},L:{"1537":"H"},M:{"2308":"P"},N:{"2":"A B"},O:{"1":"RC"},P:{"545":"I","1537":"SC TC UC VC WC dB XC YC ZC aC"},Q:{"545":"bC"},R:{"1537":"cC"},S:{"932":"dC"}},B:5,C:"Intrinsic & Extrinsic Sizing"}; diff --git a/tools/node_modules/@babel/core/node_modules/caniuse-lite/data/features/jpeg2000.js b/tools/node_modules/@babel/core/node_modules/caniuse-lite/data/features/jpeg2000.js new file mode 100644 index 00000000000000..028953f19b5c4b --- /dev/null +++ b/tools/node_modules/@babel/core/node_modules/caniuse-lite/data/features/jpeg2000.js @@ -0,0 +1 @@ +module.exports={A:{A:{"2":"J D E F A B gB"},B:{"2":"C K L G M N O R S T U V W X Y Z P a H"},C:{"2":"0 1 2 3 4 5 6 7 8 9 hB XB I b J D E F A B C K L G M N O c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB YB GB ZB Q HB IB JB KB LB MB NB OB PB QB RB SB TB UB aB bB R S T iB U V W X Y Z P a H jB kB"},D:{"2":"0 1 2 3 4 5 6 7 8 9 I b J D E F A B C K L G M N O c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB YB GB ZB Q HB IB JB KB LB MB NB OB PB QB RB SB TB UB aB bB R S T U V W X Y Z P a H lB mB nB"},E:{"1":"J D E F A B C K L G qB rB sB dB VB WB tB uB vB","2":"I oB cB","129":"b pB"},F:{"2":"0 1 2 3 4 5 6 7 8 9 F B C G M N O c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB GB Q HB IB JB KB LB MB NB OB PB QB RB SB TB UB wB xB yB zB VB eB 0B WB"},G:{"1":"E 2B 3B 4B 5B 6B 7B 8B 9B AC BC CC DC EC FC GC HC IC JC","2":"cB 1B fB"},H:{"2":"KC"},I:{"2":"XB I H LC MC NC OC fB PC QC"},J:{"2":"D A"},K:{"2":"A B C Q VB eB WB"},L:{"2":"H"},M:{"2":"P"},N:{"2":"A B"},O:{"2":"RC"},P:{"2":"I SC TC UC VC WC dB XC YC ZC aC"},Q:{"2":"bC"},R:{"2":"cC"},S:{"2":"dC"}},B:6,C:"JPEG 2000 image format"}; diff --git a/tools/node_modules/@babel/core/node_modules/caniuse-lite/data/features/jpegxl.js b/tools/node_modules/@babel/core/node_modules/caniuse-lite/data/features/jpegxl.js new file mode 100644 index 00000000000000..4e6ee5baf8db37 --- /dev/null +++ b/tools/node_modules/@babel/core/node_modules/caniuse-lite/data/features/jpegxl.js @@ -0,0 +1 @@ +module.exports={A:{A:{"2":"J D E F A B gB"},B:{"2":"C K L G M N O R S T U V W X Y Z P a","578":"H"},C:{"2":"0 1 2 3 4 5 6 7 8 9 hB XB I b J D E F A B C K L G M N O c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB YB GB ZB Q HB IB JB KB LB MB NB OB PB QB RB SB TB UB aB bB R S T iB U V W X Y Z P jB kB","322":"a H"},D:{"2":"0 1 2 3 4 5 6 7 8 9 I b J D E F A B C K L G M N O c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB YB GB ZB Q HB IB JB KB LB MB NB OB PB QB RB SB TB UB aB bB R S T U V W X Y Z P a","194":"H lB mB nB"},E:{"2":"I b J D E F A B C K L G oB cB pB qB rB sB dB VB WB tB uB vB"},F:{"2":"0 1 2 3 4 5 6 7 8 9 F B C G M N O c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB GB Q HB IB JB KB LB MB NB OB PB QB RB SB TB UB wB xB yB zB VB eB 0B WB"},G:{"2":"E cB 1B fB 2B 3B 4B 5B 6B 7B 8B 9B AC BC CC DC EC FC GC HC IC JC"},H:{"2":"KC"},I:{"2":"XB I H LC MC NC OC fB PC QC"},J:{"2":"D A"},K:{"2":"A B C Q VB eB WB"},L:{"2":"H"},M:{"2":"P"},N:{"2":"A B"},O:{"2":"RC"},P:{"2":"I SC TC UC VC WC dB XC YC ZC aC"},Q:{"2":"bC"},R:{"2":"cC"},S:{"2":"dC"}},B:6,C:"JPEG XL image format"}; diff --git a/tools/node_modules/@babel/core/node_modules/caniuse-lite/data/features/jpegxr.js b/tools/node_modules/@babel/core/node_modules/caniuse-lite/data/features/jpegxr.js new file mode 100644 index 00000000000000..6f9ed9f01da6d9 --- /dev/null +++ b/tools/node_modules/@babel/core/node_modules/caniuse-lite/data/features/jpegxr.js @@ -0,0 +1 @@ +module.exports={A:{A:{"1":"F A B","2":"J D E gB"},B:{"1":"C K L G M N O","2":"R S T U V W X Y Z P a H"},C:{"2":"0 1 2 3 4 5 6 7 8 9 hB XB I b J D E F A B C K L G M N O c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB YB GB ZB Q HB IB JB KB LB MB NB OB PB QB RB SB TB UB aB bB R S T iB U V W X Y Z P a H jB kB"},D:{"2":"0 1 2 3 4 5 6 7 8 9 I b J D E F A B C K L G M N O c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB YB GB ZB Q HB IB JB KB LB MB NB OB PB QB RB SB TB UB aB bB R S T U V W X Y Z P a H lB mB nB"},E:{"2":"I b J D E F A B C K L G oB cB pB qB rB sB dB VB WB tB uB vB"},F:{"2":"0 1 2 3 4 5 6 7 8 9 F B C G M N O c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB GB Q HB IB JB KB LB MB NB OB PB QB RB SB TB UB wB xB yB zB VB eB 0B WB"},G:{"2":"E cB 1B fB 2B 3B 4B 5B 6B 7B 8B 9B AC BC CC DC EC FC GC HC IC JC"},H:{"2":"KC"},I:{"2":"XB I H LC MC NC OC fB PC QC"},J:{"2":"D A"},K:{"2":"A B C Q VB eB WB"},L:{"2":"H"},M:{"2":"P"},N:{"1":"A B"},O:{"2":"RC"},P:{"2":"I SC TC UC VC WC dB XC YC ZC aC"},Q:{"2":"bC"},R:{"2":"cC"},S:{"2":"dC"}},B:6,C:"JPEG XR image format"}; diff --git a/tools/node_modules/@babel/core/node_modules/caniuse-lite/data/features/js-regexp-lookbehind.js b/tools/node_modules/@babel/core/node_modules/caniuse-lite/data/features/js-regexp-lookbehind.js new file mode 100644 index 00000000000000..bf2ca585536353 --- /dev/null +++ b/tools/node_modules/@babel/core/node_modules/caniuse-lite/data/features/js-regexp-lookbehind.js @@ -0,0 +1 @@ +module.exports={A:{A:{"2":"J D E F A B gB"},B:{"1":"R S T U V W X Y Z P a H","2":"C K L G M N O"},C:{"1":"bB R S T iB U V W X Y Z P a H","2":"0 1 2 3 4 5 6 7 8 9 hB XB I b J D E F A B C K L G M N O c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB YB GB ZB Q HB IB JB KB LB MB NB OB PB QB RB SB TB UB aB jB kB"},D:{"1":"Q HB IB JB KB LB MB NB OB PB QB RB SB TB UB aB bB R S T U V W X Y Z P a H lB mB nB","2":"0 1 2 3 4 5 6 7 8 9 I b J D E F A B C K L G M N O c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB YB GB ZB"},E:{"2":"I b J D E F A B C K L G oB cB pB qB rB sB dB VB WB tB uB vB"},F:{"1":"6 7 8 9 AB BB CB DB EB FB GB Q HB IB JB KB LB MB NB OB PB QB RB SB TB UB","2":"0 1 2 3 4 5 F B C G M N O c d e f g h i j k l m n o p q r s t u v w x y z wB xB yB zB VB eB 0B WB"},G:{"2":"E cB 1B fB 2B 3B 4B 5B 6B 7B 8B 9B AC BC CC DC EC FC GC HC IC JC"},H:{"2":"KC"},I:{"1":"H","2":"XB I LC MC NC OC fB PC QC"},J:{"2":"D A"},K:{"1":"Q","2":"A B C VB eB WB"},L:{"1":"H"},M:{"1":"P"},N:{"2":"A B"},O:{"1":"RC"},P:{"1":"VC WC dB XC YC ZC aC","2":"I SC TC UC"},Q:{"1":"bC"},R:{"2":"cC"},S:{"2":"dC"}},B:6,C:"Lookbehind in JS regular expressions"}; diff --git a/tools/node_modules/@babel/core/node_modules/caniuse-lite/data/features/json.js b/tools/node_modules/@babel/core/node_modules/caniuse-lite/data/features/json.js new file mode 100644 index 00000000000000..5be8598c051af7 --- /dev/null +++ b/tools/node_modules/@babel/core/node_modules/caniuse-lite/data/features/json.js @@ -0,0 +1 @@ +module.exports={A:{A:{"1":"F A B","2":"J D gB","129":"E"},B:{"1":"C K L G M N O R S T U V W X Y Z P a H"},C:{"1":"0 1 2 3 4 5 6 7 8 9 I b J D E F A B C K L G M N O c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB YB GB ZB Q HB IB JB KB LB MB NB OB PB QB RB SB TB UB aB bB R S T iB U V W X Y Z P a H jB kB","2":"hB XB"},D:{"1":"0 1 2 3 4 5 6 7 8 9 I b J D E F A B C K L G M N O c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB YB GB ZB Q HB IB JB KB LB MB NB OB PB QB RB SB TB UB aB bB R S T U V W X Y Z P a H lB mB nB"},E:{"1":"I b J D E F A B C K L G pB qB rB sB dB VB WB tB uB vB","2":"oB cB"},F:{"1":"0 1 2 3 4 5 6 7 8 9 B C G M N O c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB GB Q HB IB JB KB LB MB NB OB PB QB RB SB TB UB yB zB VB eB 0B WB","2":"F wB xB"},G:{"1":"E 1B fB 2B 3B 4B 5B 6B 7B 8B 9B AC BC CC DC EC FC GC HC IC JC","2":"cB"},H:{"1":"KC"},I:{"1":"XB I H LC MC NC OC fB PC QC"},J:{"1":"D A"},K:{"1":"A B C Q VB eB WB"},L:{"1":"H"},M:{"1":"P"},N:{"1":"A B"},O:{"1":"RC"},P:{"1":"I SC TC UC VC WC dB XC YC ZC aC"},Q:{"1":"bC"},R:{"1":"cC"},S:{"1":"dC"}},B:6,C:"JSON parsing"}; diff --git a/tools/node_modules/@babel/core/node_modules/caniuse-lite/data/features/justify-content-space-evenly.js b/tools/node_modules/@babel/core/node_modules/caniuse-lite/data/features/justify-content-space-evenly.js new file mode 100644 index 00000000000000..87869383af20f4 --- /dev/null +++ b/tools/node_modules/@babel/core/node_modules/caniuse-lite/data/features/justify-content-space-evenly.js @@ -0,0 +1 @@ +module.exports={A:{A:{"2":"J D E F A B gB"},B:{"1":"R S T U V W X Y Z P a H","2":"C K L G","132":"M N O"},C:{"1":"9 AB BB CB DB EB FB YB GB ZB Q HB IB JB KB LB MB NB OB PB QB RB SB TB UB aB bB R S T iB U V W X Y Z P a H","2":"0 1 2 3 4 5 6 7 8 hB XB I b J D E F A B C K L G M N O c d e f g h i j k l m n o p q r s t u v w x y z jB kB"},D:{"1":"GB ZB Q HB IB JB KB LB MB NB OB PB QB RB SB TB UB aB bB R S T U V W X Y Z P a H lB mB nB","2":"0 1 2 3 4 5 6 7 8 9 I b J D E F A B C K L G M N O c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB","132":"EB FB YB"},E:{"1":"B C K L G VB WB tB uB vB","2":"I b J D E F A oB cB pB qB rB sB","132":"dB"},F:{"1":"4 5 6 7 8 9 AB BB CB DB EB FB GB Q HB IB JB KB LB MB NB OB PB QB RB SB TB UB","2":"0 F B C G M N O c d e f g h i j k l m n o p q r s t u v w x y z wB xB yB zB VB eB 0B WB","132":"1 2 3"},G:{"1":"AC BC CC DC EC FC GC HC IC JC","2":"E cB 1B fB 2B 3B 4B 5B 6B 7B 8B","132":"9B"},H:{"2":"KC"},I:{"1":"H","2":"XB I LC MC NC OC fB PC QC"},J:{"2":"D A"},K:{"1":"Q","2":"A B C VB eB WB"},L:{"1":"H"},M:{"1":"P"},N:{"2":"A B"},O:{"132":"RC"},P:{"1":"VC WC dB XC YC ZC aC","2":"I SC TC","132":"UC"},Q:{"1":"bC"},R:{"2":"cC"},S:{"132":"dC"}},B:5,C:"CSS justify-content: space-evenly"}; diff --git a/tools/node_modules/@babel/core/node_modules/caniuse-lite/data/features/kerning-pairs-ligatures.js b/tools/node_modules/@babel/core/node_modules/caniuse-lite/data/features/kerning-pairs-ligatures.js new file mode 100644 index 00000000000000..4e5e986a09c8bd --- /dev/null +++ b/tools/node_modules/@babel/core/node_modules/caniuse-lite/data/features/kerning-pairs-ligatures.js @@ -0,0 +1 @@ +module.exports={A:{A:{"2":"J D E F A B gB"},B:{"1":"O R S T U V W X Y Z P a H","2":"C K L G M N"},C:{"1":"0 1 2 3 4 5 6 7 8 9 XB I b J D E F A B C K L G M N O c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB YB GB ZB Q HB IB JB KB LB MB NB OB PB QB RB SB TB UB aB bB R S T iB U V W X Y Z P a H jB kB","2":"hB"},D:{"1":"0 1 2 3 4 5 6 7 8 9 I b J D E F A B C K L G M N O c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB YB GB ZB Q HB IB JB KB LB MB NB OB PB QB RB SB TB UB aB bB R S T U V W X Y Z P a H lB mB nB"},E:{"1":"b J D E F A B C K L G pB qB rB sB dB VB WB tB uB vB","2":"I oB cB"},F:{"1":"0 1 2 3 4 5 6 7 8 9 G M N O c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB GB Q HB IB JB KB LB MB NB OB PB QB RB SB TB UB","2":"F B C wB xB yB zB VB eB 0B WB"},G:{"1":"E fB 2B 3B 4B 5B 6B 7B 8B 9B AC BC CC DC EC FC GC HC IC JC","16":"cB 1B"},H:{"2":"KC"},I:{"1":"H PC QC","2":"LC MC NC","132":"XB I OC fB"},J:{"1":"A","2":"D"},K:{"1":"Q","2":"A B C VB eB WB"},L:{"1":"H"},M:{"1":"P"},N:{"2":"A B"},O:{"1":"RC"},P:{"1":"I SC TC UC VC WC dB XC YC ZC aC"},Q:{"1":"bC"},R:{"1":"cC"},S:{"1":"dC"}},B:7,C:"High-quality kerning pairs & ligatures"}; diff --git a/tools/node_modules/@babel/core/node_modules/caniuse-lite/data/features/keyboardevent-charcode.js b/tools/node_modules/@babel/core/node_modules/caniuse-lite/data/features/keyboardevent-charcode.js new file mode 100644 index 00000000000000..68772632cc0b94 --- /dev/null +++ b/tools/node_modules/@babel/core/node_modules/caniuse-lite/data/features/keyboardevent-charcode.js @@ -0,0 +1 @@ +module.exports={A:{A:{"1":"F A B","2":"J D E gB"},B:{"1":"C K L G M N O R S T U V W X Y Z P a H"},C:{"1":"0 1 2 3 4 5 6 7 8 9 XB I b J D E F A B C K L G M N O c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB YB GB ZB Q HB IB JB KB LB MB NB OB PB QB RB SB TB UB aB bB R S T iB U V W X Y Z P a H jB kB","16":"hB"},D:{"1":"0 1 2 3 4 5 6 7 8 9 I b J D E F A B C K L G M N O c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB YB GB ZB Q HB IB JB KB LB MB NB OB PB QB RB SB TB UB aB bB R S T U V W X Y Z P a H lB mB nB"},E:{"1":"I b J D E F A B C K L G pB qB rB sB dB VB WB tB uB vB","16":"oB cB"},F:{"1":"0 1 2 3 4 5 6 7 8 9 G M N O c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB GB Q HB IB JB KB LB MB NB OB PB QB RB SB TB UB WB","2":"F B wB xB yB zB VB eB 0B","16":"C"},G:{"1":"E 2B 3B 4B 5B 6B 7B 8B 9B AC BC CC DC EC FC GC HC IC JC","16":"cB 1B fB"},H:{"2":"KC"},I:{"1":"XB I H NC OC fB PC QC","16":"LC MC"},J:{"1":"D A"},K:{"1":"WB","2":"A B VB eB","16":"C","130":"Q"},L:{"1":"H"},M:{"130":"P"},N:{"130":"A B"},O:{"1":"RC"},P:{"1":"I SC TC UC VC WC dB XC YC ZC aC"},Q:{"1":"bC"},R:{"1":"cC"},S:{"1":"dC"}},B:7,C:"KeyboardEvent.charCode"}; diff --git a/tools/node_modules/@babel/core/node_modules/caniuse-lite/data/features/keyboardevent-code.js b/tools/node_modules/@babel/core/node_modules/caniuse-lite/data/features/keyboardevent-code.js new file mode 100644 index 00000000000000..3b052ac5044193 --- /dev/null +++ b/tools/node_modules/@babel/core/node_modules/caniuse-lite/data/features/keyboardevent-code.js @@ -0,0 +1 @@ +module.exports={A:{A:{"2":"J D E F A B gB"},B:{"1":"R S T U V W X Y Z P a H","2":"C K L G M N O"},C:{"1":"0 1 2 3 4 5 6 7 8 9 v w x y z AB BB CB DB EB FB YB GB ZB Q HB IB JB KB LB MB NB OB PB QB RB SB TB UB aB bB R S T iB U V W X Y Z P a H","2":"hB XB I b J D E F A B C K L G M N O c d e f g h i j k l m n o p q r s t u jB kB"},D:{"1":"5 6 7 8 9 AB BB CB DB EB FB YB GB ZB Q HB IB JB KB LB MB NB OB PB QB RB SB TB UB aB bB R S T U V W X Y Z P a H lB mB nB","2":"I b J D E F A B C K L G M N O c d e f g h i j k l m n o p q r s t u v w x y","194":"0 1 2 3 4 z"},E:{"1":"B C K L G dB VB WB tB uB vB","2":"I b J D E F A oB cB pB qB rB sB"},F:{"1":"0 1 2 3 4 5 6 7 8 9 s t u v w x y z AB BB CB DB EB FB GB Q HB IB JB KB LB MB NB OB PB QB RB SB TB UB","2":"F B C G M N O c d e f g h i j k l wB xB yB zB VB eB 0B WB","194":"m n o p q r"},G:{"1":"9B AC BC CC DC EC FC GC HC IC JC","2":"E cB 1B fB 2B 3B 4B 5B 6B 7B 8B"},H:{"2":"KC"},I:{"2":"XB I H LC MC NC OC fB PC QC"},J:{"2":"D A"},K:{"2":"A B C VB eB WB","194":"Q"},L:{"194":"H"},M:{"1":"P"},N:{"2":"A B"},O:{"2":"RC"},P:{"2":"I","194":"SC TC UC VC WC dB XC YC ZC aC"},Q:{"2":"bC"},R:{"194":"cC"},S:{"1":"dC"}},B:5,C:"KeyboardEvent.code"}; diff --git a/tools/node_modules/@babel/core/node_modules/caniuse-lite/data/features/keyboardevent-getmodifierstate.js b/tools/node_modules/@babel/core/node_modules/caniuse-lite/data/features/keyboardevent-getmodifierstate.js new file mode 100644 index 00000000000000..a3b3c8d559943d --- /dev/null +++ b/tools/node_modules/@babel/core/node_modules/caniuse-lite/data/features/keyboardevent-getmodifierstate.js @@ -0,0 +1 @@ +module.exports={A:{A:{"1":"F A B","2":"J D E gB"},B:{"1":"C K L G M N O R S T U V W X Y Z P a H"},C:{"1":"0 1 2 3 4 5 6 7 8 9 G M N O c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB YB GB ZB Q HB IB JB KB LB MB NB OB PB QB RB SB TB UB aB bB R S T iB U V W X Y Z P a H","2":"hB XB I b J D E F A B C K L jB kB"},D:{"1":"0 1 2 3 4 5 6 7 8 9 n o p q r s t u v w x y z AB BB CB DB EB FB YB GB ZB Q HB IB JB KB LB MB NB OB PB QB RB SB TB UB aB bB R S T U V W X Y Z P a H lB mB nB","2":"I b J D E F A B C K L G M N O c d e f g h i j k l m"},E:{"1":"B C K L G dB VB WB tB uB vB","2":"I b J D E F A oB cB pB qB rB sB"},F:{"1":"0 1 2 3 4 5 6 7 8 9 N O c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB GB Q HB IB JB KB LB MB NB OB PB QB RB SB TB UB WB","2":"F B G M wB xB yB zB VB eB 0B","16":"C"},G:{"1":"9B AC BC CC DC EC FC GC HC IC JC","2":"E cB 1B fB 2B 3B 4B 5B 6B 7B 8B"},H:{"2":"KC"},I:{"1":"H PC QC","2":"XB I LC MC NC OC fB"},J:{"2":"D A"},K:{"1":"Q WB","2":"A B VB eB","16":"C"},L:{"1":"H"},M:{"1":"P"},N:{"1":"A B"},O:{"1":"RC"},P:{"1":"I SC TC UC VC WC dB XC YC ZC aC"},Q:{"1":"bC"},R:{"1":"cC"},S:{"1":"dC"}},B:5,C:"KeyboardEvent.getModifierState()"}; diff --git a/tools/node_modules/@babel/core/node_modules/caniuse-lite/data/features/keyboardevent-key.js b/tools/node_modules/@babel/core/node_modules/caniuse-lite/data/features/keyboardevent-key.js new file mode 100644 index 00000000000000..d52975d74fa448 --- /dev/null +++ b/tools/node_modules/@babel/core/node_modules/caniuse-lite/data/features/keyboardevent-key.js @@ -0,0 +1 @@ +module.exports={A:{A:{"2":"J D E gB","260":"F A B"},B:{"1":"R S T U V W X Y Z P a H","260":"C K L G M N O"},C:{"1":"0 1 2 3 4 5 6 7 8 9 m n o p q r s t u v w x y z AB BB CB DB EB FB YB GB ZB Q HB IB JB KB LB MB NB OB PB QB RB SB TB UB aB bB R S T iB U V W X Y Z P a H","2":"hB XB I b J D E F A B C K L G M N O c d e f jB kB","132":"g h i j k l"},D:{"1":"8 9 AB BB CB DB EB FB YB GB ZB Q HB IB JB KB LB MB NB OB PB QB RB SB TB UB aB bB R S T U V W X Y Z P a H lB mB nB","2":"0 1 2 3 4 5 6 7 I b J D E F A B C K L G M N O c d e f g h i j k l m n o p q r s t u v w x y z"},E:{"1":"B C K L G dB VB WB tB uB vB","2":"I b J D E F A oB cB pB qB rB sB"},F:{"1":"0 1 2 3 4 5 6 7 8 9 v w x y z AB BB CB DB EB FB GB Q HB IB JB KB LB MB NB OB PB QB RB SB TB UB WB","2":"F B G M N O c d e f g h i j k l m n o p q r s t u wB xB yB zB VB eB 0B","16":"C"},G:{"1":"9B AC BC CC DC EC FC GC HC IC JC","2":"E cB 1B fB 2B 3B 4B 5B 6B 7B 8B"},H:{"1":"KC"},I:{"1":"H","2":"XB I LC MC NC OC fB PC QC"},J:{"2":"D A"},K:{"1":"WB","2":"A B VB eB","16":"C Q"},L:{"1":"H"},M:{"1":"P"},N:{"260":"A B"},O:{"1":"RC"},P:{"1":"SC TC UC VC WC dB XC YC ZC aC","2":"I"},Q:{"2":"bC"},R:{"2":"cC"},S:{"1":"dC"}},B:5,C:"KeyboardEvent.key"}; diff --git a/tools/node_modules/@babel/core/node_modules/caniuse-lite/data/features/keyboardevent-location.js b/tools/node_modules/@babel/core/node_modules/caniuse-lite/data/features/keyboardevent-location.js new file mode 100644 index 00000000000000..bb82639f488eb5 --- /dev/null +++ b/tools/node_modules/@babel/core/node_modules/caniuse-lite/data/features/keyboardevent-location.js @@ -0,0 +1 @@ +module.exports={A:{A:{"1":"F A B","2":"J D E gB"},B:{"1":"C K L G M N O R S T U V W X Y Z P a H"},C:{"1":"0 1 2 3 4 5 6 7 8 9 G M N O c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB YB GB ZB Q HB IB JB KB LB MB NB OB PB QB RB SB TB UB aB bB R S T iB U V W X Y Z P a H","2":"hB XB I b J D E F A B C K L jB kB"},D:{"1":"0 1 2 3 4 5 6 7 8 9 n o p q r s t u v w x y z AB BB CB DB EB FB YB GB ZB Q HB IB JB KB LB MB NB OB PB QB RB SB TB UB aB bB R S T U V W X Y Z P a H lB mB nB","132":"I b J D E F A B C K L G M N O c d e f g h i j k l m"},E:{"1":"D E F A B C K L G qB rB sB dB VB WB tB uB vB","16":"J oB cB","132":"I b pB"},F:{"1":"0 1 2 3 4 5 6 7 8 9 N O c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB GB Q HB IB JB KB LB MB NB OB PB QB RB SB TB UB WB","2":"F B wB xB yB zB VB eB 0B","16":"C","132":"G M"},G:{"1":"E 5B 6B 7B 8B 9B AC BC CC DC EC FC GC HC IC JC","16":"cB 1B fB","132":"2B 3B 4B"},H:{"2":"KC"},I:{"1":"H PC QC","16":"LC MC","132":"XB I NC OC fB"},J:{"132":"D A"},K:{"1":"Q WB","2":"A B VB eB","16":"C"},L:{"1":"H"},M:{"1":"P"},N:{"1":"A B"},O:{"1":"RC"},P:{"1":"I SC TC UC VC WC dB XC YC ZC aC"},Q:{"1":"bC"},R:{"1":"cC"},S:{"1":"dC"}},B:5,C:"KeyboardEvent.location"}; diff --git a/tools/node_modules/@babel/core/node_modules/caniuse-lite/data/features/keyboardevent-which.js b/tools/node_modules/@babel/core/node_modules/caniuse-lite/data/features/keyboardevent-which.js new file mode 100644 index 00000000000000..646ef3fe12a1a4 --- /dev/null +++ b/tools/node_modules/@babel/core/node_modules/caniuse-lite/data/features/keyboardevent-which.js @@ -0,0 +1 @@ +module.exports={A:{A:{"1":"F A B","2":"J D E gB"},B:{"1":"C K L G M N O R S T U V W X Y Z P a H"},C:{"1":"0 1 2 3 4 5 6 7 8 9 hB XB I b J D E F A B C K L G M N O c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB YB GB ZB Q HB IB JB KB LB MB NB OB PB QB RB SB TB UB aB bB R S T iB U V W X Y Z P a H jB kB"},D:{"1":"0 1 2 3 4 5 6 7 8 9 I b J D E F A B C K L G M N O c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB YB GB ZB Q HB IB JB KB LB MB NB OB PB QB RB SB TB UB aB bB R S T U V W X Y Z P a H lB mB nB"},E:{"1":"J D E F A B C K L G pB qB rB sB dB VB WB tB uB vB","2":"I oB cB","16":"b"},F:{"1":"0 1 2 3 4 5 6 7 8 9 B C G M N O c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB GB Q HB IB JB KB LB MB NB OB PB QB RB SB TB UB xB yB zB VB eB 0B WB","16":"F wB"},G:{"1":"E 2B 3B 4B 5B 6B 7B 8B 9B AC BC CC DC EC FC GC HC IC JC","16":"cB 1B fB"},H:{"2":"KC"},I:{"1":"XB I H NC OC fB","16":"LC MC","132":"PC QC"},J:{"1":"D A"},K:{"1":"A B C VB eB WB","132":"Q"},L:{"132":"H"},M:{"132":"P"},N:{"1":"A B"},O:{"1":"RC"},P:{"2":"I","132":"SC TC UC VC WC dB XC YC ZC aC"},Q:{"1":"bC"},R:{"132":"cC"},S:{"1":"dC"}},B:7,C:"KeyboardEvent.which"}; diff --git a/tools/node_modules/@babel/core/node_modules/caniuse-lite/data/features/lazyload.js b/tools/node_modules/@babel/core/node_modules/caniuse-lite/data/features/lazyload.js new file mode 100644 index 00000000000000..a97669592824aa --- /dev/null +++ b/tools/node_modules/@babel/core/node_modules/caniuse-lite/data/features/lazyload.js @@ -0,0 +1 @@ +module.exports={A:{A:{"1":"B","2":"J D E F A gB"},B:{"1":"C K L G M N O","2":"R S T U V W X Y Z P a H"},C:{"2":"0 1 2 3 4 5 6 7 8 9 hB XB I b J D E F A B C K L G M N O c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB YB GB ZB Q HB IB JB KB LB MB NB OB PB QB RB SB TB UB aB bB R S T iB U V W X Y Z P a H jB kB"},D:{"2":"0 1 2 3 4 5 6 7 8 9 I b J D E F A B C K L G M N O c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB YB GB ZB Q HB IB JB KB LB MB NB OB PB QB RB SB TB UB aB bB R S T U V W X Y Z P a H lB mB nB"},E:{"2":"I b J D E F A B C K L G oB cB pB qB rB sB dB VB WB tB uB vB"},F:{"2":"0 1 2 3 4 5 6 7 8 9 F B C G M N O c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB GB Q HB IB JB KB LB MB NB OB PB QB RB SB TB UB wB xB yB zB VB eB 0B WB"},G:{"2":"E cB 1B fB 2B 3B 4B 5B 6B 7B 8B 9B AC BC CC DC EC FC GC HC IC JC"},H:{"2":"KC"},I:{"2":"XB I H LC MC NC OC fB PC QC"},J:{"2":"D A"},K:{"2":"A B C Q VB eB WB"},L:{"2":"H"},M:{"2":"P"},N:{"1":"B","2":"A"},O:{"2":"RC"},P:{"2":"I SC TC UC VC WC dB XC YC ZC aC"},Q:{"2":"bC"},R:{"2":"cC"},S:{"2":"dC"}},B:7,C:"Resource Hints: Lazyload"}; diff --git a/tools/node_modules/@babel/core/node_modules/caniuse-lite/data/features/let.js b/tools/node_modules/@babel/core/node_modules/caniuse-lite/data/features/let.js new file mode 100644 index 00000000000000..a44ed3804183f4 --- /dev/null +++ b/tools/node_modules/@babel/core/node_modules/caniuse-lite/data/features/let.js @@ -0,0 +1 @@ +module.exports={A:{A:{"2":"J D E F A gB","2052":"B"},B:{"1":"C K L G M N O R S T U V W X Y Z P a H"},C:{"1":"1 2 3 4 5 6 7 8 9 AB BB CB DB EB FB YB GB ZB Q HB IB JB KB LB MB NB OB PB QB RB SB TB UB aB bB R S T iB U V W X Y Z P a H","194":"0 hB XB I b J D E F A B C K L G M N O c d e f g h i j k l m n o p q r s t u v w x y z jB kB"},D:{"1":"6 7 8 9 AB BB CB DB EB FB YB GB ZB Q HB IB JB KB LB MB NB OB PB QB RB SB TB UB aB bB R S T U V W X Y Z P a H lB mB nB","2":"I b J D E F A B C K L G M N O","322":"c d e f g h i j k l m n o p q r s t u v w x","516":"0 1 2 3 4 5 y z"},E:{"1":"B C K L G VB WB tB uB vB","2":"I b J D E F oB cB pB qB rB sB","1028":"A dB"},F:{"1":"0 1 2 3 4 5 6 7 8 9 t u v w x y z AB BB CB DB EB FB GB Q HB IB JB KB LB MB NB OB PB QB RB SB TB UB","2":"F B C wB xB yB zB VB eB 0B WB","322":"G M N O c d e f g h i j k","516":"l m n o p q r s"},G:{"1":"AC BC CC DC EC FC GC HC IC JC","2":"E cB 1B fB 2B 3B 4B 5B 6B 7B","1028":"8B 9B"},H:{"2":"KC"},I:{"1":"H","2":"XB I LC MC NC OC fB PC QC"},J:{"2":"D A"},K:{"1":"Q","2":"A B C VB eB WB"},L:{"1":"H"},M:{"1":"P"},N:{"1":"B","2":"A"},O:{"1":"RC"},P:{"1":"SC TC UC VC WC dB XC YC ZC aC","516":"I"},Q:{"1":"bC"},R:{"516":"cC"},S:{"1":"dC"}},B:6,C:"let"}; diff --git a/tools/node_modules/@babel/core/node_modules/caniuse-lite/data/features/link-icon-png.js b/tools/node_modules/@babel/core/node_modules/caniuse-lite/data/features/link-icon-png.js new file mode 100644 index 00000000000000..803be409374107 --- /dev/null +++ b/tools/node_modules/@babel/core/node_modules/caniuse-lite/data/features/link-icon-png.js @@ -0,0 +1 @@ +module.exports={A:{A:{"1":"B","2":"J D E F A gB"},B:{"1":"C K L G M N O","129":"R S T U V W X Y Z P a H"},C:{"1":"0 1 2 3 4 5 6 7 8 9 hB XB I b J D E F A B C K L G M N O c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB YB GB ZB Q HB IB JB KB LB MB NB OB PB QB RB SB TB UB aB bB R S T iB U V W X Y Z P a H jB kB"},D:{"129":"0 1 2 3 4 5 6 7 8 9 I b J D E F A B C K L G M N O c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB YB GB ZB Q HB IB JB KB LB MB NB OB PB QB RB SB TB UB aB bB R S T U V W X Y Z P a H lB mB nB"},E:{"257":"I b J D E F A B C K L G oB cB pB qB rB sB dB VB WB tB uB vB"},F:{"129":"0 1 2 3 4 5 6 7 8 9 G M N O c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB GB Q HB IB JB KB LB MB NB OB PB QB RB SB TB UB","513":"F B C wB xB yB zB VB eB 0B WB"},G:{"1026":"E cB 1B fB 2B 3B 4B 5B 6B 7B 8B 9B AC BC CC DC EC FC GC HC IC JC"},H:{"1026":"KC"},I:{"1":"XB I LC MC NC OC fB","513":"H PC QC"},J:{"1":"D","1026":"A"},K:{"1026":"A B C Q VB eB WB"},L:{"1":"H"},M:{"1":"P"},N:{"1026":"A B"},O:{"257":"RC"},P:{"1":"SC TC UC VC WC dB XC YC ZC aC","513":"I"},Q:{"129":"bC"},R:{"1":"cC"},S:{"1":"dC"}},B:1,C:"PNG favicons"}; diff --git a/tools/node_modules/@babel/core/node_modules/caniuse-lite/data/features/link-icon-svg.js b/tools/node_modules/@babel/core/node_modules/caniuse-lite/data/features/link-icon-svg.js new file mode 100644 index 00000000000000..07f4274d95b4ed --- /dev/null +++ b/tools/node_modules/@babel/core/node_modules/caniuse-lite/data/features/link-icon-svg.js @@ -0,0 +1 @@ +module.exports={A:{A:{"2":"J D E F A B gB"},B:{"2":"C K L G M N O R","3073":"S T U V W X Y Z P a H"},C:{"2":"hB XB jB kB","260":"I b J D E F A B C K L G M N O c d e f g h i j k l m n o p q r s t u v w x","1025":"0 1 2 3 4 5 6 7 8 9 y z AB BB CB DB EB FB YB GB ZB Q HB IB JB KB LB MB NB OB PB QB RB SB TB UB aB bB R S T iB U V W X Y Z P a H"},D:{"2":"0 1 2 3 4 5 6 7 8 9 I b J D E F A B C K L G M N O c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB YB GB ZB Q HB IB JB KB LB MB NB OB PB QB RB SB TB UB aB bB R","3073":"S T U V W X Y Z P a H lB mB nB"},E:{"2":"I b J D E oB cB pB qB rB","516":"F A B C K L G sB dB VB WB tB uB vB"},F:{"1":"1 2 3 4 5 6 7 8 9 AB","2":"0 F B C G M N O c d e f g h i j k l m n o p q r s t u v w x y z BB CB DB EB FB GB Q HB IB JB KB wB xB yB zB VB eB 0B WB","3073":"LB MB NB OB PB QB RB SB TB UB"},G:{"130":"E cB 1B fB 2B 3B 4B 5B","516":"6B 7B 8B 9B AC BC CC DC EC FC GC HC IC JC"},H:{"130":"KC"},I:{"2":"XB I H LC MC NC OC fB PC QC"},J:{"2":"D","130":"A"},K:{"130":"A B C Q VB eB WB"},L:{"3073":"H"},M:{"2":"P"},N:{"130":"A B"},O:{"2":"RC"},P:{"2":"I SC TC UC VC WC dB XC YC ZC aC"},Q:{"2":"bC"},R:{"2":"cC"},S:{"1025":"dC"}},B:1,C:"SVG favicons"}; diff --git a/tools/node_modules/@babel/core/node_modules/caniuse-lite/data/features/link-rel-dns-prefetch.js b/tools/node_modules/@babel/core/node_modules/caniuse-lite/data/features/link-rel-dns-prefetch.js new file mode 100644 index 00000000000000..6fb3c498a8a006 --- /dev/null +++ b/tools/node_modules/@babel/core/node_modules/caniuse-lite/data/features/link-rel-dns-prefetch.js @@ -0,0 +1 @@ +module.exports={A:{A:{"1":"A B","2":"J D E gB","132":"F"},B:{"1":"C K L G M N O R S T U V W X Y Z P a H"},C:{"2":"hB XB","260":"0 1 2 3 4 5 6 7 8 9 I b J D E F A B C K L G M N O c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB YB GB ZB Q HB IB JB KB LB MB NB OB PB QB RB SB TB UB aB bB R S T iB U V W X Y Z P a H jB kB"},D:{"1":"0 1 2 3 4 5 6 7 8 9 I b J D E F A B C K L G M N O c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB YB GB ZB Q HB IB JB KB LB MB NB OB PB QB RB SB TB UB aB bB R S T U V W X Y Z P a H lB mB nB"},E:{"1":"b J D E F A B C K L G pB qB rB sB dB VB WB tB uB vB","2":"I oB cB"},F:{"1":"0 1 2 3 4 5 6 7 8 9 G M N O c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB GB Q HB IB JB KB LB MB NB OB PB QB RB SB TB UB","2":"F B C wB xB yB zB VB eB 0B WB"},G:{"16":"E cB 1B fB 2B 3B 4B 5B 6B 7B 8B 9B AC BC CC DC EC FC GC HC IC JC"},H:{"2":"KC"},I:{"16":"XB I H LC MC NC OC fB PC QC"},J:{"16":"D A"},K:{"16":"A B C Q VB eB WB"},L:{"1":"H"},M:{"1":"P"},N:{"1":"B","2":"A"},O:{"16":"RC"},P:{"1":"SC TC UC VC WC dB XC YC ZC aC","16":"I"},Q:{"1":"bC"},R:{"1":"cC"},S:{"1":"dC"}},B:5,C:"Resource Hints: dns-prefetch"}; diff --git a/tools/node_modules/@babel/core/node_modules/caniuse-lite/data/features/link-rel-modulepreload.js b/tools/node_modules/@babel/core/node_modules/caniuse-lite/data/features/link-rel-modulepreload.js new file mode 100644 index 00000000000000..cf8c6757f83bd3 --- /dev/null +++ b/tools/node_modules/@babel/core/node_modules/caniuse-lite/data/features/link-rel-modulepreload.js @@ -0,0 +1 @@ +module.exports={A:{A:{"2":"J D E F A B gB"},B:{"1":"R S T U V W X Y Z P a H","2":"C K L G M N O"},C:{"2":"0 1 2 3 4 5 6 7 8 9 hB XB I b J D E F A B C K L G M N O c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB YB GB ZB Q HB IB JB KB LB MB NB OB PB QB RB SB TB UB aB bB R S T iB U V W X Y Z P a H jB kB"},D:{"1":"KB LB MB NB OB PB QB RB SB TB UB aB bB R S T U V W X Y Z P a H lB mB nB","2":"0 1 2 3 4 5 6 7 8 9 I b J D E F A B C K L G M N O c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB YB GB ZB Q HB IB JB"},E:{"2":"I b J D E F A B C K L G oB cB pB qB rB sB dB VB WB tB uB vB"},F:{"1":"AB BB CB DB EB FB GB Q HB IB JB KB LB MB NB OB PB QB RB SB TB UB","2":"0 1 2 3 4 5 6 7 8 9 F B C G M N O c d e f g h i j k l m n o p q r s t u v w x y z wB xB yB zB VB eB 0B WB"},G:{"2":"E cB 1B fB 2B 3B 4B 5B 6B 7B 8B 9B AC BC CC DC EC FC GC HC IC JC"},H:{"2":"KC"},I:{"1":"H","2":"XB I LC MC NC OC fB PC QC"},J:{"2":"D A"},K:{"1":"Q","2":"A B C VB eB WB"},L:{"1":"H"},M:{"2":"P"},N:{"2":"A B"},O:{"2":"RC"},P:{"1":"WC dB XC YC ZC aC","2":"I SC TC UC VC"},Q:{"16":"bC"},R:{"16":"cC"},S:{"2":"dC"}},B:1,C:"Resource Hints: modulepreload"}; diff --git a/tools/node_modules/@babel/core/node_modules/caniuse-lite/data/features/link-rel-preconnect.js b/tools/node_modules/@babel/core/node_modules/caniuse-lite/data/features/link-rel-preconnect.js new file mode 100644 index 00000000000000..e74f9ec9489e0a --- /dev/null +++ b/tools/node_modules/@babel/core/node_modules/caniuse-lite/data/features/link-rel-preconnect.js @@ -0,0 +1 @@ +module.exports={A:{A:{"2":"J D E F A B gB"},B:{"1":"R S T U V W X Y Z P a H","2":"C K L","260":"G M N O"},C:{"1":"0 1 2 3 4 5 6 7 8 9 x y z AB BB CB DB EB FB YB GB ZB Q HB IB JB KB LB MB NB OB","2":"hB XB I b J D E F A B C K L G M N O c d e f g h i j k l m n o p q r s t u v PB QB RB SB TB UB aB bB R S T iB U V W X Y Z P a H jB kB","129":"w"},D:{"1":"3 4 5 6 7 8 9 AB BB CB DB EB FB YB GB ZB Q HB IB JB KB LB MB NB OB PB QB RB SB TB UB aB bB R S T U V W X Y Z P a H lB mB nB","2":"0 1 2 I b J D E F A B C K L G M N O c d e f g h i j k l m n o p q r s t u v w x y z"},E:{"1":"C K L G VB WB tB uB vB","2":"I b J D E F A B oB cB pB qB rB sB dB"},F:{"1":"0 1 2 3 4 5 6 7 8 9 q r s t u v w x y z AB BB CB DB EB FB GB Q HB IB JB KB LB MB NB OB PB QB RB SB TB UB","2":"F B C G M N O c d e f g h i j k l m n o p wB xB yB zB VB eB 0B WB"},G:{"1":"BC CC DC EC FC GC HC IC JC","2":"E cB 1B fB 2B 3B 4B 5B 6B 7B 8B 9B AC"},H:{"2":"KC"},I:{"1":"H","2":"XB I LC MC NC OC fB PC QC"},J:{"2":"D A"},K:{"1":"Q","2":"A B C VB eB WB"},L:{"1":"H"},M:{"16":"P"},N:{"2":"A B"},O:{"16":"RC"},P:{"1":"SC TC UC VC WC dB XC YC ZC aC","2":"I"},Q:{"1":"bC"},R:{"1":"cC"},S:{"1":"dC"}},B:5,C:"Resource Hints: preconnect"}; diff --git a/tools/node_modules/@babel/core/node_modules/caniuse-lite/data/features/link-rel-prefetch.js b/tools/node_modules/@babel/core/node_modules/caniuse-lite/data/features/link-rel-prefetch.js new file mode 100644 index 00000000000000..8d1ddc7e50b825 --- /dev/null +++ b/tools/node_modules/@babel/core/node_modules/caniuse-lite/data/features/link-rel-prefetch.js @@ -0,0 +1 @@ +module.exports={A:{A:{"1":"B","2":"J D E F A gB"},B:{"1":"C K L G M N O R S T U V W X Y Z P a H"},C:{"1":"0 1 2 3 4 5 6 7 8 9 hB XB I b J D E F A B C K L G M N O c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB YB GB ZB Q HB IB JB KB LB MB NB OB PB QB RB SB TB UB aB bB R S T iB U V W X Y Z P a H jB kB"},D:{"1":"0 1 2 3 4 5 6 7 8 9 E F A B C K L G M N O c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB YB GB ZB Q HB IB JB KB LB MB NB OB PB QB RB SB TB UB aB bB R S T U V W X Y Z P a H lB mB nB","2":"I b J D"},E:{"2":"I b J D E F A B C K oB cB pB qB rB sB dB VB WB","194":"L G tB uB vB"},F:{"1":"0 1 2 3 4 5 6 7 8 9 G M N O c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB GB Q HB IB JB KB LB MB NB OB PB QB RB SB TB UB","2":"F B C wB xB yB zB VB eB 0B WB"},G:{"2":"E cB 1B fB 2B 3B 4B 5B 6B 7B 8B 9B AC BC CC DC EC FC GC","194":"HC IC JC"},H:{"2":"KC"},I:{"1":"I H PC QC","2":"XB LC MC NC OC fB"},J:{"2":"D A"},K:{"1":"Q","2":"A B C VB eB WB"},L:{"1":"H"},M:{"1":"P"},N:{"1":"B","2":"A"},O:{"1":"RC"},P:{"1":"I SC TC UC VC WC dB XC YC ZC aC"},Q:{"1":"bC"},R:{"1":"cC"},S:{"1":"dC"}},B:5,C:"Resource Hints: prefetch"}; diff --git a/tools/node_modules/@babel/core/node_modules/caniuse-lite/data/features/link-rel-preload.js b/tools/node_modules/@babel/core/node_modules/caniuse-lite/data/features/link-rel-preload.js new file mode 100644 index 00000000000000..d4bf45d9248d3e --- /dev/null +++ b/tools/node_modules/@babel/core/node_modules/caniuse-lite/data/features/link-rel-preload.js @@ -0,0 +1 @@ +module.exports={A:{A:{"2":"J D E F A B gB"},B:{"1":"R S T U V W X Y Z P a H","2":"C K L G M","1028":"N O"},C:{"1":"W X Y Z P a H","2":"0 1 2 3 4 5 6 7 8 9 hB XB I b J D E F A B C K L G M N O c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB jB kB","132":"DB","578":"EB FB YB GB ZB Q HB IB JB KB LB MB NB OB PB QB RB SB TB UB aB bB R S T iB U V"},D:{"1":"7 8 9 AB BB CB DB EB FB YB GB ZB Q HB IB JB KB LB MB NB OB PB QB RB SB TB UB aB bB R S T U V W X Y Z P a H lB mB nB","2":"0 1 2 3 4 5 6 I b J D E F A B C K L G M N O c d e f g h i j k l m n o p q r s t u v w x y z"},E:{"1":"C K L G VB WB tB uB vB","2":"I b J D E F A oB cB pB qB rB sB dB","322":"B"},F:{"1":"0 1 2 3 4 5 6 7 8 9 u v w x y z AB BB CB DB EB FB GB Q HB IB JB KB LB MB NB OB PB QB RB SB TB UB","2":"F B C G M N O c d e f g h i j k l m n o p q r s t wB xB yB zB VB eB 0B WB"},G:{"1":"BC CC DC EC FC GC HC IC JC","2":"E cB 1B fB 2B 3B 4B 5B 6B 7B 8B 9B","322":"AC"},H:{"2":"KC"},I:{"1":"H","2":"XB I LC MC NC OC fB PC QC"},J:{"2":"D A"},K:{"2":"A B C Q VB eB WB"},L:{"1":"H"},M:{"1":"P"},N:{"2":"A B"},O:{"2":"RC"},P:{"1":"SC TC UC VC WC dB XC YC ZC aC","2":"I"},Q:{"2":"bC"},R:{"2":"cC"},S:{"2":"dC"}},B:4,C:"Resource Hints: preload"}; diff --git a/tools/node_modules/@babel/core/node_modules/caniuse-lite/data/features/link-rel-prerender.js b/tools/node_modules/@babel/core/node_modules/caniuse-lite/data/features/link-rel-prerender.js new file mode 100644 index 00000000000000..85f249a6412f40 --- /dev/null +++ b/tools/node_modules/@babel/core/node_modules/caniuse-lite/data/features/link-rel-prerender.js @@ -0,0 +1 @@ +module.exports={A:{A:{"1":"B","2":"J D E F A gB"},B:{"1":"R S T U V W X Y Z P a H","2":"C K L G M N O"},C:{"2":"0 1 2 3 4 5 6 7 8 9 hB XB I b J D E F A B C K L G M N O c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB YB GB ZB Q HB IB JB KB LB MB NB OB PB QB RB SB TB UB aB bB R S T iB U V W X Y Z P a H jB kB"},D:{"1":"0 1 2 3 4 5 6 7 8 9 K L G M N O c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB YB GB ZB Q HB IB JB KB LB MB NB OB PB QB RB SB TB UB aB bB R S T U V W X Y Z P a H lB mB nB","2":"I b J D E F A B C"},E:{"2":"I b J D E F A B C K L G oB cB pB qB rB sB dB VB WB tB uB vB"},F:{"1":"0 1 2 3 4 5 6 7 8 9 G M N O c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB GB Q HB IB JB KB LB MB NB OB PB QB RB SB TB UB","2":"F B C wB xB yB zB VB eB 0B WB"},G:{"2":"E cB 1B fB 2B 3B 4B 5B 6B 7B 8B 9B AC BC CC DC EC FC GC HC IC JC"},H:{"2":"KC"},I:{"2":"XB I H LC MC NC OC fB PC QC"},J:{"2":"D A"},K:{"2":"A B C Q VB eB WB"},L:{"1":"H"},M:{"2":"P"},N:{"1":"B","2":"A"},O:{"2":"RC"},P:{"1":"I SC TC UC VC WC dB XC YC ZC aC"},Q:{"2":"bC"},R:{"1":"cC"},S:{"2":"dC"}},B:5,C:"Resource Hints: prerender"}; diff --git a/tools/node_modules/@babel/core/node_modules/caniuse-lite/data/features/loading-lazy-attr.js b/tools/node_modules/@babel/core/node_modules/caniuse-lite/data/features/loading-lazy-attr.js new file mode 100644 index 00000000000000..558338da24181c --- /dev/null +++ b/tools/node_modules/@babel/core/node_modules/caniuse-lite/data/features/loading-lazy-attr.js @@ -0,0 +1 @@ +module.exports={A:{A:{"2":"J D E F A B gB"},B:{"1":"R S T U V W X Y Z P a H","2":"C K L G M N O"},C:{"2":"0 1 2 3 4 5 6 7 8 9 hB XB I b J D E F A B C K L G M N O c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB YB GB ZB Q HB IB JB KB LB MB NB OB PB QB RB SB jB kB","132":"TB UB aB bB R S T iB U V W X Y Z P a H"},D:{"1":"aB bB R S T U V W X Y Z P a H lB mB nB","2":"0 1 2 3 4 5 6 7 8 9 I b J D E F A B C K L G M N O c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB YB GB ZB Q HB IB JB KB LB MB NB OB PB QB RB SB","66":"TB UB"},E:{"2":"I b J D E F A B C K oB cB pB qB rB sB dB VB WB","322":"L G tB uB vB"},F:{"1":"IB JB KB LB MB NB OB PB QB RB SB TB UB","2":"0 1 2 3 4 5 6 7 8 9 F B C G M N O c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB GB wB xB yB zB VB eB 0B WB","66":"Q HB"},G:{"2":"E cB 1B fB 2B 3B 4B 5B 6B 7B 8B 9B AC BC CC DC EC FC GC","322":"HC IC JC"},H:{"2":"KC"},I:{"1":"H","2":"XB I LC MC NC OC fB PC QC"},J:{"2":"D A"},K:{"2":"A B C Q VB eB WB"},L:{"1":"H"},M:{"132":"P"},N:{"2":"A B"},O:{"2":"RC"},P:{"1":"YC ZC aC","2":"I SC TC UC VC WC dB XC"},Q:{"2":"bC"},R:{"2":"cC"},S:{"2":"dC"}},B:1,C:"Lazy loading via attribute for images & iframes"}; diff --git a/tools/node_modules/@babel/core/node_modules/caniuse-lite/data/features/localecompare.js b/tools/node_modules/@babel/core/node_modules/caniuse-lite/data/features/localecompare.js new file mode 100644 index 00000000000000..47d72a766bb611 --- /dev/null +++ b/tools/node_modules/@babel/core/node_modules/caniuse-lite/data/features/localecompare.js @@ -0,0 +1 @@ +module.exports={A:{A:{"1":"B","16":"gB","132":"J D E F A"},B:{"1":"C K L G M N O R S T U V W X Y Z P a H"},C:{"1":"0 1 2 3 4 5 6 7 8 9 m n o p q r s t u v w x y z AB BB CB DB EB FB YB GB ZB Q HB IB JB KB LB MB NB OB PB QB RB SB TB UB aB bB R S T iB U V W X Y Z P a H","132":"hB XB I b J D E F A B C K L G M N O c d e f g h i j k l jB kB"},D:{"1":"0 1 2 3 4 5 6 7 8 9 h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB YB GB ZB Q HB IB JB KB LB MB NB OB PB QB RB SB TB UB aB bB R S T U V W X Y Z P a H lB mB nB","132":"I b J D E F A B C K L G M N O c d e f g"},E:{"1":"A B C K L G dB VB WB tB uB vB","132":"I b J D E F oB cB pB qB rB sB"},F:{"1":"0 1 2 3 4 5 6 7 8 9 G M N O c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB GB Q HB IB JB KB LB MB NB OB PB QB RB SB TB UB","16":"F B C wB xB yB zB VB eB 0B","132":"WB"},G:{"1":"8B 9B AC BC CC DC EC FC GC HC IC JC","132":"E cB 1B fB 2B 3B 4B 5B 6B 7B"},H:{"132":"KC"},I:{"1":"H PC QC","132":"XB I LC MC NC OC fB"},J:{"132":"D A"},K:{"1":"Q","16":"A B C VB eB","132":"WB"},L:{"1":"H"},M:{"1":"P"},N:{"1":"B","132":"A"},O:{"1":"RC"},P:{"1":"SC TC UC VC WC dB XC YC ZC aC","132":"I"},Q:{"1":"bC"},R:{"1":"cC"},S:{"4":"dC"}},B:6,C:"localeCompare()"}; diff --git a/tools/node_modules/@babel/core/node_modules/caniuse-lite/data/features/magnetometer.js b/tools/node_modules/@babel/core/node_modules/caniuse-lite/data/features/magnetometer.js new file mode 100644 index 00000000000000..2030c7f642f89d --- /dev/null +++ b/tools/node_modules/@babel/core/node_modules/caniuse-lite/data/features/magnetometer.js @@ -0,0 +1 @@ +module.exports={A:{A:{"2":"J D E F A B gB"},B:{"1":"R S T U V W X Y Z P a H","2":"C K L G M N O"},C:{"2":"0 1 2 3 4 5 6 7 8 9 hB XB I b J D E F A B C K L G M N O c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB YB GB ZB Q HB IB JB KB LB MB NB OB PB QB RB SB TB UB aB bB R S T iB U V W X Y Z P a H jB kB"},D:{"1":"LB MB NB OB PB QB RB SB TB UB aB bB R S T U V W X Y Z P a H lB mB nB","2":"0 1 2 3 4 5 6 7 8 9 I b J D E F A B C K L G M N O c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB","194":"FB YB GB ZB Q HB IB JB KB"},E:{"2":"I b J D E F A B C K L G oB cB pB qB rB sB dB VB WB tB uB vB"},F:{"1":"BB CB DB EB FB GB Q HB IB JB KB LB MB NB OB PB QB RB SB TB UB","2":"0 1 2 3 4 5 6 7 8 9 F B C G M N O c d e f g h i j k l m n o p q r s t u v w x y z AB wB xB yB zB VB eB 0B WB"},G:{"2":"E cB 1B fB 2B 3B 4B 5B 6B 7B 8B 9B AC BC CC DC EC FC GC HC IC JC"},H:{"2":"KC"},I:{"2":"XB I H LC MC NC OC fB PC QC"},J:{"2":"D A"},K:{"2":"A B C Q VB eB WB"},L:{"194":"H"},M:{"2":"P"},N:{"2":"A B"},O:{"2":"RC"},P:{"2":"I SC TC UC VC WC dB XC YC ZC aC"},Q:{"2":"bC"},R:{"2":"cC"},S:{"2":"dC"}},B:4,C:"Magnetometer"}; diff --git a/tools/node_modules/@babel/core/node_modules/caniuse-lite/data/features/matchesselector.js b/tools/node_modules/@babel/core/node_modules/caniuse-lite/data/features/matchesselector.js new file mode 100644 index 00000000000000..1fbaf220fc852f --- /dev/null +++ b/tools/node_modules/@babel/core/node_modules/caniuse-lite/data/features/matchesselector.js @@ -0,0 +1 @@ +module.exports={A:{A:{"2":"J D E gB","36":"F A B"},B:{"1":"G M N O R S T U V W X Y Z P a H","36":"C K L"},C:{"1":"0 1 2 3 4 5 6 7 8 9 r s t u v w x y z AB BB CB DB EB FB YB GB ZB Q HB IB JB KB LB MB NB OB PB QB RB SB TB UB aB bB R S T iB U V W X Y Z P a H","2":"hB XB jB","36":"I b J D E F A B C K L G M N O c d e f g h i j k l m n o p q kB"},D:{"1":"0 1 2 3 4 5 6 7 8 9 r s t u v w x y z AB BB CB DB EB FB YB GB ZB Q HB IB JB KB LB MB NB OB PB QB RB SB TB UB aB bB R S T U V W X Y Z P a H lB mB nB","36":"I b J D E F A B C K L G M N O c d e f g h i j k l m n o p q"},E:{"1":"E F A B C K L G rB sB dB VB WB tB uB vB","2":"I oB cB","36":"b J D pB qB"},F:{"1":"0 1 2 3 4 5 6 7 8 9 e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB GB Q HB IB JB KB LB MB NB OB PB QB RB SB TB UB","2":"F B wB xB yB zB VB","36":"C G M N O c d eB 0B WB"},G:{"1":"E 5B 6B 7B 8B 9B AC BC CC DC EC FC GC HC IC JC","2":"cB","36":"1B fB 2B 3B 4B"},H:{"2":"KC"},I:{"1":"H","2":"LC","36":"XB I MC NC OC fB PC QC"},J:{"36":"D A"},K:{"1":"Q","2":"A B","36":"C VB eB WB"},L:{"1":"H"},M:{"1":"P"},N:{"36":"A B"},O:{"1":"RC"},P:{"1":"SC TC UC VC WC dB XC YC ZC aC","36":"I"},Q:{"1":"bC"},R:{"1":"cC"},S:{"1":"dC"}},B:1,C:"matches() DOM method"}; diff --git a/tools/node_modules/@babel/core/node_modules/caniuse-lite/data/features/matchmedia.js b/tools/node_modules/@babel/core/node_modules/caniuse-lite/data/features/matchmedia.js new file mode 100644 index 00000000000000..674c8fae6e2114 --- /dev/null +++ b/tools/node_modules/@babel/core/node_modules/caniuse-lite/data/features/matchmedia.js @@ -0,0 +1 @@ +module.exports={A:{A:{"1":"A B","2":"J D E F gB"},B:{"1":"C K L G M N O R S T U V W X Y Z P a H"},C:{"1":"0 1 2 3 4 5 6 7 8 9 J D E F A B C K L G M N O c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB YB GB ZB Q HB IB JB KB LB MB NB OB PB QB RB SB TB UB aB bB R S T iB U V W X Y Z P a H","2":"hB XB I b jB kB"},D:{"1":"0 1 2 3 4 5 6 7 8 9 F A B C K L G M N O c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB YB GB ZB Q HB IB JB KB LB MB NB OB PB QB RB SB TB UB aB bB R S T U V W X Y Z P a H lB mB nB","2":"I b J D E"},E:{"1":"J D E F A B C K L G pB qB rB sB dB VB WB tB uB vB","2":"I b oB cB"},F:{"1":"0 1 2 3 4 5 6 7 8 9 G M N O c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB GB Q HB IB JB KB LB MB NB OB PB QB RB SB TB UB WB","2":"F B C wB xB yB zB VB eB 0B"},G:{"1":"E 2B 3B 4B 5B 6B 7B 8B 9B AC BC CC DC EC FC GC HC IC JC","2":"cB 1B fB"},H:{"1":"KC"},I:{"1":"XB I H OC fB PC QC","2":"LC MC NC"},J:{"1":"A","2":"D"},K:{"1":"Q WB","2":"A B C VB eB"},L:{"1":"H"},M:{"1":"P"},N:{"1":"A B"},O:{"1":"RC"},P:{"1":"I SC TC UC VC WC dB XC YC ZC aC"},Q:{"1":"bC"},R:{"1":"cC"},S:{"1":"dC"}},B:5,C:"matchMedia"}; diff --git a/tools/node_modules/@babel/core/node_modules/caniuse-lite/data/features/mathml.js b/tools/node_modules/@babel/core/node_modules/caniuse-lite/data/features/mathml.js new file mode 100644 index 00000000000000..20988db05578d9 --- /dev/null +++ b/tools/node_modules/@babel/core/node_modules/caniuse-lite/data/features/mathml.js @@ -0,0 +1 @@ +module.exports={A:{A:{"2":"F A B gB","8":"J D E"},B:{"2":"C K L G M N O","8":"R S T U V W X Y Z P a H"},C:{"1":"0 1 2 3 4 5 6 7 8 9 I b J D E F A B C K L G M N O c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB YB GB ZB Q HB IB JB KB LB MB NB OB PB QB RB SB TB UB aB bB R S T iB U V W X Y Z P a H","129":"hB XB jB kB"},D:{"1":"h","8":"0 1 2 3 4 5 6 7 8 9 I b J D E F A B C K L G M N O c d e f g i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB YB GB ZB Q HB IB JB KB LB MB NB OB PB QB RB SB TB UB aB bB R S T U V W X Y Z P a H lB mB nB"},E:{"1":"A B C K L G dB VB WB tB uB vB","260":"I b J D E F oB cB pB qB rB sB"},F:{"2":"F","4":"B C wB xB yB zB VB eB 0B WB","8":"0 1 2 3 4 5 6 7 8 9 G M N O c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB GB Q HB IB JB KB LB MB NB OB PB QB RB SB TB UB"},G:{"1":"E 2B 3B 4B 5B 6B 7B 8B 9B AC BC CC DC EC FC GC HC IC JC","8":"cB 1B fB"},H:{"8":"KC"},I:{"8":"XB I H LC MC NC OC fB PC QC"},J:{"1":"A","8":"D"},K:{"8":"A B C Q VB eB WB"},L:{"8":"H"},M:{"1":"P"},N:{"2":"A B"},O:{"4":"RC"},P:{"8":"I SC TC UC VC WC dB XC YC ZC aC"},Q:{"8":"bC"},R:{"8":"cC"},S:{"1":"dC"}},B:2,C:"MathML"}; diff --git a/tools/node_modules/@babel/core/node_modules/caniuse-lite/data/features/maxlength.js b/tools/node_modules/@babel/core/node_modules/caniuse-lite/data/features/maxlength.js new file mode 100644 index 00000000000000..dba1376f022e1f --- /dev/null +++ b/tools/node_modules/@babel/core/node_modules/caniuse-lite/data/features/maxlength.js @@ -0,0 +1 @@ +module.exports={A:{A:{"1":"A B","16":"gB","900":"J D E F"},B:{"1":"R S T U V W X Y Z P a H","1025":"C K L G M N O"},C:{"1":"8 9 AB BB CB DB EB FB YB GB ZB Q HB IB JB KB LB MB NB OB PB QB RB SB TB UB aB bB R S T iB U V W X Y Z P a H","900":"hB XB jB kB","1025":"0 1 2 3 4 5 6 7 I b J D E F A B C K L G M N O c d e f g h i j k l m n o p q r s t u v w x y z"},D:{"1":"0 1 2 3 4 5 6 7 8 9 I b J D E F A B C K L G M N O c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB YB GB ZB Q HB IB JB KB LB MB NB OB PB QB RB SB TB UB aB bB R S T U V W X Y Z P a H lB mB nB"},E:{"1":"J D E F A B C K L G pB qB rB sB dB VB WB tB uB vB","16":"b oB","900":"I cB"},F:{"1":"0 1 2 3 4 5 6 7 8 9 G M N O c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB GB Q HB IB JB KB LB MB NB OB PB QB RB SB TB UB","16":"F","132":"B C wB xB yB zB VB eB 0B WB"},G:{"1":"1B fB 2B 3B 4B 6B 7B 8B 9B AC BC CC DC EC FC GC HC IC JC","16":"cB","2052":"E 5B"},H:{"132":"KC"},I:{"1":"XB I NC OC fB PC QC","16":"LC MC","4097":"H"},J:{"1":"D A"},K:{"132":"A B C VB eB WB","4100":"Q"},L:{"4097":"H"},M:{"4097":"P"},N:{"1":"A B"},O:{"1":"RC"},P:{"4097":"I SC TC UC VC WC dB XC YC ZC aC"},Q:{"1":"bC"},R:{"1":"cC"},S:{"1025":"dC"}},B:1,C:"maxlength attribute for input and textarea elements"}; diff --git a/tools/node_modules/@babel/core/node_modules/caniuse-lite/data/features/media-attribute.js b/tools/node_modules/@babel/core/node_modules/caniuse-lite/data/features/media-attribute.js new file mode 100644 index 00000000000000..17b1a1a7955e47 --- /dev/null +++ b/tools/node_modules/@babel/core/node_modules/caniuse-lite/data/features/media-attribute.js @@ -0,0 +1 @@ +module.exports={A:{A:{"1":"F A B","2":"J D E gB"},B:{"1":"C K L G M N O","16":"R S T U V W X Y Z P a H"},C:{"1":"0 1 2 3 4 5 6 7 8 9 G M N O c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB YB GB ZB Q HB IB JB KB LB MB NB OB PB QB RB SB TB UB aB bB R S T iB U V W X Y Z P a H","2":"hB XB I b J D E F A B C K L jB kB"},D:{"1":"I b J D E F A B C K L G M N O c d e f g h i j k l m n o p q","2":"0 1 2 3 4 5 6 7 8 9 r s t u v w x y z AB BB CB DB EB FB YB GB ZB Q HB IB JB KB LB MB NB OB PB QB RB SB TB UB aB bB R S T U V W X Y Z P a H","16":"lB mB nB"},E:{"1":"J D E F A B C K L G pB qB rB sB dB VB WB tB uB vB","2":"I b oB cB"},F:{"1":"B C G M N O c d e f g h xB yB zB VB eB 0B WB","2":"0 1 2 3 4 5 6 7 8 9 F i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB GB Q HB IB JB KB LB MB NB OB PB QB RB SB TB UB wB"},G:{"1":"E 2B 3B 4B 5B 6B 7B 8B 9B AC BC CC DC EC FC GC HC IC JC","16":"cB 1B fB"},H:{"16":"KC"},I:{"1":"I H OC fB PC QC","16":"XB LC MC NC"},J:{"16":"D A"},K:{"1":"C Q WB","16":"A B VB eB"},L:{"1":"H"},M:{"1":"P"},N:{"16":"A B"},O:{"1":"RC"},P:{"1":"I SC TC UC VC WC dB XC YC ZC aC"},Q:{"2":"bC"},R:{"1":"cC"},S:{"1":"dC"}},B:1,C:"Media attribute"}; diff --git a/tools/node_modules/@babel/core/node_modules/caniuse-lite/data/features/media-fragments.js b/tools/node_modules/@babel/core/node_modules/caniuse-lite/data/features/media-fragments.js new file mode 100644 index 00000000000000..fed9f3e7e207bd --- /dev/null +++ b/tools/node_modules/@babel/core/node_modules/caniuse-lite/data/features/media-fragments.js @@ -0,0 +1 @@ +module.exports={A:{A:{"2":"J D E F A B gB"},B:{"2":"C K L G M N O","132":"R S T U V W X Y Z P a H"},C:{"2":"hB XB I b J D E F A B C K L G M N O c d e f g h i j k l m n o p q jB kB","132":"0 1 2 3 4 5 6 7 8 9 r s t u v w x y z AB BB CB DB EB FB YB GB ZB Q HB IB JB KB LB MB NB OB PB QB RB SB TB UB aB bB R S T iB U V W X Y Z P a H"},D:{"2":"I b J D E F A B C K L G M N","132":"0 1 2 3 4 5 6 7 8 9 O c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB YB GB ZB Q HB IB JB KB LB MB NB OB PB QB RB SB TB UB aB bB R S T U V W X Y Z P a H lB mB nB"},E:{"2":"I b oB cB pB","132":"J D E F A B C K L G qB rB sB dB VB WB tB uB vB"},F:{"2":"F B C wB xB yB zB VB eB 0B WB","132":"0 1 2 3 4 5 6 7 8 9 G M N O c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB GB Q HB IB JB KB LB MB NB OB PB QB RB SB TB UB"},G:{"2":"cB 1B fB 2B 3B 4B","132":"E 5B 6B 7B 8B 9B AC BC CC DC EC FC GC HC IC JC"},H:{"2":"KC"},I:{"2":"XB I LC MC NC OC fB","132":"H PC QC"},J:{"2":"D A"},K:{"2":"A B C Q VB eB WB"},L:{"132":"H"},M:{"132":"P"},N:{"132":"A B"},O:{"2":"RC"},P:{"2":"I SC","132":"TC UC VC WC dB XC YC ZC aC"},Q:{"2":"bC"},R:{"2":"cC"},S:{"132":"dC"}},B:2,C:"Media Fragments"}; diff --git a/tools/node_modules/@babel/core/node_modules/caniuse-lite/data/features/media-session-api.js b/tools/node_modules/@babel/core/node_modules/caniuse-lite/data/features/media-session-api.js new file mode 100644 index 00000000000000..279f78322ffd92 --- /dev/null +++ b/tools/node_modules/@babel/core/node_modules/caniuse-lite/data/features/media-session-api.js @@ -0,0 +1 @@ +module.exports={A:{A:{"2":"J D E F A B gB"},B:{"1":"R S T U V W X Y Z P a H","2":"C K L G M N O"},C:{"2":"0 1 2 3 4 5 6 7 8 9 hB XB I b J D E F A B C K L G M N O c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB YB GB ZB Q HB IB JB KB LB MB NB OB PB QB RB SB TB UB aB bB R S T iB U V W X Y Z P a H jB kB"},D:{"1":"EB FB YB GB ZB Q HB IB JB KB LB MB NB OB PB QB RB SB TB UB aB bB R S T U V W X Y Z P a H lB mB nB","2":"0 1 2 3 4 5 6 7 8 9 I b J D E F A B C K L G M N O c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB"},E:{"2":"I b J D E F A B C K oB cB pB qB rB sB dB VB WB","16":"L G tB uB vB"},F:{"2":"0 1 2 3 4 5 6 7 8 9 F B C G M N O c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB GB Q HB IB JB KB LB MB NB OB PB QB RB SB TB UB wB xB yB zB VB eB 0B WB"},G:{"2":"E cB 1B fB 2B 3B 4B 5B 6B 7B 8B 9B AC BC CC DC EC FC GC HC IC JC"},H:{"2":"KC"},I:{"2":"XB I H LC MC NC OC fB PC QC"},J:{"2":"D A"},K:{"2":"A B C Q VB eB WB"},L:{"2":"H"},M:{"2":"P"},N:{"2":"A B"},O:{"2":"RC"},P:{"2":"I SC TC UC VC WC dB XC YC ZC aC"},Q:{"2":"bC"},R:{"2":"cC"},S:{"2":"dC"}},B:6,C:"Media Session API"}; diff --git a/tools/node_modules/@babel/core/node_modules/caniuse-lite/data/features/mediacapture-fromelement.js b/tools/node_modules/@babel/core/node_modules/caniuse-lite/data/features/mediacapture-fromelement.js new file mode 100644 index 00000000000000..3610df24d253a0 --- /dev/null +++ b/tools/node_modules/@babel/core/node_modules/caniuse-lite/data/features/mediacapture-fromelement.js @@ -0,0 +1 @@ +module.exports={A:{A:{"2":"J D E F A B gB"},B:{"1":"R S T U V W X Y Z P a H","2":"C K L G M N O"},C:{"2":"hB XB I b J D E F A B C K L G M N O c d e f g h i j k l m n o p q r s t u v w x y z jB kB","260":"0 1 2 3 4 5 6 7 8 9 AB BB CB DB EB FB YB GB ZB Q HB IB JB KB LB MB NB OB PB QB RB SB TB UB aB bB R S T iB U V W X Y Z P a H"},D:{"1":"Q HB IB JB KB LB MB NB OB PB QB RB SB TB UB aB bB R S T U V W X Y Z P a H lB mB nB","2":"0 1 2 3 4 5 6 7 I b J D E F A B C K L G M N O c d e f g h i j k l m n o p q r s t u v w x y z","324":"8 9 AB BB CB DB EB FB YB GB ZB"},E:{"2":"I b J D E F A oB cB pB qB rB sB dB","132":"B C K L G VB WB tB uB vB"},F:{"1":"5 6 7 8 9 AB BB CB DB EB FB GB Q HB IB JB KB LB MB NB OB PB QB RB SB TB UB","2":"F B C G M N O c d e f g h i j k l m n o p q r s wB xB yB zB VB eB 0B WB","324":"0 1 2 3 4 t u v w x y z"},G:{"2":"E cB 1B fB 2B 3B 4B 5B 6B 7B 8B 9B AC BC CC DC EC FC GC HC IC JC"},H:{"2":"KC"},I:{"1":"H","2":"XB I LC MC NC OC fB PC QC"},J:{"2":"D A"},K:{"1":"Q","2":"A B C VB eB WB"},L:{"1":"H"},M:{"260":"P"},N:{"2":"A B"},O:{"132":"RC"},P:{"1":"VC WC dB XC YC ZC aC","2":"I","132":"SC TC UC"},Q:{"1":"bC"},R:{"2":"cC"},S:{"260":"dC"}},B:5,C:"Media Capture from DOM Elements API"}; diff --git a/tools/node_modules/@babel/core/node_modules/caniuse-lite/data/features/mediarecorder.js b/tools/node_modules/@babel/core/node_modules/caniuse-lite/data/features/mediarecorder.js new file mode 100644 index 00000000000000..a112c3dbff92d8 --- /dev/null +++ b/tools/node_modules/@babel/core/node_modules/caniuse-lite/data/features/mediarecorder.js @@ -0,0 +1 @@ +module.exports={A:{A:{"2":"J D E F A B gB"},B:{"1":"R S T U V W X Y Z P a H","2":"C K L G M N O"},C:{"1":"0 1 2 3 4 5 6 7 8 9 m n o p q r s t u v w x y z AB BB CB DB EB FB YB GB ZB Q HB IB JB KB LB MB NB OB PB QB RB SB TB UB aB bB R S T iB U V W X Y Z P a H","2":"hB XB I b J D E F A B C K L G M N O c d e f g h i j k l jB kB"},D:{"1":"6 7 8 9 AB BB CB DB EB FB YB GB ZB Q HB IB JB KB LB MB NB OB PB QB RB SB TB UB aB bB R S T U V W X Y Z P a H lB mB nB","2":"0 1 2 3 I b J D E F A B C K L G M N O c d e f g h i j k l m n o p q r s t u v w x y z","194":"4 5"},E:{"1":"G uB vB","2":"I b J D E F A B C oB cB pB qB rB sB dB VB","322":"K L WB tB"},F:{"1":"0 1 2 3 4 5 6 7 8 9 t u v w x y z AB BB CB DB EB FB GB Q HB IB JB KB LB MB NB OB PB QB RB SB TB UB","2":"F B C G M N O c d e f g h i j k l m n o p q wB xB yB zB VB eB 0B WB","194":"r s"},G:{"1":"JC","2":"E cB 1B fB 2B 3B 4B 5B 6B 7B 8B 9B AC BC","578":"CC DC EC FC GC HC IC"},H:{"2":"KC"},I:{"2":"XB I H LC MC NC OC fB PC QC"},J:{"2":"D A"},K:{"1":"Q","2":"A B C VB eB WB"},L:{"1":"H"},M:{"2":"P"},N:{"2":"A B"},O:{"2":"RC"},P:{"1":"SC TC UC VC WC dB XC YC ZC aC","2":"I"},Q:{"1":"bC"},R:{"2":"cC"},S:{"1":"dC"}},B:5,C:"MediaRecorder API"}; diff --git a/tools/node_modules/@babel/core/node_modules/caniuse-lite/data/features/mediasource.js b/tools/node_modules/@babel/core/node_modules/caniuse-lite/data/features/mediasource.js new file mode 100644 index 00000000000000..df176777a9b5c7 --- /dev/null +++ b/tools/node_modules/@babel/core/node_modules/caniuse-lite/data/features/mediasource.js @@ -0,0 +1 @@ +module.exports={A:{A:{"2":"J D E F A gB","132":"B"},B:{"1":"C K L G M N O R S T U V W X Y Z P a H"},C:{"1":"0 1 2 3 4 5 6 7 8 9 z AB BB CB DB EB FB YB GB ZB Q HB IB JB KB LB MB NB OB PB QB RB SB TB UB aB bB R S T iB U V W X Y Z P a H","2":"hB XB I b J D E F A B C K L G M N O c d e f g h jB kB","66":"i j k l m n o p q r s t u v w x y"},D:{"1":"0 1 2 3 4 5 6 7 8 9 o p q r s t u v w x y z AB BB CB DB EB FB YB GB ZB Q HB IB JB KB LB MB NB OB PB QB RB SB TB UB aB bB R S T U V W X Y Z P a H lB mB nB","2":"I b J D E F A B C K L G M","33":"g h i j k l m n","66":"N O c d e f"},E:{"1":"E F A B C K L G sB dB VB WB tB uB vB","2":"I b J D oB cB pB qB rB"},F:{"1":"0 1 2 3 4 5 6 7 8 9 G M N O c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB GB Q HB IB JB KB LB MB NB OB PB QB RB SB TB UB","2":"F B C wB xB yB zB VB eB 0B WB"},G:{"2":"E cB 1B fB 2B 3B 4B 5B 6B 7B 8B 9B AC BC CC DC","260":"EC FC GC HC IC JC"},H:{"2":"KC"},I:{"1":"H QC","2":"XB I LC MC NC OC fB PC"},J:{"2":"D A"},K:{"1":"Q","2":"A B C VB eB WB"},L:{"1":"H"},M:{"1":"P"},N:{"1":"B","2":"A"},O:{"1":"RC"},P:{"1":"WC dB XC YC ZC aC","2":"I SC TC UC VC"},Q:{"1":"bC"},R:{"1":"cC"},S:{"1":"dC"}},B:2,C:"Media Source Extensions"}; diff --git a/tools/node_modules/@babel/core/node_modules/caniuse-lite/data/features/menu.js b/tools/node_modules/@babel/core/node_modules/caniuse-lite/data/features/menu.js new file mode 100644 index 00000000000000..55748889218d48 --- /dev/null +++ b/tools/node_modules/@babel/core/node_modules/caniuse-lite/data/features/menu.js @@ -0,0 +1 @@ +module.exports={A:{A:{"2":"J D E F A B gB"},B:{"2":"C K L G M N O R S T U V W X Y Z P a H"},C:{"2":"hB XB I b J D jB kB","132":"0 1 2 3 4 5 6 7 8 9 E F A B C K L G M N O c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB YB GB ZB Q HB IB JB KB LB MB NB OB PB QB RB SB TB UB aB bB R S T iB U V","450":"W X Y Z P a H"},D:{"2":"I b J D E F A B C K L G M N O c d e f g h i j k l m n o p q r s t u v w x ZB Q HB IB JB KB LB MB NB OB PB QB RB SB TB UB aB bB R S T U V W X Y Z P a H lB mB nB","66":"0 1 2 3 4 5 6 7 8 9 y z AB BB CB DB EB FB YB GB"},E:{"2":"I b J D E F A B C K L G oB cB pB qB rB sB dB VB WB tB uB vB"},F:{"2":"4 5 6 7 8 9 F B C G M N O c d e f g h i j k l m n o p q r AB BB CB DB EB FB GB Q HB IB JB KB LB MB NB OB PB QB RB SB TB UB wB xB yB zB VB eB 0B WB","66":"0 1 2 3 s t u v w x y z"},G:{"2":"E cB 1B fB 2B 3B 4B 5B 6B 7B 8B 9B AC BC CC DC EC FC GC HC IC JC"},H:{"2":"KC"},I:{"2":"XB I H LC MC NC OC fB PC QC"},J:{"2":"D A"},K:{"2":"A B C Q VB eB WB"},L:{"2":"H"},M:{"450":"P"},N:{"2":"A B"},O:{"2":"RC"},P:{"2":"I SC TC UC VC WC dB XC YC ZC aC"},Q:{"2":"bC"},R:{"2":"cC"},S:{"2":"dC"}},B:7,C:"Context menu item (menuitem element)"}; diff --git a/tools/node_modules/@babel/core/node_modules/caniuse-lite/data/features/meta-theme-color.js b/tools/node_modules/@babel/core/node_modules/caniuse-lite/data/features/meta-theme-color.js new file mode 100644 index 00000000000000..8094a93e276fb4 --- /dev/null +++ b/tools/node_modules/@babel/core/node_modules/caniuse-lite/data/features/meta-theme-color.js @@ -0,0 +1 @@ +module.exports={A:{A:{"2":"J D E F A B gB"},B:{"2":"C K L G M N O R S T U V W X Y Z P a H"},C:{"2":"0 1 2 3 4 5 6 7 8 9 hB XB I b J D E F A B C K L G M N O c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB YB GB ZB Q HB IB JB KB LB MB NB OB PB QB RB SB TB UB aB bB R S T iB U V W X Y Z P a H jB kB"},D:{"2":"I b J D E F A B C K L G M N O c d e f g h i j k l m n o p q r s t u v","132":"RB SB TB UB aB bB R S T U V W X Y Z P a H lB mB nB","258":"0 1 2 3 4 5 6 7 8 9 w x y z AB BB CB DB EB FB YB GB ZB Q HB IB JB KB LB MB NB OB PB QB"},E:{"1":"G vB","2":"I b J D E F A B C K L oB cB pB qB rB sB dB VB WB tB uB"},F:{"2":"0 1 2 3 4 5 6 7 8 9 F B C G M N O c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB GB Q HB IB JB KB LB MB NB OB PB QB RB SB TB UB wB xB yB zB VB eB 0B WB"},G:{"2":"E cB 1B fB 2B 3B 4B 5B 6B 7B 8B 9B AC BC CC DC EC FC GC HC IC JC"},H:{"2":"KC"},I:{"2":"XB I H LC MC NC OC fB PC QC"},J:{"2":"D A"},K:{"2":"A B C Q VB eB WB"},L:{"513":"H"},M:{"2":"P"},N:{"2":"A B"},O:{"2":"RC"},P:{"1":"TC UC VC WC dB XC YC ZC aC","2":"I","16":"SC"},Q:{"2":"bC"},R:{"2":"cC"},S:{"2":"dC"}},B:1,C:"theme-color Meta Tag"}; diff --git a/tools/node_modules/@babel/core/node_modules/caniuse-lite/data/features/meter.js b/tools/node_modules/@babel/core/node_modules/caniuse-lite/data/features/meter.js new file mode 100644 index 00000000000000..ce6f38bdbbc0f7 --- /dev/null +++ b/tools/node_modules/@babel/core/node_modules/caniuse-lite/data/features/meter.js @@ -0,0 +1 @@ +module.exports={A:{A:{"2":"J D E F A B gB"},B:{"1":"K L G M N O R S T U V W X Y Z P a H","2":"C"},C:{"1":"0 1 2 3 4 5 6 7 8 9 M N O c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB YB GB ZB Q HB IB JB KB LB MB NB OB PB QB RB SB TB UB aB bB R S T iB U V W X Y Z P a H","2":"hB XB I b J D E F A B C K L G jB kB"},D:{"1":"0 1 2 3 4 5 6 7 8 9 E F A B C K L G M N O c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB YB GB ZB Q HB IB JB KB LB MB NB OB PB QB RB SB TB UB aB bB R S T U V W X Y Z P a H lB mB nB","2":"I b J D"},E:{"1":"J D E F A B C K L G qB rB sB dB VB WB tB uB vB","2":"I b oB cB pB"},F:{"1":"0 1 2 3 4 5 6 7 8 9 B C G M N O c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB GB Q HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB eB 0B WB","2":"F wB xB yB zB"},G:{"1":"9B AC BC CC DC EC FC GC HC IC JC","2":"E cB 1B fB 2B 3B 4B 5B 6B 7B 8B"},H:{"1":"KC"},I:{"1":"H PC QC","2":"XB I LC MC NC OC fB"},J:{"1":"D A"},K:{"1":"B C Q VB eB WB","2":"A"},L:{"1":"H"},M:{"1":"P"},N:{"2":"A B"},O:{"1":"RC"},P:{"1":"I SC TC UC VC WC dB XC YC ZC aC"},Q:{"1":"bC"},R:{"1":"cC"},S:{"1":"dC"}},B:1,C:"meter element"}; diff --git a/tools/node_modules/@babel/core/node_modules/caniuse-lite/data/features/midi.js b/tools/node_modules/@babel/core/node_modules/caniuse-lite/data/features/midi.js new file mode 100644 index 00000000000000..81b87942f1ce7b --- /dev/null +++ b/tools/node_modules/@babel/core/node_modules/caniuse-lite/data/features/midi.js @@ -0,0 +1 @@ +module.exports={A:{A:{"2":"J D E F A B gB"},B:{"1":"R S T U V W X Y Z P a H","2":"C K L G M N O"},C:{"2":"0 1 2 3 4 5 6 7 8 9 hB XB I b J D E F A B C K L G M N O c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB YB GB ZB Q HB IB JB KB LB MB NB OB PB QB RB SB TB UB aB bB R S T iB U V W X Y Z P a H jB kB"},D:{"1":"0 1 2 3 4 5 6 7 8 9 AB BB CB DB EB FB YB GB ZB Q HB IB JB KB LB MB NB OB PB QB RB SB TB UB aB bB R S T U V W X Y Z P a H lB mB nB","2":"I b J D E F A B C K L G M N O c d e f g h i j k l m n o p q r s t u v w x y z"},E:{"2":"I b J D E F A B C K L G oB cB pB qB rB sB dB VB WB tB uB vB"},F:{"1":"0 1 2 3 4 5 6 7 8 9 n o p q r s t u v w x y z AB BB CB DB EB FB GB Q HB IB JB KB LB MB NB OB PB QB RB SB TB UB","2":"F B C G M N O c d e f g h i j k l m wB xB yB zB VB eB 0B WB"},G:{"2":"E cB 1B fB 2B 3B 4B 5B 6B 7B 8B 9B AC BC CC DC EC FC GC HC IC JC"},H:{"2":"KC"},I:{"1":"H","2":"XB I LC MC NC OC fB PC QC"},J:{"2":"D A"},K:{"1":"Q","2":"A B C VB eB WB"},L:{"1":"H"},M:{"2":"P"},N:{"2":"A B"},O:{"1":"RC"},P:{"1":"I SC TC UC VC WC dB XC YC ZC aC"},Q:{"2":"bC"},R:{"1":"cC"},S:{"2":"dC"}},B:5,C:"Web MIDI API"}; diff --git a/tools/node_modules/@babel/core/node_modules/caniuse-lite/data/features/minmaxwh.js b/tools/node_modules/@babel/core/node_modules/caniuse-lite/data/features/minmaxwh.js new file mode 100644 index 00000000000000..417f6d9405d4cb --- /dev/null +++ b/tools/node_modules/@babel/core/node_modules/caniuse-lite/data/features/minmaxwh.js @@ -0,0 +1 @@ +module.exports={A:{A:{"1":"F A B","8":"J gB","129":"D","257":"E"},B:{"1":"C K L G M N O R S T U V W X Y Z P a H"},C:{"1":"0 1 2 3 4 5 6 7 8 9 hB XB I b J D E F A B C K L G M N O c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB YB GB ZB Q HB IB JB KB LB MB NB OB PB QB RB SB TB UB aB bB R S T iB U V W X Y Z P a H jB kB"},D:{"1":"0 1 2 3 4 5 6 7 8 9 I b J D E F A B C K L G M N O c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB YB GB ZB Q HB IB JB KB LB MB NB OB PB QB RB SB TB UB aB bB R S T U V W X Y Z P a H lB mB nB"},E:{"1":"I b J D E F A B C K L G oB cB pB qB rB sB dB VB WB tB uB vB"},F:{"1":"0 1 2 3 4 5 6 7 8 9 F B C G M N O c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB GB Q HB IB JB KB LB MB NB OB PB QB RB SB TB UB wB xB yB zB VB eB 0B WB"},G:{"1":"E cB 1B fB 2B 3B 4B 5B 6B 7B 8B 9B AC BC CC DC EC FC GC HC IC JC"},H:{"1":"KC"},I:{"1":"XB I H LC MC NC OC fB PC QC"},J:{"1":"D A"},K:{"1":"A B C Q VB eB WB"},L:{"1":"H"},M:{"1":"P"},N:{"1":"A B"},O:{"1":"RC"},P:{"1":"I SC TC UC VC WC dB XC YC ZC aC"},Q:{"1":"bC"},R:{"1":"cC"},S:{"1":"dC"}},B:2,C:"CSS min/max-width/height"}; diff --git a/tools/node_modules/@babel/core/node_modules/caniuse-lite/data/features/mp3.js b/tools/node_modules/@babel/core/node_modules/caniuse-lite/data/features/mp3.js new file mode 100644 index 00000000000000..ebeca7f477d5ab --- /dev/null +++ b/tools/node_modules/@babel/core/node_modules/caniuse-lite/data/features/mp3.js @@ -0,0 +1 @@ +module.exports={A:{A:{"1":"F A B","2":"J D E gB"},B:{"1":"C K L G M N O R S T U V W X Y Z P a H"},C:{"1":"0 1 2 3 4 5 6 7 8 9 f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB YB GB ZB Q HB IB JB KB LB MB NB OB PB QB RB SB TB UB aB bB R S T iB U V W X Y Z P a H","2":"hB XB","132":"I b J D E F A B C K L G M N O c d e jB kB"},D:{"1":"0 1 2 3 4 5 6 7 8 9 I b J D E F A B C K L G M N O c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB YB GB ZB Q HB IB JB KB LB MB NB OB PB QB RB SB TB UB aB bB R S T U V W X Y Z P a H lB mB nB"},E:{"1":"I b J D E F A B C K L G pB qB rB sB dB VB WB tB uB vB","2":"oB cB"},F:{"1":"0 1 2 3 4 5 6 7 8 9 G M N O c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB GB Q HB IB JB KB LB MB NB OB PB QB RB SB TB UB","2":"F B C wB xB yB zB VB eB 0B WB"},G:{"1":"E 1B fB 2B 3B 4B 5B 6B 7B 8B 9B AC BC CC DC EC FC GC HC IC JC","2":"cB"},H:{"2":"KC"},I:{"1":"XB I H NC OC fB PC QC","2":"LC MC"},J:{"1":"D A"},K:{"1":"B C Q VB eB WB","2":"A"},L:{"1":"H"},M:{"1":"P"},N:{"1":"A B"},O:{"1":"RC"},P:{"1":"I SC TC UC VC WC dB XC YC ZC aC"},Q:{"1":"bC"},R:{"1":"cC"},S:{"1":"dC"}},B:6,C:"MP3 audio format"}; diff --git a/tools/node_modules/@babel/core/node_modules/caniuse-lite/data/features/mpeg-dash.js b/tools/node_modules/@babel/core/node_modules/caniuse-lite/data/features/mpeg-dash.js new file mode 100644 index 00000000000000..41205e94013a6d --- /dev/null +++ b/tools/node_modules/@babel/core/node_modules/caniuse-lite/data/features/mpeg-dash.js @@ -0,0 +1 @@ +module.exports={A:{A:{"2":"J D E F A B gB"},B:{"1":"C K L G M N O","2":"R S T U V W X Y Z P a H"},C:{"2":"0 1 2 3 4 5 6 7 8 9 hB XB I b J D E F A B C K L G M N O c d g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB YB GB ZB Q HB IB JB KB LB MB NB OB PB QB RB SB TB UB aB bB R S T iB U V W X Y Z P a H jB kB","386":"e f"},D:{"2":"0 1 2 3 4 5 6 7 8 9 I b J D E F A B C K L G M N O c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB YB GB ZB Q HB IB JB KB LB MB NB OB PB QB RB SB TB UB aB bB R S T U V W X Y Z P a H lB mB nB"},E:{"2":"I b J D E F A B C K L G oB cB pB qB rB sB dB VB WB tB uB vB"},F:{"2":"0 1 2 3 4 5 6 7 8 9 F B C G M N O c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB GB Q HB IB JB KB LB MB NB OB PB QB RB SB TB UB wB xB yB zB VB eB 0B WB"},G:{"2":"E cB 1B fB 2B 3B 4B 5B 6B 7B 8B 9B AC BC CC DC EC FC GC HC IC JC"},H:{"2":"KC"},I:{"2":"XB I H LC MC NC OC fB PC QC"},J:{"2":"D A"},K:{"2":"A B C Q VB eB WB"},L:{"2":"H"},M:{"2":"P"},N:{"2":"A B"},O:{"2":"RC"},P:{"2":"I SC TC UC VC WC dB XC YC ZC aC"},Q:{"2":"bC"},R:{"2":"cC"},S:{"2":"dC"}},B:6,C:"Dynamic Adaptive Streaming over HTTP (MPEG-DASH)"}; diff --git a/tools/node_modules/@babel/core/node_modules/caniuse-lite/data/features/mpeg4.js b/tools/node_modules/@babel/core/node_modules/caniuse-lite/data/features/mpeg4.js new file mode 100644 index 00000000000000..61c1b99c7c8891 --- /dev/null +++ b/tools/node_modules/@babel/core/node_modules/caniuse-lite/data/features/mpeg4.js @@ -0,0 +1 @@ +module.exports={A:{A:{"1":"F A B","2":"J D E gB"},B:{"1":"C K L G M N O R S T U V W X Y Z P a H"},C:{"1":"0 1 2 3 4 5 6 7 8 9 s t u v w x y z AB BB CB DB EB FB YB GB ZB Q HB IB JB KB LB MB NB OB PB QB RB SB TB UB aB bB R S T iB U V W X Y Z P a H","2":"hB XB I b J D E F A B C K L G M N O c d jB kB","4":"e f g h i j k l m n o p q r"},D:{"1":"0 1 2 3 4 5 6 7 8 9 I b J D E F A B C K L G M N O c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB YB GB ZB Q HB IB JB KB LB MB NB OB PB QB RB SB TB UB aB bB R S T U V W X Y Z P a H lB mB nB"},E:{"1":"I b J D E F A B C K L G cB pB qB rB sB dB VB WB tB uB vB","2":"oB"},F:{"1":"0 1 2 3 4 5 6 7 8 9 i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB GB Q HB IB JB KB LB MB NB OB PB QB RB SB TB UB","2":"F B C G M N O c d e f g h wB xB yB zB VB eB 0B WB"},G:{"1":"E cB 1B fB 2B 3B 4B 5B 6B 7B 8B 9B AC BC CC DC EC FC GC HC IC JC"},H:{"2":"KC"},I:{"1":"H PC QC","4":"XB I LC MC OC fB","132":"NC"},J:{"1":"D A"},K:{"1":"B C Q VB eB WB","2":"A"},L:{"1":"H"},M:{"260":"P"},N:{"1":"A B"},O:{"4":"RC"},P:{"1":"I SC TC UC VC WC dB XC YC ZC aC"},Q:{"1":"bC"},R:{"1":"cC"},S:{"1":"dC"}},B:6,C:"MPEG-4/H.264 video format"}; diff --git a/tools/node_modules/@babel/core/node_modules/caniuse-lite/data/features/multibackgrounds.js b/tools/node_modules/@babel/core/node_modules/caniuse-lite/data/features/multibackgrounds.js new file mode 100644 index 00000000000000..bbffafa48ef2f0 --- /dev/null +++ b/tools/node_modules/@babel/core/node_modules/caniuse-lite/data/features/multibackgrounds.js @@ -0,0 +1 @@ +module.exports={A:{A:{"1":"F A B","2":"J D E gB"},B:{"1":"C K L G M N O R S T U V W X Y Z P a H"},C:{"1":"0 1 2 3 4 5 6 7 8 9 I b J D E F A B C K L G M N O c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB YB GB ZB Q HB IB JB KB LB MB NB OB PB QB RB SB TB UB aB bB R S T iB U V W X Y Z P a H kB","2":"hB XB jB"},D:{"1":"0 1 2 3 4 5 6 7 8 9 I b J D E F A B C K L G M N O c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB YB GB ZB Q HB IB JB KB LB MB NB OB PB QB RB SB TB UB aB bB R S T U V W X Y Z P a H lB mB nB"},E:{"1":"I b J D E F A B C K L G oB cB pB qB rB sB dB VB WB tB uB vB"},F:{"1":"0 1 2 3 4 5 6 7 8 9 B C G M N O c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB GB Q HB IB JB KB LB MB NB OB PB QB RB SB TB UB yB zB VB eB 0B WB","2":"F wB xB"},G:{"1":"E cB 1B fB 2B 3B 4B 5B 6B 7B 8B 9B AC BC CC DC EC FC GC HC IC JC"},H:{"1":"KC"},I:{"1":"XB I H LC MC NC OC fB PC QC"},J:{"1":"D A"},K:{"1":"A B C Q VB eB WB"},L:{"1":"H"},M:{"1":"P"},N:{"1":"A B"},O:{"1":"RC"},P:{"1":"I SC TC UC VC WC dB XC YC ZC aC"},Q:{"1":"bC"},R:{"1":"cC"},S:{"1":"dC"}},B:4,C:"CSS3 Multiple backgrounds"}; diff --git a/tools/node_modules/@babel/core/node_modules/caniuse-lite/data/features/multicolumn.js b/tools/node_modules/@babel/core/node_modules/caniuse-lite/data/features/multicolumn.js new file mode 100644 index 00000000000000..065b11c095e8fb --- /dev/null +++ b/tools/node_modules/@babel/core/node_modules/caniuse-lite/data/features/multicolumn.js @@ -0,0 +1 @@ +module.exports={A:{A:{"1":"A B","2":"J D E F gB"},B:{"1":"C K L G M N O","516":"R S T U V W X Y Z P a H"},C:{"132":"9 AB BB CB DB EB FB YB GB ZB Q HB IB","164":"0 1 2 3 4 5 6 7 8 hB XB I b J D E F A B C K L G M N O c d e f g h i j k l m n o p q r s t u v w x y z jB kB","516":"JB KB LB MB NB OB PB QB RB SB TB UB aB bB R S T iB U V W X Y Z P a H"},D:{"420":"0 1 2 3 4 5 6 I b J D E F A B C K L G M N O c d e f g h i j k l m n o p q r s t u v w x y z","516":"7 8 9 AB BB CB DB EB FB YB GB ZB Q HB IB JB KB LB MB NB OB PB QB RB SB TB UB aB bB R S T U V W X Y Z P a H lB mB nB"},E:{"1":"A B C K L G dB VB WB tB uB vB","132":"F sB","164":"D E rB","420":"I b J oB cB pB qB"},F:{"1":"C VB eB 0B WB","2":"F B wB xB yB zB","420":"G M N O c d e f g h i j k l m n o p q r s t","516":"0 1 2 3 4 5 6 7 8 9 u v w x y z AB BB CB DB EB FB GB Q HB IB JB KB LB MB NB OB PB QB RB SB TB UB"},G:{"1":"8B 9B AC BC CC DC EC FC GC HC IC JC","132":"6B 7B","164":"E 4B 5B","420":"cB 1B fB 2B 3B"},H:{"1":"KC"},I:{"420":"XB I LC MC NC OC fB PC QC","516":"H"},J:{"420":"D A"},K:{"1":"C VB eB WB","2":"A B","516":"Q"},L:{"516":"H"},M:{"516":"P"},N:{"1":"A B"},O:{"1":"RC"},P:{"1":"SC TC UC VC WC dB XC YC ZC aC","420":"I"},Q:{"132":"bC"},R:{"132":"cC"},S:{"164":"dC"}},B:4,C:"CSS3 Multiple column layout"}; diff --git a/tools/node_modules/@babel/core/node_modules/caniuse-lite/data/features/mutation-events.js b/tools/node_modules/@babel/core/node_modules/caniuse-lite/data/features/mutation-events.js new file mode 100644 index 00000000000000..09a4ecf9ec4c44 --- /dev/null +++ b/tools/node_modules/@babel/core/node_modules/caniuse-lite/data/features/mutation-events.js @@ -0,0 +1 @@ +module.exports={A:{A:{"2":"J D E gB","260":"F A B"},B:{"132":"R S T U V W X Y Z P a H","260":"C K L G M N O"},C:{"2":"hB XB I b jB kB","260":"0 1 2 3 4 5 6 7 8 9 J D E F A B C K L G M N O c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB YB GB ZB Q HB IB JB KB LB MB NB OB PB QB RB SB TB UB aB bB R S T iB U V W X Y Z P a H"},D:{"16":"I b J D E F A B C K L","132":"0 1 2 3 4 5 6 7 8 9 G M N O c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB YB GB ZB Q HB IB JB KB LB MB NB OB PB QB RB SB TB UB aB bB R S T U V W X Y Z P a H lB mB nB"},E:{"16":"oB cB","132":"I b J D E F A B C K L G pB qB rB sB dB VB WB tB uB vB"},F:{"1":"C 0B WB","2":"F wB xB yB zB","16":"B VB eB","132":"0 1 2 3 4 5 6 7 8 9 G M N O c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB GB Q HB IB JB KB LB MB NB OB PB QB RB SB TB UB"},G:{"16":"cB 1B","132":"E fB 2B 3B 4B 5B 6B 7B 8B 9B AC BC CC DC EC FC GC HC IC JC"},H:{"2":"KC"},I:{"16":"LC MC","132":"XB I H NC OC fB PC QC"},J:{"132":"D A"},K:{"1":"C WB","2":"A","16":"B VB eB","132":"Q"},L:{"132":"H"},M:{"260":"P"},N:{"260":"A B"},O:{"132":"RC"},P:{"132":"I SC TC UC VC WC dB XC YC ZC aC"},Q:{"132":"bC"},R:{"132":"cC"},S:{"260":"dC"}},B:5,C:"Mutation events"}; diff --git a/tools/node_modules/@babel/core/node_modules/caniuse-lite/data/features/mutationobserver.js b/tools/node_modules/@babel/core/node_modules/caniuse-lite/data/features/mutationobserver.js new file mode 100644 index 00000000000000..d8131b43faffaf --- /dev/null +++ b/tools/node_modules/@babel/core/node_modules/caniuse-lite/data/features/mutationobserver.js @@ -0,0 +1 @@ +module.exports={A:{A:{"1":"B","2":"J D E gB","8":"F A"},B:{"1":"C K L G M N O R S T U V W X Y Z P a H"},C:{"1":"0 1 2 3 4 5 6 7 8 9 L G M N O c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB YB GB ZB Q HB IB JB KB LB MB NB OB PB QB RB SB TB UB aB bB R S T iB U V W X Y Z P a H","2":"hB XB I b J D E F A B C K jB kB"},D:{"1":"0 1 2 3 4 5 6 7 8 9 k l m n o p q r s t u v w x y z AB BB CB DB EB FB YB GB ZB Q HB IB JB KB LB MB NB OB PB QB RB SB TB UB aB bB R S T U V W X Y Z P a H lB mB nB","2":"I b J D E F A B C K L G M N","33":"O c d e f g h i j"},E:{"1":"D E F A B C K L G qB rB sB dB VB WB tB uB vB","2":"I b oB cB pB","33":"J"},F:{"1":"0 1 2 3 4 5 6 7 8 9 G M N O c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB GB Q HB IB JB KB LB MB NB OB PB QB RB SB TB UB","2":"F B C wB xB yB zB VB eB 0B WB"},G:{"1":"E 4B 5B 6B 7B 8B 9B AC BC CC DC EC FC GC HC IC JC","2":"cB 1B fB 2B","33":"3B"},H:{"2":"KC"},I:{"1":"H PC QC","2":"XB LC MC NC","8":"I OC fB"},J:{"1":"A","2":"D"},K:{"1":"Q","2":"A B C VB eB WB"},L:{"1":"H"},M:{"1":"P"},N:{"1":"B","8":"A"},O:{"1":"RC"},P:{"1":"I SC TC UC VC WC dB XC YC ZC aC"},Q:{"1":"bC"},R:{"1":"cC"},S:{"1":"dC"}},B:1,C:"Mutation Observer"}; diff --git a/tools/node_modules/@babel/core/node_modules/caniuse-lite/data/features/namevalue-storage.js b/tools/node_modules/@babel/core/node_modules/caniuse-lite/data/features/namevalue-storage.js new file mode 100644 index 00000000000000..368d5122129fe7 --- /dev/null +++ b/tools/node_modules/@babel/core/node_modules/caniuse-lite/data/features/namevalue-storage.js @@ -0,0 +1 @@ +module.exports={A:{A:{"1":"E F A B","2":"gB","8":"J D"},B:{"1":"C K L G M N O R S T U V W X Y Z P a H"},C:{"1":"0 1 2 3 4 5 6 7 8 9 I b J D E F A B C K L G M N O c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB YB GB ZB Q HB IB JB KB LB MB NB OB PB QB RB SB TB UB aB bB R S T iB U V W X Y Z P a H jB kB","4":"hB XB"},D:{"1":"0 1 2 3 4 5 6 7 8 9 I b J D E F A B C K L G M N O c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB YB GB ZB Q HB IB JB KB LB MB NB OB PB QB RB SB TB UB aB bB R S T U V W X Y Z P a H lB mB nB"},E:{"1":"I b J D E F A B C K L G pB qB rB sB dB VB WB tB uB vB","2":"oB cB"},F:{"1":"0 1 2 3 4 5 6 7 8 9 B C G M N O c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB GB Q HB IB JB KB LB MB NB OB PB QB RB SB TB UB yB zB VB eB 0B WB","2":"F wB xB"},G:{"1":"E cB 1B fB 2B 3B 4B 5B 6B 7B 8B 9B AC BC CC DC EC FC GC HC IC JC"},H:{"2":"KC"},I:{"1":"XB I H LC MC NC OC fB PC QC"},J:{"1":"D A"},K:{"1":"B C Q VB eB WB","2":"A"},L:{"1":"H"},M:{"1":"P"},N:{"1":"A B"},O:{"1":"RC"},P:{"1":"I SC TC UC VC WC dB XC YC ZC aC"},Q:{"1":"bC"},R:{"1":"cC"},S:{"1":"dC"}},B:1,C:"Web Storage - name/value pairs"}; diff --git a/tools/node_modules/@babel/core/node_modules/caniuse-lite/data/features/native-filesystem-api.js b/tools/node_modules/@babel/core/node_modules/caniuse-lite/data/features/native-filesystem-api.js new file mode 100644 index 00000000000000..98d7f591aac5a9 --- /dev/null +++ b/tools/node_modules/@babel/core/node_modules/caniuse-lite/data/features/native-filesystem-api.js @@ -0,0 +1 @@ +module.exports={A:{A:{"2":"J D E F A B gB"},B:{"2":"C K L G M N O","194":"R S T U V W","260":"X Y Z P a H"},C:{"2":"0 1 2 3 4 5 6 7 8 9 hB XB I b J D E F A B C K L G M N O c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB YB GB ZB Q HB IB JB KB LB MB NB OB PB QB RB SB TB UB aB bB R S T iB U V W X Y Z P a H jB kB"},D:{"2":"0 1 2 3 4 5 6 7 8 9 I b J D E F A B C K L G M N O c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB YB GB ZB Q HB IB JB KB LB MB NB OB PB QB RB","194":"SB TB UB aB bB R S T U V W","260":"X Y Z P a H lB mB nB"},E:{"2":"I b J D E F A B C K L G oB cB pB qB rB sB dB VB WB tB uB vB"},F:{"2":"0 1 2 3 4 5 6 7 8 9 F B C G M N O c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB GB wB xB yB zB VB eB 0B WB","194":"Q HB IB JB KB LB MB NB OB PB","260":"QB RB SB TB UB"},G:{"2":"E cB 1B fB 2B 3B 4B 5B 6B 7B 8B 9B AC BC CC DC EC FC GC HC IC JC"},H:{"2":"KC"},I:{"2":"XB I H LC MC NC OC fB PC QC"},J:{"2":"D A"},K:{"2":"A B C Q VB eB WB"},L:{"2":"H"},M:{"2":"P"},N:{"2":"A B"},O:{"2":"RC"},P:{"2":"I SC TC UC VC WC dB XC YC ZC aC"},Q:{"2":"bC"},R:{"2":"cC"},S:{"2":"dC"}},B:7,C:"File System Access API"}; diff --git a/tools/node_modules/@babel/core/node_modules/caniuse-lite/data/features/nav-timing.js b/tools/node_modules/@babel/core/node_modules/caniuse-lite/data/features/nav-timing.js new file mode 100644 index 00000000000000..0c48cf648cfd13 --- /dev/null +++ b/tools/node_modules/@babel/core/node_modules/caniuse-lite/data/features/nav-timing.js @@ -0,0 +1 @@ +module.exports={A:{A:{"1":"F A B","2":"J D E gB"},B:{"1":"C K L G M N O R S T U V W X Y Z P a H"},C:{"1":"0 1 2 3 4 5 6 7 8 9 D E F A B C K L G M N O c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB YB GB ZB Q HB IB JB KB LB MB NB OB PB QB RB SB TB UB aB bB R S T iB U V W X Y Z P a H","2":"hB XB I b J jB kB"},D:{"1":"0 1 2 3 4 5 6 7 8 9 K L G M N O c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB YB GB ZB Q HB IB JB KB LB MB NB OB PB QB RB SB TB UB aB bB R S T U V W X Y Z P a H lB mB nB","2":"I b","33":"J D E F A B C"},E:{"1":"E F A B C K L G sB dB VB WB tB uB vB","2":"I b J D oB cB pB qB rB"},F:{"1":"0 1 2 3 4 5 6 7 8 9 G M N O c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB GB Q HB IB JB KB LB MB NB OB PB QB RB SB TB UB","2":"F B C wB xB yB zB VB eB 0B WB"},G:{"1":"E 6B 7B 8B 9B AC BC CC DC EC FC GC HC IC JC","2":"cB 1B fB 2B 3B 4B 5B"},H:{"2":"KC"},I:{"1":"I H OC fB PC QC","2":"XB LC MC NC"},J:{"1":"A","2":"D"},K:{"1":"Q","2":"A B C VB eB WB"},L:{"1":"H"},M:{"1":"P"},N:{"1":"A B"},O:{"1":"RC"},P:{"1":"I SC TC UC VC WC dB XC YC ZC aC"},Q:{"1":"bC"},R:{"1":"cC"},S:{"1":"dC"}},B:2,C:"Navigation Timing API"}; diff --git a/tools/node_modules/@babel/core/node_modules/caniuse-lite/data/features/navigator-language.js b/tools/node_modules/@babel/core/node_modules/caniuse-lite/data/features/navigator-language.js new file mode 100644 index 00000000000000..c121c6220f2534 --- /dev/null +++ b/tools/node_modules/@babel/core/node_modules/caniuse-lite/data/features/navigator-language.js @@ -0,0 +1 @@ +module.exports={A:{A:{"2":"J D E F A B gB"},B:{"1":"M N O R S T U V W X Y Z P a H","2":"C K L G"},C:{"1":"0 1 2 3 4 5 6 7 8 9 p q r s t u v w x y z AB BB CB DB EB FB YB GB ZB Q HB IB JB KB LB MB NB OB PB QB RB SB TB UB aB bB R S T iB U V W X Y Z P a H","2":"hB XB I b J D E F A B C K L G M N O c d e f g h i j k l m n o jB kB"},D:{"1":"0 1 2 3 4 5 6 7 8 9 u v w x y z AB BB CB DB EB FB YB GB ZB Q HB IB JB KB LB MB NB OB PB QB RB SB TB UB aB bB R S T U V W X Y Z P a H lB mB nB","2":"I b J D E F A B C K L G M N O c d e f g h i j k l m n o p q r s t"},E:{"1":"A B C K L G dB VB WB tB uB vB","2":"I b J D E F oB cB pB qB rB sB"},F:{"1":"0 1 2 3 4 5 6 7 8 9 h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB GB Q HB IB JB KB LB MB NB OB PB QB RB SB TB UB","2":"F B C G M N O c d e f g wB xB yB zB VB eB 0B WB"},G:{"1":"9B AC BC CC DC EC FC GC HC IC JC","2":"E cB 1B fB 2B 3B 4B 5B 6B 7B 8B"},H:{"16":"KC"},I:{"1":"H","2":"XB I LC MC NC OC fB PC QC"},J:{"16":"D A"},K:{"1":"Q","2":"A B C VB eB WB"},L:{"1":"H"},M:{"1":"P"},N:{"2":"A B"},O:{"16":"RC"},P:{"1":"I SC TC UC VC WC dB XC YC ZC aC"},Q:{"16":"bC"},R:{"16":"cC"},S:{"1":"dC"}},B:2,C:"Navigator Language API"}; diff --git a/tools/node_modules/@babel/core/node_modules/caniuse-lite/data/features/netinfo.js b/tools/node_modules/@babel/core/node_modules/caniuse-lite/data/features/netinfo.js new file mode 100644 index 00000000000000..6491ffd7e2867e --- /dev/null +++ b/tools/node_modules/@babel/core/node_modules/caniuse-lite/data/features/netinfo.js @@ -0,0 +1 @@ +module.exports={A:{A:{"2":"J D E F A B gB"},B:{"2":"C K L G M N O","1028":"R S T U V W X Y Z P a H"},C:{"2":"0 1 2 3 4 5 6 7 8 9 hB XB I b J D E F A B C K L G M N O c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB YB GB ZB Q HB IB JB KB LB MB NB OB PB QB RB SB TB UB aB bB R S T iB U V W X Y Z P a H jB kB"},D:{"2":"0 1 2 3 4 5 6 7 8 9 I b J D E F A B C K L G M N O c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB YB GB","1028":"ZB Q HB IB JB KB LB MB NB OB PB QB RB SB TB UB aB bB R S T U V W X Y Z P a H lB mB nB"},E:{"2":"I b J D E F A B C K L G oB cB pB qB rB sB dB VB WB tB uB vB"},F:{"2":"0 1 2 3 4 F B C G M N O c d e f g h i j k l m n o p q r s t u v w x y z wB xB yB zB VB eB 0B WB","1028":"5 6 7 8 9 AB BB CB DB EB FB GB Q HB IB JB KB LB MB NB OB PB QB RB SB TB UB"},G:{"2":"E cB 1B fB 2B 3B 4B 5B 6B 7B 8B 9B AC BC CC DC EC FC GC HC IC JC"},H:{"2":"KC"},I:{"1":"H","2":"LC PC QC","132":"XB I MC NC OC fB"},J:{"2":"D A"},K:{"2":"A B C VB eB WB","516":"Q"},L:{"1":"H"},M:{"1":"P"},N:{"2":"A B"},O:{"2":"RC"},P:{"1":"VC WC dB XC YC ZC aC","132":"I","516":"SC TC UC"},Q:{"1":"bC"},R:{"516":"cC"},S:{"260":"dC"}},B:7,C:"Network Information API"}; diff --git a/tools/node_modules/@babel/core/node_modules/caniuse-lite/data/features/notifications.js b/tools/node_modules/@babel/core/node_modules/caniuse-lite/data/features/notifications.js new file mode 100644 index 00000000000000..8a8458c4f85e43 --- /dev/null +++ b/tools/node_modules/@babel/core/node_modules/caniuse-lite/data/features/notifications.js @@ -0,0 +1 @@ +module.exports={A:{A:{"2":"J D E F A B gB"},B:{"1":"L G M N O R S T U V W X Y Z P a H","2":"C K"},C:{"1":"0 1 2 3 4 5 6 7 8 9 f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB YB GB ZB Q HB IB JB KB LB MB NB OB PB QB RB SB TB UB aB bB R S T iB U V W X Y Z P a H","2":"hB XB I b J D E F A B C K L G M N O c d e jB kB"},D:{"1":"0 1 2 3 4 5 6 7 8 9 f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB YB GB ZB Q HB IB JB KB LB MB NB OB PB QB RB SB TB UB aB bB R S T U V W X Y Z P a H lB mB nB","2":"I","36":"b J D E F A B C K L G M N O c d e"},E:{"1":"J D E F A B C K L G qB rB sB dB VB WB tB uB vB","2":"I b oB cB pB"},F:{"1":"0 1 2 3 4 5 6 7 8 9 i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB GB Q HB IB JB KB LB MB NB OB PB QB RB SB TB UB","2":"F B C G M N O c d e f g h wB xB yB zB VB eB 0B WB"},G:{"2":"E cB 1B fB 2B 3B 4B 5B 6B 7B 8B 9B AC BC CC DC EC FC GC HC IC JC"},H:{"2":"KC"},I:{"2":"XB I LC MC NC OC fB","36":"H PC QC"},J:{"1":"A","2":"D"},K:{"2":"A B C VB eB WB","36":"Q"},L:{"513":"H"},M:{"1":"P"},N:{"2":"A B"},O:{"2":"RC"},P:{"36":"I","258":"SC TC UC VC WC dB XC YC ZC aC"},Q:{"2":"bC"},R:{"258":"cC"},S:{"1":"dC"}},B:1,C:"Web Notifications"}; diff --git a/tools/node_modules/@babel/core/node_modules/caniuse-lite/data/features/object-entries.js b/tools/node_modules/@babel/core/node_modules/caniuse-lite/data/features/object-entries.js new file mode 100644 index 00000000000000..dc9e56aa8b26c1 --- /dev/null +++ b/tools/node_modules/@babel/core/node_modules/caniuse-lite/data/features/object-entries.js @@ -0,0 +1 @@ +module.exports={A:{A:{"2":"J D E F A B gB"},B:{"1":"L G M N O R S T U V W X Y Z P a H","2":"C K"},C:{"1":"4 5 6 7 8 9 AB BB CB DB EB FB YB GB ZB Q HB IB JB KB LB MB NB OB PB QB RB SB TB UB aB bB R S T iB U V W X Y Z P a H","2":"0 1 2 3 hB XB I b J D E F A B C K L G M N O c d e f g h i j k l m n o p q r s t u v w x y z jB kB"},D:{"1":"BB CB DB EB FB YB GB ZB Q HB IB JB KB LB MB NB OB PB QB RB SB TB UB aB bB R S T U V W X Y Z P a H lB mB nB","2":"0 1 2 3 4 5 6 7 8 9 I b J D E F A B C K L G M N O c d e f g h i j k l m n o p q r s t u v w x y z AB"},E:{"1":"B C K L G dB VB WB tB uB vB","2":"I b J D E F A oB cB pB qB rB sB"},F:{"1":"0 1 2 3 4 5 6 7 8 9 y z AB BB CB DB EB FB GB Q HB IB JB KB LB MB NB OB PB QB RB SB TB UB","2":"F B C G M N O c d e f g h i j k l m n o p q r s t u v w x wB xB yB zB VB eB 0B WB"},G:{"1":"9B AC BC CC DC EC FC GC HC IC JC","2":"E cB 1B fB 2B 3B 4B 5B 6B 7B 8B"},H:{"2":"KC"},I:{"1":"H","2":"XB I LC MC NC OC fB PC QC"},J:{"2":"D","16":"A"},K:{"1":"Q","2":"A B C VB eB WB"},L:{"1":"H"},M:{"1":"P"},N:{"2":"A B"},O:{"1":"RC"},P:{"1":"TC UC VC WC dB XC YC ZC aC","2":"I SC"},Q:{"1":"bC"},R:{"2":"cC"},S:{"1":"dC"}},B:6,C:"Object.entries"}; diff --git a/tools/node_modules/@babel/core/node_modules/caniuse-lite/data/features/object-fit.js b/tools/node_modules/@babel/core/node_modules/caniuse-lite/data/features/object-fit.js new file mode 100644 index 00000000000000..f45cca32d310d9 --- /dev/null +++ b/tools/node_modules/@babel/core/node_modules/caniuse-lite/data/features/object-fit.js @@ -0,0 +1 @@ +module.exports={A:{A:{"2":"J D E F A B gB"},B:{"1":"R S T U V W X Y Z P a H","2":"C K L G","260":"M N O"},C:{"1":"0 1 2 3 4 5 6 7 8 9 t u v w x y z AB BB CB DB EB FB YB GB ZB Q HB IB JB KB LB MB NB OB PB QB RB SB TB UB aB bB R S T iB U V W X Y Z P a H","2":"hB XB I b J D E F A B C K L G M N O c d e f g h i j k l m n o p q r s jB kB"},D:{"1":"0 1 2 3 4 5 6 7 8 9 p q r s t u v w x y z AB BB CB DB EB FB YB GB ZB Q HB IB JB KB LB MB NB OB PB QB RB SB TB UB aB bB R S T U V W X Y Z P a H lB mB nB","2":"I b J D E F A B C K L G M N O c d e f g h i j k l m n o"},E:{"1":"A B C K L G dB VB WB tB uB vB","2":"I b J D oB cB pB qB","132":"E F rB sB"},F:{"1":"0 1 2 3 4 5 6 7 8 9 c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB GB Q HB IB JB KB LB MB NB OB PB QB RB SB TB UB","2":"F G M N O wB xB yB","33":"B C zB VB eB 0B WB"},G:{"1":"8B 9B AC BC CC DC EC FC GC HC IC JC","2":"cB 1B fB 2B 3B 4B","132":"E 5B 6B 7B"},H:{"33":"KC"},I:{"1":"H QC","2":"XB I LC MC NC OC fB PC"},J:{"2":"D A"},K:{"1":"Q","2":"A","33":"B C VB eB WB"},L:{"1":"H"},M:{"1":"P"},N:{"2":"A B"},O:{"1":"RC"},P:{"1":"I SC TC UC VC WC dB XC YC ZC aC"},Q:{"1":"bC"},R:{"1":"cC"},S:{"1":"dC"}},B:4,C:"CSS3 object-fit/object-position"}; diff --git a/tools/node_modules/@babel/core/node_modules/caniuse-lite/data/features/object-observe.js b/tools/node_modules/@babel/core/node_modules/caniuse-lite/data/features/object-observe.js new file mode 100644 index 00000000000000..6f419b5e5768b1 --- /dev/null +++ b/tools/node_modules/@babel/core/node_modules/caniuse-lite/data/features/object-observe.js @@ -0,0 +1 @@ +module.exports={A:{A:{"2":"J D E F A B gB"},B:{"2":"C K L G M N O R S T U V W X Y Z P a H"},C:{"2":"0 1 2 3 4 5 6 7 8 9 hB XB I b J D E F A B C K L G M N O c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB YB GB ZB Q HB IB JB KB LB MB NB OB PB QB RB SB TB UB aB bB R S T iB U V W X Y Z P a H jB kB"},D:{"1":"0 1 2 3 4 5 6 t u v w x y z","2":"7 8 9 I b J D E F A B C K L G M N O c d e f g h i j k l m n o p q r s AB BB CB DB EB FB YB GB ZB Q HB IB JB KB LB MB NB OB PB QB RB SB TB UB aB bB R S T U V W X Y Z P a H lB mB nB"},E:{"2":"I b J D E F A B C K L G oB cB pB qB rB sB dB VB WB tB uB vB"},F:{"1":"g h i j k l m n o p q r s t","2":"0 1 2 3 4 5 6 7 8 9 F B C G M N O c d e f u v w x y z AB BB CB DB EB FB GB Q HB IB JB KB LB MB NB OB PB QB RB SB TB UB wB xB yB zB VB eB 0B WB"},G:{"2":"E cB 1B fB 2B 3B 4B 5B 6B 7B 8B 9B AC BC CC DC EC FC GC HC IC JC"},H:{"2":"KC"},I:{"2":"XB I H LC MC NC OC fB PC QC"},J:{"2":"D A"},K:{"2":"A B C Q VB eB WB"},L:{"2":"H"},M:{"2":"P"},N:{"2":"A B"},O:{"2":"RC"},P:{"1":"I","2":"SC TC UC VC WC dB XC YC ZC aC"},Q:{"2":"bC"},R:{"1":"cC"},S:{"2":"dC"}},B:7,C:"Object.observe data binding"}; diff --git a/tools/node_modules/@babel/core/node_modules/caniuse-lite/data/features/object-values.js b/tools/node_modules/@babel/core/node_modules/caniuse-lite/data/features/object-values.js new file mode 100644 index 00000000000000..9de6518c59440a --- /dev/null +++ b/tools/node_modules/@babel/core/node_modules/caniuse-lite/data/features/object-values.js @@ -0,0 +1 @@ +module.exports={A:{A:{"8":"J D E F A B gB"},B:{"1":"L G M N O R S T U V W X Y Z P a H","2":"C K"},C:{"1":"4 5 6 7 8 9 AB BB CB DB EB FB YB GB ZB Q HB IB JB KB LB MB NB OB PB QB RB SB TB UB aB bB R S T iB U V W X Y Z P a H","8":"0 1 2 3 hB XB I b J D E F A B C K L G M N O c d e f g h i j k l m n o p q r s t u v w x y z jB kB"},D:{"1":"BB CB DB EB FB YB GB ZB Q HB IB JB KB LB MB NB OB PB QB RB SB TB UB aB bB R S T U V W X Y Z P a H lB mB nB","8":"0 1 2 3 4 5 6 7 8 9 I b J D E F A B C K L G M N O c d e f g h i j k l m n o p q r s t u v w x y z AB"},E:{"1":"B C K L G dB VB WB tB uB vB","8":"I b J D E F A oB cB pB qB rB sB"},F:{"1":"0 1 2 3 4 5 6 7 8 9 y z AB BB CB DB EB FB GB Q HB IB JB KB LB MB NB OB PB QB RB SB TB UB","8":"F B C G M N O c d e f g h i j k l m n o p q r s t u v w x wB xB yB zB VB eB 0B WB"},G:{"1":"9B AC BC CC DC EC FC GC HC IC JC","8":"E cB 1B fB 2B 3B 4B 5B 6B 7B 8B"},H:{"8":"KC"},I:{"1":"H","8":"XB I LC MC NC OC fB PC QC"},J:{"8":"D A"},K:{"1":"Q","8":"A B C VB eB WB"},L:{"1":"H"},M:{"1":"P"},N:{"8":"A B"},O:{"1":"RC"},P:{"1":"TC UC VC WC dB XC YC ZC aC","8":"I SC"},Q:{"1":"bC"},R:{"8":"cC"},S:{"1":"dC"}},B:6,C:"Object.values method"}; diff --git a/tools/node_modules/@babel/core/node_modules/caniuse-lite/data/features/objectrtc.js b/tools/node_modules/@babel/core/node_modules/caniuse-lite/data/features/objectrtc.js new file mode 100644 index 00000000000000..889e445557d3b8 --- /dev/null +++ b/tools/node_modules/@babel/core/node_modules/caniuse-lite/data/features/objectrtc.js @@ -0,0 +1 @@ +module.exports={A:{A:{"2":"J D E F A B gB"},B:{"1":"K L G M N O","2":"C R S T U V W X Y Z P a H"},C:{"2":"0 1 2 3 4 5 6 7 8 9 hB XB I b J D E F A B C K L G M N O c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB YB GB ZB Q HB IB JB KB LB MB NB OB PB QB RB SB TB UB aB bB R S T iB U V W X Y Z P a H jB kB"},D:{"2":"0 1 2 3 4 5 6 7 8 9 I b J D E F A B C K L G M N O c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB YB GB ZB Q HB IB JB KB LB MB NB OB PB QB RB SB TB UB aB bB R S T U V W X Y Z P a H lB mB nB"},E:{"2":"I b J D E F A B C K L G oB cB pB qB rB sB dB VB WB tB uB vB"},F:{"2":"0 1 2 3 4 5 6 7 8 9 F B C G M N O c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB GB Q HB IB JB KB LB MB NB OB PB QB RB SB TB UB wB xB yB zB VB eB 0B WB"},G:{"2":"E cB 1B fB 2B 3B 4B 5B 6B 7B 8B 9B AC BC CC DC EC FC GC HC IC JC"},H:{"2":"KC"},I:{"2":"XB I H LC MC NC OC fB PC QC"},J:{"2":"D","130":"A"},K:{"2":"A B C Q VB eB WB"},L:{"2":"H"},M:{"2":"P"},N:{"2":"A B"},O:{"2":"RC"},P:{"2":"I SC TC UC VC WC dB XC YC ZC aC"},Q:{"2":"bC"},R:{"2":"cC"},S:{"2":"dC"}},B:6,C:"Object RTC (ORTC) API for WebRTC"}; diff --git a/tools/node_modules/@babel/core/node_modules/caniuse-lite/data/features/offline-apps.js b/tools/node_modules/@babel/core/node_modules/caniuse-lite/data/features/offline-apps.js new file mode 100644 index 00000000000000..d8d8b6fc907edd --- /dev/null +++ b/tools/node_modules/@babel/core/node_modules/caniuse-lite/data/features/offline-apps.js @@ -0,0 +1 @@ +module.exports={A:{A:{"1":"A B","2":"F gB","8":"J D E"},B:{"1":"C K L G M N O R S T U V","2":"W X Y Z P a H"},C:{"1":"0 1 2 3 4 5 6 7 8 9 I b J D E F A B C K L G M N O c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB YB GB ZB Q HB IB JB KB LB MB NB OB PB QB RB SB TB UB aB bB R S T iB U jB kB","2":"V W X Y Z P a H","4":"XB","8":"hB"},D:{"1":"0 1 2 3 4 5 6 7 8 9 I b J D E F A B C K L G M N O c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB YB GB ZB Q HB IB JB KB LB MB NB OB PB QB RB SB TB UB aB bB R S T U V","2":"W X Y Z P a H lB mB nB"},E:{"1":"I b J D E F A B C K L G pB qB rB sB dB VB WB tB uB vB","8":"oB cB"},F:{"1":"0 1 2 3 4 5 6 7 8 9 B C G M N O c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB GB Q HB IB JB KB LB MB NB OB PB QB zB VB eB 0B WB","2":"F RB SB TB UB wB","8":"xB yB"},G:{"1":"E cB 1B fB 2B 3B 4B 5B 6B 7B 8B 9B AC BC CC DC EC FC GC HC IC JC"},H:{"2":"KC"},I:{"1":"XB I LC MC NC OC fB PC QC","2":"H"},J:{"1":"D A"},K:{"1":"B C Q VB eB WB","2":"A"},L:{"2":"H"},M:{"2":"P"},N:{"1":"A B"},O:{"1":"RC"},P:{"1":"I SC TC UC VC WC dB XC YC ZC aC"},Q:{"1":"bC"},R:{"1":"cC"},S:{"1":"dC"}},B:7,C:"Offline web applications"}; diff --git a/tools/node_modules/@babel/core/node_modules/caniuse-lite/data/features/offscreencanvas.js b/tools/node_modules/@babel/core/node_modules/caniuse-lite/data/features/offscreencanvas.js new file mode 100644 index 00000000000000..f8b5c591d9b64f --- /dev/null +++ b/tools/node_modules/@babel/core/node_modules/caniuse-lite/data/features/offscreencanvas.js @@ -0,0 +1 @@ +module.exports={A:{A:{"2":"J D E F A B gB"},B:{"1":"R S T U V W X Y Z P a H","2":"C K L G M N O"},C:{"2":"0 hB XB I b J D E F A B C K L G M N O c d e f g h i j k l m n o p q r s t u v w x y z jB kB","194":"1 2 3 4 5 6 7 8 9 AB BB CB DB EB FB YB GB ZB Q HB IB JB KB LB MB NB OB PB QB RB SB TB UB aB bB R S T iB U V W X Y Z P a H"},D:{"1":"NB OB PB QB RB SB TB UB aB bB R S T U V W X Y Z P a H lB mB nB","2":"0 1 2 3 4 5 6 7 8 9 I b J D E F A B C K L G M N O c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB","322":"FB YB GB ZB Q HB IB JB KB LB MB"},E:{"2":"I b J D E F A B C K L G oB cB pB qB rB sB dB VB WB tB uB vB"},F:{"1":"IB JB KB LB MB NB OB PB QB RB SB TB UB","2":"0 1 F B C G M N O c d e f g h i j k l m n o p q r s t u v w x y z wB xB yB zB VB eB 0B WB","322":"2 3 4 5 6 7 8 9 AB BB CB DB EB FB GB Q HB"},G:{"2":"E cB 1B fB 2B 3B 4B 5B 6B 7B 8B 9B AC BC CC DC EC FC GC HC IC JC"},H:{"2":"KC"},I:{"1":"H","2":"XB I LC MC NC OC fB PC QC"},J:{"2":"D A"},K:{"1":"Q","2":"A B C VB eB WB"},L:{"1":"H"},M:{"194":"P"},N:{"2":"A B"},O:{"2":"RC"},P:{"1":"dB XC YC ZC aC","2":"I SC TC UC VC WC"},Q:{"2":"bC"},R:{"2":"cC"},S:{"194":"dC"}},B:1,C:"OffscreenCanvas"}; diff --git a/tools/node_modules/@babel/core/node_modules/caniuse-lite/data/features/ogg-vorbis.js b/tools/node_modules/@babel/core/node_modules/caniuse-lite/data/features/ogg-vorbis.js new file mode 100644 index 00000000000000..4e1e07daeba76d --- /dev/null +++ b/tools/node_modules/@babel/core/node_modules/caniuse-lite/data/features/ogg-vorbis.js @@ -0,0 +1 @@ +module.exports={A:{A:{"2":"J D E F A B gB"},B:{"1":"N O R S T U V W X Y Z P a H","2":"C K L G M"},C:{"1":"0 1 2 3 4 5 6 7 8 9 I b J D E F A B C K L G M N O c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB YB GB ZB Q HB IB JB KB LB MB NB OB PB QB RB SB TB UB aB bB R S T iB U V W X Y Z P a H jB kB","2":"hB XB"},D:{"1":"0 1 2 3 4 5 6 7 8 9 I b J D E F A B C K L G M N O c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB YB GB ZB Q HB IB JB KB LB MB NB OB PB QB RB SB TB UB aB bB R S T U V W X Y Z P a H lB mB nB"},E:{"2":"I b J D E F A B C K L oB cB pB qB rB sB dB VB WB tB","132":"G uB vB"},F:{"1":"0 1 2 3 4 5 6 7 8 9 B C G M N O c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB GB Q HB IB JB KB LB MB NB OB PB QB RB SB TB UB yB zB VB eB 0B WB","2":"F wB xB"},G:{"2":"E cB 1B fB 2B 3B 4B 5B 6B 7B 8B 9B AC BC CC DC EC FC GC HC IC JC"},H:{"2":"KC"},I:{"1":"XB I H NC OC fB PC QC","16":"LC MC"},J:{"1":"A","2":"D"},K:{"1":"B C Q VB eB WB","2":"A"},L:{"1":"H"},M:{"1":"P"},N:{"2":"A B"},O:{"1":"RC"},P:{"1":"I SC TC UC VC WC dB XC YC ZC aC"},Q:{"1":"bC"},R:{"1":"cC"},S:{"1":"dC"}},B:6,C:"Ogg Vorbis audio format"}; diff --git a/tools/node_modules/@babel/core/node_modules/caniuse-lite/data/features/ogv.js b/tools/node_modules/@babel/core/node_modules/caniuse-lite/data/features/ogv.js new file mode 100644 index 00000000000000..7db415e7d6a935 --- /dev/null +++ b/tools/node_modules/@babel/core/node_modules/caniuse-lite/data/features/ogv.js @@ -0,0 +1 @@ +module.exports={A:{A:{"2":"J D E gB","8":"F A B"},B:{"1":"N O R S T U V W X Y Z P a H","8":"C K L G M"},C:{"1":"0 1 2 3 4 5 6 7 8 9 I b J D E F A B C K L G M N O c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB YB GB ZB Q HB IB JB KB LB MB NB OB PB QB RB SB TB UB aB bB R S T iB U V W X Y Z P a H jB kB","2":"hB XB"},D:{"1":"0 1 2 3 4 5 6 7 8 9 I b J D E F A B C K L G M N O c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB YB GB ZB Q HB IB JB KB LB MB NB OB PB QB RB SB TB UB aB bB R S T U V W X Y Z P a H lB mB nB"},E:{"2":"I b J D E F A B C K L G oB cB pB qB rB sB dB VB WB tB uB vB"},F:{"1":"0 1 2 3 4 5 6 7 8 9 B C G M N O c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB GB Q HB IB JB KB LB MB NB OB PB QB RB SB TB UB yB zB VB eB 0B WB","2":"F wB xB"},G:{"2":"E cB 1B fB 2B 3B 4B 5B 6B 7B 8B 9B AC BC CC DC EC FC GC HC IC JC"},H:{"2":"KC"},I:{"2":"XB I H LC MC NC OC fB PC QC"},J:{"2":"D A"},K:{"2":"A B C Q VB eB WB"},L:{"2":"H"},M:{"1":"P"},N:{"8":"A B"},O:{"1":"RC"},P:{"2":"I SC TC UC VC WC dB XC YC ZC aC"},Q:{"1":"bC"},R:{"2":"cC"},S:{"1":"dC"}},B:6,C:"Ogg/Theora video format"}; diff --git a/tools/node_modules/@babel/core/node_modules/caniuse-lite/data/features/ol-reversed.js b/tools/node_modules/@babel/core/node_modules/caniuse-lite/data/features/ol-reversed.js new file mode 100644 index 00000000000000..1051df170d4aa4 --- /dev/null +++ b/tools/node_modules/@babel/core/node_modules/caniuse-lite/data/features/ol-reversed.js @@ -0,0 +1 @@ +module.exports={A:{A:{"2":"J D E F A B gB"},B:{"1":"R S T U V W X Y Z P a H","2":"C K L G M N O"},C:{"1":"0 1 2 3 4 5 6 7 8 9 O c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB YB GB ZB Q HB IB JB KB LB MB NB OB PB QB RB SB TB UB aB bB R S T iB U V W X Y Z P a H","2":"hB XB I b J D E F A B C K L G M N jB kB"},D:{"1":"0 1 2 3 4 5 6 7 8 9 d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB YB GB ZB Q HB IB JB KB LB MB NB OB PB QB RB SB TB UB aB bB R S T U V W X Y Z P a H lB mB nB","2":"I b J D E F A B C K L G","16":"M N O c"},E:{"1":"D E F A B C K L G qB rB sB dB VB WB tB uB vB","2":"I b oB cB pB","16":"J"},F:{"1":"0 1 2 3 4 5 6 7 8 9 G M N O c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB GB Q HB IB JB KB LB MB NB OB PB QB RB SB TB UB WB","2":"F B wB xB yB zB VB eB 0B","16":"C"},G:{"1":"E 3B 4B 5B 6B 7B 8B 9B AC BC CC DC EC FC GC HC IC JC","2":"cB 1B fB 2B"},H:{"1":"KC"},I:{"1":"H PC QC","2":"XB I LC MC NC OC fB"},J:{"1":"A","2":"D"},K:{"1":"Q","2":"A B C VB eB WB"},L:{"1":"H"},M:{"1":"P"},N:{"2":"A B"},O:{"1":"RC"},P:{"1":"I SC TC UC VC WC dB XC YC ZC aC"},Q:{"1":"bC"},R:{"1":"cC"},S:{"1":"dC"}},B:1,C:"Reversed attribute of ordered lists"}; diff --git a/tools/node_modules/@babel/core/node_modules/caniuse-lite/data/features/once-event-listener.js b/tools/node_modules/@babel/core/node_modules/caniuse-lite/data/features/once-event-listener.js new file mode 100644 index 00000000000000..2a1931c903bce8 --- /dev/null +++ b/tools/node_modules/@babel/core/node_modules/caniuse-lite/data/features/once-event-listener.js @@ -0,0 +1 @@ +module.exports={A:{A:{"2":"J D E F A B gB"},B:{"1":"M N O R S T U V W X Y Z P a H","2":"C K L G"},C:{"1":"7 8 9 AB BB CB DB EB FB YB GB ZB Q HB IB JB KB LB MB NB OB PB QB RB SB TB UB aB bB R S T iB U V W X Y Z P a H","2":"0 1 2 3 4 5 6 hB XB I b J D E F A B C K L G M N O c d e f g h i j k l m n o p q r s t u v w x y z jB kB"},D:{"1":"CB DB EB FB YB GB ZB Q HB IB JB KB LB MB NB OB PB QB RB SB TB UB aB bB R S T U V W X Y Z P a H lB mB nB","2":"0 1 2 3 4 5 6 7 8 9 I b J D E F A B C K L G M N O c d e f g h i j k l m n o p q r s t u v w x y z AB BB"},E:{"1":"A B C K L G dB VB WB tB uB vB","2":"I b J D E F oB cB pB qB rB sB"},F:{"1":"0 1 2 3 4 5 6 7 8 9 z AB BB CB DB EB FB GB Q HB IB JB KB LB MB NB OB PB QB RB SB TB UB","2":"F B C G M N O c d e f g h i j k l m n o p q r s t u v w x y wB xB yB zB VB eB 0B WB"},G:{"1":"8B 9B AC BC CC DC EC FC GC HC IC JC","2":"E cB 1B fB 2B 3B 4B 5B 6B 7B"},H:{"2":"KC"},I:{"1":"H","2":"XB I LC MC NC OC fB PC QC"},J:{"2":"D A"},K:{"1":"Q","2":"A B C VB eB WB"},L:{"1":"H"},M:{"1":"P"},N:{"2":"A B"},O:{"1":"RC"},P:{"1":"TC UC VC WC dB XC YC ZC aC","2":"I SC"},Q:{"2":"bC"},R:{"2":"cC"},S:{"2":"dC"}},B:1,C:"\"once\" event listener option"}; diff --git a/tools/node_modules/@babel/core/node_modules/caniuse-lite/data/features/online-status.js b/tools/node_modules/@babel/core/node_modules/caniuse-lite/data/features/online-status.js new file mode 100644 index 00000000000000..d5d3d2cdbb2c62 --- /dev/null +++ b/tools/node_modules/@babel/core/node_modules/caniuse-lite/data/features/online-status.js @@ -0,0 +1 @@ +module.exports={A:{A:{"1":"F A B","2":"J D gB","260":"E"},B:{"1":"C K L G M N O R S T U V W X Y Z P a H"},C:{"1":"0 1 2 3 4 5 6 7 8 9 y z AB BB CB DB EB FB YB GB ZB Q HB IB JB KB LB MB NB OB PB QB RB SB TB UB aB bB R S T iB U V W X Y Z P a H jB kB","2":"hB XB","516":"I b J D E F A B C K L G M N O c d e f g h i j k l m n o p q r s t u v w x"},D:{"1":"0 1 2 3 4 5 6 7 8 9 L G M N O c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB YB GB ZB Q HB IB JB KB LB MB NB OB PB QB RB SB TB UB aB bB R S T U V W X Y Z P a H lB mB nB","2":"I b J D E F A B C K"},E:{"1":"b J D E F A B C K L G pB qB rB sB dB VB WB tB uB vB","2":"I oB cB"},F:{"1":"0 1 2 3 4 5 6 7 8 9 G M N O c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB GB Q HB IB JB KB LB MB NB OB PB QB RB SB TB UB","2":"F B C wB xB yB zB VB eB 0B","4":"WB"},G:{"1":"E fB 2B 3B 4B 5B 6B 7B 8B 9B AC BC CC DC EC FC GC HC IC JC","16":"cB 1B"},H:{"2":"KC"},I:{"1":"XB I H NC OC fB PC QC","16":"LC MC"},J:{"1":"A","132":"D"},K:{"1":"Q","2":"A B C VB eB WB"},L:{"1":"H"},M:{"1":"P"},N:{"1":"A B"},O:{"1":"RC"},P:{"1":"I SC TC UC VC WC dB XC YC ZC aC"},Q:{"1":"bC"},R:{"1":"cC"},S:{"1":"dC"}},B:1,C:"Online/offline status"}; diff --git a/tools/node_modules/@babel/core/node_modules/caniuse-lite/data/features/opus.js b/tools/node_modules/@babel/core/node_modules/caniuse-lite/data/features/opus.js new file mode 100644 index 00000000000000..046dbeeb9802c6 --- /dev/null +++ b/tools/node_modules/@babel/core/node_modules/caniuse-lite/data/features/opus.js @@ -0,0 +1 @@ +module.exports={A:{A:{"2":"J D E F A B gB"},B:{"1":"L G M N O R S T U V W X Y Z P a H","2":"C K"},C:{"1":"0 1 2 3 4 5 6 7 8 9 G M N O c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB YB GB ZB Q HB IB JB KB LB MB NB OB PB QB RB SB TB UB aB bB R S T iB U V W X Y Z P a H","2":"hB XB I b J D E F A B C K L jB kB"},D:{"1":"0 1 2 3 4 5 6 7 8 9 q r s t u v w x y z AB BB CB DB EB FB YB GB ZB Q HB IB JB KB LB MB NB OB PB QB RB SB TB UB aB bB R S T U V W X Y Z P a H lB mB nB","2":"I b J D E F A B C K L G M N O c d e f g h i j k l m n o p"},E:{"2":"I b J D E F A oB cB pB qB rB sB dB","132":"B C K L G VB WB tB uB vB"},F:{"1":"0 1 2 3 4 5 6 7 8 9 d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB GB Q HB IB JB KB LB MB NB OB PB QB RB SB TB UB","2":"F B C G M N O c wB xB yB zB VB eB 0B WB"},G:{"2":"E cB 1B fB 2B 3B 4B 5B 6B 7B 8B 9B","132":"AC BC CC DC EC FC GC HC IC JC"},H:{"2":"KC"},I:{"1":"H","2":"XB I LC MC NC OC fB PC QC"},J:{"2":"D A"},K:{"2":"A B C Q VB eB WB"},L:{"1":"H"},M:{"1":"P"},N:{"2":"A B"},O:{"1":"RC"},P:{"1":"SC TC UC VC WC dB XC YC ZC aC","2":"I"},Q:{"1":"bC"},R:{"1":"cC"},S:{"1":"dC"}},B:6,C:"Opus"}; diff --git a/tools/node_modules/@babel/core/node_modules/caniuse-lite/data/features/orientation-sensor.js b/tools/node_modules/@babel/core/node_modules/caniuse-lite/data/features/orientation-sensor.js new file mode 100644 index 00000000000000..5e9cfc4625db6c --- /dev/null +++ b/tools/node_modules/@babel/core/node_modules/caniuse-lite/data/features/orientation-sensor.js @@ -0,0 +1 @@ +module.exports={A:{A:{"2":"J D E F A B gB"},B:{"1":"R S T U V W X Y Z P a H","2":"C K L G M N O"},C:{"2":"0 1 2 3 4 5 6 7 8 9 hB XB I b J D E F A B C K L G M N O c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB YB GB ZB Q HB IB JB KB LB MB NB OB PB QB RB SB TB UB aB bB R S T iB U V W X Y Z P a H jB kB"},D:{"1":"LB MB NB OB PB QB RB SB TB UB aB bB R S T U V W X Y Z P a H lB mB nB","2":"0 1 2 3 4 5 6 7 8 9 I b J D E F A B C K L G M N O c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB","194":"FB YB GB ZB Q HB IB JB KB"},E:{"2":"I b J D E F A B C K L G oB cB pB qB rB sB dB VB WB tB uB vB"},F:{"1":"BB CB DB EB FB GB Q HB IB JB KB LB MB NB OB PB QB RB SB TB UB","2":"0 1 2 3 4 5 6 7 8 9 F B C G M N O c d e f g h i j k l m n o p q r s t u v w x y z AB wB xB yB zB VB eB 0B WB"},G:{"2":"E cB 1B fB 2B 3B 4B 5B 6B 7B 8B 9B AC BC CC DC EC FC GC HC IC JC"},H:{"2":"KC"},I:{"1":"H","2":"XB I LC MC NC OC fB PC QC"},J:{"2":"D A"},K:{"2":"A B C Q VB eB WB"},L:{"1":"H"},M:{"2":"P"},N:{"2":"A B"},O:{"2":"RC"},P:{"2":"I SC TC UC VC WC dB XC YC ZC aC"},Q:{"2":"bC"},R:{"2":"cC"},S:{"2":"dC"}},B:4,C:"Orientation Sensor"}; diff --git a/tools/node_modules/@babel/core/node_modules/caniuse-lite/data/features/outline.js b/tools/node_modules/@babel/core/node_modules/caniuse-lite/data/features/outline.js new file mode 100644 index 00000000000000..8c749853189fc8 --- /dev/null +++ b/tools/node_modules/@babel/core/node_modules/caniuse-lite/data/features/outline.js @@ -0,0 +1 @@ +module.exports={A:{A:{"2":"J D gB","260":"E","388":"F A B"},B:{"1":"G M N O R S T U V W X Y Z P a H","388":"C K L"},C:{"1":"0 1 2 3 4 5 6 7 8 9 hB XB I b J D E F A B C K L G M N O c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB YB GB ZB Q HB IB JB KB LB MB NB OB PB QB RB SB TB UB aB bB R S T iB U V W X Y Z P a H jB kB"},D:{"1":"0 1 2 3 4 5 6 7 8 9 I b J D E F A B C K L G M N O c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB YB GB ZB Q HB IB JB KB LB MB NB OB PB QB RB SB TB UB aB bB R S T U V W X Y Z P a H lB mB nB"},E:{"1":"I b J D E F A B C K L G oB cB pB qB rB sB dB VB WB tB uB vB"},F:{"1":"0 1 2 3 4 5 6 7 8 9 C G M N O c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB GB Q HB IB JB KB LB MB NB OB PB QB RB SB TB UB 0B","129":"WB","260":"F B wB xB yB zB VB eB"},G:{"1":"E cB 1B fB 2B 3B 4B 5B 6B 7B 8B 9B AC BC CC DC EC FC GC HC IC JC"},H:{"2":"KC"},I:{"1":"XB I H LC MC NC OC fB PC QC"},J:{"1":"D A"},K:{"1":"C Q WB","260":"A B VB eB"},L:{"1":"H"},M:{"1":"P"},N:{"388":"A B"},O:{"1":"RC"},P:{"1":"I SC TC UC VC WC dB XC YC ZC aC"},Q:{"1":"bC"},R:{"1":"cC"},S:{"1":"dC"}},B:4,C:"CSS outline properties"}; diff --git a/tools/node_modules/@babel/core/node_modules/caniuse-lite/data/features/pad-start-end.js b/tools/node_modules/@babel/core/node_modules/caniuse-lite/data/features/pad-start-end.js new file mode 100644 index 00000000000000..42a3f689191c7e --- /dev/null +++ b/tools/node_modules/@babel/core/node_modules/caniuse-lite/data/features/pad-start-end.js @@ -0,0 +1 @@ +module.exports={A:{A:{"2":"J D E F A B gB"},B:{"1":"G M N O R S T U V W X Y Z P a H","2":"C K L"},C:{"1":"5 6 7 8 9 AB BB CB DB EB FB YB GB ZB Q HB IB JB KB LB MB NB OB PB QB RB SB TB UB aB bB R S T iB U V W X Y Z P a H","2":"0 1 2 3 4 hB XB I b J D E F A B C K L G M N O c d e f g h i j k l m n o p q r s t u v w x y z jB kB"},D:{"1":"EB FB YB GB ZB Q HB IB JB KB LB MB NB OB PB QB RB SB TB UB aB bB R S T U V W X Y Z P a H lB mB nB","2":"0 1 2 3 4 5 6 7 8 9 I b J D E F A B C K L G M N O c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB"},E:{"1":"A B C K L G dB VB WB tB uB vB","2":"I b J D E F oB cB pB qB rB sB"},F:{"1":"1 2 3 4 5 6 7 8 9 AB BB CB DB EB FB GB Q HB IB JB KB LB MB NB OB PB QB RB SB TB UB","2":"0 F B C G M N O c d e f g h i j k l m n o p q r s t u v w x y z wB xB yB zB VB eB 0B WB"},G:{"1":"8B 9B AC BC CC DC EC FC GC HC IC JC","2":"E cB 1B fB 2B 3B 4B 5B 6B 7B"},H:{"2":"KC"},I:{"1":"H","2":"XB I LC MC NC OC fB PC QC"},J:{"2":"D A"},K:{"1":"Q","2":"A B C VB eB WB"},L:{"1":"H"},M:{"1":"P"},N:{"2":"A B"},O:{"1":"RC"},P:{"1":"UC VC WC dB XC YC ZC aC","2":"I SC TC"},Q:{"1":"bC"},R:{"2":"cC"},S:{"1":"dC"}},B:6,C:"String.prototype.padStart(), String.prototype.padEnd()"}; diff --git a/tools/node_modules/@babel/core/node_modules/caniuse-lite/data/features/page-transition-events.js b/tools/node_modules/@babel/core/node_modules/caniuse-lite/data/features/page-transition-events.js new file mode 100644 index 00000000000000..51611bc01bfc93 --- /dev/null +++ b/tools/node_modules/@babel/core/node_modules/caniuse-lite/data/features/page-transition-events.js @@ -0,0 +1 @@ +module.exports={A:{A:{"1":"B","2":"J D E F A gB"},B:{"1":"C K L G M N O R S T U V W X Y Z P a H"},C:{"1":"0 1 2 3 4 5 6 7 8 9 hB XB I b J D E F A B C K L G M N O c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB YB GB ZB Q HB IB JB KB LB MB NB OB PB QB RB SB TB UB aB bB R S T iB U V W X Y Z P a H jB kB"},D:{"1":"0 1 2 3 4 5 6 7 8 9 I b J D E F A B C K L G M N O c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB YB GB ZB Q HB IB JB KB LB MB NB OB PB QB RB SB TB UB aB bB R S T U V W X Y Z P a H lB mB nB"},E:{"1":"b J D E F A B C K L G pB qB rB sB dB VB WB tB uB vB","2":"I oB cB"},F:{"1":"0 1 2 3 4 5 6 7 8 9 G M N O c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB GB Q HB IB JB KB LB MB NB OB PB QB RB SB TB UB","2":"F B C wB xB yB zB VB eB 0B WB"},G:{"1":"E 2B 3B 4B 5B 6B 7B 8B 9B AC BC CC DC EC FC GC HC IC JC","16":"cB 1B fB"},H:{"2":"KC"},I:{"1":"XB I H NC OC fB PC QC","16":"LC MC"},J:{"1":"D A"},K:{"1":"Q","2":"A B C VB eB WB"},L:{"1":"H"},M:{"1":"P"},N:{"1":"B","2":"A"},O:{"1":"RC"},P:{"1":"I SC TC UC VC WC dB XC YC ZC aC"},Q:{"1":"bC"},R:{"1":"cC"},S:{"1":"dC"}},B:1,C:"PageTransitionEvent"}; diff --git a/tools/node_modules/@babel/core/node_modules/caniuse-lite/data/features/pagevisibility.js b/tools/node_modules/@babel/core/node_modules/caniuse-lite/data/features/pagevisibility.js new file mode 100644 index 00000000000000..d2da11f612d3c4 --- /dev/null +++ b/tools/node_modules/@babel/core/node_modules/caniuse-lite/data/features/pagevisibility.js @@ -0,0 +1 @@ +module.exports={A:{A:{"1":"A B","2":"J D E F gB"},B:{"1":"C K L G M N O R S T U V W X Y Z P a H"},C:{"1":"0 1 2 3 4 5 6 7 8 9 O c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB YB GB ZB Q HB IB JB KB LB MB NB OB PB QB RB SB TB UB aB bB R S T iB U V W X Y Z P a H","2":"hB XB I b J D E F jB kB","33":"A B C K L G M N"},D:{"1":"0 1 2 3 4 5 6 7 8 9 q r s t u v w x y z AB BB CB DB EB FB YB GB ZB Q HB IB JB KB LB MB NB OB PB QB RB SB TB UB aB bB R S T U V W X Y Z P a H lB mB nB","2":"I b J D E F A B C K","33":"L G M N O c d e f g h i j k l m n o p"},E:{"1":"D E F A B C K L G qB rB sB dB VB WB tB uB vB","2":"I b J oB cB pB"},F:{"1":"0 1 2 3 4 5 6 7 8 9 d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB GB Q HB IB JB KB LB MB NB OB PB QB RB SB TB UB WB","2":"F B C wB xB yB zB VB eB 0B","33":"G M N O c"},G:{"1":"E 4B 5B 6B 7B 8B 9B AC BC CC DC EC FC GC HC IC JC","2":"cB 1B fB 2B 3B"},H:{"2":"KC"},I:{"1":"H","2":"XB I LC MC NC OC fB","33":"PC QC"},J:{"1":"A","2":"D"},K:{"1":"Q WB","2":"A B C VB eB"},L:{"1":"H"},M:{"1":"P"},N:{"1":"A B"},O:{"1":"RC"},P:{"1":"SC TC UC VC WC dB XC YC ZC aC","33":"I"},Q:{"1":"bC"},R:{"1":"cC"},S:{"1":"dC"}},B:2,C:"Page Visibility"}; diff --git a/tools/node_modules/@babel/core/node_modules/caniuse-lite/data/features/passive-event-listener.js b/tools/node_modules/@babel/core/node_modules/caniuse-lite/data/features/passive-event-listener.js new file mode 100644 index 00000000000000..f886f5aff72dae --- /dev/null +++ b/tools/node_modules/@babel/core/node_modules/caniuse-lite/data/features/passive-event-listener.js @@ -0,0 +1 @@ +module.exports={A:{A:{"2":"J D E F A B gB"},B:{"1":"M N O R S T U V W X Y Z P a H","2":"C K L G"},C:{"1":"6 7 8 9 AB BB CB DB EB FB YB GB ZB Q HB IB JB KB LB MB NB OB PB QB RB SB TB UB aB bB R S T iB U V W X Y Z P a H","2":"0 1 2 3 4 5 hB XB I b J D E F A B C K L G M N O c d e f g h i j k l m n o p q r s t u v w x y z jB kB"},D:{"1":"8 9 AB BB CB DB EB FB YB GB ZB Q HB IB JB KB LB MB NB OB PB QB RB SB TB UB aB bB R S T U V W X Y Z P a H lB mB nB","2":"0 1 2 3 4 5 6 7 I b J D E F A B C K L G M N O c d e f g h i j k l m n o p q r s t u v w x y z"},E:{"1":"A B C K L G dB VB WB tB uB vB","2":"I b J D E F oB cB pB qB rB sB"},F:{"1":"0 1 2 3 4 5 6 7 8 9 v w x y z AB BB CB DB EB FB GB Q HB IB JB KB LB MB NB OB PB QB RB SB TB UB","2":"F B C G M N O c d e f g h i j k l m n o p q r s t u wB xB yB zB VB eB 0B WB"},G:{"1":"8B 9B AC BC CC DC EC FC GC HC IC JC","2":"E cB 1B fB 2B 3B 4B 5B 6B 7B"},H:{"2":"KC"},I:{"1":"H","2":"XB I LC MC NC OC fB PC QC"},J:{"2":"D A"},K:{"1":"Q","2":"A B C VB eB WB"},L:{"1":"H"},M:{"1":"P"},N:{"2":"A B"},O:{"1":"RC"},P:{"1":"SC TC UC VC WC dB XC YC ZC aC","2":"I"},Q:{"2":"bC"},R:{"2":"cC"},S:{"2":"dC"}},B:1,C:"Passive event listeners"}; diff --git a/tools/node_modules/@babel/core/node_modules/caniuse-lite/data/features/passwordrules.js b/tools/node_modules/@babel/core/node_modules/caniuse-lite/data/features/passwordrules.js new file mode 100644 index 00000000000000..ce165cf44c088c --- /dev/null +++ b/tools/node_modules/@babel/core/node_modules/caniuse-lite/data/features/passwordrules.js @@ -0,0 +1 @@ +module.exports={A:{A:{"2":"J D E F A B gB"},B:{"2":"C K L G M N O","16":"R S T U V W X Y Z P a H"},C:{"2":"0 1 2 3 4 5 6 7 8 9 hB XB I b J D E F A B C K L G M N O c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB YB GB ZB Q HB IB JB KB LB MB NB OB PB QB RB SB TB UB aB bB R S T iB U V W X Y Z P jB kB","16":"a H"},D:{"2":"0 1 2 3 4 5 6 7 8 9 I b J D E F A B C K L G M N O c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB YB GB ZB Q HB IB JB KB LB MB NB OB PB QB RB SB TB UB aB bB R S T U V W X Y Z P a H","16":"lB mB nB"},E:{"1":"C K WB","2":"I b J D E F A B oB cB pB qB rB sB dB VB","16":"L G tB uB vB"},F:{"2":"0 1 2 3 4 5 6 7 8 9 F B C G M N O c d e f g h i j k l m n o p q r s t u v w x y z wB xB yB zB VB eB 0B WB","16":"AB BB CB DB EB FB GB Q HB IB JB KB LB MB NB OB PB QB RB SB TB UB"},G:{"2":"E cB 1B fB 2B 3B 4B 5B 6B 7B 8B 9B AC BC CC DC EC FC GC HC IC JC"},H:{"16":"KC"},I:{"2":"XB I LC MC NC OC fB PC QC","16":"H"},J:{"2":"D","16":"A"},K:{"2":"A B C VB eB WB","16":"Q"},L:{"16":"H"},M:{"16":"P"},N:{"2":"A","16":"B"},O:{"16":"RC"},P:{"2":"I SC TC","16":"UC VC WC dB XC YC ZC aC"},Q:{"16":"bC"},R:{"16":"cC"},S:{"2":"dC"}},B:1,C:"Password Rules"}; diff --git a/tools/node_modules/@babel/core/node_modules/caniuse-lite/data/features/path2d.js b/tools/node_modules/@babel/core/node_modules/caniuse-lite/data/features/path2d.js new file mode 100644 index 00000000000000..3b5d05803c4fcc --- /dev/null +++ b/tools/node_modules/@babel/core/node_modules/caniuse-lite/data/features/path2d.js @@ -0,0 +1 @@ +module.exports={A:{A:{"2":"J D E F A B gB"},B:{"1":"R S T U V W X Y Z P a H","2":"C K","132":"L G M N O"},C:{"1":"5 6 7 8 9 AB BB CB DB EB FB YB GB ZB Q HB IB JB KB LB MB NB OB PB QB RB SB TB UB aB bB R S T iB U V W X Y Z P a H","2":"hB XB I b J D E F A B C K L G M N O c d e f g h i j k l m n jB kB","132":"0 1 2 3 4 o p q r s t u v w x y z"},D:{"1":"MB NB OB PB QB RB SB TB UB aB bB R S T U V W X Y Z P a H lB mB nB","2":"I b J D E F A B C K L G M N O c d e f g h i j k l m n o p q r s","132":"0 1 2 3 4 5 6 7 8 9 t u v w x y z AB BB CB DB EB FB YB GB ZB Q HB IB JB KB LB"},E:{"1":"A B C K L G sB dB VB WB tB uB vB","2":"I b J D oB cB pB qB","132":"E F rB"},F:{"1":"CB DB EB FB GB Q HB IB JB KB LB MB NB OB PB QB RB SB TB UB","2":"F B C G M N O c d e f wB xB yB zB VB eB 0B WB","132":"0 1 2 3 4 5 6 7 8 9 g h i j k l m n o p q r s t u v w x y z AB BB"},G:{"1":"6B 7B 8B 9B AC BC CC DC EC FC GC HC IC JC","2":"cB 1B fB 2B 3B 4B","16":"E","132":"5B"},H:{"2":"KC"},I:{"1":"H","2":"XB I LC MC NC OC fB PC QC"},J:{"1":"A","2":"D"},K:{"2":"A B C VB eB WB","132":"Q"},L:{"1":"H"},M:{"1":"P"},N:{"2":"A B"},O:{"132":"RC"},P:{"1":"dB XC YC ZC aC","132":"I SC TC UC VC WC"},Q:{"132":"bC"},R:{"132":"cC"},S:{"1":"dC"}},B:1,C:"Path2D"}; diff --git a/tools/node_modules/@babel/core/node_modules/caniuse-lite/data/features/payment-request.js b/tools/node_modules/@babel/core/node_modules/caniuse-lite/data/features/payment-request.js new file mode 100644 index 00000000000000..89104d26a1d06a --- /dev/null +++ b/tools/node_modules/@babel/core/node_modules/caniuse-lite/data/features/payment-request.js @@ -0,0 +1 @@ +module.exports={A:{A:{"2":"J D E F A B gB"},B:{"1":"R S T U V W X Y Z P a H","2":"C K","322":"L","8196":"G M N O"},C:{"2":"0 1 2 3 4 5 6 7 8 9 hB XB I b J D E F A B C K L G M N O c d e f g h i j k l m n o p q r s t u v w x y z AB BB jB kB","4162":"CB DB EB FB YB GB ZB Q HB IB JB","16452":"KB LB MB NB OB PB QB RB SB TB UB aB bB R S T iB U V W X Y Z P a H"},D:{"1":"bB R S T U V W X Y Z P a H lB mB nB","2":"0 1 2 3 4 5 6 7 8 9 I b J D E F A B C K L G M N O c d e f g h i j k l m n o p q r s t u v w x y z","194":"AB BB CB DB EB FB","1090":"YB GB","8196":"ZB Q HB IB JB KB LB MB NB OB PB QB RB SB TB UB aB"},E:{"1":"K L G WB tB uB vB","2":"I b J D E F oB cB pB qB rB sB","514":"A B dB","8196":"C VB"},F:{"1":"KB LB MB NB OB PB QB RB SB TB UB","2":"F B C G M N O c d e f g h i j k l m n o p q r s t u v w wB xB yB zB VB eB 0B WB","194":"0 1 2 3 4 x y z","8196":"5 6 7 8 9 AB BB CB DB EB FB GB Q HB IB JB"},G:{"1":"DC EC FC GC HC IC JC","2":"E cB 1B fB 2B 3B 4B 5B 6B 7B","514":"8B 9B AC","8196":"BC CC"},H:{"2":"KC"},I:{"2":"XB I H LC MC NC OC fB PC QC"},J:{"2":"D A"},K:{"2":"A B C Q VB eB WB"},L:{"2049":"H"},M:{"2":"P"},N:{"2":"A B"},O:{"2":"RC"},P:{"1":"YC ZC aC","2":"I","8196":"SC TC UC VC WC dB XC"},Q:{"8196":"bC"},R:{"2":"cC"},S:{"2":"dC"}},B:4,C:"Payment Request API"}; diff --git a/tools/node_modules/@babel/core/node_modules/caniuse-lite/data/features/pdf-viewer.js b/tools/node_modules/@babel/core/node_modules/caniuse-lite/data/features/pdf-viewer.js new file mode 100644 index 00000000000000..813c01416466fb --- /dev/null +++ b/tools/node_modules/@babel/core/node_modules/caniuse-lite/data/features/pdf-viewer.js @@ -0,0 +1 @@ +module.exports={A:{A:{"2":"J D E F A gB","132":"B"},B:{"1":"G M N O R S T U V W X Y Z P a H","16":"C K L"},C:{"1":"0 1 2 3 4 5 6 7 8 9 c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB YB GB ZB Q HB IB JB KB LB MB NB OB PB QB RB SB TB UB aB bB R S T iB U V W X Y Z P a H","2":"hB XB I b J D E F A B C K L G M N O jB kB"},D:{"1":"0 1 2 3 4 5 6 7 8 9 G M N O c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB YB GB ZB Q HB IB JB KB LB MB NB OB PB QB RB SB TB UB aB bB R S T U V W X Y Z P a H lB mB nB","16":"I b J D E F A B C K L"},E:{"1":"I b J D E F A B C K L G pB qB rB sB dB VB WB tB uB vB","16":"oB cB"},F:{"1":"0 1 2 3 4 5 6 7 8 9 C G M N O c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB GB Q HB IB JB KB LB MB NB OB PB QB RB SB TB UB WB","2":"F B wB xB yB zB VB eB 0B"},G:{"1":"E cB 1B fB 2B 3B 4B 5B 6B 7B 8B 9B AC BC CC DC EC FC GC HC IC JC"},H:{"2":"KC"},I:{"2":"XB I H LC MC NC OC fB PC QC"},J:{"16":"D A"},K:{"2":"A B C Q VB eB WB"},L:{"2":"H"},M:{"2":"P"},N:{"16":"A B"},O:{"2":"RC"},P:{"2":"I SC TC UC VC WC dB XC YC ZC aC"},Q:{"1":"bC"},R:{"2":"cC"},S:{"2":"dC"}},B:6,C:"Built-in PDF viewer"}; diff --git a/tools/node_modules/@babel/core/node_modules/caniuse-lite/data/features/permissions-api.js b/tools/node_modules/@babel/core/node_modules/caniuse-lite/data/features/permissions-api.js new file mode 100644 index 00000000000000..1bcec8c82802ac --- /dev/null +++ b/tools/node_modules/@babel/core/node_modules/caniuse-lite/data/features/permissions-api.js @@ -0,0 +1 @@ +module.exports={A:{A:{"2":"J D E F A B gB"},B:{"1":"R S T U V W X Y Z P a H","2":"C K L G M N O"},C:{"1":"3 4 5 6 7 8 9 AB BB CB DB EB FB YB GB ZB Q HB IB JB KB LB MB NB OB PB QB RB SB TB UB aB bB R S T iB U V W X Y Z P a H","2":"0 1 2 hB XB I b J D E F A B C K L G M N O c d e f g h i j k l m n o p q r s t u v w x y z jB kB"},D:{"1":"0 1 2 3 4 5 6 7 8 9 AB BB CB DB EB FB YB GB ZB Q HB IB JB KB LB MB NB OB PB QB RB SB TB UB aB bB R S T U V W X Y Z P a H lB mB nB","2":"I b J D E F A B C K L G M N O c d e f g h i j k l m n o p q r s t u v w x y z"},E:{"2":"I b J D E F A B C K L G oB cB pB qB rB sB dB VB WB tB uB vB"},F:{"1":"0 1 2 3 4 5 6 7 8 9 n o p q r s t u v w x y z AB BB CB DB EB FB GB Q HB IB JB KB LB MB NB OB PB QB RB SB TB UB","2":"F B C G M N O c d e f g h i j k l m wB xB yB zB VB eB 0B WB"},G:{"2":"E cB 1B fB 2B 3B 4B 5B 6B 7B 8B 9B AC BC CC DC EC FC GC HC IC JC"},H:{"2":"KC"},I:{"2":"XB I H LC MC NC OC fB PC QC"},J:{"2":"D A"},K:{"2":"A B C Q VB eB WB"},L:{"1":"H"},M:{"1":"P"},N:{"2":"A B"},O:{"2":"RC"},P:{"1":"I SC TC UC VC WC dB XC YC ZC aC"},Q:{"2":"bC"},R:{"2":"cC"},S:{"1":"dC"}},B:7,C:"Permissions API"}; diff --git a/tools/node_modules/@babel/core/node_modules/caniuse-lite/data/features/permissions-policy.js b/tools/node_modules/@babel/core/node_modules/caniuse-lite/data/features/permissions-policy.js new file mode 100644 index 00000000000000..29dd208ae4d7ad --- /dev/null +++ b/tools/node_modules/@babel/core/node_modules/caniuse-lite/data/features/permissions-policy.js @@ -0,0 +1 @@ +module.exports={A:{A:{"2":"J D E F A B gB"},B:{"2":"C K L G M N O","258":"R S T U V W","322":"X Y","388":"Z P a H"},C:{"2":"0 1 2 3 4 5 6 7 8 9 hB XB I b J D E F A B C K L G M N O c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB YB GB ZB Q HB IB JB KB LB MB NB OB PB QB RB jB kB","258":"SB TB UB aB bB R S T iB U V W X Y Z P a H"},D:{"2":"0 1 2 3 4 5 6 7 8 9 I b J D E F A B C K L G M N O c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB YB","258":"GB ZB Q HB IB JB KB LB MB NB OB PB QB RB SB TB UB aB bB R S T U V W","322":"X Y","388":"Z P a H lB mB nB"},E:{"2":"I b J D E F A B oB cB pB qB rB sB dB","258":"C K L G VB WB tB uB vB"},F:{"2":"0 1 2 3 F B C G M N O c d e f g h i j k l m n o p q r s t u v w x y z wB xB yB zB VB eB 0B WB","258":"4 5 6 7 8 9 AB BB CB DB EB FB GB Q HB IB JB KB LB MB NB OB PB","322":"QB RB SB TB UB"},G:{"2":"E cB 1B fB 2B 3B 4B 5B 6B 7B 8B 9B AC","258":"BC CC DC EC FC GC HC IC JC"},H:{"2":"KC"},I:{"2":"XB I LC MC NC OC fB PC QC","258":"H"},J:{"2":"D A"},K:{"2":"A B C VB eB WB","258":"Q"},L:{"388":"H"},M:{"2":"P"},N:{"2":"A B"},O:{"2":"RC"},P:{"2":"I SC TC UC","258":"VC WC dB XC YC ZC aC"},Q:{"258":"bC"},R:{"2":"cC"},S:{"2":"dC"}},B:5,C:"Permissions Policy"}; diff --git a/tools/node_modules/@babel/core/node_modules/caniuse-lite/data/features/picture-in-picture.js b/tools/node_modules/@babel/core/node_modules/caniuse-lite/data/features/picture-in-picture.js new file mode 100644 index 00000000000000..9c378de3fcc266 --- /dev/null +++ b/tools/node_modules/@babel/core/node_modules/caniuse-lite/data/features/picture-in-picture.js @@ -0,0 +1 @@ +module.exports={A:{A:{"2":"J D E F A B gB"},B:{"1":"R S T U V W X Y Z P a H","2":"C K L G M N O"},C:{"2":"0 1 2 3 4 5 6 7 8 9 hB XB I b J D E F A B C K L G M N O c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB YB GB ZB Q HB IB JB KB jB kB","132":"QB RB SB TB UB aB bB R S T iB U V W X Y Z P a H","1090":"LB","1412":"PB","1668":"MB NB OB"},D:{"1":"OB PB QB RB SB TB UB aB bB R S T U V W X Y Z P a H lB mB nB","2":"0 1 2 3 4 5 6 7 8 9 I b J D E F A B C K L G M N O c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB YB GB ZB Q HB IB JB KB LB MB","2114":"NB"},E:{"1":"L G tB uB vB","2":"I b J D E F oB cB pB qB rB sB","4100":"A B C K dB VB WB"},F:{"1":"RB SB TB UB","2":"F B C G M N O c d e f g h i j k l m n o p q r s t wB xB yB zB VB eB 0B WB","8196":"0 1 2 3 4 5 6 7 8 9 u v w x y z AB BB CB DB EB FB GB Q HB IB JB KB LB MB NB OB PB QB"},G:{"1":"IC JC","2":"E cB 1B fB 2B 3B 4B 5B","4100":"6B 7B 8B 9B AC BC CC DC EC FC GC HC"},H:{"2":"KC"},I:{"2":"XB I H LC MC NC OC fB PC QC"},J:{"2":"D A"},K:{"2":"A B C Q VB eB WB"},L:{"16388":"H"},M:{"16388":"P"},N:{"2":"A B"},O:{"2":"RC"},P:{"2":"I SC TC UC VC WC dB XC YC ZC aC"},Q:{"2":"bC"},R:{"2":"cC"},S:{"2":"dC"}},B:7,C:"Picture-in-Picture"}; diff --git a/tools/node_modules/@babel/core/node_modules/caniuse-lite/data/features/picture.js b/tools/node_modules/@babel/core/node_modules/caniuse-lite/data/features/picture.js new file mode 100644 index 00000000000000..dc0a5ec8692407 --- /dev/null +++ b/tools/node_modules/@babel/core/node_modules/caniuse-lite/data/features/picture.js @@ -0,0 +1 @@ +module.exports={A:{A:{"2":"J D E F A B gB"},B:{"1":"K L G M N O R S T U V W X Y Z P a H","2":"C"},C:{"1":"0 1 2 3 4 5 6 7 8 9 v w x y z AB BB CB DB EB FB YB GB ZB Q HB IB JB KB LB MB NB OB PB QB RB SB TB UB aB bB R S T iB U V W X Y Z P a H","2":"hB XB I b J D E F A B C K L G M N O c d e f g h i j k l m n o p q jB kB","578":"r s t u"},D:{"1":"0 1 2 3 4 5 6 7 8 9 v w x y z AB BB CB DB EB FB YB GB ZB Q HB IB JB KB LB MB NB OB PB QB RB SB TB UB aB bB R S T U V W X Y Z P a H lB mB nB","2":"I b J D E F A B C K L G M N O c d e f g h i j k l m n o p q r s t","194":"u"},E:{"1":"A B C K L G sB dB VB WB tB uB vB","2":"I b J D E F oB cB pB qB rB"},F:{"1":"0 1 2 3 4 5 6 7 8 9 i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB GB Q HB IB JB KB LB MB NB OB PB QB RB SB TB UB","2":"F B C G M N O c d e f g wB xB yB zB VB eB 0B WB","322":"h"},G:{"1":"7B 8B 9B AC BC CC DC EC FC GC HC IC JC","2":"E cB 1B fB 2B 3B 4B 5B 6B"},H:{"2":"KC"},I:{"1":"H","2":"XB I LC MC NC OC fB PC QC"},J:{"2":"D A"},K:{"1":"Q","2":"A B C VB eB WB"},L:{"1":"H"},M:{"1":"P"},N:{"2":"A B"},O:{"1":"RC"},P:{"1":"I SC TC UC VC WC dB XC YC ZC aC"},Q:{"1":"bC"},R:{"1":"cC"},S:{"1":"dC"}},B:1,C:"Picture element"}; diff --git a/tools/node_modules/@babel/core/node_modules/caniuse-lite/data/features/ping.js b/tools/node_modules/@babel/core/node_modules/caniuse-lite/data/features/ping.js new file mode 100644 index 00000000000000..f81497610fb2d9 --- /dev/null +++ b/tools/node_modules/@babel/core/node_modules/caniuse-lite/data/features/ping.js @@ -0,0 +1 @@ +module.exports={A:{A:{"2":"J D E F A B gB"},B:{"1":"N O R S T U V W X Y Z P a H","2":"C K L G M"},C:{"2":"hB","194":"0 1 2 3 4 5 6 7 8 9 XB I b J D E F A B C K L G M N O c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB YB GB ZB Q HB IB JB KB LB MB NB OB PB QB RB SB TB UB aB bB R S T iB U V W X Y Z P a H jB kB"},D:{"1":"0 1 2 3 4 5 6 7 8 9 G M N O c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB YB GB ZB Q HB IB JB KB LB MB NB OB PB QB RB SB TB UB aB bB R S T U V W X Y Z P a H lB mB nB","16":"I b J D E F A B C K L"},E:{"1":"J D E F A B C K L G qB rB sB dB VB WB tB uB vB","2":"I b oB cB pB"},F:{"1":"0 1 2 3 4 5 6 7 8 9 G M N O c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB GB Q HB IB JB KB LB MB NB OB PB QB RB SB TB UB","2":"F B C wB xB yB zB VB eB 0B WB"},G:{"1":"E 2B 3B 4B 5B 6B 7B 8B 9B AC BC CC DC EC FC GC HC IC JC","2":"cB 1B fB"},H:{"2":"KC"},I:{"1":"H PC QC","2":"XB I LC MC NC OC fB"},J:{"2":"D A"},K:{"1":"Q","2":"A B C VB eB WB"},L:{"1":"H"},M:{"194":"P"},N:{"2":"A B"},O:{"1":"RC"},P:{"1":"I SC TC UC VC WC dB XC YC ZC aC"},Q:{"1":"bC"},R:{"1":"cC"},S:{"194":"dC"}},B:1,C:"Ping attribute"}; diff --git a/tools/node_modules/@babel/core/node_modules/caniuse-lite/data/features/png-alpha.js b/tools/node_modules/@babel/core/node_modules/caniuse-lite/data/features/png-alpha.js new file mode 100644 index 00000000000000..2c1e5d75d16650 --- /dev/null +++ b/tools/node_modules/@babel/core/node_modules/caniuse-lite/data/features/png-alpha.js @@ -0,0 +1 @@ +module.exports={A:{A:{"1":"D E F A B","2":"gB","8":"J"},B:{"1":"C K L G M N O R S T U V W X Y Z P a H"},C:{"1":"0 1 2 3 4 5 6 7 8 9 hB XB I b J D E F A B C K L G M N O c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB YB GB ZB Q HB IB JB KB LB MB NB OB PB QB RB SB TB UB aB bB R S T iB U V W X Y Z P a H jB kB"},D:{"1":"0 1 2 3 4 5 6 7 8 9 I b J D E F A B C K L G M N O c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB YB GB ZB Q HB IB JB KB LB MB NB OB PB QB RB SB TB UB aB bB R S T U V W X Y Z P a H lB mB nB"},E:{"1":"I b J D E F A B C K L G oB cB pB qB rB sB dB VB WB tB uB vB"},F:{"1":"0 1 2 3 4 5 6 7 8 9 F B C G M N O c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB GB Q HB IB JB KB LB MB NB OB PB QB RB SB TB UB wB xB yB zB VB eB 0B WB"},G:{"1":"E cB 1B fB 2B 3B 4B 5B 6B 7B 8B 9B AC BC CC DC EC FC GC HC IC JC"},H:{"1":"KC"},I:{"1":"XB I H LC MC NC OC fB PC QC"},J:{"1":"D A"},K:{"1":"A B C Q VB eB WB"},L:{"1":"H"},M:{"1":"P"},N:{"1":"A B"},O:{"1":"RC"},P:{"1":"I SC TC UC VC WC dB XC YC ZC aC"},Q:{"1":"bC"},R:{"1":"cC"},S:{"1":"dC"}},B:2,C:"PNG alpha transparency"}; diff --git a/tools/node_modules/@babel/core/node_modules/caniuse-lite/data/features/pointer-events.js b/tools/node_modules/@babel/core/node_modules/caniuse-lite/data/features/pointer-events.js new file mode 100644 index 00000000000000..e03d43876bcf75 --- /dev/null +++ b/tools/node_modules/@babel/core/node_modules/caniuse-lite/data/features/pointer-events.js @@ -0,0 +1 @@ +module.exports={A:{A:{"1":"B","2":"J D E F A gB"},B:{"1":"C K L G M N O R S T U V W X Y Z P a H"},C:{"1":"0 1 2 3 4 5 6 7 8 9 I b J D E F A B C K L G M N O c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB YB GB ZB Q HB IB JB KB LB MB NB OB PB QB RB SB TB UB aB bB R S T iB U V W X Y Z P a H kB","2":"hB XB jB"},D:{"1":"0 1 2 3 4 5 6 7 8 9 I b J D E F A B C K L G M N O c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB YB GB ZB Q HB IB JB KB LB MB NB OB PB QB RB SB TB UB aB bB R S T U V W X Y Z P a H lB mB nB"},E:{"1":"I b J D E F A B C K L G pB qB rB sB dB VB WB tB uB vB","2":"oB cB"},F:{"1":"0 1 2 3 4 5 6 7 8 9 G M N O c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB GB Q HB IB JB KB LB MB NB OB PB QB RB SB TB UB","2":"F B C wB xB yB zB VB eB 0B WB"},G:{"1":"E cB 1B fB 2B 3B 4B 5B 6B 7B 8B 9B AC BC CC DC EC FC GC HC IC JC"},H:{"2":"KC"},I:{"1":"XB I H LC MC NC OC fB PC QC"},J:{"1":"D A"},K:{"1":"Q","2":"A B C VB eB WB"},L:{"1":"H"},M:{"1":"P"},N:{"1":"B","2":"A"},O:{"1":"RC"},P:{"1":"I SC TC UC VC WC dB XC YC ZC aC"},Q:{"1":"bC"},R:{"1":"cC"},S:{"1":"dC"}},B:7,C:"CSS pointer-events (for HTML)"}; diff --git a/tools/node_modules/@babel/core/node_modules/caniuse-lite/data/features/pointer.js b/tools/node_modules/@babel/core/node_modules/caniuse-lite/data/features/pointer.js new file mode 100644 index 00000000000000..1c285b73dbab08 --- /dev/null +++ b/tools/node_modules/@babel/core/node_modules/caniuse-lite/data/features/pointer.js @@ -0,0 +1 @@ +module.exports={A:{A:{"1":"B","2":"J D E F gB","164":"A"},B:{"1":"C K L G M N O R S T U V W X Y Z P a H"},C:{"1":"YB GB ZB Q HB IB JB KB LB MB NB OB PB QB RB SB TB UB aB bB R S T iB U V W X Y Z P a H","2":"hB XB I b jB kB","8":"J D E F A B C K L G M N O c d e f g h i j k l m n o p q r s t u v w x","328":"0 1 2 3 4 5 6 7 8 9 y z AB BB CB DB EB FB"},D:{"1":"CB DB EB FB YB GB ZB Q HB IB JB KB LB MB NB OB PB QB RB SB TB UB aB bB R S T U V W X Y Z P a H lB mB nB","2":"I b J D E F A B C K L G M N O c d e","8":"0 1 2 3 4 5 6 7 8 f g h i j k l m n o p q r s t u v w x y z","584":"9 AB BB"},E:{"1":"K L G tB uB vB","2":"I b J oB cB pB","8":"D E F A B C qB rB sB dB VB","1096":"WB"},F:{"1":"0 1 2 3 4 5 6 7 8 9 z AB BB CB DB EB FB GB Q HB IB JB KB LB MB NB OB PB QB RB SB TB UB","2":"F B C wB xB yB zB VB eB 0B WB","8":"G M N O c d e f g h i j k l m n o p q r s t u v","584":"w x y"},G:{"1":"FC GC HC IC JC","8":"E cB 1B fB 2B 3B 4B 5B 6B 7B 8B 9B AC BC CC DC","6148":"EC"},H:{"2":"KC"},I:{"1":"H","8":"XB I LC MC NC OC fB PC QC"},J:{"8":"D A"},K:{"1":"Q","2":"A","8":"B C VB eB WB"},L:{"1":"H"},M:{"1":"P"},N:{"1":"B","36":"A"},O:{"8":"RC"},P:{"1":"TC UC VC WC dB XC YC ZC aC","2":"SC","8":"I"},Q:{"1":"bC"},R:{"2":"cC"},S:{"328":"dC"}},B:2,C:"Pointer events"}; diff --git a/tools/node_modules/@babel/core/node_modules/caniuse-lite/data/features/pointerlock.js b/tools/node_modules/@babel/core/node_modules/caniuse-lite/data/features/pointerlock.js new file mode 100644 index 00000000000000..d00c7c836af329 --- /dev/null +++ b/tools/node_modules/@babel/core/node_modules/caniuse-lite/data/features/pointerlock.js @@ -0,0 +1 @@ +module.exports={A:{A:{"2":"J D E F A B gB"},B:{"1":"K L G M N O R S T U V W X Y Z P a H","2":"C"},C:{"1":"0 1 2 3 4 5 6 7 8 9 y z AB BB CB DB EB FB YB GB ZB Q HB IB JB KB LB MB NB OB PB QB RB SB TB UB aB bB R S T iB U V W X Y Z P a H","2":"hB XB I b J D E F A B C K jB kB","33":"L G M N O c d e f g h i j k l m n o p q r s t u v w x"},D:{"1":"0 1 2 3 4 5 6 7 8 9 u v w x y z AB BB CB DB EB FB YB GB ZB Q HB IB JB KB LB MB NB OB PB QB RB SB TB UB aB bB R S T U V W X Y Z P a H lB mB nB","2":"I b J D E F A B C K L G","33":"f g h i j k l m n o p q r s t","66":"M N O c d e"},E:{"1":"B C K L G dB VB WB tB uB vB","2":"I b J D E F A oB cB pB qB rB sB"},F:{"1":"0 1 2 3 4 5 6 7 8 9 h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB GB Q HB IB JB KB LB MB NB OB PB QB RB SB TB UB","2":"F B C wB xB yB zB VB eB 0B WB","33":"G M N O c d e f g"},G:{"2":"E cB 1B fB 2B 3B 4B 5B 6B 7B 8B 9B AC BC CC DC EC FC GC HC IC JC"},H:{"2":"KC"},I:{"1":"H","2":"XB I LC MC NC OC fB PC QC"},J:{"2":"D A"},K:{"2":"A B C Q VB eB WB"},L:{"1":"H"},M:{"1":"P"},N:{"2":"A B"},O:{"2":"RC"},P:{"2":"I SC TC UC VC WC dB XC YC ZC aC"},Q:{"1":"bC"},R:{"2":"cC"},S:{"1":"dC"}},B:2,C:"Pointer Lock API"}; diff --git a/tools/node_modules/@babel/core/node_modules/caniuse-lite/data/features/portals.js b/tools/node_modules/@babel/core/node_modules/caniuse-lite/data/features/portals.js new file mode 100644 index 00000000000000..3787bceab200df --- /dev/null +++ b/tools/node_modules/@babel/core/node_modules/caniuse-lite/data/features/portals.js @@ -0,0 +1 @@ +module.exports={A:{A:{"2":"J D E F A B gB"},B:{"2":"C K L G M N O R S T U V","322":"a H","450":"W X Y Z P"},C:{"2":"0 1 2 3 4 5 6 7 8 9 hB XB I b J D E F A B C K L G M N O c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB YB GB ZB Q HB IB JB KB LB MB NB OB PB QB RB SB TB UB aB bB R S T iB U V W X Y Z P a H jB kB"},D:{"2":"0 1 2 3 4 5 6 7 8 9 I b J D E F A B C K L G M N O c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB YB GB ZB Q HB IB JB KB LB MB NB OB PB QB RB SB","194":"TB UB aB bB R S T U V","322":"X Y Z P a H lB mB nB","450":"W"},E:{"2":"I b J D E F A B C K L G oB cB pB qB rB sB dB VB WB tB uB vB"},F:{"2":"0 1 2 3 4 5 6 7 8 9 F B C G M N O c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB GB wB xB yB zB VB eB 0B WB","194":"Q HB IB JB KB LB MB NB OB PB QB","322":"RB SB TB UB"},G:{"2":"E cB 1B fB 2B 3B 4B 5B 6B 7B 8B 9B AC BC CC DC EC FC GC HC IC JC"},H:{"2":"KC"},I:{"2":"XB I H LC MC NC OC fB PC QC"},J:{"2":"D A"},K:{"2":"A B C Q VB eB WB"},L:{"450":"H"},M:{"2":"P"},N:{"2":"A B"},O:{"2":"RC"},P:{"2":"I SC TC UC VC WC dB XC YC ZC aC"},Q:{"2":"bC"},R:{"2":"cC"},S:{"2":"dC"}},B:7,C:"Portals"}; diff --git a/tools/node_modules/@babel/core/node_modules/caniuse-lite/data/features/prefers-color-scheme.js b/tools/node_modules/@babel/core/node_modules/caniuse-lite/data/features/prefers-color-scheme.js new file mode 100644 index 00000000000000..6a1df485d05a2b --- /dev/null +++ b/tools/node_modules/@babel/core/node_modules/caniuse-lite/data/features/prefers-color-scheme.js @@ -0,0 +1 @@ +module.exports={A:{A:{"2":"J D E F A B gB"},B:{"1":"R S T U V W X Y Z P a H","2":"C K L G M N O"},C:{"1":"LB MB NB OB PB QB RB SB TB UB aB bB R S T iB U V W X Y Z P a H","2":"0 1 2 3 4 5 6 7 8 9 hB XB I b J D E F A B C K L G M N O c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB YB GB ZB Q HB IB JB KB jB kB"},D:{"1":"UB aB bB R S T U V W X Y Z P a H lB mB nB","2":"0 1 2 3 4 5 6 7 8 9 I b J D E F A B C K L G M N O c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB YB GB ZB Q HB IB JB KB LB MB NB OB PB QB RB SB TB"},E:{"1":"K L G WB tB uB vB","2":"I b J D E F A B C oB cB pB qB rB sB dB VB"},F:{"1":"Q HB IB JB KB LB MB NB OB PB QB RB SB TB UB","2":"0 1 2 3 4 5 6 7 8 9 F B C G M N O c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB GB wB xB yB zB VB eB 0B WB"},G:{"1":"EC FC GC HC IC JC","2":"E cB 1B fB 2B 3B 4B 5B 6B 7B 8B 9B AC BC CC DC"},H:{"2":"KC"},I:{"1":"H","2":"XB I LC MC NC OC fB PC QC"},J:{"2":"D A"},K:{"2":"A B C Q VB eB WB"},L:{"1":"H"},M:{"1":"P"},N:{"2":"A B"},O:{"2":"RC"},P:{"1":"YC ZC aC","2":"I SC TC UC VC WC dB XC"},Q:{"2":"bC"},R:{"2":"cC"},S:{"2":"dC"}},B:5,C:"prefers-color-scheme media query"}; diff --git a/tools/node_modules/@babel/core/node_modules/caniuse-lite/data/features/prefers-reduced-motion.js b/tools/node_modules/@babel/core/node_modules/caniuse-lite/data/features/prefers-reduced-motion.js new file mode 100644 index 00000000000000..70dce33f8e9e0b --- /dev/null +++ b/tools/node_modules/@babel/core/node_modules/caniuse-lite/data/features/prefers-reduced-motion.js @@ -0,0 +1 @@ +module.exports={A:{A:{"2":"J D E F A B gB"},B:{"1":"R S T U V W X Y Z P a H","2":"C K L G M N O"},C:{"1":"HB IB JB KB LB MB NB OB PB QB RB SB TB UB aB bB R S T iB U V W X Y Z P a H","2":"0 1 2 3 4 5 6 7 8 9 hB XB I b J D E F A B C K L G M N O c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB YB GB ZB Q jB kB"},D:{"1":"SB TB UB aB bB R S T U V W X Y Z P a H lB mB nB","2":"0 1 2 3 4 5 6 7 8 9 I b J D E F A B C K L G M N O c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB YB GB ZB Q HB IB JB KB LB MB NB OB PB QB RB"},E:{"1":"B C K L G dB VB WB tB uB vB","2":"I b J D E F A oB cB pB qB rB sB"},F:{"1":"IB JB KB LB MB NB OB PB QB RB SB TB UB","2":"0 1 2 3 4 5 6 7 8 9 F B C G M N O c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB GB Q HB wB xB yB zB VB eB 0B WB"},G:{"1":"9B AC BC CC DC EC FC GC HC IC JC","2":"E cB 1B fB 2B 3B 4B 5B 6B 7B 8B"},H:{"2":"KC"},I:{"1":"H","2":"XB I LC MC NC OC fB PC QC"},J:{"2":"D A"},K:{"2":"A B C Q VB eB WB"},L:{"1":"H"},M:{"1":"P"},N:{"2":"A B"},O:{"2":"RC"},P:{"1":"XC YC ZC aC","2":"I SC TC UC VC WC dB"},Q:{"2":"bC"},R:{"2":"cC"},S:{"2":"dC"}},B:5,C:"prefers-reduced-motion media query"}; diff --git a/tools/node_modules/@babel/core/node_modules/caniuse-lite/data/features/private-class-fields.js b/tools/node_modules/@babel/core/node_modules/caniuse-lite/data/features/private-class-fields.js new file mode 100644 index 00000000000000..0756fc58aeed06 --- /dev/null +++ b/tools/node_modules/@babel/core/node_modules/caniuse-lite/data/features/private-class-fields.js @@ -0,0 +1 @@ +module.exports={A:{A:{"2":"J D E F A B gB"},B:{"1":"R S T U V W X Y Z P a H","2":"C K L G M N O"},C:{"2":"0 1 2 3 4 5 6 7 8 9 hB XB I b J D E F A B C K L G M N O c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB YB GB ZB Q HB IB JB KB LB MB NB OB PB QB RB SB TB UB aB bB R S T iB U V W X Y Z P a H jB kB"},D:{"1":"SB TB UB aB bB R S T U V W X Y Z P a H lB mB nB","2":"0 1 2 3 4 5 6 7 8 9 I b J D E F A B C K L G M N O c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB YB GB ZB Q HB IB JB KB LB MB NB OB PB QB RB"},E:{"1":"G uB vB","2":"I b J D E F A B C K L oB cB pB qB rB sB dB VB WB tB"},F:{"1":"Q HB IB JB KB LB MB NB OB PB QB RB SB TB UB","2":"0 1 2 3 4 5 6 7 8 9 F B C G M N O c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB GB wB xB yB zB VB eB 0B WB"},G:{"1":"JC","2":"E cB 1B fB 2B 3B 4B 5B 6B 7B 8B 9B AC BC CC DC EC FC GC HC IC"},H:{"2":"KC"},I:{"2":"XB I H LC MC NC OC fB PC QC"},J:{"2":"D A"},K:{"2":"A B C Q VB eB WB"},L:{"2":"H"},M:{"2":"P"},N:{"2":"A B"},O:{"2":"RC"},P:{"1":"XC YC ZC aC","2":"I SC TC UC VC WC dB"},Q:{"2":"bC"},R:{"2":"cC"},S:{"2":"dC"}},B:7,C:"Private class fields"}; diff --git a/tools/node_modules/@babel/core/node_modules/caniuse-lite/data/features/private-methods-and-accessors.js b/tools/node_modules/@babel/core/node_modules/caniuse-lite/data/features/private-methods-and-accessors.js new file mode 100644 index 00000000000000..cefde0d3fb8b80 --- /dev/null +++ b/tools/node_modules/@babel/core/node_modules/caniuse-lite/data/features/private-methods-and-accessors.js @@ -0,0 +1 @@ +module.exports={A:{A:{"2":"J D E F A B gB"},B:{"1":"V W X Y Z P a H","2":"C K L G M N O R S T U"},C:{"2":"0 1 2 3 4 5 6 7 8 9 hB XB I b J D E F A B C K L G M N O c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB YB GB ZB Q HB IB JB KB LB MB NB OB PB QB RB SB TB UB aB bB R S T iB U V W X Y Z P a H jB kB"},D:{"1":"V W X Y Z P a H lB mB nB","2":"0 1 2 3 4 5 6 7 8 9 I b J D E F A B C K L G M N O c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB YB GB ZB Q HB IB JB KB LB MB NB OB PB QB RB SB TB UB aB bB R S T U"},E:{"1":"G uB vB","2":"I b J D E F A B C K L oB cB pB qB rB sB dB VB WB tB"},F:{"1":"OB PB QB RB SB TB UB","2":"0 1 2 3 4 5 6 7 8 9 F B C G M N O c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB GB Q HB IB JB KB LB MB NB wB xB yB zB VB eB 0B WB"},G:{"1":"JC","2":"E cB 1B fB 2B 3B 4B 5B 6B 7B 8B 9B AC BC CC DC EC FC GC HC IC"},H:{"2":"KC"},I:{"2":"XB I H LC MC NC OC fB PC QC"},J:{"2":"D A"},K:{"2":"A B C Q VB eB WB"},L:{"2":"H"},M:{"2":"P"},N:{"2":"A B"},O:{"2":"RC"},P:{"2":"I SC TC UC VC WC dB XC YC ZC aC"},Q:{"2":"bC"},R:{"2":"cC"},S:{"2":"dC"}},B:7,C:"Public class fields"}; diff --git a/tools/node_modules/@babel/core/node_modules/caniuse-lite/data/features/progress.js b/tools/node_modules/@babel/core/node_modules/caniuse-lite/data/features/progress.js new file mode 100644 index 00000000000000..057d81302bf77f --- /dev/null +++ b/tools/node_modules/@babel/core/node_modules/caniuse-lite/data/features/progress.js @@ -0,0 +1 @@ +module.exports={A:{A:{"1":"A B","2":"J D E F gB"},B:{"1":"C K L G M N O R S T U V W X Y Z P a H"},C:{"1":"0 1 2 3 4 5 6 7 8 9 J D E F A B C K L G M N O c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB YB GB ZB Q HB IB JB KB LB MB NB OB PB QB RB SB TB UB aB bB R S T iB U V W X Y Z P a H","2":"hB XB I b jB kB"},D:{"1":"0 1 2 3 4 5 6 7 8 9 E F A B C K L G M N O c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB YB GB ZB Q HB IB JB KB LB MB NB OB PB QB RB SB TB UB aB bB R S T U V W X Y Z P a H lB mB nB","2":"I b J D"},E:{"1":"J D E F A B C K L G qB rB sB dB VB WB tB uB vB","2":"I b oB cB pB"},F:{"1":"0 1 2 3 4 5 6 7 8 9 B C G M N O c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB GB Q HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB eB 0B WB","2":"F wB xB yB zB"},G:{"1":"E 5B 6B 7B 8B 9B AC BC CC DC EC FC GC HC IC JC","2":"cB 1B fB 2B 3B","132":"4B"},H:{"1":"KC"},I:{"1":"H PC QC","2":"XB I LC MC NC OC fB"},J:{"1":"D A"},K:{"1":"B C Q VB eB WB","2":"A"},L:{"1":"H"},M:{"1":"P"},N:{"1":"A B"},O:{"1":"RC"},P:{"1":"I SC TC UC VC WC dB XC YC ZC aC"},Q:{"1":"bC"},R:{"1":"cC"},S:{"1":"dC"}},B:1,C:"progress element"}; diff --git a/tools/node_modules/@babel/core/node_modules/caniuse-lite/data/features/promise-finally.js b/tools/node_modules/@babel/core/node_modules/caniuse-lite/data/features/promise-finally.js new file mode 100644 index 00000000000000..2952244b87b91f --- /dev/null +++ b/tools/node_modules/@babel/core/node_modules/caniuse-lite/data/features/promise-finally.js @@ -0,0 +1 @@ +module.exports={A:{A:{"2":"J D E F A B gB"},B:{"1":"O R S T U V W X Y Z P a H","2":"C K L G M N"},C:{"1":"FB YB GB ZB Q HB IB JB KB LB MB NB OB PB QB RB SB TB UB aB bB R S T iB U V W X Y Z P a H","2":"0 1 2 3 4 5 6 7 8 9 hB XB I b J D E F A B C K L G M N O c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB jB kB"},D:{"1":"HB IB JB KB LB MB NB OB PB QB RB SB TB UB aB bB R S T U V W X Y Z P a H lB mB nB","2":"0 1 2 3 4 5 6 7 8 9 I b J D E F A B C K L G M N O c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB YB GB ZB Q"},E:{"1":"C K L G VB WB tB uB vB","2":"I b J D E F A B oB cB pB qB rB sB dB"},F:{"1":"7 8 9 AB BB CB DB EB FB GB Q HB IB JB KB LB MB NB OB PB QB RB SB TB UB","2":"0 1 2 3 4 5 6 F B C G M N O c d e f g h i j k l m n o p q r s t u v w x y z wB xB yB zB VB eB 0B WB"},G:{"1":"BC CC DC EC FC GC HC IC JC","2":"E cB 1B fB 2B 3B 4B 5B 6B 7B 8B 9B AC"},H:{"2":"KC"},I:{"1":"H","2":"XB I LC MC NC OC fB PC QC"},J:{"2":"D A"},K:{"1":"Q","2":"A B C VB eB WB"},L:{"1":"H"},M:{"1":"P"},N:{"2":"A B"},O:{"1":"RC"},P:{"1":"VC WC dB XC YC ZC aC","2":"I SC TC UC"},Q:{"1":"bC"},R:{"2":"cC"},S:{"2":"dC"}},B:6,C:"Promise.prototype.finally"}; diff --git a/tools/node_modules/@babel/core/node_modules/caniuse-lite/data/features/promises.js b/tools/node_modules/@babel/core/node_modules/caniuse-lite/data/features/promises.js new file mode 100644 index 00000000000000..e843307486a9df --- /dev/null +++ b/tools/node_modules/@babel/core/node_modules/caniuse-lite/data/features/promises.js @@ -0,0 +1 @@ +module.exports={A:{A:{"8":"J D E F A B gB"},B:{"1":"C K L G M N O R S T U V W X Y Z P a H"},C:{"1":"0 1 2 3 4 5 6 7 8 9 m n o p q r s t u v w x y z AB BB CB DB EB FB YB GB ZB Q HB IB JB KB LB MB NB OB PB QB RB SB TB UB aB bB R S T iB U V W X Y Z P a H","4":"k l","8":"hB XB I b J D E F A B C K L G M N O c d e f g h i j jB kB"},D:{"1":"0 1 2 3 4 5 6 7 8 9 q r s t u v w x y z AB BB CB DB EB FB YB GB ZB Q HB IB JB KB LB MB NB OB PB QB RB SB TB UB aB bB R S T U V W X Y Z P a H lB mB nB","4":"p","8":"I b J D E F A B C K L G M N O c d e f g h i j k l m n o"},E:{"1":"E F A B C K L G rB sB dB VB WB tB uB vB","8":"I b J D oB cB pB qB"},F:{"1":"0 1 2 3 4 5 6 7 8 9 d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB GB Q HB IB JB KB LB MB NB OB PB QB RB SB TB UB","4":"c","8":"F B C G M N O wB xB yB zB VB eB 0B WB"},G:{"1":"E 5B 6B 7B 8B 9B AC BC CC DC EC FC GC HC IC JC","8":"cB 1B fB 2B 3B 4B"},H:{"8":"KC"},I:{"1":"H QC","8":"XB I LC MC NC OC fB PC"},J:{"8":"D A"},K:{"1":"Q","8":"A B C VB eB WB"},L:{"1":"H"},M:{"1":"P"},N:{"8":"A B"},O:{"1":"RC"},P:{"1":"I SC TC UC VC WC dB XC YC ZC aC"},Q:{"1":"bC"},R:{"1":"cC"},S:{"1":"dC"}},B:6,C:"Promises"}; diff --git a/tools/node_modules/@babel/core/node_modules/caniuse-lite/data/features/proximity.js b/tools/node_modules/@babel/core/node_modules/caniuse-lite/data/features/proximity.js new file mode 100644 index 00000000000000..65cf17bcc9a3d6 --- /dev/null +++ b/tools/node_modules/@babel/core/node_modules/caniuse-lite/data/features/proximity.js @@ -0,0 +1 @@ +module.exports={A:{A:{"2":"J D E F A B gB"},B:{"2":"C K L G M N O R S T U V W X Y Z P a H"},C:{"1":"0 1 2 3 4 5 6 7 8 9 G M N O c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB YB GB ZB Q HB IB JB KB LB MB NB OB PB QB RB SB TB UB aB bB R S T iB U V W X Y Z P a H","2":"hB XB I b J D E F A B C K L jB kB"},D:{"2":"0 1 2 3 4 5 6 7 8 9 I b J D E F A B C K L G M N O c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB YB GB ZB Q HB IB JB KB LB MB NB OB PB QB RB SB TB UB aB bB R S T U V W X Y Z P a H lB mB nB"},E:{"2":"I b J D E F A B C K L G oB cB pB qB rB sB dB VB WB tB uB vB"},F:{"2":"0 1 2 3 4 5 6 7 8 9 F B C G M N O c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB GB Q HB IB JB KB LB MB NB OB PB QB RB SB TB UB wB xB yB zB VB eB 0B WB"},G:{"2":"E cB 1B fB 2B 3B 4B 5B 6B 7B 8B 9B AC BC CC DC EC FC GC HC IC JC"},H:{"2":"KC"},I:{"2":"XB I H LC MC NC OC fB PC QC"},J:{"2":"D A"},K:{"2":"A B C Q VB eB WB"},L:{"2":"H"},M:{"1":"P"},N:{"2":"A B"},O:{"2":"RC"},P:{"2":"I SC TC UC VC WC dB XC YC ZC aC"},Q:{"2":"bC"},R:{"2":"cC"},S:{"1":"dC"}},B:4,C:"Proximity API"}; diff --git a/tools/node_modules/@babel/core/node_modules/caniuse-lite/data/features/proxy.js b/tools/node_modules/@babel/core/node_modules/caniuse-lite/data/features/proxy.js new file mode 100644 index 00000000000000..915d22980f5871 --- /dev/null +++ b/tools/node_modules/@babel/core/node_modules/caniuse-lite/data/features/proxy.js @@ -0,0 +1 @@ +module.exports={A:{A:{"2":"J D E F A B gB"},B:{"1":"C K L G M N O R S T U V W X Y Z P a H"},C:{"1":"0 1 2 3 4 5 6 7 8 9 O c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB YB GB ZB Q HB IB JB KB LB MB NB OB PB QB RB SB TB UB aB bB R S T iB U V W X Y Z P a H","2":"hB XB I b J D E F A B C K L G M N jB kB"},D:{"1":"6 7 8 9 AB BB CB DB EB FB YB GB ZB Q HB IB JB KB LB MB NB OB PB QB RB SB TB UB aB bB R S T U V W X Y Z P a H lB mB nB","2":"0 1 2 3 4 5 I b J D E F A B C K L G M N O v w x y z","66":"c d e f g h i j k l m n o p q r s t u"},E:{"1":"A B C K L G dB VB WB tB uB vB","2":"I b J D E F oB cB pB qB rB sB"},F:{"1":"0 1 2 3 4 5 6 7 8 9 t u v w x y z AB BB CB DB EB FB GB Q HB IB JB KB LB MB NB OB PB QB RB SB TB UB","2":"F B C i j k l m n o p q r s wB xB yB zB VB eB 0B WB","66":"G M N O c d e f g h"},G:{"1":"8B 9B AC BC CC DC EC FC GC HC IC JC","2":"E cB 1B fB 2B 3B 4B 5B 6B 7B"},H:{"2":"KC"},I:{"1":"H","2":"XB I LC MC NC OC fB PC QC"},J:{"2":"D A"},K:{"1":"Q","2":"A B C VB eB WB"},L:{"1":"H"},M:{"1":"P"},N:{"2":"A B"},O:{"1":"RC"},P:{"1":"SC TC UC VC WC dB XC YC ZC aC","2":"I"},Q:{"1":"bC"},R:{"2":"cC"},S:{"1":"dC"}},B:6,C:"Proxy object"}; diff --git a/tools/node_modules/@babel/core/node_modules/caniuse-lite/data/features/public-class-fields.js b/tools/node_modules/@babel/core/node_modules/caniuse-lite/data/features/public-class-fields.js new file mode 100644 index 00000000000000..89859c662da2fe --- /dev/null +++ b/tools/node_modules/@babel/core/node_modules/caniuse-lite/data/features/public-class-fields.js @@ -0,0 +1 @@ +module.exports={A:{A:{"2":"J D E F A B gB"},B:{"1":"R S T U V W X Y Z P a H","2":"C K L G M N O"},C:{"1":"TB UB aB bB R S T iB U V W X Y Z P a H","2":"0 1 2 3 4 5 6 7 8 9 hB XB I b J D E F A B C K L G M N O c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB YB GB ZB Q HB IB JB KB LB MB jB kB","4":"OB PB QB RB SB","132":"NB"},D:{"1":"QB RB SB TB UB aB bB R S T U V W X Y Z P a H lB mB nB","2":"0 1 2 3 4 5 6 7 8 9 I b J D E F A B C K L G M N O c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB YB GB ZB Q HB IB JB KB LB MB NB OB PB"},E:{"1":"G uB vB","2":"I b J D E F A B C K oB cB pB qB rB sB dB VB WB tB","260":"L"},F:{"1":"GB Q HB IB JB KB LB MB NB OB PB QB RB SB TB UB","2":"0 1 2 3 4 5 6 7 8 9 F B C G M N O c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB wB xB yB zB VB eB 0B WB"},G:{"1":"IC JC","2":"E cB 1B fB 2B 3B 4B 5B 6B 7B 8B 9B AC BC CC DC EC FC GC HC"},H:{"2":"KC"},I:{"2":"XB I H LC MC NC OC fB PC QC"},J:{"2":"D A"},K:{"2":"A B C Q VB eB WB"},L:{"2":"H"},M:{"2":"P"},N:{"2":"A B"},O:{"2":"RC"},P:{"1":"XC YC ZC aC","2":"I SC TC UC VC WC dB"},Q:{"2":"bC"},R:{"2":"cC"},S:{"2":"dC"}},B:7,C:"Public class fields"}; diff --git a/tools/node_modules/@babel/core/node_modules/caniuse-lite/data/features/publickeypinning.js b/tools/node_modules/@babel/core/node_modules/caniuse-lite/data/features/publickeypinning.js new file mode 100644 index 00000000000000..caa623c2041819 --- /dev/null +++ b/tools/node_modules/@babel/core/node_modules/caniuse-lite/data/features/publickeypinning.js @@ -0,0 +1 @@ +module.exports={A:{A:{"2":"J D E F A B gB"},B:{"2":"C K L G M N O R S T U V W X Y Z P a H"},C:{"1":"0 1 2 3 4 5 6 7 8 9 s t u v w x y z AB BB CB DB EB FB YB GB ZB Q HB IB JB KB LB MB NB OB PB","2":"hB XB I b J D E F A B C K L G M N O c d e f g h i j k l m n o p q r QB RB SB TB UB aB bB R S T iB U V W X Y Z P a H jB kB"},D:{"1":"0 1 2 3 4 5 6 7 8 9 v w x y z AB BB CB DB EB FB YB GB ZB Q HB IB JB KB LB MB NB OB PB","2":"I b J D E F A B C K L G M N O c d e f g h i j k l m n o p q r s t u QB RB SB TB UB aB bB R S T U V W X Y Z P a H lB mB nB"},E:{"2":"I b J D E F A B C K L G oB cB pB qB rB sB dB VB WB tB uB vB"},F:{"1":"0 1 2 3 4 5 6 7 8 9 i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB GB Q HB IB JB","2":"F B C G M N O c KB LB MB NB OB PB QB RB SB TB UB wB xB yB zB VB eB 0B WB","4":"g","16":"d e f h"},G:{"2":"E cB 1B fB 2B 3B 4B 5B 6B 7B 8B 9B AC BC CC DC EC FC GC HC IC JC"},H:{"2":"KC"},I:{"2":"XB I H LC MC NC OC fB PC QC"},J:{"2":"D A"},K:{"2":"A B C Q VB eB WB"},L:{"2":"H"},M:{"2":"P"},N:{"2":"A B"},O:{"1":"RC"},P:{"1":"I SC TC UC VC WC dB","2":"XC YC ZC aC"},Q:{"1":"bC"},R:{"1":"cC"},S:{"1":"dC"}},B:6,C:"HTTP Public Key Pinning"}; diff --git a/tools/node_modules/@babel/core/node_modules/caniuse-lite/data/features/push-api.js b/tools/node_modules/@babel/core/node_modules/caniuse-lite/data/features/push-api.js new file mode 100644 index 00000000000000..5e5e05b091a739 --- /dev/null +++ b/tools/node_modules/@babel/core/node_modules/caniuse-lite/data/features/push-api.js @@ -0,0 +1 @@ +module.exports={A:{A:{"2":"J D E F A B gB"},B:{"1":"N O","2":"C K L G M","257":"R S T U V W X Y Z P a H"},C:{"2":"0 hB XB I b J D E F A B C K L G M N O c d e f g h i j k l m n o p q r s t u v w x y z jB kB","257":"1 3 4 5 6 7 8 AB BB CB DB EB FB YB ZB Q HB IB JB KB LB MB NB OB PB QB RB SB TB UB aB bB R S T iB U V W X Y Z P a H","1281":"2 9 GB"},D:{"2":"0 I b J D E F A B C K L G M N O c d e f g h i j k l m n o p q r s t u v w x y z","257":"7 8 9 AB BB CB DB EB FB YB GB ZB Q HB IB JB KB LB MB NB OB PB QB RB SB TB UB aB bB R S T U V W X Y Z P a H lB mB nB","388":"1 2 3 4 5 6"},E:{"2":"I b J D E F oB cB pB qB rB","514":"A B C K L G sB dB VB WB tB uB vB"},F:{"2":"F B C G M N O c d e f g h i j k l m n o p q r s t wB xB yB zB VB eB 0B WB","16":"u v w x y","257":"0 1 2 3 4 5 6 7 8 9 z AB BB CB DB EB FB GB Q HB IB JB KB LB MB NB OB PB QB RB SB TB UB"},G:{"2":"E cB 1B fB 2B 3B 4B 5B 6B 7B 8B 9B AC BC CC DC EC FC GC HC IC JC"},H:{"2":"KC"},I:{"2":"XB I H LC MC NC OC fB PC QC"},J:{"2":"D A"},K:{"1":"Q","2":"A B C VB eB WB"},L:{"1":"H"},M:{"1":"P"},N:{"2":"A B"},O:{"1":"RC"},P:{"1":"I SC TC UC VC WC dB XC YC ZC aC"},Q:{"1":"bC"},R:{"2":"cC"},S:{"257":"dC"}},B:5,C:"Push API"}; diff --git a/tools/node_modules/@babel/core/node_modules/caniuse-lite/data/features/queryselector.js b/tools/node_modules/@babel/core/node_modules/caniuse-lite/data/features/queryselector.js new file mode 100644 index 00000000000000..622b854c3d834b --- /dev/null +++ b/tools/node_modules/@babel/core/node_modules/caniuse-lite/data/features/queryselector.js @@ -0,0 +1 @@ +module.exports={A:{A:{"1":"F A B","2":"gB","8":"J D","132":"E"},B:{"1":"C K L G M N O R S T U V W X Y Z P a H"},C:{"1":"0 1 2 3 4 5 6 7 8 9 I b J D E F A B C K L G M N O c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB YB GB ZB Q HB IB JB KB LB MB NB OB PB QB RB SB TB UB aB bB R S T iB U V W X Y Z P a H jB kB","8":"hB XB"},D:{"1":"0 1 2 3 4 5 6 7 8 9 I b J D E F A B C K L G M N O c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB YB GB ZB Q HB IB JB KB LB MB NB OB PB QB RB SB TB UB aB bB R S T U V W X Y Z P a H lB mB nB"},E:{"1":"I b J D E F A B C K L G oB cB pB qB rB sB dB VB WB tB uB vB"},F:{"1":"0 1 2 3 4 5 6 7 8 9 B C G M N O c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB GB Q HB IB JB KB LB MB NB OB PB QB RB SB TB UB xB yB zB VB eB 0B WB","8":"F wB"},G:{"1":"E cB 1B fB 2B 3B 4B 5B 6B 7B 8B 9B AC BC CC DC EC FC GC HC IC JC"},H:{"1":"KC"},I:{"1":"XB I H LC MC NC OC fB PC QC"},J:{"1":"D A"},K:{"1":"A B C Q VB eB WB"},L:{"1":"H"},M:{"1":"P"},N:{"1":"A B"},O:{"1":"RC"},P:{"1":"I SC TC UC VC WC dB XC YC ZC aC"},Q:{"1":"bC"},R:{"1":"cC"},S:{"1":"dC"}},B:1,C:"querySelector/querySelectorAll"}; diff --git a/tools/node_modules/@babel/core/node_modules/caniuse-lite/data/features/readonly-attr.js b/tools/node_modules/@babel/core/node_modules/caniuse-lite/data/features/readonly-attr.js new file mode 100644 index 00000000000000..ce7559f3c59ed0 --- /dev/null +++ b/tools/node_modules/@babel/core/node_modules/caniuse-lite/data/features/readonly-attr.js @@ -0,0 +1 @@ +module.exports={A:{A:{"1":"J D E F A B","16":"gB"},B:{"1":"C K L G M N O R S T U V W X Y Z P a H"},C:{"1":"0 1 2 3 4 5 6 7 8 9 I b J D E F A B C K L G M N O c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB YB GB ZB Q HB IB JB KB LB MB NB OB PB QB RB SB TB UB aB bB R S T iB U V W X Y Z P a H","16":"hB XB jB kB"},D:{"1":"0 1 2 3 4 5 6 7 8 9 j k l m n o p q r s t u v w x y z AB BB CB DB EB FB YB GB ZB Q HB IB JB KB LB MB NB OB PB QB RB SB TB UB aB bB R S T U V W X Y Z P a H lB mB nB","16":"I b J D E F A B C K L G M N O c d e f g h i"},E:{"1":"J D E F A B C K L G pB qB rB sB dB VB WB tB uB vB","16":"I b oB cB"},F:{"1":"0 1 2 3 4 5 6 7 8 9 G M N O c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB GB Q HB IB JB KB LB MB NB OB PB QB RB SB TB UB","16":"F wB","132":"B C xB yB zB VB eB 0B WB"},G:{"1":"E 4B 5B 6B 7B 8B 9B AC BC CC DC EC FC GC HC IC JC","16":"cB 1B fB 2B 3B"},H:{"1":"KC"},I:{"1":"XB I H NC OC fB PC QC","16":"LC MC"},J:{"1":"D A"},K:{"1":"Q","132":"A B C VB eB WB"},L:{"1":"H"},M:{"1":"P"},N:{"257":"A B"},O:{"1":"RC"},P:{"1":"I SC TC UC VC WC dB XC YC ZC aC"},Q:{"1":"bC"},R:{"1":"cC"},S:{"1":"dC"}},B:1,C:"readonly attribute of input and textarea elements"}; diff --git a/tools/node_modules/@babel/core/node_modules/caniuse-lite/data/features/referrer-policy.js b/tools/node_modules/@babel/core/node_modules/caniuse-lite/data/features/referrer-policy.js new file mode 100644 index 00000000000000..33478a57c575e0 --- /dev/null +++ b/tools/node_modules/@babel/core/node_modules/caniuse-lite/data/features/referrer-policy.js @@ -0,0 +1 @@ +module.exports={A:{A:{"2":"J D E F A gB","132":"B"},B:{"1":"R S T U","132":"C K L G M N O","513":"V W X Y Z P a H"},C:{"1":"0 1 2 3 4 5 6 7 8 9 t u v w x y z AB BB CB DB EB FB YB GB ZB Q HB IB JB KB LB MB NB OB PB QB RB SB TB UB aB bB R S T iB U V W X Y Z P a H","2":"hB XB I b J D E F A B C K L G M N O c d e f g h i j k l m n o p q r s jB kB"},D:{"1":"ZB Q HB IB JB KB LB MB NB OB PB QB RB SB TB UB aB bB R S T U V","2":"I b J D E F A B C K L G M N O c d","260":"0 1 2 3 4 5 6 7 8 9 e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB YB GB","513":"W X Y Z P a H lB mB nB"},E:{"1":"C VB WB","2":"I b J D oB cB pB qB","132":"E F A B rB sB dB","1025":"K L G tB uB vB"},F:{"1":"0 1 2 3 4 5 6 7 8 9 G M N O c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB GB Q HB IB JB KB LB MB NB OB PB QB","2":"F B C wB xB yB zB VB eB 0B WB","513":"RB SB TB UB"},G:{"1":"CC DC EC FC","2":"cB 1B fB 2B 3B 4B","132":"E 5B 6B 7B 8B 9B AC BC","1025":"GC HC IC JC"},H:{"2":"KC"},I:{"1":"H","2":"XB I LC MC NC OC fB PC QC"},J:{"2":"D A"},K:{"1":"Q","2":"A B C VB eB WB"},L:{"513":"H"},M:{"1":"P"},N:{"2":"A B"},O:{"1":"RC"},P:{"1":"SC TC UC VC WC dB XC YC ZC aC","2":"I"},Q:{"1":"bC"},R:{"1":"cC"},S:{"1":"dC"}},B:4,C:"Referrer Policy"}; diff --git a/tools/node_modules/@babel/core/node_modules/caniuse-lite/data/features/registerprotocolhandler.js b/tools/node_modules/@babel/core/node_modules/caniuse-lite/data/features/registerprotocolhandler.js new file mode 100644 index 00000000000000..b0e9d5a7ad604b --- /dev/null +++ b/tools/node_modules/@babel/core/node_modules/caniuse-lite/data/features/registerprotocolhandler.js @@ -0,0 +1 @@ +module.exports={A:{A:{"2":"J D E F A B gB"},B:{"2":"C K L G M N O","129":"R S T U V W X Y Z P a H"},C:{"1":"0 1 2 3 4 5 6 7 8 9 XB I b J D E F A B C K L G M N O c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB YB GB ZB Q HB IB JB KB LB MB NB OB PB QB RB SB TB UB aB bB R S T iB U V W X Y Z P a H jB kB","2":"hB"},D:{"2":"I b J D E F A B C","129":"0 1 2 3 4 5 6 7 8 9 K L G M N O c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB YB GB ZB Q HB IB JB KB LB MB NB OB PB QB RB SB TB UB aB bB R S T U V W X Y Z P a H lB mB nB"},E:{"2":"I b J D E F A B C K L G oB cB pB qB rB sB dB VB WB tB uB vB"},F:{"2":"F B wB xB yB zB VB eB","129":"0 1 2 3 4 5 6 7 8 9 C G M N O c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB GB Q HB IB JB KB LB MB NB OB PB QB RB SB TB UB 0B WB"},G:{"2":"E cB 1B fB 2B 3B 4B 5B 6B 7B 8B 9B AC BC CC DC EC FC GC HC IC JC"},H:{"2":"KC"},I:{"2":"XB I H LC MC NC OC fB PC QC"},J:{"2":"D","129":"A"},K:{"2":"A B C Q VB eB WB"},L:{"2":"H"},M:{"2":"P"},N:{"2":"A B"},O:{"2":"RC"},P:{"2":"I SC TC UC VC WC dB XC YC ZC aC"},Q:{"2":"bC"},R:{"2":"cC"},S:{"2":"dC"}},B:1,C:"Custom protocol handling"}; diff --git a/tools/node_modules/@babel/core/node_modules/caniuse-lite/data/features/rel-noopener.js b/tools/node_modules/@babel/core/node_modules/caniuse-lite/data/features/rel-noopener.js new file mode 100644 index 00000000000000..c6b4454588bf81 --- /dev/null +++ b/tools/node_modules/@babel/core/node_modules/caniuse-lite/data/features/rel-noopener.js @@ -0,0 +1 @@ +module.exports={A:{A:{"2":"J D E F A B gB"},B:{"1":"R S T U V W X Y Z P a H","2":"C K L G M N O"},C:{"1":"9 AB BB CB DB EB FB YB GB ZB Q HB IB JB KB LB MB NB OB PB QB RB SB TB UB aB bB R S T iB U V W X Y Z P a H","2":"0 1 2 3 4 5 6 7 8 hB XB I b J D E F A B C K L G M N O c d e f g h i j k l m n o p q r s t u v w x y z jB kB"},D:{"1":"6 7 8 9 AB BB CB DB EB FB YB GB ZB Q HB IB JB KB LB MB NB OB PB QB RB SB TB UB aB bB R S T U V W X Y Z P a H lB mB nB","2":"0 1 2 3 4 5 I b J D E F A B C K L G M N O c d e f g h i j k l m n o p q r s t u v w x y z"},E:{"1":"B C K L G dB VB WB tB uB vB","2":"I b J D E F A oB cB pB qB rB sB"},F:{"1":"0 1 2 3 4 5 6 7 8 9 t u v w x y z AB BB CB DB EB FB GB Q HB IB JB KB LB MB NB OB PB QB RB SB TB UB","2":"F B C G M N O c d e f g h i j k l m n o p q r s wB xB yB zB VB eB 0B WB"},G:{"1":"9B AC BC CC DC EC FC GC HC IC JC","2":"E cB 1B fB 2B 3B 4B 5B 6B 7B 8B"},H:{"2":"KC"},I:{"1":"H","2":"XB I LC MC NC OC fB PC QC"},J:{"2":"D A"},K:{"1":"Q","2":"A B C VB eB WB"},L:{"1":"H"},M:{"1":"P"},N:{"2":"A B"},O:{"1":"RC"},P:{"1":"SC TC UC VC WC dB XC YC ZC aC","2":"I"},Q:{"1":"bC"},R:{"1":"cC"},S:{"2":"dC"}},B:1,C:"rel=noopener"}; diff --git a/tools/node_modules/@babel/core/node_modules/caniuse-lite/data/features/rel-noreferrer.js b/tools/node_modules/@babel/core/node_modules/caniuse-lite/data/features/rel-noreferrer.js new file mode 100644 index 00000000000000..290cb9682fcada --- /dev/null +++ b/tools/node_modules/@babel/core/node_modules/caniuse-lite/data/features/rel-noreferrer.js @@ -0,0 +1 @@ +module.exports={A:{A:{"2":"J D E F A gB","132":"B"},B:{"1":"K L G M N O R S T U V W X Y Z P a H","16":"C"},C:{"1":"0 1 2 3 4 5 6 7 8 9 q r s t u v w x y z AB BB CB DB EB FB YB GB ZB Q HB IB JB KB LB MB NB OB PB QB RB SB TB UB aB bB R S T iB U V W X Y Z P a H","2":"hB XB I b J D E F A B C K L G M N O c d e f g h i j k l m n o p jB kB"},D:{"1":"0 1 2 3 4 5 6 7 8 9 M N O c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB YB GB ZB Q HB IB JB KB LB MB NB OB PB QB RB SB TB UB aB bB R S T U V W X Y Z P a H lB mB nB","16":"I b J D E F A B C K L G"},E:{"1":"b J D E F A B C K L G pB qB rB sB dB VB WB tB uB vB","2":"I oB cB"},F:{"1":"0 1 2 3 4 5 6 7 8 9 G M N O c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB GB Q HB IB JB KB LB MB NB OB PB QB RB SB TB UB","2":"F B C wB xB yB zB VB eB 0B WB"},G:{"1":"E 1B fB 2B 3B 4B 5B 6B 7B 8B 9B AC BC CC DC EC FC GC HC IC JC","2":"cB"},H:{"2":"KC"},I:{"1":"XB I H NC OC fB PC QC","16":"LC MC"},J:{"1":"D A"},K:{"1":"Q","2":"A B C VB eB WB"},L:{"1":"H"},M:{"1":"P"},N:{"2":"A B"},O:{"1":"RC"},P:{"1":"I SC TC UC VC WC dB XC YC ZC aC"},Q:{"1":"bC"},R:{"1":"cC"},S:{"1":"dC"}},B:1,C:"Link type \"noreferrer\""}; diff --git a/tools/node_modules/@babel/core/node_modules/caniuse-lite/data/features/rellist.js b/tools/node_modules/@babel/core/node_modules/caniuse-lite/data/features/rellist.js new file mode 100644 index 00000000000000..e7e2dfeda9e071 --- /dev/null +++ b/tools/node_modules/@babel/core/node_modules/caniuse-lite/data/features/rellist.js @@ -0,0 +1 @@ +module.exports={A:{A:{"2":"J D E F A B gB"},B:{"1":"O R S T U V W X Y Z P a H","2":"C K L G M","132":"N"},C:{"1":"0 1 2 3 4 5 6 7 8 9 n o p q r s t u v w x y z AB BB CB DB EB FB YB GB ZB Q HB IB JB KB LB MB NB OB PB QB RB SB TB UB aB bB R S T iB U V W X Y Z P a H","2":"hB XB I b J D E F A B C K L G M N O c d e f g h i j k l m jB kB"},D:{"1":"JB KB LB MB NB OB PB QB RB SB TB UB aB bB R S T U V W X Y Z P a H lB mB nB","2":"0 1 2 3 4 5 6 I b J D E F A B C K L G M N O c d e f g h i j k l m n o p q r s t u v w x y z","132":"7 8 9 AB BB CB DB EB FB YB GB ZB Q HB IB"},E:{"1":"F A B C K L G sB dB VB WB tB uB vB","2":"I b J D E oB cB pB qB rB"},F:{"1":"9 AB BB CB DB EB FB GB Q HB IB JB KB LB MB NB OB PB QB RB SB TB UB","2":"F B C G M N O c d e f g h i j k l m n o p q r s t wB xB yB zB VB eB 0B WB","132":"0 1 2 3 4 5 6 7 8 u v w x y z"},G:{"1":"6B 7B 8B 9B AC BC CC DC EC FC GC HC IC JC","2":"E cB 1B fB 2B 3B 4B 5B"},H:{"2":"KC"},I:{"1":"H","2":"XB I LC MC NC OC fB PC QC"},J:{"2":"D A"},K:{"1":"Q","2":"A B C VB eB WB"},L:{"1":"H"},M:{"1":"P"},N:{"2":"A B"},O:{"132":"RC"},P:{"1":"WC dB XC YC ZC aC","2":"I","132":"SC TC UC VC"},Q:{"1":"bC"},R:{"2":"cC"},S:{"1":"dC"}},B:1,C:"relList (DOMTokenList)"}; diff --git a/tools/node_modules/@babel/core/node_modules/caniuse-lite/data/features/rem.js b/tools/node_modules/@babel/core/node_modules/caniuse-lite/data/features/rem.js new file mode 100644 index 00000000000000..de593d070fff5a --- /dev/null +++ b/tools/node_modules/@babel/core/node_modules/caniuse-lite/data/features/rem.js @@ -0,0 +1 @@ +module.exports={A:{A:{"1":"B","2":"J D E gB","132":"F A"},B:{"1":"C K L G M N O R S T U V W X Y Z P a H"},C:{"1":"0 1 2 3 4 5 6 7 8 9 I b J D E F A B C K L G M N O c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB YB GB ZB Q HB IB JB KB LB MB NB OB PB QB RB SB TB UB aB bB R S T iB U V W X Y Z P a H kB","2":"hB XB jB"},D:{"1":"0 1 2 3 4 5 6 7 8 9 I b J D E F A B C K L G M N O c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB YB GB ZB Q HB IB JB KB LB MB NB OB PB QB RB SB TB UB aB bB R S T U V W X Y Z P a H lB mB nB"},E:{"1":"b J D E F A B C K L G pB qB rB sB dB VB WB tB uB vB","2":"I oB cB"},F:{"1":"0 1 2 3 4 5 6 7 8 9 C G M N O c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB GB Q HB IB JB KB LB MB NB OB PB QB RB SB TB UB 0B WB","2":"F B wB xB yB zB VB eB"},G:{"1":"E 1B fB 3B 4B 5B 6B 7B 8B 9B AC BC CC DC EC FC GC HC IC JC","2":"cB","260":"2B"},H:{"1":"KC"},I:{"1":"XB I H LC MC NC OC fB PC QC"},J:{"1":"D A"},K:{"1":"C Q WB","2":"A B VB eB"},L:{"1":"H"},M:{"1":"P"},N:{"1":"A B"},O:{"1":"RC"},P:{"1":"I SC TC UC VC WC dB XC YC ZC aC"},Q:{"1":"bC"},R:{"1":"cC"},S:{"1":"dC"}},B:4,C:"rem (root em) units"}; diff --git a/tools/node_modules/@babel/core/node_modules/caniuse-lite/data/features/requestanimationframe.js b/tools/node_modules/@babel/core/node_modules/caniuse-lite/data/features/requestanimationframe.js new file mode 100644 index 00000000000000..0b2a92fd66a3bc --- /dev/null +++ b/tools/node_modules/@babel/core/node_modules/caniuse-lite/data/features/requestanimationframe.js @@ -0,0 +1 @@ +module.exports={A:{A:{"1":"A B","2":"J D E F gB"},B:{"1":"C K L G M N O R S T U V W X Y Z P a H"},C:{"1":"0 1 2 3 4 5 6 7 8 9 g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB YB GB ZB Q HB IB JB KB LB MB NB OB PB QB RB SB TB UB aB bB R S T iB U V W X Y Z P a H","2":"hB XB jB kB","33":"B C K L G M N O c d e f","164":"I b J D E F A"},D:{"1":"0 1 2 3 4 5 6 7 8 9 h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB YB GB ZB Q HB IB JB KB LB MB NB OB PB QB RB SB TB UB aB bB R S T U V W X Y Z P a H lB mB nB","2":"I b J D E F","33":"f g","164":"O c d e","420":"A B C K L G M N"},E:{"1":"D E F A B C K L G qB rB sB dB VB WB tB uB vB","2":"I b oB cB pB","33":"J"},F:{"1":"0 1 2 3 4 5 6 7 8 9 G M N O c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB GB Q HB IB JB KB LB MB NB OB PB QB RB SB TB UB","2":"F B C wB xB yB zB VB eB 0B WB"},G:{"1":"E 4B 5B 6B 7B 8B 9B AC BC CC DC EC FC GC HC IC JC","2":"cB 1B fB 2B","33":"3B"},H:{"2":"KC"},I:{"1":"H PC QC","2":"XB I LC MC NC OC fB"},J:{"1":"A","2":"D"},K:{"1":"Q","2":"A B C VB eB WB"},L:{"1":"H"},M:{"1":"P"},N:{"1":"A B"},O:{"1":"RC"},P:{"1":"I SC TC UC VC WC dB XC YC ZC aC"},Q:{"1":"bC"},R:{"1":"cC"},S:{"1":"dC"}},B:1,C:"requestAnimationFrame"}; diff --git a/tools/node_modules/@babel/core/node_modules/caniuse-lite/data/features/requestidlecallback.js b/tools/node_modules/@babel/core/node_modules/caniuse-lite/data/features/requestidlecallback.js new file mode 100644 index 00000000000000..5d809aa9b5a8df --- /dev/null +++ b/tools/node_modules/@babel/core/node_modules/caniuse-lite/data/features/requestidlecallback.js @@ -0,0 +1 @@ +module.exports={A:{A:{"2":"J D E F A B gB"},B:{"1":"R S T U V W X Y Z P a H","2":"C K L G M N O"},C:{"1":"CB DB EB FB YB GB ZB Q HB IB JB KB LB MB NB OB PB QB RB SB TB UB aB bB R S T iB U V W X Y Z P a H","2":"0 1 2 3 4 5 6 7 8 9 hB XB I b J D E F A B C K L G M N O c d e f g h i j k l m n o p q r s t u v w x y z jB kB","194":"AB BB"},D:{"1":"4 5 6 7 8 9 AB BB CB DB EB FB YB GB ZB Q HB IB JB KB LB MB NB OB PB QB RB SB TB UB aB bB R S T U V W X Y Z P a H lB mB nB","2":"0 1 2 3 I b J D E F A B C K L G M N O c d e f g h i j k l m n o p q r s t u v w x y z"},E:{"2":"I b J D E F A B C K oB cB pB qB rB sB dB VB WB","322":"L G tB uB vB"},F:{"1":"0 1 2 3 4 5 6 7 8 9 r s t u v w x y z AB BB CB DB EB FB GB Q HB IB JB KB LB MB NB OB PB QB RB SB TB UB","2":"F B C G M N O c d e f g h i j k l m n o p q wB xB yB zB VB eB 0B WB"},G:{"2":"E cB 1B fB 2B 3B 4B 5B 6B 7B 8B 9B AC BC CC DC EC FC GC","322":"HC IC JC"},H:{"2":"KC"},I:{"1":"H","2":"XB I LC MC NC OC fB PC QC"},J:{"2":"D A"},K:{"1":"Q","2":"A B C VB eB WB"},L:{"1":"H"},M:{"1":"P"},N:{"2":"A B"},O:{"1":"RC"},P:{"1":"SC TC UC VC WC dB XC YC ZC aC","2":"I"},Q:{"1":"bC"},R:{"1":"cC"},S:{"2":"dC"}},B:5,C:"requestIdleCallback"}; diff --git a/tools/node_modules/@babel/core/node_modules/caniuse-lite/data/features/resizeobserver.js b/tools/node_modules/@babel/core/node_modules/caniuse-lite/data/features/resizeobserver.js new file mode 100644 index 00000000000000..d29e94c3af0634 --- /dev/null +++ b/tools/node_modules/@babel/core/node_modules/caniuse-lite/data/features/resizeobserver.js @@ -0,0 +1 @@ +module.exports={A:{A:{"2":"J D E F A B gB"},B:{"1":"R S T U V W X Y Z P a H","2":"C K L G M N O"},C:{"1":"NB OB PB QB RB SB TB UB aB bB R S T iB U V W X Y Z P a H","2":"0 1 2 3 4 5 6 7 8 9 hB XB I b J D E F A B C K L G M N O c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB YB GB ZB Q HB IB JB KB LB MB jB kB"},D:{"1":"IB JB KB LB MB NB OB PB QB RB SB TB UB aB bB R S T U V W X Y Z P a H lB mB nB","2":"0 1 2 3 4 5 6 7 8 9 I b J D E F A B C K L G M N O c d e f g h i j k l m n o p q r s t u v w x y z AB","194":"BB CB DB EB FB YB GB ZB Q HB"},E:{"1":"L G tB uB vB","2":"I b J D E F A B C oB cB pB qB rB sB dB VB WB","66":"K"},F:{"1":"9 AB BB CB DB EB FB GB Q HB IB JB KB LB MB NB OB PB QB RB SB TB UB","2":"F B C G M N O c d e f g h i j k l m n o p q r s t u v w x wB xB yB zB VB eB 0B WB","194":"0 1 2 3 4 5 6 7 8 y z"},G:{"1":"HC IC JC","2":"E cB 1B fB 2B 3B 4B 5B 6B 7B 8B 9B AC BC CC DC EC FC GC"},H:{"2":"KC"},I:{"1":"H","2":"XB I LC MC NC OC fB PC QC"},J:{"2":"D A"},K:{"1":"Q","2":"A B C VB eB WB"},L:{"1":"H"},M:{"1":"P"},N:{"2":"A B"},O:{"2":"RC"},P:{"1":"WC dB XC YC ZC aC","2":"I SC TC UC VC"},Q:{"1":"bC"},R:{"2":"cC"},S:{"2":"dC"}},B:7,C:"Resize Observer"}; diff --git a/tools/node_modules/@babel/core/node_modules/caniuse-lite/data/features/resource-timing.js b/tools/node_modules/@babel/core/node_modules/caniuse-lite/data/features/resource-timing.js new file mode 100644 index 00000000000000..77eac7b077a0ee --- /dev/null +++ b/tools/node_modules/@babel/core/node_modules/caniuse-lite/data/features/resource-timing.js @@ -0,0 +1 @@ +module.exports={A:{A:{"1":"A B","2":"J D E F gB"},B:{"1":"C K L G M N O R S T U V W X Y Z P a H"},C:{"1":"0 1 2 3 4 5 6 7 8 9 s t u v w x y z AB BB CB DB EB FB YB GB ZB Q HB IB JB KB LB MB NB OB PB QB RB SB TB UB aB bB R S T iB U V W X Y Z P a H","2":"hB XB I b J D E F A B C K L G M N O c d e f g h i j k l m n jB kB","194":"o p q r"},D:{"1":"0 1 2 3 4 5 6 7 8 9 i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB YB GB ZB Q HB IB JB KB LB MB NB OB PB QB RB SB TB UB aB bB R S T U V W X Y Z P a H lB mB nB","2":"I b J D E F A B C K L G M N O c d e f g h"},E:{"1":"C K L G VB WB tB uB vB","2":"I b J D E F A oB cB pB qB rB sB dB","260":"B"},F:{"1":"0 1 2 3 4 5 6 7 8 9 G M N O c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB GB Q HB IB JB KB LB MB NB OB PB QB RB SB TB UB","2":"F B C wB xB yB zB VB eB 0B WB"},G:{"1":"AC BC CC DC EC FC GC HC IC JC","2":"E cB 1B fB 2B 3B 4B 5B 6B 7B 8B 9B"},H:{"2":"KC"},I:{"1":"H PC QC","2":"XB I LC MC NC OC fB"},J:{"2":"D A"},K:{"1":"Q","2":"A B C VB eB WB"},L:{"1":"H"},M:{"1":"P"},N:{"1":"A B"},O:{"1":"RC"},P:{"1":"I SC TC UC VC WC dB XC YC ZC aC"},Q:{"1":"bC"},R:{"1":"cC"},S:{"1":"dC"}},B:4,C:"Resource Timing"}; diff --git a/tools/node_modules/@babel/core/node_modules/caniuse-lite/data/features/rest-parameters.js b/tools/node_modules/@babel/core/node_modules/caniuse-lite/data/features/rest-parameters.js new file mode 100644 index 00000000000000..d7745d453ed93b --- /dev/null +++ b/tools/node_modules/@babel/core/node_modules/caniuse-lite/data/features/rest-parameters.js @@ -0,0 +1 @@ +module.exports={A:{A:{"2":"J D E F A B gB"},B:{"1":"C K L G M N O R S T U V W X Y Z P a H"},C:{"1":"0 1 2 3 4 5 6 7 8 9 G M N O c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB YB GB ZB Q HB IB JB KB LB MB NB OB PB QB RB SB TB UB aB bB R S T iB U V W X Y Z P a H","2":"hB XB I b J D E F A B C K L jB kB"},D:{"1":"4 5 6 7 8 9 AB BB CB DB EB FB YB GB ZB Q HB IB JB KB LB MB NB OB PB QB RB SB TB UB aB bB R S T U V W X Y Z P a H lB mB nB","2":"0 I b J D E F A B C K L G M N O c d e f g h i j k l m n o p q r s t u v w x y z","194":"1 2 3"},E:{"1":"A B C K L G dB VB WB tB uB vB","2":"I b J D E F oB cB pB qB rB sB"},F:{"1":"0 1 2 3 4 5 6 7 8 9 r s t u v w x y z AB BB CB DB EB FB GB Q HB IB JB KB LB MB NB OB PB QB RB SB TB UB","2":"F B C G M N O c d e f g h i j k l m n wB xB yB zB VB eB 0B WB","194":"o p q"},G:{"1":"8B 9B AC BC CC DC EC FC GC HC IC JC","2":"E cB 1B fB 2B 3B 4B 5B 6B 7B"},H:{"2":"KC"},I:{"1":"H","2":"XB I LC MC NC OC fB PC QC"},J:{"2":"D A"},K:{"1":"Q","2":"A B C VB eB WB"},L:{"1":"H"},M:{"1":"P"},N:{"2":"A B"},O:{"1":"RC"},P:{"1":"SC TC UC VC WC dB XC YC ZC aC","2":"I"},Q:{"1":"bC"},R:{"1":"cC"},S:{"1":"dC"}},B:6,C:"Rest parameters"}; diff --git a/tools/node_modules/@babel/core/node_modules/caniuse-lite/data/features/rtcpeerconnection.js b/tools/node_modules/@babel/core/node_modules/caniuse-lite/data/features/rtcpeerconnection.js new file mode 100644 index 00000000000000..ff245614e2f4e8 --- /dev/null +++ b/tools/node_modules/@babel/core/node_modules/caniuse-lite/data/features/rtcpeerconnection.js @@ -0,0 +1 @@ +module.exports={A:{A:{"2":"J D E F A B gB"},B:{"1":"R S T U V W X Y Z P a H","2":"C K L","516":"G M N O"},C:{"1":"1 2 3 4 5 6 7 8 9 AB BB CB DB EB FB YB GB ZB Q HB IB JB KB LB MB NB OB PB QB RB SB TB UB aB bB R S T iB U V W X Y Z P a H","2":"hB XB I b J D E F A B C K L G M N O c d e jB kB","33":"0 f g h i j k l m n o p q r s t u v w x y z"},D:{"1":"DB EB FB YB GB ZB Q HB IB JB KB LB MB NB OB PB QB RB SB TB UB aB bB R S T U V W X Y Z P a H lB mB nB","2":"I b J D E F A B C K L G M N O c d e f","33":"0 1 2 3 4 5 6 7 8 9 g h i j k l m n o p q r s t u v w x y z AB BB CB"},E:{"1":"B C K L G VB WB tB uB vB","2":"I b J D E F A oB cB pB qB rB sB dB"},F:{"1":"0 1 2 3 4 5 6 7 8 9 AB BB CB DB EB FB GB Q HB IB JB KB LB MB NB OB PB QB RB SB TB UB","2":"F B C G M N wB xB yB zB VB eB 0B WB","33":"O c d e f g h i j k l m n o p q r s t u v w x y z"},G:{"1":"AC BC CC DC EC FC GC HC IC JC","2":"E cB 1B fB 2B 3B 4B 5B 6B 7B 8B 9B"},H:{"2":"KC"},I:{"1":"H","2":"XB I LC MC NC OC fB PC QC"},J:{"2":"D","130":"A"},K:{"1":"Q","2":"A B C VB eB WB"},L:{"1":"H"},M:{"1":"P"},N:{"2":"A B"},O:{"2":"RC"},P:{"33":"I SC TC UC VC WC dB XC YC ZC aC"},Q:{"33":"bC"},R:{"33":"cC"},S:{"1":"dC"}},B:5,C:"WebRTC Peer-to-peer connections"}; diff --git a/tools/node_modules/@babel/core/node_modules/caniuse-lite/data/features/ruby.js b/tools/node_modules/@babel/core/node_modules/caniuse-lite/data/features/ruby.js new file mode 100644 index 00000000000000..e4c7431f127144 --- /dev/null +++ b/tools/node_modules/@babel/core/node_modules/caniuse-lite/data/features/ruby.js @@ -0,0 +1 @@ +module.exports={A:{A:{"4":"J D E F A B gB"},B:{"4":"C K L G M N O R S T U V W X Y Z P a H"},C:{"1":"0 1 2 3 4 5 6 7 8 9 v w x y z AB BB CB DB EB FB YB GB ZB Q HB IB JB KB LB MB NB OB PB QB RB SB TB UB aB bB R S T iB U V W X Y Z P a H","8":"hB XB I b J D E F A B C K L G M N O c d e f g h i j k l m n o p q r s t u jB kB"},D:{"4":"0 1 2 3 4 5 6 7 8 9 b J D E F A B C K L G M N O c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB YB GB ZB Q HB IB JB KB LB MB NB OB PB QB RB SB TB UB aB bB R S T U V W X Y Z P a H lB mB nB","8":"I"},E:{"4":"b J D E F A B C K L G pB qB rB sB dB VB WB tB uB vB","8":"I oB cB"},F:{"4":"0 1 2 3 4 5 6 7 8 9 G M N O c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB GB Q HB IB JB KB LB MB NB OB PB QB RB SB TB UB","8":"F B C wB xB yB zB VB eB 0B WB"},G:{"4":"E 2B 3B 4B 5B 6B 7B 8B 9B AC BC CC DC EC FC GC HC IC JC","8":"cB 1B fB"},H:{"8":"KC"},I:{"4":"XB I H OC fB PC QC","8":"LC MC NC"},J:{"4":"A","8":"D"},K:{"4":"Q","8":"A B C VB eB WB"},L:{"4":"H"},M:{"1":"P"},N:{"4":"A B"},O:{"4":"RC"},P:{"4":"I SC TC UC VC WC dB XC YC ZC aC"},Q:{"4":"bC"},R:{"4":"cC"},S:{"1":"dC"}},B:1,C:"Ruby annotation"}; diff --git a/tools/node_modules/@babel/core/node_modules/caniuse-lite/data/features/run-in.js b/tools/node_modules/@babel/core/node_modules/caniuse-lite/data/features/run-in.js new file mode 100644 index 00000000000000..8ccff4ab847100 --- /dev/null +++ b/tools/node_modules/@babel/core/node_modules/caniuse-lite/data/features/run-in.js @@ -0,0 +1 @@ +module.exports={A:{A:{"1":"E F A B","2":"J D gB"},B:{"2":"C K L G M N O R S T U V W X Y Z P a H"},C:{"2":"0 1 2 3 4 5 6 7 8 9 hB XB I b J D E F A B C K L G M N O c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB YB GB ZB Q HB IB JB KB LB MB NB OB PB QB RB SB TB UB aB bB R S T iB U V W X Y Z P a H jB kB"},D:{"1":"I b J D E F A B C K L G M N O c d e f g h i j k l m n o","2":"0 1 2 3 4 5 6 7 8 9 p q r s t u v w x y z AB BB CB DB EB FB YB GB ZB Q HB IB JB KB LB MB NB OB PB QB RB SB TB UB aB bB R S T U V W X Y Z P a H lB mB nB"},E:{"1":"b J pB","2":"D E F A B C K L G rB sB dB VB WB tB uB vB","16":"qB","129":"I oB cB"},F:{"1":"F B C G M N O wB xB yB zB VB eB 0B WB","2":"0 1 2 3 4 5 6 7 8 9 c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB GB Q HB IB JB KB LB MB NB OB PB QB RB SB TB UB"},G:{"1":"1B fB 2B 3B 4B","2":"E 5B 6B 7B 8B 9B AC BC CC DC EC FC GC HC IC JC","129":"cB"},H:{"1":"KC"},I:{"1":"XB I LC MC NC OC fB PC","2":"H QC"},J:{"1":"D A"},K:{"1":"A B C VB eB WB","2":"Q"},L:{"2":"H"},M:{"2":"P"},N:{"1":"A B"},O:{"2":"RC"},P:{"2":"I SC TC UC VC WC dB XC YC ZC aC"},Q:{"2":"bC"},R:{"2":"cC"},S:{"2":"dC"}},B:5,C:"display: run-in"}; diff --git a/tools/node_modules/@babel/core/node_modules/caniuse-lite/data/features/same-site-cookie-attribute.js b/tools/node_modules/@babel/core/node_modules/caniuse-lite/data/features/same-site-cookie-attribute.js new file mode 100644 index 00000000000000..61fadb8f404135 --- /dev/null +++ b/tools/node_modules/@babel/core/node_modules/caniuse-lite/data/features/same-site-cookie-attribute.js @@ -0,0 +1 @@ +module.exports={A:{A:{"2":"J D E F A gB","388":"B"},B:{"1":"O R S T U V W","2":"C K L G","129":"M N","513":"X Y Z P a H"},C:{"1":"GB ZB Q HB IB JB KB LB MB NB OB PB QB RB SB TB UB aB bB R S T iB U V W X Y Z P a H","2":"0 1 2 3 4 5 6 7 8 9 hB XB I b J D E F A B C K L G M N O c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB YB jB kB"},D:{"1":"8 9 AB BB CB DB EB FB YB GB ZB Q HB IB JB KB LB MB NB OB PB QB RB SB TB UB aB bB R","2":"0 1 2 3 4 5 6 7 I b J D E F A B C K L G M N O c d e f g h i j k l m n o p q r s t u v w x y z","513":"S T U V W X Y Z P a H lB mB nB"},E:{"1":"G uB vB","2":"I b J D E F A B oB cB pB qB rB sB dB VB","2052":"L","3076":"C K WB tB"},F:{"1":"0 1 2 3 4 5 6 7 8 9 w x y z AB BB CB DB EB FB GB Q HB IB JB KB LB MB NB OB","2":"F B C G M N O c d e f g h i j k l m n o p q r s t u v wB xB yB zB VB eB 0B WB","513":"PB QB RB SB TB UB"},G:{"1":"EC FC GC HC IC JC","2":"E cB 1B fB 2B 3B 4B 5B 6B 7B 8B 9B AC BC","2052":"CC DC"},H:{"2":"KC"},I:{"1":"H","2":"XB I LC MC NC OC fB PC QC"},J:{"2":"D A"},K:{"2":"A B C VB eB WB","513":"Q"},L:{"513":"H"},M:{"1":"P"},N:{"2":"A B"},O:{"2":"RC"},P:{"1":"SC TC UC VC WC dB XC YC ZC aC","2":"I"},Q:{"16":"bC"},R:{"1":"cC"},S:{"2":"dC"}},B:6,C:"'SameSite' cookie attribute"}; diff --git a/tools/node_modules/@babel/core/node_modules/caniuse-lite/data/features/screen-orientation.js b/tools/node_modules/@babel/core/node_modules/caniuse-lite/data/features/screen-orientation.js new file mode 100644 index 00000000000000..660ac8ad52a2fb --- /dev/null +++ b/tools/node_modules/@babel/core/node_modules/caniuse-lite/data/features/screen-orientation.js @@ -0,0 +1 @@ +module.exports={A:{A:{"2":"J D E F A gB","164":"B"},B:{"1":"R S T U V W X Y Z P a H","36":"C K L G M N O"},C:{"1":"1 2 3 4 5 6 7 8 9 AB BB CB DB EB FB YB GB ZB Q HB IB JB KB LB MB NB OB PB QB RB SB TB UB aB bB R S T iB U V W X Y Z P a H","2":"hB XB I b J D E F A B C K L G M N jB kB","36":"0 O c d e f g h i j k l m n o p q r s t u v w x y z"},D:{"1":"0 1 2 3 4 5 6 7 8 9 v w x y z AB BB CB DB EB FB YB GB ZB Q HB IB JB KB LB MB NB OB PB QB RB SB TB UB aB bB R S T U V W X Y Z P a H lB mB nB","2":"I b J D E F A B C K L G M N O c d e f g h i j k l m n o p q r s t u"},E:{"2":"I b J D E F A B C K L G oB cB pB qB rB sB dB VB WB tB uB vB"},F:{"1":"0 1 2 3 4 5 6 7 8 9 i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB GB Q HB IB JB KB LB MB NB OB PB QB RB SB TB UB","2":"F B C G M N O c d e f g h wB xB yB zB VB eB 0B WB"},G:{"2":"E cB 1B fB 2B 3B 4B 5B 6B 7B 8B 9B AC BC CC DC EC FC GC HC IC JC"},H:{"2":"KC"},I:{"2":"XB I H LC MC NC OC fB PC QC"},J:{"2":"D A"},K:{"1":"Q","2":"A B C VB eB WB"},L:{"1":"H"},M:{"1":"P"},N:{"2":"A","36":"B"},O:{"1":"RC"},P:{"1":"SC TC UC VC WC dB XC YC ZC aC","16":"I"},Q:{"1":"bC"},R:{"1":"cC"},S:{"1":"dC"}},B:5,C:"Screen Orientation"}; diff --git a/tools/node_modules/@babel/core/node_modules/caniuse-lite/data/features/script-async.js b/tools/node_modules/@babel/core/node_modules/caniuse-lite/data/features/script-async.js new file mode 100644 index 00000000000000..62395e2d6a7eb9 --- /dev/null +++ b/tools/node_modules/@babel/core/node_modules/caniuse-lite/data/features/script-async.js @@ -0,0 +1 @@ +module.exports={A:{A:{"1":"A B","2":"J D E F gB"},B:{"1":"C K L G M N O R S T U V W X Y Z P a H"},C:{"1":"0 1 2 3 4 5 6 7 8 9 I b J D E F A B C K L G M N O c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB YB GB ZB Q HB IB JB KB LB MB NB OB PB QB RB SB TB UB aB bB R S T iB U V W X Y Z P a H kB","2":"hB XB jB"},D:{"1":"0 1 2 3 4 5 6 7 8 9 E F A B C K L G M N O c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB YB GB ZB Q HB IB JB KB LB MB NB OB PB QB RB SB TB UB aB bB R S T U V W X Y Z P a H lB mB nB","2":"I b J D"},E:{"1":"J D E F A B C K L G pB qB rB sB dB VB WB tB uB vB","2":"I oB cB","132":"b"},F:{"1":"0 1 2 3 4 5 6 7 8 9 G M N O c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB GB Q HB IB JB KB LB MB NB OB PB QB RB SB TB UB","2":"F B C wB xB yB zB VB eB 0B WB"},G:{"1":"E 2B 3B 4B 5B 6B 7B 8B 9B AC BC CC DC EC FC GC HC IC JC","2":"cB 1B fB"},H:{"2":"KC"},I:{"1":"XB I H OC fB PC QC","2":"LC MC NC"},J:{"1":"D A"},K:{"1":"Q","2":"A B C VB eB WB"},L:{"1":"H"},M:{"1":"P"},N:{"1":"A B"},O:{"1":"RC"},P:{"1":"I SC TC UC VC WC dB XC YC ZC aC"},Q:{"1":"bC"},R:{"1":"cC"},S:{"1":"dC"}},B:1,C:"async attribute for external scripts"}; diff --git a/tools/node_modules/@babel/core/node_modules/caniuse-lite/data/features/script-defer.js b/tools/node_modules/@babel/core/node_modules/caniuse-lite/data/features/script-defer.js new file mode 100644 index 00000000000000..e56811255c0c75 --- /dev/null +++ b/tools/node_modules/@babel/core/node_modules/caniuse-lite/data/features/script-defer.js @@ -0,0 +1 @@ +module.exports={A:{A:{"1":"A B","132":"J D E F gB"},B:{"1":"C K L G M N O R S T U V W X Y Z P a H"},C:{"1":"0 1 2 3 4 5 6 7 8 9 o p q r s t u v w x y z AB BB CB DB EB FB YB GB ZB Q HB IB JB KB LB MB NB OB PB QB RB SB TB UB aB bB R S T iB U V W X Y Z P a H","2":"hB XB","257":"I b J D E F A B C K L G M N O c d e f g h i j k l m n jB kB"},D:{"1":"0 1 2 3 4 5 6 7 8 9 E F A B C K L G M N O c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB YB GB ZB Q HB IB JB KB LB MB NB OB PB QB RB SB TB UB aB bB R S T U V W X Y Z P a H lB mB nB","2":"I b J D"},E:{"1":"b J D E F A B C K L G pB qB rB sB dB VB WB tB uB vB","2":"I oB cB"},F:{"1":"0 1 2 3 4 5 6 7 8 9 G M N O c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB GB Q HB IB JB KB LB MB NB OB PB QB RB SB TB UB","2":"F B C wB xB yB zB VB eB 0B WB"},G:{"1":"E 2B 3B 4B 5B 6B 7B 8B 9B AC BC CC DC EC FC GC HC IC JC","2":"cB 1B fB"},H:{"2":"KC"},I:{"1":"XB I H OC fB PC QC","2":"LC MC NC"},J:{"1":"D A"},K:{"1":"Q","2":"A B C VB eB WB"},L:{"1":"H"},M:{"1":"P"},N:{"1":"A B"},O:{"1":"RC"},P:{"1":"I SC TC UC VC WC dB XC YC ZC aC"},Q:{"1":"bC"},R:{"1":"cC"},S:{"1":"dC"}},B:1,C:"defer attribute for external scripts"}; diff --git a/tools/node_modules/@babel/core/node_modules/caniuse-lite/data/features/scrollintoview.js b/tools/node_modules/@babel/core/node_modules/caniuse-lite/data/features/scrollintoview.js new file mode 100644 index 00000000000000..7a5a6a9d0f14a8 --- /dev/null +++ b/tools/node_modules/@babel/core/node_modules/caniuse-lite/data/features/scrollintoview.js @@ -0,0 +1 @@ +module.exports={A:{A:{"2":"J D gB","132":"E F A B"},B:{"1":"R S T U V W X Y Z P a H","132":"C K L G M N O"},C:{"1":"0 1 2 3 4 5 6 7 8 9 t u v w x y z AB BB CB DB EB FB YB GB ZB Q HB IB JB KB LB MB NB OB PB QB RB SB TB UB aB bB R S T iB U V W X Y Z P a H","132":"hB XB I b J D E F A B C K L G M N O c d e f g h i j k l m n o p q r s jB kB"},D:{"1":"ZB Q HB IB JB KB LB MB NB OB PB QB RB SB TB UB aB bB R S T U V W X Y Z P a H lB mB nB","132":"0 1 2 3 4 5 6 7 8 9 I b J D E F A B C K L G M N O c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB YB GB"},E:{"2":"I b oB cB","132":"J D E F A B C K L G pB qB rB sB dB VB WB tB uB vB"},F:{"1":"5 6 7 8 9 AB BB CB DB EB FB GB Q HB IB JB KB LB MB NB OB PB QB RB SB TB UB","2":"F wB xB yB zB","16":"B VB eB","132":"0 1 2 3 4 C G M N O c d e f g h i j k l m n o p q r s t u v w x y z 0B WB"},G:{"16":"cB 1B fB","132":"E 2B 3B 4B 5B 6B 7B 8B 9B AC BC CC DC EC FC GC HC IC JC"},H:{"2":"KC"},I:{"1":"H","16":"LC MC","132":"XB I NC OC fB PC QC"},J:{"132":"D A"},K:{"132":"A B C Q VB eB WB"},L:{"1":"H"},M:{"1":"P"},N:{"132":"A B"},O:{"132":"RC"},P:{"132":"I SC TC UC VC WC dB XC YC ZC aC"},Q:{"1":"bC"},R:{"132":"cC"},S:{"1":"dC"}},B:5,C:"scrollIntoView"}; diff --git a/tools/node_modules/@babel/core/node_modules/caniuse-lite/data/features/scrollintoviewifneeded.js b/tools/node_modules/@babel/core/node_modules/caniuse-lite/data/features/scrollintoviewifneeded.js new file mode 100644 index 00000000000000..04317a0302e110 --- /dev/null +++ b/tools/node_modules/@babel/core/node_modules/caniuse-lite/data/features/scrollintoviewifneeded.js @@ -0,0 +1 @@ +module.exports={A:{A:{"2":"J D E F A B gB"},B:{"1":"R S T U V W X Y Z P a H","2":"C K L G M N O"},C:{"2":"0 1 2 3 4 5 6 7 8 9 hB XB I b J D E F A B C K L G M N O c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB YB GB ZB Q HB IB JB KB LB MB NB OB PB QB RB SB TB UB aB bB R S T iB U V W X Y Z P a H jB kB"},D:{"1":"0 1 2 3 4 5 6 7 8 9 G M N O c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB YB GB ZB Q HB IB JB KB LB MB NB OB PB QB RB SB TB UB aB bB R S T U V W X Y Z P a H lB mB nB","16":"I b J D E F A B C K L"},E:{"1":"J D E F A B C K L G pB qB rB sB dB VB WB tB uB vB","16":"I b oB cB"},F:{"1":"0 1 2 3 4 5 6 7 8 9 G M N O c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB GB Q HB IB JB KB LB MB NB OB PB QB RB SB TB UB","2":"F B C wB xB yB zB VB eB 0B WB"},G:{"1":"E 2B 3B 4B 5B 6B 7B 8B 9B AC BC CC DC EC FC GC HC IC JC","16":"cB 1B fB"},H:{"2":"KC"},I:{"1":"XB I H NC OC fB PC QC","16":"LC MC"},J:{"1":"D A"},K:{"1":"Q","2":"A B C VB eB WB"},L:{"1":"H"},M:{"2":"P"},N:{"2":"A B"},O:{"1":"RC"},P:{"1":"I SC TC UC VC WC dB XC YC ZC aC"},Q:{"1":"bC"},R:{"1":"cC"},S:{"2":"dC"}},B:7,C:"Element.scrollIntoViewIfNeeded()"}; diff --git a/tools/node_modules/@babel/core/node_modules/caniuse-lite/data/features/sdch.js b/tools/node_modules/@babel/core/node_modules/caniuse-lite/data/features/sdch.js new file mode 100644 index 00000000000000..87849b51e1a955 --- /dev/null +++ b/tools/node_modules/@babel/core/node_modules/caniuse-lite/data/features/sdch.js @@ -0,0 +1 @@ +module.exports={A:{A:{"2":"J D E F A B gB"},B:{"2":"C K L G M N O R S T U V W X Y Z P a H"},C:{"2":"0 1 2 3 4 5 6 7 8 9 hB XB I b J D E F A B C K L G M N O c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB YB GB ZB Q HB IB JB KB LB MB NB OB PB QB RB SB TB UB aB bB R S T iB U V W X Y Z P a H jB kB"},D:{"1":"0 1 2 3 4 5 6 7 8 9 I b J D E F A B C K L G M N O c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB","2":"YB GB ZB Q HB IB JB KB LB MB NB OB PB QB RB SB TB UB aB bB R S T U V W X Y Z P a H lB mB nB"},E:{"2":"I b J D E F A B C K L G oB cB pB qB rB sB dB VB WB tB uB vB"},F:{"1":"0 1 2 3 4 5 6 7 8 9 G M N O c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB GB Q HB IB JB KB LB MB NB OB PB QB","2":"F B C RB SB TB UB wB xB yB zB VB eB 0B WB"},G:{"2":"E cB 1B fB 2B 3B 4B 5B 6B 7B 8B 9B AC BC CC DC EC FC GC HC IC JC"},H:{"2":"KC"},I:{"1":"H","2":"XB I LC MC NC OC fB PC QC"},J:{"2":"D A"},K:{"2":"A B C Q VB eB WB"},L:{"2":"H"},M:{"2":"P"},N:{"2":"A B"},O:{"2":"RC"},P:{"1":"SC TC UC VC WC dB XC YC ZC aC","2":"I"},Q:{"2":"bC"},R:{"2":"cC"},S:{"2":"dC"}},B:6,C:"SDCH Accept-Encoding/Content-Encoding"}; diff --git a/tools/node_modules/@babel/core/node_modules/caniuse-lite/data/features/selection-api.js b/tools/node_modules/@babel/core/node_modules/caniuse-lite/data/features/selection-api.js new file mode 100644 index 00000000000000..f539e9a7b00b14 --- /dev/null +++ b/tools/node_modules/@babel/core/node_modules/caniuse-lite/data/features/selection-api.js @@ -0,0 +1 @@ +module.exports={A:{A:{"1":"F A B","16":"gB","260":"J D E"},B:{"1":"C K L G M N O R S T U V W X Y Z P a H"},C:{"1":"9 AB BB CB DB EB FB YB GB ZB Q HB IB JB KB LB MB NB OB PB QB RB SB TB UB aB bB R S T iB U V W X Y Z P a H","132":"hB XB I b J D E F A B C K L G M N O c d e f g h i j k l m n o p q r s t u v w x y z jB kB","2180":"0 1 2 3 4 5 6 7 8"},D:{"1":"0 1 2 3 4 5 6 7 8 9 G M N O c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB YB GB ZB Q HB IB JB KB LB MB NB OB PB QB RB SB TB UB aB bB R S T U V W X Y Z P a H lB mB nB","16":"I b J D E F A B C K L"},E:{"1":"J D E F A B C K L G pB qB rB sB dB VB WB tB uB vB","16":"I b oB cB"},F:{"1":"0 1 2 3 4 5 6 7 8 9 G M N O c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB GB Q HB IB JB KB LB MB NB OB PB QB RB SB TB UB","132":"F B C wB xB yB zB VB eB 0B WB"},G:{"16":"fB","132":"cB 1B","516":"E 2B 3B 4B 5B 6B 7B 8B 9B AC BC CC DC EC FC GC HC IC JC"},H:{"2":"KC"},I:{"1":"H PC QC","16":"XB I LC MC NC OC","1025":"fB"},J:{"1":"A","16":"D"},K:{"1":"Q","16":"A B C VB eB","132":"WB"},L:{"1":"H"},M:{"1":"P"},N:{"1":"B","16":"A"},O:{"1025":"RC"},P:{"1":"I SC TC UC VC WC dB XC YC ZC aC"},Q:{"1":"bC"},R:{"1":"cC"},S:{"2180":"dC"}},B:5,C:"Selection API"}; diff --git a/tools/node_modules/@babel/core/node_modules/caniuse-lite/data/features/server-timing.js b/tools/node_modules/@babel/core/node_modules/caniuse-lite/data/features/server-timing.js new file mode 100644 index 00000000000000..2430e2f02c6260 --- /dev/null +++ b/tools/node_modules/@babel/core/node_modules/caniuse-lite/data/features/server-timing.js @@ -0,0 +1 @@ +module.exports={A:{A:{"2":"J D E F A B gB"},B:{"1":"R S T U V W X Y Z P a H","2":"C K L G M N O"},C:{"1":"ZB Q HB IB JB KB LB MB NB OB PB QB RB SB TB UB aB bB R S T iB U V W X Y Z P a H","2":"0 1 2 3 4 5 6 7 8 9 hB XB I b J D E F A B C K L G M N O c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB YB GB jB kB"},D:{"1":"JB KB LB MB NB OB PB QB RB SB TB UB aB bB R S T U V W X Y Z P a H lB mB nB","2":"0 1 2 3 4 5 6 7 8 9 I b J D E F A B C K L G M N O c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB YB","196":"GB ZB Q HB","324":"IB"},E:{"2":"I b J D E F A B C oB cB pB qB rB sB dB VB","516":"K L G WB tB uB vB"},F:{"1":"9 AB BB CB DB EB FB GB Q HB IB JB KB LB MB NB OB PB QB RB SB TB UB","2":"0 1 2 3 4 5 6 7 8 F B C G M N O c d e f g h i j k l m n o p q r s t u v w x y z wB xB yB zB VB eB 0B WB"},G:{"2":"E cB 1B fB 2B 3B 4B 5B 6B 7B 8B 9B AC BC CC DC EC FC GC HC IC JC"},H:{"2":"KC"},I:{"1":"H","2":"XB I LC MC NC OC fB PC QC"},J:{"2":"D A"},K:{"2":"A B C Q VB eB WB"},L:{"1":"H"},M:{"2":"P"},N:{"2":"A B"},O:{"2":"RC"},P:{"2":"I SC TC UC VC WC dB XC YC ZC aC"},Q:{"1":"bC"},R:{"2":"cC"},S:{"2":"dC"}},B:5,C:"Server Timing"}; diff --git a/tools/node_modules/@babel/core/node_modules/caniuse-lite/data/features/serviceworkers.js b/tools/node_modules/@babel/core/node_modules/caniuse-lite/data/features/serviceworkers.js new file mode 100644 index 00000000000000..f65b1daf73c120 --- /dev/null +++ b/tools/node_modules/@babel/core/node_modules/caniuse-lite/data/features/serviceworkers.js @@ -0,0 +1 @@ +module.exports={A:{A:{"2":"J D E F A B gB"},B:{"1":"N O R S T U V W X Y Z P a H","2":"C K L","322":"G M"},C:{"1":"1 3 4 5 6 7 8 AB BB CB DB EB FB YB ZB Q HB IB JB KB LB NB OB PB QB RB SB TB UB aB bB R S T iB U V W X Y Z P a H","2":"hB XB I b J D E F A B C K L G M N O c d e f g h i j k l m n o p jB kB","194":"0 q r s t u v w x y z","513":"2 9 GB MB"},D:{"1":"2 3 4 5 6 7 8 9 AB BB CB DB EB FB YB GB ZB Q HB IB JB KB LB MB NB OB PB QB RB SB TB UB aB bB R S T U V W X Y Z P a H lB mB nB","2":"I b J D E F A B C K L G M N O c d e f g h i j k l m n o p q r s t u v w","4":"0 1 x y z"},E:{"1":"C K L G VB WB tB uB vB","2":"I b J D E F A B oB cB pB qB rB sB dB"},F:{"1":"0 1 2 3 4 5 6 7 8 9 p q r s t u v w x y z AB BB CB DB EB FB GB Q HB IB JB KB LB MB NB OB PB QB RB SB TB UB","2":"F B C G M N O c d e f g h i j wB xB yB zB VB eB 0B WB","4":"k l m n o"},G:{"1":"BC CC DC EC FC GC HC IC JC","2":"E cB 1B fB 2B 3B 4B 5B 6B 7B 8B 9B AC"},H:{"2":"KC"},I:{"2":"XB I LC MC NC OC fB PC QC","4":"H"},J:{"2":"D A"},K:{"2":"A B C VB eB WB","4":"Q"},L:{"1":"H"},M:{"1":"P"},N:{"2":"A B"},O:{"1":"RC"},P:{"1":"I SC TC UC VC WC dB XC YC ZC aC"},Q:{"1":"bC"},R:{"4":"cC"},S:{"2":"dC"}},B:4,C:"Service Workers"}; diff --git a/tools/node_modules/@babel/core/node_modules/caniuse-lite/data/features/setimmediate.js b/tools/node_modules/@babel/core/node_modules/caniuse-lite/data/features/setimmediate.js new file mode 100644 index 00000000000000..fabfe1ca2c9b74 --- /dev/null +++ b/tools/node_modules/@babel/core/node_modules/caniuse-lite/data/features/setimmediate.js @@ -0,0 +1 @@ +module.exports={A:{A:{"1":"A B","2":"J D E F gB"},B:{"1":"C K L G M N O","2":"R S T U V W X Y Z P a H"},C:{"2":"0 1 2 3 4 5 6 7 8 9 hB XB I b J D E F A B C K L G M N O c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB YB GB ZB Q HB IB JB KB LB MB NB OB PB QB RB SB TB UB aB bB R S T iB U V W X Y Z P a H jB kB"},D:{"2":"0 1 2 3 4 5 6 7 8 9 I b J D E F A B C K L G M N O c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB YB GB ZB Q HB IB JB KB LB MB NB OB PB QB RB SB TB UB aB bB R S T U V W X Y Z P a H lB mB nB"},E:{"2":"I b J D E F A B C K L G oB cB pB qB rB sB dB VB WB tB uB vB"},F:{"2":"0 1 2 3 4 5 6 7 8 9 F B C G M N O c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB GB Q HB IB JB KB LB MB NB OB PB QB RB SB TB UB wB xB yB zB VB eB 0B WB"},G:{"2":"E cB 1B fB 2B 3B 4B 5B 6B 7B 8B 9B AC BC CC DC EC FC GC HC IC JC"},H:{"2":"KC"},I:{"2":"XB I H LC MC NC OC fB PC QC"},J:{"2":"D A"},K:{"2":"A B C Q VB eB WB"},L:{"2":"H"},M:{"2":"P"},N:{"1":"A B"},O:{"2":"RC"},P:{"2":"I SC TC UC VC WC dB XC YC ZC aC"},Q:{"2":"bC"},R:{"2":"cC"},S:{"2":"dC"}},B:7,C:"Efficient Script Yielding: setImmediate()"}; diff --git a/tools/node_modules/@babel/core/node_modules/caniuse-lite/data/features/sha-2.js b/tools/node_modules/@babel/core/node_modules/caniuse-lite/data/features/sha-2.js new file mode 100644 index 00000000000000..47b0f38758e863 --- /dev/null +++ b/tools/node_modules/@babel/core/node_modules/caniuse-lite/data/features/sha-2.js @@ -0,0 +1 @@ +module.exports={A:{A:{"1":"J D E F A B","2":"gB"},B:{"1":"C K L G M N O R S T U V W X Y Z P a H"},C:{"1":"0 1 2 3 4 5 6 7 8 9 hB XB I b J D E F A B C K L G M N O c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB YB GB ZB Q HB IB JB KB LB MB NB OB PB QB RB SB TB UB aB bB R S T iB U V W X Y Z P a H jB kB"},D:{"1":"0 1 2 3 4 5 6 7 8 9 v w x y z AB BB CB DB EB FB YB GB ZB Q HB IB JB KB LB MB NB OB PB QB RB SB TB UB aB bB R S T U V W X Y Z P a H lB mB nB","132":"I b J D E F A B C K L G M N O c d e f g h i j k l m n o p q r s t u"},E:{"1":"I b J D E F A B C K L G oB cB pB qB rB sB dB VB WB tB uB vB"},F:{"1":"0 1 2 3 4 5 6 7 8 9 F B C G M N O c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB GB Q HB IB JB KB LB MB NB OB PB QB RB SB TB UB wB xB yB zB VB eB 0B WB"},G:{"1":"E cB 1B fB 2B 3B 4B 5B 6B 7B 8B 9B AC BC CC DC EC FC GC HC IC JC"},H:{"16":"KC"},I:{"1":"XB I H MC NC OC fB PC QC","260":"LC"},J:{"1":"D A"},K:{"16":"A B C Q VB eB WB"},L:{"1":"H"},M:{"16":"P"},N:{"16":"A B"},O:{"16":"RC"},P:{"1":"SC TC UC VC WC dB XC YC ZC aC","16":"I"},Q:{"1":"bC"},R:{"1":"cC"},S:{"1":"dC"}},B:6,C:"SHA-2 SSL certificates"}; diff --git a/tools/node_modules/@babel/core/node_modules/caniuse-lite/data/features/shadowdom.js b/tools/node_modules/@babel/core/node_modules/caniuse-lite/data/features/shadowdom.js new file mode 100644 index 00000000000000..1998708d6ade2c --- /dev/null +++ b/tools/node_modules/@babel/core/node_modules/caniuse-lite/data/features/shadowdom.js @@ -0,0 +1 @@ +module.exports={A:{A:{"2":"J D E F A B gB"},B:{"1":"R","2":"C K L G M N O S T U V W X Y Z P a H"},C:{"2":"hB XB I b J D E F A B C K L G M N O c d e f g h i j k l ZB Q HB IB JB KB LB MB NB OB PB QB RB SB TB UB aB bB R S T iB U V W X Y Z P a H jB kB","66":"0 1 2 3 4 5 6 7 8 9 m n o p q r s t u v w x y z AB BB CB DB EB FB YB GB"},D:{"1":"0 1 2 3 4 5 6 7 8 9 s t u v w x y z AB BB CB DB EB FB YB GB ZB Q HB IB JB KB LB MB NB OB PB QB RB SB TB UB aB bB R","2":"I b J D E F A B C K L G M N O c d e f g h S T U V W X Y Z P a H lB mB nB","33":"i j k l m n o p q r"},E:{"2":"I b J D E F A B C K L G oB cB pB qB rB sB dB VB WB tB uB vB"},F:{"1":"0 1 2 3 4 5 6 7 8 9 f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB GB Q HB IB JB KB","2":"F B C LB MB NB OB PB QB RB SB TB UB wB xB yB zB VB eB 0B WB","33":"G M N O c d e"},G:{"2":"E cB 1B fB 2B 3B 4B 5B 6B 7B 8B 9B AC BC CC DC EC FC GC HC IC JC"},H:{"2":"KC"},I:{"2":"XB I H LC MC NC OC fB","33":"PC QC"},J:{"2":"D A"},K:{"1":"Q","2":"A B C VB eB WB"},L:{"2":"H"},M:{"2":"P"},N:{"2":"A B"},O:{"1":"RC"},P:{"1":"SC TC UC VC WC dB XC YC","2":"ZC aC","33":"I"},Q:{"1":"bC"},R:{"1":"cC"},S:{"1":"dC"}},B:7,C:"Shadow DOM (deprecated V0 spec)"}; diff --git a/tools/node_modules/@babel/core/node_modules/caniuse-lite/data/features/shadowdomv1.js b/tools/node_modules/@babel/core/node_modules/caniuse-lite/data/features/shadowdomv1.js new file mode 100644 index 00000000000000..9d66015d38f762 --- /dev/null +++ b/tools/node_modules/@babel/core/node_modules/caniuse-lite/data/features/shadowdomv1.js @@ -0,0 +1 @@ +module.exports={A:{A:{"2":"J D E F A B gB"},B:{"1":"R S T U V W X Y Z P a H","2":"C K L G M N O"},C:{"1":"HB IB JB KB LB MB NB OB PB QB RB SB TB UB aB bB R S T iB U V W X Y Z P a H","2":"0 1 2 3 4 5 6 7 8 9 hB XB I b J D E F A B C K L G M N O c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB jB kB","322":"FB","578":"YB GB ZB Q"},D:{"1":"AB BB CB DB EB FB YB GB ZB Q HB IB JB KB LB MB NB OB PB QB RB SB TB UB aB bB R S T U V W X Y Z P a H lB mB nB","2":"0 1 2 3 4 5 6 7 8 9 I b J D E F A B C K L G M N O c d e f g h i j k l m n o p q r s t u v w x y z"},E:{"1":"A B C K L G dB VB WB tB uB vB","2":"I b J D E F oB cB pB qB rB sB"},F:{"1":"0 1 2 3 4 5 6 7 8 9 x y z AB BB CB DB EB FB GB Q HB IB JB KB LB MB NB OB PB QB RB SB TB UB","2":"F B C G M N O c d e f g h i j k l m n o p q r s t u v w wB xB yB zB VB eB 0B WB"},G:{"1":"AC BC CC DC EC FC GC HC IC JC","2":"E cB 1B fB 2B 3B 4B 5B 6B 7B","132":"8B 9B"},H:{"2":"KC"},I:{"1":"H","2":"XB I LC MC NC OC fB PC QC"},J:{"2":"D A"},K:{"1":"Q","2":"A B C VB eB WB"},L:{"1":"H"},M:{"1":"P"},N:{"2":"A B"},O:{"1":"RC"},P:{"1":"TC UC VC WC dB XC YC ZC aC","2":"I","4":"SC"},Q:{"1":"bC"},R:{"2":"cC"},S:{"2":"dC"}},B:5,C:"Shadow DOM (V1)"}; diff --git a/tools/node_modules/@babel/core/node_modules/caniuse-lite/data/features/sharedarraybuffer.js b/tools/node_modules/@babel/core/node_modules/caniuse-lite/data/features/sharedarraybuffer.js new file mode 100644 index 00000000000000..f5038765273fc6 --- /dev/null +++ b/tools/node_modules/@babel/core/node_modules/caniuse-lite/data/features/sharedarraybuffer.js @@ -0,0 +1 @@ +module.exports={A:{A:{"2":"J D E F A B gB"},B:{"1":"R S T U V W X Y Z P a H","2":"C K L G","194":"M N O"},C:{"2":"0 1 2 3 4 5 6 7 8 9 hB XB I b J D E F A B C K L G M N O c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB jB kB","194":"EB FB YB GB ZB Q HB IB JB KB LB MB NB OB PB QB RB","450":"SB TB UB aB bB","513":"R S T iB U V W X Y Z P a H"},D:{"1":"MB NB OB PB QB RB SB TB UB aB bB R S T U V W X Y Z P a","2":"0 1 2 3 4 5 6 7 8 9 I b J D E F A B C K L G M N O c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB YB","194":"GB ZB Q HB IB JB KB LB","513":"H lB mB nB"},E:{"2":"I b J D E F A oB cB pB qB rB sB","194":"B C K L G dB VB WB tB uB vB"},F:{"1":"IB JB KB LB MB NB OB PB QB RB SB TB UB","2":"0 1 2 3 F B C G M N O c d e f g h i j k l m n o p q r s t u v w x y z wB xB yB zB VB eB 0B WB","194":"4 5 6 7 8 9 AB BB CB DB EB FB GB Q HB"},G:{"2":"E cB 1B fB 2B 3B 4B 5B 6B 7B 8B","194":"9B AC BC CC DC EC FC GC HC IC JC"},H:{"2":"KC"},I:{"2":"XB I H LC MC NC OC fB PC QC"},J:{"2":"D A"},K:{"2":"A B C Q VB eB WB"},L:{"513":"H"},M:{"513":"P"},N:{"2":"A B"},O:{"1":"RC"},P:{"2":"I SC TC UC VC WC dB XC YC ZC aC"},Q:{"2":"bC"},R:{"2":"cC"},S:{"2":"dC"}},B:6,C:"Shared Array Buffer"}; diff --git a/tools/node_modules/@babel/core/node_modules/caniuse-lite/data/features/sharedworkers.js b/tools/node_modules/@babel/core/node_modules/caniuse-lite/data/features/sharedworkers.js new file mode 100644 index 00000000000000..79673524ab61cd --- /dev/null +++ b/tools/node_modules/@babel/core/node_modules/caniuse-lite/data/features/sharedworkers.js @@ -0,0 +1 @@ +module.exports={A:{A:{"2":"J D E F A B gB"},B:{"1":"R S T U V W X Y Z P a H","2":"C K L G M N O"},C:{"1":"0 1 2 3 4 5 6 7 8 9 m n o p q r s t u v w x y z AB BB CB DB EB FB YB GB ZB Q HB IB JB KB LB MB NB OB PB QB RB SB TB UB aB bB R S T iB U V W X Y Z P a H","2":"hB XB I b J D E F A B C K L G M N O c d e f g h i j k l jB kB"},D:{"1":"0 1 2 3 4 5 6 7 8 9 I b J D E F A B C K L G M N O c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB YB GB ZB Q HB IB JB KB LB MB NB OB PB QB RB SB TB UB aB bB R S T U V W X Y Z P a H lB mB nB"},E:{"1":"b J pB","2":"I D E F A B C K L G oB cB qB rB sB dB VB WB tB uB vB"},F:{"1":"0 1 2 3 4 5 6 7 8 9 B C G M N O c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB GB Q HB IB JB KB LB MB NB OB PB QB RB SB TB UB zB VB eB 0B WB","2":"F wB xB yB"},G:{"1":"2B 3B","2":"E cB 1B fB 4B 5B 6B 7B 8B 9B AC BC CC DC EC FC GC HC IC JC"},H:{"2":"KC"},I:{"2":"XB I H LC MC NC OC fB PC QC"},J:{"1":"D A"},K:{"1":"B C VB eB WB","2":"Q","16":"A"},L:{"2":"H"},M:{"1":"P"},N:{"2":"A B"},O:{"2":"RC"},P:{"1":"I","2":"SC TC UC VC WC dB XC YC ZC aC"},Q:{"2":"bC"},R:{"2":"cC"},S:{"1":"dC"}},B:1,C:"Shared Web Workers"}; diff --git a/tools/node_modules/@babel/core/node_modules/caniuse-lite/data/features/sni.js b/tools/node_modules/@babel/core/node_modules/caniuse-lite/data/features/sni.js new file mode 100644 index 00000000000000..4033d16f34692b --- /dev/null +++ b/tools/node_modules/@babel/core/node_modules/caniuse-lite/data/features/sni.js @@ -0,0 +1 @@ +module.exports={A:{A:{"1":"F A B","2":"J gB","132":"D E"},B:{"1":"C K L G M N O R S T U V W X Y Z P a H"},C:{"1":"0 1 2 3 4 5 6 7 8 9 hB XB I b J D E F A B C K L G M N O c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB YB GB ZB Q HB IB JB KB LB MB NB OB PB QB RB SB TB UB aB bB R S T iB U V W X Y Z P a H jB kB"},D:{"1":"0 1 2 3 4 5 6 7 8 9 J D E F A B C K L G M N O c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB YB GB ZB Q HB IB JB KB LB MB NB OB PB QB RB SB TB UB aB bB R S T U V W X Y Z P a H lB mB nB","2":"I b"},E:{"1":"I b J D E F A B C K L G oB cB pB qB rB sB dB VB WB tB uB vB"},F:{"1":"0 1 2 3 4 5 6 7 8 9 F B C G M N O c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB GB Q HB IB JB KB LB MB NB OB PB QB RB SB TB UB wB xB yB zB VB eB 0B WB"},G:{"1":"E 1B fB 2B 3B 4B 5B 6B 7B 8B 9B AC BC CC DC EC FC GC HC IC JC","2":"cB"},H:{"1":"KC"},I:{"1":"XB I H OC fB PC QC","2":"LC MC NC"},J:{"1":"A","2":"D"},K:{"1":"A B C Q VB eB WB"},L:{"1":"H"},M:{"1":"P"},N:{"1":"A B"},O:{"1":"RC"},P:{"1":"I SC TC UC VC WC dB XC YC ZC aC"},Q:{"1":"bC"},R:{"1":"cC"},S:{"1":"dC"}},B:6,C:"Server Name Indication"}; diff --git a/tools/node_modules/@babel/core/node_modules/caniuse-lite/data/features/spdy.js b/tools/node_modules/@babel/core/node_modules/caniuse-lite/data/features/spdy.js new file mode 100644 index 00000000000000..7730cafad18ab7 --- /dev/null +++ b/tools/node_modules/@babel/core/node_modules/caniuse-lite/data/features/spdy.js @@ -0,0 +1 @@ +module.exports={A:{A:{"1":"B","2":"J D E F A gB"},B:{"2":"C K L G M N O R S T U V W X Y Z P a H"},C:{"1":"0 1 2 3 4 5 6 7 K L G M N O c d e f g h i j k l m n o p q r s t u v w x y z","2":"8 9 hB XB I b J D E F A B C AB BB CB DB EB FB YB GB ZB Q HB IB JB KB LB MB NB OB PB QB RB SB TB UB aB bB R S T iB U V W X Y Z P a H jB kB"},D:{"1":"0 1 2 3 4 5 6 7 I b J D E F A B C K L G M N O c d e f g h i j k l m n o p q r s t u v w x y z","2":"8 9 AB BB CB DB EB FB YB GB ZB Q HB IB JB KB LB MB NB OB PB QB RB SB TB UB aB bB R S T U V W X Y Z P a H lB mB nB"},E:{"1":"E F A B C sB dB VB","2":"I b J D oB cB pB qB rB","129":"K L G WB tB uB vB"},F:{"1":"1 G M N O c d e f g h i j k l m n o p q r s t u v w z WB","2":"0 2 3 4 5 6 7 8 9 F B C x y AB BB CB DB EB FB GB Q HB IB JB KB LB MB NB OB PB QB RB SB TB UB wB xB yB zB VB eB 0B"},G:{"1":"E 5B 6B 7B 8B 9B AC BC CC","2":"cB 1B fB 2B 3B 4B","257":"DC EC FC GC HC IC JC"},H:{"2":"KC"},I:{"1":"XB I OC fB PC QC","2":"H LC MC NC"},J:{"2":"D A"},K:{"1":"WB","2":"A B C Q VB eB"},L:{"2":"H"},M:{"2":"P"},N:{"1":"B","2":"A"},O:{"2":"RC"},P:{"1":"I","2":"SC TC UC VC WC dB XC YC ZC aC"},Q:{"2":"bC"},R:{"16":"cC"},S:{"1":"dC"}},B:7,C:"SPDY protocol"}; diff --git a/tools/node_modules/@babel/core/node_modules/caniuse-lite/data/features/speech-recognition.js b/tools/node_modules/@babel/core/node_modules/caniuse-lite/data/features/speech-recognition.js new file mode 100644 index 00000000000000..f7ef58de4cd89f --- /dev/null +++ b/tools/node_modules/@babel/core/node_modules/caniuse-lite/data/features/speech-recognition.js @@ -0,0 +1 @@ +module.exports={A:{A:{"2":"J D E F A B gB"},B:{"2":"C K L G M N O","1026":"R S T U V W X Y Z P a H"},C:{"2":"hB XB I b J D E F A B C K L G M N O c d e jB kB","322":"0 1 2 3 4 5 6 7 8 9 f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB YB GB ZB Q HB IB JB KB LB MB NB OB PB QB RB SB TB UB aB bB R S T iB U V W X Y Z P a H"},D:{"2":"I b J D E F A B C K L G M N O c d e f g h","164":"0 1 2 3 4 5 6 7 8 9 i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB YB GB ZB Q HB IB JB KB LB MB NB OB PB QB RB SB TB UB aB bB R S T U V W X Y Z P a H lB mB nB"},E:{"2":"I b J D E F A B C K L oB cB pB qB rB sB dB VB WB tB","2084":"G uB vB"},F:{"2":"F B C G M N O c d e f g h i j wB xB yB zB VB eB 0B WB","1026":"0 1 2 3 4 5 6 7 8 9 k l m n o p q r s t u v w x y z AB BB CB DB EB FB GB Q HB IB JB KB LB MB NB OB PB QB RB SB TB UB"},G:{"2":"E cB 1B fB 2B 3B 4B 5B 6B 7B 8B 9B AC BC CC DC EC FC GC HC IC","2084":"JC"},H:{"2":"KC"},I:{"2":"XB I H LC MC NC OC fB PC QC"},J:{"2":"D A"},K:{"2":"A B C Q VB eB WB"},L:{"164":"H"},M:{"2":"P"},N:{"2":"A B"},O:{"2":"RC"},P:{"164":"I SC TC UC VC WC dB XC YC ZC aC"},Q:{"164":"bC"},R:{"164":"cC"},S:{"322":"dC"}},B:7,C:"Speech Recognition API"}; diff --git a/tools/node_modules/@babel/core/node_modules/caniuse-lite/data/features/speech-synthesis.js b/tools/node_modules/@babel/core/node_modules/caniuse-lite/data/features/speech-synthesis.js new file mode 100644 index 00000000000000..5bc1f884eec713 --- /dev/null +++ b/tools/node_modules/@babel/core/node_modules/caniuse-lite/data/features/speech-synthesis.js @@ -0,0 +1 @@ +module.exports={A:{A:{"2":"J D E F A B gB"},B:{"1":"L G M N O","2":"C K","257":"R S T U V W X Y Z P a H"},C:{"1":"6 7 8 9 AB BB CB DB EB FB YB GB ZB Q HB IB JB KB LB MB NB OB PB QB RB SB TB UB aB bB R S T iB U V W X Y Z P a H","2":"hB XB I b J D E F A B C K L G M N O c d e f g h i j k l m n jB kB","194":"0 1 2 3 4 5 o p q r s t u v w x y z"},D:{"1":"0 1 2 3 4 5 6 7 8 9 q r s t u v w x y z AB BB","2":"I b J D E F A B C K L G M N O c d e f g h i j k l m n o p","257":"CB DB EB FB YB GB ZB Q HB IB JB KB LB MB NB OB PB QB RB SB TB UB aB bB R S T U V W X Y Z P a H lB mB nB"},E:{"1":"D E F A B C K L G rB sB dB VB WB tB uB vB","2":"I b J oB cB pB qB"},F:{"1":"0 1 2 3 4 5 6 7 8 9 k l m n o p q r s t u v w x y z AB BB CB DB EB FB GB Q HB","2":"F B C G M N O c d e f g h i j wB xB yB zB VB eB 0B WB","257":"IB JB KB LB MB NB OB PB QB RB SB TB UB"},G:{"1":"E 4B 5B 6B 7B 8B 9B AC BC CC DC EC FC GC HC IC JC","2":"cB 1B fB 2B 3B"},H:{"2":"KC"},I:{"2":"XB I H LC MC NC OC fB PC QC"},J:{"2":"D A"},K:{"2":"A B C Q VB eB WB"},L:{"1":"H"},M:{"1":"P"},N:{"2":"A B"},O:{"2":"RC"},P:{"1":"SC TC UC VC WC dB XC YC ZC aC","2":"I"},Q:{"1":"bC"},R:{"2":"cC"},S:{"1":"dC"}},B:7,C:"Speech Synthesis API"}; diff --git a/tools/node_modules/@babel/core/node_modules/caniuse-lite/data/features/spellcheck-attribute.js b/tools/node_modules/@babel/core/node_modules/caniuse-lite/data/features/spellcheck-attribute.js new file mode 100644 index 00000000000000..95ec7457c597df --- /dev/null +++ b/tools/node_modules/@babel/core/node_modules/caniuse-lite/data/features/spellcheck-attribute.js @@ -0,0 +1 @@ +module.exports={A:{A:{"1":"A B","2":"J D E F gB"},B:{"1":"C K L G M N O R S T U V W X Y Z P a H"},C:{"1":"0 1 2 3 4 5 6 7 8 9 hB XB I b J D E F A B C K L G M N O c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB YB GB ZB Q HB IB JB KB LB MB NB OB PB QB RB SB TB UB aB bB R S T iB U V W X Y Z P a H jB kB"},D:{"1":"0 1 2 3 4 5 6 7 8 9 F A B C K L G M N O c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB YB GB ZB Q HB IB JB KB LB MB NB OB PB QB RB SB TB UB aB bB R S T U V W X Y Z P a H lB mB nB","2":"I b J D E"},E:{"1":"J D E F A B C K L G pB qB rB sB dB VB WB tB uB vB","2":"I b oB cB"},F:{"1":"0 1 2 3 4 5 6 7 8 9 B C G M N O c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB GB Q HB IB JB KB LB MB NB OB PB QB RB SB TB UB yB zB VB eB 0B WB","2":"F wB xB"},G:{"4":"E cB 1B fB 2B 3B 4B 5B 6B 7B 8B 9B AC BC CC DC EC FC GC HC IC JC"},H:{"4":"KC"},I:{"4":"XB I H LC MC NC OC fB PC QC"},J:{"1":"A","4":"D"},K:{"4":"A B C Q VB eB WB"},L:{"4":"H"},M:{"4":"P"},N:{"4":"A B"},O:{"4":"RC"},P:{"4":"I SC TC UC VC WC dB XC YC ZC aC"},Q:{"1":"bC"},R:{"4":"cC"},S:{"2":"dC"}},B:1,C:"Spellcheck attribute"}; diff --git a/tools/node_modules/@babel/core/node_modules/caniuse-lite/data/features/sql-storage.js b/tools/node_modules/@babel/core/node_modules/caniuse-lite/data/features/sql-storage.js new file mode 100644 index 00000000000000..97e2de36a829f2 --- /dev/null +++ b/tools/node_modules/@babel/core/node_modules/caniuse-lite/data/features/sql-storage.js @@ -0,0 +1 @@ +module.exports={A:{A:{"2":"J D E F A B gB"},B:{"1":"R S T U V W X Y Z P a H","2":"C K L G M N O"},C:{"2":"0 1 2 3 4 5 6 7 8 9 hB XB I b J D E F A B C K L G M N O c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB YB GB ZB Q HB IB JB KB LB MB NB OB PB QB RB SB TB UB aB bB R S T iB U V W X Y Z P a H jB kB"},D:{"1":"0 1 2 3 4 5 6 7 8 9 I b J D E F A B C K L G M N O c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB YB GB ZB Q HB IB JB KB LB MB NB OB PB QB RB SB TB UB aB bB R S T U V W X Y Z P a H lB mB nB"},E:{"1":"I b J D E F A B C oB cB pB qB rB sB dB VB WB","2":"K L G tB uB vB"},F:{"1":"0 1 2 3 4 5 6 7 8 9 B C G M N O c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB GB Q HB IB JB KB LB MB NB OB PB QB RB SB TB UB yB zB VB eB 0B WB","2":"F wB xB"},G:{"1":"E cB 1B fB 2B 3B 4B 5B 6B 7B 8B 9B AC BC CC DC","2":"EC FC GC HC IC JC"},H:{"2":"KC"},I:{"1":"XB I H LC MC NC OC fB PC QC"},J:{"1":"D A"},K:{"1":"B C Q VB eB WB","2":"A"},L:{"1":"H"},M:{"2":"P"},N:{"2":"A B"},O:{"1":"RC"},P:{"1":"I SC TC UC VC WC dB XC YC ZC aC"},Q:{"1":"bC"},R:{"1":"cC"},S:{"2":"dC"}},B:7,C:"Web SQL Database"}; diff --git a/tools/node_modules/@babel/core/node_modules/caniuse-lite/data/features/srcset.js b/tools/node_modules/@babel/core/node_modules/caniuse-lite/data/features/srcset.js new file mode 100644 index 00000000000000..16fb6315fc664e --- /dev/null +++ b/tools/node_modules/@babel/core/node_modules/caniuse-lite/data/features/srcset.js @@ -0,0 +1 @@ +module.exports={A:{A:{"2":"J D E F A B gB"},B:{"1":"M N O R S T U V W X Y Z P a H","260":"C","514":"K L G"},C:{"1":"0 1 2 3 4 5 6 7 8 9 v w x y z AB BB CB DB EB FB YB GB ZB Q HB IB JB KB LB MB NB OB PB QB RB SB TB UB aB bB R S T iB U V W X Y Z P a H","2":"hB XB I b J D E F A B C K L G M N O c d e f g h i j k l m n o jB kB","194":"p q r s t u"},D:{"1":"0 1 2 3 4 5 6 7 8 9 v w x y z AB BB CB DB EB FB YB GB ZB Q HB IB JB KB LB MB NB OB PB QB RB SB TB UB aB bB R S T U V W X Y Z P a H lB mB nB","2":"I b J D E F A B C K L G M N O c d e f g h i j k l m n o p q","260":"r s t u"},E:{"1":"F A B C K L G sB dB VB WB tB uB vB","2":"I b J D oB cB pB qB","260":"E rB"},F:{"1":"0 1 2 3 4 5 6 7 8 9 i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB GB Q HB IB JB KB LB MB NB OB PB QB RB SB TB UB","2":"F B C G M N O c d wB xB yB zB VB eB 0B WB","260":"e f g h"},G:{"1":"6B 7B 8B 9B AC BC CC DC EC FC GC HC IC JC","2":"cB 1B fB 2B 3B 4B","260":"E 5B"},H:{"2":"KC"},I:{"1":"H","2":"XB I LC MC NC OC fB PC QC"},J:{"2":"D A"},K:{"1":"Q","2":"A B C VB eB WB"},L:{"1":"H"},M:{"1":"P"},N:{"2":"A B"},O:{"1":"RC"},P:{"1":"I SC TC UC VC WC dB XC YC ZC aC"},Q:{"1":"bC"},R:{"1":"cC"},S:{"1":"dC"}},B:1,C:"Srcset and sizes attributes"}; diff --git a/tools/node_modules/@babel/core/node_modules/caniuse-lite/data/features/stream.js b/tools/node_modules/@babel/core/node_modules/caniuse-lite/data/features/stream.js new file mode 100644 index 00000000000000..6630c034b2e31d --- /dev/null +++ b/tools/node_modules/@babel/core/node_modules/caniuse-lite/data/features/stream.js @@ -0,0 +1 @@ +module.exports={A:{A:{"2":"J D E F A B gB"},B:{"1":"C K L G M N O R S T U V W X Y Z P a H"},C:{"1":"0 1 2 3 4 5 6 7 8 9 z AB BB CB DB EB FB YB GB ZB Q HB IB JB KB LB MB NB OB PB QB RB SB TB UB aB bB R S T iB U V W X Y Z P a H","2":"hB XB I b J D E F A B C K L G M jB kB","129":"t u v w x y","420":"N O c d e f g h i j k l m n o p q r s"},D:{"1":"AB BB CB DB EB FB YB GB ZB Q HB IB JB KB LB MB NB OB PB QB RB SB TB UB aB bB R S T U V W X Y Z P a H lB mB nB","2":"I b J D E F A B C K L G M N O c d","420":"0 1 2 3 4 5 6 7 8 9 e f g h i j k l m n o p q r s t u v w x y z"},E:{"1":"B C K L G VB WB tB uB vB","2":"I b J D E F A oB cB pB qB rB sB dB"},F:{"1":"0 1 2 3 4 5 6 7 8 9 x y z AB BB CB DB EB FB GB Q HB IB JB KB LB MB NB OB PB QB RB SB TB UB","2":"F B G M N wB xB yB zB VB eB 0B","420":"C O c d e f g h i j k l m n o p q r s t u v w WB"},G:{"2":"E cB 1B fB 2B 3B 4B 5B 6B 7B 8B 9B","513":"HC IC JC","1537":"AC BC CC DC EC FC GC"},H:{"2":"KC"},I:{"1":"H","2":"XB I LC MC NC OC fB PC QC"},J:{"2":"D","420":"A"},K:{"1":"Q","2":"A B VB eB","420":"C WB"},L:{"1":"H"},M:{"1":"P"},N:{"2":"A B"},O:{"1":"RC"},P:{"1":"TC UC VC WC dB XC YC ZC aC","420":"I SC"},Q:{"1":"bC"},R:{"420":"cC"},S:{"2":"dC"}},B:4,C:"getUserMedia/Stream API"}; diff --git a/tools/node_modules/@babel/core/node_modules/caniuse-lite/data/features/streams.js b/tools/node_modules/@babel/core/node_modules/caniuse-lite/data/features/streams.js new file mode 100644 index 00000000000000..8862b29fecfa2f --- /dev/null +++ b/tools/node_modules/@babel/core/node_modules/caniuse-lite/data/features/streams.js @@ -0,0 +1 @@ +module.exports={A:{A:{"2":"J D E F A gB","130":"B"},B:{"1":"P a H","16":"C K","260":"L G","1028":"R S T U V W X Y Z","5124":"M N O"},C:{"2":"0 1 2 3 4 5 6 7 8 9 hB XB I b J D E F A B C K L G M N O c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB jB kB","6148":"JB KB LB MB NB OB PB QB RB SB TB UB aB bB R S T iB U V W X Y Z P a H","6722":"EB FB YB GB ZB Q HB IB"},D:{"1":"P a H lB mB nB","2":"0 1 2 3 4 5 6 7 8 I b J D E F A B C K L G M N O c d e f g h i j k l m n o p q r s t u v w x y z","260":"9 AB BB CB DB EB FB","1028":"YB GB ZB Q HB IB JB KB LB MB NB OB PB QB RB SB TB UB aB bB R S T U V W X Y Z"},E:{"2":"I b J D E F oB cB pB qB rB sB","1028":"G uB vB","3076":"A B C K L dB VB WB tB"},F:{"1":"UB","2":"F B C G M N O c d e f g h i j k l m n o p q r s t u v wB xB yB zB VB eB 0B WB","260":"0 1 2 w x y z","1028":"3 4 5 6 7 8 9 AB BB CB DB EB FB GB Q HB IB JB KB LB MB NB OB PB QB RB SB TB"},G:{"2":"E cB 1B fB 2B 3B 4B 5B 6B 7B","16":"8B","1028":"9B AC BC CC DC EC FC GC HC IC JC"},H:{"2":"KC"},I:{"1":"H","2":"XB I LC MC NC OC fB PC QC"},J:{"2":"D A"},K:{"2":"A B C VB eB WB","1028":"Q"},L:{"1":"H"},M:{"6148":"P"},N:{"2":"A B"},O:{"2":"RC"},P:{"2":"I SC TC","1028":"UC VC WC dB XC YC ZC aC"},Q:{"1028":"bC"},R:{"2":"cC"},S:{"2":"dC"}},B:1,C:"Streams"}; diff --git a/tools/node_modules/@babel/core/node_modules/caniuse-lite/data/features/stricttransportsecurity.js b/tools/node_modules/@babel/core/node_modules/caniuse-lite/data/features/stricttransportsecurity.js new file mode 100644 index 00000000000000..29db6823237f5e --- /dev/null +++ b/tools/node_modules/@babel/core/node_modules/caniuse-lite/data/features/stricttransportsecurity.js @@ -0,0 +1 @@ +module.exports={A:{A:{"2":"J D E F A gB","129":"B"},B:{"1":"C K L G M N O R S T U V W X Y Z P a H"},C:{"1":"0 1 2 3 4 5 6 7 8 9 I b J D E F A B C K L G M N O c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB YB GB ZB Q HB IB JB KB LB MB NB OB PB QB RB SB TB UB aB bB R S T iB U V W X Y Z P a H","2":"hB XB jB kB"},D:{"1":"0 1 2 3 4 5 6 7 8 9 I b J D E F A B C K L G M N O c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB YB GB ZB Q HB IB JB KB LB MB NB OB PB QB RB SB TB UB aB bB R S T U V W X Y Z P a H lB mB nB"},E:{"1":"D E F A B C K L G rB sB dB VB WB tB uB vB","2":"I b J oB cB pB qB"},F:{"1":"0 1 2 3 4 5 6 7 8 9 C G M N O c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB GB Q HB IB JB KB LB MB NB OB PB QB RB SB TB UB WB","2":"F B wB xB yB zB VB eB 0B"},G:{"1":"E 4B 5B 6B 7B 8B 9B AC BC CC DC EC FC GC HC IC JC","2":"cB 1B fB 2B 3B"},H:{"2":"KC"},I:{"1":"H PC QC","2":"XB I LC MC NC OC fB"},J:{"1":"D A"},K:{"1":"Q","2":"A B C VB eB WB"},L:{"1":"H"},M:{"1":"P"},N:{"2":"A B"},O:{"1":"RC"},P:{"1":"I SC TC UC VC WC dB XC YC ZC aC"},Q:{"1":"bC"},R:{"1":"cC"},S:{"1":"dC"}},B:6,C:"Strict Transport Security"}; diff --git a/tools/node_modules/@babel/core/node_modules/caniuse-lite/data/features/style-scoped.js b/tools/node_modules/@babel/core/node_modules/caniuse-lite/data/features/style-scoped.js new file mode 100644 index 00000000000000..0f7ed5eee6269b --- /dev/null +++ b/tools/node_modules/@babel/core/node_modules/caniuse-lite/data/features/style-scoped.js @@ -0,0 +1 @@ +module.exports={A:{A:{"2":"J D E F A B gB"},B:{"2":"C K L G M N O R S T U V W X Y Z P a H"},C:{"1":"0 1 2 3 4 5 6 7 8 9 e f g h i j k l m n o p q r s t u v w x y z AB BB","2":"hB XB I b J D E F A B C K L G M N O c d ZB Q HB IB JB KB LB MB NB OB PB QB RB SB TB UB aB bB R S T iB U V W X Y Z P a H jB kB","322":"CB DB EB FB YB GB"},D:{"2":"0 1 2 3 4 5 6 7 8 9 I b J D E F A B C K L G M N O c u v w x y z AB BB CB DB EB FB YB GB ZB Q HB IB JB KB LB MB NB OB PB QB RB SB TB UB aB bB R S T U V W X Y Z P a H lB mB nB","194":"d e f g h i j k l m n o p q r s t"},E:{"2":"I b J D E F A B C K L G oB cB pB qB rB sB dB VB WB tB uB vB"},F:{"2":"0 1 2 3 4 5 6 7 8 9 F B C G M N O c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB GB Q HB IB JB KB LB MB NB OB PB QB RB SB TB UB wB xB yB zB VB eB 0B WB"},G:{"2":"E cB 1B fB 2B 3B 4B 5B 6B 7B 8B 9B AC BC CC DC EC FC GC HC IC JC"},H:{"2":"KC"},I:{"2":"XB I H LC MC NC OC fB PC QC"},J:{"2":"D A"},K:{"2":"A B C Q VB eB WB"},L:{"2":"H"},M:{"2":"P"},N:{"2":"A B"},O:{"2":"RC"},P:{"2":"I SC TC UC VC WC dB XC YC ZC aC"},Q:{"2":"bC"},R:{"2":"cC"},S:{"1":"dC"}},B:7,C:"Scoped CSS"}; diff --git a/tools/node_modules/@babel/core/node_modules/caniuse-lite/data/features/subresource-integrity.js b/tools/node_modules/@babel/core/node_modules/caniuse-lite/data/features/subresource-integrity.js new file mode 100644 index 00000000000000..d399cbedbb26aa --- /dev/null +++ b/tools/node_modules/@babel/core/node_modules/caniuse-lite/data/features/subresource-integrity.js @@ -0,0 +1 @@ +module.exports={A:{A:{"2":"J D E F A B gB"},B:{"1":"N O R S T U V W X Y Z P a H","2":"C K L G M"},C:{"1":"0 1 2 3 4 5 6 7 8 9 AB BB CB DB EB FB YB GB ZB Q HB IB JB KB LB MB NB OB PB QB RB SB TB UB aB bB R S T iB U V W X Y Z P a H","2":"hB XB I b J D E F A B C K L G M N O c d e f g h i j k l m n o p q r s t u v w x y z jB kB"},D:{"1":"2 3 4 5 6 7 8 9 AB BB CB DB EB FB YB GB ZB Q HB IB JB KB LB MB NB OB PB QB RB SB TB UB aB bB R S T U V W X Y Z P a H lB mB nB","2":"0 1 I b J D E F A B C K L G M N O c d e f g h i j k l m n o p q r s t u v w x y z"},E:{"1":"B C K L G VB WB tB uB vB","2":"I b J D E F A oB cB pB qB rB sB dB"},F:{"1":"0 1 2 3 4 5 6 7 8 9 p q r s t u v w x y z AB BB CB DB EB FB GB Q HB IB JB KB LB MB NB OB PB QB RB SB TB UB","2":"F B C G M N O c d e f g h i j k l m n o wB xB yB zB VB eB 0B WB"},G:{"1":"BC CC DC EC FC GC HC IC JC","2":"E cB 1B fB 2B 3B 4B 5B 6B 7B 8B 9B","194":"AC"},H:{"2":"KC"},I:{"1":"H","2":"XB I LC MC NC OC fB PC QC"},J:{"2":"D A"},K:{"1":"Q","2":"A B C VB eB WB"},L:{"1":"H"},M:{"1":"P"},N:{"2":"A B"},O:{"1":"RC"},P:{"1":"SC TC UC VC WC dB XC YC ZC aC","2":"I"},Q:{"1":"bC"},R:{"1":"cC"},S:{"1":"dC"}},B:2,C:"Subresource Integrity"}; diff --git a/tools/node_modules/@babel/core/node_modules/caniuse-lite/data/features/svg-css.js b/tools/node_modules/@babel/core/node_modules/caniuse-lite/data/features/svg-css.js new file mode 100644 index 00000000000000..0110fb72e292f1 --- /dev/null +++ b/tools/node_modules/@babel/core/node_modules/caniuse-lite/data/features/svg-css.js @@ -0,0 +1 @@ +module.exports={A:{A:{"1":"F A B","2":"J D E gB"},B:{"1":"M N O R S T U V W X Y Z P a H","516":"C K L G"},C:{"1":"0 1 2 3 4 5 6 7 8 9 h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB YB GB ZB Q HB IB JB KB LB MB NB OB PB QB RB SB TB UB aB bB R S T iB U V W X Y Z P a H","2":"hB XB jB kB","260":"I b J D E F A B C K L G M N O c d e f g"},D:{"1":"0 1 2 3 4 5 6 7 8 9 b J D E F A B C K L G M N O c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB YB GB ZB Q HB IB JB KB LB MB NB OB PB QB RB SB TB UB aB bB R S T U V W X Y Z P a H lB mB nB","4":"I"},E:{"1":"b J D E F A B C K L G pB qB rB sB dB VB WB tB uB vB","2":"oB","132":"I cB"},F:{"1":"0 1 2 3 4 5 6 7 8 9 B C G M N O c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB GB Q HB IB JB KB LB MB NB OB PB QB RB SB TB UB wB xB yB zB VB eB 0B WB","2":"F"},G:{"1":"E fB 2B 3B 4B 5B 6B 7B 8B 9B AC BC CC DC EC FC GC HC IC JC","132":"cB 1B"},H:{"260":"KC"},I:{"1":"XB I H OC fB PC QC","2":"LC MC NC"},J:{"1":"D A"},K:{"1":"Q","260":"A B C VB eB WB"},L:{"1":"H"},M:{"1":"P"},N:{"1":"A B"},O:{"1":"RC"},P:{"1":"I SC TC UC VC WC dB XC YC ZC aC"},Q:{"1":"bC"},R:{"1":"cC"},S:{"1":"dC"}},B:4,C:"SVG in CSS backgrounds"}; diff --git a/tools/node_modules/@babel/core/node_modules/caniuse-lite/data/features/svg-filters.js b/tools/node_modules/@babel/core/node_modules/caniuse-lite/data/features/svg-filters.js new file mode 100644 index 00000000000000..e85ebbb466432b --- /dev/null +++ b/tools/node_modules/@babel/core/node_modules/caniuse-lite/data/features/svg-filters.js @@ -0,0 +1 @@ +module.exports={A:{A:{"1":"A B","2":"J D E F gB"},B:{"1":"C K L G M N O R S T U V W X Y Z P a H"},C:{"1":"0 1 2 3 4 5 6 7 8 9 XB I b J D E F A B C K L G M N O c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB YB GB ZB Q HB IB JB KB LB MB NB OB PB QB RB SB TB UB aB bB R S T iB U V W X Y Z P a H jB kB","2":"hB"},D:{"1":"0 1 2 3 4 5 6 7 8 9 E F A B C K L G M N O c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB YB GB ZB Q HB IB JB KB LB MB NB OB PB QB RB SB TB UB aB bB R S T U V W X Y Z P a H lB mB nB","2":"I","4":"b J D"},E:{"1":"J D E F A B C K L G qB rB sB dB VB WB tB uB vB","2":"I b oB cB pB"},F:{"1":"0 1 2 3 4 5 6 7 8 9 F B C G M N O c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB GB Q HB IB JB KB LB MB NB OB PB QB RB SB TB UB wB xB yB zB VB eB 0B WB"},G:{"1":"E 3B 4B 5B 6B 7B 8B 9B AC BC CC DC EC FC GC HC IC JC","2":"cB 1B fB 2B"},H:{"1":"KC"},I:{"1":"H PC QC","2":"XB I LC MC NC OC fB"},J:{"1":"A","2":"D"},K:{"1":"A B C Q VB eB WB"},L:{"1":"H"},M:{"1":"P"},N:{"1":"A B"},O:{"1":"RC"},P:{"1":"I SC TC UC VC WC dB XC YC ZC aC"},Q:{"1":"bC"},R:{"1":"cC"},S:{"1":"dC"}},B:2,C:"SVG filters"}; diff --git a/tools/node_modules/@babel/core/node_modules/caniuse-lite/data/features/svg-fonts.js b/tools/node_modules/@babel/core/node_modules/caniuse-lite/data/features/svg-fonts.js new file mode 100644 index 00000000000000..ec810680a5b806 --- /dev/null +++ b/tools/node_modules/@babel/core/node_modules/caniuse-lite/data/features/svg-fonts.js @@ -0,0 +1 @@ +module.exports={A:{A:{"2":"F A B gB","8":"J D E"},B:{"2":"C K L G M N O R S T U V W X Y Z P a H"},C:{"2":"0 1 2 3 4 5 6 7 8 9 hB XB I b J D E F A B C K L G M N O c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB YB GB ZB Q HB IB JB KB LB MB NB OB PB QB RB SB TB UB aB bB R S T iB U V W X Y Z P a H jB kB"},D:{"1":"I b J D E F A B C K L G M N O c d e f g h i j k l m n o p q r s t u","2":"8 9 AB BB CB DB EB FB YB GB ZB Q HB IB JB KB LB MB NB OB PB QB RB SB TB UB aB bB R S T U V W X Y Z P a H lB mB nB","130":"0 1 2 3 4 5 6 7 v w x y z"},E:{"1":"I b J D E F A B C K L G cB pB qB rB sB dB VB WB tB uB vB","2":"oB"},F:{"1":"F B C G M N O c d e f g h wB xB yB zB VB eB 0B WB","2":"0 1 2 3 4 5 6 7 8 9 u v w x y z AB BB CB DB EB FB GB Q HB IB JB KB LB MB NB OB PB QB RB SB TB UB","130":"i j k l m n o p q r s t"},G:{"1":"E cB 1B fB 2B 3B 4B 5B 6B 7B 8B 9B AC BC CC DC EC FC GC HC IC JC"},H:{"258":"KC"},I:{"1":"XB I OC fB PC QC","2":"H LC MC NC"},J:{"1":"D A"},K:{"1":"A B C Q VB eB WB"},L:{"130":"H"},M:{"2":"P"},N:{"2":"A B"},O:{"2":"RC"},P:{"1":"I","130":"SC TC UC VC WC dB XC YC ZC aC"},Q:{"2":"bC"},R:{"130":"cC"},S:{"2":"dC"}},B:2,C:"SVG fonts"}; diff --git a/tools/node_modules/@babel/core/node_modules/caniuse-lite/data/features/svg-fragment.js b/tools/node_modules/@babel/core/node_modules/caniuse-lite/data/features/svg-fragment.js new file mode 100644 index 00000000000000..cbd498aa9b2b02 --- /dev/null +++ b/tools/node_modules/@babel/core/node_modules/caniuse-lite/data/features/svg-fragment.js @@ -0,0 +1 @@ +module.exports={A:{A:{"2":"J D E gB","260":"F A B"},B:{"1":"C K L G M N O R S T U V W X Y Z P a H"},C:{"1":"0 1 2 3 4 5 6 7 8 9 G M N O c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB YB GB ZB Q HB IB JB KB LB MB NB OB PB QB RB SB TB UB aB bB R S T iB U V W X Y Z P a H","2":"hB XB I b J D E F A B C K L jB kB"},D:{"1":"7 8 9 AB BB CB DB EB FB YB GB ZB Q HB IB JB KB LB MB NB OB PB QB RB SB TB UB aB bB R S T U V W X Y Z P a H lB mB nB","2":"I b J D E F A B C K L G M N O c d e f g h i j k l m n o p q r s","132":"0 1 2 3 4 5 6 t u v w x y z"},E:{"1":"C K L G VB WB tB uB vB","2":"I b J D F A B oB cB pB qB sB dB","132":"E rB"},F:{"1":"0 1 2 3 4 5 6 7 8 9 u v w x y z AB BB CB DB EB FB GB Q HB IB JB KB LB MB NB OB PB QB RB SB TB UB WB","2":"G M N O c d e f","4":"B C xB yB zB VB eB 0B","16":"F wB","132":"g h i j k l m n o p q r s t"},G:{"1":"BC CC DC EC FC GC HC IC JC","2":"cB 1B fB 2B 3B 4B 6B 7B 8B 9B AC","132":"E 5B"},H:{"1":"KC"},I:{"1":"H","2":"XB I LC MC NC OC fB PC QC"},J:{"2":"D","132":"A"},K:{"1":"Q WB","4":"A B C VB eB"},L:{"1":"H"},M:{"1":"P"},N:{"1":"A B"},O:{"1":"RC"},P:{"1":"SC TC UC VC WC dB XC YC ZC aC","132":"I"},Q:{"1":"bC"},R:{"132":"cC"},S:{"1":"dC"}},B:4,C:"SVG fragment identifiers"}; diff --git a/tools/node_modules/@babel/core/node_modules/caniuse-lite/data/features/svg-html.js b/tools/node_modules/@babel/core/node_modules/caniuse-lite/data/features/svg-html.js new file mode 100644 index 00000000000000..9e69610e2a4401 --- /dev/null +++ b/tools/node_modules/@babel/core/node_modules/caniuse-lite/data/features/svg-html.js @@ -0,0 +1 @@ +module.exports={A:{A:{"2":"J D E gB","388":"F A B"},B:{"4":"R S T U V W X Y Z P a H","260":"C K L G M N O"},C:{"1":"0 1 2 3 4 5 6 7 8 9 I b J D E F A B C K L G M N O c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB YB GB ZB Q HB IB JB KB LB MB NB OB PB QB RB SB TB UB aB bB R S T iB U V W X Y Z P a H jB kB","2":"hB","4":"XB"},D:{"4":"0 1 2 3 4 5 6 7 8 9 I b J D E F A B C K L G M N O c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB YB GB ZB Q HB IB JB KB LB MB NB OB PB QB RB SB TB UB aB bB R S T U V W X Y Z P a H lB mB nB"},E:{"2":"oB cB","4":"I b J D E F A B C K L G pB qB rB sB dB VB WB tB uB vB"},F:{"4":"0 1 2 3 4 5 6 7 8 9 F B C G M N O c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB GB Q HB IB JB KB LB MB NB OB PB QB RB SB TB UB wB xB yB zB VB eB 0B WB"},G:{"4":"E cB 1B fB 2B 3B 4B 5B 6B 7B 8B 9B AC BC CC DC EC FC GC HC IC JC"},H:{"2":"KC"},I:{"2":"XB I LC MC NC OC fB","4":"H PC QC"},J:{"1":"A","2":"D"},K:{"4":"A B C Q VB eB WB"},L:{"4":"H"},M:{"1":"P"},N:{"2":"A B"},O:{"2":"RC"},P:{"4":"I SC TC UC VC WC dB XC YC ZC aC"},Q:{"4":"bC"},R:{"4":"cC"},S:{"1":"dC"}},B:2,C:"SVG effects for HTML"}; diff --git a/tools/node_modules/@babel/core/node_modules/caniuse-lite/data/features/svg-html5.js b/tools/node_modules/@babel/core/node_modules/caniuse-lite/data/features/svg-html5.js new file mode 100644 index 00000000000000..87f7554a31cf38 --- /dev/null +++ b/tools/node_modules/@babel/core/node_modules/caniuse-lite/data/features/svg-html5.js @@ -0,0 +1 @@ +module.exports={A:{A:{"2":"gB","8":"J D E","129":"F A B"},B:{"1":"N O R S T U V W X Y Z P a H","129":"C K L G M"},C:{"1":"0 1 2 3 4 5 6 7 8 9 I b J D E F A B C K L G M N O c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB YB GB ZB Q HB IB JB KB LB MB NB OB PB QB RB SB TB UB aB bB R S T iB U V W X Y Z P a H","8":"hB XB jB kB"},D:{"1":"0 1 2 3 4 5 6 7 8 9 D E F A B C K L G M N O c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB YB GB ZB Q HB IB JB KB LB MB NB OB PB QB RB SB TB UB aB bB R S T U V W X Y Z P a H lB mB nB","8":"I b J"},E:{"1":"F A B C K L G sB dB VB WB tB uB vB","8":"I b oB cB","129":"J D E pB qB rB"},F:{"1":"0 1 2 3 4 5 6 7 8 9 C G M N O c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB GB Q HB IB JB KB LB MB NB OB PB QB RB SB TB UB 0B WB","2":"B zB VB eB","8":"F wB xB yB"},G:{"1":"6B 7B 8B 9B AC BC CC DC EC FC GC HC IC JC","8":"cB 1B fB","129":"E 2B 3B 4B 5B"},H:{"1":"KC"},I:{"1":"H PC QC","2":"LC MC NC","129":"XB I OC fB"},J:{"1":"A","129":"D"},K:{"1":"C Q WB","8":"A B VB eB"},L:{"1":"H"},M:{"1":"P"},N:{"129":"A B"},O:{"1":"RC"},P:{"1":"I SC TC UC VC WC dB XC YC ZC aC"},Q:{"1":"bC"},R:{"1":"cC"},S:{"1":"dC"}},B:1,C:"Inline SVG in HTML5"}; diff --git a/tools/node_modules/@babel/core/node_modules/caniuse-lite/data/features/svg-img.js b/tools/node_modules/@babel/core/node_modules/caniuse-lite/data/features/svg-img.js new file mode 100644 index 00000000000000..464edf4ddf87eb --- /dev/null +++ b/tools/node_modules/@babel/core/node_modules/caniuse-lite/data/features/svg-img.js @@ -0,0 +1 @@ +module.exports={A:{A:{"1":"F A B","2":"J D E gB"},B:{"1":"C K L G M N O R S T U V W X Y Z P a H"},C:{"1":"0 1 2 3 4 5 6 7 8 9 I b J D E F A B C K L G M N O c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB YB GB ZB Q HB IB JB KB LB MB NB OB PB QB RB SB TB UB aB bB R S T iB U V W X Y Z P a H","2":"hB XB jB kB"},D:{"1":"0 1 2 3 4 5 6 7 8 9 l m n o p q r s t u v w x y z AB BB CB DB EB FB YB GB ZB Q HB IB JB KB LB MB NB OB PB QB RB SB TB UB aB bB R S T U V W X Y Z P a H lB mB nB","132":"I b J D E F A B C K L G M N O c d e f g h i j k"},E:{"1":"F A B C K L G sB dB VB WB tB uB vB","2":"oB","4":"cB","132":"I b J D E pB qB rB"},F:{"1":"0 1 2 3 4 5 6 7 8 9 F B C G M N O c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB GB Q HB IB JB KB LB MB NB OB PB QB RB SB TB UB wB xB yB zB VB eB 0B WB"},G:{"1":"6B 7B 8B 9B AC BC CC DC EC FC GC HC IC JC","132":"E cB 1B fB 2B 3B 4B 5B"},H:{"1":"KC"},I:{"1":"H PC QC","2":"LC MC NC","132":"XB I OC fB"},J:{"1":"D A"},K:{"1":"A B C Q VB eB WB"},L:{"1":"H"},M:{"1":"P"},N:{"1":"A B"},O:{"1":"RC"},P:{"1":"I SC TC UC VC WC dB XC YC ZC aC"},Q:{"1":"bC"},R:{"1":"cC"},S:{"1":"dC"}},B:1,C:"SVG in HTML img element"}; diff --git a/tools/node_modules/@babel/core/node_modules/caniuse-lite/data/features/svg-smil.js b/tools/node_modules/@babel/core/node_modules/caniuse-lite/data/features/svg-smil.js new file mode 100644 index 00000000000000..04126c0a0c039f --- /dev/null +++ b/tools/node_modules/@babel/core/node_modules/caniuse-lite/data/features/svg-smil.js @@ -0,0 +1 @@ +module.exports={A:{A:{"2":"gB","8":"J D E F A B"},B:{"1":"R S T U V W X Y Z P a H","8":"C K L G M N O"},C:{"1":"0 1 2 3 4 5 6 7 8 9 I b J D E F A B C K L G M N O c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB YB GB ZB Q HB IB JB KB LB MB NB OB PB QB RB SB TB UB aB bB R S T iB U V W X Y Z P a H","8":"hB XB jB kB"},D:{"1":"0 1 2 3 4 5 6 7 8 9 b J D E F A B C K L G M N O c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB YB GB ZB Q HB IB JB KB LB MB NB OB PB QB RB SB TB UB aB bB R S T U V W X Y Z P a H lB mB nB","4":"I"},E:{"1":"J D E F A B C K L G qB rB sB dB VB WB tB uB vB","8":"oB cB","132":"I b pB"},F:{"1":"0 1 2 3 4 5 6 7 8 9 F B C G M N O c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB GB Q HB IB JB KB LB MB NB OB PB QB RB SB TB UB wB xB yB zB VB eB 0B WB"},G:{"1":"E 3B 4B 5B 6B 7B 8B 9B AC BC CC DC EC FC GC HC IC JC","132":"cB 1B fB 2B"},H:{"2":"KC"},I:{"1":"XB I H OC fB PC QC","2":"LC MC NC"},J:{"1":"D A"},K:{"1":"A B C Q VB eB WB"},L:{"1":"H"},M:{"1":"P"},N:{"8":"A B"},O:{"1":"RC"},P:{"1":"I SC TC UC VC WC dB XC YC ZC aC"},Q:{"1":"bC"},R:{"1":"cC"},S:{"1":"dC"}},B:2,C:"SVG SMIL animation"}; diff --git a/tools/node_modules/@babel/core/node_modules/caniuse-lite/data/features/svg.js b/tools/node_modules/@babel/core/node_modules/caniuse-lite/data/features/svg.js new file mode 100644 index 00000000000000..ea7316d5664ace --- /dev/null +++ b/tools/node_modules/@babel/core/node_modules/caniuse-lite/data/features/svg.js @@ -0,0 +1 @@ +module.exports={A:{A:{"2":"gB","8":"J D E","772":"F A B"},B:{"1":"R S T U V W X Y Z P a H","513":"C K L G M N O"},C:{"1":"0 1 2 3 4 5 6 7 8 9 XB I b J D E F A B C K L G M N O c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB YB GB ZB Q HB IB JB KB LB MB NB OB PB QB RB SB TB UB aB bB R S T iB U V W X Y Z P a H jB kB","4":"hB"},D:{"1":"0 1 2 3 4 5 6 7 8 9 I b J D E F A B C K L G M N O c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB YB GB ZB Q HB IB JB KB LB MB NB OB PB QB RB SB TB UB aB bB R S T U V W X Y Z P a H lB mB nB"},E:{"1":"I b J D E F A B C K L G cB pB qB rB sB dB VB WB tB uB vB","4":"oB"},F:{"1":"0 1 2 3 4 5 6 7 8 9 F B C G M N O c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB GB Q HB IB JB KB LB MB NB OB PB QB RB SB TB UB wB xB yB zB VB eB 0B WB"},G:{"1":"E cB 1B fB 2B 3B 4B 5B 6B 7B 8B 9B AC BC CC DC EC FC GC HC IC JC"},H:{"1":"KC"},I:{"1":"H PC QC","2":"LC MC NC","132":"XB I OC fB"},J:{"1":"D A"},K:{"1":"A B C Q VB eB WB"},L:{"1":"H"},M:{"1":"P"},N:{"257":"A B"},O:{"1":"RC"},P:{"1":"I SC TC UC VC WC dB XC YC ZC aC"},Q:{"1":"bC"},R:{"1":"cC"},S:{"1":"dC"}},B:4,C:"SVG (basic support)"}; diff --git a/tools/node_modules/@babel/core/node_modules/caniuse-lite/data/features/sxg.js b/tools/node_modules/@babel/core/node_modules/caniuse-lite/data/features/sxg.js new file mode 100644 index 00000000000000..b80038d964efb5 --- /dev/null +++ b/tools/node_modules/@babel/core/node_modules/caniuse-lite/data/features/sxg.js @@ -0,0 +1 @@ +module.exports={A:{A:{"2":"J D E F A B gB"},B:{"1":"R S T U V W X Y Z P a H","2":"C K L G M N O"},C:{"2":"0 1 2 3 4 5 6 7 8 9 hB XB I b J D E F A B C K L G M N O c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB YB GB ZB Q HB IB JB KB LB MB NB OB PB QB RB SB TB UB aB bB R S T iB U V W X Y Z P a H jB kB"},D:{"1":"RB SB TB UB aB bB R S T U V W X Y Z P a H lB mB nB","2":"0 1 2 3 4 5 6 7 8 9 I b J D E F A B C K L G M N O c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB YB GB ZB Q HB IB JB KB LB MB NB OB","132":"PB QB"},E:{"2":"I b J D E F A B C K L G oB cB pB qB rB sB dB VB WB tB uB vB"},F:{"1":"IB JB KB LB MB NB OB PB QB RB SB TB UB","2":"0 1 2 3 4 5 6 7 8 9 F B C G M N O c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB GB Q HB wB xB yB zB VB eB 0B WB"},G:{"2":"E cB 1B fB 2B 3B 4B 5B 6B 7B 8B 9B AC BC CC DC EC FC GC HC IC JC"},H:{"2":"KC"},I:{"1":"H","2":"XB I LC MC NC OC fB PC QC"},J:{"2":"D A"},K:{"2":"A B C Q VB eB WB"},L:{"1":"H"},M:{"2":"P"},N:{"2":"A B"},O:{"16":"RC"},P:{"1":"XC YC ZC aC","2":"I SC TC UC VC WC dB"},Q:{"16":"bC"},R:{"16":"cC"},S:{"2":"dC"}},B:6,C:"Signed HTTP Exchanges (SXG)"}; diff --git a/tools/node_modules/@babel/core/node_modules/caniuse-lite/data/features/tabindex-attr.js b/tools/node_modules/@babel/core/node_modules/caniuse-lite/data/features/tabindex-attr.js new file mode 100644 index 00000000000000..c8f0eba8c3b652 --- /dev/null +++ b/tools/node_modules/@babel/core/node_modules/caniuse-lite/data/features/tabindex-attr.js @@ -0,0 +1 @@ +module.exports={A:{A:{"1":"D E F A B","16":"J gB"},B:{"1":"C K L G M N O R S T U V W X Y Z P a H"},C:{"16":"hB XB jB kB","129":"0 1 2 3 4 5 6 7 8 9 I b J D E F A B C K L G M N O c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB YB GB ZB Q HB IB JB KB LB MB NB OB PB QB RB SB TB UB aB bB R S T iB U V W X Y Z P a H"},D:{"1":"0 1 2 3 4 5 6 7 8 9 G M N O c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB YB GB ZB Q HB IB JB KB LB MB NB OB PB QB RB SB TB UB aB bB R S T U V W X Y Z P a H lB mB nB","16":"I b J D E F A B C K L"},E:{"16":"I b oB cB","257":"J D E F A B C K L G pB qB rB sB dB VB WB tB uB vB"},F:{"1":"0 1 2 3 4 5 6 7 8 9 B C G M N O c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB GB Q HB IB JB KB LB MB NB OB PB QB RB SB TB UB wB xB yB zB VB eB 0B WB","16":"F"},G:{"769":"E cB 1B fB 2B 3B 4B 5B 6B 7B 8B 9B AC BC CC DC EC FC GC HC IC JC"},H:{"16":"KC"},I:{"16":"XB I H LC MC NC OC fB PC QC"},J:{"16":"D A"},K:{"16":"A B C Q VB eB WB"},L:{"1":"H"},M:{"1":"P"},N:{"16":"A B"},O:{"16":"RC"},P:{"16":"I SC TC UC VC WC dB XC YC ZC aC"},Q:{"1":"bC"},R:{"16":"cC"},S:{"129":"dC"}},B:1,C:"tabindex global attribute"}; diff --git a/tools/node_modules/@babel/core/node_modules/caniuse-lite/data/features/template-literals.js b/tools/node_modules/@babel/core/node_modules/caniuse-lite/data/features/template-literals.js new file mode 100644 index 00000000000000..3a7d664da48b33 --- /dev/null +++ b/tools/node_modules/@babel/core/node_modules/caniuse-lite/data/features/template-literals.js @@ -0,0 +1 @@ +module.exports={A:{A:{"2":"J D E F A B gB"},B:{"1":"K L G M N O R S T U V W X Y Z P a H","16":"C"},C:{"1":"0 1 2 3 4 5 6 7 8 9 r s t u v w x y z AB BB CB DB EB FB YB GB ZB Q HB IB JB KB LB MB NB OB PB QB RB SB TB UB aB bB R S T iB U V W X Y Z P a H","2":"hB XB I b J D E F A B C K L G M N O c d e f g h i j k l m n o p q jB kB"},D:{"1":"0 1 2 3 4 5 6 7 8 9 y z AB BB CB DB EB FB YB GB ZB Q HB IB JB KB LB MB NB OB PB QB RB SB TB UB aB bB R S T U V W X Y Z P a H lB mB nB","2":"I b J D E F A B C K L G M N O c d e f g h i j k l m n o p q r s t u v w x"},E:{"1":"A B K L G sB dB VB WB tB uB vB","2":"I b J D E F oB cB pB qB rB","129":"C"},F:{"1":"0 1 2 3 4 5 6 7 8 9 m n o p q r s t u v w x y z AB BB CB DB EB FB GB Q HB IB JB KB LB MB NB OB PB QB RB SB TB UB","2":"F B C G M N O c d e f g h i j k l wB xB yB zB VB eB 0B WB"},G:{"1":"6B 7B 8B 9B AC BC DC EC FC GC HC IC JC","2":"E cB 1B fB 2B 3B 4B 5B","129":"CC"},H:{"2":"KC"},I:{"1":"H","2":"XB I LC MC NC OC fB PC QC"},J:{"2":"D A"},K:{"1":"Q","2":"A B C VB eB WB"},L:{"1":"H"},M:{"1":"P"},N:{"2":"A B"},O:{"1":"RC"},P:{"1":"I SC TC UC VC WC dB XC YC ZC aC"},Q:{"1":"bC"},R:{"1":"cC"},S:{"1":"dC"}},B:6,C:"ES6 Template Literals (Template Strings)"}; diff --git a/tools/node_modules/@babel/core/node_modules/caniuse-lite/data/features/template.js b/tools/node_modules/@babel/core/node_modules/caniuse-lite/data/features/template.js new file mode 100644 index 00000000000000..272391de2a564d --- /dev/null +++ b/tools/node_modules/@babel/core/node_modules/caniuse-lite/data/features/template.js @@ -0,0 +1 @@ +module.exports={A:{A:{"2":"J D E F A B gB"},B:{"1":"G M N O R S T U V W X Y Z P a H","2":"C","388":"K L"},C:{"1":"0 1 2 3 4 5 6 7 8 9 f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB YB GB ZB Q HB IB JB KB LB MB NB OB PB QB RB SB TB UB aB bB R S T iB U V W X Y Z P a H","2":"hB XB I b J D E F A B C K L G M N O c d e jB kB"},D:{"1":"0 1 2 3 4 5 6 7 8 9 s t u v w x y z AB BB CB DB EB FB YB GB ZB Q HB IB JB KB LB MB NB OB PB QB RB SB TB UB aB bB R S T U V W X Y Z P a H lB mB nB","2":"I b J D E F A B C K L G M N O c d e f g h i","132":"j k l m n o p q r"},E:{"1":"F A B C K L G sB dB VB WB tB uB vB","2":"I b J D oB cB pB","388":"E rB","514":"qB"},F:{"1":"0 1 2 3 4 5 6 7 8 9 f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB GB Q HB IB JB KB LB MB NB OB PB QB RB SB TB UB","2":"F B C wB xB yB zB VB eB 0B WB","132":"G M N O c d e"},G:{"1":"6B 7B 8B 9B AC BC CC DC EC FC GC HC IC JC","2":"cB 1B fB 2B 3B 4B","388":"E 5B"},H:{"2":"KC"},I:{"1":"H PC QC","2":"XB I LC MC NC OC fB"},J:{"2":"D A"},K:{"1":"Q","2":"A B C VB eB WB"},L:{"1":"H"},M:{"1":"P"},N:{"2":"A B"},O:{"1":"RC"},P:{"1":"I SC TC UC VC WC dB XC YC ZC aC"},Q:{"1":"bC"},R:{"1":"cC"},S:{"1":"dC"}},B:1,C:"HTML templates"}; diff --git a/tools/node_modules/@babel/core/node_modules/caniuse-lite/data/features/testfeat.js b/tools/node_modules/@babel/core/node_modules/caniuse-lite/data/features/testfeat.js new file mode 100644 index 00000000000000..c44587e3a66fc7 --- /dev/null +++ b/tools/node_modules/@babel/core/node_modules/caniuse-lite/data/features/testfeat.js @@ -0,0 +1 @@ +module.exports={A:{A:{"2":"J D E A B gB","16":"F"},B:{"2":"C K L G M N O R S T U V W X Y Z P a H"},C:{"2":"0 1 2 3 4 5 6 7 8 9 hB XB J D E F A B C K L G M N O c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB YB GB ZB Q HB IB JB KB LB MB NB OB PB QB RB SB TB UB aB bB R S T iB U V W X Y Z P a H jB kB","16":"I b"},D:{"2":"0 1 2 3 4 5 6 7 8 9 I b J D E F A K L G M N O c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB YB GB ZB Q HB IB JB KB LB MB NB OB PB QB RB SB TB UB aB bB R S T U V W X Y Z P a H lB mB nB","16":"B C"},E:{"2":"I J oB cB pB","16":"b D E F A B C K L G qB rB sB dB VB WB tB uB vB"},F:{"2":"0 1 2 3 4 5 6 7 8 9 F B C G M N O c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB GB Q HB IB JB KB LB MB NB OB PB QB RB SB TB UB wB xB yB zB eB 0B WB","16":"VB"},G:{"2":"cB 1B fB 2B 3B","16":"E 4B 5B 6B 7B 8B 9B AC BC CC DC EC FC GC HC IC JC"},H:{"2":"KC"},I:{"2":"XB I H LC MC OC fB PC QC","16":"NC"},J:{"2":"A","16":"D"},K:{"2":"A B C Q VB eB WB"},L:{"2":"H"},M:{"2":"P"},N:{"2":"A B"},O:{"2":"RC"},P:{"2":"I SC TC UC VC WC dB XC YC ZC aC"},Q:{"2":"bC"},R:{"2":"cC"},S:{"2":"dC"}},B:7,C:"Test feature - updated"}; diff --git a/tools/node_modules/@babel/core/node_modules/caniuse-lite/data/features/text-decoration.js b/tools/node_modules/@babel/core/node_modules/caniuse-lite/data/features/text-decoration.js new file mode 100644 index 00000000000000..22038e5bdb5a12 --- /dev/null +++ b/tools/node_modules/@babel/core/node_modules/caniuse-lite/data/features/text-decoration.js @@ -0,0 +1 @@ +module.exports={A:{A:{"2":"J D E F A B gB"},B:{"2":"C K L G M N O","2052":"R S T U V W X Y Z P a H"},C:{"2":"hB XB I b jB kB","1028":"0 1 2 3 4 5 6 7 8 9 t u v w x y z AB BB CB DB EB FB YB GB ZB Q HB IB JB KB LB MB NB OB PB QB RB SB TB UB aB bB R S T iB U V W X Y Z P a H","1060":"J D E F A B C K L G M N O c d e f g h i j k l m n o p q r s"},D:{"2":"I b J D E F A B C K L G M N O c d e f g h i","226":"0 1 2 3 4 5 6 7 8 9 j k l m n o p q r s t u v w x y z AB BB CB DB","2052":"EB FB YB GB ZB Q HB IB JB KB LB MB NB OB PB QB RB SB TB UB aB bB R S T U V W X Y Z P a H lB mB nB"},E:{"2":"I b J D oB cB pB qB","772":"K L G WB tB uB vB","804":"E F A B C sB dB VB","1316":"rB"},F:{"2":"F B C G M N O c d e f g h i j k l m n o p q r wB xB yB zB VB eB 0B WB","226":"0 s t u v w x y z","2052":"1 2 3 4 5 6 7 8 9 AB BB CB DB EB FB GB Q HB IB JB KB LB MB NB OB PB QB RB SB TB UB"},G:{"2":"cB 1B fB 2B 3B 4B","292":"E 5B 6B 7B 8B 9B AC BC CC DC EC FC GC HC IC JC"},H:{"2":"KC"},I:{"1":"H","2":"XB I LC MC NC OC fB PC QC"},J:{"2":"D A"},K:{"2":"A B C VB eB WB","2052":"Q"},L:{"2052":"H"},M:{"1":"P"},N:{"2":"A B"},O:{"2052":"RC"},P:{"2":"I SC TC","2052":"UC VC WC dB XC YC ZC aC"},Q:{"2":"bC"},R:{"1":"cC"},S:{"1028":"dC"}},B:4,C:"text-decoration styling"}; diff --git a/tools/node_modules/@babel/core/node_modules/caniuse-lite/data/features/text-emphasis.js b/tools/node_modules/@babel/core/node_modules/caniuse-lite/data/features/text-emphasis.js new file mode 100644 index 00000000000000..f766ede486e912 --- /dev/null +++ b/tools/node_modules/@babel/core/node_modules/caniuse-lite/data/features/text-emphasis.js @@ -0,0 +1 @@ +module.exports={A:{A:{"2":"J D E F A B gB"},B:{"2":"C K L G M N O","164":"R S T U V W X Y Z P a H"},C:{"1":"3 4 5 6 7 8 9 AB BB CB DB EB FB YB GB ZB Q HB IB JB KB LB MB NB OB PB QB RB SB TB UB aB bB R S T iB U V W X Y Z P a H","2":"0 1 hB XB I b J D E F A B C K L G M N O c d e f g h i j k l m n o p q r s t u v w x y z jB kB","322":"2"},D:{"2":"I b J D E F A B C K L G M N O c d e f g h","164":"0 1 2 3 4 5 6 7 8 9 i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB YB GB ZB Q HB IB JB KB LB MB NB OB PB QB RB SB TB UB aB bB R S T U V W X Y Z P a H lB mB nB"},E:{"1":"E F A B C K L G rB sB dB VB WB tB uB vB","2":"I b J oB cB pB","164":"D qB"},F:{"2":"F B C wB xB yB zB VB eB 0B WB","164":"0 1 2 3 4 5 6 7 8 9 G M N O c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB GB Q HB IB JB KB LB MB NB OB PB QB RB SB TB UB"},G:{"1":"E 4B 5B 6B 7B 8B 9B AC BC CC DC EC FC GC HC IC JC","2":"cB 1B fB 2B 3B"},H:{"2":"KC"},I:{"2":"XB I LC MC NC OC fB","164":"H PC QC"},J:{"2":"D","164":"A"},K:{"2":"A B C VB eB WB","164":"Q"},L:{"164":"H"},M:{"1":"P"},N:{"2":"A B"},O:{"164":"RC"},P:{"164":"I SC TC UC VC WC dB XC YC ZC aC"},Q:{"164":"bC"},R:{"164":"cC"},S:{"1":"dC"}},B:4,C:"text-emphasis styling"}; diff --git a/tools/node_modules/@babel/core/node_modules/caniuse-lite/data/features/text-overflow.js b/tools/node_modules/@babel/core/node_modules/caniuse-lite/data/features/text-overflow.js new file mode 100644 index 00000000000000..a0270f581cbd1c --- /dev/null +++ b/tools/node_modules/@babel/core/node_modules/caniuse-lite/data/features/text-overflow.js @@ -0,0 +1 @@ +module.exports={A:{A:{"1":"J D E F A B","2":"gB"},B:{"1":"C K L G M N O R S T U V W X Y Z P a H"},C:{"1":"0 1 2 3 4 5 6 7 8 9 D E F A B C K L G M N O c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB YB GB ZB Q HB IB JB KB LB MB NB OB PB QB RB SB TB UB aB bB R S T iB U V W X Y Z P a H","8":"hB XB I b J jB kB"},D:{"1":"0 1 2 3 4 5 6 7 8 9 I b J D E F A B C K L G M N O c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB YB GB ZB Q HB IB JB KB LB MB NB OB PB QB RB SB TB UB aB bB R S T U V W X Y Z P a H lB mB nB"},E:{"1":"I b J D E F A B C K L G oB cB pB qB rB sB dB VB WB tB uB vB"},F:{"1":"0 1 2 3 4 5 6 7 8 9 B C G M N O c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB GB Q HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB eB 0B WB","33":"F wB xB yB zB"},G:{"1":"E cB 1B fB 2B 3B 4B 5B 6B 7B 8B 9B AC BC CC DC EC FC GC HC IC JC"},H:{"1":"KC"},I:{"1":"XB I H LC MC NC OC fB PC QC"},J:{"1":"D A"},K:{"1":"Q WB","33":"A B C VB eB"},L:{"1":"H"},M:{"1":"P"},N:{"1":"A B"},O:{"1":"RC"},P:{"1":"I SC TC UC VC WC dB XC YC ZC aC"},Q:{"1":"bC"},R:{"1":"cC"},S:{"1":"dC"}},B:4,C:"CSS3 Text-overflow"}; diff --git a/tools/node_modules/@babel/core/node_modules/caniuse-lite/data/features/text-size-adjust.js b/tools/node_modules/@babel/core/node_modules/caniuse-lite/data/features/text-size-adjust.js new file mode 100644 index 00000000000000..f33a0859ca67fd --- /dev/null +++ b/tools/node_modules/@babel/core/node_modules/caniuse-lite/data/features/text-size-adjust.js @@ -0,0 +1 @@ +module.exports={A:{A:{"2":"J D E F A B gB"},B:{"1":"R S T U V W X Y Z P a H","33":"C K L G M N O"},C:{"2":"0 1 2 3 4 5 6 7 8 9 hB XB I b J D E F A B C K L G M N O c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB YB GB ZB Q HB IB JB KB LB MB NB OB PB QB RB SB TB UB aB bB R S T iB U V W X Y Z P a H jB kB"},D:{"1":"BB CB DB EB FB YB GB ZB Q HB IB JB KB LB MB NB OB PB QB RB SB TB UB aB bB R S T U V W X Y Z P a H lB mB nB","2":"0 1 2 3 4 5 6 7 8 9 I b J D E F A B C K L G M N O c d e f g h i k l m n o p q r s t u v w x y z AB","258":"j"},E:{"2":"I b J D E F A B C K L G oB cB qB rB sB dB VB WB tB uB vB","258":"pB"},F:{"1":"0 2 3 4 5 6 7 8 9 AB BB CB DB EB FB GB Q HB IB JB KB LB MB NB OB PB QB RB SB TB UB","2":"1 F B C G M N O c d e f g h i j k l m n o p q r s t u v w x y z wB xB yB zB VB eB 0B WB"},G:{"2":"cB 1B fB","33":"E 2B 3B 4B 5B 6B 7B 8B 9B AC BC CC DC EC FC GC HC IC JC"},H:{"2":"KC"},I:{"1":"H","2":"XB I LC MC NC OC fB PC QC"},J:{"2":"D A"},K:{"1":"Q","2":"A B C VB eB WB"},L:{"1":"H"},M:{"33":"P"},N:{"161":"A B"},O:{"1":"RC"},P:{"1":"SC TC UC VC WC dB XC YC ZC aC","2":"I"},Q:{"2":"bC"},R:{"2":"cC"},S:{"2":"dC"}},B:7,C:"CSS text-size-adjust"}; diff --git a/tools/node_modules/@babel/core/node_modules/caniuse-lite/data/features/text-stroke.js b/tools/node_modules/@babel/core/node_modules/caniuse-lite/data/features/text-stroke.js new file mode 100644 index 00000000000000..4f84b2d0bcf92c --- /dev/null +++ b/tools/node_modules/@babel/core/node_modules/caniuse-lite/data/features/text-stroke.js @@ -0,0 +1 @@ +module.exports={A:{A:{"2":"J D E F A B gB"},B:{"2":"C K L","33":"R S T U V W X Y Z P a H","161":"G M N O"},C:{"2":"0 1 2 3 4 hB XB I b J D E F A B C K L G M N O c d e f g h i j k l m n o p q r s t u v w x y z jB kB","161":"6 7 8 9 AB BB CB DB EB FB YB GB ZB Q HB IB JB KB LB MB NB OB PB QB RB SB TB UB aB bB R S T iB U V W X Y Z P a H","450":"5"},D:{"33":"0 1 2 3 4 5 6 7 8 9 I b J D E F A B C K L G M N O c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB YB GB ZB Q HB IB JB KB LB MB NB OB PB QB RB SB TB UB aB bB R S T U V W X Y Z P a H lB mB nB"},E:{"33":"I b J D E F A B C K L G oB cB pB qB rB sB dB VB WB tB uB vB"},F:{"2":"F B C wB xB yB zB VB eB 0B WB","33":"0 1 2 3 4 5 6 7 8 9 G M N O c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB GB Q HB IB JB KB LB MB NB OB PB QB RB SB TB UB"},G:{"33":"E 1B fB 2B 3B 4B 5B 6B 7B 8B 9B AC BC CC DC EC FC GC HC IC JC","36":"cB"},H:{"2":"KC"},I:{"2":"XB","33":"I H LC MC NC OC fB PC QC"},J:{"33":"D A"},K:{"2":"A B C VB eB WB","33":"Q"},L:{"33":"H"},M:{"161":"P"},N:{"2":"A B"},O:{"33":"RC"},P:{"33":"I SC TC UC VC WC dB XC YC ZC aC"},Q:{"33":"bC"},R:{"33":"cC"},S:{"161":"dC"}},B:7,C:"CSS text-stroke and text-fill"}; diff --git a/tools/node_modules/@babel/core/node_modules/caniuse-lite/data/features/text-underline-offset.js b/tools/node_modules/@babel/core/node_modules/caniuse-lite/data/features/text-underline-offset.js new file mode 100644 index 00000000000000..75a7668cf30ed5 --- /dev/null +++ b/tools/node_modules/@babel/core/node_modules/caniuse-lite/data/features/text-underline-offset.js @@ -0,0 +1 @@ +module.exports={A:{A:{"2":"J D E F A B gB"},B:{"2":"C K L G M N O R S T U V W X Y Z P a H"},C:{"1":"OB PB QB RB SB TB UB aB bB R S T iB U V W X Y Z P a H","2":"0 1 2 3 4 5 6 7 8 9 hB XB I b J D E F A B C K L G M N O c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB YB GB ZB Q HB IB JB KB LB MB jB kB","130":"NB"},D:{"2":"0 1 2 3 4 5 6 7 8 9 I b J D E F A B C K L G M N O c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB YB GB ZB Q HB IB JB KB LB MB NB OB PB QB RB SB TB UB aB bB R S T U V W X Y Z P a H lB mB nB"},E:{"1":"K L G WB tB uB vB","2":"I b J D E F A B C oB cB pB qB rB sB dB VB"},F:{"2":"0 1 2 3 4 5 6 7 8 9 F B C G M N O c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB GB Q HB IB JB KB LB MB NB OB PB QB RB SB TB UB wB xB yB zB VB eB 0B WB"},G:{"1":"CC DC EC FC GC HC IC JC","2":"E cB 1B fB 2B 3B 4B 5B 6B 7B 8B 9B AC BC"},H:{"2":"KC"},I:{"2":"XB I H LC MC NC OC fB PC QC"},J:{"2":"D A"},K:{"2":"A B C Q VB eB WB"},L:{"2":"H"},M:{"2":"P"},N:{"2":"A B"},O:{"2":"RC"},P:{"2":"I SC TC UC VC WC dB XC YC ZC aC"},Q:{"2":"bC"},R:{"2":"cC"},S:{"2":"dC"}},B:5,C:"text-underline-offset"}; diff --git a/tools/node_modules/@babel/core/node_modules/caniuse-lite/data/features/textcontent.js b/tools/node_modules/@babel/core/node_modules/caniuse-lite/data/features/textcontent.js new file mode 100644 index 00000000000000..59656092b446cf --- /dev/null +++ b/tools/node_modules/@babel/core/node_modules/caniuse-lite/data/features/textcontent.js @@ -0,0 +1 @@ +module.exports={A:{A:{"1":"F A B","2":"J D E gB"},B:{"1":"C K L G M N O R S T U V W X Y Z P a H"},C:{"1":"0 1 2 3 4 5 6 7 8 9 hB XB I b J D E F A B C K L G M N O c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB YB GB ZB Q HB IB JB KB LB MB NB OB PB QB RB SB TB UB aB bB R S T iB U V W X Y Z P a H jB kB"},D:{"1":"0 1 2 3 4 5 6 7 8 9 I b J D E F A B C K L G M N O c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB YB GB ZB Q HB IB JB KB LB MB NB OB PB QB RB SB TB UB aB bB R S T U V W X Y Z P a H lB mB nB"},E:{"1":"I b J D E F A B C K L G cB pB qB rB sB dB VB WB tB uB vB","16":"oB"},F:{"1":"0 1 2 3 4 5 6 7 8 9 B C G M N O c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB GB Q HB IB JB KB LB MB NB OB PB QB RB SB TB UB wB xB yB zB VB eB 0B WB","16":"F"},G:{"1":"E 1B fB 2B 3B 4B 5B 6B 7B 8B 9B AC BC CC DC EC FC GC HC IC JC","16":"cB"},H:{"1":"KC"},I:{"1":"XB I H NC OC fB PC QC","16":"LC MC"},J:{"1":"D A"},K:{"1":"A B C Q VB eB WB"},L:{"1":"H"},M:{"1":"P"},N:{"1":"A B"},O:{"1":"RC"},P:{"1":"I SC TC UC VC WC dB XC YC ZC aC"},Q:{"1":"bC"},R:{"1":"cC"},S:{"1":"dC"}},B:1,C:"Node.textContent"}; diff --git a/tools/node_modules/@babel/core/node_modules/caniuse-lite/data/features/textencoder.js b/tools/node_modules/@babel/core/node_modules/caniuse-lite/data/features/textencoder.js new file mode 100644 index 00000000000000..66021fd5577f30 --- /dev/null +++ b/tools/node_modules/@babel/core/node_modules/caniuse-lite/data/features/textencoder.js @@ -0,0 +1 @@ +module.exports={A:{A:{"2":"J D E F A B gB"},B:{"1":"R S T U V W X Y Z P a H","2":"C K L G M N O"},C:{"1":"0 1 2 3 4 5 6 7 8 9 d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB YB GB ZB Q HB IB JB KB LB MB NB OB PB QB RB SB TB UB aB bB R S T iB U V W X Y Z P a H","2":"hB XB I b J D E F A B C K L G M N O jB kB","132":"c"},D:{"1":"0 1 2 3 4 5 6 7 8 9 v w x y z AB BB CB DB EB FB YB GB ZB Q HB IB JB KB LB MB NB OB PB QB RB SB TB UB aB bB R S T U V W X Y Z P a H lB mB nB","2":"I b J D E F A B C K L G M N O c d e f g h i j k l m n o p q r s t u"},E:{"1":"B C K L G dB VB WB tB uB vB","2":"I b J D E F A oB cB pB qB rB sB"},F:{"1":"0 1 2 3 4 5 6 7 8 9 i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB GB Q HB IB JB KB LB MB NB OB PB QB RB SB TB UB","2":"F B C G M N O c d e f g h wB xB yB zB VB eB 0B WB"},G:{"1":"9B AC BC CC DC EC FC GC HC IC JC","2":"E cB 1B fB 2B 3B 4B 5B 6B 7B 8B"},H:{"2":"KC"},I:{"1":"H","2":"XB I LC MC NC OC fB PC QC"},J:{"2":"D A"},K:{"1":"Q","2":"A B C VB eB WB"},L:{"1":"H"},M:{"1":"P"},N:{"2":"A B"},O:{"1":"RC"},P:{"1":"I SC TC UC VC WC dB XC YC ZC aC"},Q:{"1":"bC"},R:{"1":"cC"},S:{"1":"dC"}},B:1,C:"TextEncoder & TextDecoder"}; diff --git a/tools/node_modules/@babel/core/node_modules/caniuse-lite/data/features/tls1-1.js b/tools/node_modules/@babel/core/node_modules/caniuse-lite/data/features/tls1-1.js new file mode 100644 index 00000000000000..aab5d22aec2253 --- /dev/null +++ b/tools/node_modules/@babel/core/node_modules/caniuse-lite/data/features/tls1-1.js @@ -0,0 +1 @@ +module.exports={A:{A:{"1":"B","2":"J D gB","66":"E F A"},B:{"1":"C K L G M N O R S T U V W X Y Z P a H"},C:{"1":"0 1 2 3 4 5 6 7 8 9 h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB YB GB ZB Q HB IB JB KB LB","2":"hB XB I b J D E F A B C K L G M N O c d e f jB kB","66":"g","129":"MB NB OB PB QB RB SB TB UB aB","388":"bB R S T iB U V W X Y Z P a H"},D:{"1":"0 1 2 3 4 5 6 7 8 9 f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB YB GB ZB Q HB IB JB KB LB MB NB OB PB QB RB SB TB UB aB bB R S T U V","2":"I b J D E F A B C K L G M N O c d e","1540":"W X Y Z P a H lB mB nB"},E:{"1":"D E F A B C K rB sB dB VB WB","2":"I b J oB cB pB qB","513":"L G tB uB vB"},F:{"1":"0 1 2 3 4 5 6 7 8 9 G M N O c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB GB Q HB IB JB KB LB MB NB OB PB QB WB","2":"F B C wB xB yB zB VB eB 0B","1540":"RB SB TB UB"},G:{"1":"E 2B 3B 4B 5B 6B 7B 8B 9B AC BC CC DC EC FC GC HC IC JC","2":"cB 1B fB"},H:{"1":"KC"},I:{"1":"H","2":"XB I LC MC NC OC fB PC QC"},J:{"1":"A","2":"D"},K:{"1":"Q WB","2":"A B C VB eB"},L:{"1":"H"},M:{"129":"P"},N:{"1":"B","66":"A"},O:{"1":"RC"},P:{"1":"I SC TC UC VC WC dB XC YC ZC aC"},Q:{"1":"bC"},R:{"1":"cC"},S:{"1":"dC"}},B:6,C:"TLS 1.1"}; diff --git a/tools/node_modules/@babel/core/node_modules/caniuse-lite/data/features/tls1-2.js b/tools/node_modules/@babel/core/node_modules/caniuse-lite/data/features/tls1-2.js new file mode 100644 index 00000000000000..e9415a59233fa7 --- /dev/null +++ b/tools/node_modules/@babel/core/node_modules/caniuse-lite/data/features/tls1-2.js @@ -0,0 +1 @@ +module.exports={A:{A:{"1":"B","2":"J D gB","66":"E F A"},B:{"1":"C K L G M N O R S T U V W X Y Z P a H"},C:{"1":"0 1 2 3 4 5 6 7 8 9 k l m n o p q r s t u v w x y z AB BB CB DB EB FB YB GB ZB Q HB IB JB KB LB MB NB OB PB QB RB SB TB UB aB bB R S T iB U V W X Y Z P a H","2":"hB XB I b J D E F A B C K L G M N O c d e f g jB kB","66":"h i j"},D:{"1":"0 1 2 3 4 5 6 7 8 9 m n o p q r s t u v w x y z AB BB CB DB EB FB YB GB ZB Q HB IB JB KB LB MB NB OB PB QB RB SB TB UB aB bB R S T U V W X Y Z P a H lB mB nB","2":"I b J D E F A B C K L G M N O c d e f g h i j k l"},E:{"1":"D E F A B C K L G rB sB dB VB WB tB uB vB","2":"I b J oB cB pB qB"},F:{"1":"0 1 2 3 4 5 6 7 8 9 M N O c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB GB Q HB IB JB KB LB MB NB OB PB QB RB SB TB UB","2":"F G wB","66":"B C xB yB zB VB eB 0B WB"},G:{"1":"E 2B 3B 4B 5B 6B 7B 8B 9B AC BC CC DC EC FC GC HC IC JC","2":"cB 1B fB"},H:{"1":"KC"},I:{"1":"H","2":"XB I LC MC NC OC fB PC QC"},J:{"1":"A","2":"D"},K:{"1":"Q WB","2":"A B C VB eB"},L:{"1":"H"},M:{"1":"P"},N:{"1":"B","66":"A"},O:{"1":"RC"},P:{"1":"I SC TC UC VC WC dB XC YC ZC aC"},Q:{"1":"bC"},R:{"1":"cC"},S:{"1":"dC"}},B:6,C:"TLS 1.2"}; diff --git a/tools/node_modules/@babel/core/node_modules/caniuse-lite/data/features/tls1-3.js b/tools/node_modules/@babel/core/node_modules/caniuse-lite/data/features/tls1-3.js new file mode 100644 index 00000000000000..228747eabbfe53 --- /dev/null +++ b/tools/node_modules/@babel/core/node_modules/caniuse-lite/data/features/tls1-3.js @@ -0,0 +1 @@ +module.exports={A:{A:{"2":"J D E F A B gB"},B:{"1":"R S T U V W X Y Z P a H","2":"C K L G M N O"},C:{"1":"HB IB JB KB LB MB NB OB PB QB RB SB TB UB aB bB R S T iB U V W X Y Z P a H","2":"0 1 2 3 4 5 6 7 hB XB I b J D E F A B C K L G M N O c d e f g h i j k l m n o p q r s t u v w x y z jB kB","132":"GB ZB Q","450":"8 9 AB BB CB DB EB FB YB"},D:{"1":"OB PB QB RB SB TB UB aB bB R S T U V W X Y Z P a H lB mB nB","2":"0 1 2 3 4 5 6 7 8 9 I b J D E F A B C K L G M N O c d e f g h i j k l m n o p q r s t u v w x y z AB","706":"BB CB DB EB FB YB GB ZB Q HB IB JB KB LB MB NB"},E:{"1":"L G uB vB","2":"I b J D E F A B C oB cB pB qB rB sB dB VB","1028":"K WB tB"},F:{"1":"EB FB GB Q HB IB JB KB LB MB NB OB PB QB RB SB TB UB","2":"0 1 2 3 4 5 6 7 8 9 F B C G M N O c d e f g h i j k l m n o p q r s t u v w x y z AB wB xB yB zB VB eB 0B WB","706":"BB CB DB"},G:{"1":"DC EC FC GC HC IC JC","2":"E cB 1B fB 2B 3B 4B 5B 6B 7B 8B 9B AC BC CC"},H:{"2":"KC"},I:{"1":"H","2":"XB I LC MC NC OC fB PC QC"},J:{"2":"D A"},K:{"1":"Q","2":"A B C VB eB WB"},L:{"1":"H"},M:{"1":"P"},N:{"2":"A B"},O:{"2":"RC"},P:{"1":"dB XC YC ZC aC","2":"I SC TC UC VC WC"},Q:{"2":"bC"},R:{"2":"cC"},S:{"2":"dC"}},B:6,C:"TLS 1.3"}; diff --git a/tools/node_modules/@babel/core/node_modules/caniuse-lite/data/features/token-binding.js b/tools/node_modules/@babel/core/node_modules/caniuse-lite/data/features/token-binding.js new file mode 100644 index 00000000000000..99374b2245da79 --- /dev/null +++ b/tools/node_modules/@babel/core/node_modules/caniuse-lite/data/features/token-binding.js @@ -0,0 +1 @@ +module.exports={A:{A:{"2":"J D E F A B gB"},B:{"2":"C K L","194":"R S T U V W X Y Z P a H","257":"G M N O"},C:{"2":"0 1 2 3 4 5 6 7 8 9 hB XB I b J D E F A B C K L G M N O c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB YB GB ZB Q HB IB JB KB LB MB NB OB PB QB RB SB TB UB aB bB R S T iB U V W X Y Z P jB kB","16":"a H"},D:{"2":"I b J D E F A B C K L G M N O c d e f g h i j k l m n o p q r s t u v","16":"0 1 2 3 4 5 6 7 8 9 w x y z AB BB CB DB EB","194":"FB YB GB ZB Q HB IB JB KB LB MB NB OB PB QB RB SB TB UB aB bB R S T U V W X Y Z P a H lB mB nB"},E:{"2":"I b J D E oB cB pB qB rB","16":"F A B C K L G sB dB VB WB tB uB vB"},F:{"2":"F B C G M N O c d e f g h i j k l m wB xB yB zB VB eB 0B WB","16":"0 1 2 3 4 5 6 7 8 9 n o p q r s t u v w x y z AB BB CB DB EB FB GB Q HB IB JB KB LB MB NB OB PB QB RB SB TB UB"},G:{"2":"E cB 1B fB 2B 3B 4B 5B","16":"6B 7B 8B 9B AC BC CC DC EC FC GC HC IC JC"},H:{"16":"KC"},I:{"2":"XB I LC MC NC OC fB PC QC","16":"H"},J:{"2":"D A"},K:{"2":"A B C VB eB WB","16":"Q"},L:{"16":"H"},M:{"16":"P"},N:{"2":"A","16":"B"},O:{"16":"RC"},P:{"16":"I SC TC UC VC WC dB XC YC ZC aC"},Q:{"16":"bC"},R:{"16":"cC"},S:{"2":"dC"}},B:6,C:"Token Binding"}; diff --git a/tools/node_modules/@babel/core/node_modules/caniuse-lite/data/features/touch.js b/tools/node_modules/@babel/core/node_modules/caniuse-lite/data/features/touch.js new file mode 100644 index 00000000000000..98474983a9d1e2 --- /dev/null +++ b/tools/node_modules/@babel/core/node_modules/caniuse-lite/data/features/touch.js @@ -0,0 +1 @@ +module.exports={A:{A:{"2":"J D E F gB","8":"A B"},B:{"1":"R S T U V W X Y Z P a H","578":"C K L G M N O"},C:{"1":"9 O c d e f g h AB BB CB DB EB FB YB GB ZB Q HB IB JB KB LB MB NB OB PB QB RB SB TB UB aB bB R S T iB U V W X Y Z P a H","2":"hB XB jB kB","4":"I b J D E F A B C K L G M N","194":"0 1 2 3 4 5 6 7 8 i j k l m n o p q r s t u v w x y z"},D:{"1":"0 1 2 3 4 5 6 7 8 9 f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB YB GB ZB Q HB IB JB KB LB MB NB OB PB QB RB SB TB UB aB bB R S T U V W X Y Z P a H lB mB nB","2":"I b J D E F A B C K L G M N O c d e"},E:{"2":"I b J D E F A B C K L G oB cB pB qB rB sB dB VB WB tB uB vB"},F:{"1":"0 1 2 3 4 5 6 7 8 9 G M N O c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB GB Q HB IB JB KB LB MB NB OB PB QB RB SB TB UB","2":"F B C wB xB yB zB VB eB 0B WB"},G:{"1":"E cB 1B fB 2B 3B 4B 5B 6B 7B 8B 9B AC BC CC DC EC FC GC HC IC JC"},H:{"2":"KC"},I:{"1":"XB I H LC MC NC OC fB PC QC"},J:{"1":"D A"},K:{"1":"B C Q VB eB WB","2":"A"},L:{"1":"H"},M:{"1":"P"},N:{"8":"A","260":"B"},O:{"1":"RC"},P:{"1":"I SC TC UC VC WC dB XC YC ZC aC"},Q:{"1":"bC"},R:{"1":"cC"},S:{"2":"dC"}},B:2,C:"Touch events"}; diff --git a/tools/node_modules/@babel/core/node_modules/caniuse-lite/data/features/transforms2d.js b/tools/node_modules/@babel/core/node_modules/caniuse-lite/data/features/transforms2d.js new file mode 100644 index 00000000000000..a6856013e9b377 --- /dev/null +++ b/tools/node_modules/@babel/core/node_modules/caniuse-lite/data/features/transforms2d.js @@ -0,0 +1 @@ +module.exports={A:{A:{"2":"gB","8":"J D E","129":"A B","161":"F"},B:{"1":"N O R S T U V W X Y Z P a H","129":"C K L G M"},C:{"1":"0 1 2 3 4 5 6 7 8 9 M N O c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB YB GB ZB Q HB IB JB KB LB MB NB OB PB QB RB SB TB UB aB bB R S T iB U V W X Y Z P a H","2":"hB XB","33":"I b J D E F A B C K L G jB kB"},D:{"1":"0 1 2 3 4 5 6 7 8 9 t u v w x y z AB BB CB DB EB FB YB GB ZB Q HB IB JB KB LB MB NB OB PB QB RB SB TB UB aB bB R S T U V W X Y Z P a H lB mB nB","33":"I b J D E F A B C K L G M N O c d e f g h i j k l m n o p q r s"},E:{"1":"F A B C K L G sB dB VB WB tB uB vB","33":"I b J D E oB cB pB qB rB"},F:{"1":"0 1 2 3 4 5 6 7 8 9 g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB GB Q HB IB JB KB LB MB NB OB PB QB RB SB TB UB WB","2":"F wB xB","33":"B C G M N O c d e f yB zB VB eB 0B"},G:{"1":"6B 7B 8B 9B AC BC CC DC EC FC GC HC IC JC","33":"E cB 1B fB 2B 3B 4B 5B"},H:{"2":"KC"},I:{"1":"H","33":"XB I LC MC NC OC fB PC QC"},J:{"33":"D A"},K:{"1":"B C Q VB eB WB","2":"A"},L:{"1":"H"},M:{"1":"P"},N:{"1":"A B"},O:{"1":"RC"},P:{"1":"I SC TC UC VC WC dB XC YC ZC aC"},Q:{"1":"bC"},R:{"1":"cC"},S:{"1":"dC"}},B:4,C:"CSS3 2D Transforms"}; diff --git a/tools/node_modules/@babel/core/node_modules/caniuse-lite/data/features/transforms3d.js b/tools/node_modules/@babel/core/node_modules/caniuse-lite/data/features/transforms3d.js new file mode 100644 index 00000000000000..7692dbc86c9c00 --- /dev/null +++ b/tools/node_modules/@babel/core/node_modules/caniuse-lite/data/features/transforms3d.js @@ -0,0 +1 @@ +module.exports={A:{A:{"2":"J D E F gB","132":"A B"},B:{"1":"C K L G M N O R S T U V W X Y Z P a H"},C:{"1":"0 1 2 3 4 5 6 7 8 9 M N O c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB YB GB ZB Q HB IB JB KB LB MB NB OB PB QB RB SB TB UB aB bB R S T iB U V W X Y Z P a H","2":"hB XB I b J D E F jB kB","33":"A B C K L G"},D:{"1":"0 1 2 3 4 5 6 7 8 9 t u v w x y z AB BB CB DB EB FB YB GB ZB Q HB IB JB KB LB MB NB OB PB QB RB SB TB UB aB bB R S T U V W X Y Z P a H lB mB nB","2":"I b J D E F A B","33":"C K L G M N O c d e f g h i j k l m n o p q r s"},E:{"2":"oB cB","33":"I b J D E pB qB rB","257":"F A B C K L G sB dB VB WB tB uB vB"},F:{"1":"0 1 2 3 4 5 6 7 8 9 g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB GB Q HB IB JB KB LB MB NB OB PB QB RB SB TB UB","2":"F B C wB xB yB zB VB eB 0B WB","33":"G M N O c d e f"},G:{"33":"E cB 1B fB 2B 3B 4B 5B","257":"6B 7B 8B 9B AC BC CC DC EC FC GC HC IC JC"},H:{"2":"KC"},I:{"1":"H","2":"LC MC NC","33":"XB I OC fB PC QC"},J:{"33":"D A"},K:{"1":"Q","2":"A B C VB eB WB"},L:{"1":"H"},M:{"1":"P"},N:{"132":"A B"},O:{"1":"RC"},P:{"1":"I SC TC UC VC WC dB XC YC ZC aC"},Q:{"1":"bC"},R:{"1":"cC"},S:{"1":"dC"}},B:5,C:"CSS3 3D Transforms"}; diff --git a/tools/node_modules/@babel/core/node_modules/caniuse-lite/data/features/trusted-types.js b/tools/node_modules/@babel/core/node_modules/caniuse-lite/data/features/trusted-types.js new file mode 100644 index 00000000000000..18938242dce162 --- /dev/null +++ b/tools/node_modules/@babel/core/node_modules/caniuse-lite/data/features/trusted-types.js @@ -0,0 +1 @@ +module.exports={A:{A:{"2":"J D E F A B gB"},B:{"1":"U V W X Y Z P a H","2":"C K L G M N O R S T"},C:{"2":"0 1 2 3 4 5 6 7 8 9 hB XB I b J D E F A B C K L G M N O c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB YB GB ZB Q HB IB JB KB LB MB NB OB PB QB RB SB TB UB aB bB R S T iB U V W X Y Z P a H jB kB"},D:{"1":"U V W X Y Z P a H lB mB nB","2":"0 1 2 3 4 5 6 7 8 9 I b J D E F A B C K L G M N O c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB YB GB ZB Q HB IB JB KB LB MB NB OB PB QB RB SB TB UB aB bB R S T"},E:{"2":"I b J D E F A B C K L G oB cB pB qB rB sB dB VB WB tB uB vB"},F:{"1":"NB OB PB QB RB SB TB UB","2":"0 1 2 3 4 5 6 7 8 9 F B C G M N O c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB GB Q HB IB JB KB LB MB wB xB yB zB VB eB 0B WB"},G:{"2":"E cB 1B fB 2B 3B 4B 5B 6B 7B 8B 9B AC BC CC DC EC FC GC HC IC JC"},H:{"2":"KC"},I:{"1":"H","2":"XB I LC MC NC OC fB PC QC"},J:{"2":"D A"},K:{"2":"A B C Q VB eB WB"},L:{"1":"H"},M:{"2":"P"},N:{"2":"A B"},O:{"2":"RC"},P:{"1":"ZC aC","2":"I SC TC UC VC WC dB XC YC"},Q:{"2":"bC"},R:{"2":"cC"},S:{"2":"dC"}},B:7,C:"Trusted Types for DOM manipulation"}; diff --git a/tools/node_modules/@babel/core/node_modules/caniuse-lite/data/features/ttf.js b/tools/node_modules/@babel/core/node_modules/caniuse-lite/data/features/ttf.js new file mode 100644 index 00000000000000..3380ef124adf27 --- /dev/null +++ b/tools/node_modules/@babel/core/node_modules/caniuse-lite/data/features/ttf.js @@ -0,0 +1 @@ +module.exports={A:{A:{"2":"J D E gB","132":"F A B"},B:{"1":"C K L G M N O R S T U V W X Y Z P a H"},C:{"1":"0 1 2 3 4 5 6 7 8 9 I b J D E F A B C K L G M N O c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB YB GB ZB Q HB IB JB KB LB MB NB OB PB QB RB SB TB UB aB bB R S T iB U V W X Y Z P a H jB kB","2":"hB XB"},D:{"1":"0 1 2 3 4 5 6 7 8 9 I b J D E F A B C K L G M N O c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB YB GB ZB Q HB IB JB KB LB MB NB OB PB QB RB SB TB UB aB bB R S T U V W X Y Z P a H lB mB nB"},E:{"1":"I b J D E F A B C K L G oB cB pB qB rB sB dB VB WB tB uB vB"},F:{"1":"0 1 2 3 4 5 6 7 8 9 B C G M N O c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB GB Q HB IB JB KB LB MB NB OB PB QB RB SB TB UB xB yB zB VB eB 0B WB","2":"F wB"},G:{"1":"E fB 2B 3B 4B 5B 6B 7B 8B 9B AC BC CC DC EC FC GC HC IC JC","2":"cB 1B"},H:{"2":"KC"},I:{"1":"XB I H MC NC OC fB PC QC","2":"LC"},J:{"1":"D A"},K:{"1":"A B C Q VB eB WB"},L:{"1":"H"},M:{"1":"P"},N:{"132":"A B"},O:{"1":"RC"},P:{"1":"I SC TC UC VC WC dB XC YC ZC aC"},Q:{"1":"bC"},R:{"1":"cC"},S:{"1":"dC"}},B:6,C:"TTF/OTF - TrueType and OpenType font support"}; diff --git a/tools/node_modules/@babel/core/node_modules/caniuse-lite/data/features/typedarrays.js b/tools/node_modules/@babel/core/node_modules/caniuse-lite/data/features/typedarrays.js new file mode 100644 index 00000000000000..88dfd3f0ba5353 --- /dev/null +++ b/tools/node_modules/@babel/core/node_modules/caniuse-lite/data/features/typedarrays.js @@ -0,0 +1 @@ +module.exports={A:{A:{"1":"B","2":"J D E F gB","132":"A"},B:{"1":"C K L G M N O R S T U V W X Y Z P a H"},C:{"1":"0 1 2 3 4 5 6 7 8 9 I b J D E F A B C K L G M N O c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB YB GB ZB Q HB IB JB KB LB MB NB OB PB QB RB SB TB UB aB bB R S T iB U V W X Y Z P a H","2":"hB XB jB kB"},D:{"1":"0 1 2 3 4 5 6 7 8 9 D E F A B C K L G M N O c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB YB GB ZB Q HB IB JB KB LB MB NB OB PB QB RB SB TB UB aB bB R S T U V W X Y Z P a H lB mB nB","2":"I b J"},E:{"1":"J D E F A B C K L G qB rB sB dB VB WB tB uB vB","2":"I b oB cB","260":"pB"},F:{"1":"0 1 2 3 4 5 6 7 8 9 C G M N O c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB GB Q HB IB JB KB LB MB NB OB PB QB RB SB TB UB 0B WB","2":"F B wB xB yB zB VB eB"},G:{"1":"E 2B 3B 4B 5B 6B 7B 8B 9B AC BC CC DC EC FC GC HC IC JC","2":"cB 1B","260":"fB"},H:{"1":"KC"},I:{"1":"I H OC fB PC QC","2":"XB LC MC NC"},J:{"1":"A","2":"D"},K:{"1":"C Q WB","2":"A B VB eB"},L:{"1":"H"},M:{"1":"P"},N:{"132":"A B"},O:{"1":"RC"},P:{"1":"I SC TC UC VC WC dB XC YC ZC aC"},Q:{"1":"bC"},R:{"1":"cC"},S:{"1":"dC"}},B:6,C:"Typed Arrays"}; diff --git a/tools/node_modules/@babel/core/node_modules/caniuse-lite/data/features/u2f.js b/tools/node_modules/@babel/core/node_modules/caniuse-lite/data/features/u2f.js new file mode 100644 index 00000000000000..468d2d6031d59b --- /dev/null +++ b/tools/node_modules/@babel/core/node_modules/caniuse-lite/data/features/u2f.js @@ -0,0 +1 @@ +module.exports={A:{A:{"2":"J D E F A B gB"},B:{"2":"C K L G M N O","513":"R S T U V W X Y Z P a H"},C:{"1":"LB MB NB OB PB QB RB SB TB UB aB bB R S T iB U V W X Y Z P a H","2":"0 1 2 3 hB XB I b J D E F A B C K L G M N O c d e f g h i j k l m n o p q r s t u v w x y z jB kB","322":"4 5 6 7 8 9 AB BB CB DB EB FB YB GB ZB Q HB IB JB KB"},D:{"2":"I b J D E F A B C K L G M N O c d e f g h i j k l m n o p q r s t u","130":"v w x","513":"0 1 2 3 4 5 6 7 8 9 y z AB BB CB DB EB FB YB GB ZB Q HB IB JB KB LB MB NB OB PB QB RB SB TB UB aB bB R S T U V W X Y Z P a H lB mB nB"},E:{"1":"K L G tB uB vB","2":"I b J D E F A B C oB cB pB qB rB sB dB VB WB"},F:{"2":"F B C G M N O c d e f g h i j k l m n o p q r s t u v w y wB xB yB zB VB eB 0B WB","513":"0 1 2 3 4 5 6 7 8 9 x z AB BB CB DB EB FB GB Q HB IB JB KB LB MB NB OB PB QB RB SB TB UB"},G:{"1":"GC HC IC JC","2":"E cB 1B fB 2B 3B 4B 5B 6B 7B 8B 9B AC BC CC DC EC FC"},H:{"2":"KC"},I:{"2":"XB I H LC MC NC OC fB PC QC"},J:{"2":"D A"},K:{"2":"A B C Q VB eB WB"},L:{"2":"H"},M:{"1":"P"},N:{"2":"A B"},O:{"2":"RC"},P:{"2":"I SC TC UC VC WC dB XC YC ZC aC"},Q:{"2":"bC"},R:{"2":"cC"},S:{"322":"dC"}},B:6,C:"FIDO U2F API"}; diff --git a/tools/node_modules/@babel/core/node_modules/caniuse-lite/data/features/unhandledrejection.js b/tools/node_modules/@babel/core/node_modules/caniuse-lite/data/features/unhandledrejection.js new file mode 100644 index 00000000000000..d9a80420744021 --- /dev/null +++ b/tools/node_modules/@babel/core/node_modules/caniuse-lite/data/features/unhandledrejection.js @@ -0,0 +1 @@ +module.exports={A:{A:{"2":"J D E F A B gB"},B:{"1":"R S T U V W X Y Z P a H","2":"C K L G M N O"},C:{"1":"NB OB PB QB RB SB TB UB aB bB R S T iB U V W X Y Z P a H","2":"0 1 2 3 4 5 6 7 8 9 hB XB I b J D E F A B C K L G M N O c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB YB GB ZB Q HB IB JB KB LB MB jB kB"},D:{"1":"6 7 8 9 AB BB CB DB EB FB YB GB ZB Q HB IB JB KB LB MB NB OB PB QB RB SB TB UB aB bB R S T U V W X Y Z P a H lB mB nB","2":"0 1 2 3 4 5 I b J D E F A B C K L G M N O c d e f g h i j k l m n o p q r s t u v w x y z"},E:{"1":"B C K L G VB WB tB uB vB","2":"I b J D E F A oB cB pB qB rB sB dB"},F:{"1":"0 1 2 3 4 5 6 7 8 9 t u v w x y z AB BB CB DB EB FB GB Q HB IB JB KB LB MB NB OB PB QB RB SB TB UB","2":"F B C G M N O c d e f g h i j k l m n o p q r s wB xB yB zB VB eB 0B WB"},G:{"1":"BC CC DC EC FC GC HC IC JC","2":"E cB 1B fB 2B 3B 4B 5B 6B 7B 8B 9B","16":"AC"},H:{"2":"KC"},I:{"1":"H","2":"XB I LC MC NC OC fB PC QC"},J:{"2":"D A"},K:{"1":"Q","2":"A B C VB eB WB"},L:{"1":"H"},M:{"1":"P"},N:{"2":"A B"},O:{"1":"RC"},P:{"1":"SC TC UC VC WC dB XC YC ZC aC","2":"I"},Q:{"1":"bC"},R:{"2":"cC"},S:{"2":"dC"}},B:1,C:"unhandledrejection/rejectionhandled events"}; diff --git a/tools/node_modules/@babel/core/node_modules/caniuse-lite/data/features/upgradeinsecurerequests.js b/tools/node_modules/@babel/core/node_modules/caniuse-lite/data/features/upgradeinsecurerequests.js new file mode 100644 index 00000000000000..c9723d544afa2b --- /dev/null +++ b/tools/node_modules/@babel/core/node_modules/caniuse-lite/data/features/upgradeinsecurerequests.js @@ -0,0 +1 @@ +module.exports={A:{A:{"2":"J D E F A B gB"},B:{"1":"N O R S T U V W X Y Z P a H","2":"C K L G M"},C:{"1":"0 1 2 3 4 5 6 7 8 9 z AB BB CB DB EB FB YB GB ZB Q HB IB JB KB LB MB NB OB PB QB RB SB TB UB aB bB R S T iB U V W X Y Z P a H","2":"hB XB I b J D E F A B C K L G M N O c d e f g h i j k l m n o p q r s t u v w x y jB kB"},D:{"1":"0 1 2 3 4 5 6 7 8 9 AB BB CB DB EB FB YB GB ZB Q HB IB JB KB LB MB NB OB PB QB RB SB TB UB aB bB R S T U V W X Y Z P a H lB mB nB","2":"I b J D E F A B C K L G M N O c d e f g h i j k l m n o p q r s t u v w x y z"},E:{"1":"B C K L G dB VB WB tB uB vB","2":"I b J D E F A oB cB pB qB rB sB"},F:{"1":"0 1 2 3 4 5 6 7 8 9 n o p q r s t u v w x y z AB BB CB DB EB FB GB Q HB IB JB KB LB MB NB OB PB QB RB SB TB UB","2":"F B C G M N O c d e f g h i j k l m wB xB yB zB VB eB 0B WB"},G:{"1":"9B AC BC CC DC EC FC GC HC IC JC","2":"E cB 1B fB 2B 3B 4B 5B 6B 7B 8B"},H:{"2":"KC"},I:{"1":"H","2":"XB I LC MC NC OC fB PC QC"},J:{"2":"D A"},K:{"1":"Q","2":"A B C VB eB WB"},L:{"1":"H"},M:{"1":"P"},N:{"2":"A B"},O:{"2":"RC"},P:{"1":"I SC TC UC VC WC dB XC YC ZC aC"},Q:{"1":"bC"},R:{"1":"cC"},S:{"1":"dC"}},B:4,C:"Upgrade Insecure Requests"}; diff --git a/tools/node_modules/@babel/core/node_modules/caniuse-lite/data/features/url-scroll-to-text-fragment.js b/tools/node_modules/@babel/core/node_modules/caniuse-lite/data/features/url-scroll-to-text-fragment.js new file mode 100644 index 00000000000000..ad5bac5c4730de --- /dev/null +++ b/tools/node_modules/@babel/core/node_modules/caniuse-lite/data/features/url-scroll-to-text-fragment.js @@ -0,0 +1 @@ +module.exports={A:{A:{"2":"J D E F A B gB"},B:{"1":"U V W X Y Z P a H","2":"C K L G M N O","66":"R S T"},C:{"2":"0 1 2 3 4 5 6 7 8 9 hB XB I b J D E F A B C K L G M N O c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB YB GB ZB Q HB IB JB KB LB MB NB OB PB QB RB SB TB UB aB bB R S T iB U V W X Y Z P a H jB kB"},D:{"1":"T U V W X Y Z P a H lB mB nB","2":"0 1 2 3 4 5 6 7 8 9 I b J D E F A B C K L G M N O c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB YB GB ZB Q HB IB JB KB LB MB NB OB PB QB RB","66":"SB TB UB aB bB R S"},E:{"2":"I b J D E F A B C K L G oB cB pB qB rB sB dB VB WB tB uB vB"},F:{"1":"MB NB OB PB QB RB SB TB UB","2":"0 1 2 3 4 5 6 7 8 9 F B C G M N O c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB GB Q HB IB JB wB xB yB zB VB eB 0B WB","66":"KB LB"},G:{"2":"E cB 1B fB 2B 3B 4B 5B 6B 7B 8B 9B AC BC CC DC EC FC GC HC IC JC"},H:{"2":"KC"},I:{"1":"H","2":"XB I LC MC NC OC fB PC QC"},J:{"2":"D A"},K:{"2":"A B C Q VB eB WB"},L:{"1":"H"},M:{"2":"P"},N:{"2":"A B"},O:{"2":"RC"},P:{"1":"ZC aC","2":"I SC TC UC VC WC dB XC YC"},Q:{"2":"bC"},R:{"2":"cC"},S:{"2":"dC"}},B:7,C:"URL Scroll-To-Text Fragment"}; diff --git a/tools/node_modules/@babel/core/node_modules/caniuse-lite/data/features/url.js b/tools/node_modules/@babel/core/node_modules/caniuse-lite/data/features/url.js new file mode 100644 index 00000000000000..2b295b50a90dca --- /dev/null +++ b/tools/node_modules/@babel/core/node_modules/caniuse-lite/data/features/url.js @@ -0,0 +1 @@ +module.exports={A:{A:{"2":"J D E F A B gB"},B:{"1":"C K L G M N O R S T U V W X Y Z P a H"},C:{"1":"0 1 2 3 4 5 6 7 8 9 j k l m n o p q r s t u v w x y z AB BB CB DB EB FB YB GB ZB Q HB IB JB KB LB MB NB OB PB QB RB SB TB UB aB bB R S T iB U V W X Y Z P a H","2":"hB XB I b J D E F A B C K L G M N O c d e f g h i jB kB"},D:{"1":"0 1 2 3 4 5 6 7 8 9 p q r s t u v w x y z AB BB CB DB EB FB YB GB ZB Q HB IB JB KB LB MB NB OB PB QB RB SB TB UB aB bB R S T U V W X Y Z P a H lB mB nB","2":"I b J D E F A B C K L G M N O c d e f","130":"g h i j k l m n o"},E:{"1":"E F A B C K L G rB sB dB VB WB tB uB vB","2":"I b J oB cB pB qB","130":"D"},F:{"1":"0 1 2 3 4 5 6 7 8 9 c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB GB Q HB IB JB KB LB MB NB OB PB QB RB SB TB UB","2":"F B C wB xB yB zB VB eB 0B WB","130":"G M N O"},G:{"1":"E 5B 6B 7B 8B 9B AC BC CC DC EC FC GC HC IC JC","2":"cB 1B fB 2B 3B","130":"4B"},H:{"2":"KC"},I:{"1":"H QC","2":"XB I LC MC NC OC fB","130":"PC"},J:{"2":"D","130":"A"},K:{"1":"Q","2":"A B C VB eB WB"},L:{"1":"H"},M:{"1":"P"},N:{"2":"A B"},O:{"1":"RC"},P:{"1":"I SC TC UC VC WC dB XC YC ZC aC"},Q:{"1":"bC"},R:{"1":"cC"},S:{"1":"dC"}},B:1,C:"URL API"}; diff --git a/tools/node_modules/@babel/core/node_modules/caniuse-lite/data/features/urlsearchparams.js b/tools/node_modules/@babel/core/node_modules/caniuse-lite/data/features/urlsearchparams.js new file mode 100644 index 00000000000000..4f758a831d1bcc --- /dev/null +++ b/tools/node_modules/@babel/core/node_modules/caniuse-lite/data/features/urlsearchparams.js @@ -0,0 +1 @@ +module.exports={A:{A:{"2":"J D E F A B gB"},B:{"1":"N O R S T U V W X Y Z P a H","2":"C K L G M"},C:{"1":"1 2 3 4 5 6 7 8 9 AB BB CB DB EB FB YB GB ZB Q HB IB JB KB LB MB NB OB PB QB RB SB TB UB aB bB R S T iB U V W X Y Z P a H","2":"hB XB I b J D E F A B C K L G M N O c d e f g h i j k l jB kB","132":"0 m n o p q r s t u v w x y z"},D:{"1":"6 7 8 9 AB BB CB DB EB FB YB GB ZB Q HB IB JB KB LB MB NB OB PB QB RB SB TB UB aB bB R S T U V W X Y Z P a H lB mB nB","2":"0 1 2 3 4 5 I b J D E F A B C K L G M N O c d e f g h i j k l m n o p q r s t u v w x y z"},E:{"1":"B C K L G dB VB WB tB uB vB","2":"I b J D E F A oB cB pB qB rB sB"},F:{"1":"0 1 2 3 4 5 6 7 8 9 t u v w x y z AB BB CB DB EB FB GB Q HB IB JB KB LB MB NB OB PB QB RB SB TB UB","2":"F B C G M N O c d e f g h i j k l m n o p q r s wB xB yB zB VB eB 0B WB"},G:{"1":"9B AC BC CC DC EC FC GC HC IC JC","2":"E cB 1B fB 2B 3B 4B 5B 6B 7B 8B"},H:{"2":"KC"},I:{"1":"H","2":"XB I LC MC NC OC fB PC QC"},J:{"2":"D A"},K:{"1":"Q","2":"A B C VB eB WB"},L:{"1":"H"},M:{"1":"P"},N:{"2":"A B"},O:{"1":"RC"},P:{"1":"SC TC UC VC WC dB XC YC ZC aC","2":"I"},Q:{"1":"bC"},R:{"2":"cC"},S:{"1":"dC"}},B:1,C:"URLSearchParams"}; diff --git a/tools/node_modules/@babel/core/node_modules/caniuse-lite/data/features/use-strict.js b/tools/node_modules/@babel/core/node_modules/caniuse-lite/data/features/use-strict.js new file mode 100644 index 00000000000000..870763f70d30f1 --- /dev/null +++ b/tools/node_modules/@babel/core/node_modules/caniuse-lite/data/features/use-strict.js @@ -0,0 +1 @@ +module.exports={A:{A:{"1":"A B","2":"J D E F gB"},B:{"1":"C K L G M N O R S T U V W X Y Z P a H"},C:{"1":"0 1 2 3 4 5 6 7 8 9 I b J D E F A B C K L G M N O c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB YB GB ZB Q HB IB JB KB LB MB NB OB PB QB RB SB TB UB aB bB R S T iB U V W X Y Z P a H","2":"hB XB jB kB"},D:{"1":"0 1 2 3 4 5 6 7 8 9 K L G M N O c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB YB GB ZB Q HB IB JB KB LB MB NB OB PB QB RB SB TB UB aB bB R S T U V W X Y Z P a H lB mB nB","2":"I b J D E F A B C"},E:{"1":"J D E F A B C K L G qB rB sB dB VB WB tB uB vB","2":"I oB cB","132":"b pB"},F:{"1":"0 1 2 3 4 5 6 7 8 9 C G M N O c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB GB Q HB IB JB KB LB MB NB OB PB QB RB SB TB UB 0B WB","2":"F B wB xB yB zB VB eB"},G:{"1":"E 2B 3B 4B 5B 6B 7B 8B 9B AC BC CC DC EC FC GC HC IC JC","2":"cB 1B fB"},H:{"1":"KC"},I:{"1":"XB I H OC fB PC QC","2":"LC MC NC"},J:{"1":"D A"},K:{"1":"C Q eB WB","2":"A B VB"},L:{"1":"H"},M:{"1":"P"},N:{"1":"A B"},O:{"1":"RC"},P:{"1":"I SC TC UC VC WC dB XC YC ZC aC"},Q:{"1":"bC"},R:{"1":"cC"},S:{"1":"dC"}},B:6,C:"ECMAScript 5 Strict Mode"}; diff --git a/tools/node_modules/@babel/core/node_modules/caniuse-lite/data/features/user-select-none.js b/tools/node_modules/@babel/core/node_modules/caniuse-lite/data/features/user-select-none.js new file mode 100644 index 00000000000000..aa8690bf78c3a9 --- /dev/null +++ b/tools/node_modules/@babel/core/node_modules/caniuse-lite/data/features/user-select-none.js @@ -0,0 +1 @@ +module.exports={A:{A:{"2":"J D E F gB","33":"A B"},B:{"1":"R S T U V W X Y Z P a H","33":"C K L G M N O"},C:{"1":"NB OB PB QB RB SB TB UB aB bB R S T iB U V W X Y Z P a H","33":"0 1 2 3 4 5 6 7 8 9 hB XB I b J D E F A B C K L G M N O c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB YB GB ZB Q HB IB JB KB LB MB jB kB"},D:{"1":"BB CB DB EB FB YB GB ZB Q HB IB JB KB LB MB NB OB PB QB RB SB TB UB aB bB R S T U V W X Y Z P a H lB mB nB","33":"0 1 2 3 4 5 6 7 8 9 I b J D E F A B C K L G M N O c d e f g h i j k l m n o p q r s t u v w x y z AB"},E:{"33":"I b J D E F A B C K L G oB cB pB qB rB sB dB VB WB tB uB vB"},F:{"1":"0 1 2 3 4 5 6 7 8 9 y z AB BB CB DB EB FB GB Q HB IB JB KB LB MB NB OB PB QB RB SB TB UB","2":"F B C wB xB yB zB VB eB 0B WB","33":"G M N O c d e f g h i j k l m n o p q r s t u v w x"},G:{"33":"E cB 1B fB 2B 3B 4B 5B 6B 7B 8B 9B AC BC CC DC EC FC GC HC IC JC"},H:{"2":"KC"},I:{"1":"H","33":"XB I LC MC NC OC fB PC QC"},J:{"33":"D A"},K:{"1":"Q","2":"A B C VB eB WB"},L:{"1":"H"},M:{"1":"P"},N:{"33":"A B"},O:{"2":"RC"},P:{"1":"TC UC VC WC dB XC YC ZC aC","33":"I SC"},Q:{"1":"bC"},R:{"2":"cC"},S:{"33":"dC"}},B:5,C:"CSS user-select: none"}; diff --git a/tools/node_modules/@babel/core/node_modules/caniuse-lite/data/features/user-timing.js b/tools/node_modules/@babel/core/node_modules/caniuse-lite/data/features/user-timing.js new file mode 100644 index 00000000000000..167cc2a524d811 --- /dev/null +++ b/tools/node_modules/@babel/core/node_modules/caniuse-lite/data/features/user-timing.js @@ -0,0 +1 @@ +module.exports={A:{A:{"1":"A B","2":"J D E F gB"},B:{"1":"C K L G M N O R S T U V W X Y Z P a H"},C:{"1":"0 1 2 3 4 5 6 7 8 9 v w x y z AB BB CB DB EB FB YB GB ZB Q HB IB JB KB LB MB NB OB PB QB RB SB TB UB aB bB R S T iB U V W X Y Z P a H","2":"hB XB I b J D E F A B C K L G M N O c d e f g h i j k l m n o p q r s t u jB kB"},D:{"1":"0 1 2 3 4 5 6 7 8 9 i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB YB GB ZB Q HB IB JB KB LB MB NB OB PB QB RB SB TB UB aB bB R S T U V W X Y Z P a H lB mB nB","2":"I b J D E F A B C K L G M N O c d e f g h"},E:{"1":"B C K L G VB WB tB uB vB","2":"I b J D E F A oB cB pB qB rB sB dB"},F:{"1":"0 1 2 3 4 5 6 7 8 9 G M N O c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB GB Q HB IB JB KB LB MB NB OB PB QB RB SB TB UB","2":"F B C wB xB yB zB VB eB 0B WB"},G:{"1":"AC BC CC DC EC FC GC HC IC JC","2":"E cB 1B fB 2B 3B 4B 5B 6B 7B 8B 9B"},H:{"2":"KC"},I:{"1":"H PC QC","2":"XB I LC MC NC OC fB"},J:{"2":"D A"},K:{"1":"Q","2":"A B C VB eB WB"},L:{"1":"H"},M:{"1":"P"},N:{"1":"A B"},O:{"1":"RC"},P:{"1":"I SC TC UC VC WC dB XC YC ZC aC"},Q:{"1":"bC"},R:{"1":"cC"},S:{"1":"dC"}},B:2,C:"User Timing API"}; diff --git a/tools/node_modules/@babel/core/node_modules/caniuse-lite/data/features/variable-fonts.js b/tools/node_modules/@babel/core/node_modules/caniuse-lite/data/features/variable-fonts.js new file mode 100644 index 00000000000000..75a46f7589aa94 --- /dev/null +++ b/tools/node_modules/@babel/core/node_modules/caniuse-lite/data/features/variable-fonts.js @@ -0,0 +1 @@ +module.exports={A:{A:{"2":"J D E F A B gB"},B:{"1":"N O R S T U V W X Y Z P a H","2":"C K L G M"},C:{"2":"0 1 2 3 4 5 6 7 8 9 hB XB I b J D E F A B C K L G M N O c d e f g h i j k l m n o p q r s t u v w x y z jB kB","4609":"Q HB IB JB KB LB MB NB OB PB QB RB SB TB UB aB bB R S T iB U V W X Y Z P a H","4674":"ZB","5698":"GB","7490":"AB BB CB DB EB","7746":"FB YB"},D:{"1":"LB MB NB OB PB QB RB SB TB UB aB bB R S T U V W X Y Z P a H lB mB nB","2":"0 1 2 3 4 5 6 7 8 9 I b J D E F A B C K L G M N O c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB","4097":"KB","4290":"YB GB ZB","6148":"Q HB IB JB"},E:{"1":"G vB","2":"I b J D E F A oB cB pB qB rB sB dB","4609":"B C VB WB","8193":"K L tB uB"},F:{"1":"BB CB DB EB FB GB Q HB IB JB KB LB MB NB OB PB QB RB SB TB UB","2":"0 1 2 3 4 5 F B C G M N O c d e f g h i j k l m n o p q r s t u v w x y z wB xB yB zB VB eB 0B WB","4097":"AB","6148":"6 7 8 9"},G:{"1":"EC FC GC HC IC JC","2":"E cB 1B fB 2B 3B 4B 5B 6B 7B 8B 9B","4097":"AC BC CC DC"},H:{"2":"KC"},I:{"1":"H","2":"XB I LC MC NC OC fB PC QC"},J:{"2":"D A"},K:{"1":"Q","2":"A B C VB eB WB"},L:{"1":"H"},M:{"4097":"P"},N:{"2":"A B"},O:{"2":"RC"},P:{"2":"I SC TC UC","4097":"VC WC dB XC YC ZC aC"},Q:{"4097":"bC"},R:{"2":"cC"},S:{"2":"dC"}},B:5,C:"Variable fonts"}; diff --git a/tools/node_modules/@babel/core/node_modules/caniuse-lite/data/features/vector-effect.js b/tools/node_modules/@babel/core/node_modules/caniuse-lite/data/features/vector-effect.js new file mode 100644 index 00000000000000..72d13fc864411c --- /dev/null +++ b/tools/node_modules/@babel/core/node_modules/caniuse-lite/data/features/vector-effect.js @@ -0,0 +1 @@ +module.exports={A:{A:{"2":"J D E F A B gB"},B:{"1":"R S T U V W X Y Z P a H","2":"C K L G M N O"},C:{"1":"0 1 2 3 4 5 6 7 8 9 G M N O c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB YB GB ZB Q HB IB JB KB LB MB NB OB PB QB RB SB TB UB aB bB R S T iB U V W X Y Z P a H","2":"hB XB I b J D E F A B C K L jB kB"},D:{"1":"0 1 2 3 4 5 6 7 8 9 G M N O c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB YB GB ZB Q HB IB JB KB LB MB NB OB PB QB RB SB TB UB aB bB R S T U V W X Y Z P a H lB mB nB","16":"I b J D E F A B C K L"},E:{"1":"J D E F A B C K L G pB qB rB sB dB VB WB tB uB vB","2":"I b oB cB"},F:{"1":"0 1 2 3 4 5 6 7 8 9 C G M N O c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB GB Q HB IB JB KB LB MB NB OB PB QB RB SB TB UB 0B WB","2":"F B wB xB yB zB VB eB"},G:{"1":"E 2B 3B 4B 5B 6B 7B 8B 9B AC BC CC DC EC FC GC HC IC JC","16":"cB 1B fB"},H:{"1":"KC"},I:{"1":"H PC QC","16":"XB I LC MC NC OC fB"},J:{"16":"D A"},K:{"1":"C Q WB","2":"A B VB eB"},L:{"1":"H"},M:{"1":"P"},N:{"2":"A B"},O:{"1":"RC"},P:{"1":"I SC TC UC VC WC dB XC YC ZC aC"},Q:{"1":"bC"},R:{"1":"cC"},S:{"1":"dC"}},B:4,C:"SVG vector-effect: non-scaling-stroke"}; diff --git a/tools/node_modules/@babel/core/node_modules/caniuse-lite/data/features/vibration.js b/tools/node_modules/@babel/core/node_modules/caniuse-lite/data/features/vibration.js new file mode 100644 index 00000000000000..afc32ab9ccc122 --- /dev/null +++ b/tools/node_modules/@babel/core/node_modules/caniuse-lite/data/features/vibration.js @@ -0,0 +1 @@ +module.exports={A:{A:{"2":"J D E F A B gB"},B:{"1":"R S T U V W X Y Z P a H","2":"C K L G M N O"},C:{"1":"0 1 2 3 4 5 6 7 8 9 M N O c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB YB GB ZB Q HB IB JB KB LB MB NB OB PB QB RB SB TB UB aB bB R S T iB U V W X Y Z P a H","2":"hB XB I b J D E F A jB kB","33":"B C K L G"},D:{"1":"0 1 2 3 4 5 6 7 8 9 n o p q r s t u v w x y z AB BB CB DB EB FB YB GB ZB Q HB IB JB KB LB MB NB OB PB QB RB SB TB UB aB bB R S T U V W X Y Z P a H lB mB nB","2":"I b J D E F A B C K L G M N O c d e f g h i j k l m"},E:{"2":"I b J D E F A B C K L G oB cB pB qB rB sB dB VB WB tB uB vB"},F:{"1":"0 1 2 3 4 5 6 7 8 9 N O c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB GB Q HB IB JB KB LB MB NB OB PB QB RB SB TB UB","2":"F B C G M wB xB yB zB VB eB 0B WB"},G:{"2":"E cB 1B fB 2B 3B 4B 5B 6B 7B 8B 9B AC BC CC DC EC FC GC HC IC JC"},H:{"2":"KC"},I:{"1":"H PC QC","2":"XB I LC MC NC OC fB"},J:{"1":"A","2":"D"},K:{"1":"Q","2":"A B C VB eB WB"},L:{"1":"H"},M:{"1":"P"},N:{"2":"A B"},O:{"1":"RC"},P:{"1":"I SC TC UC VC WC dB XC YC ZC aC"},Q:{"1":"bC"},R:{"1":"cC"},S:{"1":"dC"}},B:2,C:"Vibration API"}; diff --git a/tools/node_modules/@babel/core/node_modules/caniuse-lite/data/features/video.js b/tools/node_modules/@babel/core/node_modules/caniuse-lite/data/features/video.js new file mode 100644 index 00000000000000..7897dfba5ce39e --- /dev/null +++ b/tools/node_modules/@babel/core/node_modules/caniuse-lite/data/features/video.js @@ -0,0 +1 @@ +module.exports={A:{A:{"1":"F A B","2":"J D E gB"},B:{"1":"C K L G M N O R S T U V W X Y Z P a H"},C:{"1":"0 1 2 3 4 5 6 7 8 9 d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB YB GB ZB Q HB IB JB KB LB MB NB OB PB QB RB SB TB UB aB bB R S T iB U V W X Y Z P a H","2":"hB XB","260":"I b J D E F A B C K L G M N O c jB kB"},D:{"1":"0 1 2 3 4 5 6 7 8 9 I b J D E F A B C K L G M N O c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB YB GB ZB Q HB IB JB KB LB MB NB OB PB QB RB SB TB UB aB bB R S T U V W X Y Z P a H lB mB nB"},E:{"1":"I b J D E F A pB qB rB sB dB","2":"oB cB","513":"B C K L G VB WB tB uB vB"},F:{"1":"0 1 2 3 4 5 6 7 8 9 B C G M N O c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB GB Q HB IB JB KB LB MB NB OB PB QB RB SB TB UB yB zB VB eB 0B WB","2":"F wB xB"},G:{"1":"E cB 1B fB 2B 3B 4B 5B 6B 7B 8B 9B","513":"AC BC CC DC EC FC GC HC IC JC"},H:{"2":"KC"},I:{"1":"XB I H NC OC fB PC QC","132":"LC MC"},J:{"1":"D A"},K:{"1":"B C Q VB eB WB","2":"A"},L:{"1":"H"},M:{"1":"P"},N:{"1":"A B"},O:{"1":"RC"},P:{"1":"I SC TC UC VC WC dB XC YC ZC aC"},Q:{"1":"bC"},R:{"1":"cC"},S:{"1":"dC"}},B:1,C:"Video element"}; diff --git a/tools/node_modules/@babel/core/node_modules/caniuse-lite/data/features/videotracks.js b/tools/node_modules/@babel/core/node_modules/caniuse-lite/data/features/videotracks.js new file mode 100644 index 00000000000000..0d9fbc02c7e56d --- /dev/null +++ b/tools/node_modules/@babel/core/node_modules/caniuse-lite/data/features/videotracks.js @@ -0,0 +1 @@ +module.exports={A:{A:{"2":"J D E F A B gB"},B:{"1":"C K L G M N O","322":"R S T U V W X Y Z P a H"},C:{"2":"hB XB I b J D E F A B C K L G M N O c d e f g h i j k l m n o p jB kB","194":"0 1 2 3 4 5 6 7 8 9 q r s t u v w x y z AB BB CB DB EB FB YB GB ZB Q HB IB JB KB LB MB NB OB PB QB RB SB TB UB aB bB R S T iB U V W X Y Z P a H"},D:{"2":"0 1 I b J D E F A B C K L G M N O c d e f g h i j k l m n o p q r s t u v w x y z","322":"2 3 4 5 6 7 8 9 AB BB CB DB EB FB YB GB ZB Q HB IB JB KB LB MB NB OB PB QB RB SB TB UB aB bB R S T U V W X Y Z P a H lB mB nB"},E:{"1":"D E F A B C K L G qB rB sB dB VB WB tB uB vB","2":"I b J oB cB pB"},F:{"2":"F B C G M N O c d e f g h i j k l m n o wB xB yB zB VB eB 0B WB","322":"0 1 2 3 4 5 6 7 8 9 p q r s t u v w x y z AB BB CB DB EB FB GB Q HB IB JB KB LB MB NB OB PB QB RB SB TB UB"},G:{"1":"E 4B 5B 6B 7B 8B 9B AC BC CC DC EC FC GC HC IC JC","2":"cB 1B fB 2B 3B"},H:{"2":"KC"},I:{"2":"XB I H LC MC NC OC fB PC QC"},J:{"2":"D A"},K:{"2":"A B C VB eB WB","322":"Q"},L:{"322":"H"},M:{"2":"P"},N:{"2":"A B"},O:{"2":"RC"},P:{"2":"I SC TC UC VC WC dB XC YC ZC aC"},Q:{"2":"bC"},R:{"2":"cC"},S:{"194":"dC"}},B:1,C:"Video Tracks"}; diff --git a/tools/node_modules/@babel/core/node_modules/caniuse-lite/data/features/viewport-units.js b/tools/node_modules/@babel/core/node_modules/caniuse-lite/data/features/viewport-units.js new file mode 100644 index 00000000000000..6d837ccad621bf --- /dev/null +++ b/tools/node_modules/@babel/core/node_modules/caniuse-lite/data/features/viewport-units.js @@ -0,0 +1 @@ +module.exports={A:{A:{"2":"J D E gB","132":"F","260":"A B"},B:{"1":"M N O R S T U V W X Y Z P a H","260":"C K L G"},C:{"1":"0 1 2 3 4 5 6 7 8 9 c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB YB GB ZB Q HB IB JB KB LB MB NB OB PB QB RB SB TB UB aB bB R S T iB U V W X Y Z P a H","2":"hB XB I b J D E F A B C K L G M N O jB kB"},D:{"1":"0 1 2 3 4 5 6 7 8 9 j k l m n o p q r s t u v w x y z AB BB CB DB EB FB YB GB ZB Q HB IB JB KB LB MB NB OB PB QB RB SB TB UB aB bB R S T U V W X Y Z P a H lB mB nB","2":"I b J D E F A B C K L G M N O c","260":"d e f g h i"},E:{"1":"D E F A B C K L G qB rB sB dB VB WB tB uB vB","2":"I b oB cB pB","260":"J"},F:{"1":"0 1 2 3 4 5 6 7 8 9 G M N O c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB GB Q HB IB JB KB LB MB NB OB PB QB RB SB TB UB","2":"F B C wB xB yB zB VB eB 0B WB"},G:{"1":"E 5B 6B 7B 8B 9B AC BC CC DC EC FC GC HC IC JC","2":"cB 1B fB 2B","516":"4B","772":"3B"},H:{"2":"KC"},I:{"1":"H PC QC","2":"XB I LC MC NC OC fB"},J:{"1":"A","2":"D"},K:{"1":"Q","2":"A B C VB eB WB"},L:{"1":"H"},M:{"1":"P"},N:{"260":"A B"},O:{"1":"RC"},P:{"1":"I SC TC UC VC WC dB XC YC ZC aC"},Q:{"1":"bC"},R:{"1":"cC"},S:{"1":"dC"}},B:4,C:"Viewport units: vw, vh, vmin, vmax"}; diff --git a/tools/node_modules/@babel/core/node_modules/caniuse-lite/data/features/wai-aria.js b/tools/node_modules/@babel/core/node_modules/caniuse-lite/data/features/wai-aria.js new file mode 100644 index 00000000000000..0f438fe394f790 --- /dev/null +++ b/tools/node_modules/@babel/core/node_modules/caniuse-lite/data/features/wai-aria.js @@ -0,0 +1 @@ +module.exports={A:{A:{"2":"J D gB","4":"E F A B"},B:{"4":"C K L G M N O R S T U V W X Y Z P a H"},C:{"4":"0 1 2 3 4 5 6 7 8 9 hB XB I b J D E F A B C K L G M N O c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB YB GB ZB Q HB IB JB KB LB MB NB OB PB QB RB SB TB UB aB bB R S T iB U V W X Y Z P a H jB kB"},D:{"4":"0 1 2 3 4 5 6 7 8 9 I b J D E F A B C K L G M N O c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB YB GB ZB Q HB IB JB KB LB MB NB OB PB QB RB SB TB UB aB bB R S T U V W X Y Z P a H lB mB nB"},E:{"2":"oB cB","4":"I b J D E F A B C K L G pB qB rB sB dB VB WB tB uB vB"},F:{"2":"F","4":"0 1 2 3 4 5 6 7 8 9 B C G M N O c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB GB Q HB IB JB KB LB MB NB OB PB QB RB SB TB UB wB xB yB zB VB eB 0B WB"},G:{"4":"E cB 1B fB 2B 3B 4B 5B 6B 7B 8B 9B AC BC CC DC EC FC GC HC IC JC"},H:{"4":"KC"},I:{"2":"XB I LC MC NC OC fB","4":"H PC QC"},J:{"2":"D A"},K:{"4":"A B C Q VB eB WB"},L:{"4":"H"},M:{"4":"P"},N:{"4":"A B"},O:{"2":"RC"},P:{"4":"I SC TC UC VC WC dB XC YC ZC aC"},Q:{"4":"bC"},R:{"4":"cC"},S:{"4":"dC"}},B:2,C:"WAI-ARIA Accessibility features"}; diff --git a/tools/node_modules/@babel/core/node_modules/caniuse-lite/data/features/wake-lock.js b/tools/node_modules/@babel/core/node_modules/caniuse-lite/data/features/wake-lock.js new file mode 100644 index 00000000000000..c9ed8f29630329 --- /dev/null +++ b/tools/node_modules/@babel/core/node_modules/caniuse-lite/data/features/wake-lock.js @@ -0,0 +1 @@ +module.exports={A:{A:{"2":"J D E F A B gB"},B:{"1":"a H","2":"C K L G M N O","194":"R S T U V W X Y Z P"},C:{"2":"0 1 2 3 4 5 6 7 8 9 hB XB I b J D E F A B C K L G M N O c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB YB GB ZB Q HB IB JB KB LB MB NB OB PB QB RB SB TB UB aB bB R S T iB U V W X Y Z P a H jB kB"},D:{"1":"W X Y Z P a H lB mB nB","2":"0 1 2 3 4 5 6 7 8 9 I b J D E F A B C K L G M N O c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB YB GB ZB Q HB IB JB KB LB MB NB OB","194":"PB QB RB SB TB UB aB bB R S T U V"},E:{"2":"I b J D E F A B C K L G oB cB pB qB rB sB dB VB WB tB uB vB"},F:{"1":"RB SB TB UB","2":"0 1 2 3 4 5 6 7 8 9 F B C G M N O c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB wB xB yB zB VB eB 0B WB","194":"FB GB Q HB IB JB KB LB MB NB OB PB QB"},G:{"2":"E cB 1B fB 2B 3B 4B 5B 6B 7B 8B 9B AC BC CC DC EC FC GC HC IC JC"},H:{"2":"KC"},I:{"1":"H","2":"XB I LC MC NC OC fB PC QC"},J:{"2":"D A"},K:{"2":"A B C Q VB eB WB"},L:{"1":"H"},M:{"2":"P"},N:{"2":"A B"},O:{"2":"RC"},P:{"1":"aC","2":"I SC TC UC VC WC dB XC YC ZC"},Q:{"2":"bC"},R:{"2":"cC"},S:{"2":"dC"}},B:4,C:"Screen Wake Lock API"}; diff --git a/tools/node_modules/@babel/core/node_modules/caniuse-lite/data/features/wasm.js b/tools/node_modules/@babel/core/node_modules/caniuse-lite/data/features/wasm.js new file mode 100644 index 00000000000000..5f968134634f4d --- /dev/null +++ b/tools/node_modules/@babel/core/node_modules/caniuse-lite/data/features/wasm.js @@ -0,0 +1 @@ +module.exports={A:{A:{"2":"J D E F A B gB"},B:{"1":"M N O R S T U V W X Y Z P a H","2":"C K L","578":"G"},C:{"1":"AB BB CB DB EB FB YB GB ZB Q HB IB JB KB LB MB NB OB PB QB RB SB TB UB aB bB R S T iB U V W X Y Z P a H","2":"0 1 2 3 hB XB I b J D E F A B C K L G M N O c d e f g h i j k l m n o p q r s t u v w x y z jB kB","194":"4 5 6 7 8","1025":"9"},D:{"1":"EB FB YB GB ZB Q HB IB JB KB LB MB NB OB PB QB RB SB TB UB aB bB R S T U V W X Y Z P a H lB mB nB","2":"0 1 2 3 4 5 6 7 I b J D E F A B C K L G M N O c d e f g h i j k l m n o p q r s t u v w x y z","322":"8 9 AB BB CB DB"},E:{"1":"B C K L G VB WB tB uB vB","2":"I b J D E F A oB cB pB qB rB sB dB"},F:{"1":"1 2 3 4 5 6 7 8 9 AB BB CB DB EB FB GB Q HB IB JB KB LB MB NB OB PB QB RB SB TB UB","2":"F B C G M N O c d e f g h i j k l m n o p q r s t u wB xB yB zB VB eB 0B WB","322":"0 v w x y z"},G:{"1":"AC BC CC DC EC FC GC HC IC JC","2":"E cB 1B fB 2B 3B 4B 5B 6B 7B 8B 9B"},H:{"2":"KC"},I:{"1":"H","2":"XB I LC MC NC OC fB PC QC"},J:{"2":"D A"},K:{"1":"Q","2":"A B C VB eB WB"},L:{"1":"H"},M:{"1":"P"},N:{"2":"A B"},O:{"2":"RC"},P:{"1":"UC VC WC dB XC YC ZC aC","2":"I SC TC"},Q:{"1":"bC"},R:{"2":"cC"},S:{"194":"dC"}},B:6,C:"WebAssembly"}; diff --git a/tools/node_modules/@babel/core/node_modules/caniuse-lite/data/features/wav.js b/tools/node_modules/@babel/core/node_modules/caniuse-lite/data/features/wav.js new file mode 100644 index 00000000000000..f0a95dc5356935 --- /dev/null +++ b/tools/node_modules/@babel/core/node_modules/caniuse-lite/data/features/wav.js @@ -0,0 +1 @@ +module.exports={A:{A:{"2":"J D E F A B gB"},B:{"1":"C K L G M N O R S T U V W X Y Z P a H"},C:{"1":"0 1 2 3 4 5 6 7 8 9 I b J D E F A B C K L G M N O c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB YB GB ZB Q HB IB JB KB LB MB NB OB PB QB RB SB TB UB aB bB R S T iB U V W X Y Z P a H jB kB","2":"hB XB"},D:{"1":"0 1 2 3 4 5 6 7 8 9 E F A B C K L G M N O c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB YB GB ZB Q HB IB JB KB LB MB NB OB PB QB RB SB TB UB aB bB R S T U V W X Y Z P a H lB mB nB","2":"I b J D"},E:{"1":"I b J D E F A B C K L G pB qB rB sB dB VB WB tB uB vB","2":"oB cB"},F:{"1":"0 1 2 3 4 5 6 7 8 9 B C G M N O c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB GB Q HB IB JB KB LB MB NB OB PB QB RB SB TB UB yB zB VB eB 0B WB","2":"F wB xB"},G:{"1":"E cB 1B fB 2B 3B 4B 5B 6B 7B 8B 9B AC BC CC DC EC FC GC HC IC JC"},H:{"2":"KC"},I:{"1":"XB I H NC OC fB PC QC","16":"LC MC"},J:{"1":"D A"},K:{"1":"B C Q VB eB WB","16":"A"},L:{"1":"H"},M:{"1":"P"},N:{"2":"A B"},O:{"1":"RC"},P:{"1":"I SC TC UC VC WC dB XC YC ZC aC"},Q:{"1":"bC"},R:{"1":"cC"},S:{"1":"dC"}},B:6,C:"Wav audio format"}; diff --git a/tools/node_modules/@babel/core/node_modules/caniuse-lite/data/features/wbr-element.js b/tools/node_modules/@babel/core/node_modules/caniuse-lite/data/features/wbr-element.js new file mode 100644 index 00000000000000..96a5380b84d712 --- /dev/null +++ b/tools/node_modules/@babel/core/node_modules/caniuse-lite/data/features/wbr-element.js @@ -0,0 +1 @@ +module.exports={A:{A:{"1":"J D gB","2":"E F A B"},B:{"1":"C K L G M N O R S T U V W X Y Z P a H"},C:{"1":"0 1 2 3 4 5 6 7 8 9 hB XB I b J D E F A B C K L G M N O c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB YB GB ZB Q HB IB JB KB LB MB NB OB PB QB RB SB TB UB aB bB R S T iB U V W X Y Z P a H jB kB"},D:{"1":"0 1 2 3 4 5 6 7 8 9 I b J D E F A B C K L G M N O c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB YB GB ZB Q HB IB JB KB LB MB NB OB PB QB RB SB TB UB aB bB R S T U V W X Y Z P a H lB mB nB"},E:{"1":"I b J D E F A B C K L G cB pB qB rB sB dB VB WB tB uB vB","16":"oB"},F:{"1":"0 1 2 3 4 5 6 7 8 9 B C G M N O c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB GB Q HB IB JB KB LB MB NB OB PB QB RB SB TB UB wB xB yB zB VB eB 0B WB","16":"F"},G:{"1":"E 2B 3B 4B 5B 6B 7B 8B 9B AC BC CC DC EC FC GC HC IC JC","16":"cB 1B fB"},H:{"1":"KC"},I:{"1":"XB I H NC OC fB PC QC","16":"LC MC"},J:{"1":"D A"},K:{"1":"B C Q VB eB WB","2":"A"},L:{"1":"H"},M:{"1":"P"},N:{"2":"A B"},O:{"1":"RC"},P:{"1":"I SC TC UC VC WC dB XC YC ZC aC"},Q:{"1":"bC"},R:{"1":"cC"},S:{"1":"dC"}},B:1,C:"wbr (word break opportunity) element"}; diff --git a/tools/node_modules/@babel/core/node_modules/caniuse-lite/data/features/web-animation.js b/tools/node_modules/@babel/core/node_modules/caniuse-lite/data/features/web-animation.js new file mode 100644 index 00000000000000..20f59396c577a4 --- /dev/null +++ b/tools/node_modules/@babel/core/node_modules/caniuse-lite/data/features/web-animation.js @@ -0,0 +1 @@ +module.exports={A:{A:{"2":"J D E F A B gB"},B:{"1":"V W X Y Z P a H","2":"C K L G M N O","260":"R S T U"},C:{"1":"T iB U V W X Y Z P a H","2":"hB XB I b J D E F A B C K L G M N O c d e f g h i j k l m n o p jB kB","260":"YB GB ZB Q HB IB JB KB LB MB NB OB PB QB RB SB","516":"4 5 6 7 8 9 AB BB CB DB EB FB","580":"0 1 2 3 q r s t u v w x y z","2049":"TB UB aB bB R S"},D:{"1":"V W X Y Z P a H lB mB nB","2":"I b J D E F A B C K L G M N O c d e f g h i j k l m n o p q r s","132":"t u v","260":"0 1 2 3 4 5 6 7 8 9 w x y z AB BB CB DB EB FB YB GB ZB Q HB IB JB KB LB MB NB OB PB QB RB SB TB UB aB bB R S T U"},E:{"1":"G vB","2":"I b J D E F A oB cB pB qB rB sB dB","1090":"B C K VB WB","2049":"L tB uB"},F:{"1":"PB QB RB SB TB UB","2":"F B C G M N O c d e f wB xB yB zB VB eB 0B WB","132":"g h i","260":"0 1 2 3 4 5 6 7 8 9 j k l m n o p q r s t u v w x y z AB BB CB DB EB FB GB Q HB IB JB KB LB MB NB OB"},G:{"2":"E cB 1B fB 2B 3B 4B 5B 6B 7B 8B 9B","1090":"AC BC CC DC EC FC GC","2049":"HC IC JC"},H:{"2":"KC"},I:{"1":"H","2":"XB I LC MC NC OC fB PC QC"},J:{"2":"D A"},K:{"1":"Q","2":"A B C VB eB WB"},L:{"1":"H"},M:{"1":"P"},N:{"2":"A B"},O:{"260":"RC"},P:{"260":"I SC TC UC VC WC dB XC YC ZC aC"},Q:{"260":"bC"},R:{"260":"cC"},S:{"516":"dC"}},B:5,C:"Web Animations API"}; diff --git a/tools/node_modules/@babel/core/node_modules/caniuse-lite/data/features/web-app-manifest.js b/tools/node_modules/@babel/core/node_modules/caniuse-lite/data/features/web-app-manifest.js new file mode 100644 index 00000000000000..65900247244124 --- /dev/null +++ b/tools/node_modules/@babel/core/node_modules/caniuse-lite/data/features/web-app-manifest.js @@ -0,0 +1 @@ +module.exports={A:{A:{"2":"J D E F A B gB"},B:{"1":"R S T U V W X Y Z P a H","2":"C K L G M","130":"N O"},C:{"2":"0 1 2 3 4 5 6 7 8 9 hB XB I b J D E F A B C K L G M N O c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB YB GB ZB Q HB IB JB KB LB MB NB OB PB QB RB SB TB X Y Z P a H jB kB","578":"UB aB bB R S T iB U V W"},D:{"1":"0 1 2 3 4 5 6 7 8 9 w x y z AB BB CB DB EB FB YB GB ZB Q HB IB JB KB LB MB NB OB PB QB RB SB TB UB aB bB R S T U V W X Y Z P a H lB mB nB","2":"I b J D E F A B C K L G M N O c d e f g h i j k l m n o p q r s t u v"},E:{"2":"I b J D E F A B C K L G oB cB pB qB rB sB dB VB WB tB uB vB"},F:{"2":"0 1 2 3 4 5 6 7 8 9 F B C G M N O c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB GB Q HB IB JB KB LB MB NB OB PB QB RB SB TB UB wB xB yB zB VB eB 0B WB"},G:{"2":"E cB 1B fB 2B 3B 4B 5B 6B 7B 8B 9B AC","260":"BC CC DC EC FC GC HC IC JC"},H:{"2":"KC"},I:{"1":"H","2":"XB I LC MC NC OC fB PC QC"},J:{"2":"D A"},K:{"1":"Q","2":"A B C VB eB WB"},L:{"1":"H"},M:{"1":"P"},N:{"2":"A B"},O:{"1":"RC"},P:{"1":"I SC TC UC VC WC dB XC YC ZC aC"},Q:{"1":"bC"},R:{"1":"cC"},S:{"2":"dC"}},B:5,C:"Add to home screen (A2HS)"}; diff --git a/tools/node_modules/@babel/core/node_modules/caniuse-lite/data/features/web-bluetooth.js b/tools/node_modules/@babel/core/node_modules/caniuse-lite/data/features/web-bluetooth.js new file mode 100644 index 00000000000000..27eb5a05be707b --- /dev/null +++ b/tools/node_modules/@babel/core/node_modules/caniuse-lite/data/features/web-bluetooth.js @@ -0,0 +1 @@ +module.exports={A:{A:{"2":"J D E F A B gB"},B:{"2":"C K L G M N O","1025":"R S T U V W X Y Z P a H"},C:{"2":"0 1 2 3 4 5 6 7 8 9 hB XB I b J D E F A B C K L G M N O c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB YB GB ZB Q HB IB JB KB LB MB NB OB PB QB RB SB TB UB aB bB R S T iB U V W X Y Z P a H jB kB"},D:{"2":"0 1 I b J D E F A B C K L G M N O c d e f g h i j k l m n o p q r s t u v w x y z","194":"2 3 4 5 6 7 8 9","706":"AB BB CB","1025":"DB EB FB YB GB ZB Q HB IB JB KB LB MB NB OB PB QB RB SB TB UB aB bB R S T U V W X Y Z P a H lB mB nB"},E:{"2":"I b J D E F A B C K L G oB cB pB qB rB sB dB VB WB tB uB vB"},F:{"2":"F B C G M N O c d e f g h i j k l m n o p q r s wB xB yB zB VB eB 0B WB","450":"t u v w","706":"x y z","1025":"0 1 2 3 4 5 6 7 8 9 AB BB CB DB EB FB GB Q HB IB JB KB LB MB NB OB PB QB RB SB TB UB"},G:{"2":"E cB 1B fB 2B 3B 4B 5B 6B 7B 8B 9B AC BC CC DC EC FC GC HC IC JC"},H:{"2":"KC"},I:{"2":"XB I LC MC NC OC fB PC QC","1025":"H"},J:{"2":"D A"},K:{"2":"A B C Q VB eB WB"},L:{"1025":"H"},M:{"2":"P"},N:{"2":"A B"},O:{"2":"RC"},P:{"1":"TC UC VC WC dB XC YC ZC aC","2":"I SC"},Q:{"2":"bC"},R:{"2":"cC"},S:{"2":"dC"}},B:7,C:"Web Bluetooth"}; diff --git a/tools/node_modules/@babel/core/node_modules/caniuse-lite/data/features/web-serial.js b/tools/node_modules/@babel/core/node_modules/caniuse-lite/data/features/web-serial.js new file mode 100644 index 00000000000000..94fde78f4d80da --- /dev/null +++ b/tools/node_modules/@babel/core/node_modules/caniuse-lite/data/features/web-serial.js @@ -0,0 +1 @@ +module.exports={A:{A:{"2":"J D E F A B gB"},B:{"1":"P a H","2":"C K L G M N O","66":"R S T U V W X Y Z"},C:{"2":"0 1 2 3 4 5 6 7 8 9 hB XB I b J D E F A B C K L G M N O c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB YB GB ZB Q HB IB JB KB LB MB NB OB PB QB RB SB TB UB aB bB R S T iB U V W X Y Z P a H jB kB"},D:{"1":"P a H lB mB nB","2":"0 1 2 3 4 5 6 7 8 9 I b J D E F A B C K L G M N O c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB YB GB ZB Q HB IB JB KB LB MB NB OB PB QB RB SB TB UB aB","66":"bB R S T U V W X Y Z"},E:{"2":"I b J D E F A B C K L G oB cB pB qB rB sB dB VB WB tB uB vB"},F:{"1":"UB","2":"0 1 2 3 4 5 6 7 8 9 F B C G M N O c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB GB Q HB IB wB xB yB zB VB eB 0B WB","66":"JB KB LB MB NB OB PB QB RB SB TB"},G:{"2":"E cB 1B fB 2B 3B 4B 5B 6B 7B 8B 9B AC BC CC DC EC FC GC HC IC JC"},H:{"2":"KC"},I:{"2":"XB I H LC MC NC OC fB PC QC"},J:{"2":"D A"},K:{"2":"A B C Q VB eB WB"},L:{"2":"H"},M:{"2":"P"},N:{"2":"A B"},O:{"2":"RC"},P:{"2":"I SC TC UC VC WC dB XC YC ZC aC"},Q:{"2":"bC"},R:{"2":"cC"},S:{"2":"dC"}},B:7,C:"Web Serial API"}; diff --git a/tools/node_modules/@babel/core/node_modules/caniuse-lite/data/features/web-share.js b/tools/node_modules/@babel/core/node_modules/caniuse-lite/data/features/web-share.js new file mode 100644 index 00000000000000..7b9dccad5aa3a1 --- /dev/null +++ b/tools/node_modules/@babel/core/node_modules/caniuse-lite/data/features/web-share.js @@ -0,0 +1 @@ +module.exports={A:{A:{"2":"J D E F A B gB"},B:{"2":"C K L G M N O R S","516":"T U V W X Y Z P a H"},C:{"2":"0 1 2 3 4 5 6 7 8 9 hB XB I b J D E F A B C K L G M N O c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB YB GB ZB Q HB IB JB KB LB MB NB OB PB QB RB SB TB UB aB bB R S T iB U V W X Y Z P a H jB kB"},D:{"2":"0 1 2 3 4 5 6 7 8 9 I b J D E F A B C K L G M N i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB YB GB ZB Q HB IB JB KB LB MB NB OB PB QB RB SB TB UB aB bB R S T U V W X Y Z","130":"O c d e f g h","1028":"P a H lB mB nB"},E:{"1":"L G uB vB","2":"I b J D E F A B C oB cB pB qB rB sB dB VB","2049":"K WB tB"},F:{"2":"0 1 2 3 4 5 6 7 8 9 F B C G M N O c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB GB Q HB IB JB KB LB MB NB OB PB QB RB SB TB UB wB xB yB zB VB eB 0B WB"},G:{"1":"IC JC","2":"E cB 1B fB 2B 3B 4B 5B 6B 7B 8B 9B AC BC CC","2049":"DC EC FC GC HC"},H:{"2":"KC"},I:{"2":"XB I LC MC NC OC fB PC","258":"H QC"},J:{"2":"D A"},K:{"2":"A B C Q VB eB WB"},L:{"1":"H"},M:{"1":"P"},N:{"2":"A B"},O:{"2":"RC"},P:{"1":"VC WC dB XC YC ZC aC","2":"I","258":"SC TC UC"},Q:{"2":"bC"},R:{"16":"cC"},S:{"2":"dC"}},B:5,C:"Web Share API"}; diff --git a/tools/node_modules/@babel/core/node_modules/caniuse-lite/data/features/webauthn.js b/tools/node_modules/@babel/core/node_modules/caniuse-lite/data/features/webauthn.js new file mode 100644 index 00000000000000..93ae27d5b9ab48 --- /dev/null +++ b/tools/node_modules/@babel/core/node_modules/caniuse-lite/data/features/webauthn.js @@ -0,0 +1 @@ +module.exports={A:{A:{"2":"J D E F A B gB"},B:{"1":"O R S T U V W X Y Z P a H","2":"C","226":"K L G M N"},C:{"1":"GB ZB Q HB IB JB KB LB MB NB OB PB QB RB SB TB UB aB bB R S T iB U V W X Y Z P a H","2":"0 1 2 3 4 5 6 7 8 9 hB XB I b J D E F A B C K L G M N O c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB YB jB kB"},D:{"1":"LB MB NB OB PB QB RB SB TB UB aB bB R S T U V W X Y Z P a H lB mB nB","2":"0 1 2 3 4 5 6 7 8 9 I b J D E F A B C K L G M N O c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB YB GB ZB Q HB IB JB KB"},E:{"1":"K L G tB uB vB","2":"I b J D E F A B C oB cB pB qB rB sB dB VB","322":"WB"},F:{"1":"BB CB DB EB FB GB Q HB IB JB KB LB MB NB OB PB QB RB SB TB UB","2":"0 1 2 3 4 5 6 7 8 9 F B C G M N O c d e f g h i j k l m n o p q r s t u v w x y z AB wB xB yB zB VB eB 0B WB"},G:{"1":"JC","2":"E cB 1B fB 2B 3B 4B 5B 6B 7B 8B 9B AC BC CC DC EC","578":"FC","2052":"IC","3076":"GC HC"},H:{"2":"KC"},I:{"1":"H","2":"XB I LC MC NC OC fB PC QC"},J:{"2":"D A"},K:{"2":"A B C Q VB eB WB"},L:{"1":"H"},M:{"2":"P"},N:{"2":"A B"},O:{"2":"RC"},P:{"2":"I SC TC UC VC WC dB XC YC ZC aC"},Q:{"2":"bC"},R:{"2":"cC"},S:{"2":"dC"}},B:2,C:"Web Authentication API"}; diff --git a/tools/node_modules/@babel/core/node_modules/caniuse-lite/data/features/webgl.js b/tools/node_modules/@babel/core/node_modules/caniuse-lite/data/features/webgl.js new file mode 100644 index 00000000000000..bff614d3322420 --- /dev/null +++ b/tools/node_modules/@babel/core/node_modules/caniuse-lite/data/features/webgl.js @@ -0,0 +1 @@ +module.exports={A:{A:{"2":"gB","8":"J D E F A","129":"B"},B:{"1":"R S T U V W X Y Z P a H","129":"C K L G M N O"},C:{"1":"0 1 2 3 4 5 6 7 8 9 h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB YB GB ZB Q HB IB JB KB LB MB NB OB PB QB RB SB TB UB aB bB R S T iB U V W X Y Z P a H","2":"hB XB jB kB","129":"I b J D E F A B C K L G M N O c d e f g"},D:{"1":"0 1 2 3 4 5 6 7 8 9 q r s t u v w x y z AB BB CB DB EB FB YB GB ZB Q HB IB JB KB LB MB NB OB PB QB RB SB TB UB aB bB R S T U V W X Y Z P a H lB mB nB","2":"I b J D","129":"E F A B C K L G M N O c d e f g h i j k l m n o p"},E:{"1":"E F A B C K L G sB dB VB WB tB uB vB","2":"I b oB cB","129":"J D pB qB rB"},F:{"1":"0 1 2 3 4 5 6 7 8 9 c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB GB Q HB IB JB KB LB MB NB OB PB QB RB SB TB UB","2":"F B wB xB yB zB VB eB 0B","129":"C G M N O WB"},G:{"1":"E 5B 6B 7B 8B 9B AC BC CC DC EC FC GC HC IC JC","2":"cB 1B fB 2B 3B 4B"},H:{"2":"KC"},I:{"1":"H","2":"XB I LC MC NC OC fB PC QC"},J:{"1":"A","2":"D"},K:{"1":"C Q WB","2":"A B VB eB"},L:{"1":"H"},M:{"1":"P"},N:{"8":"A","129":"B"},O:{"129":"RC"},P:{"1":"I SC TC UC VC WC dB XC YC ZC aC"},Q:{"1":"bC"},R:{"1":"cC"},S:{"129":"dC"}},B:6,C:"WebGL - 3D Canvas graphics"}; diff --git a/tools/node_modules/@babel/core/node_modules/caniuse-lite/data/features/webgl2.js b/tools/node_modules/@babel/core/node_modules/caniuse-lite/data/features/webgl2.js new file mode 100644 index 00000000000000..24f0fa256d0a2a --- /dev/null +++ b/tools/node_modules/@babel/core/node_modules/caniuse-lite/data/features/webgl2.js @@ -0,0 +1 @@ +module.exports={A:{A:{"2":"J D E F A B gB"},B:{"1":"R S T U V W X Y Z P a H","2":"C K L G M N O"},C:{"1":"8 9 AB BB CB DB EB FB YB GB ZB Q HB IB JB KB LB MB NB OB PB QB RB SB TB UB aB bB R S T iB U V W X Y Z P a H","2":"hB XB I b J D E F A B C K L G M N O c d e f g h jB kB","194":"0 1 z","450":"i j k l m n o p q r s t u v w x y","2242":"2 3 4 5 6 7"},D:{"1":"DB EB FB YB GB ZB Q HB IB JB KB LB MB NB OB PB QB RB SB TB UB aB bB R S T U V W X Y Z P a H lB mB nB","2":"I b J D E F A B C K L G M N O c d e f g h i j k l m n o p q r s t u v w x y z","578":"0 1 2 3 4 5 6 7 8 9 AB BB CB"},E:{"1":"G vB","2":"I b J D E F A oB cB pB qB rB sB","1090":"B C K L dB VB WB tB uB"},F:{"1":"0 1 2 3 4 5 6 7 8 9 AB BB CB DB EB FB GB Q HB IB JB KB LB MB NB OB PB QB RB SB TB UB","2":"F B C G M N O c d e f g h i j k l m n o p q r s t u v w x y z wB xB yB zB VB eB 0B WB"},G:{"2":"E cB 1B fB 2B 3B 4B 5B 6B 7B 8B 9B AC BC","1090":"CC DC EC FC GC HC IC JC"},H:{"2":"KC"},I:{"1":"H","2":"XB I LC MC NC OC fB PC QC"},J:{"2":"D A"},K:{"1":"Q","2":"A B C VB eB WB"},L:{"1":"H"},M:{"1":"P"},N:{"2":"A B"},O:{"1":"RC"},P:{"1":"UC VC WC dB XC YC ZC aC","2":"I SC TC"},Q:{"578":"bC"},R:{"2":"cC"},S:{"2242":"dC"}},B:6,C:"WebGL 2.0"}; diff --git a/tools/node_modules/@babel/core/node_modules/caniuse-lite/data/features/webgpu.js b/tools/node_modules/@babel/core/node_modules/caniuse-lite/data/features/webgpu.js new file mode 100644 index 00000000000000..0811147b3e6e6b --- /dev/null +++ b/tools/node_modules/@babel/core/node_modules/caniuse-lite/data/features/webgpu.js @@ -0,0 +1 @@ +module.exports={A:{A:{"2":"J D E F A B gB"},B:{"2":"C K L G M N O R","578":"S T U V W X Y Z P a H"},C:{"2":"0 1 2 3 4 5 6 7 8 9 hB XB I b J D E F A B C K L G M N O c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB YB GB ZB Q jB kB","194":"HB IB JB KB LB MB NB OB PB QB RB SB TB UB aB bB R S T iB U V W X Y Z P a H"},D:{"2":"0 1 2 3 4 5 6 7 8 9 I b J D E F A B C K L G M N O c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB YB GB ZB Q HB IB JB KB LB MB NB OB PB QB RB SB TB UB aB bB R","578":"S T U V W X Y Z P a H lB mB nB"},E:{"2":"I b J D E F A B oB cB pB qB rB sB dB","322":"C K L G VB WB tB uB vB"},F:{"2":"0 1 2 3 4 5 6 7 8 9 F B C G M N O c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB GB Q HB IB JB KB LB MB NB OB PB QB wB xB yB zB VB eB 0B WB","578":"RB SB TB UB"},G:{"2":"E cB 1B fB 2B 3B 4B 5B 6B 7B 8B 9B AC BC CC DC EC FC GC HC IC JC"},H:{"2":"KC"},I:{"2":"XB I H LC MC NC OC fB PC QC"},J:{"2":"D A"},K:{"2":"A B C Q VB eB WB"},L:{"2":"H"},M:{"194":"P"},N:{"2":"A B"},O:{"2":"RC"},P:{"2":"I SC TC UC VC WC dB XC YC ZC aC"},Q:{"2":"bC"},R:{"2":"cC"},S:{"2":"dC"}},B:7,C:"WebGPU"}; diff --git a/tools/node_modules/@babel/core/node_modules/caniuse-lite/data/features/webhid.js b/tools/node_modules/@babel/core/node_modules/caniuse-lite/data/features/webhid.js new file mode 100644 index 00000000000000..68bcdc42d7e834 --- /dev/null +++ b/tools/node_modules/@babel/core/node_modules/caniuse-lite/data/features/webhid.js @@ -0,0 +1 @@ +module.exports={A:{A:{"2":"J D E F A B gB"},B:{"1":"P a H","2":"C K L G M N O","66":"R S T U V W X Y Z"},C:{"2":"0 1 2 3 4 5 6 7 8 9 hB XB I b J D E F A B C K L G M N O c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB YB GB ZB Q HB IB JB KB LB MB NB OB PB QB RB SB TB UB aB bB R S T iB U V W X Y Z P a H jB kB"},D:{"1":"P a H lB mB nB","2":"0 1 2 3 4 5 6 7 8 9 I b J D E F A B C K L G M N O c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB YB GB ZB Q HB IB JB KB LB MB NB OB PB QB RB SB TB UB aB","66":"bB R S T U V W X Y Z"},E:{"2":"I b J D E F A B C K L G oB cB pB qB rB sB dB VB WB tB uB vB"},F:{"1":"UB","2":"0 1 2 3 4 5 6 7 8 9 F B C G M N O c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB GB Q HB IB JB wB xB yB zB VB eB 0B WB","66":"KB LB MB NB OB PB QB RB SB TB"},G:{"2":"E cB 1B fB 2B 3B 4B 5B 6B 7B 8B 9B AC BC CC DC EC FC GC HC IC JC"},H:{"2":"KC"},I:{"2":"XB I H LC MC NC OC fB PC QC"},J:{"2":"D A"},K:{"2":"A B C Q VB eB WB"},L:{"2":"H"},M:{"2":"P"},N:{"2":"A B"},O:{"2":"RC"},P:{"2":"I SC TC UC VC WC dB XC YC ZC aC"},Q:{"2":"bC"},R:{"2":"cC"},S:{"2":"dC"}},B:7,C:"WebHID API"}; diff --git a/tools/node_modules/@babel/core/node_modules/caniuse-lite/data/features/webkit-user-drag.js b/tools/node_modules/@babel/core/node_modules/caniuse-lite/data/features/webkit-user-drag.js new file mode 100644 index 00000000000000..21c7ba34eaa0a1 --- /dev/null +++ b/tools/node_modules/@babel/core/node_modules/caniuse-lite/data/features/webkit-user-drag.js @@ -0,0 +1 @@ +module.exports={A:{A:{"2":"J D E F A B gB"},B:{"2":"C K L G M N O","132":"R S T U V W X Y Z P a H"},C:{"2":"0 1 2 3 4 5 6 7 8 9 hB XB I b J D E F A B C K L G M N O c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB YB GB ZB Q HB IB JB KB LB MB NB OB PB QB RB SB TB UB aB bB R S T iB U V W X Y Z P a H jB kB"},D:{"16":"I b J D E F A B C K L G","132":"0 1 2 3 4 5 6 7 8 9 M N O c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB YB GB ZB Q HB IB JB KB LB MB NB OB PB QB RB SB TB UB aB bB R S T U V W X Y Z P a H lB mB nB"},E:{"1":"I b J D E F A B C K L G oB cB pB qB rB sB dB VB WB tB uB vB"},F:{"2":"F B C wB xB yB zB VB eB 0B WB","132":"0 1 2 3 4 5 6 7 8 9 G M N O c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB GB Q HB IB JB KB LB MB NB OB PB QB RB SB TB UB"},G:{"2":"E cB 1B fB 2B 3B 4B 5B 6B 7B 8B 9B AC BC CC DC EC FC GC HC IC JC"},H:{"2":"KC"},I:{"2":"XB I H LC MC NC OC fB PC QC"},J:{"2":"D A"},K:{"2":"A B C Q VB eB WB"},L:{"2":"H"},M:{"2":"P"},N:{"2":"A B"},O:{"2":"RC"},P:{"2":"I SC TC UC VC WC dB XC YC ZC aC"},Q:{"2":"bC"},R:{"2":"cC"},S:{"2":"dC"}},B:7,C:"CSS -webkit-user-drag property"}; diff --git a/tools/node_modules/@babel/core/node_modules/caniuse-lite/data/features/webm.js b/tools/node_modules/@babel/core/node_modules/caniuse-lite/data/features/webm.js new file mode 100644 index 00000000000000..86dce960683fd8 --- /dev/null +++ b/tools/node_modules/@babel/core/node_modules/caniuse-lite/data/features/webm.js @@ -0,0 +1 @@ +module.exports={A:{A:{"2":"J D E gB","520":"F A B"},B:{"1":"R S T U V W X Y Z P a H","8":"C K","388":"L G M N O"},C:{"1":"0 1 2 3 4 5 6 7 8 9 l m n o p q r s t u v w x y z AB BB CB DB EB FB YB GB ZB Q HB IB JB KB LB MB NB OB PB QB RB SB TB UB aB bB R S T iB U V W X Y Z P a H","2":"hB XB jB kB","132":"I b J D E F A B C K L G M N O c d e f g h i j k"},D:{"1":"0 1 2 3 4 5 6 7 8 9 i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB YB GB ZB Q HB IB JB KB LB MB NB OB PB QB RB SB TB UB aB bB R S T U V W X Y Z P a H lB mB nB","2":"I b","132":"J D E F A B C K L G M N O c d e f g h"},E:{"2":"oB","8":"I b cB pB","520":"J D E F A B C qB rB sB dB VB","1028":"K WB tB","7172":"L","8196":"G uB vB"},F:{"1":"0 1 2 3 4 5 6 7 8 9 M N O c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB GB Q HB IB JB KB LB MB NB OB PB QB RB SB TB UB","2":"F wB xB yB","132":"B C G zB VB eB 0B WB"},G:{"2":"E cB 1B fB 2B 3B 4B 5B 6B 7B 8B 9B AC BC CC","1028":"DC EC FC GC HC","3076":"IC JC"},H:{"2":"KC"},I:{"1":"H","2":"LC MC","132":"XB I NC OC fB PC QC"},J:{"2":"D A"},K:{"2":"A B C VB eB WB","132":"Q"},L:{"1":"H"},M:{"1":"P"},N:{"8":"A B"},O:{"1":"RC"},P:{"1":"SC TC UC VC WC dB XC YC ZC aC","132":"I"},Q:{"1":"bC"},R:{"1":"cC"},S:{"1":"dC"}},B:6,C:"WebM video format"}; diff --git a/tools/node_modules/@babel/core/node_modules/caniuse-lite/data/features/webnfc.js b/tools/node_modules/@babel/core/node_modules/caniuse-lite/data/features/webnfc.js new file mode 100644 index 00000000000000..a096ea10094d5f --- /dev/null +++ b/tools/node_modules/@babel/core/node_modules/caniuse-lite/data/features/webnfc.js @@ -0,0 +1 @@ +module.exports={A:{A:{"2":"J D E F A B gB"},B:{"2":"C K L G M N O R P a H","450":"S T U V W X Y Z"},C:{"2":"0 1 2 3 4 5 6 7 8 9 hB XB I b J D E F A B C K L G M N O c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB YB GB ZB Q HB IB JB KB LB MB NB OB PB QB RB SB TB UB aB bB R S T iB U V W X Y Z P a H jB kB"},D:{"2":"0 1 2 3 4 5 6 7 8 9 I b J D E F A B C K L G M N O c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB YB GB ZB Q HB IB JB KB LB MB NB OB PB QB RB SB TB UB aB bB R P a H lB mB nB","450":"S T U V W X Y Z"},E:{"2":"I b J D E F A B C K L G oB cB pB qB rB sB dB VB WB tB uB vB"},F:{"2":"0 1 2 3 4 5 6 7 8 9 F B C G M N O c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB GB Q HB IB JB KB wB xB yB zB VB eB 0B WB","450":"LB MB NB OB PB QB RB SB TB UB"},G:{"2":"E cB 1B fB 2B 3B 4B 5B 6B 7B 8B 9B AC BC CC DC EC FC GC HC IC JC"},H:{"2":"KC"},I:{"2":"XB I H LC MC NC OC fB PC QC"},J:{"2":"D A"},K:{"2":"A B C Q VB eB WB"},L:{"257":"H"},M:{"2":"P"},N:{"2":"A B"},O:{"2":"RC"},P:{"2":"I SC TC UC VC WC dB XC YC ZC aC"},Q:{"2":"bC"},R:{"2":"cC"},S:{"2":"dC"}},B:7,C:"Web NFC"}; diff --git a/tools/node_modules/@babel/core/node_modules/caniuse-lite/data/features/webp.js b/tools/node_modules/@babel/core/node_modules/caniuse-lite/data/features/webp.js new file mode 100644 index 00000000000000..44403c48925afa --- /dev/null +++ b/tools/node_modules/@babel/core/node_modules/caniuse-lite/data/features/webp.js @@ -0,0 +1 @@ +module.exports={A:{A:{"2":"J D E F A B gB"},B:{"1":"O R S T U V W X Y Z P a H","2":"C K L G M N"},C:{"1":"JB KB LB MB NB OB PB QB RB SB TB UB aB bB R S T iB U V W X Y Z P a H","2":"hB XB jB kB","8":"0 1 2 3 4 5 6 7 8 9 I b J D E F A B C K L G M N O c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB YB GB ZB Q HB IB"},D:{"1":"0 1 2 3 4 5 6 7 8 9 p q r s t u v w x y z AB BB CB DB EB FB YB GB ZB Q HB IB JB KB LB MB NB OB PB QB RB SB TB UB aB bB R S T U V W X Y Z P a H lB mB nB","2":"I b","8":"J D E","132":"F A B C K L G M N O c d e f","260":"g h i j k l m n o"},E:{"2":"I b J D E F A B C K oB cB pB qB rB sB dB VB WB tB","516":"L G uB vB"},F:{"1":"0 1 2 3 4 5 6 7 8 9 c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB GB Q HB IB JB KB LB MB NB OB PB QB RB SB TB UB","2":"F wB xB yB","8":"B zB","132":"VB eB 0B","260":"C G M N O WB"},G:{"1":"IC JC","2":"E cB 1B fB 2B 3B 4B 5B 6B 7B 8B 9B AC BC CC DC EC FC GC HC"},H:{"1":"KC"},I:{"1":"H fB PC QC","2":"XB LC MC NC","132":"I OC"},J:{"2":"D A"},K:{"1":"C Q VB eB WB","2":"A","132":"B"},L:{"1":"H"},M:{"1":"P"},N:{"2":"A B"},O:{"1":"RC"},P:{"1":"I SC TC UC VC WC dB XC YC ZC aC"},Q:{"1":"bC"},R:{"1":"cC"},S:{"8":"dC"}},B:7,C:"WebP image format"}; diff --git a/tools/node_modules/@babel/core/node_modules/caniuse-lite/data/features/websockets.js b/tools/node_modules/@babel/core/node_modules/caniuse-lite/data/features/websockets.js new file mode 100644 index 00000000000000..53b39cb6af9aba --- /dev/null +++ b/tools/node_modules/@babel/core/node_modules/caniuse-lite/data/features/websockets.js @@ -0,0 +1 @@ +module.exports={A:{A:{"1":"A B","2":"J D E F gB"},B:{"1":"C K L G M N O R S T U V W X Y Z P a H"},C:{"1":"0 1 2 3 4 5 6 7 8 9 B C K L G M N O c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB YB GB ZB Q HB IB JB KB LB MB NB OB PB QB RB SB TB UB aB bB R S T iB U V W X Y Z P a H","2":"hB XB jB kB","132":"I b","292":"J D E F A"},D:{"1":"0 1 2 3 4 5 6 7 8 9 M N O c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB YB GB ZB Q HB IB JB KB LB MB NB OB PB QB RB SB TB UB aB bB R S T U V W X Y Z P a H lB mB nB","132":"I b J D E F A B C K L","260":"G"},E:{"1":"D E F A B C K L G rB sB dB VB WB tB uB vB","2":"I oB cB","132":"b pB","260":"J qB"},F:{"1":"0 1 2 3 4 5 6 7 8 9 G M N O c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB GB Q HB IB JB KB LB MB NB OB PB QB RB SB TB UB WB","2":"F wB xB yB zB","132":"B C VB eB 0B"},G:{"1":"E 3B 4B 5B 6B 7B 8B 9B AC BC CC DC EC FC GC HC IC JC","2":"cB 1B","132":"fB 2B"},H:{"2":"KC"},I:{"1":"H PC QC","2":"XB I LC MC NC OC fB"},J:{"1":"A","129":"D"},K:{"1":"Q WB","2":"A","132":"B C VB eB"},L:{"1":"H"},M:{"1":"P"},N:{"1":"A B"},O:{"1":"RC"},P:{"1":"I SC TC UC VC WC dB XC YC ZC aC"},Q:{"1":"bC"},R:{"1":"cC"},S:{"1":"dC"}},B:1,C:"Web Sockets"}; diff --git a/tools/node_modules/@babel/core/node_modules/caniuse-lite/data/features/webusb.js b/tools/node_modules/@babel/core/node_modules/caniuse-lite/data/features/webusb.js new file mode 100644 index 00000000000000..dcc7e37e434b1b --- /dev/null +++ b/tools/node_modules/@babel/core/node_modules/caniuse-lite/data/features/webusb.js @@ -0,0 +1 @@ +module.exports={A:{A:{"2":"J D E F A B gB"},B:{"1":"R S T U V W X Y Z P a H","2":"C K L G M N O"},C:{"2":"0 1 2 3 4 5 6 7 8 9 hB XB I b J D E F A B C K L G M N O c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB YB GB ZB Q HB IB JB KB LB MB NB OB PB QB RB SB TB UB aB bB R S T iB U V W X Y Z P a H jB kB"},D:{"1":"ZB Q HB IB JB KB LB MB NB OB PB QB RB SB TB UB aB bB R S T U V W X Y Z P a H lB mB nB","2":"0 1 2 3 4 5 6 7 8 9 I b J D E F A B C K L G M N O c d e f g h i j k l m n o p q r s t u v w x y z AB","66":"BB CB DB EB FB YB GB"},E:{"2":"I b J D E F A B C K L G oB cB pB qB rB sB dB VB WB tB uB vB"},F:{"1":"5 6 7 8 9 AB BB CB DB EB FB GB Q HB IB JB KB LB MB NB OB PB QB RB SB TB UB","2":"F B C G M N O c d e f g h i j k l m n o p q r s t u v w x wB xB yB zB VB eB 0B WB","66":"0 1 2 3 4 y z"},G:{"2":"E cB 1B fB 2B 3B 4B 5B 6B 7B 8B 9B AC BC CC DC EC FC GC HC IC JC"},H:{"2":"KC"},I:{"2":"XB I H LC MC NC OC fB PC QC"},J:{"2":"D A"},K:{"2":"A B C Q VB eB WB"},L:{"1":"H"},M:{"2":"P"},N:{"2":"A B"},O:{"2":"RC"},P:{"1":"VC WC dB XC YC ZC aC","2":"I SC TC UC"},Q:{"1":"bC"},R:{"2":"cC"},S:{"2":"dC"}},B:7,C:"WebUSB"}; diff --git a/tools/node_modules/@babel/core/node_modules/caniuse-lite/data/features/webvr.js b/tools/node_modules/@babel/core/node_modules/caniuse-lite/data/features/webvr.js new file mode 100644 index 00000000000000..9fe5eb56bd7430 --- /dev/null +++ b/tools/node_modules/@babel/core/node_modules/caniuse-lite/data/features/webvr.js @@ -0,0 +1 @@ +module.exports={A:{A:{"2":"J D E F A B gB"},B:{"2":"C K L S T U V W X Y Z P a H","66":"R","257":"G M N O"},C:{"2":"0 1 2 3 4 5 6 7 8 9 hB XB I b J D E F A B C K L G M N O c d e f g h i j k l m n o p q r s t u v w x y z AB jB kB","129":"CB DB EB FB YB GB ZB Q HB IB JB KB LB MB NB OB PB QB RB SB TB UB aB bB R S T iB U V W X Y Z P a H","194":"BB"},D:{"2":"0 1 2 3 4 5 6 7 8 9 I b J D E F A B C K L G M N O c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB S T U V W X Y Z P a H lB mB nB","66":"EB FB YB GB ZB Q HB IB JB KB LB MB NB OB PB QB RB SB TB UB aB bB R"},E:{"2":"I b J D E F A B C K L G oB cB pB qB rB sB dB VB WB tB uB vB"},F:{"2":"0 F B C G M N O c d e f g h i j k l m n o p q r s t u v w x y z LB MB NB OB PB QB RB SB TB UB wB xB yB zB VB eB 0B WB","66":"1 2 3 4 5 6 7 8 9 AB BB CB DB EB FB GB Q HB IB JB KB"},G:{"2":"E cB 1B fB 2B 3B 4B 5B 6B 7B 8B 9B AC BC CC DC EC FC GC HC IC JC"},H:{"2":"KC"},I:{"2":"XB I H LC MC NC OC fB PC QC"},J:{"2":"D A"},K:{"2":"A B C Q VB eB WB"},L:{"2":"H"},M:{"2":"P"},N:{"2":"A B"},O:{"2":"RC"},P:{"513":"I","516":"SC TC UC VC WC dB XC YC ZC aC"},Q:{"2":"bC"},R:{"66":"cC"},S:{"2":"dC"}},B:7,C:"WebVR API"}; diff --git a/tools/node_modules/@babel/core/node_modules/caniuse-lite/data/features/webvtt.js b/tools/node_modules/@babel/core/node_modules/caniuse-lite/data/features/webvtt.js new file mode 100644 index 00000000000000..362be3d92f1ac7 --- /dev/null +++ b/tools/node_modules/@babel/core/node_modules/caniuse-lite/data/features/webvtt.js @@ -0,0 +1 @@ +module.exports={A:{A:{"1":"A B","2":"J D E F gB"},B:{"1":"C K L G M N O R S T U V W X Y Z P a H"},C:{"2":"hB XB I b J D E F A B C K L G M N O c d e f g jB kB","66":"h i j k l m n","129":"0 1 2 3 4 5 6 7 8 9 o p q r s t u v w x y z AB BB CB DB EB FB YB GB ZB Q HB IB JB KB LB MB NB OB PB QB RB SB TB UB aB bB R S T iB U V W X Y Z P a H"},D:{"1":"0 1 2 3 4 5 6 7 8 9 O c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB YB GB ZB Q HB IB JB KB LB MB NB OB PB QB RB SB TB UB aB bB R S T U V W X Y Z P a H lB mB nB","2":"I b J D E F A B C K L G M N"},E:{"1":"J D E F A B C K L G qB rB sB dB VB WB tB uB vB","2":"I b oB cB pB"},F:{"1":"0 1 2 3 4 5 6 7 8 9 G M N O c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB GB Q HB IB JB KB LB MB NB OB PB QB RB SB TB UB","2":"F B C wB xB yB zB VB eB 0B WB"},G:{"1":"E 4B 5B 6B 7B 8B 9B AC BC CC DC EC FC GC HC IC JC","2":"cB 1B fB 2B 3B"},H:{"2":"KC"},I:{"1":"H PC QC","2":"XB I LC MC NC OC fB"},J:{"1":"A","2":"D"},K:{"1":"Q","2":"A B C VB eB WB"},L:{"1":"H"},M:{"1":"P"},N:{"1":"B","2":"A"},O:{"2":"RC"},P:{"1":"I SC TC UC VC WC dB XC YC ZC aC"},Q:{"1":"bC"},R:{"1":"cC"},S:{"129":"dC"}},B:5,C:"WebVTT - Web Video Text Tracks"}; diff --git a/tools/node_modules/@babel/core/node_modules/caniuse-lite/data/features/webworkers.js b/tools/node_modules/@babel/core/node_modules/caniuse-lite/data/features/webworkers.js new file mode 100644 index 00000000000000..380ed1da724ada --- /dev/null +++ b/tools/node_modules/@babel/core/node_modules/caniuse-lite/data/features/webworkers.js @@ -0,0 +1 @@ +module.exports={A:{A:{"1":"A B","2":"gB","8":"J D E F"},B:{"1":"C K L G M N O R S T U V W X Y Z P a H"},C:{"1":"0 1 2 3 4 5 6 7 8 9 I b J D E F A B C K L G M N O c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB YB GB ZB Q HB IB JB KB LB MB NB OB PB QB RB SB TB UB aB bB R S T iB U V W X Y Z P a H jB kB","8":"hB XB"},D:{"1":"0 1 2 3 4 5 6 7 8 9 I b J D E F A B C K L G M N O c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB YB GB ZB Q HB IB JB KB LB MB NB OB PB QB RB SB TB UB aB bB R S T U V W X Y Z P a H lB mB nB"},E:{"1":"I b J D E F A B C K L G pB qB rB sB dB VB WB tB uB vB","8":"oB cB"},F:{"1":"0 1 2 3 4 5 6 7 8 9 B C G M N O c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB GB Q HB IB JB KB LB MB NB OB PB QB RB SB TB UB zB VB eB 0B WB","2":"F wB","8":"xB yB"},G:{"1":"E 2B 3B 4B 5B 6B 7B 8B 9B AC BC CC DC EC FC GC HC IC JC","2":"cB 1B fB"},H:{"2":"KC"},I:{"1":"H LC PC QC","2":"XB I MC NC OC fB"},J:{"1":"D A"},K:{"1":"B C Q VB eB WB","8":"A"},L:{"1":"H"},M:{"1":"P"},N:{"1":"A B"},O:{"1":"RC"},P:{"1":"I SC TC UC VC WC dB XC YC ZC aC"},Q:{"1":"bC"},R:{"1":"cC"},S:{"1":"dC"}},B:1,C:"Web Workers"}; diff --git a/tools/node_modules/@babel/core/node_modules/caniuse-lite/data/features/webxr.js b/tools/node_modules/@babel/core/node_modules/caniuse-lite/data/features/webxr.js new file mode 100644 index 00000000000000..13a71b4f4dda07 --- /dev/null +++ b/tools/node_modules/@babel/core/node_modules/caniuse-lite/data/features/webxr.js @@ -0,0 +1 @@ +module.exports={A:{A:{"2":"J D E F A B gB"},B:{"2":"C K L G M N O","132":"R S T U V W X Y Z P a H"},C:{"2":"0 1 2 3 4 5 6 7 8 9 hB XB I b J D E F A B C K L G M N O c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB YB GB ZB Q HB IB JB KB LB MB NB OB PB QB RB SB TB UB jB kB","322":"aB bB R S T iB U V W X Y Z P a H"},D:{"2":"0 1 2 3 4 5 6 7 8 9 I b J D E F A B C K L G M N O c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB YB GB ZB Q HB IB","66":"JB KB LB MB NB OB PB QB RB SB TB UB aB bB","132":"R S T U V W X Y Z P a H lB mB nB"},E:{"2":"I b J D E F A B C K L G oB cB pB qB rB sB dB VB WB tB uB vB"},F:{"2":"0 1 2 3 4 5 6 7 8 F B C G M N O c d e f g h i j k l m n o p q r s t u v w x y z wB xB yB zB VB eB 0B WB","66":"9 AB BB CB DB EB FB GB Q HB IB JB","132":"KB LB MB NB OB PB QB RB SB TB UB"},G:{"2":"E cB 1B fB 2B 3B 4B 5B 6B 7B 8B 9B AC BC CC DC EC FC GC HC IC JC"},H:{"2":"KC"},I:{"2":"XB I H LC MC NC OC fB PC QC"},J:{"2":"D A"},K:{"2":"A B C Q VB eB WB"},L:{"132":"H"},M:{"322":"P"},N:{"2":"A B"},O:{"2":"RC"},P:{"2":"I SC TC UC VC WC dB XC","132":"YC ZC aC"},Q:{"2":"bC"},R:{"2":"cC"},S:{"2":"dC"}},B:5,C:"WebXR Device API"}; diff --git a/tools/node_modules/@babel/core/node_modules/caniuse-lite/data/features/will-change.js b/tools/node_modules/@babel/core/node_modules/caniuse-lite/data/features/will-change.js new file mode 100644 index 00000000000000..a7690b13b794c4 --- /dev/null +++ b/tools/node_modules/@babel/core/node_modules/caniuse-lite/data/features/will-change.js @@ -0,0 +1 @@ +module.exports={A:{A:{"2":"J D E F A B gB"},B:{"1":"R S T U V W X Y Z P a H","2":"C K L G M N O"},C:{"1":"0 1 2 3 4 5 6 7 8 9 t u v w x y z AB BB CB DB EB FB YB GB ZB Q HB IB JB KB LB MB NB OB PB QB RB SB TB UB aB bB R S T iB U V W X Y Z P a H","2":"hB XB I b J D E F A B C K L G M N O c d e f g h i j k l jB kB","194":"m n o p q r s"},D:{"1":"0 1 2 3 4 5 6 7 8 9 t u v w x y z AB BB CB DB EB FB YB GB ZB Q HB IB JB KB LB MB NB OB PB QB RB SB TB UB aB bB R S T U V W X Y Z P a H lB mB nB","2":"I b J D E F A B C K L G M N O c d e f g h i j k l m n o p q r s"},E:{"1":"A B C K L G sB dB VB WB tB uB vB","2":"I b J D E F oB cB pB qB rB"},F:{"1":"0 1 2 3 4 5 6 7 8 9 h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB GB Q HB IB JB KB LB MB NB OB PB QB RB SB TB UB","2":"F B C G M N O c d e f g wB xB yB zB VB eB 0B WB"},G:{"1":"7B 8B 9B AC BC CC DC EC FC GC HC IC JC","2":"E cB 1B fB 2B 3B 4B 5B 6B"},H:{"2":"KC"},I:{"1":"H","2":"XB I LC MC NC OC fB PC QC"},J:{"2":"D A"},K:{"1":"Q","2":"A B C VB eB WB"},L:{"1":"H"},M:{"1":"P"},N:{"2":"A B"},O:{"1":"RC"},P:{"1":"I SC TC UC VC WC dB XC YC ZC aC"},Q:{"1":"bC"},R:{"1":"cC"},S:{"1":"dC"}},B:5,C:"CSS will-change property"}; diff --git a/tools/node_modules/@babel/core/node_modules/caniuse-lite/data/features/woff.js b/tools/node_modules/@babel/core/node_modules/caniuse-lite/data/features/woff.js new file mode 100644 index 00000000000000..21bdfb780bb1e8 --- /dev/null +++ b/tools/node_modules/@babel/core/node_modules/caniuse-lite/data/features/woff.js @@ -0,0 +1 @@ +module.exports={A:{A:{"1":"F A B","2":"J D E gB"},B:{"1":"C K L G M N O R S T U V W X Y Z P a H"},C:{"1":"0 1 2 3 4 5 6 7 8 9 I b J D E F A B C K L G M N O c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB YB GB ZB Q HB IB JB KB LB MB NB OB PB QB RB SB TB UB aB bB R S T iB U V W X Y Z P a H kB","2":"hB XB jB"},D:{"1":"0 1 2 3 4 5 6 7 8 9 b J D E F A B C K L G M N O c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB YB GB ZB Q HB IB JB KB LB MB NB OB PB QB RB SB TB UB aB bB R S T U V W X Y Z P a H lB mB nB","2":"I"},E:{"1":"J D E F A B C K L G pB qB rB sB dB VB WB tB uB vB","2":"I b oB cB"},F:{"1":"0 1 2 3 4 5 6 7 8 9 C G M N O c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB GB Q HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB eB 0B WB","2":"F B wB xB yB zB"},G:{"1":"E 2B 3B 4B 5B 6B 7B 8B 9B AC BC CC DC EC FC GC HC IC JC","2":"cB 1B fB"},H:{"2":"KC"},I:{"1":"H PC QC","2":"XB LC MC NC OC fB","130":"I"},J:{"1":"D A"},K:{"1":"B C Q VB eB WB","2":"A"},L:{"1":"H"},M:{"1":"P"},N:{"1":"A B"},O:{"1":"RC"},P:{"1":"I SC TC UC VC WC dB XC YC ZC aC"},Q:{"1":"bC"},R:{"1":"cC"},S:{"1":"dC"}},B:2,C:"WOFF - Web Open Font Format"}; diff --git a/tools/node_modules/@babel/core/node_modules/caniuse-lite/data/features/woff2.js b/tools/node_modules/@babel/core/node_modules/caniuse-lite/data/features/woff2.js new file mode 100644 index 00000000000000..431a2db56bab4a --- /dev/null +++ b/tools/node_modules/@babel/core/node_modules/caniuse-lite/data/features/woff2.js @@ -0,0 +1 @@ +module.exports={A:{A:{"2":"J D E F A B gB"},B:{"1":"L G M N O R S T U V W X Y Z P a H","2":"C K"},C:{"1":"0 1 2 3 4 5 6 7 8 9 w x y z AB BB CB DB EB FB YB GB ZB Q HB IB JB KB LB MB NB OB PB QB RB SB TB UB aB bB R S T iB U V W X Y Z P a H","2":"hB XB I b J D E F A B C K L G M N O c d e f g h i j k l m n o p q r s t u v jB kB"},D:{"1":"0 1 2 3 4 5 6 7 8 9 t u v w x y z AB BB CB DB EB FB YB GB ZB Q HB IB JB KB LB MB NB OB PB QB RB SB TB UB aB bB R S T U V W X Y Z P a H lB mB nB","2":"I b J D E F A B C K L G M N O c d e f g h i j k l m n o p q r s"},E:{"1":"C K L G WB tB uB vB","2":"I b J D E F oB cB pB qB rB sB","132":"A B dB VB"},F:{"1":"0 1 2 3 4 5 6 7 8 9 g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB GB Q HB IB JB KB LB MB NB OB PB QB RB SB TB UB","2":"F B C G M N O c d e f wB xB yB zB VB eB 0B WB"},G:{"1":"8B 9B AC BC CC DC EC FC GC HC IC JC","2":"E cB 1B fB 2B 3B 4B 5B 6B 7B"},H:{"2":"KC"},I:{"1":"H","2":"XB I LC MC NC OC fB PC QC"},J:{"2":"D A"},K:{"1":"Q","2":"A B C VB eB WB"},L:{"1":"H"},M:{"1":"P"},N:{"2":"A B"},O:{"1":"RC"},P:{"1":"I SC TC UC VC WC dB XC YC ZC aC"},Q:{"1":"bC"},R:{"1":"cC"},S:{"1":"dC"}},B:4,C:"WOFF 2.0 - Web Open Font Format"}; diff --git a/tools/node_modules/@babel/core/node_modules/caniuse-lite/data/features/word-break.js b/tools/node_modules/@babel/core/node_modules/caniuse-lite/data/features/word-break.js new file mode 100644 index 00000000000000..a7abde6759ad20 --- /dev/null +++ b/tools/node_modules/@babel/core/node_modules/caniuse-lite/data/features/word-break.js @@ -0,0 +1 @@ +module.exports={A:{A:{"1":"J D E F A B gB"},B:{"1":"C K L G M N O R S T U V W X Y Z P a H"},C:{"1":"0 1 2 3 4 5 6 7 8 9 G M N O c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB YB GB ZB Q HB IB JB KB LB MB NB OB PB QB RB SB TB UB aB bB R S T iB U V W X Y Z P a H","2":"hB XB I b J D E F A B C K L jB kB"},D:{"1":"1 2 3 4 5 6 7 8 9 AB BB CB DB EB FB YB GB ZB Q HB IB JB KB LB MB NB OB PB QB RB SB TB UB aB bB R S T U V W X Y Z P a H lB mB nB","4":"0 I b J D E F A B C K L G M N O c d e f g h i j k l m n o p q r s t u v w x y z"},E:{"1":"F A B C K L G sB dB VB WB tB uB vB","4":"I b J D E oB cB pB qB rB"},F:{"1":"0 1 2 3 4 5 6 7 8 9 o p q r s t u v w x y z AB BB CB DB EB FB GB Q HB IB JB KB LB MB NB OB PB QB RB SB TB UB","2":"F B C wB xB yB zB VB eB 0B WB","4":"G M N O c d e f g h i j k l m n"},G:{"1":"6B 7B 8B 9B AC BC CC DC EC FC GC HC IC JC","4":"E cB 1B fB 2B 3B 4B 5B"},H:{"2":"KC"},I:{"1":"H","4":"XB I LC MC NC OC fB PC QC"},J:{"4":"D A"},K:{"2":"A B C VB eB WB","4":"Q"},L:{"1":"H"},M:{"1":"P"},N:{"1":"A B"},O:{"4":"RC"},P:{"1":"I SC TC UC VC WC dB XC YC ZC aC"},Q:{"4":"bC"},R:{"1":"cC"},S:{"1":"dC"}},B:5,C:"CSS3 word-break"}; diff --git a/tools/node_modules/@babel/core/node_modules/caniuse-lite/data/features/wordwrap.js b/tools/node_modules/@babel/core/node_modules/caniuse-lite/data/features/wordwrap.js new file mode 100644 index 00000000000000..bbf708492575e8 --- /dev/null +++ b/tools/node_modules/@babel/core/node_modules/caniuse-lite/data/features/wordwrap.js @@ -0,0 +1 @@ +module.exports={A:{A:{"4":"J D E F A B gB"},B:{"1":"O R S T U V W X Y Z P a H","4":"C K L G M N"},C:{"1":"6 7 8 9 AB BB CB DB EB FB YB GB ZB Q HB IB JB KB LB MB NB OB PB QB RB SB TB UB aB bB R S T iB U V W X Y Z P a H","2":"hB XB","4":"0 1 2 3 4 5 I b J D E F A B C K L G M N O c d e f g h i j k l m n o p q r s t u v w x y z jB kB"},D:{"1":"0 1 2 3 4 5 6 7 8 9 g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB YB GB ZB Q HB IB JB KB LB MB NB OB PB QB RB SB TB UB aB bB R S T U V W X Y Z P a H lB mB nB","4":"I b J D E F A B C K L G M N O c d e f"},E:{"1":"D E F A B C K L G qB rB sB dB VB WB tB uB vB","4":"I b J oB cB pB"},F:{"1":"0 1 2 3 4 5 6 7 8 9 G M N O c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB GB Q HB IB JB KB LB MB NB OB PB QB RB SB TB UB WB","2":"F wB xB","4":"B C yB zB VB eB 0B"},G:{"1":"E 4B 5B 6B 7B 8B 9B AC BC CC DC EC FC GC HC IC JC","4":"cB 1B fB 2B 3B"},H:{"4":"KC"},I:{"1":"H PC QC","4":"XB I LC MC NC OC fB"},J:{"1":"A","4":"D"},K:{"1":"Q","4":"A B C VB eB WB"},L:{"1":"H"},M:{"1":"P"},N:{"4":"A B"},O:{"1":"RC"},P:{"1":"I SC TC UC VC WC dB XC YC ZC aC"},Q:{"1":"bC"},R:{"1":"cC"},S:{"4":"dC"}},B:5,C:"CSS3 Overflow-wrap"}; diff --git a/tools/node_modules/@babel/core/node_modules/caniuse-lite/data/features/x-doc-messaging.js b/tools/node_modules/@babel/core/node_modules/caniuse-lite/data/features/x-doc-messaging.js new file mode 100644 index 00000000000000..34de9be3ea265f --- /dev/null +++ b/tools/node_modules/@babel/core/node_modules/caniuse-lite/data/features/x-doc-messaging.js @@ -0,0 +1 @@ +module.exports={A:{A:{"2":"J D gB","132":"E F","260":"A B"},B:{"1":"C K L G M N O R S T U V W X Y Z P a H"},C:{"1":"0 1 2 3 4 5 6 7 8 9 XB I b J D E F A B C K L G M N O c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB YB GB ZB Q HB IB JB KB LB MB NB OB PB QB RB SB TB UB aB bB R S T iB U V W X Y Z P a H jB kB","2":"hB"},D:{"1":"0 1 2 3 4 5 6 7 8 9 I b J D E F A B C K L G M N O c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB YB GB ZB Q HB IB JB KB LB MB NB OB PB QB RB SB TB UB aB bB R S T U V W X Y Z P a H lB mB nB"},E:{"1":"I b J D E F A B C K L G pB qB rB sB dB VB WB tB uB vB","2":"oB cB"},F:{"1":"0 1 2 3 4 5 6 7 8 9 B C G M N O c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB GB Q HB IB JB KB LB MB NB OB PB QB RB SB TB UB wB xB yB zB VB eB 0B WB","2":"F"},G:{"1":"E cB 1B fB 2B 3B 4B 5B 6B 7B 8B 9B AC BC CC DC EC FC GC HC IC JC"},H:{"1":"KC"},I:{"1":"XB I H LC MC NC OC fB PC QC"},J:{"1":"D A"},K:{"1":"A B C Q VB eB WB"},L:{"1":"H"},M:{"1":"P"},N:{"4":"A B"},O:{"1":"RC"},P:{"1":"I SC TC UC VC WC dB XC YC ZC aC"},Q:{"1":"bC"},R:{"1":"cC"},S:{"1":"dC"}},B:1,C:"Cross-document messaging"}; diff --git a/tools/node_modules/@babel/core/node_modules/caniuse-lite/data/features/x-frame-options.js b/tools/node_modules/@babel/core/node_modules/caniuse-lite/data/features/x-frame-options.js new file mode 100644 index 00000000000000..652a008f5f4a8d --- /dev/null +++ b/tools/node_modules/@babel/core/node_modules/caniuse-lite/data/features/x-frame-options.js @@ -0,0 +1 @@ +module.exports={A:{A:{"1":"E F A B","2":"J D gB"},B:{"1":"C K L G M N O","4":"R S T U V W X Y Z P a H"},C:{"1":"0 1 2 3 4 5 6 7 8 9 O c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB YB GB ZB Q HB IB JB KB LB MB NB","4":"I b J D E F A B C K L G M N OB PB QB RB SB TB UB aB bB R S T iB U V W X Y Z P a H","16":"hB XB jB kB"},D:{"4":"0 1 2 3 4 5 6 7 8 9 j k l m n o p q r s t u v w x y z AB BB CB DB EB FB YB GB ZB Q HB IB JB KB LB MB NB OB PB QB RB SB TB UB aB bB R S T U V W X Y Z P a H lB mB nB","16":"I b J D E F A B C K L G M N O c d e f g h i"},E:{"4":"J D E F A B C K L G pB qB rB sB dB VB WB tB uB vB","16":"I b oB cB"},F:{"4":"0 1 2 3 4 5 6 7 8 9 C G M N O c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB GB Q HB IB JB KB LB MB NB OB PB QB RB SB TB UB 0B WB","16":"F B wB xB yB zB VB eB"},G:{"4":"E 4B 5B 6B 7B 8B 9B AC BC CC DC EC FC GC HC IC JC","16":"cB 1B fB 2B 3B"},H:{"2":"KC"},I:{"4":"I H OC fB PC QC","16":"XB LC MC NC"},J:{"4":"D A"},K:{"4":"Q WB","16":"A B C VB eB"},L:{"4":"H"},M:{"4":"P"},N:{"1":"A B"},O:{"4":"RC"},P:{"4":"I SC TC UC VC WC dB XC YC ZC aC"},Q:{"4":"bC"},R:{"4":"cC"},S:{"1":"dC"}},B:6,C:"X-Frame-Options HTTP header"}; diff --git a/tools/node_modules/@babel/core/node_modules/caniuse-lite/data/features/xhr2.js b/tools/node_modules/@babel/core/node_modules/caniuse-lite/data/features/xhr2.js new file mode 100644 index 00000000000000..7881f4de78abf5 --- /dev/null +++ b/tools/node_modules/@babel/core/node_modules/caniuse-lite/data/features/xhr2.js @@ -0,0 +1 @@ +module.exports={A:{A:{"2":"J D E F gB","132":"A B"},B:{"1":"C K L G M N O R S T U V W X Y Z P a H"},C:{"1":"0 1 2 3 4 5 6 7 8 9 C K L G M N O c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB YB GB ZB Q HB IB JB KB LB MB NB OB PB QB RB SB TB UB aB bB R S T iB U V W X Y Z P a H","2":"hB XB","260":"A B","388":"J D E F","900":"I b jB kB"},D:{"1":"0 1 2 3 4 5 6 7 8 9 o p q r s t u v w x y z AB BB CB DB EB FB YB GB ZB Q HB IB JB KB LB MB NB OB PB QB RB SB TB UB aB bB R S T U V W X Y Z P a H lB mB nB","16":"I b J","132":"m n","388":"D E F A B C K L G M N O c d e f g h i j k l"},E:{"1":"E F A B C K L G rB sB dB VB WB tB uB vB","2":"I oB cB","132":"D qB","388":"b J pB"},F:{"1":"0 1 2 3 4 5 6 7 8 9 C O c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB GB Q HB IB JB KB LB MB NB OB PB QB RB SB TB UB WB","2":"F B wB xB yB zB VB eB 0B","132":"G M N"},G:{"1":"E 5B 6B 7B 8B 9B AC BC CC DC EC FC GC HC IC JC","2":"cB 1B fB","132":"4B","388":"2B 3B"},H:{"2":"KC"},I:{"1":"H QC","2":"LC MC NC","388":"PC","900":"XB I OC fB"},J:{"132":"A","388":"D"},K:{"1":"C Q WB","2":"A B VB eB"},L:{"1":"H"},M:{"1":"P"},N:{"132":"A B"},O:{"1":"RC"},P:{"1":"I SC TC UC VC WC dB XC YC ZC aC"},Q:{"1":"bC"},R:{"1":"cC"},S:{"1":"dC"}},B:1,C:"XMLHttpRequest advanced features"}; diff --git a/tools/node_modules/@babel/core/node_modules/caniuse-lite/data/features/xhtml.js b/tools/node_modules/@babel/core/node_modules/caniuse-lite/data/features/xhtml.js new file mode 100644 index 00000000000000..bb883ffc0ea32d --- /dev/null +++ b/tools/node_modules/@babel/core/node_modules/caniuse-lite/data/features/xhtml.js @@ -0,0 +1 @@ +module.exports={A:{A:{"1":"F A B","2":"J D E gB"},B:{"1":"C K L G M N O R S T U V W X Y Z P a H"},C:{"1":"0 1 2 3 4 5 6 7 8 9 hB XB I b J D E F A B C K L G M N O c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB YB GB ZB Q HB IB JB KB LB MB NB OB PB QB RB SB TB UB aB bB R S T iB U V W X Y Z P a H jB kB"},D:{"1":"0 1 2 3 4 5 6 7 8 9 I b J D E F A B C K L G M N O c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB YB GB ZB Q HB IB JB KB LB MB NB OB PB QB RB SB TB UB aB bB R S T U V W X Y Z P a H lB mB nB"},E:{"1":"I b J D E F A B C K L G oB cB pB qB rB sB dB VB WB tB uB vB"},F:{"1":"0 1 2 3 4 5 6 7 8 9 F B C G M N O c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB GB Q HB IB JB KB LB MB NB OB PB QB RB SB TB UB wB xB yB zB VB eB 0B WB"},G:{"1":"E cB 1B fB 2B 3B 4B 5B 6B 7B 8B 9B AC BC CC DC EC FC GC HC IC JC"},H:{"1":"KC"},I:{"1":"XB I H LC MC NC OC fB PC QC"},J:{"1":"D A"},K:{"1":"A B C Q VB eB WB"},L:{"1":"H"},M:{"1":"P"},N:{"1":"A B"},O:{"1":"RC"},P:{"1":"I SC TC UC VC WC dB XC YC ZC aC"},Q:{"1":"bC"},R:{"2":"cC"},S:{"1":"dC"}},B:1,C:"XHTML served as application/xhtml+xml"}; diff --git a/tools/node_modules/@babel/core/node_modules/caniuse-lite/data/features/xhtmlsmil.js b/tools/node_modules/@babel/core/node_modules/caniuse-lite/data/features/xhtmlsmil.js new file mode 100644 index 00000000000000..fc3c1f9d621f99 --- /dev/null +++ b/tools/node_modules/@babel/core/node_modules/caniuse-lite/data/features/xhtmlsmil.js @@ -0,0 +1 @@ +module.exports={A:{A:{"2":"F A B gB","4":"J D E"},B:{"2":"C K L G M N O","8":"R S T U V W X Y Z P a H"},C:{"8":"0 1 2 3 4 5 6 7 8 9 hB XB I b J D E F A B C K L G M N O c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB YB GB ZB Q HB IB JB KB LB MB NB OB PB QB RB SB TB UB aB bB R S T iB U V W X Y Z P a H jB kB"},D:{"8":"0 1 2 3 4 5 6 7 8 9 I b J D E F A B C K L G M N O c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB YB GB ZB Q HB IB JB KB LB MB NB OB PB QB RB SB TB UB aB bB R S T U V W X Y Z P a H lB mB nB"},E:{"8":"I b J D E F A B C K L G oB cB pB qB rB sB dB VB WB tB uB vB"},F:{"8":"0 1 2 3 4 5 6 7 8 9 F B C G M N O c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB GB Q HB IB JB KB LB MB NB OB PB QB RB SB TB UB wB xB yB zB VB eB 0B WB"},G:{"8":"E cB 1B fB 2B 3B 4B 5B 6B 7B 8B 9B AC BC CC DC EC FC GC HC IC JC"},H:{"8":"KC"},I:{"8":"XB I H LC MC NC OC fB PC QC"},J:{"8":"D A"},K:{"8":"A B C Q VB eB WB"},L:{"8":"H"},M:{"8":"P"},N:{"2":"A B"},O:{"8":"RC"},P:{"8":"I SC TC UC VC WC dB XC YC ZC aC"},Q:{"8":"bC"},R:{"8":"cC"},S:{"8":"dC"}},B:7,C:"XHTML+SMIL animation"}; diff --git a/tools/node_modules/@babel/core/node_modules/caniuse-lite/data/features/xml-serializer.js b/tools/node_modules/@babel/core/node_modules/caniuse-lite/data/features/xml-serializer.js new file mode 100644 index 00000000000000..f2377e1a99b89f --- /dev/null +++ b/tools/node_modules/@babel/core/node_modules/caniuse-lite/data/features/xml-serializer.js @@ -0,0 +1 @@ +module.exports={A:{A:{"1":"A B","260":"J D E F gB"},B:{"1":"C K L G M N O R S T U V W X Y Z P a H"},C:{"1":"0 1 2 3 4 5 6 7 8 9 C K L G M N O c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB YB GB ZB Q HB IB JB KB LB MB NB OB PB QB RB SB TB UB aB bB R S T iB U V W X Y Z P a H","132":"B","260":"hB XB I b J D jB kB","516":"E F A"},D:{"1":"0 1 2 3 4 5 6 7 8 9 o p q r s t u v w x y z AB BB CB DB EB FB YB GB ZB Q HB IB JB KB LB MB NB OB PB QB RB SB TB UB aB bB R S T U V W X Y Z P a H lB mB nB","132":"I b J D E F A B C K L G M N O c d e f g h i j k l m n"},E:{"1":"E F A B C K L G rB sB dB VB WB tB uB vB","132":"I b J D oB cB pB qB"},F:{"1":"0 1 2 3 4 5 6 7 8 9 O c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB GB Q HB IB JB KB LB MB NB OB PB QB RB SB TB UB","16":"F wB","132":"B C G M N xB yB zB VB eB 0B WB"},G:{"1":"E 5B 6B 7B 8B 9B AC BC CC DC EC FC GC HC IC JC","132":"cB 1B fB 2B 3B 4B"},H:{"132":"KC"},I:{"1":"H PC QC","132":"XB I LC MC NC OC fB"},J:{"132":"D A"},K:{"1":"Q","16":"A","132":"B C VB eB WB"},L:{"1":"H"},M:{"1":"P"},N:{"1":"A B"},O:{"1":"RC"},P:{"1":"I SC TC UC VC WC dB XC YC ZC aC"},Q:{"1":"bC"},R:{"1":"cC"},S:{"1":"dC"}},B:4,C:"DOM Parsing and Serialization"}; diff --git a/tools/node_modules/@babel/core/node_modules/caniuse-lite/data/regions/AD.js b/tools/node_modules/@babel/core/node_modules/caniuse-lite/data/regions/AD.js new file mode 100644 index 00000000000000..6aa01337ab9e4f --- /dev/null +++ b/tools/node_modules/@babel/core/node_modules/caniuse-lite/data/regions/AD.js @@ -0,0 +1 @@ +module.exports={C:{"45":0.01107,"52":0.01107,"66":0.00554,"72":0.01661,"77":0.00554,"78":0.26573,"84":0.01107,"85":0.02768,"86":0.09411,"87":0.04429,"88":4.18522,"89":0.01107,_:"2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 46 47 48 49 50 51 53 54 55 56 57 58 59 60 61 62 63 64 65 67 68 69 70 71 73 74 75 76 79 80 81 82 83 90 91 3.5 3.6"},D:{"24":0.02214,"25":0.00554,"38":0.01107,"49":1.49472,"53":0.11626,"57":0.02214,"58":0.05536,"62":0.01661,"65":0.00554,"67":0.01107,"68":0.01107,"70":0.01661,"74":0.04429,"75":0.09411,"77":0.05536,"78":0.01661,"79":0.02214,"80":0.34877,"81":0.12179,"83":0.04429,"84":0.04982,"85":0.04429,"86":0.04982,"87":3.67037,"88":0.87469,"89":0.95773,"90":25.91955,"91":0.64771,"92":0.03322,_:"4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 26 27 28 29 30 31 32 33 34 35 36 37 39 40 41 42 43 44 45 46 47 48 50 51 52 54 55 56 59 60 61 63 64 66 69 71 72 73 76 93 94"},F:{"36":0.00554,"73":0.04429,"75":0.64771,"76":0.44842,_:"9 11 12 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 60 62 63 64 65 66 67 68 69 70 71 72 74 9.5-9.6 10.5 10.6 11.1 11.5 11.6 12.1","10.0-10.1":0},G:{"8":0,"3.2":0,"4.0-4.1":0,"4.2-4.3":0,"5.0-5.1":0,"6.0-6.1":0.00305,"7.0-7.1":0.00457,"8.1-8.4":0.02438,"9.0-9.2":0.00457,"9.3":0.43418,"10.0-10.2":0.00609,"10.3":0.30012,"11.0-11.2":0.0259,"11.3-11.4":0.10055,"12.0-12.1":0.0518,"12.2-12.4":0.1234,"13.0-13.1":0.08227,"13.2":0.00762,"13.3":0.09598,"13.4-13.7":0.53473,"14.0-14.4":10.72809,"14.5-14.6":2.11911},E:{"4":0,"12":0.02214,"13":0.07197,"14":5.97334,_:"0 5 6 7 8 9 10 11 3.1 3.2 5.1 6.1 7.1","9.1":0.0609,"10.1":0.02214,"11.1":0.12733,"12.1":0.12733,"13.1":1.05184,"14.1":2.19779},B:{"14":0.01107,"15":0.03875,"16":0.01107,"18":0.06643,"86":0.01107,"87":0.01107,"88":0.00554,"89":0.07197,"90":2.38048,"91":0.17162,_:"12 13 17 79 80 81 83 84 85"},P:{"4":0.15038,"5.0-5.4":0.02061,"6.2-6.4":0.01048,"7.2-7.4":0.32486,"8.2":0.03018,"9.2":0.15719,"10.1":0.05153,"11.1-11.2":0.03222,"12.0":0.03222,"13.0":0.08593,"14.0":1.76161},I:{"0":0,"3":0,"4":0,"2.1":0,"2.2":0,"2.3":0,"4.1":0,"4.2-4.3":0.00347,"4.4":0,"4.4.3-4.4.4":0.05902},K:{_:"0 10 11 12 11.1 11.5 12.1"},A:{"11":0.28787,_:"6 7 8 9 10 5.5"},J:{"7":0,"10":0},N:{_:"10 11"},S:{"2.5":0},R:{_:"0"},M:{"0":0.32141},Q:{"10.4":0},O:{"0":0},H:{"0":0.12256},L:{"0":28.65493}}; diff --git a/tools/node_modules/@babel/core/node_modules/caniuse-lite/data/regions/AE.js b/tools/node_modules/@babel/core/node_modules/caniuse-lite/data/regions/AE.js new file mode 100644 index 00000000000000..f27511d65d008f --- /dev/null +++ b/tools/node_modules/@babel/core/node_modules/caniuse-lite/data/regions/AE.js @@ -0,0 +1 @@ +module.exports={C:{"52":0.00826,"68":0.00826,"77":0.00413,"78":0.02478,"80":0.00413,"84":0.01652,"85":0.01239,"86":0.01652,"87":0.02891,"88":0.96229,"89":0.01239,"90":0.00826,_:"2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 69 70 71 72 73 74 75 76 79 81 82 83 91 3.5 3.6"},D:{"22":0.00413,"34":0.00826,"35":0.56168,"38":0.02891,"47":0.00826,"49":0.22715,"53":0.00826,"56":0.01652,"63":0.00826,"64":0.00826,"65":0.02065,"66":0.00413,"67":0.02065,"68":0.01652,"69":0.01652,"70":0.01239,"71":0.02065,"72":0.02065,"73":0.01239,"74":0.01239,"75":0.03304,"76":0.0413,"77":0.01239,"78":0.01652,"79":0.07021,"80":0.03717,"81":0.02478,"83":0.06195,"84":0.03304,"85":0.04543,"86":0.08673,"87":0.69797,"88":0.23128,"89":0.90447,"90":24.94933,"91":1.03663,"92":0.02891,_:"4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 23 24 25 26 27 28 29 30 31 32 33 36 37 39 40 41 42 43 44 45 46 48 50 51 52 54 55 57 58 59 60 61 62 93 94"},F:{"36":0.00413,"46":0.00413,"66":0.00413,"73":0.0826,"74":0.00826,"75":0.32627,"76":0.33866,_:"9 11 12 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 37 38 39 40 41 42 43 44 45 47 48 49 50 51 52 53 54 55 56 57 58 60 62 63 64 65 67 68 69 70 71 72 9.5-9.6 10.5 10.6 11.1 11.5 11.6 12.1","10.0-10.1":0},G:{"8":0.00146,"3.2":0,"4.0-4.1":0,"4.2-4.3":0,"5.0-5.1":0.01461,"6.0-6.1":0,"7.0-7.1":0.03068,"8.1-8.4":0.00584,"9.0-9.2":0.00438,"9.3":0.16947,"10.0-10.2":0.02776,"10.3":0.09642,"11.0-11.2":0.11687,"11.3-11.4":0.05113,"12.0-12.1":0.03506,"12.2-12.4":0.20161,"13.0-13.1":0.05113,"13.2":0.02337,"13.3":0.1271,"13.4-13.7":0.43243,"14.0-14.4":9.90935,"14.5-14.6":2.68953},E:{"4":0,"11":0.01239,"12":0.01239,"13":0.07847,"14":2.75471,_:"0 5 6 7 8 9 10 3.1 3.2 6.1 7.1 9.1","5.1":0.02478,"10.1":0.01652,"11.1":0.03717,"12.1":0.09086,"13.1":0.46669,"14.1":0.81774},B:{"13":0.00413,"14":0.00826,"15":0.01239,"16":0.01239,"17":0.01652,"18":0.07847,"84":0.01239,"85":0.00826,"86":0.00413,"88":0.01239,"89":0.05782,"90":2.53582,"91":0.2065,_:"12 79 80 81 83 87"},P:{"4":0.18507,"5.0-5.4":0.01052,"6.2-6.4":0.09153,"7.2-7.4":0.03085,"8.2":0.02034,"9.2":0.03085,"10.1":0.06169,"11.1-11.2":0.14394,"12.0":0.07197,"13.0":0.29817,"14.0":2.44705},I:{"0":0,"3":0,"4":0.00168,"2.1":0,"2.2":0,"2.3":0,"4.1":0.00168,"4.2-4.3":0.00419,"4.4":0,"4.4.3-4.4.4":0.05115},K:{_:"0 10 11 12 11.1 11.5 12.1"},A:{"11":0.44604,_:"6 7 8 9 10 5.5"},J:{"7":0,"10":0.01174},N:{"10":0.01297,"11":0.01825},S:{"2.5":0},R:{_:"0"},M:{"0":0.11153},Q:{"10.4":0.02348},O:{"0":5.72325},H:{"0":1.30042},L:{"0":36.01123}}; diff --git a/tools/node_modules/@babel/core/node_modules/caniuse-lite/data/regions/AF.js b/tools/node_modules/@babel/core/node_modules/caniuse-lite/data/regions/AF.js new file mode 100644 index 00000000000000..6cf984f080ad6c --- /dev/null +++ b/tools/node_modules/@babel/core/node_modules/caniuse-lite/data/regions/AF.js @@ -0,0 +1 @@ +module.exports={C:{"17":0.00403,"19":0.00202,"23":0.00202,"30":0.00202,"34":0.00202,"38":0.0121,"39":0.00403,"40":0.00403,"41":0.00605,"44":0.00202,"45":0.00202,"47":0.00202,"48":0.00605,"49":0.00202,"50":0.00202,"52":0.00403,"55":0.01009,"56":0.00605,"57":0.00403,"58":0.00605,"64":0.00202,"68":0.00202,"72":0.02622,"73":0.00403,"74":0.00202,"78":0.03631,"79":0.00605,"81":0.01009,"82":0.00605,"83":0.01614,"84":0.00807,"85":0.01009,"86":0.06454,"87":0.05648,"88":1.42199,"89":0.05244,_:"2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 18 20 21 22 24 25 26 27 28 29 31 32 33 35 36 37 42 43 46 51 53 54 59 60 61 62 63 65 66 67 69 70 71 75 76 77 80 90 91 3.5 3.6"},D:{"18":0.00605,"20":0.00807,"23":0.0121,"26":0.00202,"31":0.00605,"33":0.00605,"34":0.01412,"36":0.00403,"37":0.00403,"39":0.00403,"40":0.00403,"41":0.00403,"43":0.0706,"44":0.00202,"46":0.00202,"47":0.00605,"48":0.00605,"49":0.01009,"50":0.00202,"51":0.00202,"52":0.00807,"53":0.00202,"55":0.0121,"56":0.00403,"57":0.00403,"58":0.00605,"59":0.00202,"60":0.01412,"61":0.00605,"62":0.01614,"63":0.0121,"64":0.0121,"66":0.00403,"67":0.00605,"68":0.00403,"69":0.00403,"70":0.0121,"71":0.0121,"72":0.01009,"73":0.0121,"74":0.01009,"75":0.01009,"76":0.00605,"77":0.01815,"78":0.01614,"79":0.06858,"80":0.04034,"81":0.04236,"83":0.06454,"84":0.07866,"85":0.03832,"86":0.0827,"87":0.16338,"88":0.11699,"89":0.47803,"90":11.44042,"91":0.36709,"92":0.02017,_:"4 5 6 7 8 9 10 11 12 13 14 15 16 17 19 21 22 24 25 27 28 29 30 32 35 38 42 45 54 65 93 94"},F:{"64":0.00605,"70":0.00202,"72":0.00202,"73":0.00807,"74":0.00605,"75":0.17548,"76":0.35701,_:"9 11 12 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 60 62 63 65 66 67 68 69 71 9.5-9.6 10.5 10.6 11.1 11.5 11.6 12.1","10.0-10.1":0},G:{"8":0,"3.2":0,"4.0-4.1":0.00387,"4.2-4.3":0.00387,"5.0-5.1":0,"6.0-6.1":0,"7.0-7.1":0.01782,"8.1-8.4":0.00155,"9.0-9.2":0.0124,"9.3":0.05423,"10.0-10.2":0.0093,"10.3":0.14101,"11.0-11.2":0.07903,"11.3-11.4":0.1658,"12.0-12.1":0.15805,"12.2-12.4":0.46176,"13.0-13.1":0.10769,"13.2":0.03719,"13.3":0.21616,"13.4-13.7":0.5005,"14.0-14.4":4.21939,"14.5-14.6":0.90725},E:{"4":0,"11":0.00202,"13":0.0242,"14":0.19968,_:"0 5 6 7 8 9 10 12 3.1 3.2 6.1 7.1 9.1 10.1","5.1":0.12304,"11.1":0.00202,"12.1":0.00807,"13.1":0.06253,"14.1":0.14321},B:{"12":0.01614,"13":0.02017,"14":0.01614,"15":0.01412,"16":0.03631,"17":0.03227,"18":0.16338,"80":0.00605,"81":0.00403,"83":0.00202,"84":0.01009,"85":0.01614,"87":0.00605,"88":0.00807,"89":0.05648,"90":0.90967,"91":0.06454,_:"79 86"},P:{"4":1.51895,"5.0-5.4":0.40237,"6.2-6.4":0.31184,"7.2-7.4":0.74439,"8.2":0.03018,"9.2":0.61362,"10.1":0.09053,"11.1-11.2":0.46273,"12.0":0.29172,"13.0":0.87516,"14.0":1.38818},I:{"0":0,"3":0,"4":0,"2.1":0,"2.2":0,"2.3":0,"4.1":0.00913,"4.2-4.3":0.0341,"4.4":0,"4.4.3-4.4.4":0.31601},K:{_:"0 10 11 12 11.1 11.5 12.1"},A:{"8":0.00608,"9":0.01825,"11":0.76634,_:"6 7 10 5.5"},J:{"7":0,"10":0},N:{_:"10 11"},S:{"2.5":0},R:{_:"0"},M:{"0":0.16764},Q:{"10.4":0},O:{"0":2.15541},H:{"0":1.13367},L:{"0":63.50401}}; diff --git a/tools/node_modules/@babel/core/node_modules/caniuse-lite/data/regions/AG.js b/tools/node_modules/@babel/core/node_modules/caniuse-lite/data/regions/AG.js new file mode 100644 index 00000000000000..782aa6e61e25d2 --- /dev/null +++ b/tools/node_modules/@babel/core/node_modules/caniuse-lite/data/regions/AG.js @@ -0,0 +1 @@ +module.exports={C:{"52":0.01078,"58":0.00359,"62":0.00359,"68":0.00359,"78":0.03235,"80":0.01078,"84":0.02875,"85":0.00719,"86":0.01078,"87":0.02516,"88":1.08179,_:"2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 53 54 55 56 57 59 60 61 63 64 65 66 67 69 70 71 72 73 74 75 76 77 79 81 82 83 89 90 91 3.5 3.6"},D:{"38":0.00719,"41":0.00719,"46":0.00359,"49":0.31987,"52":0.00719,"53":0.02875,"54":0.00359,"55":0.00359,"59":0.00359,"63":0.00719,"65":0.00719,"67":0.01438,"68":0.00359,"70":0.01438,"72":0.00719,"74":0.2408,"75":0.02156,"76":0.0575,"77":0.02156,"78":0.02516,"79":0.02875,"80":0.01438,"81":0.02516,"83":0.01438,"84":0.03235,"85":0.01438,"86":0.00719,"87":0.11141,"88":0.05391,"89":0.83021,"90":16.7732,"91":0.84818,"92":0.00359,_:"4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 39 40 42 43 44 45 47 48 50 51 56 57 58 60 61 62 64 66 69 71 73 93 94"},F:{"36":0.00719,"73":0.01078,"75":0.07907,"76":0.64333,_:"9 11 12 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 60 62 63 64 65 66 67 68 69 70 71 72 74 9.5-9.6 10.5 10.6 11.1 11.5 11.6 12.1","10.0-10.1":0},G:{"8":0,"3.2":0,"4.0-4.1":0,"4.2-4.3":0,"5.0-5.1":0.00398,"6.0-6.1":0,"7.0-7.1":0.01859,"8.1-8.4":0,"9.0-9.2":0,"9.3":0.06372,"10.0-10.2":0.00398,"10.3":0.09691,"11.0-11.2":0.01328,"11.3-11.4":0.01328,"12.0-12.1":0.02522,"12.2-12.4":0.17258,"13.0-13.1":0.02655,"13.2":0,"13.3":0.05841,"13.4-13.7":0.44075,"14.0-14.4":9.78405,"14.5-14.6":1.97539},E:{"4":0,"13":0.07907,"14":1.81856,_:"0 5 6 7 8 9 10 11 12 3.1 3.2 6.1 7.1","5.1":0.15095,"9.1":0.40253,"10.1":0.00719,"11.1":0.01438,"12.1":0.08266,"13.1":0.51394,"14.1":0.37378},B:{"12":0.00359,"13":0.01438,"14":0.01797,"15":0.00719,"16":0.01797,"17":0.02156,"18":0.09704,"84":0.01438,"86":0.00359,"87":0.01438,"88":0.04313,"89":0.10423,"90":4.24092,"91":0.28033,_:"79 80 81 83 85"},P:{"4":0.05161,"5.0-5.4":0.01035,"6.2-6.4":0.02052,"7.2-7.4":0.27869,"8.2":0.03078,"9.2":0.17547,"10.1":0.05174,"11.1-11.2":0.25805,"12.0":0.0929,"13.0":0.69157,"14.0":4.47975},I:{"0":0,"3":0,"4":0.00413,"2.1":0,"2.2":0,"2.3":0,"4.1":0,"4.2-4.3":0.00165,"4.4":0,"4.4.3-4.4.4":0.01984},K:{_:"0 10 11 12 11.1 11.5 12.1"},A:{"6":3.07267,"11":0.1763,_:"7 8 9 10 5.5"},J:{"7":0,"10":0.00641},N:{_:"10 11"},S:{"2.5":0},R:{_:"0"},M:{"0":0.3203},Q:{"10.4":0},O:{"0":0.08968},H:{"0":0.1031},L:{"0":47.14905}}; diff --git a/tools/node_modules/@babel/core/node_modules/caniuse-lite/data/regions/AI.js b/tools/node_modules/@babel/core/node_modules/caniuse-lite/data/regions/AI.js new file mode 100644 index 00000000000000..0ad43080a78c1b --- /dev/null +++ b/tools/node_modules/@babel/core/node_modules/caniuse-lite/data/regions/AI.js @@ -0,0 +1 @@ +module.exports={C:{"78":0.01661,"80":0.09967,"85":0.00831,"86":0.03322,"87":0.00831,"88":1.11716,_:"2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 79 81 82 83 84 89 90 91 3.5 3.6"},D:{"23":0.01246,"24":0.00415,"35":0.01246,"49":0.19934,"53":0.01246,"63":0.02907,"65":0.02907,"66":0.01246,"67":0.00415,"69":0.00415,"72":0.01246,"73":0.04984,"74":0.94688,"75":0.01246,"76":0.06645,"77":0.04984,"78":0.00415,"80":0.01661,"81":0.03738,"83":0.00831,"84":0.02907,"85":0.03322,"86":0.01661,"87":0.0623,"88":0.03738,"89":0.57727,"90":19.98839,"91":0.4776,"92":0.14536,_:"4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 25 26 27 28 29 30 31 32 33 34 36 37 38 39 40 41 42 43 44 45 46 47 48 50 51 52 54 55 56 57 58 59 60 61 62 64 68 70 71 79 93 94"},F:{"73":0.02907,"75":0.26164,"76":0.12044,_:"9 11 12 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 60 62 63 64 65 66 67 68 69 70 71 72 74 9.5-9.6 10.5 10.6 11.1 11.5 11.6 12.1","10.0-10.1":0},G:{"8":0,"3.2":0,"4.0-4.1":0,"4.2-4.3":0,"5.0-5.1":0.00314,"6.0-6.1":0,"7.0-7.1":0.00314,"8.1-8.4":0.00943,"9.0-9.2":0,"9.3":0.06131,"10.0-10.2":0.00786,"10.3":0.07389,"11.0-11.2":0.11162,"11.3-11.4":0.01572,"12.0-12.1":0.0283,"12.2-12.4":0.22009,"13.0-13.1":0.02673,"13.2":0.00943,"13.3":0.11476,"13.4-13.7":0.4339,"14.0-14.4":12.09414,"14.5-14.6":1.80162},E:{"4":0,"12":0.01661,"13":0.27825,"14":2.58732,_:"0 5 6 7 8 9 10 11 3.1 3.2 5.1 6.1 7.1 10.1","9.1":0.57727,"11.1":0.07475,"12.1":0.04153,"13.1":0.25333,"14.1":0.52328},B:{"12":0.02077,"13":0.01246,"16":0.04568,"18":0.33224,"81":0.00415,"85":0.00831,"86":0.00415,"88":0.01661,"89":0.27825,"90":7.72873,"91":0.30317,_:"14 15 17 79 80 83 84 87"},P:{"4":0.03105,"5.0-5.4":0.01035,"6.2-6.4":0.02052,"7.2-7.4":0.25871,"8.2":0.03078,"9.2":0.11383,"10.1":0.05174,"11.1-11.2":0.40359,"12.0":0.12418,"13.0":0.63125,"14.0":3.45635},I:{"0":0,"3":0,"4":0.00115,"2.1":0,"2.2":0,"2.3":0,"4.1":0,"4.2-4.3":0.00092,"4.4":0,"4.4.3-4.4.4":0.01546},K:{_:"0 10 11 12 11.1 11.5 12.1"},A:{"11":0.2035,_:"6 7 8 9 10 5.5"},J:{"7":0,"10":0.11109},N:{_:"10 11"},S:{"2.5":0},R:{_:"0"},M:{"0":0.14618},Q:{"10.4":0},O:{"0":0.04093},H:{"0":0.47606},L:{"0":40.75151}}; diff --git a/tools/node_modules/@babel/core/node_modules/caniuse-lite/data/regions/AL.js b/tools/node_modules/@babel/core/node_modules/caniuse-lite/data/regions/AL.js new file mode 100644 index 00000000000000..3d07967009b084 --- /dev/null +++ b/tools/node_modules/@babel/core/node_modules/caniuse-lite/data/regions/AL.js @@ -0,0 +1 @@ +module.exports={C:{"29":0.00594,"47":0.00198,"48":0.00396,"52":0.01386,"55":0.00594,"66":0.11088,"78":0.02178,"79":0.00198,"80":0.00594,"81":0.00792,"82":0.00792,"83":0.00594,"84":0.00594,"85":0.00198,"86":0.0099,"87":0.0198,"88":0.92664,"89":0.0099,_:"2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 49 50 51 53 54 56 57 58 59 60 61 62 63 64 65 67 68 69 70 71 72 73 74 75 76 77 90 91 3.5 3.6"},D:{"26":0.00198,"34":0.00396,"38":0.01188,"47":0.00396,"48":0.00198,"49":0.32076,"52":0.00198,"53":0.05346,"55":0.00594,"56":0.00198,"58":0.00594,"61":0.05742,"62":0.00198,"63":0.00594,"65":0.00396,"66":0.00594,"68":0.02772,"69":0.00396,"70":0.00594,"71":0.02376,"72":0.00396,"73":0.00198,"74":0.01386,"75":0.02376,"76":0.01188,"77":0.01584,"78":0.0297,"79":0.02376,"80":0.0198,"81":0.01584,"83":0.03168,"84":0.05544,"85":0.04356,"86":0.08514,"87":0.12078,"88":0.08514,"89":0.48708,"90":13.81446,"91":0.43758,"92":0.00396,_:"4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 27 28 29 30 31 32 33 35 36 37 39 40 41 42 43 44 45 46 50 51 54 57 59 60 64 67 93 94"},F:{"40":0.00396,"46":0.00594,"68":0.00198,"73":0.01584,"74":0.0198,"75":0.16632,"76":0.26136,_:"9 11 12 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 41 42 43 44 45 47 48 49 50 51 52 53 54 55 56 57 58 60 62 63 64 65 66 67 69 70 71 72 9.5-9.6 10.5 10.6 11.1 11.5 11.6 12.1","10.0-10.1":0},G:{"8":0,"3.2":0,"4.0-4.1":0,"4.2-4.3":0,"5.0-5.1":0,"6.0-6.1":0.05017,"7.0-7.1":0.03942,"8.1-8.4":0.00717,"9.0-9.2":0.00717,"9.3":0.10751,"10.0-10.2":0.03584,"10.3":0.21861,"11.0-11.2":0.1326,"11.3-11.4":0.25086,"12.0-12.1":0.12901,"12.2-12.4":0.82426,"13.0-13.1":0.1541,"13.2":0.07884,"13.3":0.52681,"13.4-13.7":1.60909,"14.0-14.4":25.68454,"14.5-14.6":3.38303},E:{"4":0,"7":0.00396,"12":0.0099,"13":0.01386,"14":0.25938,_:"0 5 6 8 9 10 11 3.1 3.2 6.1 7.1 9.1","5.1":0.00198,"10.1":0.00198,"11.1":0.00792,"12.1":0.02574,"13.1":0.0495,"14.1":0.11484},B:{"12":0.00198,"15":0.00792,"17":0.0099,"18":0.02376,"84":0.00396,"85":0.00396,"87":0.00396,"88":0.00198,"89":0.01782,"90":0.7722,"91":0.02178,_:"13 14 16 79 80 81 83 86"},P:{"4":0.15301,"5.0-5.4":0.40237,"6.2-6.4":0.31184,"7.2-7.4":0.0816,"8.2":0.03018,"9.2":0.0306,"10.1":0.0816,"11.1-11.2":0.22441,"12.0":0.102,"13.0":0.43862,"14.0":2.52969},I:{"0":0,"3":0,"4":0,"2.1":0,"2.2":0,"2.3":0,"4.1":0.00334,"4.2-4.3":0.00802,"4.4":0,"4.4.3-4.4.4":0.0528},K:{_:"0 10 11 12 11.1 11.5 12.1"},A:{"8":0.0042,"11":0.0651,_:"6 7 9 10 5.5"},J:{"7":0,"10":0},N:{_:"10 11"},S:{"2.5":0},R:{_:"0"},M:{"0":0.13636},Q:{"10.4":0},O:{"0":0.03208},H:{"0":0.1215},L:{"0":43.55326}}; diff --git a/tools/node_modules/@babel/core/node_modules/caniuse-lite/data/regions/AM.js b/tools/node_modules/@babel/core/node_modules/caniuse-lite/data/regions/AM.js new file mode 100644 index 00000000000000..60c42f996c15ef --- /dev/null +++ b/tools/node_modules/@babel/core/node_modules/caniuse-lite/data/regions/AM.js @@ -0,0 +1 @@ +module.exports={C:{"42":0.01527,"43":0.01527,"52":38.56439,"56":0.01527,"78":0.04581,"84":0.00764,"85":0.06872,"87":0.03818,"88":1.15289,"89":0.01527,_:"2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 44 45 46 47 48 49 50 51 53 54 55 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 79 80 81 82 83 86 90 91 3.5 3.6"},D:{"22":0.00764,"24":0.00764,"49":2.02328,"63":0.01527,"65":0.01527,"67":0.01527,"71":0.00764,"72":0.01527,"73":0.02291,"75":0.01527,"76":0.02291,"77":0.01527,"78":0.01527,"79":0.04581,"80":0.03818,"81":0.01527,"83":0.02291,"84":0.04581,"85":0.05345,"86":0.06108,"87":0.42756,"88":0.19088,"89":0.60317,"90":26.14988,"91":0.88566,"92":0.03054,_:"4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 23 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 50 51 52 53 54 55 56 57 58 59 60 61 62 64 66 68 69 70 74 93 94"},F:{"73":0.05345,"74":0.00764,"75":0.46574,"76":0.54972,_:"9 11 12 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 60 62 63 64 65 66 67 68 69 70 71 72 9.5-9.6 10.5 10.6 11.1 11.5 11.6 12.1","10.0-10.1":0},G:{"8":0,"3.2":0,"4.0-4.1":0,"4.2-4.3":0,"5.0-5.1":0.00467,"6.0-6.1":0.00525,"7.0-7.1":0.00933,"8.1-8.4":0.00175,"9.0-9.2":0.00233,"9.3":0.12424,"10.0-10.2":0.00583,"10.3":0.063,"11.0-11.2":0.02158,"11.3-11.4":0.03558,"12.0-12.1":0.02275,"12.2-12.4":0.15516,"13.0-13.1":0.03325,"13.2":0.00875,"13.3":0.06241,"13.4-13.7":0.20299,"14.0-14.4":3.71626,"14.5-14.6":0.99279},E:{"4":0,"13":0.01527,"14":0.77114,_:"0 5 6 7 8 9 10 11 12 3.1 3.2 6.1 7.1 10.1","5.1":0.14507,"9.1":0.03054,"11.1":0.02291,"12.1":0.00764,"13.1":0.32067,"14.1":0.47337},B:{"18":0.01527,"86":0.06108,"89":0.02291,"90":0.74823,"91":0.03054,_:"12 13 14 15 16 17 79 80 81 83 84 85 87 88"},P:{"4":0.02187,"5.0-5.4":0.02061,"6.2-6.4":0.01048,"7.2-7.4":0.04374,"8.2":0.03018,"9.2":0.01094,"10.1":0.01094,"11.1-11.2":0.10936,"12.0":0.03281,"13.0":0.17498,"14.0":0.85301},I:{"0":0,"3":0,"4":0,"2.1":0,"2.2":0,"2.3":0,"4.1":0.00027,"4.2-4.3":0.0022,"4.4":0,"4.4.3-4.4.4":0.00698},K:{_:"0 10 11 12 11.1 11.5 12.1"},A:{"11":0.09926,_:"6 7 8 9 10 5.5"},J:{"7":0,"10":0},N:{_:"10 11"},S:{"2.5":0},R:{_:"0"},M:{"0":0.07092},Q:{"10.4":0},O:{"0":0.07328},H:{"0":0.15667},L:{"0":17.1011}}; diff --git a/tools/node_modules/@babel/core/node_modules/caniuse-lite/data/regions/AO.js b/tools/node_modules/@babel/core/node_modules/caniuse-lite/data/regions/AO.js new file mode 100644 index 00000000000000..08b2e941f9b6d0 --- /dev/null +++ b/tools/node_modules/@babel/core/node_modules/caniuse-lite/data/regions/AO.js @@ -0,0 +1 @@ +module.exports={C:{"35":0.00489,"41":0.04397,"46":0.00977,"47":0.00977,"52":0.07328,"60":0.01466,"64":0.00489,"66":0.00489,"68":0.02443,"72":0.00977,"78":0.16121,"85":0.00489,"86":0.00977,"87":0.02443,"88":1.88073,"89":0.02931,_:"2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 36 37 38 39 40 42 43 44 45 48 49 50 51 53 54 55 56 57 58 59 61 62 63 65 67 69 70 71 73 74 75 76 77 79 80 81 82 83 84 90 91 3.5 3.6"},D:{"11":0.00489,"25":0.00489,"26":0.01954,"28":0.00977,"33":0.00977,"38":0.00977,"40":0.0342,"41":0.00489,"42":0.02443,"43":0.12213,"46":0.02931,"47":0.00977,"48":0.02443,"49":0.08305,"50":0.00977,"53":0.00489,"55":0.01466,"56":0.00977,"58":0.00977,"59":0.00489,"62":0.00977,"63":0.15144,"65":0.01466,"66":0.00489,"67":0.01954,"69":0.26868,"70":0.00977,"71":0.0342,"72":0.00977,"73":0.00977,"74":0.00977,"75":0.05862,"76":0.00977,"77":0.01954,"78":0.01466,"79":0.17098,"80":0.03908,"81":0.0342,"83":0.04885,"84":0.0342,"85":0.04397,"86":0.22471,"87":1.00631,"88":0.15144,"89":3.79076,"90":20.53654,"91":1.04539,"92":0.01466,_:"4 5 6 7 8 9 10 12 13 14 15 16 17 18 19 20 21 22 23 24 27 29 30 31 32 34 35 36 37 39 44 45 51 52 54 57 60 61 64 68 93 94"},F:{"42":0.00489,"72":0.00489,"73":0.04397,"74":0.00977,"75":0.61551,"76":1.50947,_:"9 11 12 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 60 62 63 64 65 66 67 68 69 70 71 9.5-9.6 10.5 10.6 11.1 11.5 11.6 12.1","10.0-10.1":0},G:{"8":0.00249,"3.2":0,"4.0-4.1":0,"4.2-4.3":0,"5.0-5.1":0.0083,"6.0-6.1":0.00913,"7.0-7.1":0.44883,"8.1-8.4":0.03319,"9.0-9.2":0.00996,"9.3":0.96818,"10.0-10.2":0.03153,"10.3":0.30862,"11.0-11.2":0.08296,"11.3-11.4":0.10453,"12.0-12.1":0.05061,"12.2-12.4":0.53014,"13.0-13.1":0.03236,"13.2":0.00747,"13.3":0.2323,"13.4-13.7":0.24474,"14.0-14.4":3.27374,"14.5-14.6":0.79728},E:{"4":0,"8":0.0342,"11":0.00489,"13":0.00977,"14":0.42011,_:"0 5 6 7 9 10 12 3.1 3.2 6.1 7.1 9.1","5.1":0.03908,"10.1":0.01466,"11.1":0.10259,"12.1":0.05374,"13.1":0.27356,"14.1":0.19052},B:{"12":0.07328,"13":0.0342,"14":0.0342,"15":0.03908,"16":0.01954,"17":0.11724,"18":0.3908,"81":0.01954,"83":0.00977,"84":0.02443,"85":0.02443,"86":0.00977,"87":0.01466,"88":0.01466,"89":0.1319,"90":3.39019,"91":0.22471,_:"79 80"},P:{"4":1.22078,"5.0-5.4":0.10259,"6.2-6.4":0.02052,"7.2-7.4":0.19491,"8.2":0.03078,"9.2":0.08207,"10.1":0.21543,"11.1-11.2":0.11285,"12.0":0.21543,"13.0":0.50267,"14.0":0.96431},I:{"0":0,"3":0,"4":0.0045,"2.1":0,"2.2":0,"2.3":0,"4.1":0.07912,"4.2-4.3":0.08901,"4.4":0,"4.4.3-4.4.4":0.2468},K:{_:"0 10 11 12 11.1 11.5 12.1"},A:{"9":0.00797,"11":0.96415,_:"6 7 8 10 5.5"},J:{"7":0,"10":0.00512},N:{_:"10 11"},S:{"2.5":0.07673},R:{_:"0"},M:{"0":0.15857},Q:{"10.4":0.10742},O:{"0":0.53196},H:{"0":2.52297},L:{"0":44.60152}}; diff --git a/tools/node_modules/@babel/core/node_modules/caniuse-lite/data/regions/AR.js b/tools/node_modules/@babel/core/node_modules/caniuse-lite/data/regions/AR.js new file mode 100644 index 00000000000000..d6edae1d590ec2 --- /dev/null +++ b/tools/node_modules/@babel/core/node_modules/caniuse-lite/data/regions/AR.js @@ -0,0 +1 @@ +module.exports={C:{"52":0.07722,"53":0.00429,"59":0.01287,"66":0.01287,"68":0.00429,"72":0.00429,"73":0.00429,"75":0.00429,"76":0.00429,"78":0.05148,"79":0.00858,"80":0.00858,"82":0.00858,"84":0.01716,"85":0.02145,"86":0.01716,"87":0.0429,"88":1.62162,"89":0.01287,_:"2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 54 55 56 57 58 60 61 62 63 64 65 67 69 70 71 74 77 81 83 90 91 3.5 3.6"},D:{"22":0.00429,"26":0.00429,"34":0.01287,"35":0.00429,"38":0.03432,"49":0.42471,"50":0.00429,"53":0.01287,"55":0.00429,"58":0.01287,"61":0.15015,"62":0.00429,"63":0.01716,"65":0.01287,"66":0.0429,"67":0.00858,"68":0.00429,"69":0.00858,"70":0.00858,"71":0.01287,"72":0.00858,"73":0.00858,"74":0.01716,"75":0.01716,"76":0.02145,"77":0.01716,"78":0.03003,"79":0.06864,"80":0.04719,"81":0.06006,"83":0.05148,"84":0.0429,"85":0.0429,"86":0.08151,"87":0.20592,"88":0.14586,"89":0.74217,"90":31.25694,"91":1.05105,"92":0.01287,_:"4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 23 24 25 27 28 29 30 31 32 33 36 37 39 40 41 42 43 44 45 46 47 48 51 52 54 56 57 59 60 64 93 94"},F:{"36":0.00858,"73":0.20592,"74":0.00429,"75":0.75933,"76":0.43329,_:"9 11 12 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 60 62 63 64 65 66 67 68 69 70 71 72 9.5-9.6 10.5 10.6 11.1 11.5 11.6 12.1","10.0-10.1":0},G:{"8":0.00082,"3.2":0.00082,"4.0-4.1":0,"4.2-4.3":0,"5.0-5.1":0.03039,"6.0-6.1":0.00205,"7.0-7.1":0.00534,"8.1-8.4":0.00452,"9.0-9.2":0.00164,"9.3":0.05502,"10.0-10.2":0.00246,"10.3":0.03203,"11.0-11.2":0.0078,"11.3-11.4":0.04312,"12.0-12.1":0.01273,"12.2-12.4":0.04928,"13.0-13.1":0.01068,"13.2":0.00411,"13.3":0.03819,"13.4-13.7":0.15398,"14.0-14.4":2.83291,"14.5-14.6":0.5835},E:{"4":0,"13":0.01716,"14":0.36894,_:"0 5 6 7 8 9 10 11 12 3.1 3.2 6.1 7.1 9.1","5.1":0.24453,"10.1":0.00429,"11.1":0.02574,"12.1":0.02145,"13.1":0.09438,"14.1":0.20163},B:{"15":0.00858,"16":0.00429,"17":0.01287,"18":0.03432,"84":0.00429,"86":0.00858,"88":0.00858,"89":0.03861,"90":1.66881,"91":0.08151,_:"12 13 14 79 80 81 83 85 87"},P:{"4":0.19569,"5.0-5.4":0.02061,"6.2-6.4":0.01048,"7.2-7.4":0.1442,"8.2":0.03018,"9.2":0.0412,"10.1":0.0412,"11.1-11.2":0.20599,"12.0":0.0927,"13.0":0.39139,"14.0":2.14233},I:{"0":0,"3":0,"4":0.00021,"2.1":0,"2.2":0,"2.3":0,"4.1":0.00322,"4.2-4.3":0.00344,"4.4":0,"4.4.3-4.4.4":0.03309},K:{_:"0 10 11 12 11.1 11.5 12.1"},A:{"9":0.00902,"11":0.25267,_:"6 7 8 10 5.5"},J:{"7":0,"10":0},N:{_:"10 11"},S:{"2.5":0},R:{_:"0"},M:{"0":0.13704},Q:{"10.4":0},O:{"0":0.03997},H:{"0":0.19461},L:{"0":50.79563}}; diff --git a/tools/node_modules/@babel/core/node_modules/caniuse-lite/data/regions/AS.js b/tools/node_modules/@babel/core/node_modules/caniuse-lite/data/regions/AS.js new file mode 100644 index 00000000000000..a80d177aacf56d --- /dev/null +++ b/tools/node_modules/@babel/core/node_modules/caniuse-lite/data/regions/AS.js @@ -0,0 +1 @@ +module.exports={C:{"42":0.03009,"47":0.01003,"48":0.07523,"52":0.00502,"65":0.01505,"72":0.01505,"78":0.03511,"86":0.00502,"87":0.01505,"88":0.75225,_:"2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 43 44 45 46 49 50 51 53 54 55 56 57 58 59 60 61 62 63 64 66 67 68 69 70 71 73 74 75 76 77 79 80 81 82 83 84 85 89 90 91 3.5 3.6"},D:{"46":0.03009,"49":0.51153,"50":0.02006,"53":0.07021,"65":0.02508,"68":0.04012,"70":0.01505,"72":0.04012,"74":0.01505,"75":0.08024,"76":0.04514,"77":0.05517,"79":0.08526,"80":0.08024,"81":0.02006,"83":0.01003,"84":0.63691,"86":0.08526,"87":0.77231,"88":1.48444,"89":1.99096,"90":25.58152,"91":0.42126,"92":0.04514,_:"4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 47 48 51 52 54 55 56 57 58 59 60 61 62 63 64 66 67 69 71 73 78 85 93 94"},F:{"75":0.15547,"76":0.23571,_:"9 11 12 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 60 62 63 64 65 66 67 68 69 70 71 72 73 74 9.5-9.6 10.5 10.6 11.1 11.5 11.6 12.1","10.0-10.1":0},G:{"8":0.0284,"3.2":0,"4.0-4.1":0,"4.2-4.3":0,"5.0-5.1":0,"6.0-6.1":0,"7.0-7.1":0.00947,"8.1-8.4":0.41791,"9.0-9.2":0.0027,"9.3":0.01217,"10.0-10.2":0.02164,"10.3":0.12578,"11.0-11.2":0.05004,"11.3-11.4":0.04734,"12.0-12.1":0.01217,"12.2-12.4":0.22316,"13.0-13.1":0.01217,"13.2":0.0257,"13.3":0.04057,"13.4-13.7":0.67218,"14.0-14.4":7.69013,"14.5-14.6":2.55751},E:{"4":0,"11":0.04514,"12":0.03009,"13":0.05517,"14":1.30892,_:"0 5 6 7 8 9 10 3.1 3.2 5.1 6.1 7.1 9.1","10.1":0.0652,"11.1":0.02006,"12.1":0.07021,"13.1":0.35105,"14.1":0.29589},B:{"15":0.02508,"17":0.01003,"18":0.39619,"80":0.01505,"85":0.07021,"88":0.04514,"89":0.10532,"90":7.81337,"91":0.44634,_:"12 13 14 16 79 81 83 84 86 87"},P:{"4":0.52397,"5.0-5.4":0.02061,"6.2-6.4":0.01048,"7.2-7.4":0.32486,"8.2":0.03018,"9.2":0.15719,"10.1":0.05153,"11.1-11.2":0.45061,"12.0":0.04192,"13.0":0.29342,"14.0":1.58237},I:{"0":0,"3":0,"4":0,"2.1":0,"2.2":0,"2.3":0,"4.1":0,"4.2-4.3":0.00547,"4.4":0,"4.4.3-4.4.4":0.03441},K:{_:"0 10 11 12 11.1 11.5 12.1"},A:{"11":1.18354,_:"6 7 8 9 10 5.5"},J:{"7":0,"10":0},N:{_:"10 11"},S:{"2.5":0.07478},R:{_:"0"},M:{"0":0.06979},Q:{"10.4":0.0349},O:{"0":0.15454},H:{"0":0.23125},L:{"0":37.30328}}; diff --git a/tools/node_modules/@babel/core/node_modules/caniuse-lite/data/regions/AT.js b/tools/node_modules/@babel/core/node_modules/caniuse-lite/data/regions/AT.js new file mode 100644 index 00000000000000..e10f209cea1c23 --- /dev/null +++ b/tools/node_modules/@babel/core/node_modules/caniuse-lite/data/regions/AT.js @@ -0,0 +1 @@ +module.exports={C:{"48":0.01669,"52":0.08346,"57":0.00556,"60":0.05564,"61":0.00556,"62":0.01113,"66":0.10572,"68":0.0612,"69":0.01113,"72":0.03895,"74":0.00556,"75":0.01113,"76":0.03895,"77":0.00556,"78":0.44512,"79":0.01113,"80":0.00556,"81":0.02226,"82":0.01113,"83":0.03338,"84":0.05564,"85":0.0612,"86":0.06677,"87":0.15023,"88":7.62824,"89":0.02226,_:"2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 49 50 51 53 54 55 56 58 59 63 64 65 67 70 71 73 90 91 3.5 3.6"},D:{"34":0.01113,"38":0.03338,"49":0.29489,"53":0.06677,"61":0.16692,"63":0.01113,"64":0.31158,"65":0.01113,"67":0.01669,"68":0.01669,"69":0.01669,"70":0.33384,"72":0.33384,"73":0.00556,"74":0.01669,"75":0.05008,"76":0.02226,"77":0.01113,"78":0.02226,"79":0.64542,"80":0.3394,"81":0.03895,"83":0.05564,"84":0.05564,"85":0.03338,"86":0.08346,"87":0.28933,"88":0.18361,"89":0.73445,"90":23.34654,"91":0.63986,"92":0.01113,_:"4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 35 36 37 39 40 41 42 43 44 45 46 47 48 50 51 52 54 55 56 57 58 59 60 62 66 71 93 94"},F:{"36":0.00556,"46":0.00556,"49":0.01113,"73":0.36166,"74":0.01113,"75":1.174,"76":0.97926,_:"9 11 12 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 37 38 39 40 41 42 43 44 45 47 48 50 51 52 53 54 55 56 57 58 60 62 63 64 65 66 67 68 69 70 71 72 9.5-9.6 10.5 10.6 11.1 11.5 11.6 12.1","10.0-10.1":0},G:{"8":0,"3.2":0,"4.0-4.1":0,"4.2-4.3":0,"5.0-5.1":0.00456,"6.0-6.1":0.00152,"7.0-7.1":0.00609,"8.1-8.4":0.01978,"9.0-9.2":0.01217,"9.3":0.14758,"10.0-10.2":0.00761,"10.3":0.14758,"11.0-11.2":0.05934,"11.3-11.4":0.06846,"12.0-12.1":0.03499,"12.2-12.4":0.20387,"13.0-13.1":0.06846,"13.2":0.03956,"13.3":0.19474,"13.4-13.7":0.48382,"14.0-14.4":11.02586,"14.5-14.6":2.20152},E:{"4":0,"8":0.00556,"11":0.00556,"12":0.01669,"13":0.12241,"14":3.37178,_:"0 5 6 7 9 10 3.1 3.2 5.1 6.1 7.1","9.1":0.01113,"10.1":0.20587,"11.1":0.12797,"12.1":0.14466,"13.1":0.63986,"14.1":1.42995},B:{"14":0.00556,"15":0.01113,"16":0.01113,"17":0.02226,"18":0.14466,"81":0.01669,"84":0.01113,"85":0.01669,"86":0.02782,"87":0.01113,"88":0.04451,"89":0.17805,"90":6.51544,"91":0.26151,_:"12 13 79 80 83"},P:{"4":0.23168,"5.0-5.4":0.02061,"6.2-6.4":0.01048,"7.2-7.4":0.04374,"8.2":0.03018,"9.2":0.04212,"10.1":0.01053,"11.1-11.2":0.16849,"12.0":0.10531,"13.0":0.45283,"14.0":4.086},I:{"0":0,"3":0,"4":0,"2.1":0,"2.2":0,"2.3":0,"4.1":0.00078,"4.2-4.3":0.00233,"4.4":0,"4.4.3-4.4.4":0.04125},K:{_:"0 10 11 12 11.1 11.5 12.1"},A:{"8":0.00607,"9":0.00607,"11":0.98381,_:"6 7 10 5.5"},J:{"7":0,"10":0},N:{_:"10 11"},S:{"2.5":0},R:{_:"0"},M:{"0":0.55894},Q:{"10.4":0.00444},O:{"0":0.09316},H:{"0":0.24358},L:{"0":24.41811}}; diff --git a/tools/node_modules/@babel/core/node_modules/caniuse-lite/data/regions/AU.js b/tools/node_modules/@babel/core/node_modules/caniuse-lite/data/regions/AU.js new file mode 100644 index 00000000000000..b1cdc87f095242 --- /dev/null +++ b/tools/node_modules/@babel/core/node_modules/caniuse-lite/data/regions/AU.js @@ -0,0 +1 @@ +module.exports={C:{"48":0.01068,"52":0.04273,"54":0.00534,"56":0.01068,"60":0.00534,"68":0.01068,"72":0.00534,"75":0.00534,"78":0.11216,"81":0.00534,"82":0.04807,"83":0.00534,"84":0.01602,"85":0.02136,"86":0.03205,"87":0.09614,"88":2.37675,"89":0.02136,_:"2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 49 50 51 53 55 57 58 59 61 62 63 64 65 66 67 69 70 71 73 74 76 77 79 80 90 91 3.5 3.6"},D:{"26":0.01068,"34":0.01602,"38":0.08546,"47":0.00534,"48":0.01068,"49":0.37387,"53":0.09614,"55":0.01068,"56":0.01068,"57":0.00534,"58":0.00534,"59":0.01602,"60":0.01602,"61":0.09614,"63":0.01602,"64":0.03739,"65":0.05341,"66":0.01602,"67":0.04273,"68":0.04273,"69":0.04273,"70":0.04807,"71":0.02671,"72":0.05341,"73":0.04273,"74":0.04273,"75":0.04273,"76":0.04273,"77":0.02136,"78":0.04807,"79":0.16557,"80":0.17625,"81":0.08546,"83":0.08546,"84":0.08012,"85":0.0908,"86":0.26171,"87":0.55546,"88":0.66228,"89":2.08833,"90":26.21363,"91":0.55012,"92":0.02136,_:"4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 27 28 29 30 31 32 33 35 36 37 39 40 41 42 43 44 45 46 50 51 52 54 62 93 94"},F:{"46":0.02136,"73":0.03739,"74":0.00534,"75":0.17625,"76":0.18159,_:"9 11 12 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 47 48 49 50 51 52 53 54 55 56 57 58 60 62 63 64 65 66 67 68 69 70 71 72 9.5-9.6 10.5 10.6 11.1 11.5 11.6 12.1","10.0-10.1":0},G:{"8":0.00496,"3.2":0,"4.0-4.1":0,"4.2-4.3":0,"5.0-5.1":0.01985,"6.0-6.1":0.03473,"7.0-7.1":0.04713,"8.1-8.4":0.08682,"9.0-9.2":0.03721,"9.3":0.46141,"10.0-10.2":0.04961,"10.3":0.46637,"11.0-11.2":0.1538,"11.3-11.4":0.16621,"12.0-12.1":0.16869,"12.2-12.4":0.57304,"13.0-13.1":0.08682,"13.2":0.04465,"13.3":0.29272,"13.4-13.7":0.8856,"14.0-14.4":17.55579,"14.5-14.6":2.28967},E:{"4":0,"8":0.01602,"10":0.00534,"11":0.02671,"12":0.03739,"13":0.24569,"14":6.28636,_:"0 5 6 7 9 3.1 3.2 5.1 6.1 7.1","9.1":0.02136,"10.1":0.06409,"11.1":0.14421,"12.1":0.26705,"13.1":1.07888,"14.1":1.45809},B:{"14":0.00534,"16":0.01602,"17":0.02136,"18":0.12818,"80":0.00534,"84":0.01602,"85":0.01068,"86":0.02136,"87":0.02136,"88":0.03205,"89":0.14421,"90":4.73213,"91":0.07477,_:"12 13 15 79 81 83"},P:{"4":0.26316,"5.0-5.4":0.02061,"6.2-6.4":0.01048,"7.2-7.4":0.04374,"8.2":0.03018,"9.2":0.03289,"10.1":0.03289,"11.1-11.2":0.09868,"12.0":0.08772,"13.0":0.36184,"14.0":2.8399},I:{"0":0,"3":0,"4":0,"2.1":0,"2.2":0,"2.3":0,"4.1":0.00254,"4.2-4.3":0.00572,"4.4":0,"4.4.3-4.4.4":0.03366},K:{_:"0 10 11 12 11.1 11.5 12.1"},A:{"6":0.01019,"11":1.10074,_:"7 8 9 10 5.5"},J:{"7":0,"10":0},N:{_:"10 11"},S:{"2.5":0},R:{_:"0"},M:{"0":0.4099},Q:{"10.4":0.03726},O:{"0":0.16769},H:{"0":0.22931},L:{"0":19.47742}}; diff --git a/tools/node_modules/@babel/core/node_modules/caniuse-lite/data/regions/AW.js b/tools/node_modules/@babel/core/node_modules/caniuse-lite/data/regions/AW.js new file mode 100644 index 00000000000000..4cbb39bd44c89e --- /dev/null +++ b/tools/node_modules/@babel/core/node_modules/caniuse-lite/data/regions/AW.js @@ -0,0 +1 @@ +module.exports={C:{"4":0.00385,"48":0.01154,"52":0.00385,"57":0.00385,"65":0.00769,"77":0.00385,"78":0.06925,"82":0.03847,"87":0.05001,"88":1.21181,"89":0.02693,_:"2 3 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 49 50 51 53 54 55 56 58 59 60 61 62 63 64 66 67 68 69 70 71 72 73 74 75 76 79 80 81 83 84 85 86 90 91 3.5 3.6"},D:{"49":0.13465,"53":0.00769,"54":0.01154,"55":0.00769,"58":0.07694,"60":0.01154,"61":0.00769,"63":0.00385,"65":0.00769,"66":0.00385,"67":0.00385,"69":0.00385,"70":0.01924,"72":0.00385,"74":0.09618,"76":0.00769,"78":0.01154,"79":0.02308,"80":0.03078,"81":0.00769,"83":0.06925,"84":0.03078,"85":0.03078,"86":0.14619,"87":0.34623,"88":0.2616,"89":1.16949,"90":20.59684,"91":0.81556,"92":0.01154,_:"4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 50 51 52 56 57 59 62 64 68 71 73 75 77 93 94"},F:{"73":0.01154,"75":0.24236,"76":0.22313,_:"9 11 12 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 60 62 63 64 65 66 67 68 69 70 71 72 74 9.5-9.6 10.5 10.6 11.1 11.5 11.6 12.1","10.0-10.1":0},G:{"8":0,"3.2":0,"4.0-4.1":0,"4.2-4.3":0,"5.0-5.1":0.00934,"6.0-6.1":0,"7.0-7.1":0,"8.1-8.4":0,"9.0-9.2":0.00233,"9.3":0.10739,"10.0-10.2":0.007,"10.3":0.1284,"11.0-11.2":0.01167,"11.3-11.4":0.07704,"12.0-12.1":0.03969,"12.2-12.4":0.17275,"13.0-13.1":0.02568,"13.2":0.00467,"13.3":0.10739,"13.4-13.7":0.60697,"14.0-14.4":17.69557,"14.5-14.6":3.70253},E:{"4":0,"12":0.01924,"13":0.08079,"14":3.22763,_:"0 5 6 7 8 9 10 11 3.1 3.2 5.1 6.1 7.1 9.1","10.1":0.02308,"11.1":0.14234,"12.1":0.13465,"13.1":0.78479,"14.1":1.19257},B:{"13":0.00769,"14":0.01539,"16":0.01154,"17":0.02693,"18":0.18466,"80":0.00769,"84":0.04616,"85":0.03847,"86":0.02693,"87":0.07309,"88":0.01539,"89":0.11541,"90":4.23555,"91":0.24621,_:"12 15 79 81 83"},P:{"4":0.07127,"5.0-5.4":0.01035,"6.2-6.4":0.02052,"7.2-7.4":0.12218,"8.2":0.03078,"9.2":0.09164,"10.1":0.01018,"11.1-11.2":0.48873,"12.0":0.224,"13.0":0.79419,"14.0":8.49176},I:{"0":0,"3":0,"4":0,"2.1":0,"2.2":0,"2.3":0,"4.1":0,"4.2-4.3":0,"4.4":0,"4.4.3-4.4.4":0},K:{_:"0 10 11 12 11.1 11.5 12.1"},A:{"11":0.5155,_:"6 7 8 9 10 5.5"},J:{"7":0,"10":0},N:{_:"10 11"},S:{"2.5":0},R:{_:"0"},M:{"0":0.49839},Q:{"10.4":0},O:{"0":0.03077},H:{"0":0.12233},L:{"0":28.89641}}; diff --git a/tools/node_modules/@babel/core/node_modules/caniuse-lite/data/regions/AX.js b/tools/node_modules/@babel/core/node_modules/caniuse-lite/data/regions/AX.js new file mode 100644 index 00000000000000..0e73a2c716150c --- /dev/null +++ b/tools/node_modules/@babel/core/node_modules/caniuse-lite/data/regions/AX.js @@ -0,0 +1 @@ +module.exports={C:{"48":0.01768,"52":0.22397,"61":0.01179,"78":0.08252,"85":0.01768,"86":0.01179,"87":0.16503,"88":3.47746,"89":0.01179,_:"2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 49 50 51 53 54 55 56 57 58 59 60 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 79 80 81 82 83 84 90 91 3.5 3.6"},D:{"49":0.06483,"53":0.01179,"67":0.0943,"76":0.11788,"78":0.01179,"79":0.22397,"80":0.05305,"81":0.01768,"85":0.01179,"86":0.04126,"87":0.14735,"88":0.05305,"89":2.47548,"90":28.52696,"91":0.61887,_:"4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 50 51 52 54 55 56 57 58 59 60 61 62 63 64 65 66 68 69 70 71 72 73 74 75 77 83 84 92 93 94"},F:{"73":0.10609,"75":0.30059,"76":0.18861,_:"9 11 12 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 60 62 63 64 65 66 67 68 69 70 71 72 74 9.5-9.6 10.5 10.6 11.1 11.5 11.6 12.1","10.0-10.1":0},G:{"8":0,"3.2":0,"4.0-4.1":0,"4.2-4.3":0,"5.0-5.1":0,"6.0-6.1":0,"7.0-7.1":0.00277,"8.1-8.4":0,"9.0-9.2":0.02634,"9.3":0.04437,"10.0-10.2":0.00416,"10.3":0.83884,"11.0-11.2":0.06933,"11.3-11.4":0.04576,"12.0-12.1":1.3269,"12.2-12.4":0.4631,"13.0-13.1":0.26483,"13.2":0,"13.3":0.11231,"13.4-13.7":0.16638,"14.0-14.4":8.56592,"14.5-14.6":1.21321},E:{"4":0,"12":0.00589,"13":0.06483,"14":8.7408,_:"0 5 6 7 8 9 10 11 3.1 3.2 5.1 6.1 7.1","9.1":0.1945,"10.1":0.01179,"11.1":0.1002,"12.1":0.12967,"13.1":1.30257,"14.1":2.40475},B:{"17":0.05894,"18":0.13556,"87":0.01179,"88":0.01179,"89":0.05305,"90":6.58949,"91":0.18861,_:"12 13 14 15 16 79 80 81 83 84 85 86"},P:{"4":0.09319,"5.0-5.4":0.40237,"6.2-6.4":0.31184,"7.2-7.4":0.0233,"8.2":0.03018,"9.2":0.0233,"10.1":0.09053,"11.1-11.2":0.46273,"12.0":0.0233,"13.0":0.24461,"14.0":1.88701},I:{"0":0,"3":0,"4":0,"2.1":0,"2.2":0,"2.3":0,"4.1":0,"4.2-4.3":0,"4.4":0,"4.4.3-4.4.4":0.04105},K:{_:"0 10 11 12 11.1 11.5 12.1"},A:{"11":0.41847,_:"6 7 8 9 10 5.5"},J:{"7":0,"10":0},N:{_:"10 11"},S:{"2.5":0},R:{_:"0"},M:{"0":0.36535},Q:{"10.4":0},O:{"0":0.23399},H:{"0":0.03498},L:{"0":25.69702}}; diff --git a/tools/node_modules/@babel/core/node_modules/caniuse-lite/data/regions/AZ.js b/tools/node_modules/@babel/core/node_modules/caniuse-lite/data/regions/AZ.js new file mode 100644 index 00000000000000..3c565002cfc38f --- /dev/null +++ b/tools/node_modules/@babel/core/node_modules/caniuse-lite/data/regions/AZ.js @@ -0,0 +1 @@ +module.exports={C:{"34":0.00402,"52":0.00402,"68":0.08851,"75":0.00402,"78":0.01609,"80":0.00402,"84":0.01207,"86":0.00402,"87":0.01207,"88":0.48678,"89":0.00805,_:"2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 69 70 71 72 73 74 76 77 79 81 82 83 85 90 91 3.5 3.6"},D:{"22":0.01207,"26":0.00402,"34":0.00402,"38":0.02414,"48":0.00402,"49":0.08448,"53":0.08851,"55":0.00402,"56":0.00402,"57":0.00402,"60":0.00402,"61":0.01207,"62":0.00402,"63":0.00402,"65":0.02414,"66":0.02816,"67":0.02012,"68":0.08046,"69":0.02012,"70":0.00805,"71":0.01207,"72":0.01609,"73":0.00805,"74":0.03621,"75":0.00805,"76":0.00805,"77":0.03218,"78":0.00805,"79":0.1931,"80":0.05632,"81":0.01609,"83":0.08851,"84":0.03621,"85":0.06035,"86":0.07241,"87":0.24138,"88":0.14483,"89":0.74426,"90":24.97076,"91":0.90518,"92":0.02414,_:"4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 23 24 25 27 28 29 30 31 32 33 35 36 37 39 40 41 42 43 44 45 46 47 50 51 52 54 58 59 64 93 94"},F:{"28":0.00805,"36":0.00402,"40":0.00402,"46":0.00805,"62":0.01609,"73":0.13678,"74":0.01207,"75":1.17472,"76":1.52472,_:"9 11 12 15 16 17 18 19 20 21 22 23 24 25 26 27 29 30 31 32 33 34 35 37 38 39 41 42 43 44 45 47 48 49 50 51 52 53 54 55 56 57 58 60 63 64 65 66 67 68 69 70 71 72 9.5-9.6 10.5 10.6 11.1 11.5 11.6 12.1","10.0-10.1":0},G:{"8":0,"3.2":0,"4.0-4.1":0,"4.2-4.3":0.00074,"5.0-5.1":0.01252,"6.0-6.1":0.00147,"7.0-7.1":0.04494,"8.1-8.4":0.00442,"9.0-9.2":0.00516,"9.3":0.05599,"10.0-10.2":0.01695,"10.3":0.13409,"11.0-11.2":0.03831,"11.3-11.4":0.06778,"12.0-12.1":0.0221,"12.2-12.4":0.14072,"13.0-13.1":0.02873,"13.2":0.01989,"13.3":0.10536,"13.4-13.7":0.33375,"14.0-14.4":4.69457,"14.5-14.6":1.09113},E:{"4":0,"13":0.02012,"14":0.63563,_:"0 5 6 7 8 9 10 11 12 3.1 3.2 6.1 7.1","5.1":3.06955,"9.1":0.03218,"10.1":0.01207,"11.1":0.20517,"12.1":0.04425,"13.1":0.13276,"14.1":0.15287},B:{"18":0.02012,"84":0.00402,"89":0.01207,"90":0.78851,"91":0.05632,_:"12 13 14 15 16 17 79 80 81 83 85 86 87 88"},P:{"4":0.24454,"5.0-5.4":0.02061,"6.2-6.4":0.04076,"7.2-7.4":0.07132,"8.2":0.03018,"9.2":0.07132,"10.1":0.02038,"11.1-11.2":0.25473,"12.0":0.15284,"13.0":0.79474,"14.0":3.04652},I:{"0":0,"3":0,"4":0.00042,"2.1":0,"2.2":0,"2.3":0,"4.1":0.00381,"4.2-4.3":0.01017,"4.4":0,"4.4.3-4.4.4":0.04535},K:{_:"0 10 11 12 11.1 11.5 12.1"},A:{"8":0.01207,"9":0.00402,"11":0.13276,_:"6 7 10 5.5"},J:{"7":0,"10":0},N:{_:"10 11"},S:{"2.5":0},R:{_:"0"},M:{"0":0.05378},Q:{"10.4":0},O:{"0":0.23904},H:{"0":0.68458},L:{"0":48.95872}}; diff --git a/tools/node_modules/@babel/core/node_modules/caniuse-lite/data/regions/BA.js b/tools/node_modules/@babel/core/node_modules/caniuse-lite/data/regions/BA.js new file mode 100644 index 00000000000000..8f4ac7f73439ed --- /dev/null +++ b/tools/node_modules/@babel/core/node_modules/caniuse-lite/data/regions/BA.js @@ -0,0 +1 @@ +module.exports={C:{"15":0.04479,"36":0.00407,"45":0.41127,"48":0.00814,"50":0.06515,"52":0.24839,"54":0.01629,"64":0.00407,"66":0.00814,"68":0.01629,"69":0.00814,"72":0.00407,"76":0.01629,"77":0.01222,"78":0.05294,"81":0.00814,"84":0.01629,"85":0.01222,"86":0.03665,"87":0.05294,"88":3.47749,"89":0.03665,_:"2 3 4 5 6 7 8 9 10 11 12 13 14 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 37 38 39 40 41 42 43 44 46 47 49 51 53 55 56 57 58 59 60 61 62 63 65 67 70 71 73 74 75 79 80 82 83 90 91 3.5 3.6"},D:{"11":0.01222,"22":0.00814,"26":0.00814,"34":0.00814,"38":0.01629,"43":0.01222,"47":0.00814,"49":0.4072,"50":0.00407,"53":0.08144,"55":0.00407,"56":0.01629,"58":0.02036,"60":0.00814,"61":0.2036,"62":0.00814,"63":0.01629,"65":0.00407,"66":0.01629,"67":0.00814,"68":0.0285,"69":0.00814,"70":0.02443,"71":0.00814,"72":0.00814,"73":0.00407,"74":0.00814,"75":0.02036,"76":0.01629,"77":0.03665,"78":0.01222,"79":0.12216,"80":2.61015,"81":0.04479,"83":0.01629,"84":0.02036,"85":0.03665,"86":0.05294,"87":0.15881,"88":0.14659,"89":0.81847,"90":23.31627,"91":0.80218,"92":0.04479,_:"4 5 6 7 8 9 10 12 13 14 15 16 17 18 19 20 21 23 24 25 27 28 29 30 31 32 33 35 36 37 39 40 41 42 44 45 46 48 51 52 54 57 59 64 93 94"},F:{"32":0.00407,"36":0.01629,"40":0.01629,"46":0.00814,"69":0.00407,"73":0.08144,"74":0.00814,"75":0.59044,"76":0.65152,_:"9 11 12 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 33 34 35 37 38 39 41 42 43 44 45 47 48 49 50 51 52 53 54 55 56 57 58 60 62 63 64 65 66 67 68 70 71 72 9.5-9.6 10.5 10.6 11.1 11.5 11.6 12.1","10.0-10.1":0},G:{"8":0,"3.2":0,"4.0-4.1":0,"4.2-4.3":0,"5.0-5.1":0.00334,"6.0-6.1":0.00095,"7.0-7.1":0.02957,"8.1-8.4":0.00095,"9.0-9.2":0,"9.3":0.12258,"10.0-10.2":0.01717,"10.3":0.11829,"11.0-11.2":0.01335,"11.3-11.4":0.03959,"12.0-12.1":0.02957,"12.2-12.4":0.07441,"13.0-13.1":0.00715,"13.2":0.00286,"13.3":0.03339,"13.4-13.7":0.16455,"14.0-14.4":3.136,"14.5-14.6":0.53372},E:{"4":0,"8":0.01222,"12":0.04072,"13":0.03258,"14":0.37462,_:"0 5 6 7 9 10 11 3.1 3.2 5.1 6.1 7.1 9.1","10.1":0.01629,"11.1":0.01222,"12.1":0.02443,"13.1":0.07737,"14.1":0.17917},B:{"17":0.01222,"18":0.0285,"84":0.00407,"85":0.08551,"86":0.00407,"87":0.00814,"88":0.02443,"89":0.02443,"90":1.36819,"91":0.10994,_:"12 13 14 15 16 79 80 81 83"},P:{"4":0.28616,"5.0-5.4":0.01021,"6.2-6.4":0.02044,"7.2-7.4":0.06132,"8.2":0.01021,"9.2":0.08176,"10.1":0.03066,"11.1-11.2":0.28616,"12.0":0.17374,"13.0":0.48033,"14.0":3.68937},I:{"0":0,"3":0,"4":0,"2.1":0,"2.2":0,"2.3":0,"4.1":0.00528,"4.2-4.3":0.01583,"4.4":0,"4.4.3-4.4.4":0.10931},K:{_:"0 10 11 12 11.1 11.5 12.1"},A:{"8":0.01513,"11":0.32284,_:"6 7 9 10 5.5"},J:{"7":0,"10":0},N:{_:"10 11"},S:{"2.5":0},R:{_:"0"},M:{"0":0.21341},Q:{"10.4":0},O:{"0":0.01778},H:{"0":0.26939},L:{"0":51.32333}}; diff --git a/tools/node_modules/@babel/core/node_modules/caniuse-lite/data/regions/BB.js b/tools/node_modules/@babel/core/node_modules/caniuse-lite/data/regions/BB.js new file mode 100644 index 00000000000000..3b5b842bd0f27b --- /dev/null +++ b/tools/node_modules/@babel/core/node_modules/caniuse-lite/data/regions/BB.js @@ -0,0 +1 @@ +module.exports={C:{"4":0.00951,"5":0.00951,"17":0.00951,"45":0.00476,"52":0.00951,"66":0.00951,"78":0.02853,"79":0.12839,"84":0.04755,"85":0.00951,"86":0.00476,"87":0.0428,"88":2.05892,"89":0.00951,_:"2 3 6 7 8 9 10 11 12 13 14 15 16 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 46 47 48 49 50 51 53 54 55 56 57 58 59 60 61 62 63 64 65 67 68 69 70 71 72 73 74 75 76 77 80 81 82 83 90 91 3.5 3.6"},D:{"34":0.00476,"49":0.03329,"53":0.00951,"62":0.00476,"63":0.00951,"65":0.01427,"66":0.01427,"68":0.01427,"74":0.79409,"75":0.00951,"76":0.05706,"77":0.00476,"79":0.05706,"80":0.02853,"81":0.01902,"83":0.09035,"84":0.00951,"85":0.0951,"86":0.04755,"87":0.18069,"88":0.26153,"89":0.83688,"90":27.38405,"91":0.951,"92":0.00476,_:"4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 35 36 37 38 39 40 41 42 43 44 45 46 47 48 50 51 52 54 55 56 57 58 59 60 61 64 67 69 70 71 72 73 78 93 94"},F:{"71":0.02853,"72":0.11888,"73":0.24726,"75":0.60389,"76":0.31859,_:"9 11 12 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 60 62 63 64 65 66 67 68 69 70 74 9.5-9.6 10.5 10.6 11.1 11.5 11.6 12.1","10.0-10.1":0},G:{"8":0,"3.2":0.0023,"4.0-4.1":0,"4.2-4.3":0,"5.0-5.1":0.02184,"6.0-6.1":0,"7.0-7.1":0.0931,"8.1-8.4":0.00345,"9.0-9.2":0.00115,"9.3":0.177,"10.0-10.2":0.00115,"10.3":0.10114,"11.0-11.2":0.01149,"11.3-11.4":0.02184,"12.0-12.1":0.10574,"12.2-12.4":0.14252,"13.0-13.1":0.01494,"13.2":0.00575,"13.3":0.2678,"13.4-13.7":0.29883,"14.0-14.4":7.03985,"14.5-14.6":2.32171},E:{"4":0,"12":0.00476,"13":0.03804,"14":2.20157,_:"0 5 6 7 8 9 10 11 3.1 3.2 7.1","5.1":0.16167,"6.1":0.01427,"9.1":0.04755,"10.1":0.00476,"11.1":0.00951,"12.1":0.11888,"13.1":0.22349,"14.1":0.61815},B:{"12":0.01427,"16":0.02853,"17":0.00476,"18":0.06657,"80":0.01427,"84":0.00951,"85":0.00476,"86":0.00476,"87":0.00476,"88":0.00476,"89":0.08559,"90":6.21003,"91":0.35663,_:"13 14 15 79 81 83"},P:{"4":0.19731,"5.0-5.4":0.02073,"6.2-6.4":0.01036,"7.2-7.4":0.17539,"8.2":0.02073,"9.2":0.05481,"10.1":0.01096,"11.1-11.2":0.09866,"12.0":0.12058,"13.0":0.58097,"14.0":4.97664},I:{"0":0,"3":0,"4":0.00232,"2.1":0,"2.2":0,"2.3":0,"4.1":0.00099,"4.2-4.3":0.00597,"4.4":0,"4.4.3-4.4.4":0.04841},K:{_:"0 10 11 12 11.1 11.5 12.1"},A:{"10":0.0148,"11":0.51301,_:"6 7 8 9 5.5"},J:{"7":0,"10":0.00525},N:{_:"10 11"},S:{"2.5":0},R:{_:"0"},M:{"0":0.2675},Q:{"10.4":0},O:{"0":0.08392},H:{"0":0.16883},L:{"0":36.53365}}; diff --git a/tools/node_modules/@babel/core/node_modules/caniuse-lite/data/regions/BD.js b/tools/node_modules/@babel/core/node_modules/caniuse-lite/data/regions/BD.js new file mode 100644 index 00000000000000..66834c3e3f6880 --- /dev/null +++ b/tools/node_modules/@babel/core/node_modules/caniuse-lite/data/regions/BD.js @@ -0,0 +1 @@ +module.exports={C:{"4":0.00312,"15":0.00312,"17":0.00623,"38":0.00623,"40":0.0187,"41":0.00623,"43":0.00935,"45":0.00312,"47":0.01559,"48":0.01559,"49":0.00623,"51":0.01247,"52":0.06857,"56":0.01247,"57":0.00623,"59":0.00312,"60":0.01559,"61":0.00312,"62":0.00312,"63":0.00623,"65":0.00623,"67":0.00623,"68":0.00935,"72":0.01559,"74":0.00312,"75":0.03117,"76":0.00312,"77":0.01247,"78":0.05299,"79":0.00623,"80":0.00935,"81":0.00623,"82":0.00623,"83":0.00935,"84":0.02182,"85":0.02182,"86":0.02182,"87":0.05299,"88":3.65001,"89":0.46443,"90":0.00312,_:"2 3 5 6 7 8 9 10 11 12 13 14 16 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 39 42 44 46 50 53 54 55 58 64 66 69 70 71 73 91 3.5 3.6"},D:{"11":0.00623,"23":0.00312,"24":0.00623,"25":0.00312,"38":0.00312,"43":0.00312,"49":0.10598,"53":0.00623,"56":0.00623,"57":0.00312,"58":0.00935,"61":0.03429,"62":0.00312,"63":0.00623,"64":0.00312,"65":0.00312,"67":0.00312,"68":0.00623,"69":0.00935,"70":0.00623,"71":0.0187,"72":0.00312,"73":0.01559,"74":0.00935,"75":0.00935,"76":0.01559,"77":0.00623,"78":0.00935,"79":0.10598,"80":0.02182,"81":0.0374,"83":0.0374,"84":0.03117,"85":0.03117,"86":0.08104,"87":0.15273,"88":0.1091,"89":0.38963,"90":15.87176,"91":0.89458,"92":0.05299,_:"4 5 6 7 8 9 10 12 13 14 15 16 17 18 19 20 21 22 26 27 28 29 30 31 32 33 34 35 36 37 39 40 41 42 44 45 46 47 48 50 51 52 54 55 59 60 66 93 94"},F:{"29":0.00623,"64":0.00935,"68":0.00312,"73":0.01559,"75":0.18702,"76":0.3491,_:"9 11 12 15 16 17 18 19 20 21 22 23 24 25 26 27 28 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 60 62 63 65 66 67 69 70 71 72 74 9.5-9.6 10.5 10.6 11.1 11.5 11.6 12.1","10.0-10.1":0},G:{"8":0.0002,"3.2":0,"4.0-4.1":0,"4.2-4.3":0,"5.0-5.1":0.00353,"6.0-6.1":0.00392,"7.0-7.1":0.06072,"8.1-8.4":0.00235,"9.0-9.2":0.00294,"9.3":0.03898,"10.0-10.2":0.00568,"10.3":0.12751,"11.0-11.2":0.00803,"11.3-11.4":0.01136,"12.0-12.1":0.01822,"12.2-12.4":0.09892,"13.0-13.1":0.03154,"13.2":0.00548,"13.3":0.0188,"13.4-13.7":0.07952,"14.0-14.4":0.96879,"14.5-14.6":0.28245},E:{"4":0,"7":0.00623,"13":0.00935,"14":0.09663,_:"0 5 6 8 9 10 11 12 3.1 3.2 5.1 6.1 7.1 9.1 10.1 11.1","12.1":0.03117,"13.1":0.01559,"14.1":0.04676},B:{"12":0.00935,"13":0.00623,"15":0.0187,"16":0.00623,"17":0.04364,"18":0.02494,"84":0.00935,"85":0.00312,"88":0.01247,"89":0.03117,"90":0.83536,"91":0.08416,_:"14 79 80 81 83 86 87"},P:{"4":0.45601,"5.0-5.4":0.02073,"6.2-6.4":0.01036,"7.2-7.4":0.13473,"8.2":0.02073,"9.2":0.05182,"10.1":0.04146,"11.1-11.2":0.20728,"12.0":0.18655,"13.0":0.43528,"14.0":1.16074},I:{"0":0,"3":0,"4":0,"2.1":0,"2.2":0,"2.3":0,"4.1":0.00438,"4.2-4.3":0.01226,"4.4":0,"4.4.3-4.4.4":0.23115},K:{_:"0 10 11 12 11.1 11.5 12.1"},A:{"8":0.01425,"10":0.00356,"11":0.15674,_:"6 7 9 5.5"},J:{"7":0,"10":0},N:{_:"10 11"},S:{"2.5":0},R:{_:"0"},M:{"0":0.19961},Q:{"10.4":0},O:{"0":3.77877},H:{"0":4.71786},L:{"0":60.81656}}; diff --git a/tools/node_modules/@babel/core/node_modules/caniuse-lite/data/regions/BE.js b/tools/node_modules/@babel/core/node_modules/caniuse-lite/data/regions/BE.js new file mode 100644 index 00000000000000..fb283b43f4334f --- /dev/null +++ b/tools/node_modules/@babel/core/node_modules/caniuse-lite/data/regions/BE.js @@ -0,0 +1 @@ +module.exports={C:{"45":0.0059,"48":0.01179,"52":0.04717,"56":0.05306,"60":0.01179,"68":0.01769,"69":0.0059,"72":0.0059,"77":0.0059,"78":0.23584,"79":0.0059,"80":0.01179,"81":0.0059,"82":0.01179,"83":0.01179,"84":0.13561,"85":0.02948,"86":0.03538,"87":0.16509,"88":4.06824,"89":0.01769,_:"2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 46 47 49 50 51 53 54 55 57 58 59 61 62 63 64 65 66 67 70 71 73 74 75 76 90 91 3.5 3.6"},D:{"38":0.0059,"49":0.17098,"53":0.03538,"57":0.01179,"59":0.0059,"60":0.0059,"61":0.10613,"63":0.0059,"65":0.01769,"66":0.01769,"67":0.02948,"68":0.01179,"69":0.01769,"72":0.01179,"73":0.01179,"74":0.04127,"75":0.05896,"76":0.19457,"77":0.04717,"78":0.43041,"79":0.55422,"80":0.07075,"81":0.04127,"83":0.05306,"84":0.04127,"85":0.10023,"86":0.08844,"87":0.48347,"88":0.50706,"89":1.09076,"90":31.31366,"91":0.81365,"92":0.01179,_:"4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 39 40 41 42 43 44 45 46 47 48 50 51 52 54 55 56 58 62 64 70 71 93 94"},F:{"36":0.0059,"73":0.11202,"75":0.4363,"76":0.45399,_:"9 11 12 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 60 62 63 64 65 66 67 68 69 70 71 72 74 9.5-9.6 10.5 10.6 11.1 11.5 11.6 12.1","10.0-10.1":0},G:{"8":0.00323,"3.2":0,"4.0-4.1":0,"4.2-4.3":0,"5.0-5.1":0.00161,"6.0-6.1":0.01453,"7.0-7.1":0.03714,"8.1-8.4":0.01453,"9.0-9.2":0.01615,"9.3":0.15016,"10.0-10.2":0.01453,"10.3":0.29063,"11.0-11.2":0.0549,"11.3-11.4":0.05813,"12.0-12.1":0.05813,"12.2-12.4":0.20344,"13.0-13.1":0.05005,"13.2":0.01938,"13.3":0.17438,"13.4-13.7":0.81377,"14.0-14.4":11.57037,"14.5-14.6":1.80837},E:{"4":0,"11":0.05306,"12":0.02358,"13":0.17098,"14":4.23333,_:"0 5 6 7 8 9 10 3.1 3.2 5.1 7.1","6.1":0.01179,"9.1":0.0059,"10.1":0.05896,"11.1":0.12971,"12.1":0.20636,"13.1":0.84313,"14.1":1.52117},B:{"14":0.0059,"15":0.0059,"16":0.02358,"17":0.01769,"18":0.08254,"83":0.0059,"84":0.0059,"85":0.01769,"86":0.02358,"87":0.01179,"88":0.05306,"89":0.17098,"90":6.22618,"91":0.24174,_:"12 13 79 80 81"},P:{"4":0.05365,"5.0-5.4":0.02061,"6.2-6.4":0.1561,"7.2-7.4":0.17692,"8.2":0.03018,"9.2":0.08325,"10.1":0.01041,"11.1-11.2":0.09657,"12.0":0.08584,"13.0":0.30044,"14.0":3.98089},I:{"0":0,"3":0,"4":0,"2.1":0,"2.2":0,"2.3":0,"4.1":0.0013,"4.2-4.3":0.00434,"4.4":0,"4.4.3-4.4.4":0.03128},K:{_:"0 10 11 12 11.1 11.5 12.1"},A:{"8":0.01253,"11":0.78933,_:"6 7 9 10 5.5"},J:{"7":0,"10":0},N:{_:"10 11"},S:{"2.5":0},R:{_:"0"},M:{"0":0.29131},Q:{"10.4":0},O:{"0":0.04513},H:{"0":0.11653},L:{"0":21.58142}}; diff --git a/tools/node_modules/@babel/core/node_modules/caniuse-lite/data/regions/BF.js b/tools/node_modules/@babel/core/node_modules/caniuse-lite/data/regions/BF.js new file mode 100644 index 00000000000000..9c9091aa28ceff --- /dev/null +++ b/tools/node_modules/@babel/core/node_modules/caniuse-lite/data/regions/BF.js @@ -0,0 +1 @@ +module.exports={C:{"20":0.00227,"30":0.00453,"36":0.00227,"38":0.00453,"40":0.00453,"41":0.00227,"43":0.0136,"44":0.00227,"45":0.01134,"47":0.0136,"48":0.00227,"50":0.01587,"52":0.05668,"53":0.00907,"56":0.00453,"57":0.0068,"59":0.00453,"61":0.00227,"63":0.00227,"64":0.00453,"65":0.00453,"68":0.00453,"72":0.01814,"75":0.0068,"76":0.10882,"77":0.00453,"78":0.04534,"79":0.00453,"80":0.0136,"81":0.17456,"83":0.02267,"84":0.01814,"85":0.13149,"86":0.02947,"87":0.26977,"88":2.38942,"89":0.02267,"90":0.00453,_:"2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 21 22 23 24 25 26 27 28 29 31 32 33 34 35 37 39 42 46 49 51 54 55 58 60 62 66 67 69 70 71 73 74 82 91 3.5 3.6"},D:{"23":0.00453,"28":0.00453,"29":0.0068,"40":0.0068,"43":0.00227,"45":0.0068,"49":0.04987,"50":0.00453,"53":0.00227,"55":0.0068,"57":0.00453,"60":0.00453,"62":0.00453,"63":0.00227,"65":0.01814,"66":0.00907,"67":0.0068,"68":0.0068,"69":0.00227,"70":0.0068,"72":0.0136,"74":0.01134,"75":0.00907,"76":0.00227,"77":0.0272,"79":0.00907,"80":0.10882,"81":0.02947,"83":0.0068,"84":0.14736,"85":0.0068,"86":0.04987,"87":0.11108,"88":0.09975,"89":0.32872,"90":7.19546,"91":0.31058,"92":0.10202,_:"4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 24 25 26 27 30 31 32 33 34 35 36 37 38 39 41 42 44 46 47 48 51 52 54 56 58 59 61 64 71 73 78 93 94"},F:{"36":0.00227,"42":0.00907,"73":0.02947,"74":0.0068,"75":0.47154,"76":0.56902,_:"9 11 12 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 37 38 39 40 41 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 60 62 63 64 65 66 67 68 69 70 71 72 9.5-9.6 10.5 10.6 11.1 11.5 11.6 12.1","10.0-10.1":0},G:{"8":0.00055,"3.2":0,"4.0-4.1":0,"4.2-4.3":0,"5.0-5.1":0.00055,"6.0-6.1":0,"7.0-7.1":0.02454,"8.1-8.4":0,"9.0-9.2":0.00109,"9.3":0.20342,"10.0-10.2":0.02072,"10.3":0.07581,"11.0-11.2":0.21706,"11.3-11.4":0.19252,"12.0-12.1":0.05563,"12.2-12.4":0.27051,"13.0-13.1":0.06544,"13.2":0.018,"13.3":0.10198,"13.4-13.7":0.30705,"14.0-14.4":3.18008,"14.5-14.6":0.48484},E:{"4":0,"11":0.0068,"13":0.00453,"14":0.12695,_:"0 5 6 7 8 9 10 12 3.1 3.2 6.1 9.1 10.1 11.1","5.1":0.01587,"7.1":0.00453,"12.1":0.0068,"13.1":0.0272,"14.1":0.04761},B:{"12":0.02267,"13":0.0068,"14":0.00227,"15":0.0068,"16":0.0068,"17":0.0204,"18":0.11788,"80":0.00227,"84":0.03174,"85":0.0272,"87":0.00907,"88":0.01134,"89":0.07254,"90":1.20378,"91":0.08615,_:"79 81 83 86"},P:{"4":0.21694,"5.0-5.4":0.02066,"6.2-6.4":0.0725,"7.2-7.4":0.06198,"8.2":0.04115,"9.2":0.05165,"10.1":0.02066,"11.1-11.2":0.06198,"12.0":0.04132,"13.0":0.41321,"14.0":0.46487},I:{"0":0,"3":0,"4":0,"2.1":0,"2.2":0,"2.3":0,"4.1":0.00708,"4.2-4.3":0.01416,"4.4":0,"4.4.3-4.4.4":0.27261},K:{_:"0 10 11 12 11.1 11.5 12.1"},A:{"11":0.19723,_:"6 7 8 9 10 5.5"},J:{"7":0,"10":0.03867},N:{_:"10 11"},S:{"2.5":0.01547},R:{_:"0"},M:{"0":0.15466},Q:{"10.4":0.23199},O:{"0":0.85063},H:{"0":4.70015},L:{"0":71.27268}}; diff --git a/tools/node_modules/@babel/core/node_modules/caniuse-lite/data/regions/BG.js b/tools/node_modules/@babel/core/node_modules/caniuse-lite/data/regions/BG.js new file mode 100644 index 00000000000000..e135d486101c48 --- /dev/null +++ b/tools/node_modules/@babel/core/node_modules/caniuse-lite/data/regions/BG.js @@ -0,0 +1 @@ +module.exports={C:{"40":0.00449,"45":0.00449,"47":0.00449,"48":0.00899,"50":0.00449,"51":0.00449,"52":0.23813,"56":0.01797,"57":0.00449,"60":0.11233,"61":0.00449,"62":0.00899,"63":0.02247,"66":0.01348,"67":0.00899,"68":0.1258,"69":0.00899,"70":0.00449,"72":0.01797,"73":0.00899,"75":0.04044,"76":0.00899,"77":0.00449,"78":0.26509,"79":0.00899,"80":0.00899,"81":0.01797,"82":0.01348,"83":0.01797,"84":0.05392,"85":0.03594,"86":0.0674,"87":0.13928,"88":6.21831,"89":0.05841,_:"2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 41 42 43 44 46 49 53 54 55 58 59 64 65 71 74 90 91 3.5 3.6"},D:{"31":0.00449,"38":0.01348,"48":0.00899,"49":0.73236,"53":0.01797,"56":0.00899,"58":0.01348,"61":0.21566,"63":0.03594,"65":0.00899,"66":0.00899,"67":0.00899,"68":0.00899,"69":0.05392,"70":0.01348,"71":0.01348,"72":0.00899,"73":0.01348,"74":0.00899,"75":0.01797,"76":0.01348,"77":0.01797,"78":0.01797,"79":0.22465,"80":0.0674,"81":0.07189,"83":0.05841,"84":0.05841,"85":0.0629,"86":0.08537,"87":0.27407,"88":0.14378,"89":0.86715,"90":25.25515,"91":1.06484,"92":0.00899,_:"4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 32 33 34 35 36 37 39 40 41 42 43 44 45 46 47 50 51 52 54 55 57 59 60 62 64 93 94"},F:{"36":0.01348,"45":0.00899,"46":0.00449,"71":0.00899,"73":0.13479,"74":0.00899,"75":0.66047,"76":0.92556,_:"9 11 12 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 37 38 39 40 41 42 43 44 47 48 49 50 51 52 53 54 55 56 57 58 60 62 63 64 65 66 67 68 69 70 72 9.5-9.6 10.5 10.6 11.1 11.5 11.6 12.1","10.0-10.1":0},G:{"8":0,"3.2":0,"4.0-4.1":0,"4.2-4.3":0,"5.0-5.1":0.0045,"6.0-6.1":0.003,"7.0-7.1":0.015,"8.1-8.4":0.0045,"9.0-9.2":0.00225,"9.3":0.05475,"10.0-10.2":0.01125,"10.3":0.10126,"11.0-11.2":0.0285,"11.3-11.4":0.051,"12.0-12.1":0.03,"12.2-12.4":0.10951,"13.0-13.1":0.021,"13.2":0.00825,"13.3":0.0645,"13.4-13.7":0.28652,"14.0-14.4":5.30366,"14.5-14.6":1.05833},E:{"4":0,"13":0.02696,"14":0.45829,_:"0 5 6 7 8 9 10 11 12 3.1 3.2 5.1 6.1 7.1 9.1 10.1","11.1":0.02696,"12.1":0.03145,"13.1":0.07638,"14.1":0.20668},B:{"15":0.00899,"16":0.00449,"17":0.01797,"18":0.03145,"84":0.00899,"85":0.00899,"86":0.01348,"87":0.01348,"88":0.00449,"89":0.05392,"90":2.1207,"91":0.15726,_:"12 13 14 79 80 81 83"},P:{"4":0.06238,"5.0-5.4":0.02061,"6.2-6.4":0.1561,"7.2-7.4":0.16638,"8.2":0.03018,"9.2":0.02079,"10.1":0.02079,"11.1-11.2":0.12475,"12.0":0.07277,"13.0":0.32227,"14.0":2.34948},I:{"0":0,"3":0,"4":0,"2.1":0,"2.2":0,"2.3":0,"4.1":0.00313,"4.2-4.3":0.01983,"4.4":0,"4.4.3-4.4.4":0.13671},K:{_:"0 10 11 12 11.1 11.5 12.1"},A:{"9":0.00459,"11":0.88952,_:"6 7 8 10 5.5"},J:{"7":0,"10":0},N:{_:"10 11"},S:{"2.5":0},R:{_:"0"},M:{"0":0.20923},Q:{"10.4":0.00551},O:{"0":0.04955},H:{"0":0.27106},L:{"0":45.52329}}; diff --git a/tools/node_modules/@babel/core/node_modules/caniuse-lite/data/regions/BH.js b/tools/node_modules/@babel/core/node_modules/caniuse-lite/data/regions/BH.js new file mode 100644 index 00000000000000..94d30ac1fddbf1 --- /dev/null +++ b/tools/node_modules/@babel/core/node_modules/caniuse-lite/data/regions/BH.js @@ -0,0 +1 @@ +module.exports={C:{"34":0.008,"52":0.016,"78":0.012,"84":0.004,"85":0.012,"86":0.016,"87":0.024,"88":1.32,"89":0.02,_:"2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 79 80 81 82 83 90 91 3.5 3.6"},D:{"38":0.024,"43":0.004,"49":0.068,"52":0.004,"53":0.02,"56":0.032,"60":0.012,"64":0.008,"65":0.024,"66":0.004,"67":0.02,"68":0.02,"69":0.028,"71":0.004,"73":0.064,"74":0.012,"76":0.004,"77":0.008,"78":0.008,"79":0.06,"80":0.016,"81":0.028,"83":0.076,"84":0.032,"85":0.08,"86":0.076,"87":0.192,"88":0.092,"89":0.632,"90":25.22,"91":1.096,"92":0.032,_:"4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 39 40 41 42 44 45 46 47 48 50 51 54 55 57 58 59 61 62 63 70 72 75 93 94"},F:{"28":0.008,"36":0.004,"46":0.004,"71":0.004,"73":0.088,"74":0.012,"75":0.188,"76":0.052,_:"9 11 12 15 16 17 18 19 20 21 22 23 24 25 26 27 29 30 31 32 33 34 35 37 38 39 40 41 42 43 44 45 47 48 49 50 51 52 53 54 55 56 57 58 60 62 63 64 65 66 67 68 69 70 72 9.5-9.6 10.5 10.6 11.1 11.5 11.6 12.1","10.0-10.1":0},G:{"8":0,"3.2":0,"4.0-4.1":0,"4.2-4.3":0,"5.0-5.1":0.00677,"6.0-6.1":0,"7.0-7.1":0.03383,"8.1-8.4":0,"9.0-9.2":0.00169,"9.3":0.09304,"10.0-10.2":0.01353,"10.3":0.09474,"11.0-11.2":0.04906,"11.3-11.4":0.07274,"12.0-12.1":0.0406,"12.2-12.4":0.18101,"13.0-13.1":0.06936,"13.2":0.01861,"13.3":0.20131,"13.4-13.7":0.55996,"14.0-14.4":11.92655,"14.5-14.6":3.09244},E:{"4":0,"11":0.004,"12":0.016,"13":0.084,"14":2.084,_:"0 5 6 7 8 9 10 3.1 3.2 6.1 7.1 9.1","5.1":0.016,"10.1":0.024,"11.1":0.024,"12.1":0.104,"13.1":0.528,"14.1":0.68},B:{"12":0.008,"15":0.008,"16":0.02,"17":0.036,"18":0.116,"84":0.008,"85":0.008,"86":0.012,"87":0.04,"88":0.012,"89":0.152,"90":3.652,"91":0.276,_:"13 14 79 80 81 83"},P:{"4":0.30575,"5.0-5.4":0.01035,"6.2-6.4":0.01043,"7.2-7.4":0.06115,"8.2":0.03078,"9.2":0.08153,"10.1":0.05096,"11.1-11.2":0.40766,"12.0":0.14268,"13.0":0.51977,"14.0":2.96574},I:{"0":0,"3":0,"4":0.00057,"2.1":0,"2.2":0,"2.3":0,"4.1":0.00057,"4.2-4.3":0.002,"4.4":0,"4.4.3-4.4.4":0.01485},K:{_:"0 10 11 12 11.1 11.5 12.1"},A:{"11":0.384,_:"6 7 8 9 10 5.5"},J:{"7":0,"10":0},N:{_:"10 11"},S:{"2.5":0},R:{_:"0"},M:{"0":0.22196},Q:{"10.4":0},O:{"0":3.28145},H:{"0":0.54523},L:{"0":36.17421}}; diff --git a/tools/node_modules/@babel/core/node_modules/caniuse-lite/data/regions/BI.js b/tools/node_modules/@babel/core/node_modules/caniuse-lite/data/regions/BI.js new file mode 100644 index 00000000000000..b57f77328927fd --- /dev/null +++ b/tools/node_modules/@babel/core/node_modules/caniuse-lite/data/regions/BI.js @@ -0,0 +1 @@ +module.exports={C:{"4":0.01581,"5":0.01897,"7":0.00316,"15":0.04743,"17":0.04111,"20":0.00316,"28":0.00316,"31":0.00316,"33":0.00949,"35":0.00632,"36":0.00632,"37":0.00316,"40":0.00949,"43":0.01265,"45":0.00949,"47":0.01581,"49":0.00316,"50":0.00316,"51":0.00632,"52":0.01581,"56":0.00316,"59":0.00316,"60":0.00949,"64":0.01581,"65":0.00316,"66":0.00316,"69":0.00316,"70":0.00632,"71":0.00316,"72":0.01265,"75":0.00316,"78":0.0664,"79":0.00316,"81":0.04743,"82":0.00316,"84":0.03162,"85":0.0253,"86":0.01265,"87":0.0917,"88":3.99993,"89":0.17707,_:"2 3 6 8 9 10 11 12 13 14 16 18 19 21 22 23 24 25 26 27 29 30 32 34 38 39 41 42 44 46 48 53 54 55 57 58 61 62 63 67 68 73 74 76 77 80 83 90 91 3.5 3.6"},D:{"23":0.00949,"24":0.07273,"25":0.02213,"26":0.00316,"43":0.00316,"45":0.00316,"47":0.00316,"49":0.03162,"50":0.02213,"52":0.00949,"55":0.00632,"59":0.00316,"60":0.00316,"63":0.01265,"64":0.00316,"65":0.00316,"66":0.01265,"67":0.00316,"68":0.00316,"70":0.00316,"72":0.00316,"73":0.00949,"74":0.02213,"75":0.01265,"76":0.00316,"77":0.02213,"78":0.00316,"79":0.04111,"80":0.0664,"81":0.18972,"83":0.04111,"84":0.0253,"85":0.0253,"86":0.03478,"87":0.67034,"88":0.30355,"89":0.61659,"90":13.38475,"91":0.5407,"92":0.03478,_:"4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 44 46 48 51 53 54 56 57 58 61 62 69 71 93 94"},F:{"21":0.00632,"42":0.00632,"48":0.00316,"55":0.00632,"68":0.00632,"70":0.00949,"73":0.01265,"74":0.01581,"75":0.59446,"76":1.12251,_:"9 11 12 15 16 17 18 19 20 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 43 44 45 46 47 49 50 51 52 53 54 56 57 58 60 62 63 64 65 66 67 69 71 72 9.5-9.6 10.5 10.6 11.1 11.5 11.6","10.0-10.1":0,"12.1":0.00316},G:{"8":0,"3.2":0,"4.0-4.1":0,"4.2-4.3":0,"5.0-5.1":0,"6.0-6.1":0.00385,"7.0-7.1":0.01615,"8.1-8.4":0.00423,"9.0-9.2":0.00615,"9.3":0.07422,"10.0-10.2":0.00308,"10.3":0.07653,"11.0-11.2":0.02923,"11.3-11.4":0.04422,"12.0-12.1":0.05961,"12.2-12.4":0.22304,"13.0-13.1":0.04345,"13.2":0.13882,"13.3":0.19112,"13.4-13.7":0.24419,"14.0-14.4":1.61664,"14.5-14.6":0.78756},E:{"4":0,"13":0.03794,"14":0.55651,_:"0 5 6 7 8 9 10 11 12 3.1 3.2 6.1 7.1 10.1 12.1","5.1":0.19921,"9.1":0.00632,"11.1":0.00632,"13.1":0.06956,"14.1":0.05375},B:{"12":0.05375,"13":0.02846,"14":0.01581,"15":0.00316,"17":0.02846,"18":0.12964,"81":0.00316,"83":0.00316,"84":0.01581,"85":0.0253,"86":0.02846,"87":0.00949,"88":0.0253,"89":0.11699,"90":1.72329,"91":0.0917,_:"16 79 80"},P:{"4":0.39686,"5.0-5.4":0.01018,"6.2-6.4":0.03053,"7.2-7.4":0.0407,"8.2":0.04115,"9.2":0.14246,"10.1":0.01018,"11.1-11.2":0.0407,"12.0":0.08141,"13.0":0.18317,"14.0":0.37651},I:{"0":0,"3":0,"4":0,"2.1":0,"2.2":0,"2.3":0,"4.1":0.00235,"4.2-4.3":0.00222,"4.4":0,"4.4.3-4.4.4":0.05013},K:{_:"0 10 11 12 11.1 11.5 12.1"},A:{"8":0.09802,"10":0.01265,"11":0.52805,_:"6 7 9 5.5"},J:{"7":0,"10":0.00684},N:{"10":0.02735,_:"11"},S:{"2.5":0},R:{_:"0"},M:{"0":0.12307},Q:{"10.4":0.3692},O:{"0":0.4991},H:{"0":15.87138},L:{"0":50.03856}}; diff --git a/tools/node_modules/@babel/core/node_modules/caniuse-lite/data/regions/BJ.js b/tools/node_modules/@babel/core/node_modules/caniuse-lite/data/regions/BJ.js new file mode 100644 index 00000000000000..36f5629f5f71a2 --- /dev/null +++ b/tools/node_modules/@babel/core/node_modules/caniuse-lite/data/regions/BJ.js @@ -0,0 +1 @@ +module.exports={C:{"4":0.00397,"5":0.00794,"15":0.00794,"17":0.00794,"43":0.00794,"44":0.00794,"47":0.00794,"48":0.02383,"52":0.02383,"56":0.00794,"60":0.00397,"65":0.00397,"68":0.00794,"69":0.00794,"71":0.00794,"72":0.02383,"77":0.00397,"78":0.04369,"79":0.00794,"80":0.00397,"81":0.03972,"82":0.00397,"83":0.01192,"84":0.02383,"85":0.16682,"86":0.03575,"87":0.06752,"88":2.50236,"89":0.0278,_:"2 3 6 7 8 9 10 11 12 13 14 16 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 45 46 49 50 51 53 54 55 57 58 59 61 62 63 64 66 67 70 73 74 75 76 90 91 3.5 3.6"},D:{"19":0.00397,"22":0.00794,"23":0.01192,"24":0.01192,"25":0.01192,"28":0.00397,"30":0.0993,"31":0.01192,"35":0.00397,"38":0.00794,"39":0.00794,"43":0.00794,"44":0.00397,"46":0.00397,"47":0.00794,"48":0.00397,"49":0.0715,"51":0.00794,"55":0.01986,"56":0.00794,"57":0.01192,"58":0.00397,"62":0.01589,"63":0.05164,"64":0.01589,"66":0.02383,"67":0.01589,"68":0.01589,"69":0.13902,"70":0.03575,"71":1.01683,"72":0.01589,"73":0.00794,"74":0.04766,"75":0.01589,"76":0.09136,"77":0.05164,"78":0.01986,"79":0.11916,"80":0.08341,"81":0.05958,"83":0.1986,"84":0.17874,"85":0.09533,"86":0.10327,"87":0.67127,"88":0.43295,"89":0.78248,"90":16.23754,"91":0.61169,"92":0.0278,_:"4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 20 21 26 27 29 32 33 34 36 37 40 41 42 45 50 52 53 54 59 60 61 65 93 94"},F:{"58":0.23038,"62":0.04369,"70":0.00397,"71":0.00397,"72":0.00397,"73":0.01192,"74":0.00794,"75":0.61169,"76":0.81029,_:"9 11 12 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 60 63 64 65 66 67 68 69 9.5-9.6 10.5 10.6 11.1 11.5 11.6 12.1","10.0-10.1":0},G:{"8":0,"3.2":0,"4.0-4.1":0,"4.2-4.3":0,"5.0-5.1":0,"6.0-6.1":0.00113,"7.0-7.1":0.0322,"8.1-8.4":0,"9.0-9.2":0.00056,"9.3":0.0435,"10.0-10.2":0.00847,"10.3":0.04859,"11.0-11.2":0.03729,"11.3-11.4":0.01808,"12.0-12.1":0.02599,"12.2-12.4":0.72371,"13.0-13.1":0.03446,"13.2":0.01186,"13.3":0.36214,"13.4-13.7":0.29717,"14.0-14.4":2.89822,"14.5-14.6":0.47795},E:{"4":0,"13":0.00794,"14":0.40117,_:"0 5 6 7 8 9 10 11 12 3.1 3.2 6.1 7.1 9.1","5.1":0.07944,"10.1":0.00794,"11.1":0.00794,"12.1":0.13902,"13.1":0.05164,"14.1":0.09136},B:{"12":0.03178,"13":0.00397,"14":0.00794,"15":0.01589,"16":0.01986,"17":0.00794,"18":0.05561,"84":0.0278,"85":0.00794,"86":0.02383,"88":0.01192,"89":0.0993,"90":1.4895,"91":0.11916,_:"79 80 81 83 87"},P:{"4":0.01144,"5.0-5.4":0.02073,"6.2-6.4":0.01036,"7.2-7.4":0.01144,"8.2":0.02073,"9.2":0.02288,"10.1":0.01096,"11.1-11.2":0.03432,"12.0":0.0572,"13.0":0.08009,"14.0":0.34323},I:{"0":0,"3":0,"4":0,"2.1":0,"2.2":0,"2.3":0,"4.1":0.00894,"4.2-4.3":0.00104,"4.4":0,"4.4.3-4.4.4":0.03222},K:{_:"0 10 11 12 11.1 11.5 12.1"},A:{"8":0.01483,"9":0.00741,"10":0.01483,"11":0.29658,_:"6 7 5.5"},J:{"7":0,"10":0.01808},N:{_:"10 11"},S:{"2.5":0.10248},R:{_:"0"},M:{"0":0.13262},Q:{"10.4":0.0422},O:{"0":0.80775},H:{"0":4.75387},L:{"0":58.40456}}; diff --git a/tools/node_modules/@babel/core/node_modules/caniuse-lite/data/regions/BM.js b/tools/node_modules/@babel/core/node_modules/caniuse-lite/data/regions/BM.js new file mode 100644 index 00000000000000..64ee390b8a6d57 --- /dev/null +++ b/tools/node_modules/@babel/core/node_modules/caniuse-lite/data/regions/BM.js @@ -0,0 +1 @@ +module.exports={C:{"52":0.00535,"78":0.09626,"86":0.0107,"87":0.123,"88":1.214,_:"2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 79 80 81 82 83 84 85 89 90 91 3.5 3.6"},D:{"49":0.10161,"63":0.02674,"65":0.03744,"67":0.0107,"69":0.0107,"70":0.0107,"71":0.02139,"73":0.03209,"74":0.07487,"76":0.1444,"77":0.12835,"78":0.03744,"79":0.00535,"80":0.05883,"81":0.11231,"83":0.0107,"84":0.01604,"85":0.30484,"86":0.28344,"87":0.26205,"88":0.1337,"89":1.25678,"90":25.08747,"91":0.5455,_:"4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 50 51 52 53 54 55 56 57 58 59 60 61 62 64 66 68 72 75 92 93 94"},F:{"45":0.04278,"73":0.12835,"75":0.34227,"76":0.20322,_:"9 11 12 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 46 47 48 49 50 51 52 53 54 55 56 57 58 60 62 63 64 65 66 67 68 69 70 71 72 74 9.5-9.6 10.5 10.6 11.1 11.5 11.6 12.1","10.0-10.1":0},G:{"8":0,"3.2":0,"4.0-4.1":0,"4.2-4.3":0,"5.0-5.1":0.00266,"6.0-6.1":0,"7.0-7.1":0,"8.1-8.4":0.00533,"9.0-9.2":0,"9.3":0.1066,"10.0-10.2":0.00533,"10.3":0.57029,"11.0-11.2":0.01066,"11.3-11.4":0.05063,"12.0-12.1":0.13325,"12.2-12.4":0.16789,"13.0-13.1":0.03997,"13.2":0.02931,"13.3":0.42372,"13.4-13.7":0.62625,"14.0-14.4":18.83557,"14.5-14.6":4.3971},E:{"4":0,"12":0.0107,"13":0.73802,"14":7.13958,_:"0 5 6 7 8 9 10 11 3.1 3.2 5.1 6.1 7.1","9.1":0.02674,"10.1":0.71663,"11.1":0.19253,"12.1":0.19253,"13.1":1.79693,"14.1":2.10711},B:{"14":0.00535,"15":0.01604,"16":0.06952,"17":0.02139,"18":0.14974,"89":0.12835,"90":6.69035,"91":0.27275,_:"12 13 79 80 81 83 84 85 86 87 88"},P:{"4":0.15134,"5.0-5.4":0.02073,"6.2-6.4":0.01036,"7.2-7.4":0.01081,"8.2":0.05405,"9.2":0.03243,"10.1":0.01096,"11.1-11.2":0.09729,"12.0":0.05405,"13.0":0.31348,"14.0":3.76178},I:{"0":0,"3":0,"4":0.00005,"2.1":0,"2.2":0,"2.3":0,"4.1":0,"4.2-4.3":0.0001,"4.4":0,"4.4.3-4.4.4":0.0045},K:{_:"0 10 11 12 11.1 11.5 12.1"},A:{"10":0.00563,"11":1.16023,_:"6 7 8 9 5.5"},J:{"7":0,"10":0.0093},N:{_:"10 11"},S:{"2.5":0},R:{_:"0"},M:{"0":0.37216},Q:{"10.4":0},O:{"0":0.1163},H:{"0":0.07047},L:{"0":16.61046}}; diff --git a/tools/node_modules/@babel/core/node_modules/caniuse-lite/data/regions/BN.js b/tools/node_modules/@babel/core/node_modules/caniuse-lite/data/regions/BN.js new file mode 100644 index 00000000000000..da60073ebb3b58 --- /dev/null +++ b/tools/node_modules/@babel/core/node_modules/caniuse-lite/data/regions/BN.js @@ -0,0 +1 @@ +module.exports={C:{"32":0.01155,"48":0.0154,"52":0.05004,"66":0.00385,"68":0.00385,"72":0.0154,"73":0.0077,"76":0.0077,"78":0.05389,"80":0.01925,"82":0.01155,"83":0.00385,"84":0.0077,"85":0.0154,"86":0.04234,"87":0.04234,"88":2.42102,"89":0.07313,_:"2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 49 50 51 53 54 55 56 57 58 59 60 61 62 63 64 65 67 69 70 71 74 75 77 79 81 90 91 3.5 3.6"},D:{"38":0.06158,"47":0.05774,"49":0.63124,"50":0.01925,"53":0.06543,"55":0.08083,"60":0.0077,"62":0.00385,"65":0.02694,"67":0.01155,"68":0.02309,"70":0.01155,"71":0.0077,"72":0.01925,"73":0.07313,"74":0.06928,"75":0.02694,"77":0.00385,"78":0.0077,"79":0.08468,"80":0.05004,"81":0.06928,"83":0.05389,"84":0.03079,"85":0.02309,"86":0.03079,"87":0.24249,"88":0.26173,"89":0.81984,"90":21.90081,"91":0.82754,"92":0.06928,_:"4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 39 40 41 42 43 44 45 46 48 51 52 54 56 57 58 59 61 63 64 66 69 76 93 94"},F:{"28":0.01925,"36":0.0077,"40":0.0077,"46":0.01925,"68":0.0077,"73":0.05004,"75":0.35411,"76":0.34641,_:"9 11 12 15 16 17 18 19 20 21 22 23 24 25 26 27 29 30 31 32 33 34 35 37 38 39 41 42 43 44 45 47 48 49 50 51 52 53 54 55 56 57 58 60 62 63 64 65 66 67 69 70 71 72 74 9.5-9.6 10.5 10.6 11.1 11.5 11.6 12.1","10.0-10.1":0},G:{"8":0,"3.2":0,"4.0-4.1":0,"4.2-4.3":0.01331,"5.0-5.1":0.0074,"6.0-6.1":0.05769,"7.0-7.1":0.11095,"8.1-8.4":0.06805,"9.0-9.2":0.06509,"9.3":0.50444,"10.0-10.2":0.04882,"10.3":0.40828,"11.0-11.2":0.03994,"11.3-11.4":0.08432,"12.0-12.1":0.09024,"12.2-12.4":0.34172,"13.0-13.1":0.06213,"13.2":0.04142,"13.3":0.1997,"13.4-13.7":0.46893,"14.0-14.4":8.73814,"14.5-14.6":2.15088},E:{"4":0,"11":0.0077,"12":0.0154,"13":0.1886,"14":2.91369,_:"0 5 6 7 8 9 10 3.1 3.2 6.1 7.1","5.1":0.04234,"9.1":0.0077,"10.1":0.03464,"11.1":0.06928,"12.1":0.10392,"13.1":0.32717,"14.1":0.61584},B:{"12":0.00385,"14":0.03464,"15":0.00385,"16":0.0077,"17":0.01925,"18":0.06928,"84":0.01155,"85":0.00385,"86":0.00385,"87":0.00385,"88":0.01155,"89":0.06158,"90":2.01688,"91":0.13087,_:"13 79 80 81 83"},P:{"4":0.67324,"5.0-5.4":0.01021,"6.2-6.4":0.0725,"7.2-7.4":0.09322,"8.2":0.04115,"9.2":0.14501,"10.1":0.05179,"11.1-11.2":0.09322,"12.0":0.10358,"13.0":0.32109,"14.0":1.85401},I:{"0":0,"3":0,"4":0,"2.1":0,"2.2":0,"2.3":0,"4.1":0.00126,"4.2-4.3":0.00461,"4.4":0,"4.4.3-4.4.4":0.05949},K:{_:"0 10 11 12 11.1 11.5 12.1"},A:{"9":0.01292,"11":0.16798,_:"6 7 8 10 5.5"},J:{"7":0,"10":0},N:{_:"10 11"},S:{"2.5":0},R:{_:"0"},M:{"0":0.34446},Q:{"10.4":0.01845},O:{"0":2.26972},H:{"0":2.76028},L:{"0":40.69573}}; diff --git a/tools/node_modules/@babel/core/node_modules/caniuse-lite/data/regions/BO.js b/tools/node_modules/@babel/core/node_modules/caniuse-lite/data/regions/BO.js new file mode 100644 index 00000000000000..0089e6db7e7317 --- /dev/null +++ b/tools/node_modules/@babel/core/node_modules/caniuse-lite/data/regions/BO.js @@ -0,0 +1 @@ +module.exports={C:{"17":0.00428,"43":0.00856,"47":0.00428,"48":0.00856,"49":0.00428,"52":0.03851,"55":0.00856,"56":0.00428,"60":0.01284,"61":0.00428,"68":0.00856,"69":0.00856,"72":0.0214,"73":0.00856,"74":0.01284,"76":0.00856,"78":0.05563,"79":0.01284,"80":0.01284,"81":0.00428,"82":0.01284,"83":0.00856,"84":0.01284,"85":0.02567,"86":0.02567,"87":0.05563,"88":2.46043,"89":0.03423,_:"2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 44 45 46 50 51 53 54 57 58 59 62 63 64 65 66 67 70 71 75 77 90 91 3.5 3.6"},D:{"38":0.0214,"44":0.00428,"47":0.00428,"49":0.16688,"53":0.02995,"58":0.00856,"62":0.00856,"63":0.0214,"64":0.00856,"65":0.02995,"66":0.00856,"67":0.01712,"68":0.01712,"69":0.03423,"70":0.05991,"71":0.01284,"72":0.01712,"73":0.01284,"74":0.00856,"75":0.01284,"76":0.0214,"77":0.01712,"78":0.01284,"79":0.07274,"80":0.03851,"81":0.05135,"83":0.05135,"84":0.05135,"85":0.05991,"86":0.07274,"87":0.2439,"88":0.25674,"89":0.70604,"90":27.71936,"91":1.08259,"92":0.00856,_:"4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 39 40 41 42 43 45 46 48 50 51 52 54 55 56 57 59 60 61 93 94"},F:{"73":0.14977,"74":0.01284,"75":0.77022,"76":0.71031,_:"9 11 12 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 60 62 63 64 65 66 67 68 69 70 71 72 9.5-9.6 10.5 10.6 11.1 11.5 11.6 12.1","10.0-10.1":0},G:{"8":0,"3.2":0,"4.0-4.1":0,"4.2-4.3":0,"5.0-5.1":0.00379,"6.0-6.1":0.00354,"7.0-7.1":0.01187,"8.1-8.4":0.00025,"9.0-9.2":0.00455,"9.3":0.03359,"10.0-10.2":0.00076,"10.3":0.05303,"11.0-11.2":0.00833,"11.3-11.4":0.02323,"12.0-12.1":0.00732,"12.2-12.4":0.03232,"13.0-13.1":0.00732,"13.2":0.00278,"13.3":0.03131,"13.4-13.7":0.10353,"14.0-14.4":1.64442,"14.5-14.6":0.41944},E:{"4":0,"12":0.00428,"13":0.00856,"14":0.32948,_:"0 5 6 7 8 9 10 11 3.1 3.2 6.1 7.1 9.1","5.1":1.53188,"10.1":0.00428,"11.1":0.01284,"12.1":0.0214,"13.1":0.08558,"14.1":0.29097},B:{"15":0.00428,"16":0.00428,"17":0.01712,"18":0.06846,"84":0.01284,"85":0.00856,"86":0.00428,"87":0.00856,"88":0.00856,"89":0.04279,"90":1.67309,"91":0.14549,_:"12 13 14 79 80 81 83"},P:{"4":0.6026,"5.0-5.4":0.01021,"6.2-6.4":0.03064,"7.2-7.4":0.54132,"8.2":0.01021,"9.2":0.12256,"10.1":0.04085,"11.1-11.2":0.41876,"12.0":0.21448,"13.0":0.85794,"14.0":2.14485},I:{"0":0,"3":0,"4":0,"2.1":0,"2.2":0,"2.3":0,"4.1":0.0042,"4.2-4.3":0.01201,"4.4":0,"4.4.3-4.4.4":0.09248},K:{_:"0 10 11 12 11.1 11.5 12.1"},A:{"8":0.00949,"11":0.25153,_:"6 7 9 10 5.5"},J:{"7":0,"10":0.05149},N:{_:"10 11"},S:{"2.5":0},R:{_:"0"},M:{"0":0.14875},Q:{"10.4":0},O:{"0":0.30893},H:{"0":0.50371},L:{"0":50.99032}}; diff --git a/tools/node_modules/@babel/core/node_modules/caniuse-lite/data/regions/BR.js b/tools/node_modules/@babel/core/node_modules/caniuse-lite/data/regions/BR.js new file mode 100644 index 00000000000000..b344e2c2dbb094 --- /dev/null +++ b/tools/node_modules/@babel/core/node_modules/caniuse-lite/data/regions/BR.js @@ -0,0 +1 @@ +module.exports={C:{"17":0.01035,"52":0.02589,"60":0.01035,"66":0.00518,"68":0.01553,"72":0.01035,"77":0.01035,"78":0.07766,"79":0.01035,"80":0.01035,"81":0.01035,"82":0.01035,"83":0.01035,"84":0.01553,"85":0.01035,"86":0.01553,"87":0.04142,"88":1.95691,"89":0.02071,_:"2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 53 54 55 56 57 58 59 61 62 63 64 65 67 69 70 71 73 74 75 76 90 91 3.5 3.6"},D:{"24":0.01035,"38":0.01035,"47":0.01035,"49":0.15013,"53":0.03624,"55":0.01035,"56":0.00518,"58":0.01035,"61":0.36239,"62":0.00518,"63":0.02589,"65":0.01035,"66":0.00518,"67":0.01035,"68":0.01553,"69":0.01035,"70":0.01035,"71":0.01035,"72":0.01035,"73":0.12943,"74":0.02071,"75":0.03624,"76":0.02589,"77":0.01553,"78":0.03106,"79":0.07766,"80":0.05177,"81":0.0673,"83":0.07766,"84":0.10872,"85":0.10354,"86":0.1346,"87":0.35721,"88":0.18637,"89":0.71443,"90":36.33219,"91":1.2839,"92":0.03624,_:"4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 25 26 27 28 29 30 31 32 33 34 35 36 37 39 40 41 42 43 44 45 46 48 50 51 52 54 57 59 60 64 93 94"},F:{"36":0.01035,"71":0.00518,"72":0.00518,"73":0.53323,"75":1.83266,"76":0.74549,_:"9 11 12 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 60 62 63 64 65 66 67 68 69 70 74 9.5-9.6 10.5 10.6 11.1 11.5 11.6 12.1","10.0-10.1":0},G:{"8":0,"3.2":0.00171,"4.0-4.1":0,"4.2-4.3":0,"5.0-5.1":0.00739,"6.0-6.1":0.00398,"7.0-7.1":0.00284,"8.1-8.4":0.00171,"9.0-9.2":0.00114,"9.3":0.04035,"10.0-10.2":0.00341,"10.3":0.0466,"11.0-11.2":0.00909,"11.3-11.4":0.05399,"12.0-12.1":0.01364,"12.2-12.4":0.05342,"13.0-13.1":0.01705,"13.2":0.00512,"13.3":0.05115,"13.4-13.7":0.21654,"14.0-14.4":4.19773,"14.5-14.6":0.67973},E:{"4":0,"13":0.02589,"14":0.41934,_:"0 5 6 7 8 9 10 11 12 3.1 3.2 5.1 6.1 7.1 9.1 10.1","11.1":0.01553,"12.1":0.02071,"13.1":0.12943,"14.1":0.22261},B:{"16":0.00518,"17":0.01035,"18":0.08801,"80":0.00518,"84":0.01553,"85":0.01035,"86":0.01035,"87":0.00518,"88":0.00518,"89":0.05177,"90":2.9716,"91":0.11389,_:"12 13 14 15 79 81 83"},P:{"4":0.11439,"5.0-5.4":0.02061,"6.2-6.4":0.1561,"7.2-7.4":0.16638,"8.2":0.03018,"9.2":0.0416,"10.1":0.01041,"11.1-11.2":0.16638,"12.0":0.06239,"13.0":0.29117,"14.0":1.95502},I:{"0":0,"3":0,"4":0,"2.1":0,"2.2":0,"2.3":0,"4.1":0.00762,"4.2-4.3":0.01396,"4.4":0,"4.4.3-4.4.4":0.07488},K:{_:"0 10 11 12 11.1 11.5 12.1"},A:{"8":0.01624,"10":0.00541,"11":0.21649,_:"6 7 9 5.5"},J:{"7":0,"10":0},N:{_:"10 11"},S:{"2.5":0},R:{_:"0"},M:{"0":0.13022},Q:{"10.4":0},O:{"0":0.14469},H:{"0":0.19178},L:{"0":40.38838}}; diff --git a/tools/node_modules/@babel/core/node_modules/caniuse-lite/data/regions/BS.js b/tools/node_modules/@babel/core/node_modules/caniuse-lite/data/regions/BS.js new file mode 100644 index 00000000000000..c7d1dcd41f6775 --- /dev/null +++ b/tools/node_modules/@babel/core/node_modules/caniuse-lite/data/regions/BS.js @@ -0,0 +1 @@ +module.exports={C:{"45":0.02234,"48":0.05808,"52":0.02234,"63":0.00447,"68":0.00447,"78":0.06255,"79":0.00894,"83":0.03574,"84":0.00447,"85":0.02681,"86":0.00894,"87":0.03128,"88":1.30912,"89":0.01787,_:"2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 46 47 49 50 51 53 54 55 56 57 58 59 60 61 62 64 65 66 67 69 70 71 72 73 74 75 76 77 80 81 82 90 91 3.5 3.6"},D:{"23":0.00447,"47":0.00894,"49":0.2368,"58":0.0134,"60":0.00447,"63":0.02681,"65":0.02234,"67":0.02234,"70":0.00894,"71":0.00894,"72":0.02234,"73":0.0134,"74":0.41999,"75":0.05362,"76":0.34404,"77":0.05808,"78":0.0134,"79":0.03128,"80":0.03574,"81":0.01787,"83":0.04021,"84":0.01787,"85":0.01787,"86":0.04915,"87":0.16085,"88":0.18319,"89":0.88913,"90":20.62429,"91":0.6702,"92":0.02234,_:"4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 48 50 51 52 53 54 55 56 57 59 61 62 64 66 68 69 93 94"},F:{"73":0.02681,"75":0.15638,"76":0.18319,_:"9 11 12 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 60 62 63 64 65 66 67 68 69 70 71 72 74 9.5-9.6 10.5 10.6 11.1 11.5 11.6 12.1","10.0-10.1":0},G:{"8":0.00993,"3.2":0,"4.0-4.1":0,"4.2-4.3":0,"5.0-5.1":0.00199,"6.0-6.1":0,"7.0-7.1":0.00596,"8.1-8.4":0.00199,"9.0-9.2":0.00199,"9.3":0.1509,"10.0-10.2":0.00596,"10.3":0.19855,"11.0-11.2":0.08935,"11.3-11.4":0.02581,"12.0-12.1":0.1092,"12.2-12.4":0.26605,"13.0-13.1":0.03772,"13.2":0.01588,"13.3":0.23826,"13.4-13.7":0.69095,"14.0-14.4":15.02411,"14.5-14.6":2.24955},E:{"4":0,"7":0.00894,"11":0.00447,"12":0.00894,"13":0.07596,"14":3.82908,_:"0 5 6 8 9 10 3.1 3.2 6.1 7.1","5.1":0.04915,"9.1":0.00447,"10.1":0.01787,"11.1":0.05808,"12.1":0.16978,"13.1":0.68807,"14.1":1.05892},B:{"12":0.00894,"13":0.07149,"14":0.01787,"15":0.03128,"16":0.04915,"17":0.08042,"18":0.31276,"84":0.00894,"85":0.00447,"86":0.05362,"87":0.01787,"88":0.02681,"89":0.11617,"90":6.55456,"91":0.37978,_:"79 80 81 83"},P:{"4":0.06256,"5.0-5.4":0.01035,"6.2-6.4":0.01043,"7.2-7.4":0.33364,"8.2":0.03078,"9.2":0.27108,"10.1":0.0417,"11.1-11.2":0.8341,"12.0":0.27108,"13.0":0.91751,"14.0":5.30696},I:{"0":0,"3":0,"4":0.00207,"2.1":0,"2.2":0,"2.3":0,"4.1":0,"4.2-4.3":0.00277,"4.4":0,"4.4.3-4.4.4":0.03388},K:{_:"0 10 11 12 11.1 11.5 12.1"},A:{"11":0.64339,_:"6 7 8 9 10 5.5"},J:{"7":0,"10":0},N:{_:"10 11"},S:{"2.5":0},R:{_:"0"},M:{"0":0.14383},Q:{"10.4":0},O:{"0":0.01106},H:{"0":0.0419},L:{"0":31.70099}}; diff --git a/tools/node_modules/@babel/core/node_modules/caniuse-lite/data/regions/BT.js b/tools/node_modules/@babel/core/node_modules/caniuse-lite/data/regions/BT.js new file mode 100644 index 00000000000000..aa2adf73864a2a --- /dev/null +++ b/tools/node_modules/@babel/core/node_modules/caniuse-lite/data/regions/BT.js @@ -0,0 +1 @@ +module.exports={C:{"18":0.0056,"47":0.0028,"68":0.0028,"69":0.0056,"70":0.0084,"78":0.06442,"79":0.0056,"81":0.01401,"86":0.0084,"87":0.03641,"88":0.62182,"89":0.10924,_:"2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 71 72 73 74 75 76 77 80 82 83 84 85 90 91 3.5 3.6"},D:{"18":0.0028,"30":0.0056,"43":0.0084,"49":0.29971,"53":0.0028,"55":0.0056,"56":0.0028,"60":0.01401,"63":0.01681,"65":0.0056,"67":0.03641,"69":0.01401,"70":0.0056,"71":0.0028,"73":0.0084,"74":0.02521,"75":0.0084,"76":0.02801,"78":0.01961,"79":0.01681,"80":0.04762,"81":0.01961,"83":0.0084,"84":0.0112,"85":0.04762,"86":0.04202,"87":0.32772,"88":0.07283,"89":0.71986,"90":16.61833,"91":0.62182,"92":0.02801,_:"4 5 6 7 8 9 10 11 12 13 14 15 16 17 19 20 21 22 23 24 25 26 27 28 29 31 32 33 34 35 36 37 38 39 40 41 42 44 45 46 47 48 50 51 52 54 57 58 59 61 62 64 66 68 72 77 93 94"},F:{"73":0.0028,"74":0.03641,"75":0.12324,"76":0.24089,_:"9 11 12 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 60 62 63 64 65 66 67 68 69 70 71 72 9.5-9.6 10.5 10.6 11.1 11.5 11.6 12.1","10.0-10.1":0},G:{"8":0,"3.2":0,"4.0-4.1":0,"4.2-4.3":0,"5.0-5.1":0,"6.0-6.1":0,"7.0-7.1":0.01766,"8.1-8.4":0,"9.0-9.2":0.00065,"9.3":0.0582,"10.0-10.2":0.01112,"10.3":0.03793,"11.0-11.2":0.06277,"11.3-11.4":0.04512,"12.0-12.1":0.04054,"12.2-12.4":0.17328,"13.0-13.1":0.08174,"13.2":0.0085,"13.3":0.21644,"13.4-13.7":0.34657,"14.0-14.4":4.12152,"14.5-14.6":0.92592},E:{"4":0,"10":0.0028,"12":0.01681,"13":0.03081,"14":0.36413,_:"0 5 6 7 8 9 11 3.1 3.2 5.1 6.1 7.1 9.1","10.1":0.0056,"11.1":0.02801,"12.1":0.02241,"13.1":0.19607,"14.1":0.23248},B:{"12":0.02241,"13":0.03921,"15":0.0084,"16":0.0084,"17":0.0028,"18":0.07843,"84":0.0028,"85":0.01681,"87":0.0056,"88":0.01401,"89":0.06722,"90":1.26885,"91":0.03641,_:"14 79 80 81 83 86"},P:{"4":0.3874,"5.0-5.4":0.02073,"6.2-6.4":0.01036,"7.2-7.4":0.1937,"8.2":0.01019,"9.2":0.39759,"10.1":0.02039,"11.1-11.2":0.21409,"12.0":0.22428,"13.0":0.74421,"14.0":0.9685},I:{"0":0,"3":0,"4":0,"2.1":0,"2.2":0,"2.3":0,"4.1":0.00103,"4.2-4.3":0,"4.4":0,"4.4.3-4.4.4":0.00617},K:{_:"0 10 11 12 11.1 11.5 12.1"},A:{"11":0.04202,_:"6 7 8 9 10 5.5"},J:{"7":0,"10":0},N:{_:"10 11"},S:{"2.5":0},R:{_:"0"},M:{"0":0.0216},Q:{"10.4":0},O:{"0":5.48564},H:{"0":0.50435},L:{"0":61.38343}}; diff --git a/tools/node_modules/@babel/core/node_modules/caniuse-lite/data/regions/BW.js b/tools/node_modules/@babel/core/node_modules/caniuse-lite/data/regions/BW.js new file mode 100644 index 00000000000000..75fa71962307f7 --- /dev/null +++ b/tools/node_modules/@babel/core/node_modules/caniuse-lite/data/regions/BW.js @@ -0,0 +1 @@ +module.exports={C:{"4":0.00449,"15":0.00449,"17":0.00899,"18":0.01348,"29":0.00899,"33":0.00899,"34":0.02247,"40":0.00899,"43":0.00449,"47":0.03594,"49":0.01797,"52":0.02247,"56":0.01348,"57":0.00899,"60":0.01797,"72":0.00899,"75":0.00899,"78":0.22016,"81":0.00899,"82":0.01797,"84":0.01348,"85":0.01797,"86":0.02247,"87":0.11682,"88":2.43071,"89":0.09885,"90":0.00449,_:"2 3 5 6 7 8 9 10 11 12 13 14 16 19 20 21 22 23 24 25 26 27 28 30 31 32 35 36 37 38 39 41 42 44 45 46 48 50 51 53 54 55 58 59 61 62 63 64 65 66 67 68 69 70 71 73 74 76 77 79 80 83 91 3.5 3.6"},D:{"33":0.00449,"40":0.00899,"43":0.03145,"49":0.04493,"50":0.00449,"53":0.03594,"55":0.00449,"57":0.00899,"63":0.01348,"64":0.00449,"65":0.01348,"66":0.00899,"67":0.05841,"68":0.00449,"69":0.00899,"70":0.03145,"71":0.03594,"72":0.00449,"73":0.07189,"74":0.03594,"75":0.04493,"76":0.01797,"77":0.03594,"78":0.04044,"79":0.08986,"80":0.07189,"81":0.0629,"83":0.05841,"84":0.04942,"85":0.04942,"86":0.1258,"87":0.23364,"88":0.46278,"89":1.06933,"90":23.43549,"91":0.77729,"92":0.00449,_:"4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 34 35 36 37 38 39 41 42 44 45 46 47 48 51 52 54 56 58 59 60 61 62 93 94"},F:{"72":0.00449,"73":0.04493,"74":0.01797,"75":0.44031,"76":0.62003,_:"9 11 12 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 60 62 63 64 65 66 67 68 69 70 71 9.5-9.6 10.5 10.6 11.1 11.5 11.6 12.1","10.0-10.1":0},G:{"8":0,"3.2":0,"4.0-4.1":0,"4.2-4.3":0,"5.0-5.1":0.01013,"6.0-6.1":0.01392,"7.0-7.1":0.18861,"8.1-8.4":0,"9.0-9.2":0.00084,"9.3":0.1,"10.0-10.2":0.00295,"10.3":0.05021,"11.0-11.2":0.0557,"11.3-11.4":0.0308,"12.0-12.1":0.15486,"12.2-12.4":0.08861,"13.0-13.1":0.00886,"13.2":0.0097,"13.3":0.04599,"13.4-13.7":0.18903,"14.0-14.4":2.40471,"14.5-14.6":0.55023},E:{"4":0,"12":0.03145,"13":0.00899,"14":0.75932,_:"0 5 6 7 8 9 10 11 3.1 3.2 6.1 7.1 9.1","5.1":0.03594,"10.1":0.00899,"11.1":0.03594,"12.1":0.0629,"13.1":0.07189,"14.1":0.13928},B:{"12":0.04942,"13":0.05841,"14":0.03594,"15":0.03145,"16":0.0674,"17":0.08537,"18":0.23813,"80":0.01797,"81":0.00449,"84":0.03145,"85":0.02247,"86":0.00449,"87":0.01797,"88":0.03145,"89":0.15276,"90":4.77157,"91":0.24262,_:"79 83"},P:{"4":0.46297,"5.0-5.4":0.01021,"6.2-6.4":0.02044,"7.2-7.4":0.72018,"8.2":0.04115,"9.2":0.08231,"10.1":0.05144,"11.1-11.2":0.18519,"12.0":0.08231,"13.0":0.81278,"14.0":2.07823},I:{"0":0,"3":0,"4":0,"2.1":0,"2.2":0,"2.3":0,"4.1":0.00107,"4.2-4.3":0.00193,"4.4":0,"4.4.3-4.4.4":0.05758},K:{_:"0 10 11 12 11.1 11.5 12.1"},A:{"8":0.01237,"9":0.03093,"11":1.81231,_:"6 7 10 5.5"},J:{"7":0,"10":0.00551},N:{_:"10 11"},S:{"2.5":0.02203},R:{_:"0"},M:{"0":0.14321},Q:{"10.4":0.01652},O:{"0":1.35497},H:{"0":0.91256},L:{"0":48.12205}}; diff --git a/tools/node_modules/@babel/core/node_modules/caniuse-lite/data/regions/BY.js b/tools/node_modules/@babel/core/node_modules/caniuse-lite/data/regions/BY.js new file mode 100644 index 00000000000000..3c09b28a294406 --- /dev/null +++ b/tools/node_modules/@babel/core/node_modules/caniuse-lite/data/regions/BY.js @@ -0,0 +1 @@ +module.exports={C:{"50":0.01701,"52":0.15306,"56":0.01134,"66":0.02268,"68":0.01134,"69":0.00567,"70":0.00567,"72":0.02835,"75":0.01134,"77":0.00567,"78":0.13039,"79":0.02835,"80":0.01134,"81":0.01134,"82":0.01134,"83":0.01134,"84":0.02268,"85":0.01134,"86":0.02268,"87":0.05669,"88":2.98756,"89":0.02835,_:"2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 51 53 54 55 57 58 59 60 61 62 63 64 65 67 71 73 74 76 90 91 3.5 3.6"},D:{"22":0.00567,"25":0.00567,"26":0.00567,"38":0.01134,"49":0.82767,"51":0.01134,"53":0.0737,"55":0.00567,"56":0.00567,"57":0.01701,"58":0.01701,"59":0.01134,"61":0.00567,"62":0.00567,"64":0.00567,"66":0.00567,"67":0.01134,"68":0.01134,"69":0.02835,"70":0.01134,"71":0.03401,"72":0.01134,"73":0.05669,"74":0.01134,"75":0.02268,"76":0.03401,"77":0.02268,"78":0.03401,"79":0.11338,"80":0.10204,"81":0.03968,"83":0.13039,"84":0.10204,"85":0.0907,"86":0.38549,"87":0.76532,"88":0.43651,"89":1.01475,"90":28.38468,"91":0.78799,"92":0.06236,_:"4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 23 24 27 28 29 30 31 32 33 34 35 36 37 39 40 41 42 43 44 45 46 47 48 50 52 54 60 63 65 93 94"},F:{"36":0.19842,"39":0.01701,"41":0.00567,"67":0.01134,"69":0.01134,"70":0.02268,"71":0.02835,"72":0.01701,"73":0.3288,"74":0.03401,"75":2.54538,"76":3.79256,_:"9 11 12 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 37 38 40 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 60 62 63 64 65 66 68 9.5-9.6 10.5 10.6 11.1 11.5 11.6","10.0-10.1":0,"12.1":0.24377},G:{"8":0,"3.2":0,"4.0-4.1":0,"4.2-4.3":0,"5.0-5.1":0.00051,"6.0-6.1":0.00153,"7.0-7.1":0.00255,"8.1-8.4":0.00764,"9.0-9.2":0.00051,"9.3":0.06568,"10.0-10.2":0.02851,"10.3":0.06262,"11.0-11.2":0.02597,"11.3-11.4":0.028,"12.0-12.1":0.03818,"12.2-12.4":0.10692,"13.0-13.1":0.04989,"13.2":0.01833,"13.3":0.06109,"13.4-13.7":0.20976,"14.0-14.4":3.3719,"14.5-14.6":0.67153},E:{"4":0,"12":0.00567,"13":0.04535,"14":1.26419,_:"0 5 6 7 8 9 10 11 3.1 3.2 6.1 7.1 9.1","5.1":0.26644,"10.1":0.01134,"11.1":0.03401,"12.1":0.03968,"13.1":0.23243,"14.1":0.53289},B:{"15":0.00567,"16":0.00567,"17":0.01134,"18":0.04535,"84":0.01134,"89":0.02268,"90":1.38891,"91":0.06236,_:"12 13 14 79 80 81 83 85 86 87 88"},P:{"4":0.05203,"5.0-5.4":0.02061,"6.2-6.4":0.1561,"7.2-7.4":0.17692,"8.2":0.03018,"9.2":0.08325,"10.1":0.01041,"11.1-11.2":0.37464,"12.0":0.13529,"13.0":0.40586,"14.0":2.24786},I:{"0":0,"3":0,"4":0.00071,"2.1":0,"2.2":0,"2.3":0,"4.1":0.00317,"4.2-4.3":0.01022,"4.4":0,"4.4.3-4.4.4":0.04653},K:{_:"0 10 11 12 11.1 11.5 12.1"},A:{"11":0.47053,_:"6 7 8 9 10 5.5"},J:{"7":0,"10":0},N:{_:"10 11"},S:{"2.5":0},R:{_:"0"},M:{"0":0.09528},Q:{"10.4":0.00866},O:{"0":0.21222},H:{"0":1.17679},L:{"0":33.27341}}; diff --git a/tools/node_modules/@babel/core/node_modules/caniuse-lite/data/regions/BZ.js b/tools/node_modules/@babel/core/node_modules/caniuse-lite/data/regions/BZ.js new file mode 100644 index 00000000000000..0bb01b69853258 --- /dev/null +++ b/tools/node_modules/@babel/core/node_modules/caniuse-lite/data/regions/BZ.js @@ -0,0 +1 @@ +module.exports={C:{"52":0.00955,"70":0.02864,"72":0.00477,"78":0.09546,"79":0.00955,"81":0.69209,"82":0.15274,"85":0.00955,"86":0.0716,"87":0.03818,"88":2.39127,"89":0.0525,_:"2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 71 73 74 75 76 77 80 83 84 90 91 3.5 3.6"},D:{"25":0.00955,"49":0.53935,"55":0.04773,"65":0.02387,"68":0.00477,"69":0.00477,"70":0.00477,"74":0.21956,"75":0.08114,"76":0.11455,"77":0.00955,"79":0.06205,"80":0.04773,"81":0.05728,"83":0.03818,"84":0.10023,"85":0.10501,"86":0.0525,"87":0.09069,"88":0.26729,"89":1.10734,"90":25.03916,"91":0.86391,"92":0.02387,_:"4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 50 51 52 53 54 56 57 58 59 60 61 62 63 64 66 67 71 72 73 78 93 94"},F:{"73":0.12887,"74":0.01432,"75":0.69209,"76":1.31258,_:"9 11 12 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 60 62 63 64 65 66 67 68 69 70 71 72 9.5-9.6 10.5 10.6 11.1 11.5 11.6 12.1","10.0-10.1":0},G:{"8":0,"3.2":0,"4.0-4.1":0,"4.2-4.3":0,"5.0-5.1":0.03156,"6.0-6.1":0.00451,"7.0-7.1":0.10031,"8.1-8.4":0.00338,"9.0-9.2":0.05861,"9.3":0.24458,"10.0-10.2":0.00113,"10.3":0.27389,"11.0-11.2":0.01916,"11.3-11.4":0.18485,"12.0-12.1":0.0293,"12.2-12.4":0.11158,"13.0-13.1":0.08341,"13.2":0.03381,"13.3":0.11835,"13.4-13.7":0.36744,"14.0-14.4":7.55954,"14.5-14.6":1.47426},E:{"4":0,"7":0.00477,"12":0.06205,"13":0.01432,"14":2.66811,_:"0 5 6 8 9 10 11 3.1 3.2 5.1 6.1 7.1","9.1":0.00477,"10.1":0.00477,"11.1":0.14796,"12.1":0.02387,"13.1":0.35798,"14.1":0.59663},B:{"12":0.00477,"16":0.01909,"17":0.00477,"18":0.10501,"84":0.00477,"85":0.00477,"88":0.03818,"89":0.10978,"90":5.43645,"91":0.23865,_:"13 14 15 79 80 81 83 86 87"},P:{"4":0.11054,"5.0-5.4":0.02073,"6.2-6.4":0.01036,"7.2-7.4":0.12159,"8.2":0.02073,"9.2":0.03316,"10.1":0.01096,"11.1-11.2":0.16581,"12.0":0.08843,"13.0":0.32057,"14.0":3.49308},I:{"0":0,"3":0,"4":0.00351,"2.1":0,"2.2":0,"2.3":0,"4.1":0.00156,"4.2-4.3":0.00195,"4.4":0,"4.4.3-4.4.4":0.05571},K:{_:"0 10 11 12 11.1 11.5 12.1"},A:{"11":0.09546,_:"6 7 8 9 10 5.5"},J:{"7":0,"10":0},N:{_:"10 11"},S:{"2.5":0},R:{_:"0"},M:{"0":0.1359},Q:{"10.4":0.06795},O:{"0":0.13068},H:{"0":0.24248},L:{"0":39.17552}}; diff --git a/tools/node_modules/@babel/core/node_modules/caniuse-lite/data/regions/CA.js b/tools/node_modules/@babel/core/node_modules/caniuse-lite/data/regions/CA.js new file mode 100644 index 00000000000000..84b2a9f420203e --- /dev/null +++ b/tools/node_modules/@babel/core/node_modules/caniuse-lite/data/regions/CA.js @@ -0,0 +1 @@ +module.exports={C:{"38":0.01171,"43":0.01757,"44":0.0527,"45":0.01171,"48":0.01171,"52":0.05856,"55":0.03514,"56":0.00586,"57":0.01171,"60":0.01171,"63":0.66173,"66":0.00586,"68":0.01171,"70":0.06442,"72":0.01171,"76":0.00586,"77":0.01171,"78":0.15811,"79":0.01171,"80":0.00586,"81":0.01171,"82":0.07027,"83":0.01171,"84":0.02342,"85":0.01757,"86":0.03514,"87":0.31622,"88":3.12125,"89":0.01757,_:"2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 39 40 41 42 46 47 49 50 51 53 54 58 59 61 62 64 65 67 69 71 73 74 75 90 91 3.5 3.6"},D:{"38":0.00586,"47":0.01757,"48":0.15226,"49":0.33965,"53":0.02342,"56":0.00586,"58":0.01757,"60":0.01757,"61":0.23424,"63":0.01171,"64":0.02928,"65":0.02928,"66":0.01757,"67":0.04685,"68":0.15811,"69":0.04685,"70":0.71443,"71":0.01171,"72":0.0527,"73":0.09955,"74":0.04685,"75":0.03514,"76":0.37478,"77":0.02342,"78":0.04099,"79":1.9032,"80":0.12298,"81":0.04685,"83":1.38787,"84":0.10541,"85":0.11126,"86":0.19325,"87":0.37478,"88":0.40992,"89":1.8095,"90":26.54525,"91":0.55046,"92":0.01757,_:"4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 39 40 41 42 43 44 45 46 50 51 52 54 55 57 59 62 93 94"},F:{"36":0.01171,"42":0.00586,"43":0.00586,"52":0.00586,"56":0.00586,"73":0.04099,"74":0.00586,"75":0.2401,"76":0.26352,_:"9 11 12 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 37 38 39 40 41 44 45 46 47 48 49 50 51 53 54 55 57 58 60 62 63 64 65 66 67 68 69 70 71 72 9.5-9.6 10.5 10.6 11.1 11.5 11.6 12.1","10.0-10.1":0},G:{"8":0.00211,"3.2":0,"4.0-4.1":0,"4.2-4.3":0,"5.0-5.1":0.00846,"6.0-6.1":0.02114,"7.0-7.1":0.03382,"8.1-8.4":0.04017,"9.0-9.2":0.02325,"9.3":0.3615,"10.0-10.2":0.03805,"10.3":0.3467,"11.0-11.2":0.13107,"11.3-11.4":0.10359,"12.0-12.1":0.09302,"12.2-12.4":0.34248,"13.0-13.1":0.05497,"13.2":0.04017,"13.3":0.20083,"13.4-13.7":0.71878,"14.0-14.4":14.86807,"14.5-14.6":2.57491},E:{"4":0,"8":0.01171,"9":0.02342,"10":0.00586,"11":0.01757,"12":0.02342,"13":0.15226,"14":4.80192,_:"0 5 6 7 3.1 3.2 5.1 6.1 7.1","9.1":0.02342,"10.1":0.05856,"11.1":0.15226,"12.1":0.20496,"13.1":0.85498,"14.1":1.62797},B:{"13":0.00586,"14":0.01171,"15":0.00586,"16":0.01171,"17":0.69101,"18":0.13469,"84":0.00586,"85":0.01171,"86":0.01757,"87":0.01171,"88":0.02342,"89":0.15226,"90":5.30554,"91":0.09955,_:"12 79 80 81 83"},P:{"4":0.11063,"5.0-5.4":0.02104,"6.2-6.4":0.1561,"7.2-7.4":0.02104,"8.2":0.03018,"9.2":0.01106,"10.1":0.03156,"11.1-11.2":0.05532,"12.0":0.03319,"13.0":0.2102,"14.0":3.19731},I:{"0":0,"3":0,"4":0.00085,"2.1":0,"2.2":0,"2.3":0,"4.1":0.00128,"4.2-4.3":0.0047,"4.4":0,"4.4.3-4.4.4":0.0346},K:{_:"0 10 11 12 11.1 11.5 12.1"},A:{"6":0.0074,"8":0.0074,"9":0.04443,"11":0.83673,_:"7 10 5.5"},J:{"7":0,"10":0.01658},N:{_:"10 11"},S:{"2.5":0},R:{_:"0"},M:{"0":0.38125},Q:{"10.4":0.01658},O:{"0":0.18234},H:{"0":0.15693},L:{"0":17.81331}}; diff --git a/tools/node_modules/@babel/core/node_modules/caniuse-lite/data/regions/CD.js b/tools/node_modules/@babel/core/node_modules/caniuse-lite/data/regions/CD.js new file mode 100644 index 00000000000000..06b764dcf147e0 --- /dev/null +++ b/tools/node_modules/@babel/core/node_modules/caniuse-lite/data/regions/CD.js @@ -0,0 +1 @@ +module.exports={C:{"17":0.00176,"23":0.00176,"27":0.00176,"29":0.01409,"30":0.00176,"32":0.00352,"34":0.00352,"38":0.00176,"40":0.00176,"41":0.00704,"44":0.00528,"45":0.00352,"47":0.01409,"48":0.00352,"50":0.00176,"52":0.00881,"55":0.00352,"56":0.00176,"57":0.00352,"60":0.00352,"68":0.00881,"69":0.00176,"72":0.00881,"77":0.00176,"78":0.04226,"80":0.00176,"81":0.00176,"83":0.00176,"84":0.00704,"85":0.01409,"86":0.01409,"87":0.05107,"88":1.22566,"89":0.01761,_:"2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 18 19 20 21 22 24 25 26 28 31 33 35 36 37 39 42 43 46 49 51 53 54 58 59 61 62 63 64 65 66 67 70 71 73 74 75 76 79 82 90 91 3.5 3.6"},D:{"11":0.00176,"22":0.00352,"25":0.00352,"26":0.00176,"38":0.00528,"43":0.00881,"49":0.02113,"51":0.00352,"52":0.00176,"57":0.00704,"58":0.00176,"60":0.00176,"63":0.00704,"64":0.01409,"65":0.00352,"67":0.00352,"69":0.00528,"70":0.00352,"74":0.00352,"75":0.00176,"76":0.01233,"77":0.01409,"78":0.00352,"79":0.02289,"80":0.02642,"81":0.01937,"83":0.02642,"84":0.03346,"85":0.00704,"86":0.02818,"87":0.09509,"88":0.11975,"89":0.34163,"90":5.04174,"91":0.16906,_:"4 5 6 7 8 9 10 12 13 14 15 16 17 18 19 20 21 23 24 27 28 29 30 31 32 33 34 35 36 37 39 40 41 42 44 45 46 47 48 50 53 54 55 56 59 61 62 66 68 71 72 73 92 93 94"},F:{"18":0.00176,"34":0.01057,"36":0.00352,"37":0.00881,"42":0.01585,"45":0.00176,"56":0.00176,"60":0.00881,"63":0.00352,"64":0.00528,"67":0.00176,"73":0.00881,"74":0.01233,"75":0.34868,"76":0.641,_:"9 11 12 15 16 17 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 35 38 39 40 41 43 44 46 47 48 49 50 51 52 53 54 55 57 58 62 65 66 68 69 70 71 72 9.5-9.6 10.5 10.6 11.1 11.6","10.0-10.1":0,"11.5":0.00176,"12.1":0.00352},G:{"8":0.00162,"3.2":0,"4.0-4.1":0,"4.2-4.3":0,"5.0-5.1":0.00567,"6.0-6.1":0.00081,"7.0-7.1":0.08422,"8.1-8.4":0.00162,"9.0-9.2":0.00648,"9.3":0.06559,"10.0-10.2":0.02267,"10.3":0.09718,"11.0-11.2":0.08341,"11.3-11.4":0.11175,"12.0-12.1":0.10041,"12.2-12.4":1.22279,"13.0-13.1":0.07855,"13.2":0.04211,"13.3":0.38546,"13.4-13.7":0.67213,"14.0-14.4":3.5469,"14.5-14.6":0.47292},E:{"4":0,"8":0.00176,"11":0.00528,"12":0.01233,"13":0.03522,"14":0.2078,_:"0 5 6 7 9 10 3.1 3.2 6.1 9.1","5.1":0.07396,"7.1":0.00176,"10.1":0.00352,"11.1":0.00352,"12.1":0.00528,"13.1":0.05283,"14.1":0.04226},B:{"12":0.06164,"13":0.01937,"14":0.01585,"15":0.02994,"16":0.00704,"17":0.02994,"18":0.08453,"80":0.00352,"84":0.01761,"85":0.0317,"86":0.01057,"87":0.00881,"88":0.01937,"89":0.05987,"90":1.11295,"91":0.08277,_:"79 81 83"},P:{"4":0.45631,"5.0-5.4":0.03111,"6.2-6.4":0.0505,"7.2-7.4":0.16593,"8.2":0.02053,"9.2":0.05185,"10.1":0.02074,"11.1-11.2":0.10371,"12.0":0.08297,"13.0":0.50816,"14.0":0.62224},I:{"0":0,"3":0,"4":0.00147,"2.1":0,"2.2":0,"2.3":0,"4.1":0.00403,"4.2-4.3":0.04214,"4.4":0,"4.4.3-4.4.4":0.15831},K:{_:"0 10 11 12 11.1 11.5 12.1"},A:{"8":0.00607,"11":0.26689,_:"6 7 9 10 5.5"},J:{"7":0,"10":0.10709},N:{"10":0.02735,"11":0.35567},S:{"2.5":0.25538},R:{_:"0"},M:{"0":0.69199},Q:{"10.4":0.04119},O:{"0":1.65584},H:{"0":26.65769},L:{"0":48.21578}}; diff --git a/tools/node_modules/@babel/core/node_modules/caniuse-lite/data/regions/CF.js b/tools/node_modules/@babel/core/node_modules/caniuse-lite/data/regions/CF.js new file mode 100644 index 00000000000000..6d3e2b5f4006c8 --- /dev/null +++ b/tools/node_modules/@babel/core/node_modules/caniuse-lite/data/regions/CF.js @@ -0,0 +1 @@ +module.exports={C:{"7":0.00589,"27":0.02354,"35":0.00981,"41":0.00392,"43":0.03532,"52":0.00392,"60":0.00589,"63":0.00981,"64":0.01177,"68":0.26487,"72":0.03335,"78":0.27664,"79":0.00981,"81":0.00589,"82":0.00589,"83":0.00981,"84":0.03335,"85":0.04513,"86":0.05297,"87":0.14519,"88":1.2341,"89":0.00392,_:"2 3 4 5 6 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 28 29 30 31 32 33 34 36 37 38 39 40 42 44 45 46 47 48 49 50 51 53 54 55 56 57 58 59 61 62 65 66 67 69 70 71 73 74 75 76 77 80 90 91 3.5 3.6"},D:{"25":0.00589,"34":0.00392,"46":0.00981,"52":0.05886,"55":0.00392,"63":0.00981,"67":0.00392,"69":0.01766,"70":0.00981,"73":0.00392,"77":0.00589,"79":0.00392,"80":0.0157,"81":0.03335,"83":0.0157,"84":0.00981,"85":0.2531,"86":0.01177,"87":0.08044,"88":0.06278,"89":0.84366,"90":9.41564,"91":0.27272,_:"4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 26 27 28 29 30 31 32 33 35 36 37 38 39 40 41 42 43 44 45 47 48 49 50 51 53 54 56 57 58 59 60 61 62 64 65 66 68 71 72 74 75 76 78 92 93 94"},F:{"42":0.00392,"53":0.00589,"73":0.02158,"75":0.11576,"76":0.13734,_:"9 11 12 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 43 44 45 46 47 48 49 50 51 52 54 55 56 57 58 60 62 63 64 65 66 67 68 69 70 71 72 74 9.5-9.6 10.5 10.6 11.1 11.5 11.6 12.1","10.0-10.1":0},G:{"8":0,"3.2":0,"4.0-4.1":0,"4.2-4.3":0,"5.0-5.1":0,"6.0-6.1":0.00555,"7.0-7.1":0,"8.1-8.4":0,"9.0-9.2":0,"9.3":0,"10.0-10.2":0.00555,"10.3":0,"11.0-11.2":0.44712,"11.3-11.4":0.03573,"12.0-12.1":0.02497,"12.2-12.4":0.37809,"13.0-13.1":0.0111,"13.2":0.00555,"13.3":0.10476,"13.4-13.7":0.37809,"14.0-14.4":1.55606,"14.5-14.6":0.29519},E:{"4":0,"14":0.03532,_:"0 5 6 7 8 9 10 11 12 13 3.1 3.2 5.1 6.1 7.1 9.1 10.1 12.1","11.1":0.00392,"13.1":0.05297,"14.1":0.02943},B:{"12":0.03532,"13":0.05101,"14":0.0157,"15":0.0157,"16":0.02158,"17":0.03532,"18":0.0412,"84":0.03335,"85":0.00392,"87":0.05886,"88":0.01766,"89":0.41987,"90":0.64746,"91":0.08633,_:"79 80 81 83 86"},P:{"4":0.14394,"5.0-5.4":0.01028,"6.2-6.4":0.01027,"7.2-7.4":0.01028,"8.2":0.02053,"9.2":0.2159,"10.1":1.30571,"11.1-11.2":0.19534,"12.0":0.02056,"13.0":0.66828,"14.0":0.45237},I:{"0":0,"3":0,"4":0,"2.1":0,"2.2":0,"2.3":0,"4.1":0.06605,"4.2-4.3":0.15191,"4.4":0,"4.4.3-4.4.4":2.78059},K:{_:"0 10 11 12 11.1 11.5 12.1"},A:{"11":0.05886,_:"6 7 8 9 10 5.5"},J:{"7":0,"10":0},N:{"10":0.02735,"11":0.35567},S:{"2.5":0.05627},R:{_:"0"},M:{"0":0.07235},Q:{"10.4":0.0402},O:{"0":0.64312},H:{"0":8.35666},L:{"0":65.59645}}; diff --git a/tools/node_modules/@babel/core/node_modules/caniuse-lite/data/regions/CG.js b/tools/node_modules/@babel/core/node_modules/caniuse-lite/data/regions/CG.js new file mode 100644 index 00000000000000..b86cc4f794e195 --- /dev/null +++ b/tools/node_modules/@babel/core/node_modules/caniuse-lite/data/regions/CG.js @@ -0,0 +1 @@ +module.exports={C:{"29":0.00344,"32":0.00688,"35":0.01032,"42":0.00688,"43":0.00688,"47":0.00344,"49":0.03439,"52":0.01376,"68":0.00688,"69":0.00688,"70":0.00688,"72":0.00344,"74":0.00688,"75":0.01376,"76":0.03439,"78":0.07566,"80":0.00344,"83":0.00344,"84":0.00688,"85":0.0172,"86":0.02407,"87":0.02063,"88":2.91627,"89":0.04127,_:"2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 30 31 33 34 36 37 38 39 40 41 44 45 46 48 50 51 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 71 73 77 79 81 82 90 91 3.5 3.6"},D:{"11":0.01032,"26":0.00344,"33":0.00344,"42":0.00344,"43":0.02407,"44":0.00688,"49":0.00344,"56":0.01032,"63":0.00344,"64":0.01032,"66":0.0172,"67":0.00688,"70":0.03095,"71":0.00344,"73":0.01032,"74":0.00344,"75":0.01376,"76":0.0172,"77":0.01032,"78":0.00688,"79":0.0172,"80":0.01376,"81":0.02751,"83":0.0172,"84":0.02063,"85":0.01376,"86":0.08941,"87":0.31295,"88":0.13412,"89":0.20978,"90":11.52409,"91":0.45395,_:"4 5 6 7 8 9 10 12 13 14 15 16 17 18 19 20 21 22 23 24 25 27 28 29 30 31 32 34 35 36 37 38 39 40 41 45 46 47 48 50 51 52 53 54 55 57 58 59 60 61 62 65 68 69 72 92 93 94"},F:{"33":0.00344,"34":0.00688,"42":0.01032,"70":0.00688,"72":0.02063,"73":0.05159,"74":0.02063,"75":0.62246,"76":1.35841,_:"9 11 12 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 35 36 37 38 39 40 41 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 60 62 63 64 65 66 67 68 69 71 9.5-9.6 10.5 10.6 11.1 11.5 11.6 12.1","10.0-10.1":0},G:{"8":0,"3.2":0,"4.0-4.1":0,"4.2-4.3":0,"5.0-5.1":0.00158,"6.0-6.1":0.00158,"7.0-7.1":0.40192,"8.1-8.4":0.03237,"9.0-9.2":0.00158,"9.3":0.0379,"10.0-10.2":0.00869,"10.3":0.44614,"11.0-11.2":0.07817,"11.3-11.4":0.04975,"12.0-12.1":0.13818,"12.2-12.4":1.12363,"13.0-13.1":0.05369,"13.2":0.05527,"13.3":0.28032,"13.4-13.7":0.18319,"14.0-14.4":3.22165,"14.5-14.6":0.55037},E:{"4":0,"7":0.00344,"12":0.00688,"13":0.00688,"14":0.26824,_:"0 5 6 8 9 10 11 3.1 3.2 5.1 6.1 9.1","7.1":0.11005,"10.1":0.01032,"11.1":0.01032,"12.1":0.02063,"13.1":0.17539,"14.1":0.03783},B:{"12":0.03095,"13":0.0172,"14":0.01376,"15":0.01032,"16":0.00688,"17":0.02063,"18":0.49522,"84":0.01376,"85":0.07566,"86":0.00344,"87":0.19946,"88":0.00688,"89":0.12037,"90":3.28768,"91":0.16851,_:"79 80 81 83"},P:{"4":0.52757,"5.0-5.4":0.04221,"6.2-6.4":0.0505,"7.2-7.4":0.06331,"8.2":0.01055,"9.2":0.08441,"10.1":0.03165,"11.1-11.2":0.12662,"12.0":0.07386,"13.0":0.23213,"14.0":0.61198},I:{"0":0,"3":0,"4":0.00133,"2.1":0,"2.2":0,"2.3":0,"4.1":0.00994,"4.2-4.3":0.05013,"4.4":0,"4.4.3-4.4.4":0.26665},K:{_:"0 10 11 12 11.1 11.5 12.1"},A:{"8":0.01063,"9":0.00531,"11":0.21791,_:"6 7 10 5.5"},J:{"7":0,"10":0.08529},N:{"10":0.02735,"11":0.35567},S:{"2.5":1.10881},R:{_:"0"},M:{"0":1.03664},Q:{"10.4":0.03281},O:{"0":1.39093},H:{"0":2.18025},L:{"0":60.93687}}; diff --git a/tools/node_modules/@babel/core/node_modules/caniuse-lite/data/regions/CH.js b/tools/node_modules/@babel/core/node_modules/caniuse-lite/data/regions/CH.js new file mode 100644 index 00000000000000..6bc6804f4fe55a --- /dev/null +++ b/tools/node_modules/@babel/core/node_modules/caniuse-lite/data/regions/CH.js @@ -0,0 +1 @@ +module.exports={C:{"48":0.03912,"52":0.0503,"57":0.01677,"60":0.01677,"67":0.01118,"68":0.06707,"70":0.05589,"71":0.01677,"72":0.02236,"73":0.00559,"75":0.01118,"76":0.0503,"77":0.00559,"78":0.43035,"80":0.01677,"81":0.01118,"82":0.01118,"83":0.02795,"84":0.04471,"85":0.08942,"86":0.11178,"87":0.19562,"88":6.33793,"89":0.02236,"90":0.00559,_:"2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 49 50 51 53 54 55 56 58 59 61 62 63 64 65 66 69 74 79 91 3.5 3.6"},D:{"38":0.02795,"49":0.17885,"52":0.11178,"53":0.02795,"60":0.01677,"61":0.04471,"63":0.03912,"64":0.01118,"65":0.01118,"66":0.0503,"67":0.01677,"68":0.02236,"69":0.00559,"70":0.02236,"72":0.01677,"73":0.01118,"74":0.01677,"75":0.01677,"76":0.04471,"77":0.01677,"78":0.02236,"79":0.05589,"80":0.05589,"81":0.0503,"83":0.06707,"84":0.08942,"85":0.06707,"86":0.10619,"87":0.31298,"88":0.31298,"89":1.13457,"90":21.2382,"91":0.50301,"92":0.00559,_:"4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 39 40 41 42 43 44 45 46 47 48 50 51 54 55 56 57 58 59 62 71 93 94"},F:{"46":0.00559,"73":0.12855,"74":0.00559,"75":0.5589,"76":0.57008,_:"9 11 12 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 47 48 49 50 51 52 53 54 55 56 57 58 60 62 63 64 65 66 67 68 69 70 71 72 9.5-9.6 10.5 10.6 11.1 11.5 11.6 12.1","10.0-10.1":0},G:{"8":0,"3.2":0,"4.0-4.1":0,"4.2-4.3":0,"5.0-5.1":0.00471,"6.0-6.1":0.00706,"7.0-7.1":0.03295,"8.1-8.4":0.05413,"9.0-9.2":0.16473,"9.3":0.50832,"10.0-10.2":0.02353,"10.3":0.23063,"11.0-11.2":0.06119,"11.3-11.4":0.12237,"12.0-12.1":0.08707,"12.2-12.4":0.26828,"13.0-13.1":0.09178,"13.2":0.04942,"13.3":0.20003,"13.4-13.7":0.78837,"14.0-14.4":16.91345,"14.5-14.6":3.12994},E:{"4":0,"8":0.01118,"10":0.05589,"11":0.03353,"12":0.03353,"13":0.19003,"14":6.23732,_:"0 5 6 7 9 3.1 3.2 5.1 6.1 7.1","9.1":0.02236,"10.1":0.08942,"11.1":0.21797,"12.1":0.4583,"13.1":1.56492,"14.1":2.65478},B:{"14":0.01118,"16":0.01118,"17":0.01677,"18":0.16208,"81":0.01677,"84":0.01677,"85":0.0503,"86":0.03353,"87":0.03353,"88":0.0503,"89":0.26268,"90":7.52838,"91":0.12855,_:"12 13 15 79 80 83"},P:{"4":0.12833,"5.0-5.4":0.01012,"6.2-6.4":0.01012,"7.2-7.4":0.51623,"8.2":0.02024,"9.2":0.03208,"10.1":0.02139,"11.1-11.2":0.07486,"12.0":0.10694,"13.0":0.50262,"14.0":3.76429},I:{"0":0,"3":0,"4":0,"2.1":0,"2.2":0,"2.3":0,"4.1":0.00147,"4.2-4.3":0.00343,"4.4":0,"4.4.3-4.4.4":0.0392},K:{_:"0 10 11 12 11.1 11.5 12.1"},A:{"9":0.01192,"11":0.88232,_:"6 7 8 10 5.5"},J:{"7":0,"10":0.00441},N:{"10":0.01297,"11":0.01825},S:{"2.5":0},R:{_:"0"},M:{"0":0.62622},Q:{"10.4":0.03528},O:{"0":0.08379},H:{"0":0.25051},L:{"0":16.29627}}; diff --git a/tools/node_modules/@babel/core/node_modules/caniuse-lite/data/regions/CI.js b/tools/node_modules/@babel/core/node_modules/caniuse-lite/data/regions/CI.js new file mode 100644 index 00000000000000..05553cd5b5eb8c --- /dev/null +++ b/tools/node_modules/@babel/core/node_modules/caniuse-lite/data/regions/CI.js @@ -0,0 +1 @@ +module.exports={C:{"52":0.09571,"56":0.00368,"66":0.00368,"68":0.00368,"72":0.01104,"75":0.00736,"78":0.09203,"79":0.05522,"80":0.00736,"81":0.00368,"84":0.04049,"85":0.01472,"86":0.01472,"87":0.03681,"88":2.24173,"89":0.04785,_:"2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 53 54 55 57 58 59 60 61 62 63 64 65 67 69 70 71 73 74 76 77 82 83 90 91 3.5 3.6"},D:{"25":0.02209,"29":0.04049,"40":0.01104,"43":0.01104,"49":0.27239,"50":0.01104,"51":0.00736,"53":0.01104,"55":0.01104,"56":0.00736,"57":0.00368,"58":0.00736,"59":0.01841,"63":0.01841,"64":0.00736,"65":0.01104,"66":0.06626,"67":0.01104,"68":0.01104,"69":0.04049,"70":0.02209,"71":0.01841,"72":0.01841,"73":0.01841,"74":0.09571,"75":0.04049,"76":0.04049,"77":0.06258,"78":0.10307,"79":0.0589,"80":0.08466,"81":0.11043,"83":0.1362,"84":0.16196,"85":0.11411,"86":0.19509,"87":0.85031,"88":0.39755,"89":0.94234,"90":17.56205,"91":0.73988,"92":0.08098,"93":0.01104,_:"4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 26 27 28 30 31 32 33 34 35 36 37 38 39 41 42 44 45 46 47 48 52 54 60 61 62 94"},F:{"73":0.02209,"74":0.00736,"75":0.46013,"76":0.85031,_:"9 11 12 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 60 62 63 64 65 66 67 68 69 70 71 72 9.5-9.6 10.5 10.6 11.1 11.5 11.6 12.1","10.0-10.1":0},G:{"8":0.00506,"3.2":0,"4.0-4.1":0,"4.2-4.3":0,"5.0-5.1":0.00126,"6.0-6.1":0,"7.0-7.1":0.03288,"8.1-8.4":0,"9.0-9.2":0,"9.3":0.20486,"10.0-10.2":0.01138,"10.3":0.29464,"11.0-11.2":0.49065,"11.3-11.4":0.25544,"12.0-12.1":0.13152,"12.2-12.4":1.1242,"13.0-13.1":0.08473,"13.2":0.05817,"13.3":0.33258,"13.4-13.7":0.69678,"14.0-14.4":6.28744,"14.5-14.6":1.23169},E:{"4":0,"13":0.05153,"14":0.34601,_:"0 5 6 7 8 9 10 11 12 3.1 3.2 6.1 7.1","5.1":0.02209,"9.1":0.00368,"10.1":0.00368,"11.1":0.00736,"12.1":0.01472,"13.1":0.53006,"14.1":0.12147},B:{"12":0.01472,"13":0.00736,"14":0.00736,"15":0.00736,"16":0.01472,"17":0.02577,"18":0.06626,"84":0.01472,"85":0.00736,"87":0.00736,"88":0.01104,"89":0.06258,"90":2.26013,"91":0.09939,_:"79 80 81 83 86"},P:{"4":0.08191,"5.0-5.4":0.04221,"6.2-6.4":0.01024,"7.2-7.4":0.2355,"8.2":0.0101,"9.2":0.15359,"10.1":0.02048,"11.1-11.2":0.21502,"12.0":0.10239,"13.0":0.37885,"14.0":0.63482},I:{"0":0,"3":0,"4":0,"2.1":0,"2.2":0,"2.3":0,"4.1":0.00069,"4.2-4.3":0.00381,"4.4":0,"4.4.3-4.4.4":0.04606},K:{_:"0 10 11 12 11.1 11.5 12.1"},A:{"11":0.20246,_:"6 7 8 9 10 5.5"},J:{"7":0,"10":0.02528},N:{"10":0.02735,"11":0.35567},S:{"2.5":0.05688},R:{_:"0"},M:{"0":0.1896},Q:{"10.4":0.06952},O:{"0":0.5372},H:{"0":2.28565},L:{"0":52.61697}}; diff --git a/tools/node_modules/@babel/core/node_modules/caniuse-lite/data/regions/CK.js b/tools/node_modules/@babel/core/node_modules/caniuse-lite/data/regions/CK.js new file mode 100644 index 00000000000000..879eeaeaad85d4 --- /dev/null +++ b/tools/node_modules/@babel/core/node_modules/caniuse-lite/data/regions/CK.js @@ -0,0 +1 @@ +module.exports={C:{"78":0.02853,"84":0.0163,"85":0.27309,"88":2.40076,_:"2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 79 80 81 82 83 86 87 89 90 91 3.5 3.6"},D:{"49":2.82059,"55":0.02446,"65":0.07744,"67":0.02446,"72":0.02853,"74":0.02446,"79":0.01223,"81":0.04076,"83":0.02446,"85":0.00815,"86":0.17934,"87":0.04076,"88":0.04891,"89":1.16166,"90":23.75493,"91":0.48097,_:"4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 50 51 52 53 54 56 57 58 59 60 61 62 63 64 66 68 69 70 71 73 75 76 77 78 80 84 92 93 94"},F:{"73":0.06929,"74":0.05299,"75":0.25271,"76":0.17934,_:"9 11 12 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 60 62 63 64 65 66 67 68 69 70 71 72 9.5-9.6 10.5 10.6 11.1 11.5 11.6 12.1","10.0-10.1":0},G:{"8":0,"3.2":0,"4.0-4.1":0,"4.2-4.3":0,"5.0-5.1":0,"6.0-6.1":0,"7.0-7.1":0,"8.1-8.4":0,"9.0-9.2":0,"9.3":0.02186,"10.0-10.2":0,"10.3":0.00219,"11.0-11.2":0.04263,"11.3-11.4":0.05138,"12.0-12.1":0.0951,"12.2-12.4":0.32357,"13.0-13.1":0.05138,"13.2":0.0951,"13.3":0.33778,"13.4-13.7":0.93026,"14.0-14.4":7.20708,"14.5-14.6":1.50307},E:{"4":0,"9":0.01223,"11":0.01223,"13":0.04076,"14":0.81112,_:"0 5 6 7 8 10 12 3.1 3.2 5.1 6.1 7.1 9.1 10.1","11.1":0.1019,"12.1":0.04076,"13.1":1.36138,"14.1":0.15896},B:{"18":0.19565,"86":0.02853,"88":0.02446,"89":0.02038,"90":3.36678,"91":0.2038,_:"12 13 14 15 16 17 79 80 81 83 84 85 87"},P:{"4":0.0101,"5.0-5.4":0.04221,"6.2-6.4":0.09094,"7.2-7.4":0.08083,"8.2":0.0101,"9.2":0.48499,"10.1":0.29301,"11.1-11.2":0.72748,"12.0":0.29301,"13.0":0.70728,"14.0":4.51646},I:{"0":0,"3":0,"4":0,"2.1":0,"2.2":0,"2.3":0,"4.1":0,"4.2-4.3":0.0079,"4.4":0,"4.4.3-4.4.4":0.02172},K:{_:"0 10 11 12 11.1 11.5 12.1"},A:{"11":0.36684,_:"6 7 8 9 10 5.5"},J:{"7":0,"10":0},N:{"10":0.02735,"11":0.35567},S:{"2.5":0},R:{_:"0"},M:{"0":0.24877},Q:{"10.4":0},O:{"0":0.12438},H:{"0":0.09533},L:{"0":41.25476}}; diff --git a/tools/node_modules/@babel/core/node_modules/caniuse-lite/data/regions/CL.js b/tools/node_modules/@babel/core/node_modules/caniuse-lite/data/regions/CL.js new file mode 100644 index 00000000000000..48c3b9d6754568 --- /dev/null +++ b/tools/node_modules/@babel/core/node_modules/caniuse-lite/data/regions/CL.js @@ -0,0 +1 @@ +module.exports={C:{"5":0.00405,"17":0.00811,"52":0.01621,"58":0.00811,"66":0.00811,"68":0.02027,"73":0.00405,"78":0.04864,"79":0.00405,"84":0.00811,"85":0.00405,"86":0.01621,"87":0.02432,"88":1.48745,"89":0.01621,_:"2 3 4 6 7 8 9 10 11 12 13 14 15 16 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 53 54 55 56 57 59 60 61 62 63 64 65 67 69 70 71 72 74 75 76 77 80 81 82 83 90 91 3.5 3.6"},D:{"23":0.00405,"24":0.00811,"38":0.02027,"47":0.00405,"49":0.10943,"53":0.02837,"58":0.00405,"61":0.00405,"63":0.00405,"65":0.01216,"67":0.01216,"68":0.00811,"70":0.00405,"71":0.00405,"72":0.01216,"73":0.00811,"74":0.00811,"75":0.00811,"76":0.01216,"77":0.00811,"78":0.01216,"79":0.02837,"80":0.02837,"81":0.02432,"83":0.04053,"84":0.04864,"85":0.04458,"86":0.06485,"87":0.22292,"88":0.11348,"89":0.7417,"90":27.74684,"91":0.82681,"92":0.00811,_:"4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 25 26 27 28 29 30 31 32 33 34 35 36 37 39 40 41 42 43 44 45 46 48 50 51 52 54 55 56 57 59 60 62 64 66 69 93 94"},F:{"73":0.4661,"75":1.41855,"76":0.58769,_:"9 11 12 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 60 62 63 64 65 66 67 68 69 70 71 72 74 9.5-9.6 10.5 10.6 11.1 11.5 11.6 12.1","10.0-10.1":0},G:{"8":0,"3.2":0.00072,"4.0-4.1":0,"4.2-4.3":0,"5.0-5.1":0.00288,"6.0-6.1":0.00432,"7.0-7.1":0.0036,"8.1-8.4":0.0036,"9.0-9.2":0,"9.3":0.05468,"10.0-10.2":0.00504,"10.3":0.03741,"11.0-11.2":0.01439,"11.3-11.4":0.03454,"12.0-12.1":0.02734,"12.2-12.4":0.13167,"13.0-13.1":0.02302,"13.2":0.01007,"13.3":0.0921,"13.4-13.7":0.31946,"14.0-14.4":4.9466,"14.5-14.6":1.0217},E:{"4":0,"11":0.00405,"12":0.00405,"13":0.04053,"14":0.79034,_:"0 5 6 7 8 9 10 3.1 3.2 5.1 6.1 7.1 9.1","10.1":0.00811,"11.1":0.02027,"12.1":0.04053,"13.1":0.23913,"14.1":0.40935},B:{"17":0.00811,"18":0.03242,"80":0.00405,"84":0.01216,"85":0.00811,"87":0.00405,"88":0.00811,"89":0.03648,"90":1.8887,"91":0.07295,_:"12 13 14 15 16 79 81 83 86"},P:{"4":0.08275,"5.0-5.4":0.02104,"6.2-6.4":0.1561,"7.2-7.4":0.06207,"8.2":0.03018,"9.2":0.06207,"10.1":0.02069,"11.1-11.2":0.34136,"12.0":0.07241,"13.0":0.31033,"14.0":1.42752},I:{"0":0,"3":0,"4":0,"2.1":0,"2.2":0,"2.3":0,"4.1":0.0014,"4.2-4.3":0.0021,"4.4":0,"4.4.3-4.4.4":0.02029},K:{_:"0 10 11 12 11.1 11.5 12.1"},A:{"8":0.00929,"9":0.00464,"10":0.00464,"11":0.20434,_:"6 7 5.5"},J:{"7":0,"10":0},N:{_:"10 11"},S:{"2.5":0},R:{_:"0"},M:{"0":0.14275},Q:{"10.4":0},O:{"0":0.03569},H:{"0":0.14078},L:{"0":51.80758}}; diff --git a/tools/node_modules/@babel/core/node_modules/caniuse-lite/data/regions/CM.js b/tools/node_modules/@babel/core/node_modules/caniuse-lite/data/regions/CM.js new file mode 100644 index 00000000000000..f9c63f66bacf66 --- /dev/null +++ b/tools/node_modules/@babel/core/node_modules/caniuse-lite/data/regions/CM.js @@ -0,0 +1 @@ +module.exports={C:{"21":0.00605,"38":0.00908,"42":0.00908,"43":0.01815,"45":0.00605,"46":0.00605,"47":0.02118,"48":0.00605,"49":0.00908,"50":0.00605,"51":0.00605,"52":0.15125,"56":0.0121,"57":0.00605,"59":0.00605,"60":0.01513,"61":0.04235,"63":0.00908,"66":0.00303,"68":0.0121,"69":0.0121,"70":0.00605,"72":0.03328,"74":0.00303,"75":0.00303,"77":0.00605,"78":0.06353,"79":0.00605,"80":0.01815,"81":0.0121,"82":0.0121,"83":0.0121,"84":0.03025,"85":0.01815,"86":0.04235,"87":0.16335,"88":3.10063,"89":0.14823,"90":0.00605,_:"2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 39 40 41 44 53 54 55 58 62 64 65 67 71 73 76 91 3.5 3.6"},D:{"11":0.01513,"25":0.00605,"29":0.0121,"32":0.0242,"38":0.00605,"40":0.00908,"43":0.00908,"47":0.00303,"49":0.09075,"50":0.0121,"53":0.02118,"55":0.00605,"56":0.02723,"57":0.00605,"58":0.0121,"59":0.00303,"62":0.00303,"63":0.01513,"64":0.00303,"65":0.00908,"66":0.01815,"67":0.00303,"68":0.11495,"69":0.02723,"70":0.00605,"71":0.0121,"72":0.00605,"73":0.00605,"74":0.01513,"75":0.01513,"76":0.00605,"77":0.02723,"78":0.00605,"79":0.06655,"80":0.04538,"81":0.08168,"83":0.05143,"84":0.03328,"85":0.0726,"86":0.0847,"87":0.29645,"88":0.19965,"89":0.53543,"90":10.648,"91":0.45678,"92":0.02723,_:"4 5 6 7 8 9 10 12 13 14 15 16 17 18 19 20 21 22 23 24 26 27 28 30 31 33 34 35 36 37 39 41 42 44 45 46 48 51 52 54 60 61 93 94"},F:{"33":0.00303,"36":0.00303,"44":0.00303,"51":0.00303,"62":0.00303,"70":0.00605,"72":0.00605,"73":0.10285,"74":0.03025,"75":0.4961,"76":0.7986,_:"9 11 12 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 34 35 37 38 39 40 41 42 43 45 46 47 48 49 50 52 53 54 55 56 57 58 60 63 64 65 66 67 68 69 71 9.5-9.6 10.5 10.6 11.1 11.5 11.6 12.1","10.0-10.1":0},G:{"8":0,"3.2":0,"4.0-4.1":0,"4.2-4.3":0,"5.0-5.1":0.00229,"6.0-6.1":0.00115,"7.0-7.1":0.01835,"8.1-8.4":0,"9.0-9.2":0.00172,"9.3":0.12383,"10.0-10.2":0.00573,"10.3":0.17829,"11.0-11.2":0.12211,"11.3-11.4":0.06879,"12.0-12.1":0.11122,"12.2-12.4":0.60941,"13.0-13.1":0.08943,"13.2":0.03268,"13.3":0.26658,"13.4-13.7":0.57788,"14.0-14.4":2.55286,"14.5-14.6":0.39844},E:{"4":0,"10":0.00605,"13":0.0121,"14":0.17848,_:"0 5 6 7 8 9 11 12 3.1 3.2 6.1 7.1 10.1","5.1":0.1573,"9.1":0.00908,"11.1":0.00605,"12.1":0.01513,"13.1":0.03328,"14.1":0.03328},B:{"12":0.04538,"13":0.02118,"14":0.1331,"15":0.0363,"16":0.02723,"17":0.03025,"18":0.09983,"84":0.01513,"85":0.02118,"86":0.00605,"87":0.00605,"88":0.01815,"89":0.0968,"90":1.16765,"91":0.06353,_:"79 80 81 83"},P:{"4":0.42078,"5.0-5.4":0.07364,"6.2-6.4":0.03053,"7.2-7.4":0.12623,"8.2":0.04115,"9.2":0.07364,"10.1":0.01018,"11.1-11.2":0.09467,"12.0":0.12623,"13.0":0.34714,"14.0":0.62065},I:{"0":0,"3":0,"4":0.00239,"2.1":0,"2.2":0,"2.3":0,"4.1":0.00239,"4.2-4.3":0.01167,"4.4":0,"4.4.3-4.4.4":0.12302},K:{_:"0 10 11 12 11.1 11.5 12.1"},A:{"8":0.06387,"11":0.50181,_:"6 7 9 10 5.5"},J:{"7":0,"10":0.08369},N:{"10":0.02735,"11":0.35567},S:{"2.5":0.09764},R:{_:"0"},M:{"0":0.29988},Q:{"10.4":0.07671},O:{"0":1.0182},H:{"0":5.216},L:{"0":63.29664}}; diff --git a/tools/node_modules/@babel/core/node_modules/caniuse-lite/data/regions/CN.js b/tools/node_modules/@babel/core/node_modules/caniuse-lite/data/regions/CN.js new file mode 100644 index 00000000000000..15658ad4c0b5e4 --- /dev/null +++ b/tools/node_modules/@babel/core/node_modules/caniuse-lite/data/regions/CN.js @@ -0,0 +1 @@ +module.exports={C:{"32":0.01394,"36":0.0244,"43":1.72508,"52":0.03137,"53":0.00349,"54":0.00697,"55":0.00697,"56":0.00697,"57":0.00697,"58":0.00697,"59":0.00697,"60":0.00349,"61":0.00349,"63":0.00349,"65":0.00349,"66":0.00349,"67":0.00349,"68":0.00697,"71":0.00349,"72":0.00697,"78":0.03137,"79":0.00697,"80":0.05925,"81":0.00697,"82":0.01394,"83":0.00697,"84":0.01394,"85":0.01046,"86":0.01046,"87":0.02788,"88":0.7214,_:"2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 33 34 35 37 38 39 40 41 42 44 45 46 47 48 49 50 51 62 64 69 70 73 74 75 76 77 89 90 91 3.5 3.6"},D:{"11":0.01394,"19":0.00349,"31":0.00697,"33":0.00349,"39":0.00697,"40":0.01046,"41":0.01046,"42":0.00697,"43":0.00349,"44":0.00349,"45":0.03137,"47":0.03485,"48":0.11501,"49":0.12198,"50":0.00697,"51":0.00697,"53":0.01394,"54":0.02091,"55":0.11849,"56":0.01743,"57":0.12198,"58":0.00697,"59":0.0244,"60":0.01046,"61":0.00697,"62":0.14637,"63":0.17077,"64":0.00697,"65":0.06273,"66":0.01046,"67":0.34153,"68":0.02788,"69":0.95838,"70":0.57851,"71":0.03834,"72":0.66215,"73":0.10107,"74":2.10146,"75":0.23001,"76":0.08364,"77":0.02091,"78":0.32411,"79":0.21259,"80":0.11152,"81":0.0697,"83":0.25092,"84":0.13243,"85":0.11849,"86":0.22304,"87":0.17774,"88":0.25092,"89":0.60988,"90":3.46409,"91":0.0941,"92":0.02788,_:"4 5 6 7 8 9 10 12 13 14 15 16 17 18 20 21 22 23 24 25 26 27 28 29 30 32 34 35 36 37 38 46 52 93 94"},F:{"74":0.00697,"75":0.0244,"76":0.03834,_:"9 11 12 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 60 62 63 64 65 66 67 68 69 70 71 72 73 9.5-9.6 10.5 10.6 11.1 11.5 11.6 12.1","10.0-10.1":0},G:{"8":0.00271,"3.2":0.00181,"4.0-4.1":0.00271,"4.2-4.3":0.06589,"5.0-5.1":0.01444,"6.0-6.1":0.02256,"7.0-7.1":0.01805,"8.1-8.4":0.05235,"9.0-9.2":0.15795,"9.3":0.09838,"10.0-10.2":0.20308,"10.3":0.16788,"11.0-11.2":0.5596,"11.3-11.4":0.14351,"12.0-12.1":0.1733,"12.2-12.4":0.33486,"13.0-13.1":0.08214,"13.2":0.12365,"13.3":0.24099,"13.4-13.7":1.35659,"14.0-14.4":4.09956,"14.5-14.6":0.91884},E:{"4":0,"9":0.01046,"10":0.00349,"11":0.00697,"12":0.01046,"13":0.03834,"14":0.42517,_:"0 5 6 7 8 3.1 3.2 5.1 6.1 7.1","9.1":0.00349,"10.1":0.00697,"11.1":0.01743,"12.1":0.03137,"13.1":0.18471,"14.1":0.17077},B:{"13":0.00349,"14":0.00697,"15":0.00697,"16":0.01743,"17":0.0244,"18":0.16031,"83":0.00349,"84":0.00697,"85":0.00697,"86":0.01046,"87":0.01046,"88":0.01394,"89":0.05925,"90":2.44299,"91":0.06273,_:"12 79 80 81"},P:{_:"4 5.0-5.4 6.2-6.4 7.2-7.4 8.2 10.1 11.1-11.2 12.0","9.2":0.03434,"13.0":0.03434,"14.0":0.3548},I:{"0":0,"3":0.07715,"4":0.30861,"2.1":0.07715,"2.2":0.23145,"2.3":0,"4.1":1.08012,"4.2-4.3":0.77151,"4.4":0,"4.4.3-4.4.4":3.31751},K:{_:"0 10 11 12 11.1 11.5 12.1"},A:{"6":0.03091,"8":0.5255,"9":0.46368,"10":0.12365,"11":8.84079,_:"7 5.5"},J:{"7":0,"10":0.04561},N:{_:"10 11"},S:{"2.5":0},R:{_:"0"},M:{"0":0.18894},Q:{"10.4":5.46609},O:{"0":14.23528},H:{"0":0.08635},L:{"0":31.65227}}; diff --git a/tools/node_modules/@babel/core/node_modules/caniuse-lite/data/regions/CO.js b/tools/node_modules/@babel/core/node_modules/caniuse-lite/data/regions/CO.js new file mode 100644 index 00000000000000..eef8db35ea53c9 --- /dev/null +++ b/tools/node_modules/@babel/core/node_modules/caniuse-lite/data/regions/CO.js @@ -0,0 +1 @@ +module.exports={C:{"15":0.00536,"17":0.01072,"27":0.00536,"50":0.01072,"51":0.00536,"52":0.01608,"66":0.02144,"73":0.00536,"78":0.05895,"81":0.00536,"84":0.02144,"85":0.00536,"86":0.01072,"87":0.02144,"88":1.29688,"89":0.01608,_:"2 3 4 5 6 7 8 9 10 11 12 13 14 16 18 19 20 21 22 23 24 25 26 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 53 54 55 56 57 58 59 60 61 62 63 64 65 67 68 69 70 71 72 74 75 76 77 79 80 82 83 90 91 3.5 3.6"},D:{"22":0.01072,"23":0.00536,"24":0.01072,"26":0.01072,"38":0.03751,"42":0.00536,"47":0.01072,"49":0.10182,"50":0.00536,"53":0.04823,"58":0.00536,"62":0.01072,"63":0.01608,"65":0.02144,"66":0.01072,"67":0.01072,"68":0.01608,"69":0.01072,"70":0.01608,"71":0.01072,"72":0.02144,"73":0.01608,"74":0.01072,"75":0.02144,"76":0.02144,"77":0.02144,"78":0.0268,"79":0.09646,"80":0.05359,"81":0.04823,"83":0.08039,"84":0.06967,"85":0.05359,"86":0.13933,"87":0.35905,"88":0.25723,"89":0.93783,"90":40.06388,"91":1.22721,"92":0.01072,_:"4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 25 27 28 29 30 31 32 33 34 35 36 37 39 40 41 43 44 45 46 48 51 52 54 55 56 57 59 60 61 64 93 94"},F:{"73":0.34298,"75":1.17362,"76":0.60021,_:"9 11 12 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 60 62 63 64 65 66 67 68 69 70 71 72 74 9.5-9.6 10.5 10.6 11.1 11.5 11.6 12.1","10.0-10.1":0},G:{"8":0,"3.2":0.00087,"4.0-4.1":0,"4.2-4.3":0,"5.0-5.1":0.00304,"6.0-6.1":0.00521,"7.0-7.1":0.01434,"8.1-8.4":0.00391,"9.0-9.2":0.0013,"9.3":0.06907,"10.0-10.2":0.00521,"10.3":0.04431,"11.0-11.2":0.00652,"11.3-11.4":0.0126,"12.0-12.1":0.00782,"12.2-12.4":0.06038,"13.0-13.1":0.01086,"13.2":0.00478,"13.3":0.04344,"13.4-13.7":0.1451,"14.0-14.4":2.93149,"14.5-14.6":0.67118},E:{"4":0,"12":0.00536,"13":0.05359,"14":0.78241,_:"0 5 6 7 8 9 10 11 3.1 3.2 5.1 6.1 7.1 9.1","10.1":0.00536,"11.1":0.01608,"12.1":0.03215,"13.1":0.23044,"14.1":0.39657},B:{"17":0.00536,"18":0.04823,"84":0.01072,"86":0.00536,"88":0.00536,"89":0.03751,"90":2.36868,"91":0.08574,_:"12 13 14 15 16 79 80 81 83 85 87"},P:{"4":0.19987,"5.0-5.4":0.02104,"6.2-6.4":0.1561,"7.2-7.4":0.07363,"8.2":0.03018,"9.2":0.02104,"10.1":0.02069,"11.1-11.2":0.10519,"12.0":0.04208,"13.0":0.2209,"14.0":1.03089},I:{"0":0,"3":0,"4":0.00038,"2.1":0,"2.2":0,"2.3":0,"4.1":0.00229,"4.2-4.3":0.00801,"4.4":0,"4.4.3-4.4.4":0.045},K:{_:"0 10 11 12 11.1 11.5 12.1"},A:{"8":0.00536,"11":0.12326,_:"6 7 9 10 5.5"},J:{"7":0,"10":0},N:{_:"10 11"},S:{"2.5":0},R:{_:"0"},M:{"0":0.12992},Q:{"10.4":0},O:{"0":0.04176},H:{"0":0.12739},L:{"0":41.71468}}; diff --git a/tools/node_modules/@babel/core/node_modules/caniuse-lite/data/regions/CR.js b/tools/node_modules/@babel/core/node_modules/caniuse-lite/data/regions/CR.js new file mode 100644 index 00000000000000..5bde381ca28a38 --- /dev/null +++ b/tools/node_modules/@babel/core/node_modules/caniuse-lite/data/regions/CR.js @@ -0,0 +1 @@ +module.exports={C:{"52":0.06185,"66":0.19508,"67":0.09992,"72":0.00952,"73":0.0571,"78":0.22363,"80":0.00952,"84":0.02379,"85":0.00952,"86":0.01903,"87":0.03806,"88":2.40755,"89":0.04282,_:"2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 53 54 55 56 57 58 59 60 61 62 63 64 65 68 69 70 71 74 75 76 77 79 81 82 83 90 91 3.5 3.6"},D:{"49":0.16653,"52":0.01427,"53":0.00952,"61":0.49959,"63":0.00952,"65":0.06185,"67":0.01427,"69":0.00952,"71":0.00476,"73":0.00476,"74":0.00476,"75":0.02379,"76":0.02379,"77":0.00952,"78":0.03806,"79":0.01903,"80":0.03331,"81":0.03331,"83":0.07137,"84":0.02855,"85":0.03331,"86":0.08564,"87":0.23314,"88":0.28072,"89":0.73273,"90":29.22364,"91":1.042,"92":0.01427,_:"4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 50 51 54 55 56 57 58 59 60 62 64 66 68 70 72 93 94"},F:{"28":0.00952,"36":0.00476,"71":0.00476,"73":0.2379,"75":0.93257,"76":0.42822,_:"9 11 12 15 16 17 18 19 20 21 22 23 24 25 26 27 29 30 31 32 33 34 35 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 60 62 63 64 65 66 67 68 69 70 72 74 9.5-9.6 10.5 10.6 11.1 11.5 11.6 12.1","10.0-10.1":0},G:{"8":0,"3.2":0.0019,"4.0-4.1":0.00095,"4.2-4.3":0,"5.0-5.1":0.0095,"6.0-6.1":0.0114,"7.0-7.1":0.02755,"8.1-8.4":0.00095,"9.0-9.2":0.0019,"9.3":0.07316,"10.0-10.2":0.00285,"10.3":0.05796,"11.0-11.2":0.01235,"11.3-11.4":0.02755,"12.0-12.1":0.01235,"12.2-12.4":0.07791,"13.0-13.1":0.02185,"13.2":0.0057,"13.3":0.09786,"13.4-13.7":0.23752,"14.0-14.4":6.5262,"14.5-14.6":1.86124},E:{"4":0,"12":0.01427,"13":0.07137,"14":2.07925,_:"0 5 6 7 8 9 10 11 3.1 3.2 6.1 7.1 9.1","5.1":0.49007,"10.1":0.00952,"11.1":0.0571,"12.1":0.06185,"13.1":0.46153,"14.1":0.86596},B:{"12":0.00476,"14":0.00476,"15":0.00476,"17":0.00476,"18":0.03806,"84":0.01427,"85":0.00476,"86":0.00476,"88":0.00476,"89":0.04758,"90":3.23068,"91":0.19032,_:"13 16 79 80 81 83 87"},P:{"4":0.09326,"5.0-5.4":0.04221,"6.2-6.4":0.01036,"7.2-7.4":0.06217,"8.2":0.0101,"9.2":0.0829,"10.1":0.29301,"11.1-11.2":0.23834,"12.0":0.10362,"13.0":0.39377,"14.0":2.59061},I:{"0":0,"3":0,"4":0.00599,"2.1":0,"2.2":0,"2.3":0,"4.1":0.00266,"4.2-4.3":0.00799,"4.4":0,"4.4.3-4.4.4":0.06723},K:{_:"0 10 11 12 11.1 11.5 12.1"},A:{"11":0.16653,_:"6 7 8 9 10 5.5"},J:{"7":0,"10":0},N:{"10":0.02735,"11":0.35567},S:{"2.5":0},R:{_:"0"},M:{"0":0.39839},Q:{"10.4":0},O:{"0":0.05766},H:{"0":0.28288},L:{"0":40.41747}}; diff --git a/tools/node_modules/@babel/core/node_modules/caniuse-lite/data/regions/CU.js b/tools/node_modules/@babel/core/node_modules/caniuse-lite/data/regions/CU.js new file mode 100644 index 00000000000000..59464b3891d0b4 --- /dev/null +++ b/tools/node_modules/@babel/core/node_modules/caniuse-lite/data/regions/CU.js @@ -0,0 +1 @@ +module.exports={C:{"17":0.00652,"18":0.00652,"21":0.00652,"23":0.00979,"28":0.00326,"29":0.01631,"31":0.00979,"32":0.00326,"33":0.00326,"34":0.05872,"35":0.02283,"36":0.00326,"37":0.01631,"38":0.02283,"39":0.03262,"40":0.04241,"41":0.01957,"42":0.00979,"43":0.04567,"44":0.00979,"45":0.03262,"46":0.01305,"47":0.05219,"48":0.0261,"49":0.02283,"50":0.10765,"51":0.00652,"52":0.33272,"53":0.02283,"54":0.10438,"55":0.0261,"56":0.07503,"57":0.26096,"58":0.04241,"59":0.07829,"60":0.09786,"61":0.08807,"62":0.10438,"63":0.02936,"64":0.05219,"65":0.05219,"66":0.08807,"67":0.11091,"68":0.137,"69":0.07503,"70":0.0685,"71":0.08155,"72":0.24791,"73":0.06524,"74":0.03588,"75":0.05219,"76":0.03262,"77":0.04241,"78":0.31641,"79":0.02936,"80":0.10765,"81":0.09786,"82":0.07503,"83":0.17289,"84":0.25444,"85":0.14353,"86":0.46973,"87":0.52518,"88":8.76826,"89":0.10438,"90":0.01305,_:"2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 19 20 22 24 25 26 27 30 91 3.5 3.6"},D:{"20":0.00652,"22":0.00326,"26":0.00326,"33":0.00979,"37":0.00652,"44":0.00979,"45":0.00652,"49":0.01957,"50":0.00326,"51":0.14027,"52":0.00979,"53":0.01957,"54":0.00326,"55":0.00326,"56":0.04241,"57":0.00652,"58":0.00326,"60":0.00652,"61":0.01305,"62":0.04893,"63":0.01631,"64":0.00652,"66":0.00979,"67":0.00979,"68":0.01305,"69":0.00652,"70":0.03262,"71":0.03914,"72":0.01957,"73":0.03588,"74":0.03588,"75":0.08481,"76":0.0261,"77":0.07176,"78":0.02283,"79":0.08155,"80":0.13048,"81":0.11091,"83":0.06198,"84":0.1631,"85":0.15005,"86":0.1892,"87":1.33416,"88":0.36534,"89":0.60999,"90":6.72951,"91":0.2316,"92":0.00979,_:"4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 21 23 24 25 27 28 29 30 31 32 34 35 36 38 39 40 41 42 43 46 47 48 59 65 93 94"},F:{"34":0.00326,"37":0.00652,"42":0.00326,"45":0.00326,"54":0.00326,"64":0.00652,"68":0.00652,"71":0.01305,"72":0.00979,"73":0.03914,"74":0.01957,"75":0.31315,"76":0.45668,_:"9 11 12 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 35 36 38 39 40 41 43 44 46 47 48 49 50 51 52 53 55 56 57 58 60 62 63 65 66 67 69 70 9.5-9.6 10.5 10.6 11.1 11.5 11.6 12.1","10.0-10.1":0},G:{"8":0.00228,"3.2":0,"4.0-4.1":0,"4.2-4.3":0,"5.0-5.1":0.01085,"6.0-6.1":0.00114,"7.0-7.1":0.0451,"8.1-8.4":0.01598,"9.0-9.2":0.004,"9.3":0.10104,"10.0-10.2":0.05594,"10.3":0.20094,"11.0-11.2":0.08962,"11.3-11.4":0.04966,"12.0-12.1":0.12216,"12.2-12.4":0.74438,"13.0-13.1":0.0959,"13.2":0.08848,"13.3":0.36078,"13.4-13.7":0.49549,"14.0-14.4":2.38842,"14.5-14.6":0.46353},E:{"4":0,"7":0.00326,"13":0.01305,"14":0.06524,_:"0 5 6 8 9 10 11 12 3.1 3.2 6.1 7.1 9.1 10.1","5.1":1.01774,"11.1":0.00652,"12.1":0.00979,"13.1":0.01305,"14.1":0.01957},B:{"12":0.0261,"13":0.04567,"14":0.01305,"15":0.02936,"16":0.02283,"17":0.02936,"18":0.13048,"81":0.00979,"83":0.00326,"84":0.08481,"85":0.0261,"87":0.00979,"88":0.03588,"89":0.20224,"90":0.7894,"91":0.03914,_:"79 80 86"},P:{"4":0.69799,"5.0-5.4":0.08093,"6.2-6.4":0.04046,"7.2-7.4":0.24278,"8.2":0.02023,"9.2":0.18208,"10.1":0.16185,"11.1-11.2":0.18208,"12.0":0.26301,"13.0":0.53613,"14.0":0.92053},I:{"0":0,"3":0,"4":0,"2.1":0,"2.2":0,"2.3":0,"4.1":0.0075,"4.2-4.3":0.03806,"4.4":0,"4.4.3-4.4.4":0.25087},K:{_:"0 10 11 12 11.1 11.5 12.1"},A:{"11":0.14679,_:"6 7 8 9 10 5.5"},J:{"7":0,"10":0.01347},N:{"10":0.02735,"11":0.35567},S:{"2.5":0},R:{_:"0"},M:{"0":1.11161},Q:{"10.4":0.03369},O:{"0":0.29643},H:{"0":1.08429},L:{"0":59.0569}}; diff --git a/tools/node_modules/@babel/core/node_modules/caniuse-lite/data/regions/CV.js b/tools/node_modules/@babel/core/node_modules/caniuse-lite/data/regions/CV.js new file mode 100644 index 00000000000000..4ea0f3048dbdb2 --- /dev/null +++ b/tools/node_modules/@babel/core/node_modules/caniuse-lite/data/regions/CV.js @@ -0,0 +1 @@ +module.exports={C:{"17":0.0083,"52":0.02904,"78":0.28213,"83":0.10373,"86":0.0083,"87":0.02904,"88":1.82971,"89":0.06224,_:"2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 79 80 81 82 84 85 90 91 3.5 3.6"},D:{"40":0.00415,"43":0.0166,"47":0.0083,"49":0.04979,"53":0.01245,"54":0.03734,"55":0.05809,"60":0.00415,"63":0.0166,"65":0.04149,"67":0.00415,"69":0.00415,"70":0.0166,"71":0.00415,"72":0.01245,"73":0.04564,"74":0.02075,"75":0.04564,"76":0.0083,"77":0.0083,"78":0.0083,"79":0.11202,"80":0.02075,"81":0.04979,"83":0.03319,"84":0.0166,"85":0.41905,"86":0.04979,"87":0.40245,"88":0.12447,"89":0.53937,"90":23.2344,"91":1.29034,_:"4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 41 42 44 45 46 48 50 51 52 56 57 58 59 61 62 64 66 68 92 93 94"},F:{"37":0.0083,"40":0.0083,"72":0.0083,"73":0.02904,"75":0.30703,"76":1.14927,_:"9 11 12 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 38 39 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 60 62 63 64 65 66 67 68 69 70 71 74 9.5-9.6 10.5 10.6 11.1 11.5 11.6 12.1","10.0-10.1":0},G:{"8":0.01409,"3.2":0,"4.0-4.1":0,"4.2-4.3":0,"5.0-5.1":0,"6.0-6.1":0.00141,"7.0-7.1":0.18667,"8.1-8.4":0,"9.0-9.2":0.01338,"9.3":0.62834,"10.0-10.2":0.00986,"10.3":0.28247,"11.0-11.2":0.15779,"11.3-11.4":0.0324,"12.0-12.1":0.09087,"12.2-12.4":0.78824,"13.0-13.1":0.02465,"13.2":0.01902,"13.3":0.09862,"13.4-13.7":0.31628,"14.0-14.4":3.12266,"14.5-14.6":0.61425},E:{"4":0,"8":0.04979,"13":0.01245,"14":0.43979,_:"0 5 6 7 9 10 11 12 3.1 3.2 5.1 6.1 7.1 9.1 10.1","11.1":0.0166,"12.1":0.14107,"13.1":0.15351,"14.1":0.26139},B:{"12":0.0083,"13":0.0166,"15":0.00415,"16":0.0166,"17":0.04564,"18":0.08713,"84":0.02075,"85":0.01245,"86":0.0083,"87":0.56426,"88":0.0083,"89":0.15351,"90":3.58889,"91":0.36926,_:"14 79 80 81 83"},P:{"4":0.52353,"5.0-5.4":0.0308,"6.2-6.4":0.01027,"7.2-7.4":0.21557,"8.2":0.02053,"9.2":0.11292,"10.1":0.08212,"11.1-11.2":0.49273,"12.0":0.21557,"13.0":0.37981,"14.0":1.3858},I:{"0":0,"3":0,"4":0,"2.1":0,"2.2":0,"2.3":0,"4.1":0.00266,"4.2-4.3":0.01397,"4.4":0,"4.4.3-4.4.4":0.15304},K:{_:"0 10 11 12 11.1 11.5 12.1"},A:{"9":0.00415,"11":0.39001,_:"6 7 8 10 5.5"},J:{"7":0,"10":0.0234},N:{"10":0.02735,"11":0.35567},S:{"2.5":0},R:{_:"0"},M:{"0":0.07606},Q:{"10.4":0},O:{"0":0.15798},H:{"0":0.34898},L:{"0":51.74721}}; diff --git a/tools/node_modules/@babel/core/node_modules/caniuse-lite/data/regions/CX.js b/tools/node_modules/@babel/core/node_modules/caniuse-lite/data/regions/CX.js new file mode 100644 index 00000000000000..83038250243b94 --- /dev/null +++ b/tools/node_modules/@babel/core/node_modules/caniuse-lite/data/regions/CX.js @@ -0,0 +1 @@ +module.exports={C:{"87":7.75,_:"2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 88 89 90 91 3.5 3.6"},D:{"81":9.3,"90":76.74,_:"4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 83 84 85 86 87 88 89 91 92 93 94"},F:{"76":2.33,_:"9 11 12 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 60 62 63 64 65 66 67 68 69 70 71 72 73 74 75 9.5-9.6 10.5 10.6 11.1 11.5 11.6 12.1","10.0-10.1":0},G:{"8":0,"3.2":0,"4.0-4.1":0,"4.2-4.3":0,"5.0-5.1":0,"6.0-6.1":0,"7.0-7.1":0,"8.1-8.4":0,"9.0-9.2":0,"9.3":0,"10.0-10.2":0,"10.3":0,"11.0-11.2":0,"11.3-11.4":0,"12.0-12.1":0,"12.2-12.4":0,"13.0-13.1":0,"13.2":0,"13.3":0,"13.4-13.7":0,"14.0-14.4":0,"14.5-14.6":0},E:{"4":0,"14":2.33,_:"0 5 6 7 8 9 10 11 12 13 3.1 3.2 5.1 6.1 7.1 9.1 10.1 11.1 12.1 13.1 14.1"},B:{"90":0.78,_:"12 13 14 15 16 17 18 79 80 81 83 84 85 86 87 88 89 91"},P:{"4":0.50748,"5.0-5.4":0.0406,"6.2-6.4":0.11165,"7.2-7.4":0.50748,"8.2":0.02053,"9.2":0.28419,"10.1":0.0406,"11.1-11.2":1.2078,"12.0":0.0812,"13.0":0.53793,"14.0":0.74092},I:{"0":0,"3":0,"4":0,"2.1":0,"2.2":0,"2.3":0,"4.1":0,"4.2-4.3":0,"4.4":0,"4.4.3-4.4.4":0},K:{_:"0 10 11 12 11.1 11.5 12.1"},A:{_:"6 7 8 9 10 11 5.5"},J:{"7":0,"10":0},N:{"10":0.02735,"11":0.35567},S:{"2.5":0},R:{_:"0"},M:{"0":0},Q:{"10.4":0},O:{"0":0},H:{"0":0},L:{"0":0}}; diff --git a/tools/node_modules/@babel/core/node_modules/caniuse-lite/data/regions/CY.js b/tools/node_modules/@babel/core/node_modules/caniuse-lite/data/regions/CY.js new file mode 100644 index 00000000000000..a8c7a783796889 --- /dev/null +++ b/tools/node_modules/@babel/core/node_modules/caniuse-lite/data/regions/CY.js @@ -0,0 +1 @@ +module.exports={C:{"43":0.0047,"47":0.0047,"52":0.17841,"60":0.0047,"64":0.01409,"68":0.0047,"77":0.0047,"78":0.05634,"79":0.0047,"83":0.00939,"84":0.00939,"85":0.01409,"86":0.00939,"87":0.03287,"88":2.20196,"89":0.01878,_:"2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 44 45 46 48 49 50 51 53 54 55 56 57 58 59 61 62 63 65 66 67 69 70 71 72 73 74 75 76 80 81 82 90 91 3.5 3.6"},D:{"29":0.02817,"38":0.02817,"42":1.26296,"47":0.00939,"49":0.4695,"53":0.05165,"65":0.01878,"68":0.0047,"69":0.00939,"70":1.19253,"71":0.01878,"72":0.04695,"73":0.01409,"74":0.07982,"75":0.00939,"76":0.00939,"77":0.01409,"78":0.01409,"79":0.03756,"80":0.02348,"81":0.04226,"83":0.04226,"84":0.02348,"85":0.04695,"86":0.06104,"87":0.34274,"88":0.15024,"89":1.00004,"90":28.09488,"91":0.96248,_:"4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 30 31 32 33 34 35 36 37 39 40 41 43 44 45 46 48 50 51 52 54 55 56 57 58 59 60 61 62 63 64 66 67 92 93 94"},F:{"73":0.13146,"74":0.05634,"75":0.36152,"76":0.44603,_:"9 11 12 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 60 62 63 64 65 66 67 68 69 70 71 72 9.5-9.6 10.5 10.6 11.1 11.5 11.6 12.1","10.0-10.1":0},G:{"8":0,"3.2":0,"4.0-4.1":0,"4.2-4.3":0,"5.0-5.1":0.00255,"6.0-6.1":0.00383,"7.0-7.1":0.03954,"8.1-8.4":0.0051,"9.0-9.2":0.0051,"9.3":0.14156,"10.0-10.2":0.02041,"10.3":0.14539,"11.0-11.2":0.12753,"11.3-11.4":0.04081,"12.0-12.1":0.03826,"12.2-12.4":0.15942,"13.0-13.1":0.02423,"13.2":0.0102,"13.3":0.13264,"13.4-13.7":0.53692,"14.0-14.4":9.18886,"14.5-14.6":1.62989},E:{"4":0,"5":0.01409,"12":0.00939,"13":0.07512,"14":1.77941,_:"0 6 7 8 9 10 11 3.1 3.2 6.1 7.1 9.1","5.1":0.01409,"10.1":0.0047,"11.1":0.01878,"12.1":0.30048,"13.1":0.39438,"14.1":0.70895},B:{"14":0.0047,"15":0.0047,"16":0.0047,"17":0.01878,"18":0.04695,"84":0.00939,"85":0.0047,"89":0.05165,"90":3.3804,"91":0.2817,_:"12 13 79 80 81 83 86 87 88"},P:{"4":0.05219,"5.0-5.4":0.08093,"6.2-6.4":0.04046,"7.2-7.4":0.24278,"8.2":0.02023,"9.2":0.02088,"10.1":0.01044,"11.1-11.2":0.0835,"12.0":0.05219,"13.0":0.36532,"14.0":3.64277},I:{"0":0,"3":0,"4":0,"2.1":0,"2.2":0,"2.3":0,"4.1":0.00448,"4.2-4.3":0.01008,"4.4":0,"4.4.3-4.4.4":0.08622},K:{_:"0 10 11 12 11.1 11.5 12.1"},A:{"11":0.35682,_:"6 7 8 9 10 5.5"},J:{"7":0,"10":0},N:{"10":0.02735,"11":0.35567},S:{"2.5":0},R:{_:"0"},M:{"0":0.15912},Q:{"10.4":0},O:{"0":1.08202},H:{"0":0.37159},L:{"0":36.10562}}; diff --git a/tools/node_modules/@babel/core/node_modules/caniuse-lite/data/regions/CZ.js b/tools/node_modules/@babel/core/node_modules/caniuse-lite/data/regions/CZ.js new file mode 100644 index 00000000000000..20441c03aeb88c --- /dev/null +++ b/tools/node_modules/@babel/core/node_modules/caniuse-lite/data/regions/CZ.js @@ -0,0 +1 @@ +module.exports={C:{"17":0.01213,"48":0.00607,"52":0.15165,"56":0.04246,"60":0.01213,"65":0.00607,"66":0.00607,"68":0.02426,"71":0.0182,"72":0.01213,"73":0.00607,"76":0.00607,"78":0.27904,"79":0.01213,"80":0.00607,"81":0.01213,"82":0.05459,"83":0.04853,"84":0.04853,"85":0.10312,"86":0.05459,"87":0.16378,"88":6.62407,"89":0.0182,_:"2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 49 50 51 53 54 55 57 58 59 61 62 63 64 67 69 70 74 75 77 90 91 3.5 3.6"},D:{"22":0.00607,"24":0.00607,"38":0.01213,"49":0.17591,"53":0.0364,"59":0.01213,"61":0.0182,"62":0.00607,"63":0.01213,"65":0.00607,"66":0.01213,"67":0.0182,"68":0.01213,"69":0.02426,"70":0.0182,"71":0.00607,"72":0.0182,"73":0.01213,"74":0.01213,"75":0.04853,"76":0.0182,"77":0.0182,"78":0.03033,"79":0.07279,"80":0.04853,"81":0.04853,"83":0.05459,"84":0.06673,"85":0.06673,"86":0.09706,"87":0.26084,"88":0.23051,"89":1.30419,"90":32.78673,"91":0.70366,"92":0.0182,_:"4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 23 25 26 27 28 29 30 31 32 33 34 35 36 37 39 40 41 42 43 44 45 46 47 48 50 51 52 54 55 56 57 58 60 64 93 94"},F:{"36":0.00607,"52":0.00607,"68":0.00607,"73":0.21231,"74":0.01213,"75":1.33452,"76":1.61962,_:"9 11 12 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 53 54 55 56 57 58 60 62 63 64 65 66 67 69 70 71 72 9.5-9.6 10.5 10.6 11.1 11.5 11.6","10.0-10.1":0,"12.1":0.0182},G:{"8":0,"3.2":0,"4.0-4.1":0,"4.2-4.3":0.00082,"5.0-5.1":0.00082,"6.0-6.1":0.0041,"7.0-7.1":0.00493,"8.1-8.4":0.00082,"9.0-9.2":0.00328,"9.3":0.06403,"10.0-10.2":0.00575,"10.3":0.0747,"11.0-11.2":0.01888,"11.3-11.4":0.02052,"12.0-12.1":0.01806,"12.2-12.4":0.09358,"13.0-13.1":0.02545,"13.2":0.00985,"13.3":0.08127,"13.4-13.7":0.24216,"14.0-14.4":5.90883,"14.5-14.6":1.30194},E:{"4":0,"12":0.00607,"13":0.05459,"14":2.1595,_:"0 5 6 7 8 9 10 11 3.1 3.2 5.1 6.1 7.1 9.1","10.1":0.0182,"11.1":0.05459,"12.1":0.07279,"13.1":0.30937,"14.1":0.78251},B:{"14":0.00607,"15":0.01213,"16":0.0182,"17":0.0364,"18":0.10919,"84":0.01213,"85":0.01213,"86":0.03033,"87":0.01213,"88":0.01213,"89":0.16378,"90":6.19945,"91":0.10919,_:"12 13 79 80 81 83"},P:{"4":0.04282,"5.0-5.4":0.02104,"6.2-6.4":0.1561,"7.2-7.4":0.01037,"8.2":0.03018,"9.2":0.0107,"10.1":0.0107,"11.1-11.2":0.06423,"12.0":0.07493,"13.0":0.2355,"14.0":2.05527},I:{"0":0,"3":0,"4":0,"2.1":0,"2.2":0,"2.3":0,"4.1":0.0029,"4.2-4.3":0.01668,"4.4":0,"4.4.3-4.4.4":0.0827},K:{_:"0 10 11 12 11.1 11.5 12.1"},A:{"10":0.0498,"11":1.13914,_:"6 7 8 9 5.5"},J:{"7":0,"10":0.00393},N:{_:"10 11"},S:{"2.5":0},R:{_:"0"},M:{"0":0.3698},Q:{"10.4":0.0118},O:{"0":0.16916},H:{"0":0.43949},L:{"0":28.97826}}; diff --git a/tools/node_modules/@babel/core/node_modules/caniuse-lite/data/regions/DE.js b/tools/node_modules/@babel/core/node_modules/caniuse-lite/data/regions/DE.js new file mode 100644 index 00000000000000..68ba12605dc468 --- /dev/null +++ b/tools/node_modules/@babel/core/node_modules/caniuse-lite/data/regions/DE.js @@ -0,0 +1 @@ +module.exports={C:{"48":0.01662,"51":0.01662,"52":0.14407,"53":0.01108,"54":0.00554,"55":0.00554,"56":0.02216,"59":0.01662,"60":0.01662,"65":0.00554,"66":0.01108,"68":0.04433,"69":0.00554,"70":0.01662,"71":0.00554,"72":0.02216,"73":0.00554,"74":0.00554,"75":0.00554,"76":0.01108,"77":0.07757,"78":0.4322,"79":0.13298,"80":0.02771,"81":0.02771,"82":0.03879,"83":0.08312,"84":0.06649,"85":0.06095,"86":0.11082,"87":0.27705,"88":9.02075,"89":0.02771,_:"2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 49 50 57 58 61 62 63 64 67 90 91 3.5 3.6"},D:{"38":0.01108,"41":0.00554,"49":0.22718,"51":0.02216,"52":0.02216,"53":0.01662,"56":0.01108,"59":0.01662,"60":0.03325,"61":0.10528,"63":0.01108,"64":0.00554,"65":0.22718,"66":0.08312,"67":0.01108,"68":0.1219,"69":0.0942,"70":0.02216,"71":0.02771,"72":0.04433,"73":0.01108,"74":0.02216,"75":1.62905,"76":0.02216,"77":0.01662,"78":0.23272,"79":0.04987,"80":0.28813,"81":0.08866,"83":0.14407,"84":0.17731,"85":0.22164,"86":0.25489,"87":0.338,"88":0.26043,"89":0.67046,"90":19.26606,"91":0.48207,"92":0.01108,_:"4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 39 40 42 43 44 45 46 47 48 50 54 55 57 58 62 93 94"},F:{"36":0.00554,"46":0.00554,"68":0.01108,"69":0.00554,"70":0.00554,"71":0.01108,"72":0.01108,"73":0.53194,"74":0.01108,"75":1.69001,"76":1.15253,_:"9 11 12 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 37 38 39 40 41 42 43 44 45 47 48 49 50 51 52 53 54 55 56 57 58 60 62 63 64 65 66 67 9.5-9.6 10.5 10.6 11.1 11.5 11.6","10.0-10.1":0,"12.1":0.00554},G:{"8":0.0045,"3.2":0,"4.0-4.1":0,"4.2-4.3":0,"5.0-5.1":0.0165,"6.0-6.1":0.006,"7.0-7.1":0.0135,"8.1-8.4":0.0075,"9.0-9.2":0.033,"9.3":0.16648,"10.0-10.2":0.0135,"10.3":0.14548,"11.0-11.2":0.04349,"11.3-11.4":0.09299,"12.0-12.1":0.04649,"12.2-12.4":0.15748,"13.0-13.1":0.033,"13.2":0.0165,"13.3":0.10949,"13.4-13.7":0.39295,"14.0-14.4":10.50462,"14.5-14.6":2.62465},E:{"4":0,"7":0.02216,"11":0.01108,"12":0.01662,"13":0.10528,"14":3.59611,_:"0 5 6 8 9 10 3.1 3.2 6.1 7.1","5.1":0.01108,"9.1":0.00554,"10.1":0.02216,"11.1":0.09974,"12.1":0.11636,"13.1":0.57072,"14.1":1.61243},B:{"12":0.06649,"14":0.00554,"15":0.00554,"16":0.00554,"17":0.02771,"18":0.11082,"83":0.00554,"84":0.01662,"85":0.02771,"86":0.03879,"87":0.02771,"88":0.04433,"89":0.16623,"90":6.37769,"91":0.11082,_:"13 79 80 81"},P:{"4":0.13764,"5.0-5.4":0.02101,"6.2-6.4":0.0417,"7.2-7.4":0.01059,"8.2":0.01051,"9.2":0.04235,"10.1":0.03176,"11.1-11.2":0.11647,"12.0":0.09529,"13.0":0.41293,"14.0":4.44698},I:{"0":0,"3":0,"4":0.00165,"2.1":0,"2.2":0,"2.3":0,"4.1":0.00274,"4.2-4.3":0.01043,"4.4":0,"4.4.3-4.4.4":0.05654},K:{_:"0 10 11 12 11.1 11.5 12.1"},A:{"6":0.05967,"7":0.01193,"8":0.0179,"9":0.01193,"10":0.01193,"11":0.81751,_:"5.5"},J:{"7":0,"10":0.00446},N:{_:"10 11"},S:{"2.5":0},R:{_:"0"},M:{"0":0.85632},Q:{"10.4":0.00892},O:{"0":0.2453},H:{"0":0.45602},L:{"0":24.06004}}; diff --git a/tools/node_modules/@babel/core/node_modules/caniuse-lite/data/regions/DJ.js b/tools/node_modules/@babel/core/node_modules/caniuse-lite/data/regions/DJ.js new file mode 100644 index 00000000000000..7bc13d7ea1496f --- /dev/null +++ b/tools/node_modules/@babel/core/node_modules/caniuse-lite/data/regions/DJ.js @@ -0,0 +1 @@ +module.exports={C:{"38":0.00243,"43":0.00485,"52":0.00728,"65":0.0194,"68":0.0194,"71":0.01455,"72":0.02668,"78":0.04365,"80":0.00485,"82":0.00243,"85":0.01455,"86":0.00243,"87":0.03395,"88":2.45168,"89":0.01213,_:"2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 39 40 41 42 44 45 46 47 48 49 50 51 53 54 55 56 57 58 59 60 61 62 63 64 66 67 69 70 73 74 75 76 77 79 81 83 84 90 91 3.5 3.6"},D:{"22":0.00728,"37":0.0097,"40":0.00485,"45":0.00728,"47":0.00485,"49":0.01455,"50":0.00243,"55":0.00728,"56":0.00728,"59":0.22553,"63":0.00485,"66":0.01698,"68":0.00485,"70":0.00243,"71":0.00243,"72":0.00728,"74":0.00485,"77":0.10913,"79":0.01213,"80":0.0485,"81":0.03153,"83":0.1067,"84":0.01213,"85":0.01213,"86":0.0194,"87":0.05335,"88":0.06548,"89":0.6111,"90":13.50968,"91":0.40013,"92":0.02183,_:"4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 23 24 25 26 27 28 29 30 31 32 33 34 35 36 38 39 41 42 43 44 46 48 51 52 53 54 57 58 60 61 62 64 65 67 69 73 75 76 78 93 94"},F:{"40":0.00243,"73":0.00485,"74":0.0194,"75":0.11155,"76":0.65718,_:"9 11 12 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 60 62 63 64 65 66 67 68 69 70 71 72 9.5-9.6 10.5 10.6 11.1 11.5 11.6 12.1","10.0-10.1":0},G:{"8":0.0012,"3.2":0,"4.0-4.1":0,"4.2-4.3":0,"5.0-5.1":0,"6.0-6.1":0,"7.0-7.1":0.00601,"8.1-8.4":0.0024,"9.0-9.2":0.0006,"9.3":0.01021,"10.0-10.2":0.04984,"10.3":0.01021,"11.0-11.2":0.12191,"11.3-11.4":0.09969,"12.0-12.1":0.04144,"12.2-12.4":0.15554,"13.0-13.1":0.44679,"13.2":0.00781,"13.3":0.13272,"13.4-13.7":0.54828,"14.0-14.4":2.81285,"14.5-14.6":1.08154},E:{"4":0,"12":0.03395,"13":0.00728,"14":0.52623,_:"0 5 6 7 8 9 10 11 3.1 3.2 5.1 6.1 7.1 9.1 10.1 11.1","12.1":0.00728,"13.1":0.2425,"14.1":0.08245},B:{"12":0.03395,"13":0.00728,"15":0.04123,"16":0.01455,"17":0.03153,"18":0.03395,"80":0.00243,"84":0.11155,"85":0.0097,"87":0.00243,"88":0.00728,"89":0.21825,"90":1.73388,"91":0.11883,_:"14 79 81 83 86"},P:{"4":0.72492,"5.0-5.4":0.02014,"6.2-6.4":0.05034,"7.2-7.4":0.93636,"8.2":0.02014,"9.2":0.23157,"10.1":0.54369,"11.1-11.2":1.03704,"12.0":0.40273,"13.0":5.22548,"14.0":2.54729},I:{"0":0,"3":0,"4":0,"2.1":0,"2.2":0,"2.3":0,"4.1":0.00161,"4.2-4.3":0.00161,"4.4":0,"4.4.3-4.4.4":0.04222},K:{_:"0 10 11 12 11.1 11.5 12.1"},A:{"9":0.00544,"11":0.15219,_:"6 7 8 10 5.5"},J:{"7":0,"10":0},N:{"10":0.02735,"11":0.35567},S:{"2.5":0},R:{_:"0"},M:{"0":0.13633},Q:{"10.4":1.47693},O:{"0":2.35551},H:{"0":0.8533},L:{"0":55.39424}}; diff --git a/tools/node_modules/@babel/core/node_modules/caniuse-lite/data/regions/DK.js b/tools/node_modules/@babel/core/node_modules/caniuse-lite/data/regions/DK.js new file mode 100644 index 00000000000000..d8a7505dbb1444 --- /dev/null +++ b/tools/node_modules/@babel/core/node_modules/caniuse-lite/data/regions/DK.js @@ -0,0 +1 @@ +module.exports={C:{"48":0.00671,"52":0.02684,"65":0.00671,"70":0.02013,"76":0.00671,"78":0.08052,"81":0.00671,"82":0.04697,"84":0.00671,"85":0.02013,"86":0.04026,"87":0.05368,"88":2.38876,"89":0.00671,_:"2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 49 50 51 53 54 55 56 57 58 59 60 61 62 63 64 66 67 68 69 71 72 73 74 75 77 79 80 83 90 91 3.5 3.6"},D:{"38":0.00671,"49":0.1342,"52":0.02013,"53":0.02013,"57":0.00671,"59":0.01342,"61":0.24827,"62":0.00671,"63":0.00671,"65":0.01342,"66":0.01342,"67":0.02013,"69":0.44286,"70":0.04026,"71":0.02013,"72":0.00671,"73":0.00671,"74":0.01342,"75":0.02013,"76":0.10736,"77":0.01342,"78":0.03355,"79":0.04697,"80":0.08052,"81":0.07381,"83":0.0671,"84":0.17446,"85":0.06039,"86":0.16104,"87":0.50996,"88":0.55693,"89":2.46928,"90":40.43446,"91":0.99308,"92":0.00671,_:"4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 39 40 41 42 43 44 45 46 47 48 50 51 54 55 56 58 60 64 68 93 94"},F:{"73":0.14762,"75":0.42273,"76":0.32879,_:"9 11 12 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 60 62 63 64 65 66 67 68 69 70 71 72 74 9.5-9.6 10.5 10.6 11.1 11.5 11.6 12.1","10.0-10.1":0},G:{"8":0,"3.2":0,"4.0-4.1":0,"4.2-4.3":0,"5.0-5.1":0,"6.0-6.1":0.00194,"7.0-7.1":0.00388,"8.1-8.4":0.00194,"9.0-9.2":0.04273,"9.3":0.12624,"10.0-10.2":0.02136,"10.3":0.22335,"11.0-11.2":0.05244,"11.3-11.4":0.06603,"12.0-12.1":0.04855,"12.2-12.4":0.21753,"13.0-13.1":0.03496,"13.2":0.01748,"13.3":0.14178,"13.4-13.7":0.47195,"14.0-14.4":15.02478,"14.5-14.6":2.14418},E:{"4":0,"5":0.00671,"11":0.00671,"12":0.02013,"13":0.19459,"14":6.18662,_:"0 6 7 8 9 10 3.1 3.2 5.1 7.1 9.1","6.1":0.00671,"10.1":0.04026,"11.1":0.12078,"12.1":0.22814,"13.1":1.08702,"14.1":1.97945},B:{"17":0.00671,"18":0.05368,"85":0.01342,"86":0.01342,"87":0.02013,"88":0.03355,"89":0.12749,"90":4.57622,"91":0.18788,_:"12 13 14 15 16 79 80 81 83 84"},P:{"4":0.0331,"5.0-5.4":0.02104,"6.2-6.4":0.1561,"7.2-7.4":0.01037,"8.2":0.03018,"9.2":0.01103,"10.1":0.0107,"11.1-11.2":0.02206,"12.0":0.02206,"13.0":0.15445,"14.0":1.59969},I:{"0":0,"3":0,"4":0,"2.1":0,"2.2":0,"2.3":0,"4.1":0.00287,"4.2-4.3":0.00575,"4.4":0,"4.4.3-4.4.4":0.06705},K:{_:"0 10 11 12 11.1 11.5 12.1"},A:{"10":0.0548,"11":0.60278,_:"6 7 8 9 5.5"},J:{"7":0,"10":0},N:{_:"10 11"},S:{"2.5":0},R:{_:"0"},M:{"0":0.24017},Q:{"10.4":0.00987},O:{"0":0.02632},H:{"0":0.07787},L:{"0":12.38699}}; diff --git a/tools/node_modules/@babel/core/node_modules/caniuse-lite/data/regions/DM.js b/tools/node_modules/@babel/core/node_modules/caniuse-lite/data/regions/DM.js new file mode 100644 index 00000000000000..88e6e9ea018d7d --- /dev/null +++ b/tools/node_modules/@babel/core/node_modules/caniuse-lite/data/regions/DM.js @@ -0,0 +1 @@ +module.exports={C:{"84":0.0054,"86":0.0108,"87":0.19976,"88":1.33895,"89":0.0216,_:"2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 85 90 91 3.5 3.6"},D:{"38":0.0216,"49":0.04319,"51":0.0054,"53":0.0054,"58":0.0054,"62":0.0108,"63":0.0054,"65":0.0162,"68":0.0162,"69":0.0162,"73":0.17277,"74":0.26995,"75":0.03239,"76":0.97182,"77":0.06479,"79":0.0216,"81":0.04859,"83":0.05399,"84":0.08638,"85":0.0054,"86":0.0216,"87":0.08099,"88":0.64248,"89":2.01383,"90":28.99803,"91":1.53332,"92":0.0216,_:"4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 39 40 41 42 43 44 45 46 47 48 50 52 54 55 56 57 59 60 61 64 66 67 70 71 72 78 80 93 94"},F:{"73":0.17277,"75":0.30234,"76":0.34014,_:"9 11 12 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 60 62 63 64 65 66 67 68 69 70 71 72 74 9.5-9.6 10.5 10.6 11.1 11.5 11.6 12.1","10.0-10.1":0},G:{"8":0,"3.2":0,"4.0-4.1":0,"4.2-4.3":0,"5.0-5.1":0.013,"6.0-6.1":0,"7.0-7.1":0.051,"8.1-8.4":0,"9.0-9.2":0,"9.3":0.029,"10.0-10.2":0.002,"10.3":0.0235,"11.0-11.2":0.015,"11.3-11.4":0.014,"12.0-12.1":0.001,"12.2-12.4":0.064,"13.0-13.1":0.0045,"13.2":0.0035,"13.3":0.028,"13.4-13.7":0.11051,"14.0-14.4":3.70217,"14.5-14.6":0.59503},E:{"4":0,"13":0.0162,"14":1.59271,_:"0 5 6 7 8 9 10 11 12 3.1 3.2 6.1 7.1 9.1 11.1","5.1":0.0054,"10.1":0.0162,"12.1":0.14037,"13.1":0.16737,"14.1":1.66289},B:{"13":0.0054,"17":0.03239,"18":0.12958,"85":0.0216,"88":0.0108,"89":0.18357,"90":6.63537,"91":0.59389,_:"12 14 15 16 79 80 81 83 84 86 87"},P:{"4":0.13123,"5.0-5.4":0.02014,"6.2-6.4":0.05034,"7.2-7.4":0.07655,"8.2":0.02014,"9.2":0.23157,"10.1":0.07655,"11.1-11.2":0.10936,"12.0":0.22965,"13.0":0.30619,"14.0":2.93072},I:{"0":0,"3":0,"4":0.01044,"2.1":0,"2.2":0,"2.3":0,"4.1":0,"4.2-4.3":0.00574,"4.4":0,"4.4.3-4.4.4":0.08505},K:{_:"0 10 11 12 11.1 11.5 12.1"},A:{"11":1.01501,_:"6 7 8 9 10 5.5"},J:{"7":0,"10":0},N:{"10":0.02735,"11":0.35567},S:{"2.5":0},R:{_:"0"},M:{"0":0.11503},Q:{"10.4":0},O:{"0":0.76377},H:{"0":0.08712},L:{"0":40.1426}}; diff --git a/tools/node_modules/@babel/core/node_modules/caniuse-lite/data/regions/DO.js b/tools/node_modules/@babel/core/node_modules/caniuse-lite/data/regions/DO.js new file mode 100644 index 00000000000000..66c0d9573bfd56 --- /dev/null +++ b/tools/node_modules/@babel/core/node_modules/caniuse-lite/data/regions/DO.js @@ -0,0 +1 @@ +module.exports={C:{"4":0.00461,"15":0.00461,"17":0.00922,"45":0.06455,"52":0.00922,"65":0.00461,"66":0.02306,"68":0.00461,"73":0.03689,"74":0.00461,"78":0.03228,"79":0.00922,"80":0.01383,"81":0.00922,"82":0.00922,"84":0.01844,"85":0.00922,"86":0.02767,"87":0.05994,"88":1.40174,"89":0.30894,_:"2 3 5 6 7 8 9 10 11 12 13 14 16 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 46 47 48 49 50 51 53 54 55 56 57 58 59 60 61 62 63 64 67 69 70 71 72 75 76 77 83 90 91 3.5 3.6"},D:{"23":0.00461,"24":0.00922,"25":0.00461,"38":0.02767,"45":0.00461,"47":0.00461,"49":0.5441,"53":0.01844,"56":0.00922,"58":0.00922,"59":0.00461,"61":0.03689,"63":0.01844,"64":0.00922,"65":0.00922,"67":0.01383,"68":0.02767,"69":0.01383,"70":0.02767,"71":0.00461,"72":0.00922,"73":0.01383,"74":0.01844,"75":0.05533,"76":0.0415,"77":0.01383,"78":0.01383,"79":0.05072,"80":0.05533,"81":0.03689,"83":0.11528,"84":0.14755,"85":0.15677,"86":0.19827,"87":0.43805,"88":0.22133,"89":0.94526,"90":28.74497,"91":1.08359,"92":0.03228,"93":0.00461,_:"4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 26 27 28 29 30 31 32 33 34 35 36 37 39 40 41 42 43 44 46 48 50 51 52 54 55 57 60 62 66 94"},F:{"52":0.00461,"68":0.00461,"69":0.00461,"70":0.00922,"71":0.00461,"73":0.20288,"74":0.00922,"75":0.85765,"76":0.55332,_:"9 11 12 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 53 54 55 56 57 58 60 62 63 64 65 66 67 72 9.5-9.6 10.5 10.6 11.1 11.5 11.6 12.1","10.0-10.1":0},G:{"8":0,"3.2":0,"4.0-4.1":0,"4.2-4.3":0,"5.0-5.1":0.01688,"6.0-6.1":0.00563,"7.0-7.1":0.03376,"8.1-8.4":0.00985,"9.0-9.2":0.00422,"9.3":0.09705,"10.0-10.2":0.01266,"10.3":0.10127,"11.0-11.2":0.05345,"11.3-11.4":0.04501,"12.0-12.1":0.0436,"12.2-12.4":0.2363,"13.0-13.1":0.03235,"13.2":0.01688,"13.3":0.1716,"13.4-13.7":0.6442,"14.0-14.4":9.59826,"14.5-14.6":2.17171},E:{"4":0,"12":0.02306,"13":0.04611,"14":1.18503,_:"0 5 6 7 8 9 10 11 3.1 3.2 6.1 7.1 9.1","5.1":1.05131,"10.1":0.00461,"11.1":0.03689,"12.1":0.06917,"13.1":0.28588,"14.1":0.47954},B:{"12":0.00461,"14":0.00922,"15":0.00922,"16":0.00461,"17":0.01844,"18":0.32277,"84":0.01383,"85":0.00922,"86":0.01383,"87":0.01383,"88":0.00461,"89":0.05994,"90":2.46227,"91":0.15677,_:"13 79 80 81 83"},P:{"4":0.12934,"5.0-5.4":0.02014,"6.2-6.4":0.02156,"7.2-7.4":0.05389,"8.2":0.02014,"9.2":0.05389,"10.1":0.07655,"11.1-11.2":0.16167,"12.0":0.04311,"13.0":0.22634,"14.0":1.33647},I:{"0":0,"3":0,"4":0.00302,"2.1":0,"2.2":0,"2.3":0,"4.1":0.0011,"4.2-4.3":0.00357,"4.4":0,"4.4.3-4.4.4":0.03542},K:{_:"0 10 11 12 11.1 11.5 12.1"},A:{"8":0.029,"9":0.00483,"10":0.00967,"11":0.25621,_:"6 7 5.5"},J:{"7":0,"10":0},N:{"10":0.02735,"11":0.35567},S:{"2.5":0},R:{_:"0"},M:{"0":0.64668},Q:{"10.4":0},O:{"0":0.07006},H:{"0":0.20918},L:{"0":39.646}}; diff --git a/tools/node_modules/@babel/core/node_modules/caniuse-lite/data/regions/DZ.js b/tools/node_modules/@babel/core/node_modules/caniuse-lite/data/regions/DZ.js new file mode 100644 index 00000000000000..875ce2e28ef9b3 --- /dev/null +++ b/tools/node_modules/@babel/core/node_modules/caniuse-lite/data/regions/DZ.js @@ -0,0 +1 @@ +module.exports={C:{"15":0.01266,"33":0.00422,"35":0.00422,"36":0.00422,"38":0.00844,"40":0.00422,"43":0.00844,"47":0.01688,"48":0.02111,"52":0.22371,"56":0.00422,"60":0.00422,"62":0.00422,"68":0.01266,"70":0.00422,"72":0.02111,"76":0.00422,"77":0.00422,"78":0.14351,"79":0.00422,"80":0.01266,"81":0.01266,"82":0.00422,"83":0.01266,"84":0.06332,"85":0.02533,"86":0.03377,"87":0.07176,"88":2.89561,"89":0.05487,_:"2 3 4 5 6 7 8 9 10 11 12 13 14 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 34 37 39 41 42 44 45 46 49 50 51 53 54 55 57 58 59 61 63 64 65 66 67 69 71 73 74 75 90 91 3.5 3.6"},D:{"11":0.00844,"23":0.01266,"26":0.00844,"30":0.01266,"31":0.00844,"32":0.00844,"33":0.01688,"34":0.00422,"38":0.01266,"39":0.00422,"40":0.03377,"42":0.00844,"43":0.30391,"46":0.00422,"47":0.00844,"48":0.00844,"49":0.39677,"50":0.01688,"51":0.00844,"52":0.00844,"53":0.01688,"54":0.00844,"55":0.00422,"56":0.02955,"57":0.00844,"58":0.01266,"59":0.00422,"60":0.01688,"61":0.04221,"62":0.01266,"63":0.05065,"64":0.00844,"65":0.01688,"66":0.00844,"67":0.01688,"68":0.01688,"69":0.03799,"70":0.02533,"71":0.05065,"72":0.01688,"73":0.02111,"74":0.02533,"75":0.02533,"76":0.03799,"77":0.02955,"78":0.02111,"79":0.08864,"80":0.06332,"81":0.09708,"83":0.07176,"84":0.07176,"85":0.08864,"86":0.21949,"87":0.54451,"88":0.29547,"89":0.83998,"90":22.76807,"91":0.91174,"92":0.02111,_:"4 5 6 7 8 9 10 12 13 14 15 16 17 18 19 20 21 22 24 25 27 28 29 35 36 37 41 44 45 93 94"},F:{"36":0.00422,"58":0.00422,"72":0.00422,"73":0.12241,"74":0.02955,"75":0.85264,"76":1.29585,_:"9 11 12 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 60 62 63 64 65 66 67 68 69 70 71 9.5-9.6 10.5 10.6 11.1 11.5 11.6","10.0-10.1":0,"12.1":0.00422},G:{"8":0.00121,"3.2":0.00101,"4.0-4.1":0,"4.2-4.3":0.0004,"5.0-5.1":0.0099,"6.0-6.1":0.00445,"7.0-7.1":0.04305,"8.1-8.4":0.00627,"9.0-9.2":0.00424,"9.3":0.07033,"10.0-10.2":0.00202,"10.3":0.05214,"11.0-11.2":0.01011,"11.3-11.4":0.02425,"12.0-12.1":0.0196,"12.2-12.4":0.06993,"13.0-13.1":0.01293,"13.2":0.00647,"13.3":0.04851,"13.4-13.7":0.17583,"14.0-14.4":1.03034,"14.5-14.6":0.26173},E:{"4":0,"13":0.05065,"14":0.13507,_:"0 5 6 7 8 9 10 11 12 3.1 3.2 6.1 7.1 9.1 10.1","5.1":0.09708,"11.1":0.01688,"12.1":0.01266,"13.1":0.02955,"14.1":0.04643},B:{"12":0.00844,"13":0.00422,"14":0.00422,"15":0.00422,"16":0.01688,"17":0.02111,"18":0.06332,"84":0.01688,"85":0.00844,"86":0.00844,"87":0.00844,"88":0.00844,"89":0.03799,"90":1.40137,"91":0.07598,_:"79 80 81 83"},P:{"4":0.18551,"5.0-5.4":0.02061,"6.2-6.4":0.02061,"7.2-7.4":0.18551,"8.2":0.03018,"9.2":0.08245,"10.1":0.05153,"11.1-11.2":0.15459,"12.0":0.12367,"13.0":0.47408,"14.0":1.22642},I:{"0":0,"3":0,"4":0.0008,"2.1":0,"2.2":0,"2.3":0.00053,"4.1":0.00346,"4.2-4.3":0.00931,"4.4":0,"4.4.3-4.4.4":0.06679},K:{_:"0 10 11 12 11.1 11.5 12.1"},A:{"8":0.0108,"9":0.0324,"11":0.32402,_:"6 7 10 5.5"},J:{"7":0,"10":0},N:{_:"10 11"},S:{"2.5":0},R:{_:"0"},M:{"0":0.19067},Q:{"10.4":0.01156},O:{"0":0.70492},H:{"0":0.74942},L:{"0":57.08591}}; diff --git a/tools/node_modules/@babel/core/node_modules/caniuse-lite/data/regions/EC.js b/tools/node_modules/@babel/core/node_modules/caniuse-lite/data/regions/EC.js new file mode 100644 index 00000000000000..3def5f14188154 --- /dev/null +++ b/tools/node_modules/@babel/core/node_modules/caniuse-lite/data/regions/EC.js @@ -0,0 +1 @@ +module.exports={C:{"4":0.00593,"17":0.01186,"51":0.00593,"52":0.02966,"56":0.00593,"60":0.01186,"61":0.00593,"66":0.02966,"68":0.01186,"69":0.00593,"72":0.01186,"73":0.02373,"78":0.07712,"79":0.00593,"80":0.01186,"81":0.0178,"82":0.01186,"83":0.01186,"84":0.04152,"85":0.02373,"86":0.02966,"87":0.05932,"88":3.59479,"89":0.0178,_:"2 3 5 6 7 8 9 10 11 12 13 14 15 16 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 53 54 55 57 58 59 62 63 64 65 67 70 71 74 75 76 77 90 91 3.5 3.6"},D:{"22":0.01186,"23":0.00593,"24":0.01186,"25":0.00593,"26":0.00593,"38":0.04746,"47":0.03559,"48":0.0178,"49":0.10678,"53":0.07118,"55":0.05339,"56":0.01186,"61":0.00593,"63":0.13644,"65":0.02373,"67":0.01186,"68":0.01186,"69":0.00593,"70":0.01186,"71":0.01186,"72":0.00593,"73":0.0178,"74":0.02966,"75":0.04152,"76":0.02966,"77":0.02373,"78":0.03559,"79":0.08305,"80":0.04746,"81":0.04152,"83":0.05932,"84":0.04746,"85":0.05339,"86":0.12457,"87":0.29067,"88":0.22542,"89":0.8898,"90":41.27486,"91":1.7796,"92":0.01186,_:"4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 27 28 29 30 31 32 33 34 35 36 37 39 40 41 42 43 44 45 46 50 51 52 54 57 58 59 60 62 64 66 93 94"},F:{"73":0.2788,"75":1.11522,"76":0.81862,_:"9 11 12 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 60 62 63 64 65 66 67 68 69 70 71 72 74 9.5-9.6 10.5 10.6 11.1 11.5 11.6 12.1","10.0-10.1":0},G:{"8":0,"3.2":0,"4.0-4.1":0,"4.2-4.3":0,"5.0-5.1":0.01872,"6.0-6.1":0.0144,"7.0-7.1":0.0096,"8.1-8.4":0.0024,"9.0-9.2":0.00096,"9.3":0.06673,"10.0-10.2":0.00288,"10.3":0.05665,"11.0-11.2":0.01728,"11.3-11.4":0.01104,"12.0-12.1":0.00624,"12.2-12.4":0.06193,"13.0-13.1":0.01104,"13.2":0.0048,"13.3":0.03697,"13.4-13.7":0.1397,"14.0-14.4":3.11138,"14.5-14.6":0.90207},E:{"4":0,"12":0.01186,"13":0.04746,"14":0.91353,_:"0 5 6 7 8 9 10 11 3.1 3.2 6.1 7.1 9.1","5.1":0.60506,"10.1":0.01186,"11.1":0.02966,"12.1":0.05932,"13.1":0.2788,"14.1":0.53981},B:{"16":0.00593,"17":0.00593,"18":0.04152,"84":0.01186,"85":0.00593,"87":0.00593,"88":0.01186,"89":0.04152,"90":2.55076,"91":0.18389,_:"12 13 14 15 79 80 81 83 86"},P:{"4":0.22001,"5.0-5.4":0.02104,"6.2-6.4":0.1561,"7.2-7.4":0.11525,"8.2":0.03018,"9.2":0.04191,"10.1":0.01048,"11.1-11.2":0.16763,"12.0":0.11525,"13.0":0.39812,"14.0":1.91727},I:{"0":0,"3":0,"4":0.0013,"2.1":0,"2.2":0,"2.3":0,"4.1":0.00325,"4.2-4.3":0.0104,"4.4":0,"4.4.3-4.4.4":0.07862},K:{_:"0 10 11 12 11.1 11.5 12.1"},A:{"8":0.01055,"10":0.01055,"11":0.16873,_:"6 7 9 5.5"},J:{"7":0,"10":0},N:{_:"10 11"},S:{"2.5":0},R:{_:"0"},M:{"0":0.14645},Q:{"10.4":0},O:{"0":0.05288},H:{"0":0.16176},L:{"0":34.01854}}; diff --git a/tools/node_modules/@babel/core/node_modules/caniuse-lite/data/regions/EE.js b/tools/node_modules/@babel/core/node_modules/caniuse-lite/data/regions/EE.js new file mode 100644 index 00000000000000..cd0d5e1e2c7469 --- /dev/null +++ b/tools/node_modules/@babel/core/node_modules/caniuse-lite/data/regions/EE.js @@ -0,0 +1 @@ +module.exports={C:{"52":0.04399,"66":0.022,"68":0.13931,"78":0.08798,"82":0.11731,"83":0.00733,"84":0.06599,"85":0.01466,"86":0.22729,"87":0.10998,"88":3.54869,"89":0.022,_:"2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 53 54 55 56 57 58 59 60 61 62 63 64 65 67 69 70 71 72 73 74 75 76 77 79 80 81 90 91 3.5 3.6"},D:{"49":0.16864,"51":0.01466,"53":0.01466,"59":0.022,"60":0.01466,"65":0.022,"66":0.00733,"67":0.01466,"69":1.0998,"70":0.05866,"71":0.00733,"74":0.00733,"75":0.022,"76":0.022,"77":0.00733,"78":0.11731,"79":0.10265,"80":0.06599,"81":0.03666,"83":0.08065,"84":0.07332,"85":0.02933,"86":10.67539,"87":3.688,"88":0.26395,"89":1.53239,"90":36.40338,"91":1.20245,"92":0.00733,_:"4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 50 52 54 55 56 57 58 61 62 63 64 68 72 73 93 94"},F:{"36":0.00733,"69":0.01466,"73":0.26395,"74":0.00733,"75":1.55438,"76":2.08962,_:"9 11 12 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 60 62 63 64 65 66 67 68 70 71 72 9.5-9.6 10.5 10.6 11.1 11.5 11.6 12.1","10.0-10.1":0},G:{"8":0,"3.2":0,"4.0-4.1":0,"4.2-4.3":0,"5.0-5.1":0.00819,"6.0-6.1":0.01883,"7.0-7.1":0.00655,"8.1-8.4":0.02948,"9.0-9.2":0,"9.3":0.02211,"10.0-10.2":0.01965,"10.3":0.15559,"11.0-11.2":0.0262,"11.3-11.4":0.02211,"12.0-12.1":0.03276,"12.2-12.4":0.09335,"13.0-13.1":0.02457,"13.2":0.01065,"13.3":0.07534,"13.4-13.7":0.28989,"14.0-14.4":5.82064,"14.5-14.6":1.34543},E:{"4":0,"12":0.01466,"13":0.07332,"14":1.93565,_:"0 5 6 7 8 9 10 11 3.1 3.2 5.1 6.1 7.1 9.1","10.1":0.00733,"11.1":0.07332,"12.1":0.09532,"13.1":0.5499,"14.1":0.9385},B:{"17":0.00733,"18":0.03666,"80":0.00733,"81":0.01466,"84":0.01466,"85":0.01466,"87":0.00733,"88":0.00733,"89":0.11731,"90":3.20408,"91":0.11731,_:"12 13 14 15 16 79 83 86"},P:{"4":0.07616,"5.0-5.4":0.02104,"6.2-6.4":0.1561,"7.2-7.4":0.11525,"8.2":0.03018,"9.2":0.01088,"10.1":0.02176,"11.1-11.2":0.06528,"12.0":0.04352,"13.0":0.26113,"14.0":1.75172},I:{"0":0,"3":0,"4":0.00157,"2.1":0,"2.2":0,"2.3":0,"4.1":0.00118,"4.2-4.3":0.00275,"4.4":0,"4.4.3-4.4.4":0.03185},K:{_:"0 10 11 12 11.1 11.5 12.1"},A:{"11":0.46925,_:"6 7 8 9 10 5.5"},J:{"7":0,"10":0},N:{_:"10 11"},S:{"2.5":0},R:{_:"0"},M:{"0":0.28014},Q:{"10.4":0},O:{"0":0.10672},H:{"0":0.2248},L:{"0":16.311}}; diff --git a/tools/node_modules/@babel/core/node_modules/caniuse-lite/data/regions/EG.js b/tools/node_modules/@babel/core/node_modules/caniuse-lite/data/regions/EG.js new file mode 100644 index 00000000000000..8d06ee80f8ca93 --- /dev/null +++ b/tools/node_modules/@babel/core/node_modules/caniuse-lite/data/regions/EG.js @@ -0,0 +1 @@ +module.exports={C:{"15":0.00886,"36":0.00177,"43":0.00177,"47":0.00708,"48":0.00177,"49":0.00177,"50":0.00354,"52":0.09386,"55":0.00354,"56":0.00354,"60":0.00177,"65":0.00177,"66":0.00708,"67":0.02479,"68":0.00354,"72":0.00531,"78":0.03896,"80":0.00177,"81":0.00354,"82":0.00354,"83":0.00354,"84":0.00708,"85":0.00708,"86":0.01063,"87":0.02657,"88":1.19543,"89":0.03188,"90":0.00354,_:"2 3 4 5 6 7 8 9 10 11 12 13 14 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 37 38 39 40 41 42 44 45 46 51 53 54 57 58 59 61 62 63 64 69 70 71 73 74 75 76 77 79 91 3.5 3.6"},D:{"26":0.01063,"31":0.00177,"33":0.0124,"34":0.00177,"38":0.00354,"40":0.01771,"43":0.1771,"47":0.00354,"48":0.00177,"49":0.07615,"51":0.00177,"53":0.02125,"55":0.00177,"56":0.00177,"57":0.00354,"58":0.00177,"60":0.00177,"61":0.01594,"62":0.00177,"63":0.01948,"64":0.00177,"65":0.00354,"66":0.00354,"67":0.00354,"68":0.01417,"69":0.00886,"70":0.00708,"71":0.00708,"72":0.00531,"73":0.00531,"74":0.01063,"75":0.00708,"76":0.01594,"77":0.00886,"78":0.00886,"79":0.05313,"80":0.02479,"81":0.02302,"83":0.0425,"84":0.02302,"85":0.02834,"86":0.0673,"87":0.11157,"88":0.09209,"89":0.33649,"90":10.23107,"91":0.44983,"92":0.01063,_:"4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 27 28 29 30 32 35 36 37 39 41 42 44 45 46 50 52 54 59 93 94"},F:{"51":0.00354,"56":0.00354,"62":0.00354,"63":0.00531,"64":0.01948,"66":0.00354,"68":0.00886,"69":0.00886,"70":0.02125,"71":0.03011,"72":0.06553,"73":0.06376,"74":0.02302,"75":0.04959,"76":0.02125,_:"9 11 12 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 52 53 54 55 57 58 60 65 67 9.5-9.6 10.5 10.6 11.1 11.5 11.6 12.1","10.0-10.1":0},G:{"8":0,"3.2":0,"4.0-4.1":0,"4.2-4.3":0,"5.0-5.1":0,"6.0-6.1":0.0046,"7.0-7.1":0.0161,"8.1-8.4":0,"9.0-9.2":0.0138,"9.3":0.11957,"10.0-10.2":0.03679,"10.3":0.22535,"11.0-11.2":0.03909,"11.3-11.4":0.08278,"12.0-12.1":0.07358,"12.2-12.4":0.37251,"13.0-13.1":0.04599,"13.2":0.02529,"13.3":0.17246,"13.4-13.7":0.55187,"14.0-14.4":18.476,"14.5-14.6":0.8048},E:{"4":0,"12":0.00354,"13":0.01063,"14":0.18773,_:"0 5 6 7 8 9 10 11 3.1 3.2 6.1 7.1 9.1 10.1","5.1":0.34003,"11.1":0.00531,"12.1":0.01063,"13.1":0.05313,"14.1":0.0673},B:{"12":0.00354,"13":0.00177,"14":0.00354,"15":0.00354,"16":0.00354,"17":0.00354,"18":0.02479,"83":0.00354,"84":0.00531,"85":0.00354,"86":0.00354,"88":0.00177,"89":0.01594,"90":0.70486,"91":0.05844,_:"79 80 81 87"},P:{"4":0.26748,"5.0-5.4":0.02014,"6.2-6.4":0.02156,"7.2-7.4":0.07201,"8.2":0.02014,"9.2":0.05144,"10.1":0.03086,"11.1-11.2":0.21604,"12.0":0.11316,"13.0":0.4115,"14.0":1.30651},I:{"0":0,"3":0,"4":0,"2.1":0,"2.2":0,"2.3":0,"4.1":0.0055,"4.2-4.3":0.02657,"4.4":0,"4.4.3-4.4.4":0.48643},K:{_:"0 10 11 12 11.1 11.5 12.1"},A:{"8":0.00372,"9":0.00372,"11":0.14133,_:"6 7 10 5.5"},J:{"7":0,"10":0},N:{"10":0.02735,"11":0.35567},S:{"2.5":0},R:{_:"0"},M:{"0":0.12345},Q:{"10.4":0},O:{"0":0.37858},H:{"0":0.34283},L:{"0":59.29193}}; diff --git a/tools/node_modules/@babel/core/node_modules/caniuse-lite/data/regions/ER.js b/tools/node_modules/@babel/core/node_modules/caniuse-lite/data/regions/ER.js new file mode 100644 index 00000000000000..d1458f24803f7d --- /dev/null +++ b/tools/node_modules/@babel/core/node_modules/caniuse-lite/data/regions/ER.js @@ -0,0 +1 @@ +module.exports={C:{"24":0.00165,"27":0.00165,"29":0.00331,"30":0.00165,"31":0.00331,"34":0.01654,"35":0.00165,"37":0.00331,"40":0.00827,"41":0.00827,"42":0.00827,"43":0.00662,"44":0.00165,"45":0.00331,"47":0.01323,"48":0.00496,"49":0.00331,"52":0.00992,"53":0.00165,"56":0.00165,"57":0.00331,"61":0.00331,"64":0.00165,"66":0.00165,"67":0.00827,"72":0.00662,"73":0.00331,"77":0.44327,"78":0.01819,"79":0.00331,"80":0.00827,"84":0.00662,"85":0.00496,"86":0.17367,"87":0.02646,"88":0.71122,"89":0.11247,_:"2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 25 26 28 32 33 36 38 39 46 50 51 54 55 58 59 60 62 63 65 68 69 70 71 74 75 76 81 82 83 90 91 3.5 3.6"},D:{"11":0.04797,"26":0.00331,"28":0.00165,"30":0.03639,"31":0.00331,"33":0.01158,"34":0.00331,"35":0.00331,"36":0.00992,"37":0.07443,"38":0.00165,"40":0.13728,"43":0.04962,"46":0.00496,"49":0.00827,"50":0.07774,"51":0.00662,"53":0.00331,"55":0.00662,"56":0.00331,"57":0.01819,"58":0.00331,"60":0.00662,"61":0.00331,"62":0.00496,"63":0.01489,"64":0.00331,"65":0.00165,"67":0.00827,"68":0.00331,"69":0.00827,"70":0.01819,"74":0.01158,"77":0.02646,"78":0.06616,"79":0.02812,"80":0.07278,"81":0.02481,"83":0.01654,"84":0.01323,"85":0.01819,"86":0.03639,"87":0.15548,"88":0.0827,"89":0.21171,"90":5.19356,"91":0.1257,"92":0.00331,_:"4 5 6 7 8 9 10 12 13 14 15 16 17 18 19 20 21 22 23 24 25 27 29 32 39 41 42 44 45 47 48 52 54 59 66 71 72 73 75 76 93 94"},F:{"40":0.00331,"42":0.00331,"45":0.01158,"67":0.00165,"70":0.00331,"71":0.00165,"73":0.01489,"74":0.00827,"75":0.36223,"76":0.81377,_:"9 11 12 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 41 43 44 46 47 48 49 50 51 52 53 54 55 56 57 58 60 62 63 64 65 66 68 69 72 9.5-9.6 10.5 10.6 11.1 11.5 12.1","10.0-10.1":0,"11.6":0.00662},G:{"8":0,"3.2":0,"4.0-4.1":0,"4.2-4.3":0,"5.0-5.1":0.00056,"6.0-6.1":0.00112,"7.0-7.1":0.05764,"8.1-8.4":0.00805,"9.0-9.2":0.03163,"9.3":0.03088,"10.0-10.2":0.00524,"10.3":0.05726,"11.0-11.2":0.0436,"11.3-11.4":0.0597,"12.0-12.1":0.02208,"12.2-12.4":0.26367,"13.0-13.1":0.03743,"13.2":0.00618,"13.3":0.03892,"13.4-13.7":0.12819,"14.0-14.4":0.7942,"14.5-14.6":0.18302},E:{"4":0,"7":0.043,"13":0.00165,"14":0.13067,_:"0 5 6 8 9 10 11 12 3.1 3.2 5.1 6.1 10.1 11.1","7.1":0.00165,"9.1":0.00331,"12.1":0.00827,"13.1":0.04135,"14.1":0.043},B:{"12":0.02646,"13":0.01158,"14":0.00992,"15":0.00496,"16":0.00662,"17":0.02481,"18":0.043,"84":0.01489,"85":0.00662,"87":0.01985,"88":0.00662,"89":0.04466,"90":0.73438,"91":0.02316,_:"79 80 81 83 86"},P:{"4":0.51392,"5.0-5.4":0.06167,"6.2-6.4":0.0925,"7.2-7.4":0.26724,"8.2":0.02014,"9.2":0.0925,"10.1":0.01028,"11.1-11.2":0.17473,"12.0":0.10278,"13.0":0.30835,"14.0":0.46252},I:{"0":0,"3":0,"4":0,"2.1":0,"2.2":0,"2.3":0,"4.1":0.00723,"4.2-4.3":0.1955,"4.4":0,"4.4.3-4.4.4":0.35645},K:{_:"0 10 11 12 11.1 11.5 12.1"},A:{"11":0.12736,_:"6 7 8 9 10 5.5"},J:{"7":0,"10":0},N:{"10":0.02735,"11":0.35567},S:{"2.5":0},R:{_:"0"},M:{"0":0.04173},Q:{"10.4":0.23369},O:{"0":1.43551},H:{"0":23.69646},L:{"0":56.36384}}; diff --git a/tools/node_modules/@babel/core/node_modules/caniuse-lite/data/regions/ES.js b/tools/node_modules/@babel/core/node_modules/caniuse-lite/data/regions/ES.js new file mode 100644 index 00000000000000..372929ca863a14 --- /dev/null +++ b/tools/node_modules/@babel/core/node_modules/caniuse-lite/data/regions/ES.js @@ -0,0 +1 @@ +module.exports={C:{"45":0.00483,"48":0.01932,"52":0.10145,"53":0.00483,"55":0.00483,"56":0.00483,"59":0.00966,"60":0.02899,"64":0.00483,"66":0.01449,"67":0.01449,"68":0.02416,"69":0.01449,"72":0.01449,"77":0.00483,"78":0.2029,"79":0.00966,"80":0.01449,"81":0.00966,"82":0.00966,"83":0.00966,"84":0.07247,"85":0.02899,"86":0.03382,"87":0.27054,"88":3.11116,"89":0.01932,_:"2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 46 47 49 50 51 54 57 58 61 62 63 65 70 71 73 74 75 76 90 91 3.5 3.6"},D:{"34":0.00483,"38":0.02416,"49":0.35266,"52":0.00966,"53":0.05314,"54":0.0628,"56":0.00966,"57":0.00483,"58":0.00966,"61":0.19807,"63":0.00966,"64":0.00966,"65":0.02416,"66":0.01449,"67":0.01932,"68":0.01932,"69":0.02416,"70":0.01932,"71":0.01449,"72":0.00966,"73":0.01449,"74":0.02899,"75":0.0773,"76":0.03382,"77":0.02899,"78":0.02899,"79":0.08213,"80":0.05314,"81":0.04831,"83":0.0628,"84":0.07247,"85":0.07247,"86":0.14493,"87":0.25121,"88":0.22223,"89":0.95171,"90":28.68648,"91":0.75364,"92":0.00966,_:"4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 35 36 37 39 40 41 42 43 44 45 46 47 48 50 51 55 59 60 62 93 94"},F:{"36":0.00483,"73":0.1401,"74":0.00483,"75":0.53141,"76":0.44928,_:"9 11 12 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 60 62 63 64 65 66 67 68 69 70 71 72 9.5-9.6 10.5 10.6 11.1 11.5 11.6 12.1","10.0-10.1":0},G:{"8":0.00194,"3.2":0,"4.0-4.1":0,"4.2-4.3":0,"5.0-5.1":0.00389,"6.0-6.1":0.00292,"7.0-7.1":0.01069,"8.1-8.4":0.01166,"9.0-9.2":0.00583,"9.3":0.14387,"10.0-10.2":0.04472,"10.3":0.14581,"11.0-11.2":0.04277,"11.3-11.4":0.03791,"12.0-12.1":0.03402,"12.2-12.4":0.14192,"13.0-13.1":0.04472,"13.2":0.01555,"13.3":0.12831,"13.4-13.7":0.36453,"14.0-14.4":6.71995,"14.5-14.6":1.34632},E:{"4":0,"11":0.00483,"12":0.00966,"13":0.10145,"14":2.42516,_:"0 5 6 7 8 9 10 3.1 3.2 6.1 7.1","5.1":0.01449,"9.1":0.00483,"10.1":0.01932,"11.1":0.0773,"12.1":0.10145,"13.1":0.4831,"14.1":0.84059},B:{"14":0.00483,"15":0.00483,"16":0.00966,"17":0.01449,"18":0.04831,"84":0.00966,"85":0.00966,"86":0.01932,"87":0.01449,"88":0.01449,"89":0.07247,"90":3.15947,"91":0.1401,_:"12 13 79 80 81 83"},P:{"4":0.14857,"5.0-5.4":0.01061,"6.2-6.4":0.03031,"7.2-7.4":0.57596,"8.2":0.02021,"9.2":0.01061,"10.1":0.01061,"11.1-11.2":0.12734,"12.0":0.09551,"13.0":0.32897,"14.0":2.47256},I:{"0":0,"3":0,"4":0,"2.1":0,"2.2":0,"2.3":0,"4.1":0.01233,"4.2-4.3":0.01088,"4.4":0,"4.4.3-4.4.4":0.05949},K:{_:"0 10 11 12 11.1 11.5 12.1"},A:{"9":0.00533,"11":0.55989,_:"6 7 8 10 5.5"},J:{"7":0,"10":0},N:{"10":0.01297,"11":0.01825},S:{"2.5":0},R:{_:"0"},M:{"0":0.27913},Q:{"10.4":0.01551},O:{"0":0.07237},H:{"0":0.23979},L:{"0":40.29459}}; diff --git a/tools/node_modules/@babel/core/node_modules/caniuse-lite/data/regions/ET.js b/tools/node_modules/@babel/core/node_modules/caniuse-lite/data/regions/ET.js new file mode 100644 index 00000000000000..f778d184e9629b --- /dev/null +++ b/tools/node_modules/@babel/core/node_modules/caniuse-lite/data/regions/ET.js @@ -0,0 +1 @@ +module.exports={C:{"20":0.00813,"25":0.00407,"27":0.00407,"29":0.0122,"30":0.0122,"32":0.00813,"33":0.0122,"34":0.02033,"35":0.02439,"36":0.01626,"37":0.02439,"38":0.00813,"39":0.00813,"40":0.00813,"41":0.00813,"42":0.00407,"43":0.04065,"44":0.01626,"45":0.00407,"46":0.00813,"47":0.13008,"48":0.02033,"49":0.0122,"52":0.28049,"54":0.00813,"56":0.0122,"57":0.00813,"58":0.00813,"59":0.00813,"60":0.02033,"61":0.04878,"62":0.00407,"65":0.00407,"66":0.01626,"67":0.00813,"68":0.05691,"69":0.05691,"70":0.0122,"71":0.01626,"72":0.05285,"74":0.00407,"77":0.13821,"78":0.07724,"79":0.00813,"80":0.00813,"81":0.02439,"82":0.01626,"83":0.01626,"84":0.02846,"85":0.02846,"86":0.0813,"87":0.09756,"88":3.76419,"89":0.32114,_:"2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 21 22 23 24 26 28 31 50 51 53 55 63 64 73 75 76 90 91 3.5 3.6"},D:{"11":0.01626,"33":0.05691,"34":0.01626,"36":0.00407,"37":0.02033,"38":0.0122,"40":0.20732,"43":0.39024,"46":0.00813,"48":0.04065,"49":0.04472,"50":0.01626,"51":0.02439,"53":0.02439,"55":0.0122,"56":0.00813,"57":0.01626,"58":0.02033,"60":0.0122,"63":0.04065,"64":0.00813,"65":0.02439,"67":0.04065,"68":0.02846,"69":0.03659,"70":0.02846,"71":0.0122,"72":0.0122,"73":0.01626,"74":0.03252,"75":0.02033,"76":0.02846,"77":0.10976,"78":0.03659,"79":0.17886,"80":0.04065,"81":0.04472,"83":0.03659,"84":0.06911,"85":0.06504,"86":0.14634,"87":0.43496,"88":0.2439,"89":0.62195,"90":19.11363,"91":0.54878,"92":0.04065,_:"4 5 6 7 8 9 10 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 35 39 41 42 44 45 47 52 54 59 61 62 66 93 94"},F:{"40":0.00407,"42":0.00407,"71":0.00407,"72":0.00813,"73":0.03659,"74":0.02846,"75":1.01625,"76":2.30079,_:"9 11 12 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 41 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 60 62 63 64 65 66 67 68 69 70 9.5-9.6 10.5 10.6 11.1 11.5 11.6 12.1","10.0-10.1":0},G:{"8":0.01229,"3.2":0.00259,"4.0-4.1":0,"4.2-4.3":0.00129,"5.0-5.1":0.0042,"6.0-6.1":0.00065,"7.0-7.1":0.27393,"8.1-8.4":0.04463,"9.0-9.2":0.02684,"9.3":0.14295,"10.0-10.2":0.01294,"10.3":0.48836,"11.0-11.2":0.0249,"11.3-11.4":0.48545,"12.0-12.1":0.02102,"12.2-12.4":0.11384,"13.0-13.1":0.02329,"13.2":0.01423,"13.3":0.02781,"13.4-13.7":0.12743,"14.0-14.4":0.98125,"14.5-14.6":0.1727},E:{"4":0,"7":0.0122,"8":0.0122,"13":0.00407,"14":0.13415,_:"0 5 6 9 10 11 12 3.1 3.2 5.1 6.1 9.1","7.1":0.00407,"10.1":0.02033,"11.1":0.00813,"12.1":0.0122,"13.1":0.09756,"14.1":0.05285},B:{"12":0.11789,"13":0.04878,"14":0.02846,"15":0.03659,"16":0.07724,"17":0.09756,"18":0.2439,"83":0.00813,"84":0.02033,"85":0.02439,"86":0.00407,"87":0.02439,"88":0.02846,"89":0.23577,"90":2.86583,"91":0.05285,_:"79 80 81"},P:{"4":0.69841,"5.0-5.4":0.03127,"6.2-6.4":0.0417,"7.2-7.4":0.29187,"8.2":0.03018,"9.2":0.12509,"10.1":0.02085,"11.1-11.2":0.15636,"12.0":0.08339,"13.0":0.37526,"14.0":0.91731},I:{"0":0,"3":0,"4":0.00199,"2.1":0,"2.2":0,"2.3":0,"4.1":0.00419,"4.2-4.3":0.09448,"4.4":0,"4.4.3-4.4.4":0.24945},K:{_:"0 10 11 12 11.1 11.5 12.1"},A:{"8":0.01016,"11":0.25406,_:"6 7 9 10 5.5"},J:{"7":0,"10":0.02967},N:{_:"10 11"},S:{"2.5":0},R:{_:"0"},M:{"0":0.12461},Q:{"10.4":0.07121},O:{"0":2.99074},H:{"0":8.99992},L:{"0":43.7566}}; diff --git a/tools/node_modules/@babel/core/node_modules/caniuse-lite/data/regions/FI.js b/tools/node_modules/@babel/core/node_modules/caniuse-lite/data/regions/FI.js new file mode 100644 index 00000000000000..fc6508a50b2f4a --- /dev/null +++ b/tools/node_modules/@babel/core/node_modules/caniuse-lite/data/regions/FI.js @@ -0,0 +1 @@ +module.exports={C:{"37":0.06761,"44":0.01844,"48":0.00615,"50":0.00615,"52":0.09834,"54":0.04302,"55":0.04917,"56":0.01844,"59":0.01844,"60":0.01844,"63":0.01844,"66":0.01229,"68":0.01844,"72":0.01229,"73":0.00615,"78":0.42407,"79":0.01844,"80":0.04302,"81":0.04302,"82":0.03073,"83":0.02458,"84":0.06146,"85":0.01844,"86":0.06761,"87":0.17209,"88":5.26712,"89":0.01229,_:"2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 38 39 40 41 42 43 45 46 47 49 51 53 57 58 61 62 64 65 67 69 70 71 74 75 76 77 90 91 3.5 3.6"},D:{"38":0.01229,"48":0.04917,"49":0.30115,"52":0.08604,"53":0.02458,"56":0.02458,"59":0.08604,"60":0.36876,"61":0.03073,"64":0.86044,"65":0.01229,"66":0.09219,"67":0.02458,"68":0.01844,"69":0.32574,"70":0.88502,"71":0.00615,"72":0.93419,"73":0.01844,"74":0.00615,"75":0.03688,"76":0.03688,"77":0.01229,"78":0.30115,"79":1.88068,"80":0.94034,"81":0.05531,"83":0.17209,"84":0.59002,"85":0.51626,"86":0.89732,"87":0.87888,"88":1.11857,"89":1.83765,"90":27.03011,"91":0.68221,"92":0.01229,_:"4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 39 40 41 42 43 44 45 46 47 50 51 54 55 57 58 62 63 93 94"},F:{"71":0.00615,"72":0.01229,"73":0.12907,"74":0.00615,"75":0.54699,"76":0.56543,_:"9 11 12 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 60 62 63 64 65 66 67 68 69 70 9.5-9.6 10.5 10.6 11.1 11.5 11.6 12.1","10.0-10.1":0},G:{"8":0,"3.2":0,"4.0-4.1":0,"4.2-4.3":0,"5.0-5.1":0.00351,"6.0-6.1":0.00234,"7.0-7.1":0.00117,"8.1-8.4":0.02222,"9.0-9.2":0.08655,"9.3":0.08538,"10.0-10.2":0.0152,"10.3":0.1614,"11.0-11.2":0.03743,"11.3-11.4":0.11696,"12.0-12.1":0.069,"12.2-12.4":0.19765,"13.0-13.1":0.03626,"13.2":0.01637,"13.3":0.16374,"13.4-13.7":0.51227,"14.0-14.4":8.01614,"14.5-14.6":1.69469},E:{"4":0.00615,"12":0.07375,"13":0.35032,"14":2.77799,_:"0 5 6 7 8 9 10 11 3.1 3.2 5.1 6.1 7.1 9.1","10.1":0.06146,"11.1":0.12907,"12.1":0.11063,"13.1":0.5347,"14.1":1.23535},B:{"17":0.01844,"18":0.06146,"81":0.02458,"84":0.01229,"85":0.01844,"86":0.02458,"87":0.01844,"88":0.01844,"89":0.11677,"90":3.53395,"91":0.12907,_:"12 13 14 15 16 79 80 83"},P:{"4":0.02136,"5.0-5.4":0.01068,"6.2-6.4":0.0417,"7.2-7.4":0.01068,"8.2":0.03018,"9.2":0.05341,"10.1":0.04273,"11.1-11.2":0.1175,"12.0":0.14954,"13.0":0.48067,"14.0":1.9654},I:{"0":0,"3":0,"4":0,"2.1":0,"2.2":0,"2.3":0,"4.1":0.00167,"4.2-4.3":0.01282,"4.4":0,"4.4.3-4.4.4":0.03176},K:{_:"0 10 11 12 11.1 11.5 12.1"},A:{"8":0.14779,"9":0.04702,"10":0.18138,"11":0.49039,_:"6 7 5.5"},J:{"7":0,"10":0},N:{_:"10 11"},S:{"2.5":0.00771},R:{_:"0"},M:{"0":0.60893},Q:{"10.4":0},O:{"0":0.14645},H:{"0":0.35393},L:{"0":24.37821}}; diff --git a/tools/node_modules/@babel/core/node_modules/caniuse-lite/data/regions/FJ.js b/tools/node_modules/@babel/core/node_modules/caniuse-lite/data/regions/FJ.js new file mode 100644 index 00000000000000..154de2a2526dcc --- /dev/null +++ b/tools/node_modules/@babel/core/node_modules/caniuse-lite/data/regions/FJ.js @@ -0,0 +1 @@ +module.exports={C:{"29":0.0041,"30":0.0082,"34":0.02459,"43":0.0041,"47":0.01229,"50":0.0041,"52":0.0082,"56":0.02869,"65":0.05737,"66":0.01639,"69":0.01229,"72":0.04508,"78":0.05737,"80":0.03278,"82":0.01229,"83":0.0041,"84":0.0082,"85":0.08606,"86":0.01639,"87":0.05327,"88":1.95475,"89":0.03688,_:"2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 31 32 33 35 36 37 38 39 40 41 42 44 45 46 48 49 51 53 54 55 57 58 59 60 61 62 63 64 67 68 70 71 73 74 75 76 77 79 81 90 91 3.5 3.6"},D:{"39":0.04508,"49":0.02869,"51":0.01229,"53":0.18441,"57":0.0041,"58":0.01229,"63":0.02459,"65":0.06557,"66":0.0082,"67":0.03278,"69":0.04918,"74":0.01639,"76":0.01229,"77":0.02869,"79":0.09016,"80":0.05327,"81":0.02869,"83":0.02049,"84":0.01639,"85":0.02459,"86":0.08606,"87":0.15163,"88":0.10245,"89":0.50405,"90":20.87931,"91":1.07368,"92":0.0082,_:"4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 40 41 42 43 44 45 46 47 48 50 52 54 55 56 59 60 61 62 64 68 70 71 72 73 75 78 93 94"},F:{"73":0.01639,"75":0.23768,"76":0.45078,_:"9 11 12 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 60 62 63 64 65 66 67 68 69 70 71 72 74 9.5-9.6 10.5 10.6 11.1 11.5 11.6 12.1","10.0-10.1":0},G:{"8":0.01047,"3.2":0,"4.0-4.1":0,"4.2-4.3":0,"5.0-5.1":0.00698,"6.0-6.1":0.02394,"7.0-7.1":0.01047,"8.1-8.4":0.00399,"9.0-9.2":0.00299,"9.3":0.18605,"10.0-10.2":0.07981,"10.3":0.07083,"11.0-11.2":0.0808,"11.3-11.4":0.03142,"12.0-12.1":0.03043,"12.2-12.4":0.13767,"13.0-13.1":0.01347,"13.2":0.01596,"13.3":0.12969,"13.4-13.7":0.34118,"14.0-14.4":2.55882,"14.5-14.6":0.91579},E:{"4":0,"6":0.01639,"12":0.0041,"13":0.03278,"14":0.70895,_:"0 5 7 8 9 10 11 3.1 3.2 5.1 6.1 7.1 9.1","10.1":0.01639,"11.1":0.01229,"12.1":0.01639,"13.1":0.17212,"14.1":0.15982},B:{"12":0.01229,"13":0.01639,"14":0.01639,"15":0.02459,"16":0.04508,"17":0.05327,"18":0.07786,"80":0.01639,"84":0.01229,"85":0.02869,"86":0.06557,"87":0.27457,"88":0.01639,"89":0.23359,"90":7.1633,"91":0.13114,_:"79 81 83"},P:{"4":0.77712,"5.0-5.4":0.06167,"6.2-6.4":0.07158,"7.2-7.4":1.45199,"8.2":0.01023,"9.2":0.26586,"10.1":0.1227,"11.1-11.2":1.10433,"12.0":0.40901,"13.0":1.48267,"14.0":2.63813},I:{"0":0,"3":0,"4":0,"2.1":0,"2.2":0,"2.3":0,"4.1":0.00149,"4.2-4.3":0.00547,"4.4":0,"4.4.3-4.4.4":0.04026},K:{_:"0 10 11 12 11.1 11.5 12.1"},A:{"11":0.75813,_:"6 7 8 9 10 5.5"},J:{"7":0,"10":0},N:{"10":0.02735,"11":0.02361},S:{"2.5":0},R:{_:"0"},M:{"0":0.15935},Q:{"10.4":0.07673},O:{"0":1.96537},H:{"0":0.44142},L:{"0":47.0428}}; diff --git a/tools/node_modules/@babel/core/node_modules/caniuse-lite/data/regions/FK.js b/tools/node_modules/@babel/core/node_modules/caniuse-lite/data/regions/FK.js new file mode 100644 index 00000000000000..3ecf2e37b4ee05 --- /dev/null +++ b/tools/node_modules/@babel/core/node_modules/caniuse-lite/data/regions/FK.js @@ -0,0 +1 @@ +module.exports={C:{"33":0.01865,"48":0.22382,"52":0.02798,"59":0.0373,"63":0.00933,"69":0.00933,"75":0.00933,"76":0.07461,"78":0.05596,"80":0.00933,"81":0.00933,"82":0.04663,"84":0.08393,"85":0.00933,"87":0.07461,"88":8.78509,"89":0.00933,_:"2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 34 35 36 37 38 39 40 41 42 43 44 45 46 47 49 50 51 53 54 55 56 57 58 60 61 62 64 65 66 67 68 70 71 72 73 74 77 79 83 86 90 91 3.5 3.6"},D:{"43":0.04663,"49":0.28911,"56":0.00933,"68":0.02798,"74":0.00933,"76":0.06528,"80":0.00933,"81":0.08393,"84":0.0373,"88":0.23315,"89":0.66215,"90":20.49389,"91":0.39169,_:"4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 44 45 46 47 48 50 51 52 53 54 55 57 58 59 60 61 62 63 64 65 66 67 69 70 71 72 73 75 77 78 79 83 85 86 87 92 93 94"},F:{"73":0.00933,"75":0.45697,"76":0.74142,_:"9 11 12 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 60 62 63 64 65 66 67 68 69 70 71 72 74 9.5-9.6 10.5 10.6 11.1 11.5 11.6 12.1","10.0-10.1":0},G:{"8":0,"3.2":0,"4.0-4.1":0,"4.2-4.3":0,"5.0-5.1":0,"6.0-6.1":0,"7.0-7.1":0,"8.1-8.4":0.02749,"9.0-9.2":0,"9.3":0.0719,"10.0-10.2":0.03595,"10.3":0.16284,"11.0-11.2":0.16284,"11.3-11.4":0.00846,"12.0-12.1":9.56726,"12.2-12.4":0.18187,"13.0-13.1":0.00846,"13.2":0.02749,"13.3":0.0719,"13.4-13.7":1.3027,"14.0-14.4":7.70203,"14.5-14.6":1.45497},E:{"4":0,"8":0.02798,"13":0.53158,"14":1.46885,_:"0 5 6 7 9 10 11 12 3.1 3.2 5.1 6.1 7.1","9.1":0.00933,"10.1":0.0373,"11.1":0.00933,"12.1":0.0373,"13.1":0.11191,"14.1":1.11446},B:{"12":0.22382,"13":0.12124,"14":0.02798,"17":0.11191,"18":0.429,"80":0.0373,"84":0.00933,"86":0.08393,"87":0.02798,"89":0.83468,"90":5.5583,"91":1.45952,_:"15 16 79 81 83 85 88"},P:{"4":0.01055,"5.0-5.4":0.06167,"6.2-6.4":0.0925,"7.2-7.4":0.21726,"8.2":0.02014,"9.2":0.1161,"10.1":0.03104,"11.1-11.2":0.58971,"12.0":0.05173,"13.0":2.7623,"14.0":1.53116},I:{"0":0,"3":0,"4":0,"2.1":0,"2.2":0,"2.3":0,"4.1":0,"4.2-4.3":0,"4.4":0,"4.4.3-4.4.4":0.04804},K:{_:"0 10 11 12 11.1 11.5 12.1"},A:{"11":0.4663,_:"6 7 8 9 10 5.5"},J:{"7":0,"10":0},N:{"10":0.02735,"11":0.35567},S:{"2.5":0},R:{_:"0"},M:{"0":0.24021},Q:{"10.4":0},O:{"0":0},H:{"0":0.31838},L:{"0":27.49676}}; diff --git a/tools/node_modules/@babel/core/node_modules/caniuse-lite/data/regions/FM.js b/tools/node_modules/@babel/core/node_modules/caniuse-lite/data/regions/FM.js new file mode 100644 index 00000000000000..cfbd2757d9fba8 --- /dev/null +++ b/tools/node_modules/@babel/core/node_modules/caniuse-lite/data/regions/FM.js @@ -0,0 +1 @@ +module.exports={C:{"47":0.10847,"48":0.00943,"52":0.00472,"57":0.01415,"72":0.02358,"77":0.00943,"78":0.03301,"80":0.00472,"82":0.33012,"83":0.04244,"85":0.00943,"86":0.06131,"87":0.20279,"88":3.56058,"89":0.18864,_:"2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 49 50 51 53 54 55 56 58 59 60 61 62 63 64 65 66 67 68 69 70 71 73 74 75 76 79 81 84 90 91 3.5 3.6"},D:{"23":0.01415,"49":0.06602,"54":0.00943,"60":0.06131,"62":0.00472,"65":0.00943,"67":0.00472,"69":0.0283,"70":0.00472,"71":0.03773,"72":0.01415,"76":0.0896,"78":0.00472,"79":0.03773,"80":0.00472,"81":0.00472,"84":0.16034,"86":0.00472,"87":0.01415,"88":0.02358,"89":0.36313,"90":20.8966,"91":1.24031,_:"4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 50 51 52 53 55 56 57 58 59 61 63 64 66 68 73 74 75 77 83 85 92 93 94"},F:{"75":0.39614,"76":1.60816,_:"9 11 12 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 60 62 63 64 65 66 67 68 69 70 71 72 73 74 9.5-9.6 10.5 10.6 11.1 11.5 11.6 12.1","10.0-10.1":0},G:{"8":0,"3.2":0,"4.0-4.1":0,"4.2-4.3":0,"5.0-5.1":0,"6.0-6.1":0.06757,"7.0-7.1":0,"8.1-8.4":0,"9.0-9.2":0,"9.3":2.80481,"10.0-10.2":0.00431,"10.3":0.04313,"11.0-11.2":0.02013,"11.3-11.4":0.01006,"12.0-12.1":0.00431,"12.2-12.4":0.30621,"13.0-13.1":0.00431,"13.2":0,"13.3":0.12651,"13.4-13.7":0.32059,"14.0-14.4":8.03347,"14.5-14.6":0.22283},E:{"4":0,"11":0.01415,"12":0.0283,"13":0.12262,"14":0.8536,_:"0 5 6 7 8 9 10 3.1 3.2 5.1 6.1 7.1 9.1 10.1","11.1":0.01415,"12.1":0.09432,"13.1":0.40086,"14.1":0.0283},B:{"12":0.00943,"14":0.03301,"15":0.00472,"16":0.04244,"18":0.17921,"84":0.02358,"85":0.00472,"87":0.00472,"88":0.12733,"89":0.14148,"90":8.20584,"91":0.39143,_:"13 17 79 80 81 83 86"},P:{"4":0.1489,"5.0-5.4":0.04006,"6.2-6.4":0.08011,"7.2-7.4":0.13373,"8.2":0.01114,"9.2":0.03343,"10.1":0.02065,"11.1-11.2":0.53493,"12.0":0.03191,"13.0":0.33433,"14.0":0.79125},I:{"0":0,"3":0,"4":0,"2.1":0,"2.2":0,"2.3":0,"4.1":0,"4.2-4.3":0.0083,"4.4":0,"4.4.3-4.4.4":0.04982},K:{_:"0 10 11 12 11.1 11.5 12.1"},A:{"11":0.30182,_:"6 7 8 9 10 5.5"},J:{"7":0,"10":0},N:{_:"10 11"},S:{"2.5":0},R:{_:"0"},M:{"0":0.12682},Q:{"10.4":0},O:{"0":0.77146},H:{"0":0.09505},L:{"0":44.18708}}; diff --git a/tools/node_modules/@babel/core/node_modules/caniuse-lite/data/regions/FO.js b/tools/node_modules/@babel/core/node_modules/caniuse-lite/data/regions/FO.js new file mode 100644 index 00000000000000..d3b411bd837646 --- /dev/null +++ b/tools/node_modules/@babel/core/node_modules/caniuse-lite/data/regions/FO.js @@ -0,0 +1 @@ +module.exports={C:{"48":0.00603,"52":0.01207,"73":0.02413,"78":0.6938,"79":0.01207,"83":0.07843,"84":0.00603,"85":0.01207,"86":0.02413,"87":0.01207,"88":2.70882,_:"2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 49 50 51 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 74 75 76 77 80 81 82 89 90 91 3.5 3.6"},D:{"49":0.0543,"53":0.0543,"61":0.0181,"63":0.01207,"67":0.01207,"71":0.19306,"75":0.15083,"76":0.01207,"79":0.0362,"80":0.03017,"81":0.0181,"85":0.12669,"86":0.0362,"87":0.18702,"88":0.12066,"89":3.87319,"90":35.92652,"91":0.83255,_:"4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 50 51 52 54 55 56 57 58 59 60 62 64 65 66 68 69 70 72 73 74 77 78 83 84 92 93 94"},F:{"73":0.07843,"75":0.21116,"76":0.0543,_:"9 11 12 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 60 62 63 64 65 66 67 68 69 70 71 72 74 9.5-9.6 10.5 10.6 11.1 11.5 11.6 12.1","10.0-10.1":0},G:{"8":0,"3.2":0,"4.0-4.1":0,"4.2-4.3":0,"5.0-5.1":0,"6.0-6.1":0,"7.0-7.1":0,"8.1-8.4":0,"9.0-9.2":0,"9.3":0.32776,"10.0-10.2":0.03557,"10.3":0.24392,"11.0-11.2":0.14482,"11.3-11.4":0.19564,"12.0-12.1":0.08639,"12.2-12.4":0.33284,"13.0-13.1":0.04319,"13.2":0.20834,"13.3":0.36587,"13.4-13.7":1.75823,"14.0-14.4":18.88567,"14.5-14.6":1.88781},E:{"4":0,"11":0.01207,"12":0.03017,"13":0.13273,"14":4.67558,_:"0 5 6 7 8 9 10 3.1 3.2 5.1 6.1 7.1 9.1","10.1":0.20512,"11.1":0.10256,"12.1":0.20512,"13.1":0.88685,"14.1":1.49618},B:{"14":0.0181,"18":0.08446,"85":0.01207,"88":0.0905,"89":0.0543,"90":4.40409,"91":0.27752,_:"12 13 15 16 17 79 80 81 83 84 86 87"},P:{"4":0.01055,"5.0-5.4":0.06167,"6.2-6.4":0.0925,"7.2-7.4":0.26724,"8.2":0.02014,"9.2":0.1161,"10.1":0.01028,"11.1-11.2":0.17473,"12.0":0.10278,"13.0":1.0449,"14.0":2.87082},I:{"0":0,"3":0,"4":0,"2.1":0,"2.2":0,"2.3":0,"4.1":0,"4.2-4.3":0.00123,"4.4":0,"4.4.3-4.4.4":0.01067},K:{_:"0 10 11 12 11.1 11.5 12.1"},A:{"11":0.91702,_:"6 7 8 9 10 5.5"},J:{"7":0,"10":0},N:{"10":0.02735,"11":0.35567},S:{"2.5":0},R:{_:"0"},M:{"0":0.19835},Q:{"10.4":0},O:{"0":0},H:{"0":0.01127},L:{"0":11.13668}}; diff --git a/tools/node_modules/@babel/core/node_modules/caniuse-lite/data/regions/FR.js b/tools/node_modules/@babel/core/node_modules/caniuse-lite/data/regions/FR.js new file mode 100644 index 00000000000000..b337db1e82b1c0 --- /dev/null +++ b/tools/node_modules/@babel/core/node_modules/caniuse-lite/data/regions/FR.js @@ -0,0 +1 @@ +module.exports={C:{"11":0.02078,"12":0.00519,"38":0.00519,"45":0.02078,"48":0.05194,"50":0.00519,"52":0.15063,"54":0.00519,"55":0.00519,"56":0.03636,"59":0.02078,"60":0.03636,"61":0.00519,"62":0.01039,"63":0.01039,"65":0.01039,"66":0.01039,"68":0.07272,"69":0.00519,"70":0.01039,"71":0.00519,"72":0.01558,"74":0.00519,"75":0.01039,"76":0.00519,"77":0.01039,"78":0.54018,"79":0.02078,"80":0.02078,"81":0.09869,"82":0.04155,"83":0.02597,"84":0.05713,"85":0.04155,"86":0.06233,"87":0.12985,"88":5.9731,"89":0.02597,_:"2 3 4 5 6 7 8 9 10 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 39 40 41 42 43 44 46 47 49 51 53 57 58 64 67 73 90 91 3.5 3.6"},D:{"38":0.00519,"44":0.00519,"48":0.00519,"49":0.48824,"51":0.00519,"52":0.03116,"53":0.01039,"54":0.20776,"56":0.01039,"57":0.00519,"58":0.02078,"59":0.00519,"60":0.0831,"61":0.10907,"63":0.02078,"64":0.06233,"65":0.02078,"66":0.06752,"67":0.03116,"68":0.01039,"69":0.02078,"70":0.05713,"71":0.03116,"72":0.06233,"73":0.01039,"74":0.02597,"75":0.0831,"76":0.02597,"77":0.02078,"78":0.05194,"79":0.14024,"80":0.12466,"81":0.07272,"83":0.18179,"84":0.20776,"85":0.29606,"86":0.36358,"87":0.46746,"88":0.29086,"89":1.00244,"90":23.96512,"91":0.63886,"92":0.01039,_:"4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 39 40 41 42 43 45 46 47 50 55 62 93 94"},F:{"36":0.00519,"68":0.00519,"69":0.00519,"70":0.00519,"71":0.01039,"72":0.00519,"73":0.11427,"74":0.00519,"75":0.49343,"76":0.44668,_:"9 11 12 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 60 62 63 64 65 66 67 10.5 10.6 11.1 11.5 11.6 12.1","9.5-9.6":0.00519,"10.0-10.1":0},G:{"8":0.01395,"3.2":0,"4.0-4.1":0,"4.2-4.3":0,"5.0-5.1":0.00465,"6.0-6.1":0.0062,"7.0-7.1":0.02325,"8.1-8.4":0.031,"9.0-9.2":0.062,"9.3":0.36115,"10.0-10.2":0.0434,"10.3":0.2201,"11.0-11.2":0.0775,"11.3-11.4":0.09455,"12.0-12.1":0.0744,"12.2-12.4":0.27435,"13.0-13.1":0.0837,"13.2":0.03255,"13.3":0.21235,"13.4-13.7":0.67114,"14.0-14.4":10.71194,"14.5-14.6":1.74838},E:{"4":0,"11":0.01558,"12":0.03116,"13":0.16101,"14":3.03849,_:"0 5 6 7 8 9 10 3.1 3.2 6.1 7.1","5.1":0.00519,"9.1":0.01039,"10.1":0.05194,"11.1":0.16101,"12.1":0.21815,"13.1":0.75313,"14.1":1.07516},B:{"14":0.00519,"15":0.01039,"16":0.01558,"17":0.03116,"18":0.20257,"80":0.00519,"83":0.00519,"84":0.02078,"85":0.02078,"86":0.02597,"87":0.02597,"88":0.02597,"89":0.12466,"90":4.47723,"91":0.18179,_:"12 13 79 81"},P:{"4":0.09456,"5.0-5.4":0.02101,"6.2-6.4":0.0417,"7.2-7.4":0.03152,"8.2":0.01051,"9.2":0.06304,"10.1":0.04203,"11.1-11.2":0.1471,"12.0":0.11558,"13.0":0.49383,"14.0":2.92093},I:{"0":0,"3":0,"4":0.00159,"2.1":0,"2.2":0,"2.3":0,"4.1":0.00318,"4.2-4.3":0.00529,"4.4":0,"4.4.3-4.4.4":0.05241},K:{_:"0 10 11 12 11.1 11.5 12.1"},A:{"6":0.02886,"8":0.01731,"9":0.02308,"10":0.01154,"11":0.75024,_:"7 5.5"},J:{"7":0,"10":0},N:{_:"10 11"},S:{"2.5":0},R:{_:"0"},M:{"0":0.5766},Q:{"10.4":0.00961},O:{"0":0.74958},H:{"0":0.45036},L:{"0":28.94423}}; diff --git a/tools/node_modules/@babel/core/node_modules/caniuse-lite/data/regions/GA.js b/tools/node_modules/@babel/core/node_modules/caniuse-lite/data/regions/GA.js new file mode 100644 index 00000000000000..dc2b30a7740c7b --- /dev/null +++ b/tools/node_modules/@babel/core/node_modules/caniuse-lite/data/regions/GA.js @@ -0,0 +1 @@ +module.exports={C:{"29":0.00749,"34":0.00374,"47":0.02994,"48":0.01123,"51":0.00374,"52":0.0524,"54":0.1048,"66":0.00374,"72":0.02246,"75":0.00374,"78":0.11978,"84":0.00749,"85":0.00749,"86":0.01872,"87":0.01872,"88":3.24892,"89":0.00374,_:"2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 30 31 32 33 35 36 37 38 39 40 41 42 43 44 45 46 49 50 53 55 56 57 58 59 60 61 62 63 64 65 67 68 69 70 71 73 74 76 77 79 80 81 82 83 90 91 3.5 3.6"},D:{"11":0.01123,"22":0.06363,"30":0.03369,"34":0.00749,"38":0.00749,"46":0.02994,"49":0.07486,"50":0.00374,"53":0.05989,"55":0.00374,"58":0.00749,"62":0.00374,"63":0.0262,"65":0.01123,"69":0.98067,"74":0.02994,"75":0.01497,"76":0.03369,"77":0.00749,"78":0.04117,"79":0.22832,"80":0.0262,"81":0.06737,"83":0.05989,"84":0.01123,"85":0.08983,"86":0.03369,"87":0.33313,"88":0.4529,"89":0.52028,"90":16.33071,"91":0.45665,"92":0.00749,_:"4 5 6 7 8 9 10 12 13 14 15 16 17 18 19 20 21 23 24 25 26 27 28 29 31 32 33 35 36 37 39 40 41 42 43 44 45 47 48 51 52 54 56 57 59 60 61 64 66 67 68 70 71 72 73 93 94"},F:{"68":0.00749,"72":0.00749,"73":0.0262,"74":0.01123,"75":0.84218,"76":2.13725,_:"9 11 12 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 60 62 63 64 65 66 67 69 70 71 9.5-9.6 10.5 10.6 11.1 11.5 11.6 12.1","10.0-10.1":0},G:{"8":0,"3.2":0,"4.0-4.1":0,"4.2-4.3":0.00306,"5.0-5.1":0.0441,"6.0-6.1":0.00061,"7.0-7.1":0.06921,"8.1-8.4":0,"9.0-9.2":0.00306,"9.3":0.02756,"10.0-10.2":0.00184,"10.3":0.03369,"11.0-11.2":0.14148,"11.3-11.4":0.0294,"12.0-12.1":0.02634,"12.2-12.4":0.18925,"13.0-13.1":0.74353,"13.2":0.00306,"13.3":0.0343,"13.4-13.7":0.15189,"14.0-14.4":2.62684,"14.5-14.6":1.07119},E:{"4":0,"10":0.00749,"13":0.25078,"14":0.34436,_:"0 5 6 7 8 9 11 12 3.1 3.2 6.1 7.1 9.1","5.1":0.00374,"10.1":0.00749,"11.1":0.05615,"12.1":0.0262,"13.1":0.0524,"14.1":0.23581},B:{"12":0.02246,"13":0.02246,"14":0.00749,"15":0.01497,"16":0.01123,"17":0.01497,"18":0.11229,"84":0.01497,"85":0.01123,"87":0.00749,"88":0.00749,"89":0.78229,"90":2.96446,"91":0.13849,_:"79 80 81 83 86"},P:{"4":0.48683,"5.0-5.4":0.02028,"6.2-6.4":0.03043,"7.2-7.4":0.43612,"8.2":0.0105,"9.2":0.03043,"10.1":0.04057,"11.1-11.2":0.16228,"12.0":0.25356,"13.0":1.18665,"14.0":2.05888},I:{"0":0,"3":0,"4":0,"2.1":0,"2.2":0,"2.3":0,"4.1":0.00548,"4.2-4.3":0.02924,"4.4":0,"4.4.3-4.4.4":0.54101},K:{_:"0 10 11 12 11.1 11.5 12.1"},A:{"11":0.29944,_:"6 7 8 9 10 5.5"},J:{"7":0,"10":0.03129},N:{"10":0.02735,"11":0.02361},S:{"2.5":0.01877},R:{_:"0"},M:{"0":0.60077},Q:{"10.4":0.36296},O:{"0":0.73844},H:{"0":2.39357},L:{"0":52.4608}}; diff --git a/tools/node_modules/@babel/core/node_modules/caniuse-lite/data/regions/GB.js b/tools/node_modules/@babel/core/node_modules/caniuse-lite/data/regions/GB.js new file mode 100644 index 00000000000000..909136c7e525c2 --- /dev/null +++ b/tools/node_modules/@babel/core/node_modules/caniuse-lite/data/regions/GB.js @@ -0,0 +1 @@ +module.exports={C:{"43":0.00474,"48":0.00948,"52":0.03317,"56":0.00474,"59":0.01421,"68":0.00474,"72":0.00474,"78":0.22269,"81":0.00948,"82":0.0379,"83":0.00474,"84":0.02369,"85":0.01421,"86":0.02369,"87":0.05212,"88":1.99944,"89":0.01421,_:"2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 44 45 46 47 49 50 51 53 54 55 57 58 60 61 62 63 64 65 66 67 69 70 71 73 74 75 76 77 79 80 90 91 3.5 3.6"},D:{"38":0.00948,"40":0.21321,"49":0.21795,"53":0.01421,"58":0.00474,"59":0.00474,"60":0.02843,"61":0.06159,"63":0.01421,"64":0.01895,"65":0.02369,"66":0.06159,"67":0.01895,"68":0.00948,"69":0.06633,"70":0.02843,"71":0.05212,"72":0.05212,"73":0.00948,"74":0.0379,"75":0.0379,"76":0.08055,"77":0.02843,"78":0.03317,"79":0.08055,"80":0.08055,"81":0.04738,"83":0.0995,"84":0.06633,"85":0.06633,"86":0.10424,"87":0.46432,"88":0.29376,"89":1.19871,"90":22.73292,"91":0.45485,"92":0.00948,_:"4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 39 41 42 43 44 45 46 47 48 50 51 52 54 55 56 57 62 93 94"},F:{"36":0.00948,"42":0.00474,"43":0.00474,"56":0.00474,"71":0.00474,"73":0.09002,"74":0.00948,"75":0.3364,"76":0.2748,_:"9 11 12 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 37 38 39 40 41 44 45 46 47 48 49 50 51 52 53 54 55 57 58 60 62 63 64 65 66 67 68 69 70 72 9.5-9.6 10.5 10.6 11.1 11.5 11.6","10.0-10.1":0,"12.1":0.00948},G:{"8":0,"3.2":0,"4.0-4.1":0,"4.2-4.3":0,"5.0-5.1":0.008,"6.0-6.1":0.01067,"7.0-7.1":0.02134,"8.1-8.4":0.02667,"9.0-9.2":0.016,"9.3":0.42145,"10.0-10.2":0.02667,"10.3":0.41611,"11.0-11.2":0.06402,"11.3-11.4":0.10403,"12.0-12.1":0.07469,"12.2-12.4":0.30141,"13.0-13.1":0.05868,"13.2":0.02134,"13.3":0.19472,"13.4-13.7":0.74153,"14.0-14.4":19.69598,"14.5-14.6":2.87011},E:{"4":0,"11":0.00948,"12":0.02369,"13":0.16583,"14":5.40606,_:"0 5 6 7 8 9 10 3.1 3.2 5.1 6.1 7.1","9.1":0.00948,"10.1":0.03317,"11.1":0.11845,"12.1":0.17057,"13.1":0.78651,"14.1":1.5209},B:{"14":0.01421,"15":0.00948,"16":0.01421,"17":0.03317,"18":0.24164,"80":0.00948,"84":0.00948,"85":0.01421,"86":0.00948,"87":0.01421,"88":0.01895,"89":0.14214,"90":5.95093,"91":0.09002,_:"12 13 79 81 83"},P:{"4":0.03266,"5.0-5.4":0.01052,"6.2-6.4":0.09153,"7.2-7.4":0.03085,"8.2":0.02034,"9.2":0.02178,"10.1":0.01089,"11.1-11.2":0.13065,"12.0":0.0871,"13.0":0.3593,"14.0":4.0829},I:{"0":0,"3":0,"4":0.01358,"2.1":0,"2.2":0,"2.3":0,"4.1":0.00145,"4.2-4.3":0.00412,"4.4":0,"4.4.3-4.4.4":0.03346},K:{_:"0 10 11 12 11.1 11.5 12.1"},A:{"8":0.01027,"11":0.66252,_:"6 7 9 10 5.5"},J:{"7":0,"10":0},N:{"10":0.01297,"11":0.01825},S:{"2.5":0},R:{_:"0"},M:{"0":0.35782},Q:{"10.4":0.01052},O:{"0":0.21048},H:{"0":0.21421},L:{"0":22.88442}}; diff --git a/tools/node_modules/@babel/core/node_modules/caniuse-lite/data/regions/GD.js b/tools/node_modules/@babel/core/node_modules/caniuse-lite/data/regions/GD.js new file mode 100644 index 00000000000000..e9bc214858093b --- /dev/null +++ b/tools/node_modules/@babel/core/node_modules/caniuse-lite/data/regions/GD.js @@ -0,0 +1 @@ +module.exports={C:{"17":0.00885,"47":0.00885,"60":0.00885,"78":0.11948,"86":0.12833,"87":0.01328,"88":1.99568,"89":0.00885,_:"2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 48 49 50 51 52 53 54 55 56 57 58 59 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 79 80 81 82 83 84 85 90 91 3.5 3.6"},D:{"25":0.01328,"34":0.01328,"49":0.01328,"50":0.07523,"53":0.0531,"70":0.00885,"72":0.00443,"73":0.11505,"74":0.27878,"75":0.00885,"76":0.07523,"77":0.0177,"79":0.0177,"81":0.09735,"83":0.02213,"84":0.01328,"85":0.0177,"86":0.02213,"87":0.07965,"88":0.2478,"89":1.0089,"90":23.32418,"91":0.59295,"92":0.29648,_:"4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 26 27 28 29 30 31 32 33 35 36 37 38 39 40 41 42 43 44 45 46 47 48 51 52 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 71 78 80 93 94"},F:{"73":0.0177,"75":0.2832,"76":1.07528,_:"9 11 12 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 60 62 63 64 65 66 67 68 69 70 71 72 74 9.5-9.6 10.5 10.6 11.1 11.5 11.6 12.1","10.0-10.1":0},G:{"8":0,"3.2":0,"4.0-4.1":0,"4.2-4.3":0,"5.0-5.1":0.02869,"6.0-6.1":0,"7.0-7.1":0.03187,"8.1-8.4":0.01275,"9.0-9.2":0.02231,"9.3":0.15061,"10.0-10.2":0.00319,"10.3":0.15379,"11.0-11.2":0.01275,"11.3-11.4":0.01275,"12.0-12.1":0,"12.2-12.4":0.08208,"13.0-13.1":0.00478,"13.2":0.00239,"13.3":0.02709,"13.4-13.7":0.15778,"14.0-14.4":5.78204,"14.5-14.6":0.82396},E:{"4":0,"10":0.16373,"12":0.00885,"13":0.03983,"14":1.84965,_:"0 5 6 7 8 9 11 3.1 3.2 6.1 7.1 9.1","5.1":0.0885,"10.1":0.00885,"11.1":0.0354,"12.1":0.00443,"13.1":0.50888,"14.1":0.4248},B:{"13":0.01328,"16":0.00885,"17":0.01328,"18":0.04425,"83":0.00885,"84":0.0177,"85":0.00885,"86":0.00885,"87":0.1062,"88":0.0708,"89":0.42923,"90":7.40745,"91":0.3009,_:"12 14 15 79 80 81"},P:{"4":0.03247,"5.0-5.4":0.0609,"6.2-6.4":0.0812,"7.2-7.4":1.22313,"8.2":0.0105,"9.2":0.03247,"10.1":0.03247,"11.1-11.2":0.40049,"12.0":0.15154,"13.0":0.43297,"14.0":2.69522},I:{"0":0,"3":0,"4":0.00283,"2.1":0,"2.2":0,"2.3":0,"4.1":0,"4.2-4.3":0.00118,"4.4":0,"4.4.3-4.4.4":0.02945},K:{_:"0 10 11 12 11.1 11.5 12.1"},A:{"9":0.04568,"10":0.04568,"11":0.26265,_:"6 7 8 5.5"},J:{"7":0,"10":0},N:{"10":0.02735,"11":0.02361},S:{"2.5":0},R:{_:"0"},M:{"0":0.05575},Q:{"10.4":0},O:{"0":0.05575},H:{"0":0.22696},L:{"0":44.74175}}; diff --git a/tools/node_modules/@babel/core/node_modules/caniuse-lite/data/regions/GE.js b/tools/node_modules/@babel/core/node_modules/caniuse-lite/data/regions/GE.js new file mode 100644 index 00000000000000..5aaae2cb777f2b --- /dev/null +++ b/tools/node_modules/@babel/core/node_modules/caniuse-lite/data/regions/GE.js @@ -0,0 +1 @@ +module.exports={C:{"34":0.00884,"52":0.01326,"65":0.00442,"78":0.01768,"81":0.01768,"84":0.00884,"85":0.00442,"86":0.00442,"87":0.01326,"88":1.38757,"89":0.04419,_:"2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 53 54 55 56 57 58 59 60 61 62 63 64 66 67 68 69 70 71 72 73 74 75 76 77 79 80 82 83 90 91 3.5 3.6"},D:{"38":0.00884,"39":0.01326,"41":0.00884,"47":0.01326,"49":0.29165,"50":0.00884,"53":0.02651,"56":0.01768,"59":0.02651,"61":0.00442,"62":0.01326,"63":0.01326,"64":0.00884,"65":0.01326,"66":0.00884,"67":0.00884,"68":0.03535,"69":0.00442,"70":0.01326,"71":0.03093,"72":0.01768,"73":0.00884,"74":0.01326,"75":0.01768,"76":0.0221,"77":0.01326,"78":0.01326,"79":0.14583,"80":0.05745,"81":0.03977,"83":0.05303,"84":0.05745,"85":0.05745,"86":0.17234,"87":0.34468,"88":0.2563,"89":0.65401,"90":28.35672,"91":1.11801,"92":0.06187,_:"4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 40 42 43 44 45 46 48 51 52 54 55 57 58 60 93 94"},F:{"28":0.00442,"36":0.00884,"40":0.00442,"45":0.00442,"46":0.05745,"48":0.0221,"56":0.00442,"57":0.00884,"60":0.0221,"67":0.01326,"72":0.00884,"73":0.19444,"74":0.02651,"75":1.59526,"76":2.46138,_:"9 11 12 15 16 17 18 19 20 21 22 23 24 25 26 27 29 30 31 32 33 34 35 37 38 39 41 42 43 44 47 49 50 51 52 53 54 55 58 62 63 64 65 66 68 69 70 71 9.5-9.6 10.5 10.6 11.1 11.5 11.6 12.1","10.0-10.1":0},G:{"8":0,"3.2":0,"4.0-4.1":0,"4.2-4.3":0,"5.0-5.1":0.05882,"6.0-6.1":0.00735,"7.0-7.1":0.17794,"8.1-8.4":0.01912,"9.0-9.2":0.00147,"9.3":0.20736,"10.0-10.2":0.02794,"10.3":0.17353,"11.0-11.2":0.10588,"11.3-11.4":0.09412,"12.0-12.1":0.06618,"12.2-12.4":0.45736,"13.0-13.1":0.06324,"13.2":0.02206,"13.3":0.24706,"13.4-13.7":0.60589,"14.0-14.4":9.30892,"14.5-14.6":1.86178},E:{"4":0,"13":0.02651,"14":0.54796,_:"0 5 6 7 8 9 10 11 12 3.1 3.2 6.1 7.1 10.1","5.1":0.05303,"9.1":0.03535,"11.1":0.01326,"12.1":0.04419,"13.1":0.08838,"14.1":0.17234},B:{"12":0.00884,"13":0.07512,"14":0.12815,"16":0.09722,"17":0.00884,"18":0.26514,"84":0.01768,"85":0.01768,"86":0.01768,"87":0.01326,"88":0.01326,"89":0.04419,"90":2.07251,"91":0.14141,_:"15 79 80 81 83"},P:{"4":0.32246,"5.0-5.4":0.02101,"6.2-6.4":0.0417,"7.2-7.4":0.07281,"8.2":0.01051,"9.2":0.04161,"10.1":0.0208,"11.1-11.2":0.15603,"12.0":0.10402,"13.0":0.32246,"14.0":1.40427},I:{"0":0,"3":0,"4":0,"2.1":0,"2.2":0,"2.3":0,"4.1":0.00281,"4.2-4.3":0.01498,"4.4":0,"4.4.3-4.4.4":0.05477},K:{_:"0 10 11 12 11.1 11.5 12.1"},A:{"8":0.00884,"11":0.1635,_:"6 7 9 10 5.5"},J:{"7":0,"10":0},N:{_:"10 11"},S:{"2.5":0},R:{_:"0"},M:{"0":0.10604},Q:{"10.4":0},O:{"0":0.34602},H:{"0":0.42798},L:{"0":39.90203}}; diff --git a/tools/node_modules/@babel/core/node_modules/caniuse-lite/data/regions/GF.js b/tools/node_modules/@babel/core/node_modules/caniuse-lite/data/regions/GF.js new file mode 100644 index 00000000000000..93c010c946b46e --- /dev/null +++ b/tools/node_modules/@babel/core/node_modules/caniuse-lite/data/regions/GF.js @@ -0,0 +1 @@ +module.exports={C:{"49":0.03354,"51":0.00479,"52":0.00958,"60":0.03354,"68":0.00958,"72":0.02875,"74":0.00958,"78":0.20601,"79":0.00958,"81":0.00958,"84":0.01916,"85":0.08624,"86":0.03833,"87":0.03833,"88":6.26184,"89":0.06707,_:"2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 50 53 54 55 56 57 58 59 61 62 63 64 65 66 67 69 70 71 73 75 76 77 80 82 83 90 91 3.5 3.6"},D:{"47":0.00479,"49":0.36891,"51":0.00479,"57":0.29704,"63":0.14852,"67":0.01916,"69":0.05749,"70":0.01437,"76":0.11978,"78":0.07187,"80":0.00958,"81":0.00958,"83":0.01916,"84":0.02875,"85":0.01437,"86":0.02875,"87":0.10061,"88":2.72608,"89":0.64679,"90":17.95188,"91":0.44556,_:"4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 48 50 52 53 54 55 56 58 59 60 61 62 64 65 66 68 71 72 73 74 75 77 79 92 93 94"},F:{"40":0.01437,"73":0.04791,"75":0.50306,"76":0.37849,_:"9 11 12 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 60 62 63 64 65 66 67 68 69 70 71 72 74 9.5-9.6 10.5 10.6 11.1 11.5 11.6 12.1","10.0-10.1":0},G:{"8":0,"3.2":0,"4.0-4.1":0,"4.2-4.3":0,"5.0-5.1":0,"6.0-6.1":0.00751,"7.0-7.1":0.00644,"8.1-8.4":0,"9.0-9.2":0.00215,"9.3":0.18458,"10.0-10.2":0.00322,"10.3":0.91538,"11.0-11.2":0.26614,"11.3-11.4":0.02468,"12.0-12.1":0.07512,"12.2-12.4":0.12878,"13.0-13.1":0.11375,"13.2":0.00429,"13.3":0.19424,"13.4-13.7":0.35092,"14.0-14.4":6.81011,"14.5-14.6":1.36395},E:{"4":0,"12":0.00479,"13":0.09103,"14":2.48174,_:"0 5 6 7 8 9 10 11 3.1 3.2 5.1 6.1 7.1","9.1":0.00958,"10.1":0.04791,"11.1":0.1054,"12.1":0.29704,"13.1":0.321,"14.1":1.80621},B:{"13":0.00479,"14":0.00958,"15":0.00479,"16":0.01916,"17":0.01437,"18":0.11019,"80":0.00958,"84":0.01437,"86":0.01916,"87":0.00958,"88":0.01916,"89":0.09103,"90":6.9182,"91":0.2683,_:"12 79 81 83 85"},P:{"4":0.13653,"5.0-5.4":0.06167,"6.2-6.4":0.07158,"7.2-7.4":0.15753,"8.2":0.0105,"9.2":0.0105,"10.1":0.04201,"11.1-11.2":0.22054,"12.0":0.07351,"13.0":0.5041,"14.0":2.84605},I:{"0":0,"3":0,"4":0.00039,"2.1":0,"2.2":0,"2.3":0,"4.1":0.00016,"4.2-4.3":0.00071,"4.4":0,"4.4.3-4.4.4":0.00916},K:{_:"0 10 11 12 11.1 11.5 12.1"},A:{"11":0.46952,_:"6 7 8 9 10 5.5"},J:{"7":0,"10":0},N:{"10":0.02735,"11":0.02361},S:{"2.5":0},R:{_:"0"},M:{"0":0.69814},Q:{"10.4":0.01042},O:{"0":0.07815},H:{"0":0.05919},L:{"0":39.63864}}; diff --git a/tools/node_modules/@babel/core/node_modules/caniuse-lite/data/regions/GG.js b/tools/node_modules/@babel/core/node_modules/caniuse-lite/data/regions/GG.js new file mode 100644 index 00000000000000..f2b692fb9e15dc --- /dev/null +++ b/tools/node_modules/@babel/core/node_modules/caniuse-lite/data/regions/GG.js @@ -0,0 +1 @@ +module.exports={C:{"45":0.02178,"50":0.00545,"52":0.0599,"73":0.07079,"78":0.0599,"83":0.01634,"86":0.02178,"87":0.02178,"88":1.87853,"90":0.02178,_:"2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 46 47 48 49 51 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 74 75 76 77 79 80 81 82 84 85 89 91 3.5 3.6"},D:{"49":0.07079,"63":0.00545,"65":0.02723,"67":0.01634,"69":0.01634,"74":0.02178,"75":0.01089,"76":0.27225,"77":0.05445,"79":0.02178,"81":0.01634,"84":0.01634,"85":0.06534,"86":0.01089,"87":0.07623,"88":0.51728,"89":1.13256,"90":20.81079,"91":0.69696,"92":0.00545,_:"4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 50 51 52 53 54 55 56 57 58 59 60 61 62 64 66 68 70 71 72 73 78 80 83 93 94"},F:{"73":0.01089,"75":0.07623,"76":0.10346,_:"9 11 12 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 60 62 63 64 65 66 67 68 69 70 71 72 74 9.5-9.6 10.5 10.6 11.1 11.5 11.6 12.1","10.0-10.1":0},G:{"8":0.03925,"3.2":0,"4.0-4.1":0,"4.2-4.3":0,"5.0-5.1":0.03084,"6.0-6.1":0,"7.0-7.1":0,"8.1-8.4":0.17383,"9.0-9.2":0.0028,"9.3":1.16914,"10.0-10.2":0.00561,"10.3":0.93363,"11.0-11.2":0.06448,"11.3-11.4":0.03925,"12.0-12.1":0.11495,"12.2-12.4":0.35046,"13.0-13.1":0.05327,"13.2":0.00561,"13.3":0.21869,"13.4-13.7":0.85513,"14.0-14.4":18.56324,"14.5-14.6":2.9607},E:{"4":0,"11":0.2178,"12":0.07079,"13":0.03812,"14":11.8701,_:"0 5 6 7 8 9 10 3.1 3.2 5.1 6.1 7.1","9.1":0.07079,"10.1":0.0599,"11.1":0.41927,"12.1":0.20691,"13.1":0.97466,"14.1":3.3269},B:{"17":0.06534,"18":0.13068,"80":0.01634,"81":0.01634,"85":0.02178,"87":0.01634,"88":0.01634,"89":0.26681,"90":7.16562,"91":0.31037,_:"12 13 14 15 16 79 83 84 86"},P:{"4":0.01186,"5.0-5.4":0.05166,"6.2-6.4":0.0812,"7.2-7.4":0.031,"8.2":0.0105,"9.2":0.06199,"10.1":0.08266,"11.1-11.2":0.02373,"12.0":0.07233,"13.0":0.18983,"14.0":4.3068},I:{"0":0,"3":0,"4":0,"2.1":0,"2.2":0,"2.3":0,"4.1":0,"4.2-4.3":0,"4.4":0,"4.4.3-4.4.4":0},K:{_:"0 10 11 12 11.1 11.5 12.1"},A:{"11":1.94931,_:"6 7 8 9 10 5.5"},J:{"7":0,"10":0},N:{"10":0.02735,"11":0.02361},S:{"2.5":0},R:{_:"0"},M:{"0":0.27786},Q:{"10.4":0},O:{"0":0},H:{"0":0.02156},L:{"0":15.52621}}; diff --git a/tools/node_modules/@babel/core/node_modules/caniuse-lite/data/regions/GH.js b/tools/node_modules/@babel/core/node_modules/caniuse-lite/data/regions/GH.js new file mode 100644 index 00000000000000..1a15f72ab53c28 --- /dev/null +++ b/tools/node_modules/@babel/core/node_modules/caniuse-lite/data/regions/GH.js @@ -0,0 +1 @@ +module.exports={C:{"30":0.00547,"31":0.00821,"38":0.00274,"40":0.00274,"41":0.00547,"43":0.00821,"44":0.00547,"45":0.00821,"46":0.00274,"47":0.01915,"48":0.00821,"49":0.00547,"50":0.00274,"51":0.00274,"52":0.01642,"55":0.00274,"56":0.00821,"57":0.00821,"60":0.00274,"61":0.00547,"67":0.00547,"68":0.01094,"69":0.00274,"70":0.00274,"71":0.00821,"72":0.01915,"75":0.00274,"76":0.01368,"77":0.00821,"78":0.04104,"79":0.00821,"80":0.01642,"81":0.01642,"82":0.01094,"83":0.01368,"84":0.04104,"85":0.04104,"86":0.04104,"87":0.0684,"88":1.89331,"89":0.16963,"90":0.00274,_:"2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 32 33 34 35 36 37 39 42 53 54 58 59 62 63 64 65 66 73 74 91 3.5 3.6"},D:{"11":0.00274,"30":0.00274,"31":0.00274,"33":0.00547,"40":0.00821,"43":0.00547,"46":0.00274,"47":0.00274,"49":0.04378,"50":0.01368,"51":0.00274,"52":0.00274,"55":0.00821,"56":0.00274,"57":0.00547,"58":0.00821,"60":0.01094,"61":0.00274,"63":0.01915,"64":0.00821,"65":0.01368,"66":0.00821,"67":0.00821,"68":0.01915,"69":0.01642,"70":0.01094,"71":0.01368,"72":0.0301,"73":0.00821,"74":0.02189,"75":0.01915,"76":0.01915,"77":0.04651,"78":0.03283,"79":0.04925,"80":0.08482,"81":0.04925,"83":0.08208,"84":0.04651,"85":0.04104,"86":0.10397,"87":0.28181,"88":0.20794,"89":0.56088,"90":11.75933,"91":0.29002,"92":0.02189,_:"4 5 6 7 8 9 10 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 32 34 35 36 37 38 39 41 42 44 45 48 53 54 59 62 93 94"},F:{"36":0.00547,"42":0.00821,"62":0.00274,"63":0.00547,"64":0.00547,"72":0.00547,"73":0.02736,"74":0.02736,"75":0.51163,"76":0.81533,_:"9 11 12 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 37 38 39 40 41 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 60 65 66 67 68 69 70 71 9.5-9.6 10.5 10.6 11.1 11.5 11.6 12.1","10.0-10.1":0},G:{"8":0.00611,"3.2":0,"4.0-4.1":0,"4.2-4.3":0.00122,"5.0-5.1":0.00366,"6.0-6.1":0.00611,"7.0-7.1":0.0232,"8.1-8.4":0.01221,"9.0-9.2":0.01099,"9.3":0.07204,"10.0-10.2":0.00855,"10.3":0.30403,"11.0-11.2":0.75947,"11.3-11.4":0.09158,"12.0-12.1":0.0928,"12.2-12.4":0.6215,"13.0-13.1":0.12699,"13.2":0.06593,"13.3":0.30281,"13.4-13.7":0.76191,"14.0-14.4":6.50923,"14.5-14.6":1.3248},E:{"4":0,"11":0.00274,"12":0.00547,"13":0.02189,"14":0.32011,_:"0 5 6 7 8 9 10 3.1 3.2 6.1","5.1":0.04925,"7.1":0.00274,"9.1":0.01094,"10.1":0.00821,"11.1":0.01915,"12.1":0.02462,"13.1":0.07661,"14.1":0.15595},B:{"12":0.04104,"13":0.01642,"14":0.01094,"15":0.01915,"16":0.01915,"17":0.01915,"18":0.12038,"80":0.00547,"81":0.00821,"83":0.00547,"84":0.02736,"85":0.04925,"86":0.01915,"87":0.01368,"88":0.02189,"89":0.11491,"90":1.72642,"91":0.04651,_:"79"},P:{"4":0.25006,"5.0-5.4":0.02084,"6.2-6.4":0.0417,"7.2-7.4":0.12503,"8.2":0.01051,"9.2":0.06252,"10.1":0.01042,"11.1-11.2":0.22922,"12.0":0.11461,"13.0":0.35425,"14.0":0.82311},I:{"0":0,"3":0,"4":0,"2.1":0,"2.2":0,"2.3":0,"4.1":0.00261,"4.2-4.3":0.0108,"4.4":0,"4.4.3-4.4.4":0.05922},K:{_:"0 10 11 12 11.1 11.5 12.1"},A:{"8":0.00666,"9":0.00666,"10":0.00333,"11":0.13656,_:"6 7 5.5"},J:{"7":0,"10":0.02179},N:{_:"10 11"},S:{"2.5":0},R:{_:"0"},M:{"0":0.29052},Q:{"10.4":0.01453},O:{"0":2.74541},H:{"0":14.70119},L:{"0":46.20479}}; diff --git a/tools/node_modules/@babel/core/node_modules/caniuse-lite/data/regions/GI.js b/tools/node_modules/@babel/core/node_modules/caniuse-lite/data/regions/GI.js new file mode 100644 index 00000000000000..b7204d210a95f7 --- /dev/null +++ b/tools/node_modules/@babel/core/node_modules/caniuse-lite/data/regions/GI.js @@ -0,0 +1 @@ +module.exports={C:{"48":0.01373,"56":0.01373,"58":0.00687,"64":0.00687,"75":0.01373,"78":0.03434,"82":0.01373,"84":0.15107,"85":0.01373,"87":0.00687,"88":1.16052,"89":0.01373,_:"2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 49 50 51 52 53 54 55 57 59 60 61 62 63 65 66 67 68 69 70 71 72 73 74 76 77 79 80 81 83 86 90 91 3.5 3.6"},D:{"49":0.00687,"56":0.01373,"60":0.0206,"67":0.01373,"74":0.0618,"76":0.00687,"78":0.01373,"79":0.51503,"80":0.01373,"81":0.0206,"83":0.03434,"84":0.48756,"85":0.04807,"86":0.07554,"87":0.37769,"88":0.11674,"89":11.6327,"90":37.23287,"91":0.85151,_:"4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 50 51 52 53 54 55 57 58 59 61 62 63 64 65 66 68 69 70 71 72 73 75 77 92 93 94"},F:{"36":0.0412,"73":0.02747,"75":0.05494,"76":0.07554,_:"9 11 12 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 60 62 63 64 65 66 67 68 69 70 71 72 74 9.5-9.6 10.5 10.6 11.1 11.5 11.6 12.1","10.0-10.1":0},G:{"8":0,"3.2":0,"4.0-4.1":0,"4.2-4.3":0,"5.0-5.1":0,"6.0-6.1":0.03284,"7.0-7.1":0,"8.1-8.4":0.00448,"9.0-9.2":0,"9.3":0.15974,"10.0-10.2":0.01344,"10.3":0.11794,"11.0-11.2":0.01045,"11.3-11.4":0.04031,"12.0-12.1":0.01791,"12.2-12.4":0.17317,"13.0-13.1":0.03284,"13.2":0.00746,"13.3":0.10599,"13.4-13.7":0.48369,"14.0-14.4":11.12192,"14.5-14.6":1.68546},E:{"4":0,"11":0.0206,"13":0.08927,"14":7.64984,_:"0 5 6 7 8 9 10 12 3.1 3.2 5.1 6.1 7.1 10.1","9.1":0.00687,"11.1":0.12361,"12.1":0.06867,"13.1":0.59056,"14.1":1.04378},B:{"17":0.0206,"18":0.13734,"84":0.04807,"89":0.0824,"90":3.60518,"91":0.21974,_:"12 13 14 15 16 79 80 81 83 85 86 87 88"},P:{"4":0.20679,"5.0-5.4":0.0609,"6.2-6.4":0.0812,"7.2-7.4":0.59883,"8.2":0.0105,"9.2":0.05075,"10.1":0.01088,"11.1-11.2":0.23344,"12.0":0.02177,"13.0":0.11972,"14.0":3.178},I:{"0":0,"3":0,"4":0.00109,"2.1":0,"2.2":0,"2.3":0,"4.1":0,"4.2-4.3":0.00255,"4.4":0,"4.4.3-4.4.4":0.01202},K:{_:"0 10 11 12 11.1 11.5 12.1"},A:{"11":0.24035,_:"6 7 8 9 10 5.5"},J:{"7":0,"10":0},N:{"10":0.02735,"11":0.02361},S:{"2.5":0},R:{_:"0"},M:{"0":0.13785},Q:{"10.4":0},O:{"0":0.18485},H:{"0":0.12161},L:{"0":14.44071}}; diff --git a/tools/node_modules/@babel/core/node_modules/caniuse-lite/data/regions/GL.js b/tools/node_modules/@babel/core/node_modules/caniuse-lite/data/regions/GL.js new file mode 100644 index 00000000000000..84df7b58fa0054 --- /dev/null +++ b/tools/node_modules/@babel/core/node_modules/caniuse-lite/data/regions/GL.js @@ -0,0 +1 @@ +module.exports={C:{"48":0.05101,"59":0.01134,"78":1.24696,"85":0.01134,"86":0.01134,"87":0.03968,"88":5.05586,"89":0.03968,_:"2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 49 50 51 52 53 54 55 56 57 58 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 79 80 81 82 83 84 90 91 3.5 3.6"},D:{"49":0.08502,"62":0.00567,"67":0.08502,"73":0.00567,"74":0.02834,"76":0.02834,"78":0.01134,"79":0.02267,"80":0.09069,"81":0.10769,"83":0.01134,"84":0.017,"86":0.06235,"87":0.15304,"88":0.1247,"89":1.79676,"90":27.24041,"91":0.55546,_:"4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 50 51 52 53 54 55 56 57 58 59 60 61 63 64 65 66 68 69 70 71 72 75 77 85 92 93 94"},F:{"73":0.10202,"75":0.7085,"76":0.52712,_:"9 11 12 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 60 62 63 64 65 66 67 68 69 70 71 72 74 9.5-9.6 10.5 10.6 11.1 11.5 11.6 12.1","10.0-10.1":0},G:{"8":0,"3.2":0,"4.0-4.1":0,"4.2-4.3":0,"5.0-5.1":0,"6.0-6.1":0,"7.0-7.1":0.0035,"8.1-8.4":0,"9.0-9.2":0.47363,"9.3":0.09962,"10.0-10.2":0,"10.3":0.18176,"11.0-11.2":0.00699,"11.3-11.4":0.00699,"12.0-12.1":0.01223,"12.2-12.4":0.17477,"13.0-13.1":0.00524,"13.2":0.03146,"13.3":0.14157,"13.4-13.7":0.29886,"14.0-14.4":12.98213,"14.5-14.6":2.72296},E:{"4":0,"12":0.05668,"13":1.12226,"14":6.08176,_:"0 5 6 7 8 9 10 11 3.1 3.2 5.1 6.1 7.1 9.1","10.1":0.05101,"11.1":0.04534,"12.1":0.10769,"13.1":0.74818,"14.1":2.87368},B:{"14":0.13603,"15":0.04534,"18":0.17004,"84":0.05668,"85":0.05668,"86":0.02267,"89":0.17571,"90":4.01861,"91":0.14737,_:"12 13 16 17 79 80 81 83 87 88"},P:{"4":0.07721,"5.0-5.4":0.0609,"6.2-6.4":0.0812,"7.2-7.4":0.59883,"8.2":0.0105,"9.2":0.05075,"10.1":0.01088,"11.1-11.2":0.01103,"12.0":0.02206,"13.0":0.15442,"14.0":3.91566},I:{"0":0,"3":0,"4":0,"2.1":0,"2.2":0,"2.3":0,"4.1":0,"4.2-4.3":0,"4.4":0,"4.4.3-4.4.4":0},K:{_:"0 10 11 12 11.1 11.5 12.1"},A:{"11":1.02591,_:"6 7 8 9 10 5.5"},J:{"7":0,"10":0},N:{"10":0.02735,"11":0.02361},S:{"2.5":0},R:{_:"0"},M:{"0":0.27725},Q:{"10.4":0},O:{"0":6.32905},H:{"0":0.324},L:{"0":15.71224}}; diff --git a/tools/node_modules/@babel/core/node_modules/caniuse-lite/data/regions/GM.js b/tools/node_modules/@babel/core/node_modules/caniuse-lite/data/regions/GM.js new file mode 100644 index 00000000000000..dc8267c85add41 --- /dev/null +++ b/tools/node_modules/@babel/core/node_modules/caniuse-lite/data/regions/GM.js @@ -0,0 +1 @@ +module.exports={C:{"4":0.00626,"6":0.00626,"7":0.00939,"12":0.00939,"13":0.00313,"14":0.00626,"15":0.00313,"16":0.00313,"18":0.01878,"19":0.01252,"20":0.01565,"23":0.00939,"24":0.00626,"26":0.00313,"31":0.00939,"33":0.00626,"34":0.00626,"35":0.00626,"36":0.02191,"38":0.01565,"39":0.01252,"40":0.01252,"41":0.00939,"42":0.01878,"43":0.01565,"44":0.02191,"45":0.01565,"46":0.00939,"47":0.02817,"48":0.01878,"49":0.02191,"50":0.02191,"51":0.13772,"52":0.17215,"53":0.15337,"54":0.08451,"55":0.14398,"56":0.10642,"57":0.09703,"58":0.03756,"59":0.03756,"60":0.00939,"61":0.00626,"62":0.00939,"63":0.00626,"64":0.00626,"65":0.00939,"66":0.01252,"68":0.00939,"71":0.00313,"72":0.02817,"73":0.00626,"75":0.00313,"76":0.00939,"77":0.00313,"78":0.02817,"79":0.00313,"80":0.00626,"82":0.00313,"83":0.02817,"84":0.64165,"85":0.01565,"86":0.02191,"87":0.10016,"88":2.29429,"89":0.26918,_:"2 3 5 8 9 10 11 17 21 22 25 27 28 29 30 32 37 67 69 70 74 81 90 91 3.5 3.6"},D:{"11":0.00939,"18":0.00626,"25":0.00626,"30":0.00939,"31":0.00313,"33":0.00939,"34":0.02817,"36":0.00626,"37":0.01878,"38":0.00313,"39":0.09703,"40":0.08138,"41":0.08764,"42":0.05947,"43":0.08764,"44":0.0939,"45":0.10642,"46":0.12833,"47":0.12207,"48":0.11581,"49":0.23162,"50":0.05634,"51":0.12833,"52":0.09077,"53":0.13146,"54":0.16902,"55":0.16589,"56":0.13146,"57":0.15337,"58":0.12833,"59":0.0939,"60":0.14398,"61":0.06886,"62":0.08138,"63":0.08138,"64":0.07199,"65":0.65417,"66":0.00939,"67":0.00939,"68":0.01565,"69":0.02191,"70":0.04382,"71":0.00626,"72":0.00313,"73":0.00626,"74":0.0626,"75":0.01565,"76":0.05321,"77":0.01565,"78":0.00939,"79":0.09703,"80":0.05321,"81":0.05321,"83":0.02191,"84":0.03756,"85":0.01252,"86":0.02191,"87":1.67455,"88":0.13459,"89":0.45698,"90":7.97837,"91":0.26605,"92":0.00939,_:"4 5 6 7 8 9 10 12 13 14 15 16 17 19 20 21 22 23 24 26 27 28 29 32 35 93 94"},F:{"11":0.00626,"12":0.01878,"16":0.00626,"17":0.00939,"18":0.00626,"19":0.00626,"20":0.00626,"27":0.00313,"29":0.00626,"30":0.00626,"31":0.00313,"32":0.00626,"34":0.00313,"36":0.00626,"37":0.01252,"39":0.00313,"40":0.00313,"41":0.00626,"42":0.0313,"43":0.00939,"44":0.00939,"47":0.00313,"49":0.00313,"51":0.00313,"52":0.00313,"53":0.00313,"54":0.01565,"55":0.00626,"71":0.00313,"74":0.00313,"75":0.30674,"76":1.42415,_:"9 15 21 22 23 24 25 26 28 33 35 38 45 46 48 50 56 57 58 60 62 63 64 65 66 67 68 69 70 72 73 9.5-9.6 10.5 10.6 11.5","10.0-10.1":0,"11.1":0.00313,"11.6":0.00626,"12.1":0.02504},G:{"8":0,"3.2":0,"4.0-4.1":0,"4.2-4.3":0.00333,"5.0-5.1":0.01444,"6.0-6.1":0,"7.0-7.1":0.07664,"8.1-8.4":0.00111,"9.0-9.2":0.01222,"9.3":0.40095,"10.0-10.2":0.02666,"10.3":0.4165,"11.0-11.2":0.08219,"11.3-11.4":0.02332,"12.0-12.1":0.07108,"12.2-12.4":0.87187,"13.0-13.1":0.05998,"13.2":0.02443,"13.3":0.52201,"13.4-13.7":0.80745,"14.0-14.4":5.90875,"14.5-14.6":0.96295},E:{"4":0,"11":0.00626,"12":0.01252,"13":0.32552,"14":0.26605,_:"0 5 6 7 8 9 10 3.1 3.2 6.1 7.1 9.1","5.1":0.07199,"10.1":0.00626,"11.1":0.05947,"12.1":0.00939,"13.1":0.19719,"14.1":0.10955},B:{"12":0.03443,"13":0.01565,"14":0.01252,"15":0.02191,"16":0.04695,"17":0.01878,"18":0.15963,"80":0.00626,"81":0.00939,"83":0.00939,"84":0.04695,"85":0.01878,"86":0.00626,"87":0.01878,"88":0.00939,"89":0.04695,"90":1.28956,"91":0.05634,_:"79"},P:{"4":1.10631,"5.0-5.4":0.0609,"6.2-6.4":0.0812,"7.2-7.4":0.59883,"8.2":0.0105,"9.2":0.05075,"10.1":0.05075,"11.1-11.2":0.23344,"12.0":0.26389,"13.0":0.37554,"14.0":1.62394},I:{"0":0,"3":0,"4":0.00097,"2.1":0,"2.2":0,"2.3":0,"4.1":0.04084,"4.2-4.3":0.07973,"4.4":0,"4.4.3-4.4.4":0.18766},K:{_:"0 10 11 12 11.1 11.5 12.1"},A:{"8":0.2623,"9":0.14384,"10":0.05077,"11":0.31307,_:"6 7 5.5"},J:{"7":0,"10":0.05497},N:{"10":0.02735,"11":0.02361},S:{"2.5":0.01374},R:{_:"0"},M:{"0":0.08245},Q:{"10.4":0},O:{"0":0.95507},H:{"0":2.2052},L:{"0":55.32463}}; diff --git a/tools/node_modules/@babel/core/node_modules/caniuse-lite/data/regions/GN.js b/tools/node_modules/@babel/core/node_modules/caniuse-lite/data/regions/GN.js new file mode 100644 index 00000000000000..8b49d80b92efea --- /dev/null +++ b/tools/node_modules/@babel/core/node_modules/caniuse-lite/data/regions/GN.js @@ -0,0 +1 @@ +module.exports={C:{"17":0.00247,"19":0.0037,"22":0.00123,"24":0.00494,"30":0.00247,"32":0.00123,"33":0.00247,"37":0.00617,"38":0.00123,"45":0.00123,"46":0.0037,"47":0.01234,"49":0.00247,"52":0.01481,"57":0.00247,"60":0.00123,"66":0.0037,"72":0.00247,"76":0.00123,"78":0.00617,"79":0.00247,"84":0.0037,"85":0.00123,"86":0.0037,"87":0.01111,"88":0.87491,"89":0.00494,_:"2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 18 20 21 23 25 26 27 28 29 31 34 35 36 39 40 41 42 43 44 48 50 51 53 54 55 56 58 59 61 62 63 64 65 67 68 69 70 71 73 74 75 77 80 81 82 83 90 91 3.5 3.6"},D:{"11":0.02098,"25":0.00123,"28":0.00247,"29":0.0037,"33":0.03085,"36":0.00494,"37":0.00247,"38":0.00864,"39":0.0037,"40":0.0037,"41":0.00617,"43":0.02098,"48":0.02221,"49":0.00247,"50":0.0037,"55":0.02098,"56":0.05059,"60":0.00247,"63":0.0074,"64":0.0037,"65":0.02591,"67":0.00123,"69":0.05923,"70":0.0037,"72":0.03579,"73":0.00247,"74":0.00864,"75":0.03702,"76":0.02715,"77":0.0037,"78":0.00247,"79":0.0074,"80":0.01604,"81":0.0037,"83":0.04319,"84":0.00864,"85":0.00617,"86":0.01234,"87":0.04689,"88":0.01357,"89":0.116,"90":3.2084,"91":0.08885,"92":0.00123,_:"4 5 6 7 8 9 10 12 13 14 15 16 17 18 19 20 21 22 23 24 26 27 30 31 32 34 35 42 44 45 46 47 51 52 53 54 57 58 59 61 62 66 68 71 93 94"},F:{"19":0.01234,"20":0.00247,"36":0.00247,"42":0.00123,"45":0.00123,"63":0.00123,"64":0.0037,"67":0.00123,"74":0.0074,"75":0.11723,"76":0.18387,_:"9 11 12 15 16 17 18 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 37 38 39 40 41 43 44 46 47 48 49 50 51 52 53 54 55 56 57 58 60 62 65 66 68 69 70 71 72 73 9.5-9.6 10.5 10.6 11.1 11.5 11.6 12.1","10.0-10.1":0},G:{"8":0.00434,"3.2":0,"4.0-4.1":0,"4.2-4.3":0,"5.0-5.1":0,"6.0-6.1":0.00087,"7.0-7.1":0.07816,"8.1-8.4":0.08684,"9.0-9.2":0.00521,"9.3":0.0356,"10.0-10.2":0.00347,"10.3":0.11289,"11.0-11.2":0.29526,"11.3-11.4":0.24749,"12.0-12.1":0.17281,"12.2-12.4":1.57528,"13.0-13.1":0.20842,"13.2":0.12331,"13.3":0.25444,"13.4-13.7":0.84235,"14.0-14.4":3.45797,"14.5-14.6":0.66519},E:{"4":0,"11":0.00247,"13":0.00247,"14":0.116,_:"0 5 6 7 8 9 10 12 3.1 3.2 5.1 6.1 7.1 9.1","10.1":0.10366,"11.1":0.00247,"12.1":0.04566,"13.1":0.02221,"14.1":0.03825},B:{"12":0.01357,"13":0.0037,"14":0.00494,"15":0.00123,"16":0.01604,"17":0.01357,"18":0.07898,"80":0.0037,"84":0.00617,"85":0.01974,"86":0.00247,"87":0.01111,"88":0.05676,"89":0.07774,"90":0.53185,"91":0.04813,_:"79 81 83"},P:{"4":1.89804,"5.0-5.4":0.07143,"6.2-6.4":0.02041,"7.2-7.4":0.38777,"8.2":0.0105,"9.2":0.17348,"10.1":0.03061,"11.1-11.2":0.56125,"12.0":0.08164,"13.0":0.42859,"14.0":0.32654},I:{"0":0,"3":0,"4":0,"2.1":0,"2.2":0,"2.3":0,"4.1":0.00333,"4.2-4.3":0.003,"4.4":0,"4.4.3-4.4.4":0.16899},K:{_:"0 10 11 12 11.1 11.5 12.1"},A:{"9":0.00278,"11":0.08607,_:"6 7 8 10 5.5"},J:{"7":0,"10":0},N:{"10":0.02735,"11":0.02361},S:{"2.5":0.22792},R:{_:"0"},M:{"0":0.07013},Q:{"10.4":0.14902},O:{"0":0.50843},H:{"0":7.09572},L:{"0":72.37362}}; diff --git a/tools/node_modules/@babel/core/node_modules/caniuse-lite/data/regions/GP.js b/tools/node_modules/@babel/core/node_modules/caniuse-lite/data/regions/GP.js new file mode 100644 index 00000000000000..f1a8b1fb3c2c8a --- /dev/null +++ b/tools/node_modules/@babel/core/node_modules/caniuse-lite/data/regions/GP.js @@ -0,0 +1 @@ +module.exports={C:{"38":0.00464,"48":0.01391,"50":0.00927,"52":0.02782,"60":0.00927,"66":0.00464,"68":0.00464,"71":0.00464,"78":0.2133,"83":0.01391,"84":0.04173,"85":0.01391,"86":0.04637,"87":0.07883,"88":4.48862,"89":0.00927,_:"2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 39 40 41 42 43 44 45 46 47 49 51 53 54 55 56 57 58 59 61 62 63 64 65 67 69 70 72 73 74 75 76 77 79 80 81 82 90 91 3.5 3.6"},D:{"49":0.13447,"51":0.01391,"56":0.02319,"57":0.01391,"58":0.00464,"63":0.01855,"65":0.12056,"67":0.02319,"74":0.01391,"75":0.00927,"76":0.01855,"79":0.04637,"80":0.06492,"81":0.1252,"83":0.0371,"85":0.06492,"86":0.01855,"87":0.17621,"88":0.25967,"89":0.91813,"90":21.01952,"91":0.64918,_:"4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 50 52 53 54 55 59 60 61 62 64 66 68 69 70 71 72 73 77 78 84 92 93 94"},F:{"36":0.00464,"73":0.06492,"75":0.34314,"76":0.47761,_:"9 11 12 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 60 62 63 64 65 66 67 68 69 70 71 72 74 9.5-9.6 10.5 10.6 11.1 11.5 11.6 12.1","10.0-10.1":0},G:{"8":0,"3.2":0,"4.0-4.1":0,"4.2-4.3":0,"5.0-5.1":0.01901,"6.0-6.1":0,"7.0-7.1":0,"8.1-8.4":0.00634,"9.0-9.2":0.02059,"9.3":1.67125,"10.0-10.2":0.0095,"10.3":0.17584,"11.0-11.2":0.07129,"11.3-11.4":0.0697,"12.0-12.1":0.0396,"12.2-12.4":0.19009,"13.0-13.1":0.06178,"13.2":0.0095,"13.3":0.16475,"13.4-13.7":0.41979,"14.0-14.4":10.2841,"14.5-14.6":2.07678},E:{"4":0,"9":0.00927,"10":0.00927,"11":0.00927,"12":0.01855,"13":0.47297,"14":3.76061,_:"0 5 6 7 8 3.1 3.2 6.1 7.1","5.1":0.01855,"9.1":0.00464,"10.1":0.11593,"11.1":0.12056,"12.1":0.3385,"13.1":1.00623,"14.1":1.1407},B:{"12":0.00927,"15":0.00927,"16":0.03246,"17":0.0371,"18":0.23185,"84":0.00927,"85":0.01391,"86":0.05101,"87":0.00927,"88":0.01855,"89":0.11129,"90":5.77307,"91":0.35241,_:"13 14 79 80 81 83"},P:{"4":0.09564,"5.0-5.4":0.0609,"6.2-6.4":0.0812,"7.2-7.4":0.08502,"8.2":0.0105,"9.2":0.06376,"10.1":0.03188,"11.1-11.2":0.2763,"12.0":0.37195,"13.0":0.48885,"14.0":3.77262},I:{"0":0,"3":0,"4":0,"2.1":0,"2.2":0,"2.3":0,"4.1":0.00207,"4.2-4.3":0.00223,"4.4":0,"4.4.3-4.4.4":0.02788},K:{_:"0 10 11 12 11.1 11.5 12.1"},A:{"11":0.31995,_:"6 7 8 9 10 5.5"},J:{"7":0,"10":0},N:{"10":0.02735,"11":0.02361},S:{"2.5":0.02682},R:{_:"0"},M:{"0":0.4344},Q:{"10.4":0.03754},O:{"0":0.01073},H:{"0":0.26402},L:{"0":34.13151}}; diff --git a/tools/node_modules/@babel/core/node_modules/caniuse-lite/data/regions/GQ.js b/tools/node_modules/@babel/core/node_modules/caniuse-lite/data/regions/GQ.js new file mode 100644 index 00000000000000..2fbe0227da6885 --- /dev/null +++ b/tools/node_modules/@babel/core/node_modules/caniuse-lite/data/regions/GQ.js @@ -0,0 +1 @@ +module.exports={C:{"21":0.01532,"27":0.06128,"31":0.00511,"43":0.08682,"45":0.04086,"47":0.01532,"52":0.35238,"53":0.00511,"54":0.01532,"55":0.02554,"56":0.0715,"57":0.03064,"60":0.02554,"62":0.01532,"63":0.02043,"64":0.07661,"68":0.01021,"69":0.00511,"72":0.05618,"75":0.01532,"76":0.01021,"77":0.00511,"78":0.06128,"79":0.01021,"83":0.01532,"84":0.02554,"85":0.01021,"86":0.01532,"87":0.73541,"88":10.12207,"89":0.04086,_:"2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 22 23 24 25 26 28 29 30 32 33 34 35 36 37 38 39 40 41 42 44 46 48 49 50 51 58 59 61 65 66 67 70 71 73 74 80 81 82 90 91 3.5","3.6":0.01532},D:{"18":0.02043,"28":0.01021,"29":0.01532,"31":0.00511,"35":0.03575,"38":0.02554,"43":0.00511,"47":0.04086,"49":0.26556,"50":0.01021,"53":0.01532,"57":0.38813,"58":0.02043,"60":0.50049,"62":0.02043,"63":0.03064,"64":0.00511,"65":0.16853,"66":0.00511,"67":0.01532,"68":0.08682,"69":0.04596,"70":0.143,"71":0.01532,"74":0.01021,"75":0.0715,"78":0.18896,"79":0.16342,"80":0.03064,"81":0.09703,"83":0.05618,"84":0.03575,"85":0.01021,"86":0.11235,"87":0.10214,"88":0.64348,"89":0.59752,"90":20.71399,"91":1.36868,"92":0.02554,_:"4 5 6 7 8 9 10 11 12 13 14 15 16 17 19 20 21 22 23 24 25 26 27 30 32 33 34 36 37 39 40 41 42 44 45 46 48 51 52 54 55 56 59 61 72 73 76 77 93 94"},F:{"34":0.00511,"35":0.00511,"36":0.01021,"40":0.03575,"45":0.01021,"47":0.01021,"48":0.00511,"50":0.00511,"51":0.03064,"64":0.02043,"68":0.01532,"71":0.02043,"74":0.3626,"75":0.12768,"76":0.12768,_:"9 11 12 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 37 38 39 41 42 43 44 46 49 52 53 54 55 56 57 58 60 62 63 65 66 67 69 70 72 73 9.5-9.6 10.5 10.6 11.1 11.5 11.6 12.1","10.0-10.1":0},G:{"8":0,"3.2":0,"4.0-4.1":0,"4.2-4.3":0,"5.0-5.1":0,"6.0-6.1":0,"7.0-7.1":0.02948,"8.1-8.4":0.01134,"9.0-9.2":0.00113,"9.3":0.08391,"10.0-10.2":0.00113,"10.3":0.44225,"11.0-11.2":0.13154,"11.3-11.4":0.04196,"12.0-12.1":0.09299,"12.2-12.4":0.25288,"13.0-13.1":0.10886,"13.2":0.01474,"13.3":0.07484,"13.4-13.7":0.47854,"14.0-14.4":6.71659,"14.5-14.6":0.95935},E:{"4":0,"12":0.01021,"13":0.00511,"14":0.35238,_:"0 5 6 7 8 9 10 11 3.1 3.2 6.1 7.1","5.1":0.30642,"9.1":0.05618,"10.1":0.01532,"11.1":0.02554,"12.1":0.09193,"13.1":0.02043,"14.1":0.05618},B:{"12":0.09703,"13":0.01021,"14":0.01532,"15":0.0715,"16":0.05618,"17":0.27067,"18":0.04596,"84":0.02043,"85":0.02043,"86":0.02043,"88":0.01532,"89":0.08171,"90":3.80982,"91":0.08682,_:"79 80 81 83 87"},P:{"4":0.92625,"5.0-5.4":0.05146,"6.2-6.4":0.01029,"7.2-7.4":0.05146,"8.2":0.02014,"9.2":0.02058,"10.1":0.02075,"11.1-11.2":0.05146,"12.0":0.04117,"13.0":0.30875,"14.0":0.72042},I:{"0":0,"3":0,"4":0.00205,"2.1":0,"2.2":0,"2.3":0.00051,"4.1":0.00819,"4.2-4.3":0.27323,"4.4":0,"4.4.3-4.4.4":0.23946},K:{_:"0 10 11 12 11.1 11.5 12.1"},A:{"11":0.98054,_:"6 7 8 9 10 5.5"},J:{"7":0,"10":0},N:{"10":0.02735,"11":0.35567},S:{"2.5":0},R:{_:"0"},M:{"0":0.05381},Q:{"10.4":0.03914},O:{"0":0.4892},H:{"0":0.34736},L:{"0":41.0646}}; diff --git a/tools/node_modules/@babel/core/node_modules/caniuse-lite/data/regions/GR.js b/tools/node_modules/@babel/core/node_modules/caniuse-lite/data/regions/GR.js new file mode 100644 index 00000000000000..891d9e9fd23093 --- /dev/null +++ b/tools/node_modules/@babel/core/node_modules/caniuse-lite/data/regions/GR.js @@ -0,0 +1 @@ +module.exports={C:{"45":0.01874,"48":0.0125,"52":0.7935,"56":0.00625,"60":0.00625,"66":0.0125,"68":0.0125,"72":0.00625,"78":0.08122,"79":0.00625,"81":0.09372,"82":0.05623,"83":0.0125,"84":0.04998,"85":0.02499,"86":0.02499,"87":0.10622,"88":8.75345,"89":0.01874,_:"2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 46 47 49 50 51 53 54 55 57 58 59 61 62 63 64 65 67 69 70 71 73 74 75 76 77 80 90 91 3.5 3.6"},D:{"11":0.01874,"22":0.63105,"26":0.00625,"34":0.0125,"38":0.14995,"43":0.00625,"47":0.09997,"49":1.2496,"53":0.01874,"54":0.04374,"56":0.00625,"58":0.04998,"61":0.02499,"62":0.00625,"65":0.0125,"67":0.01874,"68":0.01874,"69":0.19994,"71":0.03124,"72":0.01874,"73":0.04998,"74":0.0125,"75":0.0125,"76":0.0125,"77":0.13121,"78":0.0125,"79":0.06248,"80":0.02499,"81":0.03749,"83":0.04374,"84":0.03124,"85":0.03749,"86":0.06873,"87":0.26866,"88":0.38738,"89":0.52483,"90":35.37618,"91":1.38706,_:"4 5 6 7 8 9 10 12 13 14 15 16 17 18 19 20 21 23 24 25 27 28 29 30 31 32 33 35 36 37 39 40 41 42 44 45 46 48 50 51 52 55 57 59 60 63 64 66 70 92 93 94"},F:{"12":0.09372,"25":0.09372,"31":0.60606,"40":0.54982,"73":0.08122,"75":0.50609,"76":0.91221,_:"9 11 15 16 17 18 19 20 21 22 23 24 26 27 28 29 30 32 33 34 35 36 37 38 39 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 60 62 63 64 65 66 67 68 69 70 71 72 74 9.5-9.6 10.5 10.6 11.1 11.5 11.6 12.1","10.0-10.1":0},G:{"8":0,"3.2":0.00056,"4.0-4.1":0,"4.2-4.3":0,"5.0-5.1":0.01063,"6.0-6.1":0.0028,"7.0-7.1":0.20978,"8.1-8.4":0.00559,"9.0-9.2":0.00112,"9.3":0.11803,"10.0-10.2":0.01063,"10.3":0.10797,"11.0-11.2":0.0207,"11.3-11.4":0.02573,"12.0-12.1":0.01846,"12.2-12.4":0.09342,"13.0-13.1":0.01846,"13.2":0.02014,"13.3":0.05762,"13.4-13.7":0.19579,"14.0-14.4":3.45042,"14.5-14.6":0.85869},E:{"4":0,"13":0.04998,"14":0.75601,_:"0 5 6 7 8 9 10 11 12 3.1 3.2 5.1 6.1 7.1 9.1 10.1","11.1":0.04998,"12.1":0.03749,"13.1":0.14995,"14.1":0.2999},B:{"17":0.00625,"18":0.02499,"84":0.00625,"85":0.0125,"89":0.03124,"90":2.46796,"91":0.18119,_:"12 13 14 15 16 79 80 81 83 86 87 88"},P:{"4":0.56051,"5.0-5.4":0.02084,"6.2-6.4":0.0417,"7.2-7.4":0.12503,"8.2":0.01051,"9.2":0.01099,"10.1":0.01042,"11.1-11.2":0.09891,"12.0":0.02198,"13.0":0.24179,"14.0":1.54964},I:{"0":0,"3":0,"4":0,"2.1":0,"2.2":0,"2.3":0,"4.1":0.00935,"4.2-4.3":0.15702,"4.4":0,"4.4.3-4.4.4":0.35891},K:{_:"0 10 11 12 11.1 11.5 12.1"},A:{"11":0.57482,_:"6 7 8 9 10 5.5"},J:{"7":0,"10":0},N:{_:"10 11"},S:{"2.5":0},R:{_:"0"},M:{"0":0.20261},Q:{"10.4":0},O:{"0":0.12757},H:{"0":0.21668},L:{"0":29.86858}}; diff --git a/tools/node_modules/@babel/core/node_modules/caniuse-lite/data/regions/GT.js b/tools/node_modules/@babel/core/node_modules/caniuse-lite/data/regions/GT.js new file mode 100644 index 00000000000000..e8d157140e8112 --- /dev/null +++ b/tools/node_modules/@babel/core/node_modules/caniuse-lite/data/regions/GT.js @@ -0,0 +1 @@ +module.exports={C:{"17":0.00411,"52":0.0329,"54":0.00823,"56":0.01234,"61":0.00411,"66":0.01645,"72":0.00823,"73":0.08637,"78":0.03702,"84":0.01234,"85":0.00823,"86":0.01645,"87":0.02057,"88":1.82206,"89":0.02879,_:"2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 53 55 57 58 59 60 62 63 64 65 67 68 69 70 71 74 75 76 77 79 80 81 82 83 90 91 3.5 3.6"},D:{"38":0.01234,"42":0.00411,"46":0.00411,"49":0.10694,"53":0.0329,"63":0.01234,"65":0.01234,"67":0.00823,"68":0.00411,"69":0.0329,"70":0.00411,"71":0.01234,"72":0.01645,"73":0.00411,"74":0.02879,"75":0.02879,"76":0.0329,"77":0.00823,"78":0.02879,"79":0.0329,"80":0.02879,"81":0.0329,"83":0.04113,"84":0.02057,"85":0.02468,"86":0.07403,"87":0.13984,"88":0.10283,"89":0.4442,"90":27.36379,"91":1.02825,"92":0.00823,_:"4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 39 40 41 43 44 45 47 48 50 51 52 54 55 56 57 58 59 60 61 62 64 66 93 94"},F:{"73":0.23033,"75":0.7897,"76":0.54292,_:"9 11 12 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 60 62 63 64 65 66 67 68 69 70 71 72 74 9.5-9.6 10.5 10.6 11.1 11.5 11.6 12.1","10.0-10.1":0},G:{"8":0,"3.2":0,"4.0-4.1":0,"4.2-4.3":0,"5.0-5.1":0.00414,"6.0-6.1":0.01793,"7.0-7.1":0.00828,"8.1-8.4":0,"9.0-9.2":0.00138,"9.3":0.06137,"10.0-10.2":0.00276,"10.3":0.05379,"11.0-11.2":0.00965,"11.3-11.4":0.02138,"12.0-12.1":0.01655,"12.2-12.4":0.08206,"13.0-13.1":0.02551,"13.2":0.00896,"13.3":0.06344,"13.4-13.7":0.16343,"14.0-14.4":4.15752,"14.5-14.6":1.8412},E:{"4":0,"11":0.00411,"12":0.00823,"13":0.0329,"14":0.94599,_:"0 5 6 7 8 9 10 3.1 3.2 5.1 6.1 7.1 9.1","10.1":0.00823,"11.1":0.0329,"12.1":0.03702,"13.1":0.23033,"14.1":0.473},B:{"12":0.00823,"14":0.00411,"15":0.00823,"16":0.00411,"17":0.00823,"18":0.0329,"84":0.00823,"85":0.00823,"88":0.00823,"89":0.06992,"90":2.29094,"91":0.15629,_:"13 79 80 81 83 86 87"},P:{"4":0.21481,"5.0-5.4":0.02084,"6.2-6.4":0.0417,"7.2-7.4":0.16366,"8.2":0.01051,"9.2":0.09206,"10.1":0.03069,"11.1-11.2":0.42961,"12.0":0.13298,"13.0":0.49099,"14.0":2.2299},I:{"0":0,"3":0,"4":0.00325,"2.1":0,"2.2":0,"2.3":0,"4.1":0.00325,"4.2-4.3":0.00651,"4.4":0,"4.4.3-4.4.4":0.06939},K:{_:"0 10 11 12 11.1 11.5 12.1"},A:{"11":0.5388,_:"6 7 8 9 10 5.5"},J:{"7":0,"10":0},N:{_:"10 11"},S:{"2.5":0},R:{_:"0"},M:{"0":0.21778},Q:{"10.4":0},O:{"0":0.12949},H:{"0":0.28977},L:{"0":50.13369}}; diff --git a/tools/node_modules/@babel/core/node_modules/caniuse-lite/data/regions/GU.js b/tools/node_modules/@babel/core/node_modules/caniuse-lite/data/regions/GU.js new file mode 100644 index 00000000000000..9e45150c8bd7ae --- /dev/null +++ b/tools/node_modules/@babel/core/node_modules/caniuse-lite/data/regions/GU.js @@ -0,0 +1 @@ +module.exports={C:{"48":0.03738,"52":0.01246,"72":0.04153,"74":0.17858,"78":0.03738,"81":0.02907,"84":0.00831,"86":0.00415,"87":0.12459,"88":1.70273,_:"2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 49 50 51 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 73 75 76 77 79 80 82 83 85 89 90 91 3.5 3.6"},D:{"49":0.03322,"53":0.11213,"54":0.01246,"65":0.00831,"68":0.03322,"69":0.00831,"75":0.02907,"76":0.04984,"77":0.00415,"79":0.03322,"80":0.01661,"81":0.00415,"83":0.00831,"84":0.02077,"85":0.05399,"86":0.04984,"87":0.22842,"88":0.2035,"89":1.3082,"90":19.06227,"91":0.49421,"92":0.01246,_:"4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 50 51 52 55 56 57 58 59 60 61 62 63 64 66 67 70 71 72 73 74 78 93 94"},F:{"73":0.10798,"75":0.34885,"76":0.19519,_:"9 11 12 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 60 62 63 64 65 66 67 68 69 70 71 72 74 9.5-9.6 10.5 10.6 11.1 11.5 11.6 12.1","10.0-10.1":0},G:{"8":0,"3.2":0,"4.0-4.1":0,"4.2-4.3":0,"5.0-5.1":0,"6.0-6.1":0.00543,"7.0-7.1":0.00271,"8.1-8.4":0.11395,"9.0-9.2":0,"9.3":0.35813,"10.0-10.2":0.00271,"10.3":0.29573,"11.0-11.2":0.05697,"11.3-11.4":0.08411,"12.0-12.1":0.06511,"12.2-12.4":0.1872,"13.0-13.1":0.04612,"13.2":0.05697,"13.3":0.32557,"13.4-13.7":0.93602,"14.0-14.4":20.23421,"14.5-14.6":3.37237},E:{"4":0,"10":0.00415,"12":0.04984,"13":0.66863,"14":4.913,_:"0 5 6 7 8 9 11 3.1 3.2 6.1 7.1","5.1":0.21596,"9.1":0.00415,"10.1":0.02077,"11.1":0.05399,"12.1":0.14951,"13.1":0.70186,"14.1":0.96765},B:{"13":0.00831,"15":0.01246,"16":0.00831,"17":0.02907,"18":0.23672,"81":0.00415,"86":0.02077,"87":0.00831,"88":0.00415,"89":0.0623,"90":3.62557,"91":0.19519,_:"12 14 79 80 83 84 85"},P:{"4":0.50628,"5.0-5.4":0.05166,"6.2-6.4":0.0812,"7.2-7.4":0.031,"8.2":0.0105,"9.2":0.06199,"10.1":0.08266,"11.1-11.2":0.21698,"12.0":0.07233,"13.0":0.68193,"14.0":5.26945},I:{"0":0,"3":0,"4":0,"2.1":0,"2.2":0,"2.3":0,"4.1":0,"4.2-4.3":0.00167,"4.4":0,"4.4.3-4.4.4":0.01002},K:{_:"0 10 11 12 11.1 11.5 12.1"},A:{"9":0.00967,"11":1.04934,_:"6 7 8 10 5.5"},J:{"7":0,"10":0},N:{"10":0.02735,"11":0.02361},S:{"2.5":0},R:{_:"0"},M:{"0":0.17538},Q:{"10.4":0},O:{"0":0.04677},H:{"0":0.29333},L:{"0":27.78209}}; diff --git a/tools/node_modules/@babel/core/node_modules/caniuse-lite/data/regions/GW.js b/tools/node_modules/@babel/core/node_modules/caniuse-lite/data/regions/GW.js new file mode 100644 index 00000000000000..b06b5370fde548 --- /dev/null +++ b/tools/node_modules/@babel/core/node_modules/caniuse-lite/data/regions/GW.js @@ -0,0 +1 @@ +module.exports={C:{"15":0.13143,"27":0.01133,"45":0.0068,"84":0.00227,"85":0.02266,"87":0.00227,"88":2.24107,"89":0.00453,_:"2 3 4 5 6 7 8 9 10 11 12 13 14 16 17 18 19 20 21 22 23 24 25 26 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 86 90 91 3.5 3.6"},D:{"11":0.02266,"25":0.00906,"26":0.0068,"33":0.00906,"37":0.00227,"40":0.01586,"43":0.2402,"48":0.0068,"49":0.0068,"51":0.00227,"60":0.0136,"70":0.01133,"71":0.00453,"74":0.00227,"76":0.01133,"79":0.08611,"81":0.04079,"83":0.00906,"84":0.00906,"85":0.0068,"86":0.04985,"87":0.02266,"88":0.01586,"89":0.14502,"90":8.54735,"91":0.36029,_:"4 5 6 7 8 9 10 12 13 14 15 16 17 18 19 20 21 22 23 24 27 28 29 30 31 32 34 35 36 38 39 41 42 44 45 46 47 50 52 53 54 55 56 57 58 59 61 62 63 64 65 66 67 68 69 72 73 75 77 78 80 92 93 94"},F:{"73":0.00227,"74":0.00227,"75":0.23566,"76":0.28778,_:"9 11 12 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 60 62 63 64 65 66 67 68 69 70 71 72 9.5-9.6 10.5 10.6 11.1 11.5 11.6 12.1","10.0-10.1":0},G:{"8":0.00428,"3.2":0,"4.0-4.1":0,"4.2-4.3":0,"5.0-5.1":0.01399,"6.0-6.1":0,"7.0-7.1":0.11039,"8.1-8.4":0,"9.0-9.2":0,"9.3":0.00855,"10.0-10.2":0.15393,"10.3":0.11195,"11.0-11.2":0.02488,"11.3-11.4":0.0517,"12.0-12.1":0.38598,"12.2-12.4":1.03279,"13.0-13.1":0.01555,"13.2":0.00544,"13.3":0.03343,"13.4-13.7":0.11078,"14.0-14.4":1.48757,"14.5-14.6":0.19979},E:{"4":0,"9":0.00227,"11":0.00227,"13":0.02266,"14":0.04759,_:"0 5 6 7 8 10 12 3.1 3.2 5.1 6.1 7.1 9.1 10.1 11.1 12.1","13.1":0.04985,"14.1":0.35576},B:{"12":0.02946,"13":0.00227,"14":0.02946,"16":0.00906,"17":0.03399,"18":0.04532,"80":0.00453,"84":0.01813,"88":0.02946,"89":0.02719,"90":2.0258,"91":0.25832,_:"15 79 81 83 85 86 87"},P:{"4":0.56492,"5.0-5.4":0.01009,"6.2-6.4":0.01009,"7.2-7.4":1.23071,"8.2":0.03026,"9.2":0.02018,"10.1":0.04035,"11.1-11.2":0.29255,"12.0":0.26228,"13.0":0.2522,"14.0":0.30263},I:{"0":0,"3":0,"4":0,"2.1":0,"2.2":0,"2.3":0,"4.1":0.00051,"4.2-4.3":0.00242,"4.4":0,"4.4.3-4.4.4":0.15948},K:{_:"0 10 11 12 11.1 11.5 12.1"},A:{"11":0.06798,_:"6 7 8 9 10 5.5"},J:{"7":0,"10":0},N:{"10":0.02735,"11":0.02361},S:{"2.5":0.8198},R:{_:"0"},M:{"0":0.05414},Q:{"10.4":0},O:{"0":0.10054},H:{"0":4.7154},L:{"0":71.1601}}; diff --git a/tools/node_modules/@babel/core/node_modules/caniuse-lite/data/regions/GY.js b/tools/node_modules/@babel/core/node_modules/caniuse-lite/data/regions/GY.js new file mode 100644 index 00000000000000..41bc4a8db29f36 --- /dev/null +++ b/tools/node_modules/@babel/core/node_modules/caniuse-lite/data/regions/GY.js @@ -0,0 +1 @@ +module.exports={C:{"78":0.00733,"81":0.00366,"84":0.00733,"85":0.02198,"86":0.02198,"87":0.01832,"88":1.21612,"89":0.01465,_:"2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 79 80 82 83 90 91 3.5 3.6"},D:{"38":0.01465,"39":0.01099,"46":0.00366,"49":0.05495,"50":0.00733,"53":0.00366,"60":0.00366,"63":0.01099,"65":0.01465,"67":0.00366,"68":0.01465,"69":0.01465,"70":0.03297,"73":0.00366,"74":0.10623,"75":0.01832,"76":0.04396,"77":0.05495,"78":0.00366,"79":0.03663,"80":0.04396,"81":0.06227,"83":0.01465,"84":0.30037,"85":0.04762,"86":0.21612,"87":0.20879,"88":0.10256,"89":0.6044,"90":18.73258,"91":0.81319,"92":0.11355,_:"4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 40 41 42 43 44 45 47 48 51 52 54 55 56 57 58 59 61 62 64 66 71 72 93 94"},F:{"56":0.02198,"73":0.01832,"75":0.34799,"76":0.50183,_:"9 11 12 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 57 58 60 62 63 64 65 66 67 68 69 70 71 72 74 9.5-9.6 10.5 10.6 11.1 11.5 11.6 12.1","10.0-10.1":0},G:{"8":0,"3.2":0,"4.0-4.1":0,"4.2-4.3":0,"5.0-5.1":0.067,"6.0-6.1":0.00096,"7.0-7.1":0.20866,"8.1-8.4":0.00096,"9.0-9.2":0.00574,"9.3":0.10146,"10.0-10.2":0.00191,"10.3":0.12347,"11.0-11.2":0.0268,"11.3-11.4":0.03254,"12.0-12.1":0.01244,"12.2-12.4":0.12922,"13.0-13.1":0.01627,"13.2":0.00479,"13.3":0.0737,"13.4-13.7":0.20483,"14.0-14.4":6.36796,"14.5-14.6":1.50082},E:{"4":0,"11":0.00366,"13":0.02198,"14":0.81685,_:"0 5 6 7 8 9 10 12 3.1 3.2 6.1 7.1 9.1","5.1":0.10256,"10.1":0.00733,"11.1":0.01099,"12.1":0.02198,"13.1":0.63004,"14.1":0.37729},B:{"12":0.00733,"13":0.01099,"14":0.00733,"15":0.01832,"16":0.0293,"17":0.04029,"18":0.23443,"80":0.00366,"84":0.01465,"85":0.04029,"86":0.02198,"87":0.00733,"88":0.01832,"89":0.12088,"90":4.53113,"91":0.26374,_:"79 81 83"},P:{"4":0.47304,"5.0-5.4":0.0215,"6.2-6.4":0.01009,"7.2-7.4":0.19352,"8.2":0.03026,"9.2":0.05375,"10.1":0.18277,"11.1-11.2":0.64506,"12.0":0.10751,"13.0":0.66656,"14.0":3.70908},I:{"0":0,"3":0,"4":0.01257,"2.1":0,"2.2":0,"2.3":0,"4.1":0.00686,"4.2-4.3":0.01143,"4.4":0,"4.4.3-4.4.4":0.1783},K:{_:"0 10 11 12 11.1 11.5 12.1"},A:{"10":0.03043,"11":0.76078,_:"6 7 8 9 5.5"},J:{"7":0,"10":0.02535},N:{"10":0.02735,"11":0.02361},S:{"2.5":0},R:{_:"0"},M:{"0":0.12676},Q:{"10.4":0.09507},O:{"0":1.30563},H:{"0":0.60604},L:{"0":50.00631}}; diff --git a/tools/node_modules/@babel/core/node_modules/caniuse-lite/data/regions/HK.js b/tools/node_modules/@babel/core/node_modules/caniuse-lite/data/regions/HK.js new file mode 100644 index 00000000000000..f61166fb35237f --- /dev/null +++ b/tools/node_modules/@babel/core/node_modules/caniuse-lite/data/regions/HK.js @@ -0,0 +1 @@ +module.exports={C:{"34":0.02642,"52":0.02642,"56":0.00528,"68":0.00528,"72":0.01057,"74":0.01057,"78":0.06868,"83":0.00528,"84":0.01585,"85":0.02113,"86":0.02113,"87":0.04755,"88":1.59018,"89":0.00528,_:"2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 53 54 55 57 58 59 60 61 62 63 64 65 66 67 69 70 71 73 75 76 77 79 80 81 82 90 91 3.5 3.6"},D:{"19":0.00528,"22":0.02113,"26":0.01585,"30":0.00528,"34":0.08453,"38":0.19019,"46":0.01057,"48":0.01057,"49":0.14264,"53":0.31698,"54":0.00528,"55":0.02642,"56":0.01585,"57":0.01057,"58":0.00528,"60":0.00528,"61":0.02113,"62":0.02642,"63":0.01585,"64":0.02642,"65":0.03698,"66":0.01057,"67":0.03698,"68":0.12679,"69":0.04226,"70":0.03698,"71":0.0317,"72":0.04755,"73":0.0317,"74":0.03698,"75":0.05811,"76":0.02642,"77":0.02642,"78":0.05283,"79":0.19547,"80":0.10566,"81":0.06868,"83":0.14792,"84":0.07396,"85":0.05811,"86":0.4966,"87":0.56,"88":0.51245,"89":1.72226,"90":27.79386,"91":0.91924,"92":0.04226,_:"4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 20 21 23 24 25 27 28 29 31 32 33 35 36 37 39 40 41 42 43 44 45 47 50 51 52 59 93 94"},F:{"36":0.03698,"40":0.01057,"46":0.0634,"73":0.01057,"75":0.07396,"76":0.11094,_:"9 11 12 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 37 38 39 41 42 43 44 45 47 48 49 50 51 52 53 54 55 56 57 58 60 62 63 64 65 66 67 68 69 70 71 72 74 9.5-9.6 10.5 10.6 11.1 11.5 11.6 12.1","10.0-10.1":0},G:{"8":0,"3.2":0,"4.0-4.1":0,"4.2-4.3":0.00194,"5.0-5.1":0.03291,"6.0-6.1":0.01742,"7.0-7.1":0.03678,"8.1-8.4":0.03678,"9.0-9.2":0.02323,"9.3":0.26905,"10.0-10.2":0.04452,"10.3":0.19743,"11.0-11.2":0.09291,"11.3-11.4":0.11226,"12.0-12.1":0.12194,"12.2-12.4":0.36002,"13.0-13.1":0.11807,"13.2":0.03871,"13.3":0.27098,"13.4-13.7":0.85941,"14.0-14.4":13.58984,"14.5-14.6":2.40401},E:{"4":0,"8":0.02642,"11":0.01585,"12":0.02642,"13":0.2166,"14":5.24074,_:"0 5 6 7 9 10 3.1 3.2 5.1 6.1 7.1","9.1":0.00528,"10.1":0.03698,"11.1":0.07396,"12.1":0.13736,"13.1":0.73434,"14.1":0.97207},B:{"12":0.01057,"16":0.00528,"17":0.01585,"18":0.05811,"84":0.00528,"86":0.01057,"87":0.00528,"88":0.01057,"89":0.0634,"90":3.55018,"91":0.14264,_:"13 14 15 79 80 81 83 85"},P:{"4":0.91475,"5.0-5.4":0.02084,"6.2-6.4":0.0417,"7.2-7.4":0.01102,"8.2":0.01051,"9.2":0.07715,"10.1":0.03306,"11.1-11.2":0.12123,"12.0":0.12123,"13.0":0.42982,"14.0":4.37537},I:{"0":0,"3":0,"4":0.00109,"2.1":0,"2.2":0,"2.3":0,"4.1":0.00218,"4.2-4.3":0.00653,"4.4":0,"4.4.3-4.4.4":0.0468},K:{_:"0 10 11 12 11.1 11.5 12.1"},A:{"11":2.55169,_:"6 7 8 9 10 5.5"},J:{"7":0,"10":0},N:{_:"10 11"},S:{"2.5":0},R:{_:"0"},M:{"0":0.24995},Q:{"10.4":0.15091},O:{"0":0.65552},H:{"0":0.09376},L:{"0":22.8722}}; diff --git a/tools/node_modules/@babel/core/node_modules/caniuse-lite/data/regions/HN.js b/tools/node_modules/@babel/core/node_modules/caniuse-lite/data/regions/HN.js new file mode 100644 index 00000000000000..507675ee3a76a2 --- /dev/null +++ b/tools/node_modules/@babel/core/node_modules/caniuse-lite/data/regions/HN.js @@ -0,0 +1 @@ +module.exports={C:{"52":0.01838,"60":0.00459,"63":0.00919,"72":0.00919,"73":0.08269,"78":0.03216,"81":0.00459,"85":0.00459,"86":0.00919,"87":0.02756,"88":1.69978,"89":0.03675,_:"2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 53 54 55 56 57 58 59 61 62 64 65 66 67 68 69 70 71 74 75 76 77 79 80 82 83 84 90 91 3.5 3.6"},D:{"24":0.00459,"38":0.01838,"49":0.14241,"53":0.08269,"55":0.00919,"63":0.01378,"65":0.01378,"67":0.00919,"68":0.01378,"69":0.06432,"70":0.03216,"72":0.00459,"73":0.02297,"74":0.01838,"75":0.05053,"76":0.09188,"77":0.01378,"78":0.03216,"79":0.05053,"80":0.06891,"81":0.03216,"83":0.05513,"84":0.16538,"85":0.0735,"86":0.05053,"87":0.43643,"88":0.19754,"89":0.74882,"90":27.16432,"91":1.14391,"92":0.00919,_:"4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 25 26 27 28 29 30 31 32 33 34 35 36 37 39 40 41 42 43 44 45 46 47 48 50 51 52 54 56 57 58 59 60 61 62 64 66 71 93 94"},F:{"73":0.18835,"75":0.86367,"76":0.58803,_:"9 11 12 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 60 62 63 64 65 66 67 68 69 70 71 72 74 9.5-9.6 10.5 10.6 11.1 11.5 11.6 12.1","10.0-10.1":0},G:{"8":0,"3.2":0,"4.0-4.1":0,"4.2-4.3":0,"5.0-5.1":0.00168,"6.0-6.1":0.00419,"7.0-7.1":0.01761,"8.1-8.4":0.00168,"9.0-9.2":0.00335,"9.3":0.09477,"10.0-10.2":0.0109,"10.3":0.10567,"11.0-11.2":0.02516,"11.3-11.4":0.02013,"12.0-12.1":0.01426,"12.2-12.4":0.1107,"13.0-13.1":0.026,"13.2":0.00503,"13.3":0.09728,"13.4-13.7":0.25495,"14.0-14.4":5.38751,"14.5-14.6":1.68485},E:{"4":0,"13":0.0781,"14":0.89124,_:"0 5 6 7 8 9 10 11 12 3.1 3.2 6.1 7.1 9.1","5.1":1.04743,"10.1":0.01838,"11.1":0.04594,"12.1":0.02756,"13.1":0.24348,"14.1":0.42724},B:{"12":0.00919,"13":0.00459,"14":0.00919,"15":0.01378,"16":0.00919,"17":0.04594,"18":0.18376,"80":0.00459,"84":0.01378,"85":0.00459,"87":0.00459,"88":0.00919,"89":0.03675,"90":2.71046,"91":0.19754,_:"79 81 83 86"},P:{"4":0.32121,"5.0-5.4":0.15169,"6.2-6.4":0.05056,"7.2-7.4":0.17615,"8.2":0.01011,"9.2":0.08289,"10.1":0.01036,"11.1-11.2":0.36265,"12.0":0.24868,"13.0":0.50771,"14.0":2.14483},I:{"0":0,"3":0,"4":0.00124,"2.1":0,"2.2":0,"2.3":0,"4.1":0.00373,"4.2-4.3":0.00685,"4.4":0,"4.4.3-4.4.4":0.07467},K:{_:"0 10 11 12 11.1 11.5 12.1"},A:{"9":0.01468,"11":0.80764,_:"6 7 8 10 5.5"},J:{"7":0,"10":0},N:{"10":0.02735,"11":0.02361},S:{"2.5":0},R:{_:"0"},M:{"0":0.0865},Q:{"10.4":0.01081},O:{"0":0.23786},H:{"0":0.24055},L:{"0":45.74268}}; diff --git a/tools/node_modules/@babel/core/node_modules/caniuse-lite/data/regions/HR.js b/tools/node_modules/@babel/core/node_modules/caniuse-lite/data/regions/HR.js new file mode 100644 index 00000000000000..a3461e6e0a9c7e --- /dev/null +++ b/tools/node_modules/@babel/core/node_modules/caniuse-lite/data/regions/HR.js @@ -0,0 +1 @@ +module.exports={C:{"52":0.12206,"56":0.00509,"57":0.01017,"63":0.02543,"65":0.00509,"66":0.00509,"68":0.01526,"72":0.02034,"75":0.01017,"77":0.00509,"78":0.17801,"79":0.00509,"80":0.01526,"81":0.01526,"82":0.01017,"83":0.01017,"84":0.02034,"85":0.04577,"86":0.11698,"87":0.15258,"88":6.36259,"89":0.01526,_:"2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 53 54 55 58 59 60 61 62 64 67 69 70 71 73 74 76 90 91 3.5 3.6"},D:{"38":0.01017,"43":0.01526,"47":0.00509,"49":0.24921,"53":0.06103,"62":0.00509,"63":0.01526,"65":0.01017,"66":0.01526,"68":0.01526,"69":0.01526,"70":0.01017,"71":0.01526,"72":0.01017,"73":0.00509,"74":0.01017,"75":0.11698,"76":0.01526,"77":0.28482,"78":0.02034,"79":0.05086,"80":0.04069,"81":0.33568,"83":0.0356,"84":0.0356,"85":0.02034,"86":0.08138,"87":0.28482,"88":0.19835,"89":0.78833,"90":29.75819,"91":1.15452,"92":0.00509,_:"4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 39 40 41 42 44 45 46 48 50 51 52 54 55 56 57 58 59 60 61 64 67 93 94"},F:{"32":0.01017,"36":0.02034,"46":0.00509,"72":0.00509,"73":0.09663,"74":0.00509,"75":0.85445,"76":1.25624,_:"9 11 12 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 33 34 35 37 38 39 40 41 42 43 44 45 47 48 49 50 51 52 53 54 55 56 57 58 60 62 63 64 65 66 67 68 69 70 71 9.5-9.6 10.5 10.6 11.1 11.5 11.6 12.1","10.0-10.1":0},G:{"8":0.00198,"3.2":0,"4.0-4.1":0,"4.2-4.3":0,"5.0-5.1":0.00792,"6.0-6.1":0.00132,"7.0-7.1":0.00528,"8.1-8.4":0.00924,"9.0-9.2":0.0033,"9.3":0.21918,"10.0-10.2":0.00462,"10.3":0.10035,"11.0-11.2":0.02443,"11.3-11.4":0.03037,"12.0-12.1":0.03499,"12.2-12.4":0.13402,"13.0-13.1":0.0165,"13.2":0.00792,"13.3":0.07592,"13.4-13.7":0.27266,"14.0-14.4":4.62201,"14.5-14.6":0.74866},E:{"4":0,"12":0.01017,"13":0.02543,"14":0.86971,_:"0 5 6 7 8 9 10 11 3.1 3.2 5.1 6.1 7.1 9.1 10.1","11.1":0.03052,"12.1":0.05086,"13.1":0.18818,"14.1":0.2899},B:{"15":0.00509,"16":0.01526,"17":0.02543,"18":0.05595,"84":0.00509,"85":0.01526,"86":0.01526,"87":0.01017,"88":0.06103,"89":0.06103,"90":2.52266,"91":0.1831,_:"12 13 14 79 80 81 83"},P:{"4":0.17628,"5.0-5.4":0.02104,"6.2-6.4":0.1561,"7.2-7.4":0.01037,"8.2":0.03018,"9.2":0.05185,"10.1":0.06222,"11.1-11.2":0.19701,"12.0":0.14517,"13.0":0.5392,"14.0":3.73291},I:{"0":0,"3":0,"4":0.00077,"2.1":0,"2.2":0,"2.3":0,"4.1":0.00231,"4.2-4.3":0.00615,"4.4":0,"4.4.3-4.4.4":0.035},K:{_:"0 10 11 12 11.1 11.5 12.1"},A:{"11":0.68661,_:"6 7 8 9 10 5.5"},J:{"7":0,"10":0},N:{_:"10 11"},S:{"2.5":0},R:{_:"0"},M:{"0":0.27524},Q:{"10.4":0},O:{"0":0.05898},H:{"0":0.41879},L:{"0":39.12727}}; diff --git a/tools/node_modules/@babel/core/node_modules/caniuse-lite/data/regions/HT.js b/tools/node_modules/@babel/core/node_modules/caniuse-lite/data/regions/HT.js new file mode 100644 index 00000000000000..4e10596021b4f0 --- /dev/null +++ b/tools/node_modules/@babel/core/node_modules/caniuse-lite/data/regions/HT.js @@ -0,0 +1 @@ +module.exports={C:{"16":0.00162,"18":0.00323,"37":0.00162,"38":0.00485,"43":0.00162,"47":0.00808,"52":0.00808,"57":0.00162,"63":0.00162,"65":0.00808,"66":0.00323,"72":0.00485,"78":0.05171,"79":0.00162,"80":0.00646,"82":0.00162,"84":0.00323,"85":0.00646,"86":0.00808,"87":0.05333,"88":0.63509,"89":0.00485,_:"2 3 4 5 6 7 8 9 10 11 12 13 14 15 17 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 39 40 41 42 44 45 46 48 49 50 51 53 54 55 56 58 59 60 61 62 64 67 68 69 70 71 73 74 75 76 77 81 83 90 91 3.5 3.6"},D:{"11":0.00646,"30":0.00485,"33":0.00323,"36":0.00162,"38":0.00323,"39":0.01131,"42":0.01293,"43":0.00646,"46":0.00162,"49":0.01454,"50":0.00323,"53":0.00323,"55":0.00485,"56":0.02747,"57":0.04686,"58":0.00485,"60":0.0711,"61":0.00323,"62":0.00485,"63":0.01293,"64":0.00808,"65":0.0097,"66":0.00808,"67":0.00323,"68":0.00485,"69":0.01454,"70":0.02262,"71":0.00485,"72":0.00646,"73":0.00485,"74":0.01778,"75":0.03717,"76":0.08565,"77":0.0097,"78":0.00485,"79":0.02909,"80":0.0404,"81":0.03232,"83":0.01131,"84":0.01131,"85":0.01939,"86":0.0404,"87":0.17614,"88":0.11474,"89":0.29411,"90":6.90517,"91":0.24563,"92":0.00485,_:"4 5 6 7 8 9 10 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 31 32 34 35 37 40 41 44 45 47 48 51 52 54 59 93 94"},F:{"72":0.00162,"73":0.01454,"74":0.00323,"75":0.4137,"76":0.43955,_:"9 11 12 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 60 62 63 64 65 66 67 68 69 70 71 9.5-9.6 10.5 10.6 11.1 11.5 11.6 12.1","10.0-10.1":0},G:{"8":0,"3.2":0,"4.0-4.1":0,"4.2-4.3":0,"5.0-5.1":0.0056,"6.0-6.1":0.00187,"7.0-7.1":0.03173,"8.1-8.4":0.00373,"9.0-9.2":0.04106,"9.3":0.42922,"10.0-10.2":0.01773,"10.3":0.26313,"11.0-11.2":0.14463,"11.3-11.4":0.19128,"12.0-12.1":0.24167,"12.2-12.4":0.65223,"13.0-13.1":0.20435,"13.2":0.02893,"13.3":0.3751,"13.4-13.7":0.83138,"14.0-14.4":4.36779,"14.5-14.6":0.66996},E:{"4":0,"8":0.00323,"11":0.09373,"13":0.04686,"14":0.38138,_:"0 5 6 7 9 10 12 3.1 3.2 6.1 7.1","5.1":0.0905,"9.1":0.00323,"10.1":0.01616,"11.1":0.01454,"12.1":0.03394,"13.1":0.09534,"14.1":0.23432},B:{"12":0.10019,"13":0.01454,"14":0.01293,"15":0.01616,"16":0.02424,"17":0.07272,"18":0.10342,"80":0.01293,"81":0.00323,"83":0.00485,"84":0.01939,"85":0.00808,"86":0.00323,"87":0.00646,"88":0.01293,"89":0.06464,"90":1.41723,"91":0.0711,_:"79"},P:{"4":0.49551,"5.0-5.4":0.15169,"6.2-6.4":0.05056,"7.2-7.4":0.30337,"8.2":0.01011,"9.2":0.17191,"10.1":0.03034,"11.1-11.2":0.4045,"12.0":0.13146,"13.0":0.52584,"14.0":1.01124},I:{"0":0,"3":0,"4":0.00011,"2.1":0,"2.2":0,"2.3":0,"4.1":0.00102,"4.2-4.3":0.00273,"4.4":0,"4.4.3-4.4.4":0.04643},K:{_:"0 10 11 12 11.1 11.5 12.1"},A:{"9":0.00323,"11":0.1212,_:"6 7 8 10 5.5"},J:{"7":0,"10":0.01677},N:{"10":0.02735,"11":0.02361},S:{"2.5":0},R:{_:"0"},M:{"0":0.13414},Q:{"10.4":0},O:{"0":0.27667},H:{"0":1.11918},L:{"0":72.97018}}; diff --git a/tools/node_modules/@babel/core/node_modules/caniuse-lite/data/regions/HU.js b/tools/node_modules/@babel/core/node_modules/caniuse-lite/data/regions/HU.js new file mode 100644 index 00000000000000..fb7df8f2befc0e --- /dev/null +++ b/tools/node_modules/@babel/core/node_modules/caniuse-lite/data/regions/HU.js @@ -0,0 +1 @@ +module.exports={C:{"47":0.00507,"48":0.01013,"50":0.02026,"52":0.15705,"56":0.01013,"57":0.00507,"59":0.00507,"60":0.01013,"63":0.0152,"66":0.01013,"68":0.02533,"69":0.00507,"72":0.02026,"74":0.02026,"76":0.00507,"77":0.01013,"78":0.14691,"79":0.00507,"80":0.0152,"81":0.0152,"82":0.02026,"83":0.02026,"84":0.04559,"85":0.7447,"86":0.85615,"87":0.11145,"88":6.35276,"89":0.0152,_:"2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 49 51 53 54 55 58 61 62 64 65 67 70 71 73 75 90 91 3.5 3.6"},D:{"22":0.00507,"24":0.02026,"26":0.01013,"33":0.02026,"34":0.02026,"37":0.02026,"38":0.05573,"49":0.69404,"53":0.13172,"58":0.00507,"61":0.03546,"65":0.00507,"66":0.02533,"67":0.00507,"68":0.05066,"69":0.0152,"70":0.0152,"71":0.0152,"72":0.00507,"73":0.01013,"74":0.01013,"75":0.01013,"76":0.01013,"77":0.01013,"78":0.0152,"79":0.08106,"80":0.0304,"81":0.03546,"83":0.08612,"84":0.02533,"85":0.02533,"86":0.04053,"87":0.24823,"88":0.19757,"89":1.04866,"90":28.40506,"91":1.07906,"92":0.01013,_:"4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 23 25 27 28 29 30 31 32 35 36 39 40 41 42 43 44 45 46 47 48 50 51 52 54 55 56 57 59 60 62 63 64 93 94"},F:{"36":0.0152,"40":0.00507,"46":0.00507,"73":0.14691,"74":0.01013,"75":0.89668,"76":1.11959,_:"9 11 12 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 37 38 39 41 42 43 44 45 47 48 49 50 51 52 53 54 55 56 57 58 60 62 63 64 65 66 67 68 69 70 71 72 9.5-9.6 10.5 10.6 11.1 11.5 11.6 12.1","10.0-10.1":0},G:{"8":0,"3.2":0,"4.0-4.1":0,"4.2-4.3":0,"5.0-5.1":0.0056,"6.0-6.1":0.00093,"7.0-7.1":0.01214,"8.1-8.4":0.05881,"9.0-9.2":0.00093,"9.3":0.07655,"10.0-10.2":0.00747,"10.3":0.06255,"11.0-11.2":0.02707,"11.3-11.4":0.02521,"12.0-12.1":0.03081,"12.2-12.4":0.10269,"13.0-13.1":0.02614,"13.2":0.01027,"13.3":0.07935,"13.4-13.7":0.30993,"14.0-14.4":6.32272,"14.5-14.6":1.8633},E:{"4":0,"12":0.00507,"13":0.05573,"14":0.95747,_:"0 5 6 7 8 9 10 11 3.1 3.2 5.1 6.1 7.1 9.1","10.1":0.00507,"11.1":0.03546,"12.1":0.04053,"13.1":0.16718,"14.1":0.46607},B:{"17":0.0152,"18":0.10132,"84":0.01013,"85":0.00507,"87":0.0152,"88":0.01013,"89":0.04559,"90":2.71031,"91":0.21784,_:"12 13 14 15 16 79 80 81 83 86"},P:{"4":0.37563,"5.0-5.4":0.02084,"6.2-6.4":0.0417,"7.2-7.4":0.01102,"8.2":0.01051,"9.2":0.02087,"10.1":0.02087,"11.1-11.2":0.27129,"12.0":0.05217,"13.0":0.29215,"14.0":2.41026},I:{"0":0,"3":0,"4":0,"2.1":0.00675,"2.2":0,"2.3":0,"4.1":0.0054,"4.2-4.3":0.01754,"4.4":0,"4.4.3-4.4.4":0.11337},K:{_:"0 10 11 12 11.1 11.5 12.1"},A:{"11":0.2837,_:"6 7 8 9 10 5.5"},J:{"7":0,"10":0},N:{_:"10 11"},S:{"2.5":0},R:{_:"0"},M:{"0":0.34531},Q:{"10.4":0},O:{"0":0.05426},H:{"0":0.42032},L:{"0":37.38537}}; diff --git a/tools/node_modules/@babel/core/node_modules/caniuse-lite/data/regions/ID.js b/tools/node_modules/@babel/core/node_modules/caniuse-lite/data/regions/ID.js new file mode 100644 index 00000000000000..fc389820831ab3 --- /dev/null +++ b/tools/node_modules/@babel/core/node_modules/caniuse-lite/data/regions/ID.js @@ -0,0 +1 @@ +module.exports={C:{"4":0.00336,"5":0.00336,"15":0.00336,"17":0.01009,"36":0.05379,"47":0.00672,"48":0.00336,"50":0.00336,"52":0.03026,"56":0.00672,"59":0.00336,"60":0.00336,"61":0.00336,"62":0.00336,"63":0.00336,"64":0.01345,"66":0.00672,"68":0.00672,"69":0.00672,"70":0.00672,"71":0.00336,"72":0.02353,"73":0.00336,"76":0.00336,"77":0.00336,"78":0.03362,"79":0.00336,"80":0.01009,"81":0.01345,"82":0.01009,"83":0.01009,"84":0.02353,"85":0.0269,"86":0.0269,"87":0.05715,"88":2.4509,"89":0.10758,_:"2 3 6 7 8 9 10 11 12 13 14 16 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 37 38 39 40 41 42 43 44 45 46 49 51 53 54 55 57 58 65 67 74 75 90 91 3.5 3.6"},D:{"23":0.00336,"24":0.00672,"25":0.01009,"38":0.00672,"43":0.00336,"49":0.04034,"53":0.00672,"55":0.00672,"56":0.00336,"58":0.01345,"61":0.11095,"63":0.0269,"64":0.00672,"65":0.00672,"66":0.00672,"67":0.01009,"68":0.00672,"69":0.00672,"70":0.01681,"71":0.04707,"72":0.01345,"73":0.01345,"74":0.02353,"75":0.01681,"76":0.01681,"77":0.02017,"78":0.0269,"79":0.10086,"80":0.05379,"81":0.03026,"83":0.05043,"84":0.04034,"85":0.06052,"86":0.07733,"87":0.23534,"88":0.16474,"89":0.5749,"90":19.30124,"91":0.53456,"92":0.01345,_:"4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 26 27 28 29 30 31 32 33 34 35 36 37 39 40 41 42 44 45 46 47 48 50 51 52 54 57 59 60 62 93 94"},F:{"57":0.01009,"73":0.02353,"75":0.20844,"76":0.25215,_:"9 11 12 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 58 60 62 63 64 65 66 67 68 69 70 71 72 74 9.5-9.6 10.5 10.6 11.1 11.5 11.6 12.1","10.0-10.1":0},G:{"8":0,"3.2":0,"4.0-4.1":0,"4.2-4.3":0.0016,"5.0-5.1":0.0016,"6.0-6.1":0.02238,"7.0-7.1":0.0016,"8.1-8.4":0.00107,"9.0-9.2":0.00266,"9.3":0.02557,"10.0-10.2":0.00639,"10.3":0.03357,"11.0-11.2":0.01811,"11.3-11.4":0.02504,"12.0-12.1":0.0357,"12.2-12.4":0.16463,"13.0-13.1":0.0357,"13.2":0.01492,"13.3":0.11775,"13.4-13.7":0.27652,"14.0-14.4":3.29527,"14.5-14.6":0.86524},E:{"4":0,"11":0.00336,"12":0.01009,"13":0.02353,"14":0.34292,_:"0 5 6 7 8 9 10 3.1 3.2 6.1 7.1 9.1","5.1":1.76505,"10.1":0.00336,"11.1":0.01345,"12.1":0.03026,"13.1":0.12103,"14.1":0.13112},B:{"12":0.00336,"18":0.01681,"84":0.00336,"85":0.00336,"86":0.00336,"87":0.00336,"88":0.00672,"89":0.03362,"90":1.10946,"91":0.04034,_:"13 14 15 16 17 79 80 81 83"},P:{"4":0.5085,"5.0-5.4":0.02084,"6.2-6.4":0.02034,"7.2-7.4":0.07119,"8.2":0.01017,"9.2":0.09153,"10.1":0.06102,"11.1-11.2":0.23391,"12.0":0.15255,"13.0":0.43731,"14.0":1.10852},I:{"0":0,"3":0,"4":0,"2.1":0,"2.2":0,"2.3":0,"4.1":0.00309,"4.2-4.3":0.02624,"4.4":0,"4.4.3-4.4.4":0.10343},K:{_:"0 10 11 12 11.1 11.5 12.1"},A:{"8":0.00743,"10":0.00372,"11":0.05945,_:"6 7 9 5.5"},J:{"7":0,"10":0},N:{_:"10 11"},S:{"2.5":0},R:{_:"0"},M:{"0":0.12612},Q:{"10.4":0},O:{"0":1.75907},H:{"0":1.37001},L:{"0":59.33307}}; diff --git a/tools/node_modules/@babel/core/node_modules/caniuse-lite/data/regions/IE.js b/tools/node_modules/@babel/core/node_modules/caniuse-lite/data/regions/IE.js new file mode 100644 index 00000000000000..918bf84baa931d --- /dev/null +++ b/tools/node_modules/@babel/core/node_modules/caniuse-lite/data/regions/IE.js @@ -0,0 +1 @@ +module.exports={C:{"11":0.00392,"48":0.00392,"52":0.0196,"70":0.00392,"77":0.00392,"78":0.13328,"79":0.01176,"80":0.01176,"81":0.00784,"82":0.07056,"83":0.00784,"84":0.00784,"85":0.00784,"86":0.01568,"87":0.03136,"88":1.38376,"89":0.01568,_:"2 3 4 5 6 7 8 9 10 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 49 50 51 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 71 72 73 74 75 76 90 91 3.5 3.6"},D:{"38":0.00784,"48":0.00392,"49":0.09016,"53":0.0196,"61":0.18032,"63":0.00784,"65":0.02744,"67":0.01176,"68":0.01176,"69":0.01176,"70":0.00784,"71":0.02744,"72":0.00784,"73":0.00392,"74":0.02744,"75":0.01176,"76":0.04312,"77":0.02352,"78":0.01568,"79":0.04312,"80":0.03136,"81":0.1176,"83":0.0392,"84":0.0392,"85":0.07448,"86":0.10976,"87":0.196,"88":0.65072,"89":1.12896,"90":20.31344,"91":0.55664,"92":0.00784,_:"4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 39 40 41 42 43 44 45 46 47 50 51 52 54 55 56 57 58 59 60 62 64 66 93 94"},F:{"73":0.03136,"75":0.1764,"76":0.19208,_:"9 11 12 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 60 62 63 64 65 66 67 68 69 70 71 72 74 9.5-9.6 10.5 10.6 11.1 11.5 11.6 12.1","10.0-10.1":0},G:{"8":0,"3.2":0,"4.0-4.1":0,"4.2-4.3":0,"5.0-5.1":0.00297,"6.0-6.1":0.00297,"7.0-7.1":0.11569,"8.1-8.4":0.0178,"9.0-9.2":0.01187,"9.3":0.23435,"10.0-10.2":0.02076,"10.3":0.26698,"11.0-11.2":0.07713,"11.3-11.4":0.10679,"12.0-12.1":0.09196,"12.2-12.4":0.41827,"13.0-13.1":0.0534,"13.2":0.06526,"13.3":0.26698,"13.4-13.7":1.06791,"14.0-14.4":22.39054,"14.5-14.6":2.7914},E:{"4":0,"11":0.00784,"12":0.01176,"13":0.2352,"14":5.34688,_:"0 5 6 7 8 9 10 3.1 3.2 6.1 7.1","5.1":0.00392,"9.1":0.00392,"10.1":0.02744,"11.1":0.05096,"12.1":0.0784,"13.1":0.66248,"14.1":0.8232},B:{"16":0.01176,"17":0.0196,"18":0.13328,"80":0.00392,"84":0.00392,"85":0.00392,"86":0.00784,"87":0.00784,"88":0.03136,"89":0.14504,"90":2.97528,"91":0.15288,_:"12 13 14 15 79 81 83"},P:{"4":0.0105,"5.0-5.4":0.01016,"6.2-6.4":0.01016,"7.2-7.4":0.16258,"8.2":0.01069,"9.2":0.02099,"10.1":0.02099,"11.1-11.2":0.19941,"12.0":0.09446,"13.0":0.46179,"14.0":3.32696},I:{"0":0,"3":0,"4":0.00355,"2.1":0,"2.2":0,"2.3":0,"4.1":0.00473,"4.2-4.3":0.00473,"4.4":0,"4.4.3-4.4.4":0.07213},K:{_:"0 10 11 12 11.1 11.5 12.1"},A:{"9":0.05858,"11":0.42358,_:"6 7 8 10 5.5"},J:{"7":0,"10":0},N:{"10":0.02735,"11":0.02361},S:{"2.5":0},R:{_:"0"},M:{"0":0.33446},Q:{"10.4":0.02432},O:{"0":0.04257},H:{"0":0.13241},L:{"0":29.31626}}; diff --git a/tools/node_modules/@babel/core/node_modules/caniuse-lite/data/regions/IL.js b/tools/node_modules/@babel/core/node_modules/caniuse-lite/data/regions/IL.js new file mode 100644 index 00000000000000..45a8c94f4ff009 --- /dev/null +++ b/tools/node_modules/@babel/core/node_modules/caniuse-lite/data/regions/IL.js @@ -0,0 +1 @@ +module.exports={C:{"24":0.00399,"25":0.01196,"26":0.03589,"27":0.00399,"36":0.00399,"45":0.00399,"52":0.02792,"66":0.0678,"68":0.00399,"72":0.00399,"78":0.05583,"79":0.15553,"80":0.02393,"83":0.00399,"84":0.01595,"85":0.00798,"86":0.01595,"87":0.03988,"88":1.328,"89":0.01994,_:"2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 28 29 30 31 32 33 34 35 37 38 39 40 41 42 43 44 46 47 48 49 50 51 53 54 55 56 57 58 59 60 61 62 63 64 65 67 69 70 71 73 74 75 76 77 81 82 90 91 3.5 3.6"},D:{"22":0.00798,"31":0.05184,"32":0.01196,"38":0.02792,"41":0.12762,"49":0.10768,"53":0.03589,"56":0.00798,"57":0.00798,"58":0.00399,"61":0.05982,"62":0.00399,"63":0.00798,"64":0.00399,"65":0.01196,"67":0.00798,"68":0.01595,"69":0.00798,"70":0.00798,"71":0.01994,"72":0.01595,"73":0.0319,"74":0.01595,"75":0.02792,"76":0.02393,"77":0.01196,"78":0.01595,"79":0.08375,"80":0.27916,"81":0.03988,"83":0.02792,"84":0.02792,"85":0.03988,"86":0.05982,"87":0.19142,"88":0.1675,"89":2.96308,"90":24.69768,"91":0.65403,"92":0.01196,_:"4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 23 24 25 26 27 28 29 30 33 34 35 36 37 39 40 42 43 44 45 46 47 48 50 51 52 54 55 59 60 66 93 94"},F:{"68":0.00399,"73":0.04786,"75":0.24327,"76":0.35892,_:"9 11 12 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 60 62 63 64 65 66 67 69 70 71 72 74 9.5-9.6 10.5 10.6 11.1 11.5 11.6 12.1","10.0-10.1":0},G:{"8":0.00242,"3.2":0.00242,"4.0-4.1":0,"4.2-4.3":0,"5.0-5.1":0.00969,"6.0-6.1":0.00969,"7.0-7.1":0.02664,"8.1-8.4":0.0218,"9.0-9.2":0.00363,"9.3":0.13563,"10.0-10.2":0.02785,"10.3":0.11262,"11.0-11.2":0.03875,"11.3-11.4":0.06418,"12.0-12.1":0.06055,"12.2-12.4":0.20708,"13.0-13.1":0.05449,"13.2":0.02422,"13.3":0.1538,"13.4-13.7":0.4081,"14.0-14.4":8.57864,"14.5-14.6":1.75714},E:{"4":0,"7":0.00399,"8":0.12762,"13":0.03988,"14":0.92522,_:"0 5 6 9 10 11 12 3.1 3.2 7.1 9.1","5.1":0.01595,"6.1":0.01196,"10.1":0.00399,"11.1":0.01595,"12.1":0.0319,"13.1":0.11166,"14.1":0.2991},B:{"16":0.01196,"17":0.01196,"18":0.05583,"84":0.01196,"85":0.00399,"86":0.00798,"87":0.01196,"88":0.01196,"89":0.0678,"90":1.99799,"91":0.08774,_:"12 13 14 15 79 80 81 83"},P:{"4":0.07152,"5.0-5.4":0.14145,"6.2-6.4":0.14145,"7.2-7.4":0.04087,"8.2":0.03065,"9.2":0.19413,"10.1":0.10217,"11.1-11.2":0.34738,"12.0":0.27586,"13.0":0.7765,"14.0":5.74204},I:{"0":0,"3":0,"4":0,"2.1":0,"2.2":0,"2.3":0,"4.1":0.00169,"4.2-4.3":0.00466,"4.4":0,"4.4.3-4.4.4":0.02371},K:{_:"0 10 11 12 11.1 11.5 12.1"},A:{"9":0.00798,"10":0.00798,"11":0.63808,_:"6 7 8 5.5"},J:{"7":0,"10":0},N:{_:"10 11"},S:{"2.5":0},R:{_:"0"},M:{"0":0.22244},Q:{"10.4":0.01804},O:{"0":0.10822},H:{"0":0.35858},L:{"0":41.88552}}; diff --git a/tools/node_modules/@babel/core/node_modules/caniuse-lite/data/regions/IM.js b/tools/node_modules/@babel/core/node_modules/caniuse-lite/data/regions/IM.js new file mode 100644 index 00000000000000..9cafd428676d87 --- /dev/null +++ b/tools/node_modules/@babel/core/node_modules/caniuse-lite/data/regions/IM.js @@ -0,0 +1 @@ +module.exports={C:{"52":0.14448,"72":0.01926,"78":0.04816,"85":0.00482,"86":0.02408,"87":0.0289,"88":2.72104,"89":0.00963,_:"2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 73 74 75 76 77 79 80 81 82 83 84 90 91 3.5 3.6"},D:{"49":1.01136,"65":0.00963,"67":0.13485,"71":0.13485,"72":0.04334,"74":0.00482,"75":0.06261,"76":0.01926,"77":0.03853,"78":0.01926,"79":0.06261,"80":0.03853,"81":0.03371,"83":0.0289,"84":0.01926,"85":0.0289,"86":0.04334,"87":0.19264,"88":0.2697,"89":0.86688,"90":20.21275,"91":0.7224,_:"4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 66 68 69 70 73 92 93 94"},F:{"46":0.00482,"73":0.02408,"74":0.00482,"75":0.17338,"76":0.28414,_:"9 11 12 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 47 48 49 50 51 52 53 54 55 56 57 58 60 62 63 64 65 66 67 68 69 70 71 72 9.5-9.6 10.5 10.6 11.1 11.5 11.6 12.1","10.0-10.1":0},G:{"8":0,"3.2":0,"4.0-4.1":0,"4.2-4.3":0,"5.0-5.1":0.00303,"6.0-6.1":0.00303,"7.0-7.1":0.01211,"8.1-8.4":0.00908,"9.0-9.2":0,"9.3":0.88678,"10.0-10.2":0.00605,"10.3":0.69308,"11.0-11.2":0.16343,"11.3-11.4":0.03935,"12.0-12.1":0.06053,"12.2-12.4":0.36319,"13.0-13.1":0.01211,"13.2":0.01513,"13.3":0.23002,"13.4-13.7":0.81717,"14.0-14.4":22.10907,"14.5-14.6":2.08833},E:{"4":0,"11":0.0289,"12":0.01445,"13":0.13485,"14":6.02482,_:"0 5 6 7 8 9 10 3.1 3.2 5.1 7.1","6.1":0.01926,"9.1":0.00482,"10.1":0.05298,"11.1":0.18301,"12.1":0.1204,"13.1":1.34848,"14.1":3.59274},B:{"14":0.06261,"16":0.01445,"17":0.01926,"18":0.1204,"80":0.00482,"86":0.01926,"87":0.01926,"88":0.00963,"89":0.2697,"90":6.44381,"91":0.25043,_:"12 13 15 79 81 83 84 85"},P:{"4":0.01113,"5.0-5.4":0.01016,"6.2-6.4":0.01016,"7.2-7.4":0.16258,"8.2":0.03338,"9.2":0.02099,"10.1":0.10013,"11.1-11.2":0.19941,"12.0":0.05563,"13.0":0.18913,"14.0":3.11501},I:{"0":0,"3":0,"4":0.02577,"2.1":0,"2.2":0,"2.3":0,"4.1":0,"4.2-4.3":0.0007,"4.4":0,"4.4.3-4.4.4":0.02019},K:{_:"0 10 11 12 11.1 11.5 12.1"},A:{"9":0.03556,"11":0.6146,_:"6 7 8 10 5.5"},J:{"7":0,"10":0},N:{"10":0.02735,"11":0.02361},S:{"2.5":0},R:{_:"0"},M:{"0":0.52877},Q:{"10.4":0},O:{"0":0.0311},H:{"0":0.27975},L:{"0":20.4319}}; diff --git a/tools/node_modules/@babel/core/node_modules/caniuse-lite/data/regions/IN.js b/tools/node_modules/@babel/core/node_modules/caniuse-lite/data/regions/IN.js new file mode 100644 index 00000000000000..31a69505aa25ff --- /dev/null +++ b/tools/node_modules/@babel/core/node_modules/caniuse-lite/data/regions/IN.js @@ -0,0 +1 @@ +module.exports={C:{"42":0.00656,"43":0.00219,"47":0.00656,"48":0.00219,"52":0.01749,"56":0.00219,"66":0.00437,"68":0.00219,"72":0.00437,"78":0.02405,"79":0.00219,"80":0.00219,"81":0.00437,"82":0.00437,"83":0.00437,"84":0.00656,"85":0.00656,"86":0.00874,"87":0.02186,"88":0.80226,"89":0.06558,_:"2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 44 45 46 49 50 51 53 54 55 57 58 59 60 61 62 63 64 65 67 69 70 71 73 74 75 76 77 90 91 3.5 3.6"},D:{"33":0.00219,"49":0.0306,"51":0.00219,"53":0.00437,"55":0.00437,"56":0.00219,"58":0.00656,"61":0.01312,"63":0.01312,"64":0.00656,"65":0.00437,"66":0.00219,"67":0.00437,"68":0.00437,"69":0.00656,"70":0.02186,"71":0.03716,"72":0.00656,"73":0.00656,"74":0.01312,"75":0.00874,"76":0.00656,"77":0.00874,"78":0.0153,"79":0.02623,"80":0.03498,"81":0.02623,"83":0.04591,"84":0.02842,"85":0.02842,"86":0.05028,"87":0.11367,"88":0.10274,"89":0.42408,"90":13.56194,"91":0.45906,"92":0.01749,_:"4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 50 52 54 57 59 60 62 93 94"},F:{"64":0.00219,"73":0.01093,"74":0.00219,"75":0.09837,"76":0.17051,_:"9 11 12 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 60 62 63 65 66 67 68 69 70 71 72 9.5-9.6 10.5 10.6 11.1 11.5 11.6 12.1","10.0-10.1":0},G:{"8":0.00086,"3.2":0,"4.0-4.1":0,"4.2-4.3":0.00043,"5.0-5.1":0.00086,"6.0-6.1":0.00086,"7.0-7.1":0.00843,"8.1-8.4":0.00043,"9.0-9.2":0.00108,"9.3":0.01404,"10.0-10.2":0.00302,"10.3":0.01491,"11.0-11.2":0.07065,"11.3-11.4":0.01426,"12.0-12.1":0.01577,"12.2-12.4":0.05899,"13.0-13.1":0.01253,"13.2":0.0067,"13.3":0.03047,"13.4-13.7":0.08837,"14.0-14.4":1.1899,"14.5-14.6":0.47535},E:{"4":0,"13":0.00874,"14":0.22516,_:"0 5 6 7 8 9 10 11 12 3.1 3.2 6.1 7.1 9.1 10.1","5.1":0.06995,"11.1":0.00437,"12.1":0.00874,"13.1":0.04591,"14.1":0.11804},B:{"12":0.00437,"13":0.00219,"15":0.00219,"16":0.00437,"17":0.00437,"18":0.0153,"84":0.00437,"85":0.00437,"86":0.00219,"87":0.00437,"88":0.00656,"89":0.02623,"90":0.71045,"91":0.02842,_:"14 79 80 81 83"},P:{"4":0.44294,"5.0-5.4":0.02084,"6.2-6.4":0.0309,"7.2-7.4":0.14421,"8.2":0.01051,"9.2":0.06181,"10.1":0.0309,"11.1-11.2":0.14421,"12.0":0.08241,"13.0":0.31933,"14.0":0.58715},I:{"0":0,"3":0,"4":0,"2.1":0,"2.2":0,"2.3":0,"4.1":0.00182,"4.2-4.3":0.00363,"4.4":0,"4.4.3-4.4.4":0.03361},K:{_:"0 10 11 12 11.1 11.5 12.1"},A:{"8":0.00219,"11":0.05246,_:"6 7 9 10 5.5"},J:{"7":0,"10":0},N:{_:"10 11"},S:{"2.5":0.76567},R:{_:"0"},M:{"0":0.14063},Q:{"10.4":0},O:{"0":3.85181},H:{"0":3.2916},L:{"0":69.69318}}; diff --git a/tools/node_modules/@babel/core/node_modules/caniuse-lite/data/regions/IQ.js b/tools/node_modules/@babel/core/node_modules/caniuse-lite/data/regions/IQ.js new file mode 100644 index 00000000000000..c8e4e1cd7f439d --- /dev/null +++ b/tools/node_modules/@babel/core/node_modules/caniuse-lite/data/regions/IQ.js @@ -0,0 +1 @@ +module.exports={C:{"15":0.00195,"17":0.00391,"34":0.00782,"47":0.00195,"52":0.04299,"65":0.00195,"72":0.00586,"78":0.06448,"84":0.00195,"85":0.00391,"86":0.01172,"87":0.01368,"88":0.60379,"89":0.04299,_:"2 3 4 5 6 7 8 9 10 11 12 13 14 16 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 35 36 37 38 39 40 41 42 43 44 45 46 48 49 50 51 53 54 55 56 57 58 59 60 61 62 63 64 66 67 68 69 70 71 73 74 75 76 77 79 80 81 82 83 90 91 3.5 3.6"},D:{"24":0.00391,"26":0.00195,"33":0.00391,"34":0.00195,"38":0.02736,"39":0.00391,"40":0.00391,"41":0.00195,"43":0.06448,"47":0.00195,"48":0.00195,"49":0.02345,"53":0.01759,"55":0.00391,"58":0.00195,"60":0.00586,"62":0.00195,"63":0.01954,"64":0.00195,"65":0.00391,"67":0.00391,"68":0.00977,"69":0.01172,"70":0.03126,"71":0.00586,"72":0.00782,"73":0.00586,"74":0.00586,"75":0.01954,"76":0.00586,"77":0.00391,"78":0.00977,"79":0.08207,"80":0.01368,"81":0.02736,"83":0.08011,"84":0.00977,"85":0.02149,"86":0.08402,"87":0.09575,"88":0.08598,"89":0.32827,"90":9.92437,"91":0.45137,"92":0.00977,_:"4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 25 27 28 29 30 31 32 35 36 37 42 44 45 46 50 51 52 54 56 57 59 61 66 93 94"},F:{"73":0.04885,"74":0.00195,"75":0.23448,"76":0.26965,_:"9 11 12 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 60 62 63 64 65 66 67 68 69 70 71 72 9.5-9.6 10.5 10.6 11.1 11.5 11.6 12.1","10.0-10.1":0},G:{"8":0,"3.2":0,"4.0-4.1":0,"4.2-4.3":0,"5.0-5.1":0.00498,"6.0-6.1":0.00249,"7.0-7.1":0.06346,"8.1-8.4":0,"9.0-9.2":0.00498,"9.3":0.06346,"10.0-10.2":0.01742,"10.3":0.09456,"11.0-11.2":0.02613,"11.3-11.4":0.05973,"12.0-12.1":0.05599,"12.2-12.4":0.29116,"13.0-13.1":0.0336,"13.2":0.01991,"13.3":0.13065,"13.4-13.7":0.40439,"14.0-14.4":7.95587,"14.5-14.6":2.39771},E:{"4":0,"12":0.00195,"13":0.02149,"14":1.47918,_:"0 5 6 7 8 9 10 11 3.1 3.2 6.1 7.1 9.1","5.1":0.26379,"10.1":0.00586,"11.1":0.00586,"12.1":0.01172,"13.1":0.08598,"14.1":0.46505},B:{"12":0.00195,"13":0.00195,"15":0.00195,"16":0.00586,"17":0.00586,"18":0.0469,"83":0.00195,"84":0.00977,"85":0.00586,"87":0.00391,"88":0.00782,"89":0.01759,"90":0.8539,"91":0.07621,_:"14 79 80 81 86"},P:{"4":0.19307,"5.0-5.4":0.01016,"6.2-6.4":0.01016,"7.2-7.4":0.16258,"8.2":0.01069,"9.2":0.17274,"10.1":0.05081,"11.1-11.2":0.45726,"12.0":0.22355,"13.0":0.91452,"14.0":4.10517},I:{"0":0,"3":0,"4":0.00151,"2.1":0,"2.2":0,"2.3":0,"4.1":0.00151,"4.2-4.3":0.00754,"4.4":0,"4.4.3-4.4.4":0.07795},K:{_:"0 10 11 12 11.1 11.5 12.1"},A:{"8":0.01232,"10":0.00411,"11":0.18483,_:"6 7 9 5.5"},J:{"7":0,"10":0},N:{"10":0.02735,"11":0.02361},S:{"2.5":0},R:{_:"0"},M:{"0":0.09655},Q:{"10.4":0},O:{"0":0.62759},H:{"0":0.3047},L:{"0":63.96773}}; diff --git a/tools/node_modules/@babel/core/node_modules/caniuse-lite/data/regions/IR.js b/tools/node_modules/@babel/core/node_modules/caniuse-lite/data/regions/IR.js new file mode 100644 index 00000000000000..856f3cb94002ca --- /dev/null +++ b/tools/node_modules/@babel/core/node_modules/caniuse-lite/data/regions/IR.js @@ -0,0 +1 @@ +module.exports={C:{"3":0.00484,"27":0.00484,"29":0.00484,"30":0.00484,"31":0.00242,"32":0.00242,"33":0.00968,"37":0.00242,"38":0.00726,"39":0.00484,"40":0.00484,"41":0.00726,"42":0.00242,"43":0.01211,"45":0.00242,"46":0.00242,"47":0.01695,"48":0.00726,"49":0.00484,"50":0.00484,"52":0.08958,"53":0.00484,"54":0.00242,"56":0.00968,"57":0.00484,"59":0.00242,"60":0.00484,"61":0.00242,"62":0.00484,"64":0.00242,"65":0.00242,"66":0.00242,"67":0.00242,"68":0.00726,"69":0.00484,"70":0.00484,"71":0.00242,"72":0.02905,"73":0.00242,"74":0.00242,"75":0.00484,"76":0.00484,"77":0.00484,"78":0.13558,"79":0.00968,"80":0.01211,"81":0.01453,"82":0.01453,"83":0.01453,"84":0.02421,"85":0.02663,"86":0.03632,"87":0.10168,"88":3.4475,"89":0.03874,_:"2 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 28 34 35 36 44 51 55 58 63 90 91 3.5","3.6":0.00242},D:{"11":0.00242,"31":0.00242,"33":0.00726,"34":0.00484,"35":0.01695,"38":0.01211,"39":0.00484,"41":0.00968,"42":0.00242,"48":0.00484,"49":0.08474,"51":0.00484,"53":0.00726,"54":0.00484,"55":0.00484,"56":0.00242,"57":0.00242,"58":0.00726,"60":0.00484,"61":0.04116,"62":0.00726,"63":0.046,"64":0.00484,"65":0.00242,"66":0.00242,"67":0.00726,"68":0.00726,"69":0.00726,"70":0.00726,"71":0.02421,"72":0.00726,"73":0.00484,"74":0.00968,"75":0.00968,"76":0.05326,"77":0.01453,"78":0.01453,"79":0.03874,"80":0.08231,"81":0.04358,"83":0.05084,"84":0.06295,"85":0.08958,"86":0.11863,"87":0.184,"88":0.138,"89":0.30747,"90":12.14374,"91":0.2881,"92":0.00726,_:"4 5 6 7 8 9 10 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 32 36 37 40 43 44 45 46 47 50 52 59 93 94"},F:{"64":0.00484,"68":0.00242,"71":0.00242,"72":0.00242,"73":0.01695,"74":0.00726,"75":0.19368,"76":0.27599,_:"9 11 12 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 60 62 63 65 66 67 69 70 9.5-9.6 10.5 10.6 11.1 11.5 11.6","10.0-10.1":0,"12.1":0.00242},G:{"8":0,"3.2":0,"4.0-4.1":0.00037,"4.2-4.3":0,"5.0-5.1":0.00187,"6.0-6.1":0.0015,"7.0-7.1":0.00712,"8.1-8.4":0.00187,"9.0-9.2":0.00262,"9.3":0.03486,"10.0-10.2":0.01612,"10.3":0.05361,"11.0-11.2":0.04274,"11.3-11.4":0.05211,"12.0-12.1":0.04986,"12.2-12.4":0.20843,"13.0-13.1":0.04611,"13.2":0.02474,"13.3":0.12296,"13.4-13.7":0.26916,"14.0-14.4":1.94332,"14.5-14.6":0.46296},E:{"4":0,"5":0.00242,"7":0.00484,"13":0.01453,"14":0.07263,_:"0 6 8 9 10 11 12 3.1 3.2 6.1 7.1 10.1","5.1":0.10168,"9.1":0.00484,"11.1":0.00242,"12.1":0.00484,"13.1":0.02179,"14.1":0.02663},B:{"12":0.00484,"13":0.00484,"14":0.00968,"15":0.00484,"16":0.00484,"17":0.00968,"18":0.046,"81":0.00484,"84":0.01211,"85":0.00726,"86":0.00484,"87":0.00484,"88":0.00484,"89":0.03147,"90":0.45273,"91":0.00968,_:"79 80 83"},P:{"4":1.64685,"5.0-5.4":0.14145,"6.2-6.4":0.14145,"7.2-7.4":1.00024,"8.2":0.15155,"9.2":0.80827,"10.1":0.36372,"11.1-11.2":1.7984,"12.0":0.8992,"13.0":2.73802,"14.0":3.44526},I:{"0":0,"3":0,"4":0.00062,"2.1":0,"2.2":0,"2.3":0,"4.1":0.00342,"4.2-4.3":0.03386,"4.4":0,"4.4.3-4.4.4":0.11369},K:{_:"0 10 11 12 11.1 11.5 12.1"},A:{"8":0.02678,"9":0.00974,"10":0.0073,"11":2.09634,_:"6 7 5.5"},J:{"7":0,"10":0},N:{_:"10 11"},S:{"2.5":0},R:{_:"0"},M:{"0":0.77306},Q:{"10.4":0},O:{"0":0.12126},H:{"0":0.43052},L:{"0":60.07709}}; diff --git a/tools/node_modules/@babel/core/node_modules/caniuse-lite/data/regions/IS.js b/tools/node_modules/@babel/core/node_modules/caniuse-lite/data/regions/IS.js new file mode 100644 index 00000000000000..b7b5a089bf23ee --- /dev/null +++ b/tools/node_modules/@babel/core/node_modules/caniuse-lite/data/regions/IS.js @@ -0,0 +1 @@ +module.exports={C:{"48":0.09488,"52":0.04428,"76":0.01898,"78":0.1771,"81":0.01265,"84":0.08223,"85":0.01265,"86":0.03163,"87":0.0506,"88":4.33895,"89":0.01265,_:"2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 49 50 51 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 77 79 80 82 83 90 91 3.5 3.6"},D:{"38":0.00633,"48":0.03163,"49":0.18975,"53":0.01265,"65":0.03795,"66":0.03163,"67":0.03795,"70":0.01265,"75":0.01265,"76":0.01898,"77":0.00633,"78":0.0506,"79":0.01898,"80":0.03795,"81":0.0253,"83":0.0253,"84":0.01898,"85":0.05693,"86":0.04428,"87":0.43643,"88":0.42378,"89":2.2517,"90":34.2056,"91":1.22705,"92":0.0253,_:"4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 39 40 41 42 43 44 45 46 47 50 51 52 54 55 56 57 58 59 60 61 62 63 64 68 69 71 72 73 74 93 94"},F:{"70":0.01898,"73":0.18343,"75":0.57558,"76":0.61353,_:"9 11 12 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 60 62 63 64 65 66 67 68 69 71 72 74 9.5-9.6 10.5 10.6 11.1 11.5 11.6","10.0-10.1":0,"12.1":0.00633},G:{"8":0,"3.2":0,"4.0-4.1":0,"4.2-4.3":0,"5.0-5.1":0,"6.0-6.1":0,"7.0-7.1":0,"8.1-8.4":0.12398,"9.0-9.2":0,"9.3":0.05796,"10.0-10.2":0,"10.3":0.10788,"11.0-11.2":0.02254,"11.3-11.4":0.05313,"12.0-12.1":0.07245,"12.2-12.4":0.20609,"13.0-13.1":0.03864,"13.2":0.0161,"13.3":0.13686,"13.4-13.7":0.44599,"14.0-14.4":12.92258,"14.5-14.6":1.55052},E:{"4":0,"12":0.01265,"13":0.13915,"14":7.00178,_:"0 5 6 7 8 9 10 11 3.1 3.2 5.1 6.1 7.1","9.1":0.01265,"10.1":0.03163,"11.1":0.29728,"12.1":0.3542,"13.1":1.05628,"14.1":2.11255},B:{"17":0.0253,"18":0.11385,"84":0.03163,"85":0.00633,"86":0.0253,"87":0.01265,"88":0.00633,"89":0.06325,"90":4.25673,"91":0.44275,_:"12 13 14 15 16 79 80 81 83"},P:{"4":0.01069,"5.0-5.4":0.15169,"6.2-6.4":0.05056,"7.2-7.4":0.17615,"8.2":0.01069,"9.2":0.01069,"10.1":0.02139,"11.1-11.2":0.07486,"12.0":0.09624,"13.0":0.22457,"14.0":3.34714},I:{"0":0,"3":0,"4":0,"2.1":0,"2.2":0,"2.3":0,"4.1":0.00674,"4.2-4.3":0,"4.4":0,"4.4.3-4.4.4":0.03369},K:{_:"0 10 11 12 11.1 11.5 12.1"},A:{"11":0.24035,_:"6 7 8 9 10 5.5"},J:{"7":0,"10":0},N:{"10":0.02735,"11":0.02361},S:{"2.5":0.0147},R:{_:"0"},M:{"0":0.28298},Q:{"10.4":0},O:{"0":0.00368},H:{"0":0.167},L:{"0":17.62138}}; diff --git a/tools/node_modules/@babel/core/node_modules/caniuse-lite/data/regions/IT.js b/tools/node_modules/@babel/core/node_modules/caniuse-lite/data/regions/IT.js new file mode 100644 index 00000000000000..6b50f3570bed93 --- /dev/null +++ b/tools/node_modules/@babel/core/node_modules/caniuse-lite/data/regions/IT.js @@ -0,0 +1 @@ +module.exports={C:{"34":0.00506,"45":0.01012,"48":0.01518,"52":0.07085,"54":0.00506,"55":0.00506,"56":0.01518,"59":0.01012,"60":0.00506,"66":0.01012,"68":0.01012,"72":0.01012,"78":0.36439,"80":0.00506,"81":0.00506,"82":0.03543,"83":0.01518,"84":0.01518,"85":0.01518,"86":0.02024,"87":0.15183,"88":8.70492,"89":0.02024,_:"2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 35 36 37 38 39 40 41 42 43 44 46 47 49 50 51 53 57 58 61 62 63 64 65 67 69 70 71 73 74 75 76 77 79 90 91 3.5 3.6"},D:{"26":0.01012,"38":0.03037,"49":0.22268,"50":0.14677,"52":0.01012,"53":0.51622,"55":0.01012,"56":0.02531,"59":0.01012,"60":0.04555,"61":0.06579,"63":0.01518,"65":0.02024,"66":0.07592,"67":0.02024,"68":0.09616,"69":0.13159,"70":0.02024,"71":0.01012,"72":0.01012,"73":0.02024,"74":0.03037,"75":0.01518,"76":0.01012,"77":0.02024,"78":0.01518,"79":0.12146,"80":0.03543,"81":0.06073,"83":0.05061,"84":0.03543,"85":0.05061,"86":0.0911,"87":0.2075,"88":0.14677,"89":0.65793,"90":25.75037,"91":0.70348,"92":0.01012,_:"4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 27 28 29 30 31 32 33 34 35 36 37 39 40 41 42 43 44 45 46 47 48 51 54 57 58 62 64 93 94"},F:{"32":0.00506,"36":0.00506,"46":0.02024,"73":0.08098,"74":0.00506,"75":0.35427,"76":0.43019,_:"9 11 12 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 33 34 35 37 38 39 40 41 42 43 44 45 47 48 49 50 51 52 53 54 55 56 57 58 60 62 63 64 65 66 67 68 69 70 71 72 9.5-9.6 10.5 10.6 11.1 11.5 11.6 12.1","10.0-10.1":0},G:{"8":0.00289,"3.2":0,"4.0-4.1":0,"4.2-4.3":0,"5.0-5.1":0.00577,"6.0-6.1":0.00481,"7.0-7.1":0.02021,"8.1-8.4":0.00962,"9.0-9.2":0.01155,"9.3":0.12894,"10.0-10.2":0.01925,"10.3":0.14434,"11.0-11.2":0.06543,"11.3-11.4":0.06255,"12.0-12.1":0.04715,"12.2-12.4":0.15396,"13.0-13.1":0.05004,"13.2":0.01925,"13.3":0.10874,"13.4-13.7":0.33871,"14.0-14.4":6.45386,"14.5-14.6":1.54442},E:{"4":0,"11":0.00506,"12":0.01518,"13":0.0911,"14":2.19647,_:"0 5 6 7 8 9 10 3.1 3.2 6.1 7.1","5.1":0.01012,"9.1":0.01012,"10.1":0.03037,"11.1":0.0911,"12.1":0.10122,"13.1":0.45549,"14.1":0.91098},B:{"17":0.01518,"18":0.24293,"84":0.01012,"85":0.00506,"86":0.01012,"87":0.01012,"88":0.01012,"89":0.04555,"90":3.06697,"91":0.11134,_:"12 13 14 15 16 79 80 81 83"},P:{"4":0.71806,"5.0-5.4":0.01041,"6.2-6.4":0.14145,"7.2-7.4":0.04087,"8.2":0.02081,"9.2":0.06244,"10.1":0.05203,"11.1-11.2":0.19773,"12.0":0.12488,"13.0":0.40586,"14.0":2.39355},I:{"0":0,"3":0,"4":0,"2.1":0,"2.2":0,"2.3":0,"4.1":0.00116,"4.2-4.3":0.01043,"4.4":0,"4.4.3-4.4.4":0.08226},K:{_:"0 10 11 12 11.1 11.5 12.1"},A:{"9":0.0056,"11":0.52074,_:"6 7 8 10 5.5"},J:{"7":0,"10":0},N:{_:"10 11"},S:{"2.5":0},R:{_:"0"},M:{"0":0.24695},Q:{"10.4":0.0247},O:{"0":0.17287},H:{"0":0.19639},L:{"0":36.61404}}; diff --git a/tools/node_modules/@babel/core/node_modules/caniuse-lite/data/regions/JE.js b/tools/node_modules/@babel/core/node_modules/caniuse-lite/data/regions/JE.js new file mode 100644 index 00000000000000..3e72bbd7b4ee86 --- /dev/null +++ b/tools/node_modules/@babel/core/node_modules/caniuse-lite/data/regions/JE.js @@ -0,0 +1 @@ +module.exports={C:{"48":0.0093,"52":0.0093,"60":0.0093,"65":0.09769,"78":0.08839,"81":0.0093,"84":0.11165,"85":0.01861,"86":0.01861,"87":0.03722,"88":1.87941,"89":0.0093,_:"2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 49 50 51 53 54 55 56 57 58 59 61 62 63 64 66 67 68 69 70 71 72 73 74 75 76 77 79 80 82 83 90 91 3.5 3.6"},D:{"42":0.01861,"49":0.25586,"53":0.02326,"61":1.70728,"63":0.0093,"65":0.03722,"67":0.01396,"69":0.0093,"72":0.06513,"74":0.02791,"75":0.0093,"78":0.00465,"79":0.01396,"80":0.04652,"81":0.00465,"83":0.0093,"84":0.04187,"85":0.03722,"86":0.04652,"87":0.20469,"88":0.15817,"89":0.85132,"90":17.11936,"91":0.62802,"92":0.01396,_:"4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 43 44 45 46 47 48 50 51 52 54 55 56 57 58 59 60 62 64 66 68 70 71 73 76 77 93 94"},F:{"73":0.01861,"75":0.45124,"76":0.18143,_:"9 11 12 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 60 62 63 64 65 66 67 68 69 70 71 72 74 9.5-9.6 10.5 10.6 11.1 11.5 11.6 12.1","10.0-10.1":0},G:{"8":0,"3.2":0,"4.0-4.1":0,"4.2-4.3":0,"5.0-5.1":0,"6.0-6.1":0.14502,"7.0-7.1":0.00354,"8.1-8.4":0.03183,"9.0-9.2":0,"9.3":0.45984,"10.0-10.2":0.02476,"10.3":0.67207,"11.0-11.2":0.03537,"11.3-11.4":0.10258,"12.0-12.1":0.03183,"12.2-12.4":0.46337,"13.0-13.1":0.03537,"13.2":0.01415,"13.3":0.24053,"13.4-13.7":0.68975,"14.0-14.4":27.75636,"14.5-14.6":3.13042},E:{"4":0,"12":0.01861,"13":0.12095,"14":9.32261,_:"0 5 6 7 8 9 10 11 3.1 3.2 5.1 6.1 7.1","9.1":0.02326,"10.1":0.05117,"11.1":0.09304,"12.1":0.2233,"13.1":1.25139,"14.1":2.13992},B:{"12":0.00465,"13":0.00465,"16":0.26051,"17":0.01861,"18":0.08839,"80":0.06978,"85":0.01396,"86":0.04187,"87":0.01396,"88":0.00465,"89":0.06978,"90":6.0569,"91":0.26982,_:"14 15 79 81 83 84"},P:{"4":0.49293,"5.0-5.4":0.01016,"6.2-6.4":0.01016,"7.2-7.4":0.1409,"8.2":0.03338,"9.2":0.01095,"10.1":0.10013,"11.1-11.2":0.07668,"12.0":0.05477,"13.0":0.38339,"14.0":3.29712},I:{"0":0,"3":0,"4":0.00055,"2.1":0,"2.2":0,"2.3":0,"4.1":0,"4.2-4.3":0.00041,"4.4":0,"4.4.3-4.4.4":0.00974},K:{_:"0 10 11 12 11.1 11.5 12.1"},A:{"11":1.20952,_:"6 7 8 9 10 5.5"},J:{"7":0,"10":0},N:{"10":0.02735,"11":0.02361},S:{"2.5":0},R:{_:"0"},M:{"0":0.18183},Q:{"10.4":0},O:{"0":0.01604},H:{"0":0.21265},L:{"0":15.27381}}; diff --git a/tools/node_modules/@babel/core/node_modules/caniuse-lite/data/regions/JM.js b/tools/node_modules/@babel/core/node_modules/caniuse-lite/data/regions/JM.js new file mode 100644 index 00000000000000..13531eb05d2e64 --- /dev/null +++ b/tools/node_modules/@babel/core/node_modules/caniuse-lite/data/regions/JM.js @@ -0,0 +1 @@ +module.exports={C:{"61":0.00436,"67":0.01745,"78":0.02617,"84":0.00872,"86":0.01309,"87":0.02181,"88":1.27807,"89":0.00872,_:"2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 62 63 64 65 66 68 69 70 71 72 73 74 75 76 77 79 80 81 82 83 85 90 91 3.5 3.6"},D:{"38":0.00436,"42":0.00436,"43":0.02181,"47":0.01309,"49":0.18757,"50":0.01309,"53":0.04362,"55":0.01309,"56":0.00872,"58":0.00436,"63":0.01309,"65":0.01309,"68":0.02181,"69":0.01745,"70":0.01309,"71":0.00872,"72":0.00436,"73":0.01309,"74":0.38822,"75":0.16139,"76":0.13522,"77":0.05234,"78":0.07852,"79":0.0916,"80":0.06543,"81":0.07852,"83":0.02181,"84":0.13522,"85":0.04798,"86":0.06979,"87":0.23119,"88":0.18757,"89":0.85931,"90":24.64966,"91":0.84187,"92":0.06543,_:"4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 39 40 41 44 45 46 48 51 52 54 57 59 60 61 62 64 66 67 93 94"},F:{"57":0.00872,"73":0.05671,"75":0.46673,"76":0.44492,_:"9 11 12 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 58 60 62 63 64 65 66 67 68 69 70 71 72 74 9.5-9.6 10.5 10.6 11.1 11.5 11.6 12.1","10.0-10.1":0},G:{"8":0,"3.2":0.00256,"4.0-4.1":0,"4.2-4.3":0,"5.0-5.1":0.00769,"6.0-6.1":0,"7.0-7.1":0.19479,"8.1-8.4":0.00128,"9.0-9.2":0.00128,"9.3":0.16275,"10.0-10.2":0,"10.3":0.07561,"11.0-11.2":0.132,"11.3-11.4":0.12687,"12.0-12.1":0.03332,"12.2-12.4":0.12815,"13.0-13.1":0.02691,"13.2":0.00641,"13.3":0.12943,"13.4-13.7":0.44341,"14.0-14.4":8.46577,"14.5-14.6":2.14399},E:{"4":0,"13":0.02181,"14":1.35222,_:"0 5 6 7 8 9 10 11 12 3.1 3.2 6.1 7.1 9.1","5.1":0.0916,"10.1":0.02181,"11.1":0.03053,"12.1":0.03053,"13.1":0.23991,"14.1":0.31406},B:{"12":0.01309,"13":0.01309,"14":0.00872,"15":0.03053,"16":0.02181,"17":0.02617,"18":0.10469,"79":0.00436,"80":0.00872,"84":0.01309,"85":0.00872,"86":0.01309,"87":0.02617,"88":0.01309,"89":0.11341,"90":4.69787,"91":0.32715,_:"81 83"},P:{"4":0.16258,"5.0-5.4":0.01016,"6.2-6.4":0.01016,"7.2-7.4":0.1409,"8.2":0.03338,"9.2":0.09755,"10.1":0.10013,"11.1-11.2":0.31432,"12.0":0.24929,"13.0":0.66115,"14.0":3.40331},I:{"0":0,"3":0,"4":0.00097,"2.1":0,"2.2":0,"2.3":0,"4.1":0.0013,"4.2-4.3":0.0094,"4.4":0,"4.4.3-4.4.4":0.04472},K:{_:"0 10 11 12 11.1 11.5 12.1"},A:{"8":0.02754,"9":0.01836,"10":0.01377,"11":0.3809,_:"6 7 5.5"},J:{"7":0,"10":0.00564},N:{"10":0.02735,"11":0.02361},S:{"2.5":0},R:{_:"0"},M:{"0":0.15786},Q:{"10.4":0},O:{"0":0.61454},H:{"0":0.28824},L:{"0":42.31073}}; diff --git a/tools/node_modules/@babel/core/node_modules/caniuse-lite/data/regions/JO.js b/tools/node_modules/@babel/core/node_modules/caniuse-lite/data/regions/JO.js new file mode 100644 index 00000000000000..615c4dd0d17c04 --- /dev/null +++ b/tools/node_modules/@babel/core/node_modules/caniuse-lite/data/regions/JO.js @@ -0,0 +1 @@ +module.exports={C:{"34":0.01027,"52":0.00685,"63":0.02054,"69":0.00342,"78":0.01369,"81":0.01369,"85":0.00342,"86":0.00685,"87":0.01712,"88":1.1159,"89":0.01027,_:"2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 53 54 55 56 57 58 59 60 61 62 64 65 66 67 68 70 71 72 73 74 75 76 77 79 80 82 83 84 90 91 3.5 3.6"},D:{"11":0.00342,"37":0.00342,"38":0.00342,"49":0.05477,"53":0.00685,"61":0.01369,"63":0.01369,"65":0.01712,"66":0.00685,"67":0.00342,"68":0.00685,"69":0.01027,"70":0.00685,"73":0.00342,"74":0.00685,"75":0.01027,"76":0.00685,"77":0.01369,"78":0.01369,"79":0.07531,"80":0.02054,"81":0.01027,"83":0.07873,"84":0.01712,"85":0.02738,"86":0.07188,"87":0.09927,"88":0.10269,"89":0.43814,"90":16.55705,"91":0.70856,"92":0.00685,_:"4 5 6 7 8 9 10 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 39 40 41 42 43 44 45 46 47 48 50 51 52 54 55 56 57 58 59 60 62 64 71 72 93 94"},F:{"73":0.06161,"74":0.02054,"75":0.40049,"76":0.36626,_:"9 11 12 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 60 62 63 64 65 66 67 68 69 70 71 72 9.5-9.6 10.5 10.6 11.1 11.5 11.6 12.1","10.0-10.1":0},G:{"8":0,"3.2":0,"4.0-4.1":0,"4.2-4.3":0,"5.0-5.1":0.00238,"6.0-6.1":0.00318,"7.0-7.1":0.01748,"8.1-8.4":0.00159,"9.0-9.2":0.00159,"9.3":0.06594,"10.0-10.2":0.00794,"10.3":0.05482,"11.0-11.2":0.02304,"11.3-11.4":0.03814,"12.0-12.1":0.03496,"12.2-12.4":0.15731,"13.0-13.1":0.02622,"13.2":0.01271,"13.3":0.07389,"13.4-13.7":0.25662,"14.0-14.4":5.23325,"14.5-14.6":1.37604},E:{"4":0,"12":0.01027,"13":0.03081,"14":0.76675,_:"0 5 6 7 8 9 10 11 3.1 3.2 6.1 7.1 9.1 10.1","5.1":0.15061,"11.1":0.01027,"12.1":0.02054,"13.1":0.13692,"14.1":0.26699},B:{"17":0.00685,"18":0.02396,"84":0.00685,"85":0.00342,"86":0.01027,"87":0.00685,"88":0.00342,"89":0.02738,"90":9.61863,"91":0.12665,_:"12 13 14 15 16 79 80 81 83"},P:{"4":0.10415,"5.0-5.4":0.01016,"6.2-6.4":0.01016,"7.2-7.4":0.09374,"8.2":0.03338,"9.2":0.07291,"10.1":0.10013,"11.1-11.2":0.23955,"12.0":0.08332,"13.0":0.30204,"14.0":1.47895},I:{"0":0,"3":0,"4":0,"2.1":0,"2.2":0,"2.3":0,"4.1":0.22284,"4.2-4.3":1.0028,"4.4":0,"4.4.3-4.4.4":11.47648},K:{_:"0 10 11 12 11.1 11.5 12.1"},A:{"11":0.07188,_:"6 7 8 9 10 5.5"},J:{"7":0,"10":0},N:{"10":0.02735,"11":0.02361},S:{"2.5":0},R:{_:"0"},M:{"0":0.14472},Q:{"10.4":0},O:{"0":0.36179},H:{"0":0.23042},L:{"0":44.56587}}; diff --git a/tools/node_modules/@babel/core/node_modules/caniuse-lite/data/regions/JP.js b/tools/node_modules/@babel/core/node_modules/caniuse-lite/data/regions/JP.js new file mode 100644 index 00000000000000..4212d66b9236fd --- /dev/null +++ b/tools/node_modules/@babel/core/node_modules/caniuse-lite/data/regions/JP.js @@ -0,0 +1 @@ +module.exports={C:{"45":0.00975,"48":0.01463,"52":0.05852,"53":0.00488,"56":0.02439,"60":0.00975,"63":0.00488,"66":0.00975,"67":0.00975,"68":0.00975,"69":0.00488,"72":0.00975,"78":0.10242,"79":0.00488,"81":0.00488,"82":0.00488,"84":0.01951,"85":0.02439,"86":0.02439,"87":0.04389,"88":2.43362,"89":0.00975,_:"2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 46 47 49 50 51 54 55 57 58 59 61 62 64 65 70 71 73 74 75 76 77 80 83 90 91 3.5 3.6"},D:{"47":0.00488,"48":0.00975,"49":0.28287,"50":0.00488,"52":0.00975,"53":0.00975,"55":0.00488,"56":0.01463,"57":0.00488,"61":0.18045,"62":0.01951,"63":0.00488,"64":0.01951,"65":0.01951,"66":0.00488,"67":0.01463,"68":0.00975,"69":0.05365,"70":0.02926,"71":0.02439,"72":0.03902,"73":0.01463,"74":0.04389,"75":0.02439,"76":0.01951,"77":0.01463,"78":0.02439,"79":0.05365,"80":0.07316,"81":0.18045,"83":0.07316,"84":0.07316,"85":0.05852,"86":0.13656,"87":0.18533,"88":0.2341,"89":0.93151,"90":18.16683,"91":0.38041,"92":0.01463,_:"4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 51 54 58 59 60 93 94"},F:{"46":0.00488,"73":0.00488,"75":0.09266,"76":0.1707,_:"9 11 12 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 47 48 49 50 51 52 53 54 55 56 57 58 60 62 63 64 65 66 67 68 69 70 71 72 74 9.5-9.6 10.5 10.6 11.1 11.5 11.6 12.1","10.0-10.1":0},G:{"8":0.00663,"3.2":0,"4.0-4.1":0,"4.2-4.3":0,"5.0-5.1":0,"6.0-6.1":0.00331,"7.0-7.1":0.02981,"8.1-8.4":0.06294,"9.0-9.2":0.19876,"9.3":0.21201,"10.0-10.2":0.07288,"10.3":0.20207,"11.0-11.2":0.18551,"11.3-11.4":0.18882,"12.0-12.1":0.20538,"12.2-12.4":0.42401,"13.0-13.1":0.09938,"13.2":0.04638,"13.3":0.33126,"13.4-13.7":1.24222,"14.0-14.4":24.52646,"14.5-14.6":4.29975},E:{"4":0,"11":0.01463,"12":0.01951,"13":0.09754,"14":2.69698,_:"0 5 6 7 8 9 10 3.1 3.2 5.1 6.1 7.1","9.1":0.01951,"10.1":0.02439,"11.1":0.07803,"12.1":0.10729,"13.1":0.44381,"14.1":0.912},B:{"14":0.00488,"15":0.00975,"16":0.00975,"17":0.02439,"18":0.08779,"83":0.00488,"84":0.00975,"85":0.01463,"86":0.01463,"87":0.01463,"88":0.01951,"89":0.10242,"90":7.8666,"91":0.13656,_:"12 13 79 80 81"},P:{"4":0.71806,"5.0-5.4":0.01041,"6.2-6.4":0.14145,"7.2-7.4":0.04087,"8.2":0.02081,"9.2":0.06244,"10.1":0.05203,"11.1-11.2":0.05493,"12.0":0.02197,"13.0":0.12084,"14.0":1.17549},I:{"0":0,"3":0,"4":0.00838,"2.1":0,"2.2":0.01006,"2.3":0,"4.1":0.01676,"4.2-4.3":0.05197,"4.4":0,"4.4.3-4.4.4":0.1844},K:{_:"0 10 11 12 11.1 11.5 12.1"},A:{"9":0.0171,"10":0.0057,"11":3.08873,_:"6 7 8 5.5"},J:{"7":0,"10":0},N:{_:"10 11"},S:{"2.5":0},R:{_:"0"},M:{"0":0.30744},Q:{"10.4":0.07174},O:{"0":0.37918},H:{"0":0.12128},L:{"0":23.60852}}; diff --git a/tools/node_modules/@babel/core/node_modules/caniuse-lite/data/regions/KE.js b/tools/node_modules/@babel/core/node_modules/caniuse-lite/data/regions/KE.js new file mode 100644 index 00000000000000..c7b31e4f67fb3b --- /dev/null +++ b/tools/node_modules/@babel/core/node_modules/caniuse-lite/data/regions/KE.js @@ -0,0 +1 @@ +module.exports={C:{"34":0.00793,"43":0.00264,"47":0.00529,"48":0.00264,"49":0.00264,"52":0.03965,"56":0.00529,"67":0.03436,"68":0.00529,"70":0.00529,"72":0.03172,"73":0.00529,"77":0.00529,"78":0.04493,"79":0.00264,"81":0.00793,"82":0.00793,"83":0.00529,"84":0.01586,"85":0.01586,"86":0.0185,"87":0.05286,"88":1.93732,"89":0.12158,_:"2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 35 36 37 38 39 40 41 42 44 45 46 50 51 53 54 55 57 58 59 60 61 62 63 64 65 66 69 71 74 75 76 80 90 91 3.5 3.6"},D:{"11":0.00529,"34":0.00529,"38":0.00793,"39":0.01322,"40":0.00529,"42":0.00793,"43":0.00529,"47":0.00264,"49":0.05286,"50":0.00529,"51":0.00264,"53":0.01057,"55":0.00529,"56":0.00529,"57":0.00529,"58":0.00529,"60":0.00264,"61":0.04229,"62":0.00793,"63":0.00793,"64":0.00529,"65":0.00529,"67":0.01586,"68":0.01322,"69":0.01322,"70":0.00793,"71":0.00529,"72":0.00793,"73":0.00793,"74":0.01586,"75":0.01057,"76":0.01586,"77":0.00793,"78":0.01322,"79":0.03172,"80":0.03436,"81":0.03965,"83":0.02643,"84":0.02114,"85":0.02643,"86":0.09251,"87":0.13479,"88":0.11629,"89":0.44402,"90":13.47401,"91":0.53124,"92":0.01057,_:"4 5 6 7 8 9 10 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 35 36 37 41 44 45 46 48 52 54 59 66 93 94"},F:{"28":0.00264,"33":0.00529,"36":0.00264,"63":0.00793,"64":0.00529,"72":0.02379,"73":0.02114,"74":0.01057,"75":0.29602,"76":0.52331,_:"9 11 12 15 16 17 18 19 20 21 22 23 24 25 26 27 29 30 31 32 34 35 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 60 62 65 66 67 68 69 70 71 9.5-9.6 10.5 10.6 11.1 11.5 11.6 12.1","10.0-10.1":0},G:{"8":0,"3.2":0,"4.0-4.1":0,"4.2-4.3":0,"5.0-5.1":0.00529,"6.0-6.1":0.00063,"7.0-7.1":0.03426,"8.1-8.4":0.00085,"9.0-9.2":0.00106,"9.3":0.03469,"10.0-10.2":0.0019,"10.3":0.0313,"11.0-11.2":0.01438,"11.3-11.4":0.01396,"12.0-12.1":0.01311,"12.2-12.4":0.0571,"13.0-13.1":0.00867,"13.2":0.00634,"13.3":0.06133,"13.4-13.7":0.09158,"14.0-14.4":1.21018,"14.5-14.6":0.33353},E:{"4":0,"12":0.00264,"13":0.0185,"14":0.2643,_:"0 5 6 7 8 9 10 11 3.1 3.2 6.1 7.1 9.1","5.1":0.11101,"10.1":0.01057,"11.1":0.00793,"12.1":0.0185,"13.1":0.06343,"14.1":0.10308},B:{"12":0.01057,"13":0.00529,"14":0.00529,"15":0.00529,"16":0.01057,"17":0.01322,"18":0.05022,"84":0.01322,"85":0.00793,"86":0.00264,"87":0.00529,"88":0.01322,"89":0.04493,"90":1.08892,"91":0.06343,_:"79 80 81 83"},P:{"4":0.14059,"5.0-5.4":0.01016,"6.2-6.4":0.01027,"7.2-7.4":0.04326,"8.2":0.03338,"9.2":0.02163,"10.1":0.03081,"11.1-11.2":0.06489,"12.0":0.03244,"13.0":0.17304,"14.0":0.60563},I:{"0":0,"3":0,"4":0.00046,"2.1":0,"2.2":0,"2.3":0,"4.1":0.00092,"4.2-4.3":0.00439,"4.4":0,"4.4.3-4.4.4":0.05309},K:{_:"0 10 11 12 11.1 11.5 12.1"},A:{"8":0.01057,"10":0.01057,"11":0.13744,_:"6 7 9 5.5"},J:{"7":0,"10":0.01471},N:{"10":0.02735,"11":0.02361},S:{"2.5":0},R:{_:"0"},M:{"0":0.13978},Q:{"10.4":0},O:{"0":0.34578},H:{"0":31.78886},L:{"0":41.4355}}; diff --git a/tools/node_modules/@babel/core/node_modules/caniuse-lite/data/regions/KG.js b/tools/node_modules/@babel/core/node_modules/caniuse-lite/data/regions/KG.js new file mode 100644 index 00000000000000..cefccfd1f50954 --- /dev/null +++ b/tools/node_modules/@babel/core/node_modules/caniuse-lite/data/regions/KG.js @@ -0,0 +1 @@ +module.exports={C:{"52":0.0191,"78":0.03183,"84":0.00637,"86":0.03183,"87":0.02546,"88":0.84018,_:"2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 79 80 81 82 83 85 89 90 91 3.5 3.6"},D:{"42":0.50284,"49":0.26097,"56":0.31825,"59":0.03819,"60":0.02546,"65":0.00637,"67":0.0191,"68":0.00637,"71":0.02546,"73":0.0191,"74":0.03819,"75":0.01273,"77":0.00637,"78":0.00637,"79":0.05092,"80":0.02546,"81":0.0191,"83":0.0191,"84":0.00637,"85":0.03183,"86":0.08911,"87":0.15913,"88":0.42009,"89":13.35377,"90":36.45872,"91":0.72561,"92":0.10184,_:"4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 43 44 45 46 47 48 50 51 52 53 54 55 57 58 61 62 63 64 66 69 70 72 76 93 94"},F:{"62":0.01273,"67":0.00637,"72":0.01273,"73":0.17822,"74":0.00637,"75":0.84655,"76":1.1648,_:"9 11 12 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 60 63 64 65 66 68 69 70 71 9.5-9.6 10.5 10.6 11.1 11.5 11.6 12.1","10.0-10.1":0},G:{"8":0,"3.2":0,"4.0-4.1":0,"4.2-4.3":0,"5.0-5.1":0.00166,"6.0-6.1":0.0029,"7.0-7.1":0.00332,"8.1-8.4":0,"9.0-9.2":0.00705,"9.3":0.01161,"10.0-10.2":0.00664,"10.3":0.02613,"11.0-11.2":0.0112,"11.3-11.4":0.01037,"12.0-12.1":0.02281,"12.2-12.4":0.08169,"13.0-13.1":0.02322,"13.2":0.00829,"13.3":0.08086,"13.4-13.7":0.16173,"14.0-14.4":2.82734,"14.5-14.6":0.66806},E:{"4":0,"13":0.03183,"14":0.92293,_:"0 5 6 7 8 9 10 11 12 3.1 3.2 6.1 7.1 9.1 10.1","5.1":1.94133,"11.1":0.0191,"12.1":0.01273,"13.1":0.09548,"14.1":0.38827},B:{"18":0.0191,"89":0.03183,"90":0.61741,"91":0.02546,_:"12 13 14 15 16 17 79 80 81 83 84 85 86 87 88"},P:{"4":0.30938,"5.0-5.4":0.01031,"6.2-6.4":0.05156,"7.2-7.4":0.11344,"8.2":0.01031,"9.2":0.09281,"10.1":0.12375,"11.1-11.2":0.17531,"12.0":0.10313,"13.0":0.39188,"14.0":0.95906},I:{"0":0,"3":0,"4":0,"2.1":0,"2.2":0,"2.3":0,"4.1":0.00044,"4.2-4.3":0.00088,"4.4":0,"4.4.3-4.4.4":0.01322},K:{_:"0 10 11 12 11.1 11.5 12.1"},A:{"11":0.59831,_:"6 7 8 9 10 5.5"},J:{"7":0,"10":0.00364},N:{"10":0.02735,"11":0.02361},S:{"2.5":0},R:{_:"0"},M:{"0":0.09088},Q:{"10.4":0.00727},O:{"0":0.73064},H:{"0":0.30628},L:{"0":29.4732}}; diff --git a/tools/node_modules/@babel/core/node_modules/caniuse-lite/data/regions/KH.js b/tools/node_modules/@babel/core/node_modules/caniuse-lite/data/regions/KH.js new file mode 100644 index 00000000000000..a8d355782bf280 --- /dev/null +++ b/tools/node_modules/@babel/core/node_modules/caniuse-lite/data/regions/KH.js @@ -0,0 +1 @@ +module.exports={C:{"4":0.02002,"5":0.01601,"15":0.01601,"17":0.02402,"33":0.004,"43":0.01201,"44":0.00801,"47":0.004,"48":0.004,"51":0.004,"52":0.02002,"56":0.01601,"57":0.01201,"61":0.04804,"67":0.00801,"68":0.01601,"70":0.01201,"72":0.01201,"76":0.004,"77":0.00801,"78":0.06005,"79":0.02402,"80":0.01201,"81":0.03603,"82":0.02002,"83":0.01601,"84":0.01601,"85":0.02002,"86":0.03202,"87":0.06805,"88":2.23367,"89":0.10808,_:"2 3 6 7 8 9 10 11 12 13 14 16 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 34 35 36 37 38 39 40 41 42 45 46 49 50 53 54 55 58 59 60 62 63 64 65 66 69 71 73 74 75 90 91 3.5 3.6"},D:{"23":0.01601,"24":0.03202,"25":0.01601,"29":0.00801,"38":0.03202,"43":0.01601,"46":0.02002,"47":0.02402,"49":0.36027,"53":0.10808,"56":0.01201,"57":0.02002,"61":0.1321,"63":0.01601,"65":0.01201,"67":0.02402,"68":0.02402,"69":0.00801,"70":0.03202,"71":0.02002,"72":0.01601,"73":0.01601,"74":0.02002,"75":0.04403,"76":0.02402,"78":0.03202,"79":0.06805,"80":0.06405,"81":0.06805,"83":0.14811,"84":0.20816,"85":0.24018,"86":0.38429,"87":0.42432,"88":0.48837,"89":0.73655,"90":22.63697,"91":0.75256,"92":0.06005,_:"4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 26 27 28 30 31 32 33 34 35 36 37 39 40 41 42 44 45 48 50 51 52 54 55 58 59 60 62 64 66 77 93 94"},F:{"29":0.00801,"36":0.00801,"40":0.00801,"46":0.00801,"68":0.02002,"69":0.02002,"71":0.02002,"72":0.004,"73":0.06005,"74":0.00801,"75":0.33225,"76":0.43232,_:"9 11 12 15 16 17 18 19 20 21 22 23 24 25 26 27 28 30 31 32 33 34 35 37 38 39 41 42 43 44 45 47 48 49 50 51 52 53 54 55 56 57 58 60 62 63 64 65 66 67 70 9.5-9.6 10.5 10.6 11.1 11.5 11.6","10.0-10.1":0,"12.1":0.00801},G:{"8":0,"3.2":0,"4.0-4.1":0,"4.2-4.3":0,"5.0-5.1":0.00522,"6.0-6.1":0.01566,"7.0-7.1":0.10964,"8.1-8.4":0.08876,"9.0-9.2":0.05743,"9.3":0.21929,"10.0-10.2":0.0496,"10.3":0.24017,"11.0-11.2":0.15141,"11.3-11.4":0.2715,"12.0-12.1":0.23234,"12.2-12.4":0.9894,"13.0-13.1":0.16446,"13.2":0.08354,"13.3":0.57432,"13.4-13.7":1.36792,"14.0-14.4":17.07034,"14.5-14.6":2.40692},E:{"4":0,"8":0.004,"9":0.01201,"11":0.004,"12":0.01601,"13":0.09607,"14":2.22167,_:"0 5 6 7 10 3.1 3.2 5.1 6.1 7.1 9.1","10.1":0.02802,"11.1":0.02802,"12.1":0.08006,"13.1":0.36427,"14.1":0.56843},B:{"12":0.00801,"14":0.004,"15":0.004,"16":0.01601,"17":0.01601,"18":0.11208,"80":0.01201,"83":0.00801,"84":0.03603,"85":0.02002,"86":0.01201,"87":0.00801,"88":0.004,"89":0.05604,"90":1.98549,"91":0.06005,_:"13 79 81"},P:{"4":0.26303,"5.0-5.4":0.02104,"6.2-6.4":0.1561,"7.2-7.4":0.02104,"8.2":0.03018,"9.2":0.04209,"10.1":0.03156,"11.1-11.2":0.03156,"12.0":0.18938,"13.0":0.27355,"14.0":1.35725},I:{"0":0,"3":0,"4":0,"2.1":0,"2.2":0,"2.3":0,"4.1":0,"4.2-4.3":0.00574,"4.4":0,"4.4.3-4.4.4":0.04822},K:{_:"0 10 11 12 11.1 11.5 12.1"},A:{"6":0.0338,"8":0.07606,"9":0.0338,"10":0.0338,"11":0.50705,_:"7 5.5"},J:{"7":0,"10":0},N:{_:"10 11"},S:{"2.5":0},R:{_:"0"},M:{"0":0.19187},Q:{"10.4":0.07195},O:{"0":0.95936},H:{"0":0.79473},L:{"0":33.29047}}; diff --git a/tools/node_modules/@babel/core/node_modules/caniuse-lite/data/regions/KI.js b/tools/node_modules/@babel/core/node_modules/caniuse-lite/data/regions/KI.js new file mode 100644 index 00000000000000..35fac712049041 --- /dev/null +++ b/tools/node_modules/@babel/core/node_modules/caniuse-lite/data/regions/KI.js @@ -0,0 +1 @@ +module.exports={C:{"53":0.01957,"54":0.03522,"56":0.10174,"59":0.00783,"67":0.02739,"71":0.00783,"72":0.01957,"77":0.03522,"78":0.00783,"84":0.00783,"87":0.01957,"88":6.55036,"89":0.58304,_:"2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 55 57 58 60 61 62 63 64 65 66 68 69 70 73 74 75 76 79 80 81 82 83 85 86 90 91 3.5 3.6"},D:{"40":0.4226,"45":0.02739,"52":0.00783,"55":0.05478,"57":0.02739,"58":0.01957,"62":0.03522,"63":0.04696,"67":0.04696,"69":0.00783,"71":0.01957,"76":0.00783,"80":0.04696,"81":0.64565,"83":0.31304,"84":0.06652,"85":0.15652,"86":0.10174,"87":0.2113,"88":0.2113,"89":0.58304,"90":15.90635,"91":1.33825,_:"4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 41 42 43 44 46 47 48 49 50 51 53 54 56 59 60 61 64 65 66 68 70 72 73 74 75 77 78 79 92 93 94"},F:{"64":0.02739,"75":0.12913,"76":0.10174,_:"9 11 12 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 60 62 63 65 66 67 68 69 70 71 72 73 74 9.5-9.6 10.5 10.6 11.1 11.5 11.6 12.1","10.0-10.1":0},G:{"8":0,"3.2":0,"4.0-4.1":0,"4.2-4.3":0,"5.0-5.1":0,"6.0-6.1":0,"7.0-7.1":0,"8.1-8.4":0,"9.0-9.2":0.05498,"9.3":0.04709,"10.0-10.2":0,"10.3":0,"11.0-11.2":0,"11.3-11.4":0.03144,"12.0-12.1":0.03144,"12.2-12.4":0.13351,"13.0-13.1":0.1414,"13.2":0.00789,"13.3":0.07064,"13.4-13.7":0.11786,"14.0-14.4":0.58115,"14.5-14.6":0},E:{"4":0,"13":0.00783,"14":0.00783,_:"0 5 6 7 8 9 10 11 12 3.1 3.2 5.1 6.1 7.1 9.1 10.1 11.1 12.1 14.1","13.1":0.02739},B:{"12":0.17609,"15":0.07435,"16":0.31304,"17":0.09391,"18":0.52434,"80":0.05478,"81":0.01957,"84":0.00783,"85":0.01957,"86":0.10956,"87":0.00783,"88":0.01957,"89":0.36,"90":5.20429,"91":0.08217,_:"13 14 79 83"},P:{"4":1.38641,"5.0-5.4":0.01016,"6.2-6.4":0.01027,"7.2-7.4":1.43701,"8.2":0.04048,"9.2":0.16192,"10.1":0.1518,"11.1-11.2":0.38455,"12.0":0.02024,"13.0":0.43515,"14.0":0.8703},I:{"0":0,"3":0,"4":0,"2.1":0,"2.2":0,"2.3":0,"4.1":0,"4.2-4.3":0,"4.4":0,"4.4.3-4.4.4":0.14},K:{_:"0 10 11 12 11.1 11.5 12.1"},A:{"8":0.21863,"11":0.17658,_:"6 7 9 10 5.5"},J:{"7":0,"10":0},N:{"10":0.02735,"11":0.02361},S:{"2.5":0},R:{_:"0"},M:{"0":0.01217},Q:{"10.4":0.03044},O:{"0":2.05741},H:{"0":0.88171},L:{"0":54.94294}}; diff --git a/tools/node_modules/@babel/core/node_modules/caniuse-lite/data/regions/KM.js b/tools/node_modules/@babel/core/node_modules/caniuse-lite/data/regions/KM.js new file mode 100644 index 00000000000000..aab0a08d23ce2e --- /dev/null +++ b/tools/node_modules/@babel/core/node_modules/caniuse-lite/data/regions/KM.js @@ -0,0 +1 @@ +module.exports={C:{"20":0.00665,"33":0.03546,"52":0.05318,"56":0.00443,"61":0.00443,"65":0.00665,"67":0.00443,"68":0.00886,"70":0.0133,"71":0.03324,"72":0.01108,"76":0.00886,"78":0.04875,"80":0.00665,"82":0.00665,"84":0.02881,"85":0.00886,"86":0.01108,"87":0.00886,"88":1.40938,"89":0.00665,_:"2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 21 22 23 24 25 26 27 28 29 30 31 32 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 53 54 55 57 58 59 60 62 63 64 66 69 73 74 75 77 79 81 83 90 91 3.5","3.6":0.00443},D:{"11":0.00665,"27":0.00665,"38":0.02659,"39":0.01108,"40":0.01994,"43":0.07978,"49":0.00886,"51":0.00665,"55":0.01994,"58":0.00443,"59":0.00443,"60":0.00443,"63":0.02881,"64":0.0133,"65":0.0421,"66":0.04432,"69":0.00886,"70":0.01551,"72":0.02881,"74":0.02216,"76":0.00886,"79":0.00886,"81":0.0421,"83":0.00665,"84":0.02216,"85":0.04432,"86":0.02438,"87":0.0554,"88":0.29473,"89":0.25041,"90":7.6585,"91":0.29251,_:"4 5 6 7 8 9 10 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 28 29 30 31 32 33 34 35 36 37 41 42 44 45 46 47 48 50 52 53 54 56 57 61 62 67 68 71 73 75 77 78 80 92 93 94"},F:{"43":0.01108,"46":0.00443,"49":0.00665,"51":0.01108,"74":0.02659,"75":0.29473,"76":0.37894,_:"9 11 12 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 44 45 47 48 50 52 53 54 55 56 57 58 60 62 63 64 65 66 67 68 69 70 71 72 73 9.5-9.6 10.5 10.6 11.1 11.5 11.6 12.1","10.0-10.1":0},G:{"8":0,"3.2":0,"4.0-4.1":0,"4.2-4.3":0.00181,"5.0-5.1":0.00181,"6.0-6.1":0.01123,"7.0-7.1":0.01304,"8.1-8.4":0,"9.0-9.2":0,"9.3":0.05214,"10.0-10.2":0.00181,"10.3":0.11008,"11.0-11.2":0.12674,"11.3-11.4":0.01702,"12.0-12.1":0.01123,"12.2-12.4":0.11913,"13.0-13.1":0.06916,"13.2":0.00181,"13.3":0.05214,"13.4-13.7":0.30996,"14.0-14.4":1.204,"14.5-14.6":1.17395},E:{"4":0,"8":0.00443,"10":0.01994,"13":0.00443,"14":0.06205,_:"0 5 6 7 9 11 12 3.1 3.2 6.1 7.1 9.1 10.1","5.1":0.02438,"11.1":0.00886,"12.1":0.00886,"13.1":0.03324,"14.1":0.14404},B:{"12":0.02216,"13":0.01994,"14":0.03767,"15":0.03324,"16":0.03989,"17":0.03767,"18":0.02438,"84":0.00665,"86":0.00443,"88":0.03324,"89":0.02881,"90":0.74901,"91":0.03767,_:"79 80 81 83 85 87"},P:{"4":1.30283,"5.0-5.4":0.0505,"6.2-6.4":0.0505,"7.2-7.4":0.22219,"8.2":0.02053,"9.2":0.0808,"10.1":0.0406,"11.1-11.2":0.38378,"12.0":0.14139,"13.0":0.31308,"14.0":0.64637},I:{"0":0,"3":0,"4":0,"2.1":0,"2.2":0,"2.3":0,"4.1":0.01187,"4.2-4.3":0.04651,"4.4":0,"4.4.3-4.4.4":0.17514},K:{_:"0 10 11 12 11.1 11.5 12.1"},A:{"11":0.08864,_:"6 7 8 9 10 5.5"},J:{"7":0,"10":0.17125},N:{"10":0.02735,"11":0.35567},S:{"2.5":0},R:{_:"0"},M:{"0":0.17903},Q:{"10.4":0.10119},O:{"0":0.42812},H:{"0":0.90643},L:{"0":76.46193}}; diff --git a/tools/node_modules/@babel/core/node_modules/caniuse-lite/data/regions/KN.js b/tools/node_modules/@babel/core/node_modules/caniuse-lite/data/regions/KN.js new file mode 100644 index 00000000000000..cc30dff28df272 --- /dev/null +++ b/tools/node_modules/@babel/core/node_modules/caniuse-lite/data/regions/KN.js @@ -0,0 +1 @@ +module.exports={C:{"52":0.00456,"53":0.00456,"70":0.03194,"78":0.02738,"88":1.02211,_:"2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 71 72 73 74 75 76 77 79 80 81 82 83 84 85 86 87 89 90 91 3.5 3.6"},D:{"29":0.00456,"39":0.00456,"53":0.00456,"63":0.00913,"69":0.00913,"73":0.01369,"74":0.56581,"75":0.01825,"76":0.24184,"77":0.02282,"79":0.04563,"80":0.00913,"81":0.04563,"83":0.04107,"84":0.01369,"85":0.02282,"86":0.04107,"87":0.58406,"88":0.17796,"89":0.64795,"90":24.37555,"91":1.04036,"92":0.01369,_:"4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 30 31 32 33 34 35 36 37 38 40 41 42 43 44 45 46 47 48 49 50 51 52 54 55 56 57 58 59 60 61 62 64 65 66 67 68 70 71 72 78 93 94"},F:{"74":0.05019,"75":0.11864,"76":0.23271,_:"9 11 12 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 60 62 63 64 65 66 67 68 69 70 71 72 73 9.5-9.6 10.5 10.6 11.1 11.5 11.6 12.1","10.0-10.1":0},G:{"8":0.00171,"3.2":0,"4.0-4.1":0.00171,"4.2-4.3":0.00171,"5.0-5.1":0.12857,"6.0-6.1":0.00171,"7.0-7.1":0.00514,"8.1-8.4":0.00343,"9.0-9.2":0.01029,"9.3":0.02743,"10.0-10.2":0.00686,"10.3":0.204,"11.0-11.2":0.02914,"11.3-11.4":0.012,"12.0-12.1":0.04457,"12.2-12.4":0.07372,"13.0-13.1":1.72631,"13.2":0.04114,"13.3":0.02914,"13.4-13.7":0.252,"14.0-14.4":11.25446,"14.5-14.6":2.60575},E:{"4":0,"12":0.0365,"13":0.04563,"14":2.10354,_:"0 5 6 7 8 9 10 11 3.1 3.2 5.1 6.1 7.1 9.1 10.1","11.1":0.07757,"12.1":0.08213,"13.1":0.38786,"14.1":1.18182},B:{"12":0.01369,"13":0.00913,"14":0.06388,"17":0.09126,"18":0.11864,"80":0.00913,"81":0.00456,"84":0.02282,"85":0.01369,"87":0.05019,"88":0.03194,"89":0.35135,"90":6.39276,"91":0.51562,_:"15 16 79 83 86"},P:{"4":0.0745,"5.0-5.4":0.02077,"6.2-6.4":0.05019,"7.2-7.4":0.15964,"8.2":0.01166,"9.2":0.0745,"10.1":0.18695,"11.1-11.2":0.447,"12.0":0.03193,"13.0":1.09622,"14.0":4.07625},I:{"0":0,"3":0,"4":0.00167,"2.1":0,"2.2":0,"2.3":0,"4.1":0.00042,"4.2-4.3":0.00586,"4.4":0,"4.4.3-4.4.4":0.03012},K:{_:"0 10 11 12 11.1 11.5 12.1"},A:{"11":1.14988,_:"6 7 8 9 10 5.5"},J:{"7":0,"10":0.01631},N:{_:"10 11"},S:{"2.5":0},R:{_:"0"},M:{"0":0.28821},Q:{"10.4":0},O:{"0":0.02719},H:{"0":0.2986},L:{"0":33.93911}}; diff --git a/tools/node_modules/@babel/core/node_modules/caniuse-lite/data/regions/KP.js b/tools/node_modules/@babel/core/node_modules/caniuse-lite/data/regions/KP.js new file mode 100644 index 00000000000000..6795051c50e50a --- /dev/null +++ b/tools/node_modules/@babel/core/node_modules/caniuse-lite/data/regions/KP.js @@ -0,0 +1 @@ +module.exports={C:{"42":1.98083,"52":22.87673,"76":0.28092,"78":0.28092,"82":0.28092,"83":0.28092,"85":0.84995,"87":1.13087,"88":9.32068,_:"2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 43 44 45 46 47 48 49 50 51 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 77 79 80 81 84 86 89 90 91 3.5 3.6"},D:{"76":0.28092,"81":5.08532,"83":1.13087,"88":2.54266,"89":1.13087,"90":14.68692,_:"4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 77 78 79 80 84 85 86 87 91 92 93 94"},F:{"65":0.56183,"74":2.82358,"75":0.56183,"76":0.28092,_:"9 11 12 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 60 62 63 64 66 67 68 69 70 71 72 73 9.5-9.6 10.5 10.6 11.1 11.5 11.6 12.1","10.0-10.1":0},G:{"8":0,"3.2":0,"4.0-4.1":0,"4.2-4.3":0,"5.0-5.1":0,"6.0-6.1":0,"7.0-7.1":0,"8.1-8.4":0,"9.0-9.2":0,"9.3":0,"10.0-10.2":0,"10.3":0,"11.0-11.2":1.74117,"11.3-11.4":0,"12.0-12.1":0,"12.2-12.4":4.97559,"13.0-13.1":0.24874,"13.2":0,"13.3":0,"13.4-13.7":0,"14.0-14.4":1.24369,"14.5-14.6":0},E:{"4":0,_:"0 5 6 7 8 9 10 11 12 13 14 3.1 3.2 5.1 6.1 7.1 9.1 10.1 11.1 12.1 13.1 14.1"},B:{"90":0.56183,_:"12 13 14 15 16 17 18 79 80 81 83 84 85 86 87 88 89 91"},P:{"4":0.3057,"5.0-5.4":0.01016,"6.2-6.4":0.3057,"7.2-7.4":1.43701,"8.2":0.04048,"9.2":1.21225,"10.1":0.1518,"11.1-11.2":0.38455,"12.0":0.02024,"13.0":0.43515,"14.0":0.8703},I:{"0":0,"3":0,"4":0.91252,"2.1":0,"2.2":0.30417,"2.3":0,"4.1":0,"4.2-4.3":0,"4.4":0,"4.4.3-4.4.4":0},K:{_:"0 10 11 12 11.1 11.5 12.1"},A:{_:"6 7 8 9 10 11 5.5"},J:{"7":0,"10":0},N:{"10":0.02735,"11":0.02361},S:{"2.5":0},R:{_:"0"},M:{"0":0.30487},Q:{"10.4":0},O:{"0":0},H:{"0":0.28863},L:{"0":18.09434}}; diff --git a/tools/node_modules/@babel/core/node_modules/caniuse-lite/data/regions/KR.js b/tools/node_modules/@babel/core/node_modules/caniuse-lite/data/regions/KR.js new file mode 100644 index 00000000000000..bd2169f799d93c --- /dev/null +++ b/tools/node_modules/@babel/core/node_modules/caniuse-lite/data/regions/KR.js @@ -0,0 +1 @@ +module.exports={C:{"52":0.01971,"78":0.02956,"79":0.00493,"80":0.00493,"81":0.00985,"82":0.00985,"83":0.00493,"87":0.00985,"88":0.64544,"89":0.00985,"90":0.00493,_:"2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 84 85 86 91 3.5 3.6"},D:{"42":0.03449,"49":0.05912,"56":0.00985,"61":0.01971,"63":0.00985,"64":0.01971,"67":0.00493,"68":0.08376,"69":0.00985,"70":0.02464,"71":0.00985,"72":0.02464,"73":0.00493,"74":0.00985,"75":0.01478,"76":0.01478,"77":0.13303,"78":0.01971,"79":0.04927,"80":0.04927,"81":0.06898,"83":0.06898,"84":0.09854,"85":0.07391,"86":0.10347,"87":0.14781,"88":0.09854,"89":0.50255,"90":30.09412,"91":0.71442,"92":0.00985,_:"4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 43 44 45 46 47 48 50 51 52 53 54 55 57 58 59 60 62 65 66 93 94"},F:{"75":0.09854,"76":0.16752,_:"9 11 12 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 60 62 63 64 65 66 67 68 69 70 71 72 73 74 9.5-9.6 10.5 10.6 11.1 11.5 11.6 12.1","10.0-10.1":0},G:{"8":0,"3.2":0,"4.0-4.1":0,"4.2-4.3":0,"5.0-5.1":0,"6.0-6.1":0.00113,"7.0-7.1":0.00452,"8.1-8.4":0,"9.0-9.2":0.11874,"9.3":0.01696,"10.0-10.2":0.00226,"10.3":0.01696,"11.0-11.2":0.01809,"11.3-11.4":0.00792,"12.0-12.1":0.02714,"12.2-12.4":0.07803,"13.0-13.1":0.11648,"13.2":0.0147,"13.3":0.08481,"13.4-13.7":0.30194,"14.0-14.4":8.53798,"14.5-14.6":1.86365},E:{"4":0,"8":0.00985,"12":0.00493,"13":0.01971,"14":0.68978,_:"0 5 6 7 9 10 11 3.1 3.2 5.1 6.1 7.1 9.1 10.1","11.1":0.00985,"12.1":0.02464,"13.1":0.11825,"14.1":0.35474},B:{"16":0.00985,"17":0.01971,"18":0.05912,"84":0.00985,"85":0.01478,"86":0.03449,"87":0.01971,"88":0.02464,"89":0.09361,"90":5.97645,"91":0.12318,_:"12 13 14 15 79 80 81 83"},P:{"4":0.3057,"5.0-5.4":0.03041,"6.2-6.4":0.3057,"7.2-7.4":1.43701,"8.2":0.05069,"9.2":0.07097,"10.1":0.07097,"11.1-11.2":0.13179,"12.0":0.31428,"13.0":1.28753,"14.0":10.92878},I:{"0":0,"3":0,"4":0,"2.1":0,"2.2":0,"2.3":0,"4.1":0,"4.2-4.3":0.00307,"4.4":0,"4.4.3-4.4.4":0.01722},K:{_:"0 10 11 12 11.1 11.5 12.1"},A:{"9":0.02048,"11":3.25598,_:"6 7 8 10 5.5"},J:{"7":0,"10":0},N:{"10":0.02735,"11":0.02361},S:{"2.5":0},R:{_:"0"},M:{"0":0.16741},Q:{"10.4":0.02029},O:{"0":0.14204},H:{"0":0.1729},L:{"0":21.56437}}; diff --git a/tools/node_modules/@babel/core/node_modules/caniuse-lite/data/regions/KW.js b/tools/node_modules/@babel/core/node_modules/caniuse-lite/data/regions/KW.js new file mode 100644 index 00000000000000..06a4f966979cf1 --- /dev/null +++ b/tools/node_modules/@babel/core/node_modules/caniuse-lite/data/regions/KW.js @@ -0,0 +1 @@ +module.exports={C:{"34":0.01663,"52":0.14967,"67":0.36586,"68":0.00333,"71":0.00333,"78":0.40245,"80":0.00333,"84":0.02661,"85":0.00333,"86":0.00665,"87":0.02328,"88":0.92463,"89":0.02328,_:"2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 53 54 55 56 57 58 59 60 61 62 63 64 65 66 69 70 72 73 74 75 76 77 79 81 82 83 90 91 3.5 3.6"},D:{"31":0.00665,"34":0.00333,"38":0.02993,"43":0.00333,"47":0.01996,"49":0.06985,"55":0.00333,"56":0.00998,"57":0.00665,"62":0.00333,"63":0.00998,"64":0.00665,"65":0.00665,"67":0.0133,"68":0.00998,"69":0.02328,"70":0.00333,"71":0.00665,"72":0.00333,"73":0.00665,"74":0.00665,"75":0.00665,"76":0.0133,"77":0.01663,"78":0.0133,"79":0.01663,"80":0.01996,"81":0.01996,"83":0.08648,"84":0.01996,"85":0.02661,"86":0.04989,"87":0.1663,"88":0.10643,"89":0.6519,"90":18.86175,"91":0.69513,"92":0.0133,_:"4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 32 33 35 36 37 39 40 41 42 44 45 46 48 50 51 52 53 54 58 59 60 61 66 93 94"},F:{"28":0.00665,"36":0.00665,"46":0.02661,"73":0.05654,"75":0.24612,"76":0.22284,_:"9 11 12 15 16 17 18 19 20 21 22 23 24 25 26 27 29 30 31 32 33 34 35 37 38 39 40 41 42 43 44 45 47 48 49 50 51 52 53 54 55 56 57 58 60 62 63 64 65 66 67 68 69 70 71 72 74 9.5-9.6 10.5 10.6 11.1 11.5 11.6 12.1","10.0-10.1":0},G:{"8":0,"3.2":0,"4.0-4.1":0,"4.2-4.3":0,"5.0-5.1":0.00836,"6.0-6.1":0,"7.0-7.1":0.02787,"8.1-8.4":0.01672,"9.0-9.2":0.01115,"9.3":0.17837,"10.0-10.2":0.03344,"10.3":0.09754,"11.0-11.2":0.07525,"11.3-11.4":0.12263,"12.0-12.1":0.15886,"12.2-12.4":0.49329,"13.0-13.1":0.23132,"13.2":0.11984,"13.3":0.61871,"13.4-13.7":1.26528,"14.0-14.4":18.58909,"14.5-14.6":5.05278},E:{"4":0,"11":0.00665,"12":0.01663,"13":0.11641,"14":2.8138,_:"0 5 6 7 8 9 10 3.1 3.2 6.1 7.1","5.1":0.00998,"9.1":0.00333,"10.1":0.0133,"11.1":0.04989,"12.1":0.09645,"13.1":0.44568,"14.1":0.94458},B:{"12":0.00333,"15":0.00665,"16":0.00665,"17":0.0133,"18":0.06652,"80":0.00333,"83":0.02328,"84":0.0133,"85":0.00998,"86":0.00998,"87":0.01996,"88":0.01663,"89":0.11641,"90":2.55437,"91":0.18958,_:"13 14 79 81"},P:{"4":0.25594,"5.0-5.4":0.03041,"6.2-6.4":0.3057,"7.2-7.4":0.07166,"8.2":0.02048,"9.2":0.0819,"10.1":0.06143,"11.1-11.2":0.36856,"12.0":0.19452,"13.0":0.68593,"14.0":3.26584},I:{"0":0,"3":0,"4":0.00226,"2.1":0,"2.2":0,"2.3":0,"4.1":0.00151,"4.2-4.3":0.00452,"4.4":0,"4.4.3-4.4.4":0.03844},K:{_:"0 10 11 12 11.1 11.5 12.1"},A:{"11":0.33593,_:"6 7 8 9 10 5.5"},J:{"7":0,"10":0},N:{"10":0.02735,"11":0.02361},S:{"2.5":0},R:{_:"0"},M:{"0":0.11348},Q:{"10.4":0.02003},O:{"0":2.03588},H:{"0":0.66354},L:{"0":32.70969}}; diff --git a/tools/node_modules/@babel/core/node_modules/caniuse-lite/data/regions/KY.js b/tools/node_modules/@babel/core/node_modules/caniuse-lite/data/regions/KY.js new file mode 100644 index 00000000000000..f363992cfc1407 --- /dev/null +++ b/tools/node_modules/@babel/core/node_modules/caniuse-lite/data/regions/KY.js @@ -0,0 +1 @@ +module.exports={C:{"52":0.01032,"75":0.15996,"78":0.01548,"87":0.03096,"88":1.6254,_:"2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 76 77 79 80 81 82 83 84 85 86 89 90 91 3.5 3.6"},D:{"49":0.01032,"66":0.01548,"67":0.00516,"68":0.01032,"69":0.03612,"70":0.09288,"74":0.17028,"75":0.08772,"79":0.07224,"80":0.0258,"81":0.01548,"83":0.02064,"84":0.04128,"85":0.03612,"86":0.04128,"87":0.1806,"88":0.34056,"89":2.30136,"90":27.5802,"91":0.72756,"92":0.19092,_:"4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 71 72 73 76 77 78 93 94"},F:{"73":0.22188,"75":0.15996,"76":0.1806,_:"9 11 12 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 60 62 63 64 65 66 67 68 69 70 71 72 74 9.5-9.6 10.5 10.6 11.1 11.5 11.6 12.1","10.0-10.1":0},G:{"8":0,"3.2":0,"4.0-4.1":0,"4.2-4.3":0,"5.0-5.1":0,"6.0-6.1":0,"7.0-7.1":0,"8.1-8.4":0.01486,"9.0-9.2":0,"9.3":0.47069,"10.0-10.2":0.00495,"10.3":1.3229,"11.0-11.2":0.00248,"11.3-11.4":0.05946,"12.0-12.1":0.11148,"12.2-12.4":0.08918,"13.0-13.1":0.00991,"13.2":0.01734,"13.3":0.14369,"13.4-13.7":0.5029,"14.0-14.4":18.46111,"14.5-14.6":2.84398},E:{"4":0,"13":0.09804,"14":5.40252,_:"0 5 6 7 8 9 10 11 12 3.1 3.2 5.1 6.1 7.1 9.1","10.1":0.06708,"11.1":0.0516,"12.1":0.15996,"13.1":0.7224,"14.1":2.09496},B:{"15":0.08256,"16":0.04128,"17":0.01032,"18":0.26832,"80":0.02064,"83":0.0258,"88":0.00516,"89":0.29412,"90":5.7018,"91":0.42828,_:"12 13 14 79 81 84 85 86 87"},P:{"4":0.07396,"5.0-5.4":0.0308,"6.2-6.4":0.01027,"7.2-7.4":0.0317,"8.2":0.02053,"9.2":0.01057,"10.1":0.08212,"11.1-11.2":0.35923,"12.0":0.02113,"13.0":0.42262,"14.0":5.96954},I:{"0":0,"3":0,"4":0,"2.1":0,"2.2":0,"2.3":0,"4.1":0.00085,"4.2-4.3":0.01821,"4.4":0,"4.4.3-4.4.4":0.0826},K:{_:"0 10 11 12 11.1 11.5 12.1"},A:{"11":0.55728,_:"6 7 8 9 10 5.5"},J:{"7":0,"10":0},N:{"10":0.02735,"11":0.35567},S:{"2.5":0},R:{_:"0"},M:{"0":0.29046},Q:{"10.4":0},O:{"0":0.13071},H:{"0":0.03208},L:{"0":17.47551}}; diff --git a/tools/node_modules/@babel/core/node_modules/caniuse-lite/data/regions/KZ.js b/tools/node_modules/@babel/core/node_modules/caniuse-lite/data/regions/KZ.js new file mode 100644 index 00000000000000..b31d3b257dbcff --- /dev/null +++ b/tools/node_modules/@babel/core/node_modules/caniuse-lite/data/regions/KZ.js @@ -0,0 +1 @@ +module.exports={C:{"52":0.27264,"56":0.01573,"66":0.01049,"69":0.00524,"72":0.01049,"75":0.01049,"76":0.00524,"78":0.05243,"79":0.01573,"80":0.01573,"81":0.01049,"83":0.00524,"84":0.01049,"85":0.01049,"86":0.02097,"87":0.08913,"88":1.74592,"89":0.01573,_:"2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 53 54 55 57 58 59 60 61 62 63 64 65 67 68 70 71 73 74 77 82 90 91 3.5 3.6"},D:{"28":0.01049,"34":0.01049,"45":0.01049,"46":0.01049,"49":0.30934,"53":0.00524,"55":0.01573,"56":0.01573,"57":0.00524,"59":0.01049,"61":0.00524,"63":0.01573,"65":0.00524,"66":0.01049,"67":0.02097,"68":0.01049,"69":0.01049,"70":0.01573,"71":0.05243,"72":0.02097,"73":0.02097,"74":0.02097,"75":0.02622,"76":0.05243,"77":0.01573,"78":0.01049,"79":0.05243,"80":0.0734,"81":0.03146,"83":0.07865,"84":0.08913,"85":0.06292,"86":0.23069,"87":0.3408,"88":0.44566,"89":0.98568,"90":27.51002,"91":0.95947,"92":0.02622,_:"4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 29 30 31 32 33 35 36 37 38 39 40 41 42 43 44 47 48 50 51 52 54 58 60 62 64 93 94"},F:{"36":0.01573,"43":0.01049,"46":0.01573,"67":0.01049,"72":0.03146,"73":0.41944,"74":0.0367,"75":1.85078,"76":2.16012,_:"9 11 12 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 37 38 39 40 41 42 44 45 47 48 49 50 51 52 53 54 55 56 57 58 60 62 63 64 65 66 68 69 70 71 9.5-9.6 10.5 10.6 11.1 11.5 12.1","10.0-10.1":0,"11.6":0.57673},G:{"8":0,"3.2":0,"4.0-4.1":0,"4.2-4.3":0,"5.0-5.1":0,"6.0-6.1":0.0019,"7.0-7.1":0.00666,"8.1-8.4":0.00381,"9.0-9.2":0.00571,"9.3":0.0352,"10.0-10.2":0.02949,"10.3":0.08181,"11.0-11.2":0.07135,"11.3-11.4":0.0761,"12.0-12.1":0.05422,"12.2-12.4":0.2597,"13.0-13.1":0.05898,"13.2":0.0333,"13.3":0.19882,"13.4-13.7":0.54414,"14.0-14.4":6.31661,"14.5-14.6":0.93703},E:{"4":0,"12":0.00524,"13":0.05243,"14":0.99093,_:"0 5 6 7 8 9 10 11 3.1 3.2 6.1 7.1 9.1 10.1","5.1":0.96471,"11.1":0.0367,"12.1":0.04719,"13.1":0.24642,"14.1":0.53479},B:{"13":0.05243,"14":0.00524,"18":0.06816,"85":0.02097,"87":0.01573,"88":0.01049,"89":0.05243,"90":1.93991,"91":0.15205,_:"12 15 16 17 79 80 81 83 84 86"},P:{"4":0.09244,"5.0-5.4":0.01016,"6.2-6.4":0.01027,"7.2-7.4":0.09244,"8.2":0.03338,"9.2":0.09244,"10.1":0.03081,"11.1-11.2":0.25677,"12.0":0.18487,"13.0":0.58544,"14.0":1.81793},I:{"0":0,"3":0,"4":0,"2.1":0,"2.2":0,"2.3":0,"4.1":0.00073,"4.2-4.3":0.00512,"4.4":0,"4.4.3-4.4.4":0.02269},K:{_:"0 10 11 12 11.1 11.5 12.1"},A:{"10":0.01922,"11":0.67285,_:"6 7 8 9 5.5"},J:{"7":0,"10":0},N:{"10":0.02735,"11":0.02361},S:{"2.5":0},R:{_:"0"},M:{"0":0.17601},Q:{"10.4":0.02854},O:{"0":0.62792},H:{"0":0.27472},L:{"0":34.47937}}; diff --git a/tools/node_modules/@babel/core/node_modules/caniuse-lite/data/regions/LA.js b/tools/node_modules/@babel/core/node_modules/caniuse-lite/data/regions/LA.js new file mode 100644 index 00000000000000..a5d00ed34a12f9 --- /dev/null +++ b/tools/node_modules/@babel/core/node_modules/caniuse-lite/data/regions/LA.js @@ -0,0 +1 @@ +module.exports={C:{"48":0.0226,"51":0.00283,"52":0.01978,"56":0.00565,"63":0.0226,"66":0.00565,"71":0.55935,"72":0.00848,"76":0.00565,"78":0.0339,"83":0.00283,"84":0.01695,"85":0.02825,"86":0.05085,"87":0.01413,"88":1.47748,"89":0.05933,_:"2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 49 50 53 54 55 57 58 59 60 61 62 64 65 67 68 69 70 73 74 75 77 79 80 81 82 90 91 3.5 3.6"},D:{"26":0.00283,"37":0.00565,"43":0.0339,"49":0.37008,"52":0.00565,"53":0.00565,"56":0.01413,"58":0.00565,"62":0.00848,"63":0.0113,"65":0.00565,"67":0.00283,"68":0.00283,"69":0.00283,"70":0.00848,"71":0.00565,"72":0.00565,"74":0.0452,"75":0.0226,"76":0.0113,"77":0.00283,"78":0.03955,"79":0.03673,"80":0.05085,"81":0.01413,"83":0.05368,"84":0.16103,"85":0.02543,"86":0.1695,"87":0.5311,"88":0.12995,"89":0.62998,"90":13.79448,"91":0.59043,"92":0.01413,_:"4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 27 28 29 30 31 32 33 34 35 36 38 39 40 41 42 44 45 46 47 48 50 51 54 55 57 59 60 61 64 66 73 93 94"},F:{"28":0.00283,"69":0.03673,"73":0.01413,"75":0.0904,"76":0.17233,_:"9 11 12 15 16 17 18 19 20 21 22 23 24 25 26 27 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 60 62 63 64 65 66 67 68 70 71 72 74 9.5-9.6 10.5 10.6 11.1 11.5 11.6 12.1","10.0-10.1":0},G:{"8":0,"3.2":0,"4.0-4.1":0,"4.2-4.3":0.00147,"5.0-5.1":0,"6.0-6.1":0.01469,"7.0-7.1":0.03526,"8.1-8.4":0.00147,"9.0-9.2":0.04261,"9.3":0.09256,"10.0-10.2":0.04701,"10.3":0.19099,"11.0-11.2":0.09549,"11.3-11.4":0.22772,"12.0-12.1":0.28354,"12.2-12.4":0.94613,"13.0-13.1":0.13516,"13.2":0.09109,"13.3":0.51126,"13.4-13.7":1.21498,"14.0-14.4":7.69829,"14.5-14.6":1.40009},E:{"4":0,"10":0.00283,"11":0.00848,"12":0.00848,"13":0.03108,"14":0.98875,_:"0 5 6 7 8 9 3.1 3.2 5.1 6.1 7.1 9.1","10.1":0.00565,"11.1":0.0339,"12.1":0.03955,"13.1":0.1017,"14.1":0.2825},B:{"12":0.00848,"13":0.00565,"14":0.00283,"15":0.0339,"16":0.01413,"17":0.0113,"18":0.11583,"81":0.00848,"84":0.01695,"85":0.0113,"86":0.01413,"87":0.00283,"88":0.00848,"89":0.0565,"90":1.71195,"91":0.09605,_:"79 80 83"},P:{"4":1.10507,"5.0-5.4":0.11152,"6.2-6.4":0.06083,"7.2-7.4":0.29401,"8.2":0.02028,"9.2":0.24332,"10.1":0.09124,"11.1-11.2":0.42581,"12.0":0.25346,"13.0":0.66913,"14.0":2.02766},I:{"0":0,"3":0,"4":0,"2.1":0,"2.2":0,"2.3":0,"4.1":0,"4.2-4.3":0.00564,"4.4":0,"4.4.3-4.4.4":0.07329},K:{_:"0 10 11 12 11.1 11.5 12.1"},A:{"8":0.00732,"11":0.71023,_:"6 7 9 10 5.5"},J:{"7":0,"10":0},N:{"10":0.02735,"11":0.02361},S:{"2.5":0},R:{_:"0"},M:{"0":0.1722},Q:{"10.4":0.1722},O:{"0":1.24128},H:{"0":0.35323},L:{"0":55.07558}}; diff --git a/tools/node_modules/@babel/core/node_modules/caniuse-lite/data/regions/LB.js b/tools/node_modules/@babel/core/node_modules/caniuse-lite/data/regions/LB.js new file mode 100644 index 00000000000000..94b597847566fd --- /dev/null +++ b/tools/node_modules/@babel/core/node_modules/caniuse-lite/data/regions/LB.js @@ -0,0 +1 @@ +module.exports={C:{"37":0.01428,"50":0.00714,"52":0.03569,"57":0.01428,"58":0.03212,"67":0.00714,"68":0.00714,"72":0.01428,"77":0.01785,"78":0.04283,"81":0.01071,"83":0.00357,"84":0.00714,"85":0.00714,"86":0.01071,"87":0.02498,"88":1.79521,"89":0.01785,_:"2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 38 39 40 41 42 43 44 45 46 47 48 49 51 53 54 55 56 59 60 61 62 63 64 65 66 69 70 71 73 74 75 76 79 80 82 90 91 3.5 3.6"},D:{"38":0.00714,"43":0.01071,"49":0.07852,"53":0.00714,"63":0.01785,"65":0.08209,"67":0.00714,"68":0.00714,"69":0.00714,"70":0.01785,"71":0.00714,"72":0.01071,"73":0.00714,"74":0.01785,"75":0.00357,"76":0.00714,"77":0.00714,"78":0.01071,"79":0.05354,"80":0.08566,"81":0.01785,"83":0.0464,"84":0.03569,"85":0.04283,"86":0.06424,"87":0.32835,"88":0.12135,"89":0.58532,"90":20.88222,"91":0.89225,"92":0.00714,_:"4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 39 40 41 42 44 45 46 47 48 50 51 52 54 55 56 57 58 59 60 61 62 64 66 93 94"},F:{"73":0.04283,"75":0.32121,"76":0.33192,_:"9 11 12 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 60 62 63 64 65 66 67 68 69 70 71 72 74 9.5-9.6 10.5 10.6 11.1 11.5 11.6 12.1","10.0-10.1":0},G:{"8":0,"3.2":0,"4.0-4.1":0,"4.2-4.3":0,"5.0-5.1":0.00488,"6.0-6.1":0.00122,"7.0-7.1":0.04151,"8.1-8.4":0.04517,"9.0-9.2":0.00977,"9.3":0.11598,"10.0-10.2":0.02808,"10.3":0.12575,"11.0-11.2":0.06349,"11.3-11.4":0.11232,"12.0-12.1":0.09034,"12.2-12.4":0.34062,"13.0-13.1":0.04639,"13.2":0.01221,"13.3":0.18435,"13.4-13.7":0.54939,"14.0-14.4":7.48516,"14.5-14.6":1.92043},E:{"4":0,"11":0.00714,"12":0.03212,"13":0.0571,"14":1.5311,_:"0 5 6 7 8 9 10 3.1 3.2 6.1 7.1","5.1":1.24558,"9.1":0.00714,"10.1":0.01428,"11.1":0.04997,"12.1":0.11778,"13.1":0.36761,"14.1":0.41044},B:{"12":0.01071,"13":0.00714,"14":0.00714,"15":0.01071,"16":0.00714,"17":0.01428,"18":0.06067,"84":0.00714,"85":0.00357,"86":0.02498,"87":0.00357,"88":0.01428,"89":0.11421,"90":2.2449,"91":0.32478,_:"79 80 81 83"},P:{"4":0.29425,"5.0-5.4":0.11152,"6.2-6.4":0.06083,"7.2-7.4":0.31455,"8.2":0.02028,"9.2":0.14205,"10.1":0.07103,"11.1-11.2":0.37543,"12.0":0.20293,"13.0":0.9132,"14.0":5.44877},I:{"0":0,"3":0,"4":0,"2.1":0,"2.2":0,"2.3":0,"4.1":0.00151,"4.2-4.3":0.00726,"4.4":0,"4.4.3-4.4.4":0.06197},K:{_:"0 10 11 12 11.1 11.5 12.1"},A:{"8":0.00714,"9":0.00357,"11":0.4604,_:"6 7 10 5.5"},J:{"7":0,"10":0},N:{"10":0.02735,"11":0.02361},S:{"2.5":0},R:{_:"0"},M:{"0":0.10933},Q:{"10.4":0},O:{"0":0.34084},H:{"0":0.21918},L:{"0":46.40907}}; diff --git a/tools/node_modules/@babel/core/node_modules/caniuse-lite/data/regions/LC.js b/tools/node_modules/@babel/core/node_modules/caniuse-lite/data/regions/LC.js new file mode 100644 index 00000000000000..a15983c58c7862 --- /dev/null +++ b/tools/node_modules/@babel/core/node_modules/caniuse-lite/data/regions/LC.js @@ -0,0 +1 @@ +module.exports={C:{"59":0.00379,"78":0.00758,"85":0.00379,"86":0.00758,"87":0.02273,"88":0.73128,"89":0.00758,_:"2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 79 80 81 82 83 84 90 91 3.5 3.6"},D:{"34":0.04547,"49":0.67065,"53":0.00758,"63":0.01137,"65":0.01137,"69":0.01137,"70":0.01137,"71":0.00758,"73":0.04926,"74":0.10609,"75":0.01516,"76":0.50773,"77":0.02652,"79":0.03789,"80":0.01137,"81":0.02652,"83":0.01895,"84":0.00758,"85":0.01895,"86":0.02273,"87":0.20082,"88":0.10609,"89":0.70097,"90":20.62732,"91":0.67065,"92":0.01137,_:"4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 35 36 37 38 39 40 41 42 43 44 45 46 47 48 50 51 52 54 55 56 57 58 59 60 61 62 64 66 67 68 72 78 93 94"},F:{"73":0.04547,"74":0.00379,"75":0.16293,"76":0.16672,_:"9 11 12 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 60 62 63 64 65 66 67 68 69 70 71 72 9.5-9.6 10.5 10.6 11.1 11.5 11.6 12.1","10.0-10.1":0},G:{"8":0,"3.2":0,"4.0-4.1":0,"4.2-4.3":0.00225,"5.0-5.1":0.0045,"6.0-6.1":0,"7.0-7.1":0.00563,"8.1-8.4":0,"9.0-9.2":0.0045,"9.3":0.03825,"10.0-10.2":0.08775,"10.3":0.08888,"11.0-11.2":0.02813,"11.3-11.4":0.02363,"12.0-12.1":0.01463,"12.2-12.4":0.12825,"13.0-13.1":0.018,"13.2":0.00788,"13.3":0.14738,"13.4-13.7":0.26551,"14.0-14.4":7.90224,"14.5-14.6":1.41079},E:{"4":0,"13":0.0341,"14":0.94346,_:"0 5 6 7 8 9 10 11 12 3.1 3.2 6.1 7.1","5.1":0.09094,"9.1":0.00758,"10.1":0.01516,"11.1":0.00758,"12.1":0.07199,"13.1":0.40163,"14.1":0.33343},B:{"13":0.00379,"14":0.00379,"15":0.01137,"16":0.01137,"17":0.01137,"18":0.12883,"80":0.00379,"84":0.00379,"85":0.01516,"88":0.00379,"89":0.12125,"90":4.20579,"91":0.44331,_:"12 79 81 83 86 87"},P:{"4":0.05222,"5.0-5.4":0.02077,"6.2-6.4":0.05019,"7.2-7.4":0.69977,"8.2":0.03133,"9.2":0.13578,"10.1":0.03133,"11.1-11.2":0.50133,"12.0":0.19844,"13.0":0.82511,"14.0":7.14397},I:{"0":0,"3":0,"4":0.00048,"2.1":0,"2.2":0,"2.3":0,"4.1":0.00143,"4.2-4.3":0.00525,"4.4":0,"4.4.3-4.4.4":0.04251},K:{_:"0 10 11 12 11.1 11.5 12.1"},A:{"10":0.00379,"11":0.20461,_:"6 7 8 9 5.5"},J:{"7":0,"10":0},N:{_:"10 11"},S:{"2.5":0},R:{_:"0"},M:{"0":0.30429},Q:{"10.4":0},O:{"0":0.42228},H:{"0":0.1705},L:{"0":46.6233}}; diff --git a/tools/node_modules/@babel/core/node_modules/caniuse-lite/data/regions/LI.js b/tools/node_modules/@babel/core/node_modules/caniuse-lite/data/regions/LI.js new file mode 100644 index 00000000000000..71dcd13ac9b14f --- /dev/null +++ b/tools/node_modules/@babel/core/node_modules/caniuse-lite/data/regions/LI.js @@ -0,0 +1 @@ +module.exports={C:{"47":0.02744,"52":0.04117,"54":0.17839,"68":0.01372,"70":0.01372,"76":0.00686,"77":0.36363,"78":0.30875,"83":0.00686,"84":0.10292,"85":0.01372,"86":0.10978,"87":0.49399,"88":10.03764,"89":0.02058,_:"2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 48 49 50 51 53 55 56 57 58 59 60 61 62 63 64 65 66 67 69 71 72 73 74 75 79 80 81 82 90 91 3.5 3.6"},D:{"29":0.02058,"49":1.96225,"50":0.10978,"53":0.02058,"63":0.01372,"64":0.04117,"71":0.01372,"72":0.01372,"73":0.02744,"74":0.01372,"75":0.03431,"77":0.02058,"78":0.02744,"79":0.06175,"80":0.00686,"81":0.1235,"83":0.00686,"84":0.08919,"85":0.02058,"86":0.1578,"87":0.247,"88":0.47341,"89":2.57974,"90":24.78879,"91":1.15951,"92":0.08233,_:"4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 51 52 54 55 56 57 58 59 60 61 62 65 66 67 68 69 70 76 93 94"},F:{"73":0.10292,"74":0.02058,"75":0.96054,"76":0.99485,_:"9 11 12 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 60 62 63 64 65 66 67 68 69 70 71 72 9.5-9.6 10.5 10.6 11.1 11.5 11.6 12.1","10.0-10.1":0},G:{"8":0,"3.2":0,"4.0-4.1":0,"4.2-4.3":0,"5.0-5.1":0,"6.0-6.1":0.00366,"7.0-7.1":0.21021,"8.1-8.4":0,"9.0-9.2":0.00366,"9.3":0.03107,"10.0-10.2":0,"10.3":0.08043,"11.0-11.2":0.0658,"11.3-11.4":0.02559,"12.0-12.1":0.15354,"12.2-12.4":0.11881,"13.0-13.1":0.02559,"13.2":0.00731,"13.3":0.19376,"13.4-13.7":0.59407,"14.0-14.4":12.99827,"14.5-14.6":3.02336},E:{"4":0,"12":0.00686,"13":0.13722,"14":5.49566,_:"0 5 6 7 8 9 10 11 3.1 3.2 5.1 6.1 7.1 9.1 10.1","11.1":0.61063,"12.1":0.15094,"13.1":1.39964,"14.1":1.72211},B:{"12":0.01372,"15":0.00686,"17":0.00686,"18":0.02744,"84":0.00686,"88":0.31561,"89":0.6861,"90":9.65343,"91":0.87135,_:"13 14 16 79 80 81 83 85 86 87"},P:{"4":0.06554,"5.0-5.4":0.0202,"6.2-6.4":0.0909,"7.2-7.4":0.72717,"8.2":0.0303,"9.2":0.28279,"10.1":0.14139,"11.1-11.2":0.69687,"12.0":0.36358,"13.0":0.49153,"14.0":2.00982},I:{"0":0,"3":0,"4":0,"2.1":0,"2.2":0,"2.3":0,"4.1":0,"4.2-4.3":0.00009,"4.4":0,"4.4.3-4.4.4":0.05326},K:{_:"0 10 11 12 11.1 11.5 12.1"},A:{"11":0.5283,_:"6 7 8 9 10 5.5"},J:{"7":0,"10":0},N:{"10":0.02735,"11":0.02361},S:{"2.5":0},R:{_:"0"},M:{"0":0.92257},Q:{"10.4":0},O:{"0":0.00628},H:{"0":0.09804},L:{"0":10.54995}}; diff --git a/tools/node_modules/@babel/core/node_modules/caniuse-lite/data/regions/LK.js b/tools/node_modules/@babel/core/node_modules/caniuse-lite/data/regions/LK.js new file mode 100644 index 00000000000000..034477c38cee1a --- /dev/null +++ b/tools/node_modules/@babel/core/node_modules/caniuse-lite/data/regions/LK.js @@ -0,0 +1 @@ +module.exports={C:{"41":0.00364,"43":0.00364,"47":0.00364,"52":0.01455,"65":0.00727,"72":0.01455,"76":0.00364,"77":0.00364,"78":0.03273,"81":0.01091,"82":0.00364,"83":0.00364,"84":0.01819,"85":0.01455,"86":0.02182,"87":0.0291,"88":1.63301,"89":0.08001,_:"2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 42 44 45 46 48 49 50 51 53 54 55 56 57 58 59 60 61 62 63 64 66 67 68 69 70 71 73 74 75 79 80 90 91 3.5 3.6"},D:{"22":0.00364,"30":0.00364,"31":0.00364,"33":0.00364,"43":0.00364,"49":0.04728,"53":0.00364,"55":0.00727,"56":0.00364,"58":0.00727,"60":0.01091,"61":0.00727,"63":0.0291,"64":0.00727,"65":0.00364,"66":0.00727,"67":0.01091,"68":0.01091,"69":0.00727,"70":0.01455,"71":0.01091,"72":0.00727,"73":0.00364,"74":0.02182,"75":0.00727,"76":0.01455,"77":0.01455,"78":0.01819,"79":0.05092,"80":0.0291,"81":0.06183,"83":0.05819,"84":0.02546,"85":0.04001,"86":0.08365,"87":0.24004,"88":0.14912,"89":0.47281,"90":20.69817,"91":0.8947,"92":0.01455,_:"4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 23 24 25 26 27 28 29 32 34 35 36 37 38 39 40 41 42 44 45 46 47 48 50 51 52 54 57 59 62 93 94"},F:{"72":0.00727,"73":0.03637,"74":0.01091,"75":0.47645,"76":0.9929,_:"9 11 12 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 60 62 63 64 65 66 67 68 69 70 71 9.5-9.6 10.5 10.6 11.1 11.5 11.6 12.1","10.0-10.1":0},G:{"8":0.00236,"3.2":0,"4.0-4.1":0,"4.2-4.3":0.00094,"5.0-5.1":0.00047,"6.0-6.1":0.00094,"7.0-7.1":0.01508,"8.1-8.4":0.00848,"9.0-9.2":0.00943,"9.3":0.04289,"10.0-10.2":0.01461,"10.3":0.05562,"11.0-11.2":0.07919,"11.3-11.4":0.05656,"12.0-12.1":0.05751,"12.2-12.4":0.25077,"13.0-13.1":0.05044,"13.2":0.03111,"13.3":0.11973,"13.4-13.7":0.32948,"14.0-14.4":2.51991,"14.5-14.6":0.62974},E:{"4":0,"13":0.02182,"14":0.25459,_:"0 5 6 7 8 9 10 11 12 3.1 3.2 6.1 7.1 9.1 10.1","5.1":0.23277,"11.1":0.00727,"12.1":0.01819,"13.1":0.05819,"14.1":0.09456},B:{"12":0.01819,"13":0.01091,"14":0.00727,"15":0.01091,"16":0.01091,"17":0.01455,"18":0.0691,"80":0.00727,"84":0.01819,"85":0.01091,"86":0.00727,"87":0.01455,"88":0.01455,"89":0.0691,"90":4.21528,"91":0.16003,_:"79 81 83"},P:{"4":1.18236,"5.0-5.4":0.03032,"6.2-6.4":0.08085,"7.2-7.4":0.96004,"8.2":0.06063,"9.2":0.27285,"10.1":0.10106,"11.1-11.2":0.77814,"12.0":0.25264,"13.0":0.81856,"14.0":1.23289},I:{"0":0,"3":0,"4":0,"2.1":0,"2.2":0,"2.3":0,"4.1":0.00235,"4.2-4.3":0.009,"4.4":0,"4.4.3-4.4.4":0.09044},K:{_:"0 10 11 12 11.1 11.5 12.1"},A:{"11":0.07274,_:"6 7 8 9 10 5.5"},J:{"7":0,"10":0},N:{"10":0.01297,"11":0.01825},S:{"2.5":0},R:{_:"0"},M:{"0":0.10179},Q:{"10.4":0},O:{"0":2.43665},H:{"0":2.24663},L:{"0":52.40185}}; diff --git a/tools/node_modules/@babel/core/node_modules/caniuse-lite/data/regions/LR.js b/tools/node_modules/@babel/core/node_modules/caniuse-lite/data/regions/LR.js new file mode 100644 index 00000000000000..67fe67d6e1e58d --- /dev/null +++ b/tools/node_modules/@babel/core/node_modules/caniuse-lite/data/regions/LR.js @@ -0,0 +1 @@ +module.exports={C:{"15":0.0074,"24":0.02715,"27":0.00494,"34":0.00987,"47":0.00987,"49":0.00247,"50":0.0074,"56":0.0074,"62":0.0074,"68":0.0074,"70":0.00247,"72":0.0074,"78":0.00987,"82":0.03949,"84":0.00494,"85":0.00494,"86":0.01974,"87":0.04936,"88":0.83912,"89":0.07404,_:"2 3 4 5 6 7 8 9 10 11 12 13 14 16 17 18 19 20 21 22 23 25 26 28 29 30 31 32 33 35 36 37 38 39 40 41 42 43 44 45 46 48 51 52 53 54 55 57 58 59 60 61 63 64 65 66 67 69 71 73 74 75 76 77 79 80 81 83 90 91 3.5 3.6"},D:{"11":0.0074,"43":0.01728,"50":0.00987,"51":0.00247,"53":0.00494,"55":0.00247,"56":0.00247,"57":0.01481,"58":0.01728,"60":0.07651,"63":0.01974,"64":0.06664,"65":0.00987,"67":0.02221,"68":0.00247,"69":0.0074,"70":0.01728,"71":0.00494,"73":0.02468,"74":0.01974,"75":0.01234,"76":0.01481,"77":0.00987,"78":0.01234,"79":0.02221,"80":0.02468,"81":0.02715,"83":0.03949,"84":0.02221,"85":0.04442,"86":0.03702,"87":0.15795,"88":0.10612,"89":0.37514,"90":6.82402,"91":0.39735,"92":0.01481,_:"4 5 6 7 8 9 10 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 44 45 46 47 48 49 52 54 59 61 62 66 72 93 94"},F:{"63":0.0074,"72":0.00494,"73":0.00247,"74":0.00494,"75":0.20731,"76":0.31097,_:"9 11 12 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 60 62 64 65 66 67 68 69 70 71 9.5-9.6 10.5 10.6 11.1 11.5 11.6 12.1","10.0-10.1":0},G:{"8":0.00066,"3.2":0,"4.0-4.1":0,"4.2-4.3":0,"5.0-5.1":0.00997,"6.0-6.1":0.00066,"7.0-7.1":0.0605,"8.1-8.4":0.00199,"9.0-9.2":0.00066,"9.3":0.20943,"10.0-10.2":0.0379,"10.3":0.05585,"11.0-11.2":0.03457,"11.3-11.4":0.05718,"12.0-12.1":0.09241,"12.2-12.4":0.40689,"13.0-13.1":0.08909,"13.2":0.05186,"13.3":0.18815,"13.4-13.7":0.69277,"14.0-14.4":3.7863,"14.5-14.6":0.49731},E:{"4":0,"13":0.04442,"14":0.38007,_:"0 5 6 7 8 9 10 11 12 3.1 3.2 5.1 6.1 7.1","9.1":0.00987,"10.1":0.02715,"11.1":0.00987,"12.1":0.00494,"13.1":0.06664,"14.1":0.07651},B:{"12":0.10366,"13":0.06664,"14":0.03208,"15":0.05183,"16":0.04196,"17":0.05676,"18":0.16536,"80":0.04442,"84":0.01728,"85":0.03455,"86":0.0074,"87":0.01481,"88":0.01481,"89":0.05676,"90":1.58939,"91":0.09625,_:"79 81 83"},P:{"4":0.25731,"5.0-5.4":0.05146,"6.2-6.4":0.08234,"7.2-7.4":0.11322,"8.2":0.01029,"9.2":0.08234,"10.1":0.04117,"11.1-11.2":0.20585,"12.0":0.07205,"13.0":0.31906,"14.0":0.73076},I:{"0":0,"3":0,"4":0.00157,"2.1":0,"2.2":0,"2.3":0,"4.1":0.00314,"4.2-4.3":0.00863,"4.4":0,"4.4.3-4.4.4":0.06198},K:{_:"0 10 11 12 11.1 11.5 12.1"},A:{"8":0.01062,"10":0.01062,"11":0.22309,_:"6 7 9 5.5"},J:{"7":0,"10":0.01506},N:{"10":0.02735,"11":0.02361},S:{"2.5":0.2109},R:{_:"0"},M:{"0":0.1657},Q:{"10.4":0.07532},O:{"0":1.64198},H:{"0":6.53182},L:{"0":68.38344}}; diff --git a/tools/node_modules/@babel/core/node_modules/caniuse-lite/data/regions/LS.js b/tools/node_modules/@babel/core/node_modules/caniuse-lite/data/regions/LS.js new file mode 100644 index 00000000000000..cecf2a69095fde --- /dev/null +++ b/tools/node_modules/@babel/core/node_modules/caniuse-lite/data/regions/LS.js @@ -0,0 +1 @@ +module.exports={C:{"29":0.05903,"43":0.00537,"47":0.01342,"60":0.00268,"64":0.00268,"78":0.0161,"82":0.04561,"85":0.00537,"87":0.02146,"88":0.70563,"89":0.03488,_:"2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 30 31 32 33 34 35 36 37 38 39 40 41 42 44 45 46 48 49 50 51 52 53 54 55 56 57 58 59 61 62 63 65 66 67 68 69 70 71 72 73 74 75 76 77 79 80 81 83 84 86 90 91 3.5 3.6"},D:{"28":0.01073,"40":0.00268,"43":0.0161,"49":0.00537,"53":0.0322,"56":0.02415,"57":0.00537,"58":0.00268,"60":0.00805,"63":0.04561,"65":0.00537,"66":0.00268,"67":0.00268,"68":0.01342,"69":0.02951,"70":0.05098,"71":0.02146,"72":0.01073,"73":0.00805,"74":0.05366,"77":0.00537,"78":0.02951,"79":0.04025,"80":0.04293,"81":0.06976,"83":0.02146,"84":0.02146,"85":0.01878,"86":0.03488,"87":0.17171,"88":0.08854,"89":0.29513,"90":8.3495,"91":0.21196,_:"4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 29 30 31 32 33 34 35 36 37 38 39 41 42 44 45 46 47 48 50 51 52 54 55 59 61 62 64 75 76 92 93 94"},F:{"63":0.00537,"73":0.0322,"74":0.00537,"75":0.2361,"76":0.41587,_:"9 11 12 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 60 62 64 65 66 67 68 69 70 71 72 9.5-9.6 10.5 10.6 11.1 11.5 11.6 12.1","10.0-10.1":0},G:{"8":0,"3.2":0,"4.0-4.1":0,"4.2-4.3":0.0011,"5.0-5.1":0,"6.0-6.1":0.0011,"7.0-7.1":0.00658,"8.1-8.4":0.00132,"9.0-9.2":0.00044,"9.3":0.15304,"10.0-10.2":0.00241,"10.3":0.02806,"11.0-11.2":0.04539,"11.3-11.4":0.02302,"12.0-12.1":0.02719,"12.2-12.4":0.12454,"13.0-13.1":0.0068,"13.2":0.04276,"13.3":0.10217,"13.4-13.7":0.15194,"14.0-14.4":0.98556,"14.5-14.6":0.3234},E:{"4":0,"11":0.00537,"13":0.00268,"14":0.17171,_:"0 5 6 7 8 9 10 12 3.1 3.2 6.1 9.1 11.1","5.1":0.06708,"7.1":0.00537,"10.1":0.02951,"12.1":0.0161,"13.1":0.02415,"14.1":0.02146},B:{"12":0.41855,"13":0.02415,"14":0.01878,"15":0.01878,"16":0.05634,"17":0.0322,"18":0.17171,"80":0.01878,"84":0.01073,"85":0.01878,"86":0.01342,"87":0.00537,"88":0.01342,"89":0.08317,"90":1.63395,"91":0.04025,_:"79 81 83"},P:{"4":0.77515,"5.0-5.4":0.11152,"6.2-6.4":0.04027,"7.2-7.4":1.99324,"8.2":0.07047,"9.2":0.16107,"10.1":0.0604,"11.1-11.2":1.03689,"12.0":0.2416,"13.0":0.77515,"14.0":1.00669},I:{"0":0,"3":0,"4":0,"2.1":0,"2.2":0,"2.3":0,"4.1":0,"4.2-4.3":0.0074,"4.4":0,"4.4.3-4.4.4":0.12431},K:{_:"0 10 11 12 11.1 11.5 12.1"},A:{"11":0.18781,_:"6 7 8 9 10 5.5"},J:{"7":0,"10":0.02927},N:{"10":0.02735,"11":0.02361},S:{"2.5":0.00732},R:{_:"0"},M:{"0":0.16829},Q:{"10.4":0.05854},O:{"0":1.18535},H:{"0":7.7239},L:{"0":67.23319}}; diff --git a/tools/node_modules/@babel/core/node_modules/caniuse-lite/data/regions/LT.js b/tools/node_modules/@babel/core/node_modules/caniuse-lite/data/regions/LT.js new file mode 100644 index 00000000000000..97c225fa74075b --- /dev/null +++ b/tools/node_modules/@babel/core/node_modules/caniuse-lite/data/regions/LT.js @@ -0,0 +1 @@ +module.exports={C:{"31":0.0059,"32":0.0059,"48":0.01769,"50":0.01179,"51":0.01179,"52":0.09434,"55":0.0059,"56":0.0059,"60":0.01179,"63":0.0059,"66":0.01179,"68":0.01179,"70":0.0059,"72":0.01179,"76":0.01769,"78":0.13561,"80":0.0059,"81":0.0059,"82":0.01179,"83":0.01179,"84":0.01769,"85":0.02948,"86":0.02948,"87":0.08844,"88":5.58941,"89":0.04717,_:"2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 49 53 54 57 58 59 61 62 64 65 67 69 71 73 74 75 77 79 90 91 3.5 3.6"},D:{"38":0.05896,"47":0.01179,"48":0.02948,"49":0.33018,"53":0.02358,"56":0.13561,"58":0.0059,"60":0.01179,"61":0.20636,"63":0.0059,"64":0.01179,"65":0.0059,"67":0.01179,"68":0.04717,"69":0.01179,"70":0.0059,"71":0.0059,"72":0.01179,"73":0.0059,"74":0.01179,"75":0.02358,"76":0.01179,"77":0.01179,"78":0.01769,"79":0.06486,"80":0.04127,"81":0.02358,"83":0.11202,"84":0.21226,"85":0.11792,"86":0.22994,"87":0.25942,"88":0.24174,"89":0.86082,"90":34.72744,"91":1.23226,"92":0.01179,_:"4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 39 40 41 42 43 44 45 46 50 51 52 54 55 57 59 62 66 93 94"},F:{"36":0.04127,"65":0.02948,"70":0.01179,"73":0.4422,"74":0.02358,"75":1.9162,"76":1.52706,_:"9 11 12 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 60 62 63 64 66 67 68 69 71 72 9.5-9.6 10.5 10.6 11.1 11.5 11.6 12.1","10.0-10.1":0},G:{"8":0,"3.2":0,"4.0-4.1":0,"4.2-4.3":0,"5.0-5.1":0,"6.0-6.1":0.00331,"7.0-7.1":0,"8.1-8.4":0.00552,"9.0-9.2":0.01105,"9.3":0.04309,"10.0-10.2":0.00663,"10.3":0.10275,"11.0-11.2":0.02541,"11.3-11.4":0.04861,"12.0-12.1":0.04198,"12.2-12.4":0.08949,"13.0-13.1":0.02099,"13.2":0.01547,"13.3":0.0917,"13.4-13.7":0.33696,"14.0-14.4":8.69473,"14.5-14.6":1.30918},E:{"4":0.0059,"12":0.01179,"13":0.04717,"14":1.39146,_:"0 5 6 7 8 9 10 11 3.1 3.2 5.1 6.1 7.1 9.1","10.1":0.01179,"11.1":0.04127,"12.1":0.08844,"13.1":0.35376,"14.1":0.67214},B:{"13":0.01179,"14":0.01179,"16":0.0059,"17":0.0059,"18":0.04127,"80":0.0059,"84":0.01179,"85":0.01769,"86":0.0059,"87":0.01769,"88":0.01769,"89":0.08254,"90":4.19795,"91":0.27711,_:"12 15 79 81 83"},P:{"4":0.07295,"5.0-5.4":0.0202,"6.2-6.4":0.0909,"7.2-7.4":0.01042,"8.2":0.0303,"9.2":0.28279,"10.1":0.03127,"11.1-11.2":0.07295,"12.0":0.0938,"13.0":0.38561,"14.0":3.29335},I:{"0":0,"3":0,"4":0,"2.1":0,"2.2":0,"2.3":0,"4.1":0.00291,"4.2-4.3":0.00873,"4.4":0,"4.4.3-4.4.4":0.04171},K:{_:"0 10 11 12 11.1 11.5 12.1"},A:{"6":0.00622,"7":0.00622,"8":0.05598,"9":0.02488,"10":0.02488,"11":0.55985,_:"5.5"},J:{"7":0,"10":0},N:{"10":0.02735,"11":0.02361},S:{"2.5":0},R:{_:"0"},M:{"0":0.27497},Q:{"10.4":0.02052},O:{"0":0.09439},H:{"0":0.30306},L:{"0":26.32735}}; diff --git a/tools/node_modules/@babel/core/node_modules/caniuse-lite/data/regions/LU.js b/tools/node_modules/@babel/core/node_modules/caniuse-lite/data/regions/LU.js new file mode 100644 index 00000000000000..47c2219f30c928 --- /dev/null +++ b/tools/node_modules/@babel/core/node_modules/caniuse-lite/data/regions/LU.js @@ -0,0 +1 @@ +module.exports={C:{"45":0.01564,"48":0.04693,"52":0.10949,"60":0.02086,"68":0.26591,"70":0.02607,"72":0.01043,"75":0.00521,"76":0.01564,"77":0.01564,"78":0.5214,"79":0.01043,"80":0.02086,"81":0.01043,"82":0.01043,"83":0.02607,"84":0.01043,"85":0.0365,"86":0.06778,"87":0.14599,"88":5.9231,"89":0.01564,_:"2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 46 47 49 50 51 53 54 55 56 57 58 59 61 62 63 64 65 66 67 69 71 73 74 90 91 3.5 3.6"},D:{"36":0.00521,"38":0.01043,"41":0.00521,"49":0.61525,"53":0.03128,"57":0.02086,"63":0.00521,"65":0.01043,"67":0.01043,"68":0.01564,"70":0.02607,"71":0.01043,"72":0.02607,"73":0.01043,"74":0.00521,"75":0.04171,"76":0.073,"77":0.08864,"78":0.09385,"79":0.03128,"80":0.06778,"81":0.16163,"83":0.073,"84":0.02607,"85":0.13035,"86":0.33891,"87":0.35977,"88":0.43798,"89":0.88638,"90":19.44822,"91":0.5579,"92":0.01043,_:"4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 37 39 40 42 43 44 45 46 47 48 50 51 52 54 55 56 58 59 60 61 62 64 66 69 93 94"},F:{"73":0.11471,"74":0.00521,"75":0.53183,"76":0.49533,_:"9 11 12 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 60 62 63 64 65 66 67 68 69 70 71 72 9.5-9.6 10.5 10.6 11.1 11.5 12.1","10.0-10.1":0,"11.6":0.02607},G:{"8":0,"3.2":0,"4.0-4.1":0,"4.2-4.3":0,"5.0-5.1":0.00674,"6.0-6.1":0.00449,"7.0-7.1":0,"8.1-8.4":0.00225,"9.0-9.2":0,"9.3":0.48505,"10.0-10.2":0.08533,"10.3":0.17291,"11.0-11.2":0.07635,"11.3-11.4":0.06288,"12.0-12.1":0.08758,"12.2-12.4":0.24926,"13.0-13.1":0.1033,"13.2":0.01796,"13.3":0.16842,"13.4-13.7":0.77698,"14.0-14.4":15.95503,"14.5-14.6":3.58399},E:{"4":0,"8":0.00521,"11":0.00521,"12":0.02086,"13":0.11992,"14":7.13797,_:"0 5 6 7 9 10 3.1 3.2 5.1 6.1 7.1","9.1":0.01043,"10.1":0.06778,"11.1":0.13556,"12.1":0.49533,"13.1":1.13144,"14.1":2.77385},B:{"14":0.00521,"17":0.01564,"18":0.14078,"84":0.02086,"85":0.01043,"86":0.02086,"87":0.01043,"88":0.11471,"89":0.19292,"90":5.07322,"91":0.26591,_:"12 13 15 16 79 80 81 83"},P:{"4":0.26442,"5.0-5.4":0.0202,"6.2-6.4":0.0909,"7.2-7.4":0.04231,"8.2":0.0303,"9.2":0.03173,"10.1":0.02115,"11.1-11.2":0.10577,"12.0":0.09519,"13.0":0.37018,"14.0":3.55374},I:{"0":0,"3":0,"4":0,"2.1":0,"2.2":0,"2.3":0,"4.1":0.0009,"4.2-4.3":0.0027,"4.4":0,"4.4.3-4.4.4":0.03468},K:{_:"0 10 11 12 11.1 11.5 12.1"},A:{"8":0.00588,"9":0.01765,"11":0.66472,_:"6 7 10 5.5"},J:{"7":0,"10":0},N:{"10":0.02735,"11":0.02361},S:{"2.5":0},R:{_:"0"},M:{"0":0.80405},Q:{"10.4":0.05743},O:{"0":0.33502},H:{"0":0.33983},L:{"0":20.46633}}; diff --git a/tools/node_modules/@babel/core/node_modules/caniuse-lite/data/regions/LV.js b/tools/node_modules/@babel/core/node_modules/caniuse-lite/data/regions/LV.js new file mode 100644 index 00000000000000..040f0dc095569a --- /dev/null +++ b/tools/node_modules/@babel/core/node_modules/caniuse-lite/data/regions/LV.js @@ -0,0 +1 @@ +module.exports={C:{"37":0.00632,"52":0.13911,"56":0.02529,"60":0.01265,"64":0.00632,"66":0.00632,"68":0.01897,"72":0.06955,"73":0.85361,"74":0.02529,"75":0.01265,"78":0.25292,"79":0.01897,"80":0.00632,"81":0.01265,"82":0.00632,"83":0.00632,"84":0.03794,"85":0.02529,"86":0.04426,"87":0.17072,"88":6.22183,"89":0.08852,_:"2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 38 39 40 41 42 43 44 45 46 47 48 49 50 51 53 54 55 57 58 59 61 62 63 65 67 69 70 71 76 77 90 91 3.5 3.6"},D:{"38":0.01265,"46":0.00632,"49":0.49952,"52":0.00632,"53":0.03794,"56":0.02529,"57":0.1644,"66":0.01897,"67":0.01897,"68":0.01265,"69":0.05691,"70":0.01897,"71":0.02529,"72":0.01897,"73":0.01265,"74":0.04426,"75":0.01897,"76":0.01897,"77":0.03162,"78":0.03162,"79":0.0822,"80":0.05058,"81":0.02529,"83":0.10117,"84":0.2466,"85":0.06955,"86":0.12646,"87":0.37306,"88":0.42364,"89":1.15711,"90":37.02117,"91":1.30886,"92":0.01265,_:"4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 39 40 41 42 43 44 45 47 48 50 51 54 55 58 59 60 61 62 63 64 65 93 94"},F:{"36":0.01265,"54":0.00632,"70":0.00632,"73":0.24027,"74":0.01265,"75":1.41635,"76":1.46061,_:"9 11 12 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 55 56 57 58 60 62 63 64 65 66 67 68 69 71 72 9.5-9.6 10.5 10.6 11.1 11.5 11.6 12.1","10.0-10.1":0},G:{"8":0,"3.2":0,"4.0-4.1":0,"4.2-4.3":0,"5.0-5.1":0.00093,"6.0-6.1":0.00187,"7.0-7.1":0.00747,"8.1-8.4":0.00187,"9.0-9.2":0.03174,"9.3":0.04948,"10.0-10.2":0.0056,"10.3":0.07936,"11.0-11.2":0.02241,"11.3-11.4":0.01961,"12.0-12.1":0.02428,"12.2-12.4":0.10457,"13.0-13.1":0.03081,"13.2":0.02241,"13.3":0.10177,"13.4-13.7":0.4687,"14.0-14.4":6.5936,"14.5-14.6":1.47894},E:{"4":0,"12":0.00632,"13":0.08852,"14":1.75147,_:"0 5 6 7 8 9 10 11 3.1 3.2 5.1 6.1 7.1 9.1","10.1":0.01265,"11.1":0.09485,"12.1":0.11381,"13.1":0.41732,"14.1":0.92948},B:{"17":0.00632,"18":0.11381,"80":0.00632,"81":0.00632,"83":0.00632,"84":0.01897,"85":0.01897,"86":0.01265,"87":0.01265,"88":0.01897,"89":0.10749,"90":3.60411,"91":0.22131,_:"12 13 14 15 16 79"},P:{"4":0.06324,"5.0-5.4":0.11152,"6.2-6.4":0.06083,"7.2-7.4":0.29401,"8.2":0.02028,"9.2":0.01054,"10.1":0.03162,"11.1-11.2":0.12649,"12.0":0.13703,"13.0":0.57974,"14.0":3.32033},I:{"0":0,"3":0,"4":0,"2.1":0,"2.2":0,"2.3":0,"4.1":0.00325,"4.2-4.3":0.00894,"4.4":0,"4.4.3-4.4.4":0.05768},K:{_:"0 10 11 12 11.1 11.5 12.1"},A:{"8":0.02621,"10":0.00655,"11":0.32765,_:"6 7 9 5.5"},J:{"7":0,"10":0},N:{"10":0.02735,"11":0.02361},S:{"2.5":0},R:{_:"0"},M:{"0":0.32725},Q:{"10.4":0},O:{"0":0.13605},H:{"0":0.37248},L:{"0":23.59973}}; diff --git a/tools/node_modules/@babel/core/node_modules/caniuse-lite/data/regions/LY.js b/tools/node_modules/@babel/core/node_modules/caniuse-lite/data/regions/LY.js new file mode 100644 index 00000000000000..a86c1f7efd9785 --- /dev/null +++ b/tools/node_modules/@babel/core/node_modules/caniuse-lite/data/regions/LY.js @@ -0,0 +1 @@ +module.exports={C:{"17":0.00515,"20":0.00172,"21":0.00172,"30":0.00343,"45":0.00172,"47":0.00172,"48":0.00343,"52":0.01029,"67":0.00172,"68":0.00172,"70":0.01201,"71":0.00515,"72":0.02916,"73":0.01201,"74":0.01201,"75":0.00686,"76":0.01201,"77":0.00515,"78":0.01715,"79":0.00686,"80":0.01372,"81":0.00172,"82":0.00343,"83":0.00172,"84":0.00515,"85":0.00686,"86":0.01372,"87":0.0566,"88":1.01528,"89":0.0223,_:"2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 18 19 22 23 24 25 26 27 28 29 31 32 33 34 35 36 37 38 39 40 41 42 43 44 46 49 50 51 53 54 55 56 57 58 59 60 61 62 63 64 65 66 69 90 91 3.5 3.6"},D:{"23":0.00686,"24":0.01029,"25":0.01372,"26":0.00343,"31":0.00515,"33":0.00515,"38":0.01201,"40":0.00172,"43":0.0223,"44":0.00515,"47":0.00515,"49":0.04974,"50":0.00686,"53":0.00343,"55":0.00515,"56":0.00343,"57":0.00172,"58":0.01544,"60":0.00172,"61":0.03087,"63":0.01887,"65":0.00686,"66":0.00172,"67":0.00343,"68":0.00172,"69":0.00858,"70":0.00515,"71":0.01029,"72":0.00686,"73":0.00858,"74":0.01372,"75":0.01029,"76":0.00858,"77":0.01544,"78":0.02744,"79":0.05145,"80":0.04802,"81":0.02744,"83":0.04288,"84":0.02058,"85":0.04288,"86":0.08061,"87":0.19894,"88":0.10976,"89":0.4116,"90":8.43094,"91":0.33614,"92":0.00686,_:"4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 27 28 29 30 32 34 35 36 37 39 41 42 45 46 48 51 52 54 59 62 64 93 94"},F:{"55":0.00172,"57":0.00515,"58":0.00686,"60":0.00515,"62":0.00686,"63":0.00686,"64":0.00858,"65":0.00515,"66":0.00515,"67":0.00515,"68":0.01201,"70":0.00515,"73":0.02744,"74":0.00686,"75":0.2967,"76":0.49049,_:"9 11 12 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 56 69 71 72 9.5-9.6 10.5 10.6 11.1 11.5 11.6","10.0-10.1":0,"12.1":0.01715},G:{"8":0,"3.2":0,"4.0-4.1":0,"4.2-4.3":0.00149,"5.0-5.1":0.00149,"6.0-6.1":0.0052,"7.0-7.1":0.05049,"8.1-8.4":0.02005,"9.0-9.2":0.01337,"9.3":0.11732,"10.0-10.2":0.01337,"10.3":0.12772,"11.0-11.2":0.03638,"11.3-11.4":0.09356,"12.0-12.1":0.09505,"12.2-12.4":0.42919,"13.0-13.1":0.0594,"13.2":0.02896,"13.3":0.1344,"13.4-13.7":0.35345,"14.0-14.4":4.26367,"14.5-14.6":1.0403},E:{"4":0,"11":0.00343,"12":0.01372,"13":0.04288,"14":0.32757,_:"0 5 6 7 8 9 10 3.1 3.2 6.1 7.1 9.1","5.1":0.61912,"10.1":0.00172,"11.1":0.00515,"12.1":0.0223,"13.1":0.06689,"14.1":0.14063},B:{"12":0.00515,"13":0.00343,"14":0.00686,"15":0.01715,"16":0.00858,"17":0.00858,"18":0.04116,"79":0.00515,"80":0.00686,"81":0.00686,"83":0.00858,"84":0.01372,"85":0.01201,"87":0.00686,"88":0.00686,"89":0.04459,"90":0.78547,"91":0.04974,_:"86"},P:{"4":0.52518,"5.0-5.4":0.0202,"6.2-6.4":0.0909,"7.2-7.4":0.72717,"8.2":0.0303,"9.2":0.28279,"10.1":0.14139,"11.1-11.2":0.69687,"12.0":0.36358,"13.0":0.95946,"14.0":2.1108},I:{"0":0,"3":0,"4":0.00206,"2.1":0,"2.2":0,"2.3":0,"4.1":0.00413,"4.2-4.3":0.0191,"4.4":0,"4.4.3-4.4.4":0.13213},K:{_:"0 10 11 12 11.1 11.5 12.1"},A:{"8":0.00515,"9":0.00343,"10":0.00343,"11":0.07032,_:"6 7 5.5"},J:{"7":0,"10":0},N:{"10":0.02735,"11":0.02361},S:{"2.5":0},R:{_:"0"},M:{"0":0.09114},Q:{"10.4":0},O:{"0":0.46396},H:{"0":4.19638},L:{"0":66.65868}}; diff --git a/tools/node_modules/@babel/core/node_modules/caniuse-lite/data/regions/MA.js b/tools/node_modules/@babel/core/node_modules/caniuse-lite/data/regions/MA.js new file mode 100644 index 00000000000000..31bbf2421f8d98 --- /dev/null +++ b/tools/node_modules/@babel/core/node_modules/caniuse-lite/data/regions/MA.js @@ -0,0 +1 @@ +module.exports={C:{"2":0.46899,"15":0.43664,"18":0.42047,"21":0.4326,"23":0.42452,"25":0.84499,"30":0.40026,"50":0.00404,"51":0.42856,"52":0.07682,"55":0.00809,"65":0.01617,"67":0.01617,"71":0.00404,"72":0.00809,"75":0.01213,"76":0.00404,"78":0.06065,"79":0.01213,"80":0.00404,"81":0.00809,"82":0.00404,"83":0.00809,"84":0.05256,"85":0.01617,"86":0.02022,"87":0.05256,"88":1.49995,"89":0.02426,_:"3 4 5 6 7 8 9 10 11 12 13 14 16 17 19 20 22 24 26 27 28 29 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 53 54 56 57 58 59 60 61 62 63 64 66 68 69 70 73 74 77 90 91 3.5 3.6"},D:{"19":0.46899,"24":1.22099,"30":0.44069,"33":0.44877,"34":0.00404,"35":0.86925,"43":0.01213,"49":0.16576,"53":0.01213,"54":0.4043,"55":0.45686,"56":2.16705,"58":0.00404,"61":0.10108,"63":0.01617,"64":0.00404,"65":0.00809,"67":0.0283,"68":0.01617,"69":0.01213,"70":0.01213,"71":0.01213,"72":0.02426,"73":0.01213,"74":0.01617,"75":0.01213,"76":0.01213,"77":0.02022,"78":0.01617,"79":0.0566,"80":0.02426,"81":0.0283,"83":0.06873,"84":0.0566,"85":0.0566,"86":0.09703,"87":0.45686,"88":0.16981,"89":0.54581,"90":14.76908,"91":0.75604,"92":0.01213,_:"4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 20 21 22 23 25 26 27 28 29 31 32 36 37 38 39 40 41 42 44 45 46 47 48 50 51 52 57 59 60 62 66 93 94"},F:{"36":0.00404,"43":0.42047,"73":0.07682,"74":0.00809,"75":0.49729,"76":0.64688,_:"9 11 12 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 37 38 39 40 41 42 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 60 62 63 64 65 66 67 68 69 70 71 72 9.5-9.6 10.5 10.6 11.1 11.5 11.6 12.1","10.0-10.1":0.4043},G:{"8":0,"3.2":0,"4.0-4.1":0.00129,"4.2-4.3":0,"5.0-5.1":0.00775,"6.0-6.1":8.25478,"7.0-7.1":0.01809,"8.1-8.4":0.00388,"9.0-9.2":0,"9.3":0.05296,"10.0-10.2":1.08901,"10.3":0.05555,"11.0-11.2":0.031,"11.3-11.4":0.03488,"12.0-12.1":0.031,"12.2-12.4":0.16019,"13.0-13.1":0.02067,"13.2":0.0155,"13.3":0.0788,"13.4-13.7":0.25191,"14.0-14.4":2.17931,"14.5-14.6":0.37205},E:{"4":0,"5":0.39217,"11":0.00404,"12":0.00809,"13":0.06469,"14":0.28301,_:"0 6 7 8 9 10 3.1 3.2 6.1 7.1 9.1","5.1":0.18194,"10.1":0.00404,"11.1":0.01213,"12.1":0.02426,"13.1":0.10108,"14.1":0.07682},B:{"16":0.00404,"17":0.00404,"18":0.03234,"84":0.00404,"85":0.00404,"88":0.00404,"89":0.0283,"90":1.14013,"91":0.08895,_:"12 13 14 15 79 80 81 83 86 87"},P:{"4":0.39316,"5.0-5.4":0.09157,"6.2-6.4":0.02125,"7.2-7.4":0.21252,"8.2":0.02021,"9.2":0.10626,"10.1":0.05313,"11.1-11.2":0.23377,"12.0":0.14876,"13.0":0.64819,"14.0":2.11457},I:{"0":0,"3":0,"4":0.00236,"2.1":0,"2.2":0,"2.3":0,"4.1":0.01182,"4.2-4.3":0.33162,"4.4":0,"4.4.3-4.4.4":0.60732},K:{_:"0 10 11 12 11.1 11.5 12.1"},A:{"8":0.43088,"9":0.87395,"10":0.86176,"11":0.08536,_:"6 7 5.5"},J:{"7":0,"10":0},N:{_:"10 11"},S:{"2.5":0},R:{_:"0"},M:{"0":0.10723},Q:{"10.4":0},O:{"0":0.09531},H:{"0":0.27635},L:{"0":43.21155}}; diff --git a/tools/node_modules/@babel/core/node_modules/caniuse-lite/data/regions/MC.js b/tools/node_modules/@babel/core/node_modules/caniuse-lite/data/regions/MC.js new file mode 100644 index 00000000000000..50fe0b1f59c268 --- /dev/null +++ b/tools/node_modules/@babel/core/node_modules/caniuse-lite/data/regions/MC.js @@ -0,0 +1 @@ +module.exports={C:{"48":0.20784,"67":0.00693,"68":0.02078,"72":0.00693,"75":0.0485,"78":0.10392,"79":0.00693,"84":0.44339,"85":0.00693,"86":0.03464,"87":0.08314,"88":3.38086,"89":0.01386,_:"2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 69 70 71 73 74 76 77 80 81 82 83 90 91 3.5 3.6"},D:{"49":2.21696,"65":0.02771,"70":0.01386,"71":0.06235,"72":0.19398,"73":0.10392,"74":0.01386,"75":0.01386,"76":0.0485,"77":0.40182,"78":0.06235,"79":0.08314,"80":0.02078,"81":0.16627,"83":0.03464,"84":0.01386,"85":0.18013,"86":0.11085,"87":1.46181,"88":0.6443,"89":5.11286,"90":29.78347,"91":0.73437,"92":0.08314,"93":0.00693,_:"4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 66 67 68 69 94"},F:{"65":0.00693,"73":0.05542,"74":0.0485,"75":0.25634,"76":0.36718,_:"9 11 12 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 60 62 63 64 66 67 68 69 70 71 72 9.5-9.6 10.5 10.6 11.1 11.5 11.6 12.1","10.0-10.1":0},G:{"8":0,"3.2":0,"4.0-4.1":0,"4.2-4.3":0,"5.0-5.1":0.06826,"6.0-6.1":0.00553,"7.0-7.1":0.00369,"8.1-8.4":0,"9.0-9.2":0.01845,"9.3":0.3487,"10.0-10.2":0,"10.3":0.09225,"11.0-11.2":0.02952,"11.3-11.4":0.01845,"12.0-12.1":0.06088,"12.2-12.4":0.21402,"13.0-13.1":0.05719,"13.2":0,"13.3":0.22693,"13.4-13.7":0.77857,"14.0-14.4":13.82797,"14.5-14.6":2.29144},E:{"4":0,"12":0.03464,"13":0.4711,"14":8.04341,_:"0 5 6 7 8 9 10 11 3.1 3.2 5.1 6.1 7.1","9.1":0.00693,"10.1":0.09699,"11.1":0.70666,"12.1":0.2979,"13.1":1.10848,"14.1":4.64869},B:{"18":0.15242,"87":0.03464,"89":0.09699,"90":3.99746,"91":0.20091,_:"12 13 14 15 16 17 79 80 81 83 84 85 86 88"},P:{"4":0.06575,"5.0-5.4":0.04006,"6.2-6.4":0.08011,"7.2-7.4":0.13373,"8.2":0.01114,"9.2":0.03122,"10.1":0.09862,"11.1-11.2":0.17692,"12.0":0.3616,"13.0":0.2849,"14.0":1.64366},I:{"0":0,"3":0,"4":0,"2.1":0,"2.2":0,"2.3":0,"4.1":0.00218,"4.2-4.3":0,"4.4":0,"4.4.3-4.4.4":0.0101},K:{_:"0 10 11 12 11.1 11.5 12.1"},A:{"11":0.83136,_:"6 7 8 9 10 5.5"},J:{"7":0,"10":0},N:{"10":0.02735,"11":0.01885},S:{"2.5":0},R:{_:"0"},M:{"0":0.18125},Q:{"10.4":0},O:{"0":0},H:{"0":0.08725},L:{"0":10.93634}}; diff --git a/tools/node_modules/@babel/core/node_modules/caniuse-lite/data/regions/MD.js b/tools/node_modules/@babel/core/node_modules/caniuse-lite/data/regions/MD.js new file mode 100644 index 00000000000000..e6fc2092b5ef3c --- /dev/null +++ b/tools/node_modules/@babel/core/node_modules/caniuse-lite/data/regions/MD.js @@ -0,0 +1 @@ +module.exports={C:{"17":0.00526,"52":0.09988,"59":0.0736,"60":0.0368,"63":0.00526,"64":0.01051,"68":0.00526,"72":0.02103,"75":0.00526,"77":0.00526,"78":0.12091,"79":0.03154,"80":0.01051,"82":0.72021,"83":0.02103,"84":0.03154,"85":0.02103,"86":0.04206,"87":0.04206,"88":2.15011,"89":0.01577,_:"2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 53 54 55 56 57 58 61 62 65 66 67 69 70 71 73 74 76 81 90 91 3.5","3.6":0.00526},D:{"23":0.01051,"25":0.00526,"33":0.05257,"34":0.00526,"41":0.01051,"46":0.00526,"49":0.57301,"51":0.01577,"53":0.01577,"59":0.07886,"62":0.01051,"63":0.01051,"65":0.61507,"66":0.00526,"67":0.02629,"68":0.00526,"69":0.03154,"70":0.01577,"71":0.0368,"72":0.01051,"73":0.04206,"74":0.0368,"75":0.01577,"76":0.02629,"77":0.01577,"78":0.02629,"79":0.05783,"80":0.0736,"81":0.0368,"83":0.08411,"84":0.08937,"85":0.06308,"86":0.24182,"87":0.40479,"88":0.31542,"89":1.06191,"90":33.91816,"91":0.72021,"92":0.01051,_:"4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 24 26 27 28 29 30 31 32 35 36 37 38 39 40 42 43 44 45 47 48 50 52 54 55 56 57 58 60 61 64 93 94"},F:{"36":0.00526,"58":0.01051,"70":0.01051,"71":0.01577,"72":0.00526,"73":0.26285,"74":0.02103,"75":1.25117,"76":1.47196,_:"9 11 12 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 60 62 63 64 65 66 67 68 69 9.5-9.6 10.5 10.6 11.1 11.5 11.6 12.1","10.0-10.1":0},G:{"8":0,"3.2":0,"4.0-4.1":0,"4.2-4.3":0,"5.0-5.1":0.00088,"6.0-6.1":0.00438,"7.0-7.1":0.00789,"8.1-8.4":0.00175,"9.0-9.2":0.00263,"9.3":0.04645,"10.0-10.2":0.00877,"10.3":0.06574,"11.0-11.2":0.03594,"11.3-11.4":0.02454,"12.0-12.1":0.03594,"12.2-12.4":0.16391,"13.0-13.1":0.03769,"13.2":0.01227,"13.3":0.08151,"13.4-13.7":0.38303,"14.0-14.4":5.90499,"14.5-14.6":1.59874},E:{"4":0,"11":0.01051,"13":0.04206,"14":0.96203,_:"0 5 6 7 8 9 10 12 3.1 3.2 6.1 7.1 9.1 10.1","5.1":0.28388,"11.1":0.01577,"12.1":0.05257,"13.1":0.21554,"14.1":0.33645},B:{"17":0.01051,"18":0.05257,"84":0.01051,"88":0.02629,"89":0.03154,"90":1.19334,"91":0.04206,_:"12 13 14 15 16 79 80 81 83 85 86 87"},P:{"4":0.19773,"5.0-5.4":0.04006,"6.2-6.4":0.08011,"7.2-7.4":0.13373,"8.2":0.01114,"9.2":0.03122,"10.1":0.01041,"11.1-11.2":0.17692,"12.0":0.17692,"13.0":0.27058,"14.0":1.86286},I:{"0":0,"3":0,"4":0.00095,"2.1":0,"2.2":0,"2.3":0,"4.1":0.00126,"4.2-4.3":0.00316,"4.4":0,"4.4.3-4.4.4":0.02308},K:{_:"0 10 11 12 11.1 11.5 12.1"},A:{"8":0.01051,"11":0.33119,_:"6 7 9 10 5.5"},J:{"7":0,"10":0},N:{"10":0.02735,"11":0.01885},S:{"2.5":0},R:{_:"0"},M:{"0":0.0901},Q:{"10.4":0},O:{"0":0.22762},H:{"0":0.27385},L:{"0":36.83357}}; diff --git a/tools/node_modules/@babel/core/node_modules/caniuse-lite/data/regions/ME.js b/tools/node_modules/@babel/core/node_modules/caniuse-lite/data/regions/ME.js new file mode 100644 index 00000000000000..b824626b65d2d4 --- /dev/null +++ b/tools/node_modules/@babel/core/node_modules/caniuse-lite/data/regions/ME.js @@ -0,0 +1 @@ +module.exports={C:{"31":0.01314,"52":0.83768,"56":0.00329,"64":0.00329,"66":0.04271,"68":0.00329,"69":0.00657,"70":0.023,"72":0.01971,"73":0.00329,"74":0.00329,"76":0.00986,"77":0.00986,"78":0.03942,"79":0.00329,"81":0.00329,"83":0.00986,"84":0.00657,"85":0.01314,"86":0.03614,"87":0.03614,"88":2.70356,"89":0.05585,_:"2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 53 54 55 57 58 59 60 61 62 63 65 67 71 75 80 82 90 91 3.5 3.6"},D:{"22":0.00986,"38":0.02957,"43":0.00657,"47":0.00329,"49":0.29565,"53":0.07227,"56":0.00329,"57":0.00657,"62":0.01643,"63":0.00986,"65":0.03285,"66":0.00986,"67":0.01643,"68":0.01314,"69":0.00329,"70":0.00986,"71":0.00657,"73":0.00657,"74":0.00986,"75":0.00986,"76":0.01314,"77":0.01314,"78":0.01314,"79":0.06899,"80":0.03942,"81":0.03942,"83":0.023,"84":0.31208,"85":0.05913,"86":0.05256,"87":0.15111,"88":0.17082,"89":0.81468,"90":18.65552,"91":0.86067,"92":0.00657,_:"4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 39 40 41 42 44 45 46 48 50 51 52 54 55 58 59 60 61 64 72 93 94"},F:{"36":0.01643,"40":0.00657,"46":0.03285,"67":0.00657,"68":1.63265,"69":0.00329,"73":0.04271,"74":0.00657,"75":0.3942,"76":0.73256,_:"9 11 12 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 37 38 39 41 42 43 44 45 47 48 49 50 51 52 53 54 55 56 57 58 60 62 63 64 65 66 70 71 72 9.5-9.6 10.5 10.6 11.1 11.5 11.6 12.1","10.0-10.1":0},G:{"8":0,"3.2":0,"4.0-4.1":0,"4.2-4.3":0,"5.0-5.1":0,"6.0-6.1":0,"7.0-7.1":0.02954,"8.1-8.4":0.00448,"9.0-9.2":0,"9.3":0.16205,"10.0-10.2":0.01074,"10.3":0.17279,"11.0-11.2":0.02507,"11.3-11.4":0.03492,"12.0-12.1":0.0376,"12.2-12.4":0.19786,"13.0-13.1":0.04208,"13.2":0.00806,"13.3":0.11639,"13.4-13.7":0.42257,"14.0-14.4":6.32251,"14.5-14.6":0.77353},E:{"4":0,"12":0.02628,"13":0.01314,"14":0.47304,_:"0 5 6 7 8 9 10 11 3.1 3.2 5.1 6.1 7.1 9.1 10.1","11.1":0.01971,"12.1":0.01971,"13.1":0.0887,"14.1":0.18396},B:{"15":0.00657,"17":0.00329,"18":0.01314,"84":0.01643,"87":0.00657,"88":0.00329,"89":0.00986,"90":0.68328,"91":0.05585,_:"12 13 14 16 79 80 81 83 85 86"},P:{"4":0.20215,"5.0-5.4":0.09157,"6.2-6.4":0.01011,"7.2-7.4":0.10107,"8.2":0.02021,"9.2":0.08086,"10.1":0.11118,"11.1-11.2":0.29312,"12.0":0.10107,"13.0":0.60645,"14.0":4.29568},I:{"0":0,"3":0,"4":0,"2.1":0,"2.2":0,"2.3":0,"4.1":0.00137,"4.2-4.3":0.00342,"4.4":0,"4.4.3-4.4.4":0.04893},K:{_:"0 10 11 12 11.1 11.5 12.1"},A:{"11":0.2201,_:"6 7 8 9 10 5.5"},J:{"7":0,"10":0},N:{_:"10 11"},S:{"2.5":0},R:{_:"0"},M:{"0":0.16116},Q:{"10.4":0},O:{"0":0.01343},H:{"0":0.31787},L:{"0":54.25984}}; diff --git a/tools/node_modules/@babel/core/node_modules/caniuse-lite/data/regions/MG.js b/tools/node_modules/@babel/core/node_modules/caniuse-lite/data/regions/MG.js new file mode 100644 index 00000000000000..e281e16df0d61d --- /dev/null +++ b/tools/node_modules/@babel/core/node_modules/caniuse-lite/data/regions/MG.js @@ -0,0 +1 @@ +module.exports={C:{"30":0.01246,"33":0.00623,"41":0.01246,"43":0.01246,"44":0.01869,"45":0.00623,"46":0.01246,"47":0.04362,"48":0.06854,"50":0.01246,"52":0.1807,"56":0.03739,"57":0.01869,"59":0.01246,"60":0.02492,"61":0.00623,"62":0.00623,"64":0.00623,"65":0.01246,"66":0.03739,"67":0.02492,"68":0.04362,"70":0.01246,"71":0.0997,"72":0.081,"73":0.01246,"74":0.01246,"75":0.02492,"77":0.01246,"78":0.23678,"79":0.01246,"80":0.07477,"81":0.03116,"82":0.03116,"83":0.08723,"84":0.0997,"85":0.0997,"86":0.22432,"87":0.28663,"88":8.1003,"89":0.06854,_:"2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 31 32 34 35 36 37 38 39 40 42 49 51 53 54 55 58 63 69 76 90 91 3.5 3.6"},D:{"11":0.01246,"25":0.29909,"43":0.06231,"49":0.19939,"51":0.00623,"54":0.00623,"55":0.01246,"56":0.02492,"57":0.01869,"58":0.04362,"63":0.03116,"64":0.02492,"65":0.25547,"66":0.00623,"67":0.01246,"69":0.01869,"70":0.03739,"71":0.07477,"72":0.01869,"73":0.00623,"74":0.03116,"75":0.48602,"76":0.04362,"77":0.0997,"78":0.02492,"79":0.15578,"80":0.05608,"81":0.16201,"83":0.2804,"84":0.11216,"85":0.11216,"86":0.17447,"87":1.02188,"88":0.89726,"89":1.60137,"90":31.08023,"91":1.40821,"92":0.03116,"93":0.02492,_:"4 5 6 7 8 9 10 12 13 14 15 16 17 18 19 20 21 22 23 24 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 44 45 46 47 48 50 52 53 59 60 61 62 68 94"},F:{"53":0.04985,"62":0.02492,"68":0.01869,"73":0.06231,"74":0.03116,"75":0.6231,"76":1.54529,_:"9 11 12 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 54 55 56 57 58 60 63 64 65 66 67 69 70 71 72 9.5-9.6 10.5 10.6 11.1 11.5 11.6 12.1","10.0-10.1":0},G:{"8":0.00121,"3.2":0,"4.0-4.1":0,"4.2-4.3":0,"5.0-5.1":0.00725,"6.0-6.1":0.00091,"7.0-7.1":0.08975,"8.1-8.4":0,"9.0-9.2":0.0006,"9.3":0.09126,"10.0-10.2":0.00846,"10.3":0.06799,"11.0-11.2":0.02417,"11.3-11.4":0.01269,"12.0-12.1":0.0284,"12.2-12.4":0.08914,"13.0-13.1":0.00816,"13.2":0.02236,"13.3":0.04835,"13.4-13.7":0.09942,"14.0-14.4":1.46343,"14.5-14.6":0.6539},E:{"4":0,"6":0.01869,"10":0.00623,"11":0.00623,"13":0.03739,"14":0.28663,_:"0 5 7 8 9 12 3.1 3.2 5.1 6.1 7.1 9.1","10.1":0.01246,"11.1":0.01869,"12.1":0.06854,"13.1":0.17447,"14.1":0.11839},B:{"12":0.01246,"13":0.01869,"14":0.01869,"15":0.01869,"16":0.03116,"17":0.03116,"18":0.18693,"84":0.01869,"85":0.01869,"86":0.04985,"87":0.01246,"88":0.04362,"89":0.081,"90":2.70425,"91":0.17447,_:"79 80 81 83"},P:{"4":0.27338,"5.0-5.4":0.0202,"6.2-6.4":0.0909,"7.2-7.4":0.03154,"8.2":0.0303,"9.2":0.03092,"10.1":0.02062,"11.1-11.2":0.05257,"12.0":0.0736,"13.0":0.45213,"14.0":0.96735},I:{"0":0,"3":0,"4":0.00126,"2.1":0,"2.2":0,"2.3":0.00054,"4.1":0.00596,"4.2-4.3":0.01589,"4.4":0,"4.4.3-4.4.4":0.12711},K:{_:"0 10 11 12 11.1 11.5 12.1"},A:{"8":0.00714,"9":0.00714,"11":0.27857,_:"6 7 10 5.5"},J:{"7":0,"10":0.02261},N:{"10":0.02735,"11":0.01885},S:{"2.5":0.11684},R:{_:"0"},M:{"0":0.28268},Q:{"10.4":0.03392},O:{"0":1.7752},H:{"0":5.58787},L:{"0":30.24555}}; diff --git a/tools/node_modules/@babel/core/node_modules/caniuse-lite/data/regions/MH.js b/tools/node_modules/@babel/core/node_modules/caniuse-lite/data/regions/MH.js new file mode 100644 index 00000000000000..05472faa19abe8 --- /dev/null +++ b/tools/node_modules/@babel/core/node_modules/caniuse-lite/data/regions/MH.js @@ -0,0 +1 @@ +module.exports={C:{"63":0.03693,"68":0.01055,"78":0.3746,"86":0.02638,"88":3.79344,"89":0.01055,_:"2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 64 65 66 67 69 70 71 72 73 74 75 76 77 79 80 81 82 83 84 85 87 90 91 3.5 3.6"},D:{"36":0.02638,"73":0.96023,"76":0.04221,"80":0.08969,"81":0.10552,"86":0.01055,"87":0.06331,"88":0.25852,"89":1.71998,"90":32.90114,"91":1.12379,"92":0.01583,_:"4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 74 75 77 78 79 83 84 85 93 94"},F:{"70":0.01055,"76":0.02638,_:"9 11 12 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 60 62 63 64 65 66 67 68 69 71 72 73 74 75 9.5-9.6 10.5 10.6 11.1 11.5 11.6 12.1","10.0-10.1":0},G:{"8":0,"3.2":0,"4.0-4.1":0,"4.2-4.3":0,"5.0-5.1":0,"6.0-6.1":0,"7.0-7.1":0,"8.1-8.4":0,"9.0-9.2":0,"9.3":0.10867,"10.0-10.2":0,"10.3":0.12657,"11.0-11.2":0,"11.3-11.4":0.0358,"12.0-12.1":0.06265,"12.2-12.4":0.16237,"13.0-13.1":0.00895,"13.2":0.00895,"13.3":0.23525,"13.4-13.7":0.56894,"14.0-14.4":9.93925,"14.5-14.6":1.02026},E:{"4":0,"11":0.01055,"13":0.1319,"14":0.62257,_:"0 5 6 7 8 9 10 12 3.1 3.2 5.1 6.1 7.1 9.1","10.1":0.01055,"11.1":0.02638,"12.1":0.01583,"13.1":0.16883,"14.1":1.16072},B:{"17":0.07914,"18":0.08969,"89":0.04221,"90":1.99433,"91":0.26908,_:"12 13 14 15 16 79 80 81 83 84 85 86 87 88"},P:{"4":0.02139,"5.0-5.4":0.01022,"6.2-6.4":0.02044,"7.2-7.4":0.02139,"8.2":0.05372,"9.2":0.08557,"10.1":0.01074,"11.1-11.2":0.03209,"12.0":0.04298,"13.0":0.08557,"14.0":0.6846},I:{"0":0,"3":0,"4":0.00046,"2.1":0,"2.2":0,"2.3":0,"4.1":0.00073,"4.2-4.3":0,"4.4":0,"4.4.3-4.4.4":0.00826},K:{_:"0 10 11 12 11.1 11.5 12.1"},A:{"11":0.27963,_:"6 7 8 9 10 5.5"},J:{"7":0,"10":0},N:{"10":0.02735,"11":0.01885},S:{"2.5":0},R:{_:"0"},M:{"0":0.08503},Q:{"10.4":0},O:{"0":0.10865},H:{"0":0.00894},L:{"0":39.56965}}; diff --git a/tools/node_modules/@babel/core/node_modules/caniuse-lite/data/regions/MK.js b/tools/node_modules/@babel/core/node_modules/caniuse-lite/data/regions/MK.js new file mode 100644 index 00000000000000..a544cb08634851 --- /dev/null +++ b/tools/node_modules/@babel/core/node_modules/caniuse-lite/data/regions/MK.js @@ -0,0 +1 @@ +module.exports={C:{"40":0.00795,"47":0.00398,"49":0.0159,"51":0.00795,"52":0.17888,"54":0.0159,"56":0.0159,"60":0.00398,"62":0.00398,"65":0.00398,"68":0.01193,"71":0.00795,"72":0.00795,"77":0.01988,"78":0.0795,"79":0.02385,"80":0.01988,"81":0.0477,"82":0.01193,"83":0.02385,"84":0.0318,"85":0.01988,"86":0.0159,"87":0.0795,"88":2.75865,"89":0.02783,_:"2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 41 42 43 44 45 46 48 50 53 55 57 58 59 61 63 64 66 67 69 70 73 74 75 76 90 91 3.5","3.6":0.00795},D:{"5":0.00398,"22":0.00795,"34":0.01193,"37":0.00398,"38":0.0159,"41":0.00398,"47":0.02783,"48":0.0159,"49":0.47303,"53":0.0636,"56":0.00398,"58":0.01193,"61":0.00398,"62":0.01988,"63":0.0159,"65":0.00795,"68":0.01988,"69":0.01988,"70":0.00795,"71":0.0159,"72":0.0636,"73":0.00795,"74":0.00795,"75":0.0159,"76":0.0159,"77":0.0159,"78":0.02783,"79":0.05963,"80":0.0636,"81":0.0477,"83":0.19478,"84":0.23453,"85":0.1749,"86":0.37763,"87":0.30608,"88":0.21465,"89":0.7473,"90":25.38435,"91":1.07325,"92":0.00398,_:"4 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 23 24 25 26 27 28 29 30 31 32 33 35 36 39 40 42 43 44 45 46 50 51 52 54 55 57 59 60 64 66 67 93 94"},F:{"36":0.00795,"37":0.01988,"40":0.00398,"46":0.0159,"52":0.00398,"70":0.02385,"71":0.02385,"72":0.00795,"73":0.16695,"74":0.00398,"75":0.64793,"76":0.55253,_:"9 11 12 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 38 39 41 42 43 44 45 47 48 49 50 51 53 54 55 56 57 58 60 62 63 64 65 66 67 68 69 9.5-9.6 10.5 10.6 11.1 11.5 11.6 12.1","10.0-10.1":0},G:{"8":0,"3.2":0,"4.0-4.1":0,"4.2-4.3":0,"5.0-5.1":0.00223,"6.0-6.1":0,"7.0-7.1":0.02563,"8.1-8.4":0.00111,"9.0-9.2":0.00334,"9.3":0.08024,"10.0-10.2":0.01114,"10.3":0.06575,"11.0-11.2":0.04569,"11.3-11.4":0.06798,"12.0-12.1":0.05572,"12.2-12.4":0.17719,"13.0-13.1":0.02786,"13.2":0.02006,"13.3":0.18165,"13.4-13.7":0.44465,"14.0-14.4":8.03824,"14.5-14.6":1.25483},E:{"4":0,"13":0.01193,"14":0.32595,_:"0 5 6 7 8 9 10 11 12 3.1 3.2 5.1 6.1 7.1 9.1 10.1","11.1":0.03578,"12.1":0.00795,"13.1":0.05168,"14.1":0.19478},B:{"18":0.0636,"84":0.0159,"85":0.01193,"86":0.02783,"87":0.01193,"88":0.00795,"89":0.04373,"90":1.42305,"91":0.15503,_:"12 13 14 15 16 17 79 80 81 83"},P:{"4":0.1237,"5.0-5.4":0.0202,"6.2-6.4":0.0909,"7.2-7.4":0.04231,"8.2":0.0303,"9.2":0.03092,"10.1":0.02062,"11.1-11.2":0.17524,"12.0":0.05154,"13.0":0.3711,"14.0":2.04103},I:{"0":0,"3":0,"4":0,"2.1":0,"2.2":0,"2.3":0,"4.1":0.00104,"4.2-4.3":0.00726,"4.4":0,"4.4.3-4.4.4":0.03388},K:{_:"0 10 11 12 11.1 11.5 12.1"},A:{"7":0.00815,"8":0.02038,"9":0.0163,"10":0.01223,"11":0.26492,_:"6 5.5"},J:{"7":0,"10":0.01205},N:{"10":0.02735,"11":0.02361},S:{"2.5":0},R:{_:"0"},M:{"0":0.1386},Q:{"10.4":0},O:{"0":0.0241},H:{"0":0.18827},L:{"0":48.29179}}; diff --git a/tools/node_modules/@babel/core/node_modules/caniuse-lite/data/regions/ML.js b/tools/node_modules/@babel/core/node_modules/caniuse-lite/data/regions/ML.js new file mode 100644 index 00000000000000..f09f3cf135f955 --- /dev/null +++ b/tools/node_modules/@babel/core/node_modules/caniuse-lite/data/regions/ML.js @@ -0,0 +1 @@ +module.exports={C:{"35":0.00202,"37":0.00606,"40":0.00606,"42":0.00202,"43":0.00808,"45":0.00202,"47":0.00808,"49":0.00606,"52":0.00808,"67":0.00808,"71":0.00202,"72":0.01211,"78":0.05249,"81":0.00404,"82":0.00404,"85":0.00606,"86":0.01211,"87":0.02827,"88":2.16033,"89":0.04038,_:"2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 36 38 39 41 44 46 48 50 51 53 54 55 56 57 58 59 60 61 62 63 64 65 66 68 69 70 73 74 75 76 77 79 80 83 84 90 91 3.5 3.6"},D:{"4":0.00202,"11":0.00606,"22":0.00202,"28":0.00404,"37":0.00404,"40":0.00202,"43":0.00404,"49":0.02221,"50":0.00404,"58":0.01211,"60":0.00202,"62":0.00202,"63":0.02221,"65":0.06865,"66":0.01413,"70":0.0101,"73":0.01413,"74":0.01615,"75":0.00202,"76":0.0101,"77":0.00404,"79":0.02423,"80":0.00808,"81":0.02221,"83":0.01413,"84":0.06865,"85":0.01211,"86":0.0101,"87":0.0848,"88":0.15546,"89":0.26651,"90":6.79595,"91":0.22815,"92":0.00606,_:"5 6 7 8 9 10 12 13 14 15 16 17 18 19 20 21 23 24 25 26 27 29 30 31 32 33 34 35 36 38 39 41 42 44 45 46 47 48 51 52 53 54 55 56 57 59 61 64 67 68 69 71 72 78 93 94"},F:{"47":0.00202,"51":0.00404,"73":0.00606,"75":0.09086,"76":0.20594,_:"9 11 12 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 48 49 50 52 53 54 55 56 57 58 60 62 63 64 65 66 67 68 69 70 71 72 74 9.5-9.6 10.5 10.6 11.1 11.5 11.6 12.1","10.0-10.1":0},G:{"8":0.0066,"3.2":0,"4.0-4.1":0,"4.2-4.3":0,"5.0-5.1":0.00283,"6.0-6.1":0.00189,"7.0-7.1":0.07925,"8.1-8.4":0,"9.0-9.2":0,"9.3":0.06038,"10.0-10.2":0,"10.3":0.23775,"11.0-11.2":0.18869,"11.3-11.4":0.04057,"12.0-12.1":0.06321,"12.2-12.4":0.25945,"13.0-13.1":0.02925,"13.2":0.03019,"13.3":0.25002,"13.4-13.7":1.06517,"14.0-14.4":4.81354,"14.5-14.6":1.56143},E:{"4":0,"9":0.00404,"13":0.00808,"14":0.14941,_:"0 5 6 7 8 10 11 12 3.1 3.2 6.1 9.1 10.1","5.1":0.06865,"7.1":0.02019,"11.1":0.00202,"12.1":0.02019,"13.1":0.08682,"14.1":0.05653},B:{"12":0.02625,"13":0.03634,"14":0.00808,"15":0.00404,"16":0.00808,"17":0.02019,"18":0.18979,"84":0.0101,"85":0.01413,"86":0.00202,"87":0.00202,"88":0.00404,"89":0.0323,"90":1.90392,"91":0.09691,_:"79 80 81 83"},P:{"4":0.30657,"5.0-5.4":0.01022,"6.2-6.4":0.02044,"7.2-7.4":0.31679,"8.2":0.01019,"9.2":0.18394,"10.1":0.04168,"11.1-11.2":0.36788,"12.0":0.10219,"13.0":0.60292,"14.0":0.92993},I:{"0":0,"3":0,"4":0,"2.1":0,"2.2":0,"2.3":0,"4.1":0.00508,"4.2-4.3":0.00677,"4.4":0,"4.4.3-4.4.4":0.30735},K:{_:"0 10 11 12 11.1 11.5 12.1"},A:{"9":0.00353,"11":0.36392,_:"6 7 8 10 5.5"},J:{"7":0,"10":0.03192},N:{"10":0.02735,"11":0.01885},S:{"2.5":0.2793},R:{_:"0"},M:{"0":0.09576},Q:{"10.4":0.01596},O:{"0":0.84588},H:{"0":0.99725},L:{"0":71.79806}}; diff --git a/tools/node_modules/@babel/core/node_modules/caniuse-lite/data/regions/MM.js b/tools/node_modules/@babel/core/node_modules/caniuse-lite/data/regions/MM.js new file mode 100644 index 00000000000000..4284365f41810a --- /dev/null +++ b/tools/node_modules/@babel/core/node_modules/caniuse-lite/data/regions/MM.js @@ -0,0 +1 @@ +module.exports={C:{"4":0.00778,"5":0.00519,"15":0.01556,"17":0.02334,"23":0.00259,"26":0.00259,"30":0.00259,"36":0.01297,"37":0.00519,"39":0.00778,"41":0.00778,"42":0.00519,"43":0.01297,"44":0.00519,"45":0.00519,"47":0.01037,"48":0.00259,"49":0.00519,"50":0.00259,"52":0.01037,"56":0.04667,"57":0.01037,"58":0.01297,"60":0.01037,"61":0.00778,"62":0.01297,"63":0.00519,"64":0.00259,"65":0.00519,"66":0.00519,"67":0.01037,"68":0.01037,"69":0.00519,"70":0.01037,"71":0.01037,"72":0.0363,"73":0.00778,"74":0.00519,"75":0.00778,"76":0.01037,"77":0.00519,"78":0.05964,"79":0.00519,"80":0.13224,"81":0.01297,"82":0.01815,"83":0.01037,"84":0.06483,"85":0.05186,"86":0.07001,"87":0.08557,"88":2.44779,"89":0.27486,"90":0.00519,_:"2 3 6 7 8 9 10 11 12 13 14 16 18 19 20 21 22 24 25 27 28 29 31 32 33 34 35 38 40 46 51 53 54 55 59 91 3.5 3.6"},D:{"11":0.00259,"23":0.01556,"24":0.02852,"25":0.01037,"31":0.00778,"32":0.01037,"37":0.01556,"38":0.01297,"43":0.00519,"47":0.00259,"49":0.14262,"50":0.00259,"53":0.02593,"55":0.00519,"57":0.00519,"58":0.00259,"61":0.02593,"62":0.00259,"63":0.02074,"65":0.00519,"67":0.00778,"68":0.00778,"69":0.01297,"70":0.00778,"71":0.03112,"72":0.00519,"73":0.00778,"74":0.01556,"75":0.00778,"76":0.00259,"77":0.00778,"78":0.00778,"79":0.10891,"80":0.01815,"81":0.02074,"83":0.10891,"84":0.02852,"85":0.02593,"86":0.05186,"87":0.17632,"88":0.15039,"89":0.42266,"90":12.40751,"91":0.71308,"92":0.0726,_:"4 5 6 7 8 9 10 12 13 14 15 16 17 18 19 20 21 22 26 27 28 29 30 33 34 35 36 39 40 41 42 44 45 46 48 51 52 54 56 59 60 64 66 93 94"},F:{"36":0.00259,"37":0.00519,"46":0.00519,"73":0.03112,"74":0.01815,"75":0.15039,"76":0.23078,_:"9 11 12 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 38 39 40 41 42 43 44 45 47 48 49 50 51 52 53 54 55 56 57 58 60 62 63 64 65 66 67 68 69 70 71 72 9.5-9.6 10.5 10.6 11.1 11.5 11.6 12.1","10.0-10.1":0},G:{"8":0,"3.2":0,"4.0-4.1":0,"4.2-4.3":0,"5.0-5.1":0.0058,"6.0-6.1":0.01064,"7.0-7.1":0.01257,"8.1-8.4":0.00774,"9.0-9.2":0.02031,"9.3":0.11798,"10.0-10.2":0.0087,"10.3":0.08413,"11.0-11.2":0.07156,"11.3-11.4":0.02998,"12.0-12.1":0.08413,"12.2-12.4":0.20404,"13.0-13.1":0.0822,"13.2":0.01547,"13.3":0.15762,"13.4-13.7":0.43226,"14.0-14.4":5.88816,"14.5-14.6":1.96498},E:{"4":0,"8":0.00778,"11":0.00778,"12":0.01297,"13":0.02074,"14":1.19278,_:"0 5 6 7 9 10 3.1 3.2 5.1 6.1 7.1 9.1","10.1":0.01297,"11.1":0.05705,"12.1":0.1115,"13.1":0.24634,"14.1":0.39932},B:{"12":0.01297,"13":0.00519,"14":0.00259,"15":0.00259,"16":0.01037,"17":0.01556,"18":0.05445,"81":0.00519,"84":0.02074,"85":0.01297,"86":0.01556,"87":0.00519,"88":0.02074,"89":0.0752,"90":1.54802,"91":0.1478,_:"79 80 83"},P:{"4":0.41769,"5.0-5.4":0.03056,"6.2-6.4":0.02038,"7.2-7.4":0.0815,"8.2":0.02021,"9.2":0.06113,"10.1":0.05094,"11.1-11.2":0.13244,"12.0":0.10188,"13.0":0.2445,"14.0":1.02895},I:{"0":0,"3":0,"4":0,"2.1":0,"2.2":0,"2.3":0,"4.1":0.00201,"4.2-4.3":0.0584,"4.4":0,"4.4.3-4.4.4":0.83571},K:{_:"0 10 11 12 11.1 11.5 12.1"},A:{"8":0.03605,"10":0.03004,"11":0.18025,_:"6 7 9 5.5"},J:{"7":0,"10":0},N:{_:"10 11"},S:{"2.5":0},R:{_:"0"},M:{"0":0.33327},Q:{"10.4":0.08147},O:{"0":3.56229},H:{"0":0.80633},L:{"0":59.41847}}; diff --git a/tools/node_modules/@babel/core/node_modules/caniuse-lite/data/regions/MN.js b/tools/node_modules/@babel/core/node_modules/caniuse-lite/data/regions/MN.js new file mode 100644 index 00000000000000..06254f6960c8d3 --- /dev/null +++ b/tools/node_modules/@babel/core/node_modules/caniuse-lite/data/regions/MN.js @@ -0,0 +1 @@ +module.exports={C:{"17":0.00915,"42":0.00457,"52":0.01372,"56":0.00915,"78":0.08689,"86":0.00915,"87":0.03658,"88":1.91609,"89":0.10518,_:"2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 43 44 45 46 47 48 49 50 51 53 54 55 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 79 80 81 82 83 84 85 90 91 3.5 3.6"},D:{"24":0.00915,"25":0.00915,"48":0.00457,"49":0.20579,"55":0.00915,"58":0.00457,"60":0.00457,"63":0.07317,"65":0.01372,"67":0.00915,"69":0.00915,"70":0.02287,"71":0.00915,"72":0.01372,"73":0.01372,"74":0.07317,"75":0.01372,"76":0.00915,"77":0.00915,"78":0.01372,"79":0.05945,"80":0.0503,"81":0.04116,"83":0.01829,"84":0.16463,"85":0.02744,"86":0.10061,"87":1.45879,"88":0.25609,"89":0.70424,"90":30.74428,"91":1.21642,"92":0.01829,_:"4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 50 51 52 53 54 56 57 59 61 62 64 66 68 93 94"},F:{"28":0.00457,"73":0.10061,"74":0.00915,"75":0.61278,"76":0.66766,_:"9 11 12 15 16 17 18 19 20 21 22 23 24 25 26 27 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 60 62 63 64 65 66 67 68 69 70 71 72 9.5-9.6 10.5 10.6 11.1 11.5 11.6 12.1","10.0-10.1":0},G:{"8":0.00136,"3.2":0,"4.0-4.1":0,"4.2-4.3":0,"5.0-5.1":0.00136,"6.0-6.1":0.00136,"7.0-7.1":0.01225,"8.1-8.4":0,"9.0-9.2":0.00136,"9.3":0.09116,"10.0-10.2":0.00816,"10.3":0.2177,"11.0-11.2":0.02993,"11.3-11.4":0.10477,"12.0-12.1":0.05987,"12.2-12.4":0.47349,"13.0-13.1":0.09252,"13.2":0.02177,"13.3":0.27212,"13.4-13.7":0.62588,"14.0-14.4":8.99086,"14.5-14.6":1.45448},E:{"4":0,"11":0.01372,"13":0.03658,"14":0.85515,_:"0 5 6 7 8 9 10 12 3.1 3.2 5.1 6.1 7.1 9.1","10.1":0.00915,"11.1":0.01372,"12.1":0.04116,"13.1":0.16463,"14.1":0.2378},B:{"18":0.02744,"84":0.01829,"85":0.00457,"87":0.00457,"88":0.03201,"89":0.07774,"90":2.29107,"91":0.1189,_:"12 13 14 15 16 17 79 80 81 83 86"},P:{"4":0.3561,"5.0-5.4":0.09157,"6.2-6.4":0.03052,"7.2-7.4":0.11192,"8.2":0.01017,"9.2":0.13227,"10.1":0.01017,"11.1-11.2":0.25436,"12.0":0.17296,"13.0":0.8343,"14.0":3.35753},I:{"0":0,"3":0,"4":0.00041,"2.1":0,"2.2":0,"2.3":0,"4.1":0.00104,"4.2-4.3":0.00249,"4.4":0,"4.4.3-4.4.4":0.0232},K:{_:"0 10 11 12 11.1 11.5 12.1"},A:{"8":0.01688,"10":0.00844,"11":0.19418,_:"6 7 9 5.5"},J:{"7":0,"10":0},N:{"10":0.02735,"11":0.01885},S:{"2.5":0},R:{_:"0"},M:{"0":0.19537},Q:{"10.4":0.02714},O:{"0":0.18995},H:{"0":0.11817},L:{"0":37.97726}}; diff --git a/tools/node_modules/@babel/core/node_modules/caniuse-lite/data/regions/MO.js b/tools/node_modules/@babel/core/node_modules/caniuse-lite/data/regions/MO.js new file mode 100644 index 00000000000000..e3146b2738c20c --- /dev/null +++ b/tools/node_modules/@babel/core/node_modules/caniuse-lite/data/regions/MO.js @@ -0,0 +1 @@ +module.exports={C:{"11":0.07779,"34":0.06864,"43":0.01373,"52":0.01373,"56":0.02288,"57":0.00458,"72":0.00458,"73":0.01373,"75":0.0183,"77":0.02288,"78":0.01373,"84":0.02288,"85":0.00915,"86":0.00458,"87":0.03203,"88":1.3911,_:"2 3 4 5 6 7 8 9 10 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 35 36 37 38 39 40 41 42 44 45 46 47 48 49 50 51 53 54 55 58 59 60 61 62 63 64 65 66 67 68 69 70 71 74 76 79 80 81 82 83 89 90 91 3.5 3.6"},D:{"22":0.02288,"26":0.04118,"30":0.02746,"34":0.09152,"38":0.18762,"43":0.00458,"48":0.00458,"49":0.2105,"53":0.2288,"55":0.0183,"57":0.01373,"58":0.03203,"59":0.00915,"61":0.05949,"62":0.02288,"63":0.0961,"64":0.00915,"65":0.0183,"66":0.03203,"67":0.03661,"68":0.06864,"69":0.35693,"70":0.02746,"71":0.07779,"72":0.02746,"73":0.07779,"74":0.05949,"75":0.03203,"76":0.03203,"77":0.02288,"78":0.03661,"79":0.12355,"80":0.08237,"81":0.10067,"83":0.15558,"84":0.02746,"85":0.06406,"86":0.32947,"87":0.30659,"88":0.39811,"89":1.53754,"90":22.76102,"91":0.86486,"92":0.02746,_:"4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 23 24 25 27 28 29 31 32 33 35 36 37 39 40 41 42 44 45 46 47 50 51 52 54 56 60 93 94"},F:{"36":0.03203,"40":0.00458,"46":0.04576,"72":0.00915,"73":0.03203,"75":0.08694,"76":0.08237,_:"9 11 12 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 37 38 39 41 42 43 44 45 47 48 49 50 51 52 53 54 55 56 57 58 60 62 63 64 65 66 67 68 69 70 71 74 9.5-9.6 10.5 10.6 11.1 11.5 11.6 12.1","10.0-10.1":0},G:{"8":0,"3.2":0,"4.0-4.1":0,"4.2-4.3":0,"5.0-5.1":0.00308,"6.0-6.1":0.09537,"7.0-7.1":0.06153,"8.1-8.4":0.14767,"9.0-9.2":0.04307,"9.3":0.24304,"10.0-10.2":0.12613,"10.3":0.44608,"11.0-11.2":0.27688,"11.3-11.4":0.29534,"12.0-12.1":0.33226,"12.2-12.4":0.69528,"13.0-13.1":0.19997,"13.2":0.08614,"13.3":0.45531,"13.4-13.7":1.52592,"14.0-14.4":21.96889,"14.5-14.6":2.55345},E:{"4":0,"8":0.00458,"10":0.03203,"11":0.02746,"12":0.01373,"13":0.2288,"14":7.06534,_:"0 5 6 7 9 3.1 3.2 5.1 6.1 7.1","9.1":0.0183,"10.1":0.03661,"11.1":0.06864,"12.1":0.20592,"13.1":0.79165,"14.1":0.94266},B:{"14":0.00458,"16":0.00915,"17":0.01373,"18":0.08237,"89":0.05034,"90":2.12784,"91":0.15101,_:"12 13 15 79 80 81 83 84 85 86 87 88"},P:{"4":0.71864,"5.0-5.4":0.0202,"6.2-6.4":0.0909,"7.2-7.4":0.04231,"8.2":0.0303,"9.2":0.04355,"10.1":0.02115,"11.1-11.2":0.01089,"12.0":0.02178,"13.0":0.22866,"14.0":2.04703},I:{"0":0,"3":0,"4":0,"2.1":0,"2.2":0,"2.3":0,"4.1":0,"4.2-4.3":0.00172,"4.4":0,"4.4.3-4.4.4":0.04168},K:{_:"0 10 11 12 11.1 11.5 12.1"},A:{"11":1.18061,_:"6 7 8 9 10 5.5"},J:{"7":0,"10":0},N:{"10":0.02735,"11":0.02361},S:{"2.5":0},R:{_:"0"},M:{"0":0.1953},Q:{"10.4":0.33093},O:{"0":0.72153},H:{"0":0.09245},L:{"0":21.48837}}; diff --git a/tools/node_modules/@babel/core/node_modules/caniuse-lite/data/regions/MP.js b/tools/node_modules/@babel/core/node_modules/caniuse-lite/data/regions/MP.js new file mode 100644 index 00000000000000..b1cfd5a7d27645 --- /dev/null +++ b/tools/node_modules/@babel/core/node_modules/caniuse-lite/data/regions/MP.js @@ -0,0 +1 @@ +module.exports={C:{"48":0.01177,"52":0.03532,"80":0.00589,"85":0.01177,"88":1.38321,"89":0.02354,_:"2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 49 50 51 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 81 82 83 84 86 87 90 91 3.5 3.6"},D:{"49":0.07652,"53":0.01177,"55":0.01766,"66":0.00589,"67":0.02354,"68":0.07063,"69":0.00589,"71":0.0412,"76":0.01177,"79":0.01177,"80":0.00589,"83":0.06475,"84":0.00589,"86":0.02354,"87":0.40613,"88":0.16481,"89":1.91295,"90":33.32065,"91":1.53625,_:"4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 50 51 52 54 56 57 58 59 60 61 62 63 64 65 70 72 73 74 75 77 78 81 85 92 93 94"},F:{"73":0.05297,"75":0.38848,"76":0.48265,_:"9 11 12 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 60 62 63 64 65 66 67 68 69 70 71 72 74 9.5-9.6 10.5 10.6 11.1 11.5 11.6 12.1","10.0-10.1":0},G:{"8":0,"3.2":0,"4.0-4.1":0,"4.2-4.3":0,"5.0-5.1":0,"6.0-6.1":0,"7.0-7.1":0,"8.1-8.4":0,"9.0-9.2":0.17051,"9.3":0.3458,"10.0-10.2":0,"10.3":0.23425,"11.0-11.2":0.10677,"11.3-11.4":0.00478,"12.0-12.1":0.15776,"12.2-12.4":0.22947,"13.0-13.1":0.00478,"13.2":0.01753,"13.3":0.13545,"13.4-13.7":0.30597,"14.0-14.4":11.92469,"14.5-14.6":1.40712},E:{"4":0,"11":0.01177,"13":0.10595,"14":6.91016,_:"0 5 6 7 8 9 10 12 3.1 3.2 5.1 6.1 7.1 9.1","10.1":0.01177,"11.1":0.06475,"12.1":0.6298,"13.1":1.00062,"14.1":0.66512},B:{"18":0.17069,"87":0.01766,"89":0.02354,"90":3.68464,"91":0.40613,_:"12 13 14 15 16 17 79 80 81 83 84 85 86 88"},P:{"4":0.04291,"5.0-5.4":0.01097,"6.2-6.4":0.0521,"7.2-7.4":0.05484,"8.2":0.01023,"9.2":0.58995,"10.1":0.02145,"11.1-11.2":0.10726,"12.0":0.02145,"13.0":0.32179,"14.0":4.49434},I:{"0":0,"3":0,"4":0,"2.1":0,"2.2":0,"2.3":0,"4.1":0.01296,"4.2-4.3":0,"4.4":0,"4.4.3-4.4.4":0.01584},K:{_:"0 10 11 12 11.1 11.5 12.1"},A:{"11":3.70818,_:"6 7 8 9 10 5.5"},J:{"7":0,"10":0},N:{_:"10 11"},S:{"2.5":0},R:{_:"0"},M:{"0":0.05348},Q:{"10.4":0},O:{"0":0.02468},H:{"0":0.12853},L:{"0":21.17796}}; diff --git a/tools/node_modules/@babel/core/node_modules/caniuse-lite/data/regions/MQ.js b/tools/node_modules/@babel/core/node_modules/caniuse-lite/data/regions/MQ.js new file mode 100644 index 00000000000000..f584503a5bc173 --- /dev/null +++ b/tools/node_modules/@babel/core/node_modules/caniuse-lite/data/regions/MQ.js @@ -0,0 +1 @@ +module.exports={C:{"34":0.0088,"52":0.15833,"60":0.0088,"72":0.0088,"78":0.09236,"79":0.0088,"82":0.32985,"83":0.02199,"84":0.16273,"85":0.0088,"86":0.0088,"87":0.05717,"88":4.66628,_:"2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 53 54 55 56 57 58 59 61 62 63 64 65 66 67 68 69 70 71 73 74 75 76 77 80 81 89 90 91 3.5 3.6"},D:{"49":0.25069,"58":0.01759,"63":0.01759,"64":0.0088,"65":0.0088,"70":0.02199,"75":0.0044,"76":0.0088,"79":0.01319,"80":0.02639,"81":0.0088,"83":0.02639,"85":0.0088,"86":0.02639,"87":0.10555,"88":0.2287,"89":0.62012,"90":20.05488,"91":0.59373,_:"4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 50 51 52 53 54 55 56 57 59 60 61 62 66 67 68 69 71 72 73 74 77 78 84 92 93 94"},F:{"73":0.07477,"75":0.33865,"76":0.61572,_:"9 11 12 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 60 62 63 64 65 66 67 68 69 70 71 72 74 9.5-9.6 10.5 10.6 11.1 11.5 11.6 12.1","10.0-10.1":0},G:{"8":0.02785,"3.2":0,"4.0-4.1":0,"4.2-4.3":0,"5.0-5.1":0,"6.0-6.1":0,"7.0-7.1":0.00879,"8.1-8.4":0,"9.0-9.2":0,"9.3":1.01282,"10.0-10.2":0.00147,"10.3":0.18468,"11.0-11.2":0.02199,"11.3-11.4":0.13485,"12.0-12.1":0.03957,"12.2-12.4":0.17735,"13.0-13.1":0.03225,"13.2":0.06009,"13.3":0.16709,"13.4-13.7":0.44265,"14.0-14.4":10.04172,"14.5-14.6":1.84536},E:{"4":0,"10":0.02199,"11":0.0044,"12":0.01759,"13":0.15393,"14":2.97745,_:"0 5 6 7 8 9 3.1 3.2 5.1 6.1 7.1 9.1","10.1":0.02199,"11.1":0.10115,"12.1":0.6597,"13.1":0.73447,"14.1":1.20505},B:{"13":0.0088,"15":0.01319,"16":0.03079,"17":0.02639,"18":0.06157,"80":0.0044,"81":0.03079,"85":0.0088,"86":0.01319,"87":0.01319,"88":0.09676,"89":0.15393,"90":4.59151,"91":0.32985,_:"12 14 79 83 84"},P:{"4":0.10457,"5.0-5.4":0.01022,"6.2-6.4":0.02044,"7.2-7.4":0.0732,"8.2":0.05372,"9.2":0.17777,"10.1":0.03137,"11.1-11.2":0.31372,"12.0":0.15686,"13.0":0.65881,"14.0":4.06789},I:{"0":0,"3":0,"4":0,"2.1":0,"2.2":0,"2.3":0,"4.1":0,"4.2-4.3":0.00831,"4.4":0,"4.4.3-4.4.4":0.02529},K:{_:"0 10 11 12 11.1 11.5 12.1"},A:{"11":0.85761,_:"6 7 8 9 10 5.5"},J:{"7":0,"10":0},N:{"10":0.02735,"11":0.01885},S:{"2.5":0},R:{_:"0"},M:{"0":0.50409},Q:{"10.4":0},O:{"0":0.0168},H:{"0":0.10075},L:{"0":38.15151}}; diff --git a/tools/node_modules/@babel/core/node_modules/caniuse-lite/data/regions/MR.js b/tools/node_modules/@babel/core/node_modules/caniuse-lite/data/regions/MR.js new file mode 100644 index 00000000000000..f4ca526a4eb26b --- /dev/null +++ b/tools/node_modules/@babel/core/node_modules/caniuse-lite/data/regions/MR.js @@ -0,0 +1 @@ +module.exports={C:{"15":0.00521,"32":0.00174,"34":0.00347,"37":0.01041,"43":0.02603,"46":0.00347,"47":0.00868,"49":0.10237,"52":0.00868,"56":0.05205,"60":0.00694,"68":0.00174,"69":0.00174,"70":0.00347,"71":0.00694,"72":0.00868,"78":0.04164,"84":0.07808,"85":0.00694,"86":0.04511,"87":0.04685,"88":1.36198,"89":0.00347,_:"2 3 4 5 6 7 8 9 10 11 12 13 14 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 33 35 36 38 39 40 41 42 44 45 48 50 51 53 54 55 57 58 59 61 62 63 64 65 66 67 73 74 75 76 77 79 80 81 82 83 90 91 3.5 3.6"},D:{"11":0.00174,"18":0.00174,"19":0.00347,"25":0.00174,"33":0.0295,"39":0.00347,"40":0.01909,"43":0.02256,"47":0.00347,"48":0.00868,"49":0.0347,"53":0.00174,"57":0.16656,"63":0.00347,"65":0.01215,"69":0.00347,"70":0.00347,"72":0.02082,"74":0.00174,"75":0.00347,"76":0.02776,"77":0.00694,"78":0.00347,"79":0.01041,"80":0.01388,"81":0.02429,"83":0.02082,"84":0.02603,"85":0.01735,"86":0.11451,"87":0.32445,"88":0.18218,"89":0.18912,"90":7.80056,"91":0.31577,_:"4 5 6 7 8 9 10 12 13 14 15 16 17 20 21 22 23 24 26 27 28 29 30 31 32 34 35 36 37 38 41 42 44 45 46 50 51 52 54 55 56 58 59 60 61 62 64 66 67 68 71 73 92 93 94"},F:{"73":0.02429,"75":0.17524,"76":0.18218,_:"9 11 12 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 60 62 63 64 65 66 67 68 69 70 71 72 74 9.5-9.6 10.5 10.6 11.1 11.5 11.6 12.1","10.0-10.1":0},G:{"8":0.00443,"3.2":0,"4.0-4.1":0,"4.2-4.3":0,"5.0-5.1":0,"6.0-6.1":0.00089,"7.0-7.1":0.02482,"8.1-8.4":0,"9.0-9.2":0.04432,"9.3":0.03634,"10.0-10.2":0.00266,"10.3":0.09661,"11.0-11.2":0.21007,"11.3-11.4":0.28718,"12.0-12.1":0.10636,"12.2-12.4":0.45382,"13.0-13.1":0.05584,"13.2":0.02659,"13.3":0.36607,"13.4-13.7":0.47952,"14.0-14.4":5.16395,"14.5-14.6":0.76404},E:{"4":0,"9":0.00347,"10":0.00174,"11":0.00694,"13":0.01041,"14":0.13707,_:"0 5 6 7 8 12 3.1 3.2 6.1 7.1 9.1","5.1":0.74432,"10.1":0.00521,"11.1":0.02082,"12.1":0.00521,"13.1":0.05205,"14.1":0.10237},B:{"12":0.02603,"13":0.01909,"15":0.00174,"16":0.00521,"17":0.01735,"18":0.03817,"84":0.00347,"85":0.00694,"86":0.00347,"88":0.00347,"89":0.02256,"90":0.5205,"91":0.03123,_:"14 79 80 81 83 87"},P:{"4":1.0715,"5.0-5.4":0.04006,"6.2-6.4":0.08011,"7.2-7.4":1.36191,"8.2":0.02003,"9.2":0.33046,"10.1":0.09013,"11.1-11.2":0.81114,"12.0":0.22031,"13.0":0.87122,"14.0":1.91268},I:{"0":0,"3":0,"4":0,"2.1":0,"2.2":0,"2.3":0,"4.1":0.00098,"4.2-4.3":0.00391,"4.4":0,"4.4.3-4.4.4":0.06948},K:{_:"0 10 11 12 11.1 11.5 12.1"},A:{"6":0.00638,"7":0.01276,"8":0.0319,"9":0.02552,"10":0.01914,"11":0.67636,_:"5.5"},J:{"7":0,"10":0},N:{"10":0.02735,"11":0.01885},S:{"2.5":0},R:{_:"0"},M:{"0":0.22313},Q:{"10.4":0.13222},O:{"0":0.47105},H:{"0":1.42394},L:{"0":68.29144}}; diff --git a/tools/node_modules/@babel/core/node_modules/caniuse-lite/data/regions/MS.js b/tools/node_modules/@babel/core/node_modules/caniuse-lite/data/regions/MS.js new file mode 100644 index 00000000000000..4d31f1fb650db7 --- /dev/null +++ b/tools/node_modules/@babel/core/node_modules/caniuse-lite/data/regions/MS.js @@ -0,0 +1 @@ +module.exports={C:{"49":0.16245,"51":0.21868,"52":1.03717,"78":0.05623,"81":0.05623,"82":0.05623,"87":0.21868,"88":2.67414,"89":0.81849,_:"2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 50 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 79 80 83 84 85 86 90 91 3.5 3.6"},D:{"49":2.40548,"68":0.27491,"81":0.81849,"89":0.05623,"90":37.30056,"91":1.58074,_:"4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 69 70 71 72 73 74 75 76 77 78 79 80 83 84 85 86 87 88 92 93 94"},F:{"75":0.54358,"76":0.21868,_:"9 11 12 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 60 62 63 64 65 66 67 68 69 70 71 72 73 74 9.5-9.6 10.5 10.6 11.1 11.5 11.6 12.1","10.0-10.1":0},G:{"8":0,"3.2":0,"4.0-4.1":0,"4.2-4.3":0,"5.0-5.1":0,"6.0-6.1":0,"7.0-7.1":0,"8.1-8.4":0,"9.0-9.2":0,"9.3":0,"10.0-10.2":0,"10.3":0.0451,"11.0-11.2":0,"11.3-11.4":0,"12.0-12.1":0.02228,"12.2-12.4":0,"13.0-13.1":0,"13.2":0,"13.3":0,"13.4-13.7":4.78723,"14.0-14.4":0.28173,"14.5-14.6":0.0902},E:{"4":0,"14":0.71227,_:"0 5 6 7 8 9 10 11 12 13 3.1 3.2 5.1 6.1 7.1 9.1 10.1 11.1 12.1","13.1":0.05623,"14.1":0.98094},B:{"13":0.16245,"18":0.27491,"84":0.65604,"90":8.74095,"91":0.05623,_:"12 14 15 16 17 79 80 81 83 85 86 87 88 89"},P:{"4":0.76658,"5.0-5.4":0.09157,"6.2-6.4":0.01011,"7.2-7.4":0.10107,"8.2":0.02021,"9.2":0.08086,"10.1":0.11118,"11.1-11.2":0.29312,"12.0":0.10107,"13.0":0.60645,"14.0":4.15229},I:{"0":0,"3":0,"4":0,"2.1":0,"2.2":0,"2.3":0,"4.1":0,"4.2-4.3":0,"4.4":0,"4.4.3-4.4.4":0},K:{_:"0 10 11 12 11.1 11.5 12.1"},A:{"11":2.0181,_:"6 7 8 9 10 5.5"},J:{"7":0,"10":0},N:{_:"10 11"},S:{"2.5":0},R:{_:"0"},M:{"0":0.15383},Q:{"10.4":0},O:{"0":0},H:{"0":0},L:{"0":26.77274}}; diff --git a/tools/node_modules/@babel/core/node_modules/caniuse-lite/data/regions/MT.js b/tools/node_modules/@babel/core/node_modules/caniuse-lite/data/regions/MT.js new file mode 100644 index 00000000000000..26fe13e9a1b915 --- /dev/null +++ b/tools/node_modules/@babel/core/node_modules/caniuse-lite/data/regions/MT.js @@ -0,0 +1 @@ +module.exports={C:{"48":0.03142,"52":0.04398,"77":0.01885,"78":0.04398,"84":0.03142,"86":0.01257,"87":0.0377,"88":1.92888,"89":0.01257,_:"2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 49 50 51 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 79 80 81 82 83 85 90 91 3.5 3.6"},D:{"49":0.34557,"53":0.01257,"61":0.3707,"65":0.01257,"69":0.5529,"70":0.01257,"71":0.01885,"72":0.00628,"73":0.10053,"74":0.06283,"75":0.02513,"76":0.03142,"77":0.48379,"78":0.10053,"79":0.05655,"80":0.05655,"81":0.02513,"83":0.0377,"84":0.10681,"85":0.01885,"86":0.06283,"87":0.21362,"88":0.83564,"89":1.38854,"90":40.58818,"91":1.25032,"93":0.00628,_:"4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 50 51 52 54 55 56 57 58 59 60 62 63 64 66 67 68 92 94"},F:{"72":0.01885,"73":0.16964,"75":0.63458,"76":0.32672,_:"9 11 12 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 60 62 63 64 65 66 67 68 69 70 71 74 9.5-9.6 10.5 10.6 11.1 11.5 11.6 12.1","10.0-10.1":0},G:{"8":0,"3.2":0,"4.0-4.1":0,"4.2-4.3":0,"5.0-5.1":0.01917,"6.0-6.1":0.00101,"7.0-7.1":0.00605,"8.1-8.4":0.0222,"9.0-9.2":0,"9.3":0.09484,"10.0-10.2":0.00908,"10.3":0.39549,"11.0-11.2":0.02623,"11.3-11.4":0.06154,"12.0-12.1":0.04439,"12.2-12.4":0.12813,"13.0-13.1":0.01211,"13.2":0.00504,"13.3":0.07466,"13.4-13.7":0.4086,"14.0-14.4":6.97453,"14.5-14.6":1.41347},E:{"4":0,"11":0.01257,"12":0.02513,"13":0.10681,"14":2.89018,_:"0 5 6 7 8 9 10 3.1 3.2 5.1 6.1 7.1","9.1":0.01885,"10.1":0.05026,"11.1":0.0754,"12.1":0.06283,"13.1":0.67856,"14.1":0.80422},B:{"14":0.01885,"15":0.00628,"16":0.01257,"17":0.01257,"18":0.10681,"81":0.01257,"85":0.01257,"86":0.01257,"88":0.01257,"89":0.05026,"90":5.47249,"91":0.39583,_:"12 13 79 80 83 84 87"},P:{"4":0.11819,"5.0-5.4":0.01022,"6.2-6.4":0.02044,"7.2-7.4":0.31679,"8.2":0.05372,"9.2":0.02149,"10.1":0.01074,"11.1-11.2":0.07521,"12.0":0.04298,"13.0":0.3116,"14.0":2.68622},I:{"0":0,"3":0,"4":0,"2.1":0,"2.2":0,"2.3":0,"4.1":0.00446,"4.2-4.3":0.00521,"4.4":0,"4.4.3-4.4.4":0.087},K:{_:"0 10 11 12 11.1 11.5 12.1"},A:{"11":0.62202,_:"6 7 8 9 10 5.5"},J:{"7":0,"10":0},N:{"10":0.02735,"11":0.01885},S:{"2.5":0},R:{_:"0"},M:{"0":0.22308},Q:{"10.4":0},O:{"0":0.13385},H:{"0":0.12672},L:{"0":24.26685}}; diff --git a/tools/node_modules/@babel/core/node_modules/caniuse-lite/data/regions/MU.js b/tools/node_modules/@babel/core/node_modules/caniuse-lite/data/regions/MU.js new file mode 100644 index 00000000000000..62927330b51db7 --- /dev/null +++ b/tools/node_modules/@babel/core/node_modules/caniuse-lite/data/regions/MU.js @@ -0,0 +1 @@ +module.exports={C:{"52":0.02588,"56":0.00518,"57":0.00518,"69":0.01035,"72":0.00518,"78":0.0621,"82":0.00518,"83":0.01035,"84":0.01553,"85":0.01035,"86":0.01553,"87":0.05693,"88":1.9665,"89":0.03623,_:"2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 53 54 55 58 59 60 61 62 63 64 65 66 67 68 70 71 73 74 75 76 77 79 80 81 90 91 3.5 3.6"},D:{"20":0.01553,"34":0.01035,"38":0.03623,"39":0.0207,"49":0.22253,"53":0.0414,"55":0.03623,"61":0.36743,"63":0.00518,"65":0.0207,"69":0.01035,"71":0.00518,"73":0.0207,"74":0.03623,"75":0.01553,"76":0.04658,"77":0.01553,"78":0.01553,"79":0.06728,"80":0.0414,"81":0.0414,"83":0.0621,"84":0.09315,"85":0.0621,"86":0.24323,"87":0.26393,"88":0.13973,"89":1.01948,"90":34.31543,"91":1.6146,"92":0.01035,_:"4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 21 22 23 24 25 26 27 28 29 30 31 32 33 35 36 37 40 41 42 43 44 45 46 47 48 50 51 52 54 56 57 58 59 60 62 64 66 67 68 70 72 93 94"},F:{"73":0.03623,"74":0.00518,"75":0.27428,"76":0.8487,_:"9 11 12 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 60 62 63 64 65 66 67 68 69 70 71 72 9.5-9.6 10.5 10.6 11.1 11.5 11.6 12.1","10.0-10.1":0},G:{"8":0,"3.2":0,"4.0-4.1":0,"4.2-4.3":0,"5.0-5.1":0.0111,"6.0-6.1":0.00713,"7.0-7.1":0.04121,"8.1-8.4":0.0103,"9.0-9.2":0.00159,"9.3":0.0848,"10.0-10.2":0.00515,"10.3":0.06301,"11.0-11.2":0.00753,"11.3-11.4":0.01862,"12.0-12.1":0.02378,"12.2-12.4":0.05746,"13.0-13.1":0.01466,"13.2":0.00555,"13.3":0.03804,"13.4-13.7":0.19061,"14.0-14.4":2.56623,"14.5-14.6":0.60708},E:{"4":0,"12":0.02588,"13":0.1863,"14":1.19543,_:"0 5 6 7 8 9 10 11 3.1 3.2 6.1 7.1 9.1","5.1":0.05175,"10.1":0.00518,"11.1":0.08798,"12.1":0.10868,"13.1":0.28463,"14.1":0.3519},B:{"12":0.01035,"15":0.01035,"16":0.01035,"17":0.01553,"18":0.06728,"84":0.00518,"85":0.00518,"87":0.01035,"88":0.01553,"89":0.0621,"90":3.25508,"91":0.27428,_:"13 14 79 80 81 83 86"},P:{"4":0.31913,"5.0-5.4":0.04006,"6.2-6.4":0.08011,"7.2-7.4":0.21619,"8.2":0.02003,"9.2":0.05147,"10.1":0.05147,"11.1-11.2":0.31913,"12.0":0.16471,"13.0":0.51473,"14.0":3.75751},I:{"0":0,"3":0,"4":0,"2.1":0,"2.2":0,"2.3":0,"4.1":0.00124,"4.2-4.3":0.00711,"4.4":0,"4.4.3-4.4.4":0.06402},K:{_:"0 10 11 12 11.1 11.5 12.1"},A:{"11":1.2834,_:"6 7 8 9 10 5.5"},J:{"7":0,"10":0},N:{"10":0.02735,"11":0.01885},S:{"2.5":0},R:{_:"0"},M:{"0":0.193},Q:{"10.4":0},O:{"0":0.68033},H:{"0":0.58927},L:{"0":39.13388}}; diff --git a/tools/node_modules/@babel/core/node_modules/caniuse-lite/data/regions/MV.js b/tools/node_modules/@babel/core/node_modules/caniuse-lite/data/regions/MV.js new file mode 100644 index 00000000000000..05e52147b9ea1c --- /dev/null +++ b/tools/node_modules/@babel/core/node_modules/caniuse-lite/data/regions/MV.js @@ -0,0 +1 @@ +module.exports={C:{"52":0.00549,"69":0.00275,"72":0.02196,"78":0.0302,"80":0.00275,"82":0.00824,"84":0.04118,"85":0.02745,"86":0.02471,"87":0.01922,"88":1.2929,"89":0.08235,_:"2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 70 71 73 74 75 76 77 79 81 83 90 91 3.5 3.6"},D:{"44":0.00549,"49":0.02471,"63":0.01373,"69":0.01922,"70":0.01098,"71":0.00275,"72":0.00275,"73":0.02471,"74":0.01647,"76":0.02745,"77":0.00824,"79":0.03569,"80":0.02196,"81":0.06588,"83":0.04118,"84":0.06039,"85":0.00549,"86":0.04667,"87":0.14,"88":0.12627,"89":0.59567,"90":18.17465,"91":0.69723,"92":0.01373,_:"4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 45 46 47 48 50 51 52 53 54 55 56 57 58 59 60 61 62 64 65 66 67 68 75 78 93 94"},F:{"63":0.00549,"71":0.00275,"73":0.01647,"74":0.00275,"75":0.10157,"76":0.06863,_:"9 11 12 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 60 62 64 65 66 67 68 69 70 72 9.5-9.6 10.5 10.6 11.1 11.5 11.6 12.1","10.0-10.1":0},G:{"8":0,"3.2":0,"4.0-4.1":0,"4.2-4.3":0,"5.0-5.1":0,"6.0-6.1":0,"7.0-7.1":0.00184,"8.1-8.4":0,"9.0-9.2":0,"9.3":0.0461,"10.0-10.2":0.00369,"10.3":0.02582,"11.0-11.2":0.05348,"11.3-11.4":0.05717,"12.0-12.1":0.06454,"12.2-12.4":0.21576,"13.0-13.1":0.09221,"13.2":0.02029,"13.3":0.18626,"13.4-13.7":0.62331,"14.0-14.4":12.97702,"14.5-14.6":3.58864},E:{"4":0,"11":0.00824,"12":0.01647,"13":0.06314,"14":1.13918,_:"0 5 6 7 8 9 10 3.1 3.2 6.1 7.1","5.1":0.01098,"9.1":0.00275,"10.1":0.00549,"11.1":0.00549,"12.1":0.09333,"13.1":0.14823,"14.1":0.45567},B:{"12":0.00275,"13":0.00549,"15":0.00549,"16":0.00824,"17":0.00549,"18":0.0851,"80":0.00275,"84":0.00549,"85":0.01098,"87":0.00549,"88":0.02471,"89":0.02471,"90":1.10075,"91":0.09059,_:"14 79 81 83 86"},P:{"4":0.04168,"5.0-5.4":0.01019,"6.2-6.4":0.01019,"7.2-7.4":0.03126,"8.2":0.01019,"9.2":0.01042,"10.1":0.04168,"11.1-11.2":0.17715,"12.0":0.09378,"13.0":0.32303,"14.0":1.97986},I:{"0":0,"3":0,"4":0,"2.1":0,"2.2":0,"2.3":0,"4.1":0,"4.2-4.3":0.02134,"4.4":0,"4.4.3-4.4.4":0.34141},K:{_:"0 10 11 12 11.1 11.5 12.1"},A:{"11":0.09333,_:"6 7 8 9 10 5.5"},J:{"7":0,"10":0},N:{"10":0.02735,"11":0.01885},S:{"2.5":0},R:{_:"0"},M:{"0":0.31197},Q:{"10.4":0},O:{"0":1.13904},H:{"0":0.65251},L:{"0":51.22354}}; diff --git a/tools/node_modules/@babel/core/node_modules/caniuse-lite/data/regions/MW.js b/tools/node_modules/@babel/core/node_modules/caniuse-lite/data/regions/MW.js new file mode 100644 index 00000000000000..7ee2d83d699800 --- /dev/null +++ b/tools/node_modules/@babel/core/node_modules/caniuse-lite/data/regions/MW.js @@ -0,0 +1 @@ +module.exports={C:{"15":0.01557,"17":0.00311,"27":0.02803,"29":0.01868,"30":0.00311,"31":0.01246,"43":0.00623,"44":0.00311,"46":0.00623,"47":0.03114,"52":0.0218,"56":0.01246,"57":0.00623,"59":0.01246,"61":0.0218,"63":0.02491,"64":0.01868,"67":0.01246,"68":0.0218,"69":0.02491,"70":0.00311,"71":0.01557,"72":0.02803,"78":0.05294,"80":0.00623,"81":0.04982,"82":0.01557,"83":0.00623,"84":0.00934,"85":0.02803,"86":0.0218,"87":0.07785,"88":3.19808,"89":0.1557,_:"2 3 4 5 6 7 8 9 10 11 12 13 14 16 18 19 20 21 22 23 24 25 26 28 32 33 34 35 36 37 38 39 40 41 42 45 48 49 50 51 53 54 55 58 60 62 65 66 73 74 75 76 77 79 90 91 3.5 3.6"},D:{"11":0.00311,"24":0.00311,"25":0.00623,"28":0.00934,"33":0.00311,"39":0.00311,"40":0.00623,"43":0.01868,"48":0.00311,"49":0.02491,"50":0.00623,"53":0.00311,"58":0.00934,"60":0.0218,"61":0.00311,"62":0.00934,"63":0.0218,"64":0.00311,"65":0.01246,"67":0.00934,"69":0.01557,"70":0.02803,"71":0.00623,"72":0.01868,"73":0.00934,"74":0.03737,"75":0.00934,"76":0.0218,"77":0.00934,"79":0.04671,"80":0.07474,"81":0.03114,"83":0.08719,"84":0.05294,"85":0.02491,"86":0.10899,"87":0.18061,"88":0.11522,"89":0.62903,"90":12.02315,"91":0.40482,_:"4 5 6 7 8 9 10 12 13 14 15 16 17 18 19 20 21 22 23 26 27 29 30 31 32 34 35 36 37 38 41 42 44 45 46 47 51 52 54 55 56 57 59 66 68 78 92 93 94"},F:{"33":0.01246,"34":0.00311,"36":0.00623,"40":0.00623,"42":0.01246,"48":0.12456,"50":0.00311,"63":0.00934,"64":0.00311,"68":0.00623,"72":0.00623,"73":0.00934,"74":0.00934,"75":0.44842,"76":1.01205,_:"9 11 12 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 35 37 38 39 41 43 44 45 46 47 49 51 52 53 54 55 56 57 58 60 62 65 66 67 69 70 71 9.5-9.6 10.5 10.6 11.1 11.5 11.6 12.1","10.0-10.1":0},G:{"8":0.00027,"3.2":0,"4.0-4.1":0,"4.2-4.3":0.00055,"5.0-5.1":0.0041,"6.0-6.1":0.00546,"7.0-7.1":0.02512,"8.1-8.4":0.00027,"9.0-9.2":0.00191,"9.3":0.03522,"10.0-10.2":0.00082,"10.3":0.03085,"11.0-11.2":0.01993,"11.3-11.4":0.03085,"12.0-12.1":0.01911,"12.2-12.4":0.09965,"13.0-13.1":0.01092,"13.2":0.00464,"13.3":0.04041,"13.4-13.7":0.21951,"14.0-14.4":1.74376,"14.5-14.6":0.28203},E:{"4":0,"12":0.00623,"13":0.01557,"14":0.14947,_:"0 5 6 7 8 9 10 11 3.1 3.2 6.1 7.1 9.1","5.1":0.38925,"10.1":0.00623,"11.1":0.00623,"12.1":0.02491,"13.1":0.04048,"14.1":0.11522},B:{"12":0.07785,"13":0.02803,"14":0.03114,"15":0.04048,"16":0.05605,"17":0.09965,"18":0.41728,"80":0.00934,"81":0.01246,"83":0.00311,"84":0.03425,"85":0.02803,"86":0.01868,"87":0.03114,"88":0.02803,"89":0.23666,"90":2.42581,"91":0.10276,_:"79"},P:{"4":0.64169,"5.0-5.4":0.01019,"6.2-6.4":0.01019,"7.2-7.4":0.1426,"8.2":0.01019,"9.2":0.08148,"10.1":0.06111,"11.1-11.2":0.11204,"12.0":0.10186,"13.0":0.61113,"14.0":1.15097},I:{"0":0,"3":0,"4":0.00154,"2.1":0,"2.2":0,"2.3":0,"4.1":0.00231,"4.2-4.3":0.00732,"4.4":0,"4.4.3-4.4.4":0.14031},K:{_:"0 10 11 12 11.1 11.5 12.1"},A:{"8":0.02538,"9":0.01269,"10":0.01269,"11":0.6281,_:"6 7 5.5"},J:{"7":0,"10":0.38562},N:{"10":0.02735,"11":0.01885},S:{"2.5":0.03443},R:{_:"0"},M:{"0":0.2961},Q:{"10.4":0.0964},O:{"0":5.85999},H:{"0":14.0424},L:{"0":46.73015}}; diff --git a/tools/node_modules/@babel/core/node_modules/caniuse-lite/data/regions/MX.js b/tools/node_modules/@babel/core/node_modules/caniuse-lite/data/regions/MX.js new file mode 100644 index 00000000000000..196072b87e0a47 --- /dev/null +++ b/tools/node_modules/@babel/core/node_modules/caniuse-lite/data/regions/MX.js @@ -0,0 +1 @@ +module.exports={C:{"4":0.86385,"38":0.00483,"52":0.03378,"56":0.00483,"66":0.0193,"68":0.00483,"72":0.00483,"73":0.00483,"78":0.08204,"81":0.00965,"82":0.00483,"84":0.01448,"85":0.01448,"86":0.01448,"87":0.03378,"88":1.86766,"89":0.0193,_:"2 3 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 39 40 41 42 43 44 45 46 47 48 49 50 51 53 54 55 57 58 59 60 61 62 63 64 65 67 69 70 71 74 75 76 77 79 80 83 90 91 3.5 3.6"},D:{"22":0.00965,"35":0.00483,"38":0.01448,"49":0.15926,"53":0.02413,"58":0.00483,"61":0.05791,"63":0.00965,"65":0.0193,"66":0.01448,"67":0.02413,"68":0.00965,"69":0.00965,"70":0.01448,"71":0.00965,"72":0.00965,"73":0.00965,"74":0.01448,"75":0.0193,"76":0.04343,"77":0.02413,"78":0.0193,"79":0.03861,"80":0.03861,"81":0.03378,"83":0.06756,"84":0.03861,"85":0.04343,"86":0.08204,"87":0.27026,"88":0.222,"89":0.79146,"90":31.21939,"91":1.17272,"92":0.00965,_:"4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 23 24 25 26 27 28 29 30 31 32 33 34 36 37 39 40 41 42 43 44 45 46 47 48 50 51 52 54 55 56 57 59 60 62 64 93 94"},F:{"73":0.14961,"74":0.00483,"75":0.65151,"76":0.52603,_:"9 11 12 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 60 62 63 64 65 66 67 68 69 70 71 72 9.5-9.6 10.5 10.6 11.1 11.5 11.6 12.1","10.0-10.1":0},G:{"8":0.00187,"3.2":0,"4.0-4.1":0,"4.2-4.3":0,"5.0-5.1":0.00749,"6.0-6.1":0.00468,"7.0-7.1":0.01217,"8.1-8.4":0.00655,"9.0-9.2":0.00281,"9.3":0.11701,"10.0-10.2":0.00562,"10.3":0.0908,"11.0-11.2":0.01779,"11.3-11.4":0.04212,"12.0-12.1":0.02434,"12.2-12.4":0.13574,"13.0-13.1":0.02527,"13.2":0.0103,"13.3":0.0777,"13.4-13.7":0.2696,"14.0-14.4":6.36275,"14.5-14.6":1.5605},E:{"4":0,"12":0.00965,"13":0.05309,"14":1.40437,_:"0 5 6 7 8 9 10 11 3.1 3.2 6.1 7.1 9.1","5.1":0.29439,"10.1":0.01448,"11.1":0.03861,"12.1":0.07722,"13.1":0.3523,"14.1":0.5936},B:{"12":0.00483,"14":0.00483,"15":0.00965,"16":0.00965,"17":0.0193,"18":0.12548,"84":0.00965,"85":0.00965,"86":0.00965,"87":0.00965,"88":0.01448,"89":0.05309,"90":3.15138,"91":0.19787,_:"13 79 80 81 83"},P:{"4":0.1489,"5.0-5.4":0.04006,"6.2-6.4":0.08011,"7.2-7.4":0.05318,"8.2":0.02003,"9.2":0.02127,"10.1":0.02065,"11.1-11.2":0.06381,"12.0":0.03191,"13.0":0.17017,"14.0":1.04227},I:{"0":0,"3":0,"4":0.00178,"2.1":0,"2.2":0,"2.3":0,"4.1":0.00799,"4.2-4.3":0.01243,"4.4":0,"4.4.3-4.4.4":0.0968},K:{_:"0 10 11 12 11.1 11.5 12.1"},A:{"8":0.01013,"9":0.00506,"11":0.29367,_:"6 7 10 5.5"},J:{"7":0,"10":0},N:{_:"10 11"},S:{"2.5":0.00517},R:{_:"0"},M:{"0":0.17592},Q:{"10.4":0},O:{"0":0.06209},H:{"0":0.18614},L:{"0":42.93004}}; diff --git a/tools/node_modules/@babel/core/node_modules/caniuse-lite/data/regions/MY.js b/tools/node_modules/@babel/core/node_modules/caniuse-lite/data/regions/MY.js new file mode 100644 index 00000000000000..e5b7fc6ab66931 --- /dev/null +++ b/tools/node_modules/@babel/core/node_modules/caniuse-lite/data/regions/MY.js @@ -0,0 +1 @@ +module.exports={C:{"34":0.02075,"52":0.02489,"56":0.0083,"60":0.02075,"72":0.0083,"78":0.03319,"80":0.0083,"81":0.0083,"82":0.01245,"83":0.00415,"84":0.01245,"85":0.01245,"86":0.01245,"87":0.02489,"88":1.6679,"89":0.04149,_:"2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 53 54 55 57 58 59 61 62 63 64 65 66 67 68 69 70 71 73 74 75 76 77 79 90 91 3.5 3.6"},D:{"22":0.01245,"25":0.0083,"26":0.00415,"34":0.03319,"38":0.12032,"47":0.01245,"49":0.09543,"53":0.29043,"54":0.00415,"55":0.09543,"56":0.02904,"57":0.0083,"58":0.01245,"59":0.02904,"60":0.0083,"61":0.0083,"62":0.0166,"63":0.01245,"64":0.00415,"65":0.02489,"66":0.0083,"67":0.02075,"68":0.06638,"69":0.02489,"70":0.02904,"71":0.02904,"72":0.02489,"73":0.04564,"74":0.02075,"75":0.04979,"76":0.02489,"77":0.02075,"78":0.03734,"79":0.09958,"80":0.04564,"81":0.09128,"83":0.18671,"84":0.04564,"85":0.05809,"86":0.17841,"87":0.21575,"88":0.2116,"89":0.79246,"90":27.05563,"91":0.8381,"92":0.02489,_:"4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 23 24 27 28 29 30 31 32 33 35 36 37 39 40 41 42 43 44 45 46 48 50 51 52 93 94"},F:{"28":0.00415,"29":0.00415,"36":0.06224,"40":0.01245,"46":0.04564,"73":0.02904,"75":0.14936,"76":0.17426,_:"9 11 12 15 16 17 18 19 20 21 22 23 24 25 26 27 30 31 32 33 34 35 37 38 39 41 42 43 44 45 47 48 49 50 51 52 53 54 55 56 57 58 60 62 63 64 65 66 67 68 69 70 71 72 74 9.5-9.6 10.5 10.6 11.1 11.5 11.6 12.1","10.0-10.1":0},G:{"8":0.0037,"3.2":0,"4.0-4.1":0,"4.2-4.3":0.00247,"5.0-5.1":0.01851,"6.0-6.1":0.01851,"7.0-7.1":0.0469,"8.1-8.4":0.05184,"9.0-9.2":0.02839,"9.3":0.32708,"10.0-10.2":0.03086,"10.3":0.2234,"11.0-11.2":0.04814,"11.3-11.4":0.06295,"12.0-12.1":0.09627,"12.2-12.4":0.29622,"13.0-13.1":0.06912,"13.2":0.03086,"13.3":0.1765,"13.4-13.7":0.48877,"14.0-14.4":7.99435,"14.5-14.6":1.64034},E:{"4":0,"8":0.01245,"12":0.0083,"13":0.07053,"14":2.07035,_:"0 5 6 7 9 10 11 3.1 3.2 6.1 7.1 9.1","5.1":0.02489,"10.1":0.01245,"11.1":0.02904,"12.1":0.03734,"13.1":0.26554,"14.1":0.4315},B:{"17":0.00415,"18":0.02075,"84":0.0083,"86":0.0083,"88":0.0083,"89":0.02489,"90":1.40651,"91":0.06224,_:"12 13 14 15 16 79 80 81 83 85 87"},P:{"4":0.87091,"5.0-5.4":0.01019,"6.2-6.4":0.01019,"7.2-7.4":0.03148,"8.2":0.01019,"9.2":0.05246,"10.1":0.02099,"11.1-11.2":0.11542,"12.0":0.08394,"13.0":0.27282,"14.0":1.39556},I:{"0":0,"3":0,"4":0,"2.1":0,"2.2":0,"2.3":0,"4.1":0.00205,"4.2-4.3":0.00684,"4.4":0,"4.4.3-4.4.4":0.04377},K:{_:"0 10 11 12 11.1 11.5 12.1"},A:{"7":0.01233,"9":0.00617,"11":0.20969,_:"6 8 10 5.5"},J:{"7":0,"10":0},N:{"10":0.02735,"11":0.01885},S:{"2.5":0},R:{_:"0"},M:{"0":0.15798},Q:{"10.4":0.0234},O:{"0":1.39839},H:{"0":0.76997},L:{"0":44.34864}}; diff --git a/tools/node_modules/@babel/core/node_modules/caniuse-lite/data/regions/MZ.js b/tools/node_modules/@babel/core/node_modules/caniuse-lite/data/regions/MZ.js new file mode 100644 index 00000000000000..9882b878a0ba8d --- /dev/null +++ b/tools/node_modules/@babel/core/node_modules/caniuse-lite/data/regions/MZ.js @@ -0,0 +1 @@ +module.exports={C:{"52":0.10262,"57":0.00789,"66":0.00395,"68":0.02368,"78":0.04736,"80":0.00789,"81":0.01184,"83":0.00395,"84":0.00395,"85":0.01974,"86":0.00789,"87":0.04342,"88":1.79589,"89":0.02763,_:"2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 53 54 55 56 58 59 60 61 62 63 64 65 67 69 70 71 72 73 74 75 76 77 79 82 90 91 3.5 3.6"},D:{"30":0.00789,"33":0.01184,"40":0.03552,"42":0.00789,"43":0.11052,"49":0.16577,"56":0.17367,"57":0.00395,"58":0.01184,"60":0.03158,"61":0.01974,"63":0.03158,"65":0.01974,"67":0.00395,"69":0.00789,"70":0.02763,"71":0.00789,"72":0.01184,"74":0.05131,"75":0.00789,"77":0.00789,"78":0.00395,"79":0.03158,"80":0.06315,"81":0.04736,"83":0.04342,"84":0.02368,"85":0.01974,"86":0.09473,"87":0.18551,"88":0.28024,"89":0.56837,"90":15.5275,"91":0.52495,"92":0.01974,"93":0.00395,_:"4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 31 32 34 35 36 37 38 39 41 44 45 46 47 48 50 51 52 53 54 55 59 62 64 66 68 73 76 94"},F:{"36":0.00395,"42":0.00395,"53":0.01184,"68":0.01579,"73":0.22498,"74":0.01974,"75":0.74598,"76":1.3183,_:"9 11 12 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 37 38 39 40 41 43 44 45 46 47 48 49 50 51 52 54 55 56 57 58 60 62 63 64 65 66 67 69 70 71 72 9.5-9.6 10.5 10.6 11.1 11.5 11.6 12.1","10.0-10.1":0},G:{"8":0,"3.2":0,"4.0-4.1":0,"4.2-4.3":0.00055,"5.0-5.1":0.00165,"6.0-6.1":0.00385,"7.0-7.1":0.02088,"8.1-8.4":0.00275,"9.0-9.2":0.00055,"9.3":0.16212,"10.0-10.2":0.01154,"10.3":0.17311,"11.0-11.2":0.1863,"11.3-11.4":0.04671,"12.0-12.1":0.16816,"12.2-12.4":0.31984,"13.0-13.1":0.02418,"13.2":0.00714,"13.3":0.1253,"13.4-13.7":0.24895,"14.0-14.4":2.77303,"14.5-14.6":0.51053},E:{"4":0,"12":0.00789,"13":0.01184,"14":0.24077,_:"0 5 6 7 8 9 10 11 3.1 3.2 6.1 9.1 10.1","5.1":0.05526,"7.1":0.01974,"11.1":0.01184,"12.1":0.01974,"13.1":0.08683,"14.1":0.07105},B:{"12":0.16972,"13":0.03552,"14":0.03158,"15":0.01579,"16":0.01974,"17":0.03947,"18":0.20524,"84":0.01579,"85":0.05921,"86":0.00395,"87":0.02368,"88":0.01184,"89":0.0671,"90":1.98139,"91":0.0671,_:"79 80 81 83"},P:{"4":2.23458,"5.0-5.4":0.09157,"6.2-6.4":0.02125,"7.2-7.4":0.35876,"8.2":0.02021,"9.2":0.0615,"10.1":0.01025,"11.1-11.2":0.14351,"12.0":0.11275,"13.0":0.30751,"14.0":0.68678},I:{"0":0,"3":0,"4":0,"2.1":0,"2.2":0,"2.3":0,"4.1":0.00088,"4.2-4.3":0.0022,"4.4":0,"4.4.3-4.4.4":0.06349},K:{_:"0 10 11 12 11.1 11.5 12.1"},A:{"11":0.55258,_:"6 7 8 9 10 5.5"},J:{"7":0,"10":0.14525},N:{_:"10 11"},S:{"2.5":0.15735},R:{_:"0"},M:{"0":0.07262},Q:{"10.4":0.00605},O:{"0":0.39338},H:{"0":6.64639},L:{"0":56.43057}}; diff --git a/tools/node_modules/@babel/core/node_modules/caniuse-lite/data/regions/NA.js b/tools/node_modules/@babel/core/node_modules/caniuse-lite/data/regions/NA.js new file mode 100644 index 00000000000000..5f788c946f8883 --- /dev/null +++ b/tools/node_modules/@babel/core/node_modules/caniuse-lite/data/regions/NA.js @@ -0,0 +1 @@ +module.exports={C:{"34":0.02336,"35":0.01001,"36":0.00334,"52":0.03337,"56":0.00667,"60":0.00667,"66":0.01001,"68":0.00667,"72":0.00334,"74":0.01669,"78":0.03671,"80":0.00667,"82":0.00667,"84":0.01335,"85":0.00667,"86":0.01669,"87":0.03003,"88":2.55614,"89":0.05673,"90":0.00334,_:"2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 53 54 55 57 58 59 61 62 63 64 65 67 69 70 71 73 75 76 77 79 81 83 91 3.5 3.6"},D:{"39":0.02002,"40":0.00334,"42":0.00667,"48":0.00334,"49":0.11346,"53":0.00667,"56":0.00334,"57":0.00667,"58":0.00334,"60":0.00334,"63":0.01669,"65":0.01335,"67":0.00334,"68":0.00334,"69":0.01335,"70":0.0267,"71":0.01001,"74":0.0267,"75":0.01335,"76":0.01001,"77":0.01335,"78":0.00667,"79":0.03337,"80":0.02336,"81":0.01669,"83":0.1168,"84":0.02336,"85":0.01335,"86":0.06674,"87":0.26362,"88":0.07341,"89":0.62736,"90":15.1967,"91":0.64404,"92":0.00667,_:"4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 41 43 44 45 46 47 50 51 52 54 55 59 61 62 64 66 72 73 93 94"},F:{"42":0.00667,"63":0.00667,"73":0.03337,"74":0.0267,"75":0.41713,"76":0.73748,_:"9 11 12 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 60 62 64 65 66 67 68 69 70 71 72 9.5-9.6 10.5 10.6 11.1 11.5 11.6 12.1","10.0-10.1":0},G:{"8":0,"3.2":0.0012,"4.0-4.1":0,"4.2-4.3":0,"5.0-5.1":0.04147,"6.0-6.1":0.0024,"7.0-7.1":0.00721,"8.1-8.4":0.04447,"9.0-9.2":0.00361,"9.3":0.07091,"10.0-10.2":0.00421,"10.3":0.27885,"11.0-11.2":0.01022,"11.3-11.4":0.02344,"12.0-12.1":0.04147,"12.2-12.4":0.13041,"13.0-13.1":0.01142,"13.2":0.01863,"13.3":0.125,"13.4-13.7":0.28125,"14.0-14.4":3.71034,"14.5-14.6":0.61719},E:{"4":0,"12":0.00334,"13":0.01335,"14":0.79421,_:"0 5 6 7 8 9 10 11 3.1 3.2 6.1 7.1 9.1","5.1":0.0901,"10.1":0.01335,"11.1":0.01669,"12.1":0.05339,"13.1":0.22692,"14.1":0.20022},B:{"12":0.0267,"13":0.05339,"14":0.01669,"15":0.02336,"16":0.02336,"17":0.04338,"18":0.19688,"80":0.01335,"84":0.02002,"85":0.02002,"86":0.00667,"87":0.00667,"88":0.0267,"89":0.12013,"90":3.03667,"91":0.25361,_:"79 81 83"},P:{"4":0.57692,"5.0-5.4":0.01012,"6.2-6.4":0.03036,"7.2-7.4":2.02428,"8.2":0.02021,"9.2":0.21255,"10.1":0.11134,"11.1-11.2":1.00202,"12.0":0.37449,"13.0":1.52833,"14.0":3.43115},I:{"0":0,"3":0,"4":0.00029,"2.1":0,"2.2":0,"2.3":0,"4.1":0.00132,"4.2-4.3":0.00454,"4.4":0,"4.4.3-4.4.4":0.03383},K:{_:"0 10 11 12 11.1 11.5 12.1"},A:{"9":0.00728,"11":0.79694,_:"6 7 8 10 5.5"},J:{"7":0,"10":0},N:{_:"10 11"},S:{"2.5":0},R:{_:"0"},M:{"0":0.29317},Q:{"10.4":0.01999},O:{"0":0.92616},H:{"0":1.33732},L:{"0":54.56555}}; diff --git a/tools/node_modules/@babel/core/node_modules/caniuse-lite/data/regions/NC.js b/tools/node_modules/@babel/core/node_modules/caniuse-lite/data/regions/NC.js new file mode 100644 index 00000000000000..47506aba3ce69d --- /dev/null +++ b/tools/node_modules/@babel/core/node_modules/caniuse-lite/data/regions/NC.js @@ -0,0 +1 @@ +module.exports={C:{"30":0.00489,"45":0.01957,"48":0.04403,"52":0.07338,"60":0.02446,"66":0.00978,"68":0.22014,"71":0.00489,"78":0.48431,"79":0.00978,"80":0.01468,"81":0.00978,"83":0.00978,"84":0.04403,"85":0.04892,"86":0.03424,"87":0.06849,"88":6.73628,"89":0.02935,_:"2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 31 32 33 34 35 36 37 38 39 40 41 42 43 44 46 47 49 50 51 53 54 55 56 57 58 59 61 62 63 64 65 67 69 70 72 73 74 75 76 77 82 90 91 3.5 3.6"},D:{"49":0.15654,"55":0.00978,"56":0.01957,"60":0.00978,"62":0.00978,"63":0.00978,"65":0.09784,"67":0.01468,"68":0.05381,"70":0.01957,"74":0.00978,"75":0.00978,"77":0.02446,"78":0.03914,"79":0.02446,"80":0.02935,"81":0.02446,"83":0.05381,"85":0.04403,"86":0.15165,"87":0.12719,"88":0.22992,"89":0.75826,"90":21.98465,"91":1.19854,_:"4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 50 51 52 53 54 57 58 59 61 64 66 69 71 72 73 76 84 92 93 94"},F:{"29":0.04892,"55":0.01468,"73":0.03424,"75":0.38158,"76":0.71423,_:"9 11 12 15 16 17 18 19 20 21 22 23 24 25 26 27 28 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 56 57 58 60 62 63 64 65 66 67 68 69 70 71 72 74 9.5-9.6 10.5 10.6 11.1 11.5 11.6 12.1","10.0-10.1":0},G:{"8":0,"3.2":0,"4.0-4.1":0,"4.2-4.3":0.00423,"5.0-5.1":0.00423,"6.0-6.1":0.00282,"7.0-7.1":0.00705,"8.1-8.4":0.00423,"9.0-9.2":0.00282,"9.3":0.16084,"10.0-10.2":0.01693,"10.3":0.4811,"11.0-11.2":0.05502,"11.3-11.4":0.48956,"12.0-12.1":0.03104,"12.2-12.4":0.58832,"13.0-13.1":0.03386,"13.2":0.02822,"13.3":0.17495,"13.4-13.7":0.35836,"14.0-14.4":9.337,"14.5-14.6":1.16818},E:{"4":0,"10":0.00978,"12":0.03914,"13":0.09295,"14":3.78152,_:"0 5 6 7 8 9 11 3.1 3.2 5.1 6.1 7.1","9.1":0.01957,"10.1":0.14187,"11.1":0.14676,"12.1":0.3033,"13.1":0.87567,"14.1":1.25724},B:{"14":0.00489,"15":0.01957,"16":0.02446,"17":0.01957,"18":0.10273,"80":0.00489,"86":0.00489,"87":0.00978,"88":0.07827,"89":0.08806,"90":4.0995,"91":0.22503,_:"12 13 79 81 83 84 85"},P:{"4":0.09615,"5.0-5.4":0.01021,"6.2-6.4":0.02137,"7.2-7.4":0.87603,"8.2":0.02137,"9.2":0.43801,"10.1":0.09615,"11.1-11.2":0.89739,"12.0":0.18162,"13.0":0.91876,"14.0":4.97841},I:{"0":0,"3":0,"4":0,"2.1":0,"2.2":0,"2.3":0,"4.1":0.00108,"4.2-4.3":0.00047,"4.4":0,"4.4.3-4.4.4":0.01377},K:{_:"0 10 11 12 11.1 11.5 12.1"},A:{"11":0.36201,_:"6 7 8 9 10 5.5"},J:{"7":0,"10":0},N:{_:"10 11"},S:{"2.5":0},R:{_:"0"},M:{"0":0.64361},Q:{"10.4":0},O:{"0":0.01532},H:{"0":0.06287},L:{"0":30.75103}}; diff --git a/tools/node_modules/@babel/core/node_modules/caniuse-lite/data/regions/NE.js b/tools/node_modules/@babel/core/node_modules/caniuse-lite/data/regions/NE.js new file mode 100644 index 00000000000000..4e13102334a8bf --- /dev/null +++ b/tools/node_modules/@babel/core/node_modules/caniuse-lite/data/regions/NE.js @@ -0,0 +1 @@ +module.exports={C:{"15":0.00398,"20":0.00597,"30":0.00995,"31":0.00199,"32":0.00199,"33":0.00199,"40":0.00398,"43":0.00199,"45":0.00199,"47":0.0179,"48":0.00199,"51":0.00398,"52":0.00199,"56":0.00597,"60":0.02984,"65":0.00199,"72":0.01392,"76":0.00398,"77":0.00796,"78":0.00796,"80":0.00398,"81":0.00199,"82":0.01591,"84":0.01193,"85":0.00796,"86":0.07956,"87":0.03182,"88":1.68071,"89":0.00796,"90":0.00199,_:"2 3 4 5 6 7 8 9 10 11 12 13 14 16 17 18 19 21 22 23 24 25 26 27 28 29 34 35 36 37 38 39 41 42 44 46 49 50 53 54 55 57 58 59 61 62 63 64 66 67 68 69 70 71 73 74 75 79 83 91 3.5 3.6"},D:{"11":0.00398,"30":0.0358,"37":0.00597,"38":0.00199,"43":0.00995,"49":0.01591,"50":0.00398,"53":0.00199,"55":0.0179,"57":0.00597,"58":0.01989,"60":0.00199,"63":0.00199,"64":0.00199,"69":0.05171,"70":0.01193,"71":0.00398,"73":0.00398,"77":0.00199,"79":0.11934,"80":0.00398,"81":0.00995,"83":0.17304,"84":0.04376,"85":0.00796,"86":0.00597,"87":0.03182,"88":0.14321,"89":0.53504,"90":6.329,"91":0.18299,_:"4 5 6 7 8 9 10 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 31 32 33 34 35 36 39 40 41 42 44 45 46 47 48 51 52 54 56 59 61 62 65 66 67 68 72 74 75 76 78 92 93 94"},F:{"37":0.01193,"42":0.00597,"55":0.00398,"66":0.00199,"73":0.00796,"75":0.08951,"76":0.27846,_:"9 11 12 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 38 39 40 41 43 44 45 46 47 48 49 50 51 52 53 54 56 57 58 60 62 63 64 65 67 68 69 70 71 72 74 9.5-9.6 10.5 10.6 11.1 11.5 11.6 12.1","10.0-10.1":0},G:{"8":0,"3.2":0,"4.0-4.1":0,"4.2-4.3":0.00075,"5.0-5.1":0,"6.0-6.1":0,"7.0-7.1":0.00713,"8.1-8.4":0.00525,"9.0-9.2":0.0015,"9.3":0.03415,"10.0-10.2":0.00075,"10.3":0.07131,"11.0-11.2":0.06005,"11.3-11.4":0.06643,"12.0-12.1":0.1017,"12.2-12.4":0.44172,"13.0-13.1":0.02102,"13.2":0.00563,"13.3":0.13248,"13.4-13.7":0.36591,"14.0-14.4":1.49179,"14.5-14.6":0.57307},E:{"4":0,"9":0.00199,"13":0.00796,"14":0.24465,_:"0 5 6 7 8 10 11 12 3.1 3.2 6.1 9.1 11.1","5.1":0.48134,"7.1":0.00199,"10.1":0.00199,"12.1":0.00995,"13.1":0.03381,"14.1":0.11536},B:{"12":0.01989,"13":0.02586,"14":0.00199,"15":0.00398,"16":0.00995,"17":0.02586,"18":0.04973,"84":0.01392,"85":0.00796,"87":0.00199,"88":0.00398,"89":0.04774,"90":1.00246,"91":0.0716,_:"79 80 81 83 86"},P:{"4":0.11463,"5.0-5.4":0.04168,"6.2-6.4":0.0521,"7.2-7.4":0.13547,"8.2":0.01023,"9.2":0.13547,"10.1":0.09211,"11.1-11.2":0.04168,"12.0":0.11463,"13.0":0.31262,"14.0":0.33347},I:{"0":0,"3":0,"4":0,"2.1":0,"2.2":0,"2.3":0,"4.1":0.00372,"4.2-4.3":0.01675,"4.4":0,"4.4.3-4.4.4":0.79665},K:{_:"0 10 11 12 11.1 11.5 12.1"},A:{"9":0.0215,"11":2.7631,_:"6 7 8 10 5.5"},J:{"7":0,"10":0.03204},N:{_:"10 11"},S:{"2.5":0.04006},R:{_:"0"},M:{"0":0.15221},Q:{"10.4":0.48066},O:{"0":1.79446},H:{"0":5.55171},L:{"0":70.53097}}; diff --git a/tools/node_modules/@babel/core/node_modules/caniuse-lite/data/regions/NF.js b/tools/node_modules/@babel/core/node_modules/caniuse-lite/data/regions/NF.js new file mode 100644 index 00000000000000..732061d7537cd1 --- /dev/null +++ b/tools/node_modules/@babel/core/node_modules/caniuse-lite/data/regions/NF.js @@ -0,0 +1 @@ +module.exports={C:{"82":0.10851,"84":0.10851,"86":0.10851,"87":0.97658,"88":2.71273,_:"2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 83 85 89 90 91 3.5 3.6"},D:{"79":0.10851,"81":2.06167,"88":0.32553,"89":1.41062,"90":32.35282,"91":1.51913,_:"4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 80 83 84 85 86 87 92 93 94"},F:{_:"9 11 12 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 60 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 9.5-9.6 10.5 10.6 11.1 11.5 11.6 12.1","10.0-10.1":0},G:{"8":0,"3.2":0,"4.0-4.1":0,"4.2-4.3":0,"5.0-5.1":0,"6.0-6.1":0,"7.0-7.1":0,"8.1-8.4":0,"9.0-9.2":0,"9.3":3.9729,"10.0-10.2":0,"10.3":0,"11.0-11.2":0.22795,"11.3-11.4":0,"12.0-12.1":0.11398,"12.2-12.4":0.79512,"13.0-13.1":0.11398,"13.2":0,"13.3":0.11398,"13.4-13.7":1.36501,"14.0-14.4":13.96756,"14.5-14.6":2.27139},E:{"4":0,"12":1.62764,"14":2.49571,_:"0 5 6 7 8 9 10 11 13 3.1 3.2 5.1 6.1 7.1 9.1 10.1 11.1 12.1 13.1 14.1"},B:{"18":0.32553,"90":4.88862,"91":0.21702,_:"12 13 14 15 16 17 79 80 81 83 84 85 86 87 88 89"},P:{"4":0.05484,"5.0-5.4":0.01097,"6.2-6.4":0.0521,"7.2-7.4":0.05484,"8.2":0.01023,"9.2":0.63259,"10.1":0.24863,"11.1-11.2":0.07678,"12.0":0.06581,"13.0":0.49726,"14.0":3.49164},I:{"0":0,"3":0,"4":0,"2.1":0,"2.2":0,"2.3":0,"4.1":0,"4.2-4.3":0,"4.4":0,"4.4.3-4.4.4":0},K:{_:"0 10 11 12 11.1 11.5 12.1"},A:{"11":3.14676,_:"6 7 8 9 10 5.5"},J:{"7":0,"10":0},N:{_:"10 11"},S:{"2.5":0},R:{_:"0"},M:{"0":0.12438},Q:{"10.4":0},O:{"0":1.87},H:{"0":0},L:{"0":14.89395}}; diff --git a/tools/node_modules/@babel/core/node_modules/caniuse-lite/data/regions/NG.js b/tools/node_modules/@babel/core/node_modules/caniuse-lite/data/regions/NG.js new file mode 100644 index 00000000000000..587d49208f5e97 --- /dev/null +++ b/tools/node_modules/@babel/core/node_modules/caniuse-lite/data/regions/NG.js @@ -0,0 +1 @@ +module.exports={C:{"4":0.00168,"5":0.00337,"15":0.00337,"17":0.00505,"28":0.00337,"39":0.00168,"43":0.04042,"47":0.01516,"48":0.0101,"52":0.02694,"56":0.00674,"57":0.00505,"58":0.00168,"60":0.00168,"61":0.00168,"65":0.00337,"66":0.00168,"68":0.00168,"69":0.00168,"70":0.00337,"71":0.00168,"72":0.0101,"76":0.00337,"77":0.00168,"78":0.04042,"79":0.00674,"80":0.01516,"81":0.00505,"82":0.00337,"83":0.00674,"84":0.01347,"85":0.02863,"86":0.02189,"87":0.03536,"88":1.21248,"89":0.09094,_:"2 3 6 7 8 9 10 11 12 13 14 16 18 19 20 21 22 23 24 25 26 27 29 30 31 32 33 34 35 36 37 38 40 41 42 44 45 46 49 50 51 53 54 55 59 62 63 64 67 73 74 75 90 91 3.5 3.6"},D:{"11":0.00168,"23":0.00337,"24":0.00505,"25":0.00337,"34":0.00505,"35":0.00505,"37":0.00842,"38":0.00337,"41":0.00337,"47":0.02021,"48":0.00337,"49":0.03031,"50":0.0101,"53":0.00842,"55":0.01347,"56":0.00505,"57":0.00337,"58":0.02021,"60":0.00168,"61":0.00505,"62":0.01347,"63":0.0101,"64":0.02021,"65":0.00505,"66":0.00337,"67":0.00337,"68":0.00842,"69":0.01179,"70":0.01347,"71":0.00674,"72":0.00674,"73":0.00505,"74":0.01347,"75":0.0101,"76":0.01179,"77":0.01516,"78":0.00674,"79":0.04715,"80":0.04884,"81":0.04042,"83":0.032,"84":0.01684,"85":0.02358,"86":0.06736,"87":0.19198,"88":0.12462,"89":0.33006,"90":6.17523,"91":0.17682,"92":0.02189,_:"4 5 6 7 8 9 10 12 13 14 15 16 17 18 19 20 21 22 26 27 28 29 30 31 32 33 36 39 40 42 43 44 45 46 51 52 54 59 93 94"},F:{"32":0.00168,"33":0.00168,"36":0.02189,"53":0.00337,"62":0.00337,"63":0.00674,"64":0.00842,"73":0.0101,"74":0.00674,"75":0.14482,"76":0.24755,_:"9 11 12 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 34 35 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 54 55 56 57 58 60 65 66 67 68 69 70 71 72 9.5-9.6 10.5 10.6 11.1 11.5 11.6 12.1","10.0-10.1":0},G:{"8":0.00103,"3.2":0,"4.0-4.1":0,"4.2-4.3":0.00103,"5.0-5.1":0.00103,"6.0-6.1":0.0036,"7.0-7.1":0.00412,"8.1-8.4":0.00103,"9.0-9.2":0.00103,"9.3":0.04633,"10.0-10.2":0.00566,"10.3":0.04016,"11.0-11.2":0.11223,"11.3-11.4":0.04891,"12.0-12.1":0.0798,"12.2-12.4":0.30633,"13.0-13.1":0.08701,"13.2":0.03707,"13.3":0.2327,"13.4-13.7":0.54984,"14.0-14.4":2.81253,"14.5-14.6":0.36811},E:{"4":0,"11":0.00337,"12":0.00337,"13":0.01852,"14":0.14482,_:"0 5 6 7 8 9 10 3.1 3.2 6.1 7.1 9.1","5.1":0.08588,"10.1":0.00337,"11.1":0.00337,"12.1":0.00842,"13.1":0.0421,"14.1":0.04884},B:{"12":0.01347,"13":0.00168,"14":0.00337,"15":0.00505,"16":0.00505,"17":0.00505,"18":0.04884,"83":0.00168,"84":0.00674,"85":0.00842,"86":0.00337,"87":0.00505,"88":0.01684,"89":0.04042,"90":0.58603,"91":0.01516,_:"79 80 81"},P:{"4":0.05484,"5.0-5.4":0.01097,"6.2-6.4":0.0521,"7.2-7.4":0.05484,"8.2":0.01023,"9.2":0.04387,"10.1":0.01097,"11.1-11.2":0.07678,"12.0":0.06581,"13.0":0.25228,"14.0":0.46069},I:{"0":0,"3":0,"4":0,"2.1":0,"2.2":0,"2.3":0,"4.1":0.01231,"4.2-4.3":0.02871,"4.4":0,"4.4.3-4.4.4":0.57429},K:{_:"0 10 11 12 11.1 11.5 12.1"},A:{"8":0.02701,"9":0.04051,"10":0.0054,"11":0.07022,_:"6 7 5.5"},J:{"7":0,"10":0.02495},N:{_:"10 11"},S:{"2.5":0.01663},R:{_:"0"},M:{"0":0.26608},Q:{"10.4":0.00832},O:{"0":1.3304},H:{"0":36.64465},L:{"0":41.70325}}; diff --git a/tools/node_modules/@babel/core/node_modules/caniuse-lite/data/regions/NI.js b/tools/node_modules/@babel/core/node_modules/caniuse-lite/data/regions/NI.js new file mode 100644 index 00000000000000..874522bb1ea019 --- /dev/null +++ b/tools/node_modules/@babel/core/node_modules/caniuse-lite/data/regions/NI.js @@ -0,0 +1 @@ +module.exports={C:{"36":0.03658,"43":0.00914,"52":0.01372,"72":0.00914,"75":0.032,"78":0.032,"79":0.01372,"81":0.01372,"83":0.00914,"84":0.00914,"85":0.01372,"86":0.01829,"87":0.04572,"88":2.1717,"89":0.01372,_:"2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 37 38 39 40 41 42 44 45 46 47 48 49 50 51 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 73 74 76 77 80 82 90 91 3.5 3.6"},D:{"31":0.01372,"38":0.00457,"49":0.07772,"53":0.01372,"55":0.00457,"63":0.00914,"65":0.00457,"69":0.01372,"70":0.01829,"71":0.00457,"72":0.00914,"73":0.00457,"74":0.00914,"75":0.04115,"76":0.05029,"77":0.01372,"78":0.00914,"79":0.05486,"80":0.032,"81":0.032,"83":0.02286,"84":0.01829,"85":0.02743,"86":0.05486,"87":0.22403,"88":0.2286,"89":3.55244,"90":27.14854,"91":0.89154,"92":0.02286,_:"4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 32 33 34 35 36 37 39 40 41 42 43 44 45 46 47 48 50 51 52 54 56 57 58 59 60 61 62 64 66 67 68 93 94"},F:{"29":0.00457,"73":0.15545,"74":0.01829,"75":0.61722,"76":0.53492,_:"9 11 12 15 16 17 18 19 20 21 22 23 24 25 26 27 28 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 60 62 63 64 65 66 67 68 69 70 71 72 9.5-9.6 10.5 10.6 11.1 11.5 11.6 12.1","10.0-10.1":0},G:{"8":0,"3.2":0,"4.0-4.1":0,"4.2-4.3":0,"5.0-5.1":0.01193,"6.0-6.1":0.00442,"7.0-7.1":0.02696,"8.1-8.4":0,"9.0-9.2":0.00133,"9.3":0.06365,"10.0-10.2":0.01238,"10.3":0.04332,"11.0-11.2":0.01989,"11.3-11.4":0.01282,"12.0-12.1":0.01459,"12.2-12.4":0.10122,"13.0-13.1":0.01414,"13.2":0.00663,"13.3":0.05304,"13.4-13.7":0.15205,"14.0-14.4":2.65918,"14.5-14.6":0.91144},E:{"4":0,"13":0.07315,"14":0.62179,_:"0 5 6 7 8 9 10 11 12 3.1 3.2 6.1 7.1 9.1 10.1","5.1":1.143,"11.1":0.02286,"12.1":0.02286,"13.1":0.09601,"14.1":0.17831},B:{"12":0.00914,"13":0.01372,"14":0.00914,"15":0.00457,"16":0.01829,"17":0.00914,"18":0.0823,"80":0.00457,"84":0.01372,"85":0.02743,"87":0.01372,"88":0.02286,"89":0.05944,"90":2.45059,"91":0.14173,_:"79 81 83 86"},P:{"4":0.40937,"5.0-5.4":0.01023,"6.2-6.4":0.05117,"7.2-7.4":0.25585,"8.2":0.01023,"9.2":0.18422,"10.1":0.09211,"11.1-11.2":0.47077,"12.0":0.17398,"13.0":0.68569,"14.0":1.94449},I:{"0":0,"3":0,"4":0.00099,"2.1":0,"2.2":0,"2.3":0,"4.1":0.00395,"4.2-4.3":0.00691,"4.4":0,"4.4.3-4.4.4":0.09672},K:{_:"0 10 11 12 11.1 11.5 12.1"},A:{"11":0.11887,_:"6 7 8 9 10 5.5"},J:{"7":0,"10":0.01086},N:{_:"10 11"},S:{"2.5":0},R:{_:"0"},M:{"0":0.12484},Q:{"10.4":0},O:{"0":0.20084},H:{"0":0.35972},L:{"0":48.79488}}; diff --git a/tools/node_modules/@babel/core/node_modules/caniuse-lite/data/regions/NL.js b/tools/node_modules/@babel/core/node_modules/caniuse-lite/data/regions/NL.js new file mode 100644 index 00000000000000..64d100c9409c36 --- /dev/null +++ b/tools/node_modules/@babel/core/node_modules/caniuse-lite/data/regions/NL.js @@ -0,0 +1 @@ +module.exports={C:{"48":0.01027,"52":0.04108,"56":0.00514,"60":0.01027,"66":0.00514,"68":0.01027,"78":0.12838,"79":0.01027,"80":0.01027,"81":0.02054,"82":0.01541,"83":0.01027,"84":0.02568,"85":0.01541,"86":0.06676,"87":0.07703,"88":2.77804,"89":0.02568,_:"2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 49 50 51 53 54 55 57 58 59 61 62 63 64 65 67 69 70 71 72 73 74 75 76 77 90 91 3.5 3.6"},D:{"38":0.00514,"47":0.02054,"48":0.01027,"49":0.35432,"52":0.02568,"53":0.01027,"58":0.00514,"59":0.03081,"61":0.23621,"63":0.01027,"64":0.13865,"65":0.01027,"66":0.01541,"67":0.01541,"68":0.01027,"69":0.02568,"70":0.15405,"71":0.01027,"72":0.25675,"73":0.02054,"74":0.01541,"75":0.02568,"76":0.07189,"77":0.02568,"78":0.02054,"79":0.31324,"80":0.20027,"81":0.04108,"83":0.12838,"84":0.11297,"85":0.1027,"86":0.44675,"87":0.32351,"88":0.36459,"89":1.47375,"90":25.22312,"91":0.52377,"92":0.03081,_:"4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 39 40 41 42 43 44 45 46 50 51 54 55 56 57 60 62 93 94"},F:{"69":0.00514,"73":0.05649,"74":0.01027,"75":0.28756,"76":0.32351,_:"9 11 12 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 60 62 63 64 65 66 67 68 70 71 72 9.5-9.6 10.5 10.6 11.1 11.5 11.6 12.1","10.0-10.1":0},G:{"8":0,"3.2":0,"4.0-4.1":0,"4.2-4.3":0,"5.0-5.1":0.00372,"6.0-6.1":0.00558,"7.0-7.1":0.00558,"8.1-8.4":0.00744,"9.0-9.2":0.04277,"9.3":0.18225,"10.0-10.2":0.00744,"10.3":0.18969,"11.0-11.2":0.0279,"11.3-11.4":0.05207,"12.0-12.1":0.03719,"12.2-12.4":0.21014,"13.0-13.1":0.04649,"13.2":0.02604,"13.3":0.15435,"13.4-13.7":0.54861,"14.0-14.4":13.81557,"14.5-14.6":2.35064},E:{"4":0,"11":0.00514,"12":0.01541,"13":0.11811,"14":4.42124,_:"0 5 6 7 8 9 10 3.1 3.2 5.1 6.1 7.1 9.1","10.1":0.02054,"11.1":0.07703,"12.1":0.12324,"13.1":0.66755,"14.1":1.53537},B:{"17":0.01541,"18":0.07189,"84":0.01027,"85":0.01541,"86":0.02054,"87":0.02054,"88":0.02054,"89":0.14892,"90":5.88985,"91":0.09243,_:"12 13 14 15 16 79 80 81 83"},P:{"4":0.02125,"5.0-5.4":0.01021,"6.2-6.4":0.03036,"7.2-7.4":0.06356,"8.2":0.02021,"9.2":0.02125,"10.1":0.02125,"11.1-11.2":0.07439,"12.0":0.07439,"13.0":0.36131,"14.0":5.13279},I:{"0":0,"3":0,"4":0,"2.1":0,"2.2":0,"2.3":0,"4.1":0.00317,"4.2-4.3":0.0103,"4.4":0,"4.4.3-4.4.4":0.05465},K:{_:"0 10 11 12 11.1 11.5 12.1"},A:{"8":0.02544,"9":0.05087,"10":0.01272,"11":1.27175,_:"6 7 5.5"},J:{"7":0,"10":0},N:{_:"10 11"},S:{"2.5":0},R:{_:"0"},M:{"0":0.39407},Q:{"10.4":0.0146},O:{"0":0.45731},H:{"0":0.33623},L:{"0":24.75901}}; diff --git a/tools/node_modules/@babel/core/node_modules/caniuse-lite/data/regions/NO.js b/tools/node_modules/@babel/core/node_modules/caniuse-lite/data/regions/NO.js new file mode 100644 index 00000000000000..47c8acbdfbc653 --- /dev/null +++ b/tools/node_modules/@babel/core/node_modules/caniuse-lite/data/regions/NO.js @@ -0,0 +1 @@ +module.exports={C:{"52":0.01405,"59":0.01405,"78":0.07726,"84":0.00702,"85":0.00702,"86":0.03512,"87":0.07024,"88":1.48909,_:"2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 53 54 55 56 57 58 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 79 80 81 82 83 89 90 91 3.5 3.6"},D:{"38":0.00702,"49":0.07726,"59":0.00702,"63":0.00702,"65":0.01405,"66":0.07726,"67":0.0281,"69":0.13346,"70":0.00702,"72":0.01405,"73":0.02107,"75":0.01405,"76":0.01405,"77":0.02107,"78":0.01405,"79":0.04214,"80":0.0281,"81":0.02107,"83":0.03512,"84":0.03512,"85":15.15779,"86":0.06322,"87":0.19667,"88":0.44954,"89":1.31349,"90":37.67674,"91":0.33715,_:"4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 39 40 41 42 43 44 45 46 47 48 50 51 52 53 54 55 56 57 58 60 61 62 64 68 71 74 92 93 94"},F:{"73":0.11941,"75":0.50573,"76":0.34418,_:"9 11 12 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 60 62 63 64 65 66 67 68 69 70 71 72 74 9.5-9.6 10.5 10.6 11.1 11.5 11.6 12.1","10.0-10.1":0},G:{"8":0,"3.2":0,"4.0-4.1":0,"4.2-4.3":0,"5.0-5.1":0.00169,"6.0-6.1":0,"7.0-7.1":0.02024,"8.1-8.4":0.00843,"9.0-9.2":0.00337,"9.3":0.09951,"10.0-10.2":0.00506,"10.3":0.14336,"11.0-11.2":0.0253,"11.3-11.4":0.07084,"12.0-12.1":0.04723,"12.2-12.4":0.14168,"13.0-13.1":0.03373,"13.2":0.01855,"13.3":0.13324,"13.4-13.7":0.37443,"14.0-14.4":13.25506,"14.5-14.6":1.99863},E:{"4":0,"12":0.02107,"13":0.12643,"14":4.27059,_:"0 5 6 7 8 9 10 11 3.1 3.2 5.1 6.1 7.1 9.1","10.1":0.02107,"11.1":0.05619,"12.1":0.11238,"13.1":0.64621,"14.1":1.51016},B:{"17":0.01405,"18":0.04917,"83":0.00702,"84":0.00702,"85":0.0281,"86":0.01405,"87":0.01405,"88":0.01405,"89":0.11941,"90":3.44878,"91":0.04917,_:"12 13 14 15 16 79 80 81"},P:{"4":0.0429,"5.0-5.4":0.01097,"6.2-6.4":0.0521,"7.2-7.4":0.05484,"8.2":0.01023,"9.2":0.58995,"10.1":0.02145,"11.1-11.2":0.01073,"12.0":0.02145,"13.0":0.11799,"14.0":2.19883},I:{"0":0,"3":0,"4":0.00039,"2.1":0,"2.2":0,"2.3":0,"4.1":0,"4.2-4.3":0.00235,"4.4":0,"4.4.3-4.4.4":0.01213},K:{_:"0 10 11 12 11.1 11.5 12.1"},A:{"11":0.34418,_:"6 7 8 9 10 5.5"},J:{"7":0,"10":0},N:{_:"10 11"},S:{"2.5":0},R:{_:"0"},M:{"0":0.1547},Q:{"10.4":0},O:{"0":0.03273},H:{"0":0.14083},L:{"0":11.01566}}; diff --git a/tools/node_modules/@babel/core/node_modules/caniuse-lite/data/regions/NP.js b/tools/node_modules/@babel/core/node_modules/caniuse-lite/data/regions/NP.js new file mode 100644 index 00000000000000..d29c2f487efc7b --- /dev/null +++ b/tools/node_modules/@babel/core/node_modules/caniuse-lite/data/regions/NP.js @@ -0,0 +1 @@ +module.exports={C:{"52":0.04768,"70":0.00207,"71":0.00415,"76":0.00415,"78":0.03731,"83":0.00207,"84":0.00622,"85":0.00622,"86":0.00622,"87":0.16791,"88":0.98468,"89":0.0767,_:"2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 72 73 74 75 77 79 80 81 82 90 91 3.5 3.6"},D:{"11":0.00207,"32":0.00207,"33":0.00207,"38":0.00415,"43":0.00207,"47":0.00207,"49":0.01658,"53":0.00622,"58":0.00207,"60":0.00415,"61":0.00415,"63":0.01244,"64":0.00829,"65":0.00622,"67":0.00415,"69":0.00415,"70":0.00415,"71":0.00622,"72":0.00207,"73":0.00415,"74":0.00415,"75":0.00415,"76":0.00622,"77":0.00415,"78":0.00622,"79":0.03317,"80":0.01244,"81":0.01451,"83":0.01658,"84":0.03317,"85":0.02073,"86":0.03524,"87":0.08085,"88":0.07256,"89":0.65714,"90":14.16066,"91":0.70482,"92":0.01866,_:"4 5 6 7 8 9 10 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 34 35 36 37 39 40 41 42 44 45 46 48 50 51 52 54 55 56 57 59 62 66 68 93 94"},F:{"73":0.01451,"74":0.00207,"75":0.16169,"76":0.3379,_:"9 11 12 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 60 62 63 64 65 66 67 68 69 70 71 72 9.5-9.6 10.5 10.6 11.1 11.5 11.6 12.1","10.0-10.1":0},G:{"8":0,"3.2":0,"4.0-4.1":0,"4.2-4.3":0,"5.0-5.1":0.00271,"6.0-6.1":0.00136,"7.0-7.1":0.02778,"8.1-8.4":0.00339,"9.0-9.2":0.00678,"9.3":0.07182,"10.0-10.2":0.01355,"10.3":0.10299,"11.0-11.2":0.02507,"11.3-11.4":0.03998,"12.0-12.1":0.03049,"12.2-12.4":0.21478,"13.0-13.1":0.01626,"13.2":0.00678,"13.3":0.06911,"13.4-13.7":0.2595,"14.0-14.4":4.21776,"14.5-14.6":0.85101},E:{"4":0,"12":0.00207,"13":0.00829,"14":0.14718,_:"0 5 6 7 8 9 10 11 3.1 3.2 6.1 7.1 9.1","5.1":0.00207,"10.1":0.02073,"11.1":0.00622,"12.1":0.01037,"13.1":0.04146,"14.1":0.0767},B:{"12":0.00415,"15":0.00207,"16":0.00207,"17":0.00415,"18":0.01037,"84":0.00207,"85":0.00207,"87":0.00207,"88":0.00207,"89":0.16584,"90":1.04065,"91":0.07877,_:"13 14 79 80 81 83 86"},P:{"4":0.19068,"5.0-5.4":0.01021,"6.2-6.4":0.03036,"7.2-7.4":0.06356,"8.2":0.02021,"9.2":0.02119,"10.1":0.01021,"11.1-11.2":0.06356,"12.0":0.03178,"13.0":0.18009,"14.0":0.61441},I:{"0":0,"3":0,"4":0,"2.1":0,"2.2":0,"2.3":0,"4.1":0.00278,"4.2-4.3":0.00779,"4.4":0,"4.4.3-4.4.4":0.08455},K:{_:"0 10 11 12 11.1 11.5 12.1"},A:{"11":0.0767,_:"6 7 8 9 10 5.5"},J:{"7":0,"10":0},N:{_:"10 11"},S:{"2.5":0},R:{_:"0"},M:{"0":0.10305},Q:{"10.4":0},O:{"0":1.5854},H:{"0":1.02065},L:{"0":70.14921}}; diff --git a/tools/node_modules/@babel/core/node_modules/caniuse-lite/data/regions/NR.js b/tools/node_modules/@babel/core/node_modules/caniuse-lite/data/regions/NR.js new file mode 100644 index 00000000000000..af8c95d081da02 --- /dev/null +++ b/tools/node_modules/@babel/core/node_modules/caniuse-lite/data/regions/NR.js @@ -0,0 +1 @@ +module.exports={C:{"84":0.05032,"88":0.00888,_:"2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 85 86 87 89 90 91 3.5 3.6"},D:{"68":0.00888,"70":0.07104,"76":0.00888,"77":0.1036,"79":0.05032,"81":0.15392,"83":0.06216,"86":0.00888,"88":0.02072,"89":0.32856,"90":9.62,"91":0.07104,_:"4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 69 71 72 73 74 75 78 80 84 85 87 92 93 94"},F:{"54":0.09176,"76":0.09176,_:"9 11 12 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 55 56 57 58 60 62 63 64 65 66 67 68 69 70 71 72 73 74 75 9.5-9.6 10.5 10.6 11.1 11.5 11.6 12.1","10.0-10.1":0},G:{"8":0,"3.2":0,"4.0-4.1":0,"4.2-4.3":0,"5.0-5.1":0,"6.0-6.1":0,"7.0-7.1":0,"8.1-8.4":0,"9.0-9.2":0,"9.3":0,"10.0-10.2":0,"10.3":0.00964,"11.0-11.2":0,"11.3-11.4":0.00964,"12.0-12.1":0.54923,"12.2-12.4":0.01929,"13.0-13.1":0.02893,"13.2":0.04822,"13.3":0.18325,"13.4-13.7":0.27005,"14.0-14.4":3.59286,"14.5-14.6":0.23096},E:{"4":0,"13":0.2368,"14":4.50808,_:"0 5 6 7 8 9 10 11 12 3.1 3.2 5.1 6.1 7.1 9.1 10.1 11.1 12.1","13.1":0.00888,"14.1":0.68672},B:{"16":0.00888,"17":0.0296,"18":0.02072,"89":0.00888,"90":1.04488,_:"12 13 14 15 79 80 81 83 84 85 86 87 88 91"},P:{"4":0.04085,"5.0-5.4":0.01021,"6.2-6.4":0.03036,"7.2-7.4":0.09192,"8.2":0.02021,"9.2":0.02043,"10.1":0.01021,"11.1-11.2":0.17363,"12.0":0.06128,"13.0":0.54132,"14.0":2.26742},I:{"0":0,"3":0,"4":0,"2.1":0,"2.2":0,"2.3":0,"4.1":0,"4.2-4.3":0,"4.4":0,"4.4.3-4.4.4":0.12672},K:{_:"0 10 11 12 11.1 11.5 12.1"},A:{"11":0.28712,_:"6 7 8 9 10 5.5"},J:{"7":0,"10":0},N:{_:"10 11"},S:{"2.5":0},R:{_:"0"},M:{"0":0.02112},Q:{"10.4":0},O:{"0":1.45728},H:{"0":0.87978},L:{"0":63.68336}}; diff --git a/tools/node_modules/@babel/core/node_modules/caniuse-lite/data/regions/NU.js b/tools/node_modules/@babel/core/node_modules/caniuse-lite/data/regions/NU.js new file mode 100644 index 00000000000000..cd5d95d092ae59 --- /dev/null +++ b/tools/node_modules/@babel/core/node_modules/caniuse-lite/data/regions/NU.js @@ -0,0 +1 @@ +module.exports={C:{"52":0.1567,"56":0.1567,"88":0.78031,_:"2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 53 54 55 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 89 90 91 3.5 3.6"},D:{"64":0.1567,"81":0.93701,"87":0.1567,"88":0.1567,"89":2.80784,"90":10.14086,"91":1.09052,_:"4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 83 84 85 86 92 93 94"},F:{"75":0.3134,_:"9 11 12 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 60 62 63 64 65 66 67 68 69 70 71 72 73 74 76 9.5-9.6 10.5 10.6 11.1 11.5 11.6 12.1","10.0-10.1":0},G:{"8":0,"3.2":0,"4.0-4.1":0,"4.2-4.3":0,"5.0-5.1":0,"6.0-6.1":0,"7.0-7.1":0,"8.1-8.4":0,"9.0-9.2":0,"9.3":0,"10.0-10.2":0,"10.3":0,"11.0-11.2":0,"11.3-11.4":0,"12.0-12.1":0.1351,"12.2-12.4":0.4053,"13.0-13.1":0,"13.2":0,"13.3":0.2702,"13.4-13.7":0,"14.0-14.4":3.646,"14.5-14.6":1.08024},E:{"4":0,"14":1.24722,_:"0 5 6 7 8 9 10 11 12 13 3.1 3.2 5.1 6.1 7.1 9.1 10.1 11.1 12.1 13.1 14.1"},B:{"13":0.46691,"14":0.1567,"16":0.3134,"18":0.3134,"85":2.96455,"86":0.93701,"89":4.36847,"90":2.34094,_:"12 15 17 79 80 81 83 84 87 88 91"},P:{"4":0.05484,"5.0-5.4":0.01097,"6.2-6.4":0.0521,"7.2-7.4":0.05484,"8.2":0.01023,"9.2":0.63259,"10.1":0.01097,"11.1-11.2":0.07678,"12.0":0.06581,"13.0":1.10452,"14.0":2.05841},I:{"0":0,"3":0,"4":0,"2.1":0,"2.2":0,"2.3":0,"4.1":0,"4.2-4.3":0,"4.4":0,"4.4.3-4.4.4":0},K:{_:"0 10 11 12 11.1 11.5 12.1"},A:{"11":0.93701,_:"6 7 8 9 10 5.5"},J:{"7":0,"10":0},N:{_:"10 11"},S:{"2.5":0},R:{_:"0"},M:{"0":0},Q:{"10.4":0},O:{"0":0.63259},H:{"0":0.14811},L:{"0":58.51569}}; diff --git a/tools/node_modules/@babel/core/node_modules/caniuse-lite/data/regions/NZ.js b/tools/node_modules/@babel/core/node_modules/caniuse-lite/data/regions/NZ.js new file mode 100644 index 00000000000000..0be249250b8eae --- /dev/null +++ b/tools/node_modules/@babel/core/node_modules/caniuse-lite/data/regions/NZ.js @@ -0,0 +1 @@ +module.exports={C:{"34":0.0053,"52":0.04772,"56":0.02121,"60":0.0106,"66":0.0053,"68":0.0053,"72":0.01591,"77":0.0106,"78":0.13785,"81":0.0053,"84":0.02651,"85":0.02121,"86":0.06893,"87":0.07423,"88":2.61919,"89":0.01591,_:"2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 53 54 55 57 58 59 61 62 63 64 65 67 69 70 71 73 74 75 76 79 80 82 83 90 91 3.5 3.6"},D:{"20":0.0053,"34":0.02121,"38":0.08483,"42":0.0106,"49":0.20678,"53":0.13255,"57":0.0106,"58":0.0053,"61":0.01591,"62":0.0053,"63":0.02121,"64":0.0053,"65":0.08483,"66":0.0106,"67":0.05302,"68":0.04772,"69":0.09544,"70":0.04242,"71":0.02651,"72":0.02651,"73":0.04772,"74":0.04772,"75":0.03711,"76":0.06362,"77":0.04242,"78":0.03711,"79":0.12195,"80":0.06362,"81":0.03711,"83":0.08483,"84":0.04772,"85":0.04242,"86":0.21208,"87":0.37644,"88":0.62564,"89":2.07838,"90":27.80369,"91":0.56731,"92":0.03181,_:"4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 21 22 23 24 25 26 27 28 29 30 31 32 33 35 36 37 39 40 41 43 44 45 46 47 48 50 51 52 54 55 56 59 60 93 94"},F:{"36":0.0053,"46":0.02121,"73":0.04242,"75":0.18027,"76":0.19617,_:"9 11 12 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 37 38 39 40 41 42 43 44 45 47 48 49 50 51 52 53 54 55 56 57 58 60 62 63 64 65 66 67 68 69 70 71 72 74 9.5-9.6 10.5 10.6 11.1 11.5 11.6 12.1","10.0-10.1":0},G:{"8":0,"3.2":0,"4.0-4.1":0,"4.2-4.3":0,"5.0-5.1":0.00392,"6.0-6.1":0.0471,"7.0-7.1":0.04121,"8.1-8.4":0.05887,"9.0-9.2":0.03336,"9.3":0.3552,"10.0-10.2":0.04121,"10.3":0.43173,"11.0-11.2":0.18839,"11.3-11.4":0.12363,"12.0-12.1":0.09027,"12.2-12.4":0.42388,"13.0-13.1":0.04121,"13.2":0.02159,"13.3":0.18643,"13.4-13.7":0.62209,"14.0-14.4":13.56423,"14.5-14.6":2.16455},E:{"4":0,"11":0.02651,"12":0.02651,"13":0.17497,"14":4.99979,_:"0 5 6 7 8 9 10 3.1 3.2 5.1 6.1 7.1","9.1":0.0053,"10.1":0.06362,"11.1":0.11134,"12.1":0.18027,"13.1":0.82181,"14.1":1.38382},B:{"15":0.02121,"16":0.0053,"17":0.01591,"18":0.20678,"85":0.01591,"86":0.0106,"87":0.0053,"88":0.02651,"89":0.10604,"90":4.48549,"91":0.07953,_:"12 13 14 79 80 81 83 84"},P:{"4":0.19639,"5.0-5.4":0.01021,"6.2-6.4":0.02137,"7.2-7.4":0.87603,"8.2":0.02137,"9.2":0.02182,"10.1":0.02182,"11.1-11.2":0.09819,"12.0":0.05455,"13.0":0.30549,"14.0":2.79309},I:{"0":0,"3":0,"4":0.0019,"2.1":0,"2.2":0,"2.3":0,"4.1":0.0019,"4.2-4.3":0.01045,"4.4":0,"4.4.3-4.4.4":0.07033},K:{_:"0 10 11 12 11.1 11.5 12.1"},A:{"6":0.01344,"9":0.01344,"11":1.35695,_:"7 8 10 5.5"},J:{"7":0,"10":0},N:{_:"10 11"},S:{"2.5":0},R:{_:"0"},M:{"0":0.42761},Q:{"10.4":0.07049},O:{"0":0.30074},H:{"0":0.24468},L:{"0":25.04485}}; diff --git a/tools/node_modules/@babel/core/node_modules/caniuse-lite/data/regions/OM.js b/tools/node_modules/@babel/core/node_modules/caniuse-lite/data/regions/OM.js new file mode 100644 index 00000000000000..07ca802f54d275 --- /dev/null +++ b/tools/node_modules/@babel/core/node_modules/caniuse-lite/data/regions/OM.js @@ -0,0 +1 @@ +module.exports={C:{"41":0.00689,"52":0.00344,"56":0.0482,"76":0.00689,"78":0.01377,"79":0.00344,"81":0.01033,"84":0.01033,"86":0.02066,"87":0.01377,"88":0.54399,"89":0.01377,_:"2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 42 43 44 45 46 47 48 49 50 51 53 54 55 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 77 80 82 83 85 90 91 3.5 3.6"},D:{"22":0.00344,"26":0.00344,"38":0.02066,"43":0.00344,"49":0.0482,"53":0.03099,"55":0.00344,"56":0.00689,"62":0.00689,"63":0.00689,"64":0.00344,"65":0.00689,"66":0.00344,"67":0.00689,"68":0.01033,"69":0.00689,"70":0.01722,"71":0.00689,"72":0.00689,"73":0.00344,"74":0.00689,"75":0.01033,"76":0.02066,"77":0.02066,"78":0.0241,"79":0.03787,"80":0.02066,"81":0.02066,"83":0.18592,"84":0.01722,"85":0.0241,"86":0.08608,"87":0.09296,"88":0.0964,"89":0.49579,"90":22.08685,"91":0.89862,"92":0.0241,_:"4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 23 24 25 27 28 29 30 31 32 33 34 35 36 37 39 40 41 42 44 45 46 47 48 50 51 52 54 57 58 59 60 61 93 94"},F:{"36":0.00689,"46":0.00689,"73":0.0723,"74":0.00344,"75":0.23757,"76":0.26167,_:"9 11 12 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 37 38 39 40 41 42 43 44 45 47 48 49 50 51 52 53 54 55 56 57 58 60 62 63 64 65 66 67 68 69 70 71 72 9.5-9.6 10.5 10.6 11.1 11.5 11.6 12.1","10.0-10.1":0},G:{"8":0,"3.2":0,"4.0-4.1":0,"4.2-4.3":0,"5.0-5.1":0.00617,"6.0-6.1":0.00309,"7.0-7.1":0.03704,"8.1-8.4":0,"9.0-9.2":0.00154,"9.3":0.10187,"10.0-10.2":0.00926,"10.3":0.06483,"11.0-11.2":0.04631,"11.3-11.4":0.04322,"12.0-12.1":0.05248,"12.2-12.4":0.23307,"13.0-13.1":0.05094,"13.2":0.03241,"13.3":0.15435,"13.4-13.7":0.52325,"14.0-14.4":10.00658,"14.5-14.6":3.35405},E:{"4":0,"12":0.00689,"13":0.03443,"14":1.38409,_:"0 5 6 7 8 9 10 11 3.1 3.2 6.1 7.1 9.1","5.1":0.0964,"10.1":0.00689,"11.1":0.01722,"12.1":0.0241,"13.1":0.20314,"14.1":0.4166},B:{"12":0.01377,"13":0.00344,"14":0.00689,"15":0.01033,"16":0.01377,"17":0.01377,"18":0.08608,"84":0.01377,"85":0.00689,"86":0.00344,"87":0.01033,"88":0.01722,"89":0.04476,"90":2.23451,"91":0.22035,_:"79 80 81 83"},P:{"4":0.75231,"5.0-5.4":0.01031,"6.2-6.4":0.01031,"7.2-7.4":0.13397,"8.2":0.06183,"9.2":0.10306,"10.1":0.03092,"11.1-11.2":0.3607,"12.0":0.19581,"13.0":0.72139,"14.0":3.08138},I:{"0":0,"3":0,"4":0,"2.1":0,"2.2":0,"2.3":0,"4.1":0.00238,"4.2-4.3":0.00715,"4.4":0,"4.4.3-4.4.4":0.06259},K:{_:"0 10 11 12 11.1 11.5 12.1"},A:{"11":2.02448,_:"6 7 8 9 10 5.5"},J:{"7":0,"10":0},N:{_:"10 11"},S:{"2.5":0},R:{_:"0"},M:{"0":0.08524},Q:{"10.4":0},O:{"0":0.79995},H:{"0":0.49662},L:{"0":45.35847}}; diff --git a/tools/node_modules/@babel/core/node_modules/caniuse-lite/data/regions/PA.js b/tools/node_modules/@babel/core/node_modules/caniuse-lite/data/regions/PA.js new file mode 100644 index 00000000000000..dc6d0bb52a23a9 --- /dev/null +++ b/tools/node_modules/@babel/core/node_modules/caniuse-lite/data/regions/PA.js @@ -0,0 +1 @@ +module.exports={C:{"52":0.0134,"57":0.00893,"61":0.00893,"66":0.03572,"73":0.05358,"78":0.06698,"84":0.02233,"86":0.0134,"87":0.02233,"88":1.32164,"89":0.00893,_:"2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 53 54 55 56 58 59 60 62 63 64 65 67 68 69 70 71 72 74 75 76 77 79 80 81 82 83 85 90 91 3.5 3.6"},D:{"38":0.0134,"49":0.15181,"53":0.04465,"56":0.00893,"58":0.03126,"62":0.00447,"63":0.00893,"65":0.01786,"67":0.02679,"68":0.01786,"69":0.00893,"70":0.02679,"71":0.00447,"72":0.0134,"73":0.02233,"74":0.02233,"75":0.05805,"76":0.03572,"77":0.03126,"78":0.03572,"79":0.16074,"80":0.04019,"81":0.05358,"83":0.07144,"84":0.02679,"85":0.08484,"86":0.11609,"87":0.19646,"88":0.192,"89":0.74119,"90":27.16506,"91":0.99123,"92":0.02233,_:"4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 39 40 41 42 43 44 45 46 47 48 50 51 52 54 55 57 59 60 61 64 66 93 94"},F:{"73":0.14288,"74":0.00447,"75":0.91979,"76":0.40632,_:"9 11 12 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 60 62 63 64 65 66 67 68 69 70 71 72 9.5-9.6 10.5 10.6 11.1 11.5 11.6 12.1","10.0-10.1":0},G:{"8":0,"3.2":0.00081,"4.0-4.1":0,"4.2-4.3":0,"5.0-5.1":0.00081,"6.0-6.1":0.013,"7.0-7.1":0.03087,"8.1-8.4":0.00162,"9.0-9.2":0.00081,"9.3":0.05686,"10.0-10.2":0.013,"10.3":0.05118,"11.0-11.2":0.01787,"11.3-11.4":0.01543,"12.0-12.1":0.01381,"12.2-12.4":0.0861,"13.0-13.1":0.01462,"13.2":0.0065,"13.3":0.11453,"13.4-13.7":0.25506,"14.0-14.4":5.55289,"14.5-14.6":1.51982},E:{"4":0,"12":0.04912,"13":0.03572,"14":1.73242,_:"0 5 6 7 8 9 10 11 3.1 3.2 6.1 7.1 9.1","5.1":1.08946,"10.1":0.00893,"11.1":0.03572,"12.1":0.09823,"13.1":0.33041,"14.1":0.7144},B:{"13":0.00447,"14":0.00893,"15":0.0134,"16":0.0134,"17":0.01786,"18":0.05358,"80":0.00447,"84":0.00893,"85":0.00893,"86":0.01786,"87":0.00447,"88":0.01786,"89":0.06698,"90":3.25052,"91":0.20986,_:"12 79 81 83"},P:{"4":0.37727,"5.0-5.4":0.01029,"6.2-6.4":0.03088,"7.2-7.4":0.41806,"8.2":0.0102,"9.2":0.12236,"10.1":0.10197,"11.1-11.2":0.48944,"12.0":0.16315,"13.0":0.70356,"14.0":3.36487},I:{"0":0,"3":0,"4":0.0006,"2.1":0,"2.2":0,"2.3":0,"4.1":0.0018,"4.2-4.3":0.00301,"4.4":0,"4.4.3-4.4.4":0.04994},K:{_:"0 10 11 12 11.1 11.5 12.1"},A:{"11":0.34381,_:"6 7 8 9 10 5.5"},J:{"7":0,"10":0},N:{_:"10 11"},S:{"2.5":0},R:{_:"0"},M:{"0":0.27122},Q:{"10.4":0},O:{"0":0.28229},H:{"0":0.19913},L:{"0":43.5714}}; diff --git a/tools/node_modules/@babel/core/node_modules/caniuse-lite/data/regions/PE.js b/tools/node_modules/@babel/core/node_modules/caniuse-lite/data/regions/PE.js new file mode 100644 index 00000000000000..c44fe99b3abd76 --- /dev/null +++ b/tools/node_modules/@babel/core/node_modules/caniuse-lite/data/regions/PE.js @@ -0,0 +1 @@ +module.exports={C:{"52":0.02426,"66":0.02426,"73":0.00607,"78":0.0182,"84":0.01213,"86":0.00607,"87":0.0182,"88":1.19481,"89":0.01213,_:"2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 53 54 55 56 57 58 59 60 61 62 63 64 65 67 68 69 70 71 72 74 75 76 77 79 80 81 82 83 85 90 91 3.5 3.6"},D:{"22":0.0182,"38":0.04246,"42":0.01213,"49":0.12737,"53":0.07278,"63":0.00607,"65":0.01213,"66":0.00607,"67":0.01213,"68":0.0182,"69":0.01213,"70":0.01213,"71":0.01213,"72":0.01213,"73":0.01213,"74":0.01213,"75":0.03033,"76":0.0182,"77":0.0182,"78":0.0182,"79":0.06065,"80":0.06672,"81":0.15769,"83":0.09098,"84":0.04246,"85":0.04246,"86":0.08491,"87":0.2426,"88":0.18802,"89":0.86123,"90":46.72476,"91":1.91654,"92":0.01213,_:"4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 39 40 41 43 44 45 46 47 48 50 51 52 54 55 56 57 58 59 60 61 62 64 93 94"},F:{"73":0.30932,"75":1.14629,"76":0.61257,_:"9 11 12 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 60 62 63 64 65 66 67 68 69 70 71 72 74 9.5-9.6 10.5 10.6 11.1 11.5 11.6 12.1","10.0-10.1":0},G:{"8":0,"3.2":0.00056,"4.0-4.1":0,"4.2-4.3":0,"5.0-5.1":0.0031,"6.0-6.1":0.00282,"7.0-7.1":0.00282,"8.1-8.4":0.00141,"9.0-9.2":0,"9.3":0.02932,"10.0-10.2":0.0031,"10.3":0.02284,"11.0-11.2":0.00902,"11.3-11.4":0.00874,"12.0-12.1":0.01099,"12.2-12.4":0.06315,"13.0-13.1":0.01128,"13.2":0.00536,"13.3":0.0358,"13.4-13.7":0.11164,"14.0-14.4":1.8057,"14.5-14.6":0.52522},E:{"4":0,"13":0.02426,"14":0.60044,_:"0 5 6 7 8 9 10 11 12 3.1 3.2 5.1 6.1 7.1 9.1 10.1","11.1":0.01213,"12.1":0.02426,"13.1":0.1395,"14.1":0.29112},B:{"18":0.03033,"84":0.01213,"85":0.00607,"87":0.00607,"88":0.00607,"89":0.04852,"90":2.37748,"91":0.17589,_:"12 13 14 15 16 17 79 80 81 83 86"},P:{"4":0.17344,"5.0-5.4":0.06023,"6.2-6.4":0.05019,"7.2-7.4":0.06504,"8.2":0.04015,"9.2":0.02168,"10.1":0.07027,"11.1-11.2":0.14092,"12.0":0.04336,"13.0":0.18428,"14.0":0.69377},I:{"0":0,"3":0,"4":0,"2.1":0,"2.2":0,"2.3":0,"4.1":0.00217,"4.2-4.3":0.00507,"4.4":0,"4.4.3-4.4.4":0.05574},K:{_:"0 10 11 12 11.1 11.5 12.1"},A:{"11":0.30932,_:"6 7 8 9 10 5.5"},J:{"7":0,"10":0},N:{_:"10 11"},S:{"2.5":0},R:{_:"0"},M:{"0":0.0984},Q:{"10.4":0},O:{"0":0.03542},H:{"0":0.17886},L:{"0":36.81215}}; diff --git a/tools/node_modules/@babel/core/node_modules/caniuse-lite/data/regions/PF.js b/tools/node_modules/@babel/core/node_modules/caniuse-lite/data/regions/PF.js new file mode 100644 index 00000000000000..f0cf491e3bd840 --- /dev/null +++ b/tools/node_modules/@babel/core/node_modules/caniuse-lite/data/regions/PF.js @@ -0,0 +1 @@ +module.exports={C:{"29":0.01009,"43":0.00504,"45":0.00504,"47":0.01009,"48":0.0353,"50":0.02522,"52":0.19668,"56":0.00504,"59":0.0353,"60":0.05043,"61":0.00504,"66":0.00504,"68":0.06556,"69":0.0706,"70":0.00504,"72":0.00504,"78":0.66568,"80":0.01009,"81":0.01009,"82":0.00504,"83":0.04034,"84":0.05043,"85":0.03026,"86":0.0353,"87":0.1059,"88":6.34914,"89":0.03026,_:"2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 30 31 32 33 34 35 36 37 38 39 40 41 42 44 46 49 51 53 54 55 57 58 62 63 64 65 67 71 73 74 75 76 77 79 90 91 3.5 3.6"},D:{"49":0.13616,"53":0.01009,"62":0.00504,"65":0.00504,"67":0.01513,"73":0.00504,"75":0.02017,"79":0.01009,"80":0.01009,"81":0.01009,"83":0.05043,"84":0.01513,"86":0.03026,"87":0.47404,"88":0.13112,"89":0.44883,"90":21.07974,"91":0.67072,_:"4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 50 51 52 54 55 56 57 58 59 60 61 63 64 66 68 69 70 71 72 74 76 77 78 85 92 93 94"},F:{"73":0.06052,"75":0.36814,"76":0.59003,_:"9 11 12 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 60 62 63 64 65 66 67 68 69 70 71 72 74 9.5-9.6 10.5 10.6 11.1 11.5 11.6 12.1","10.0-10.1":0},G:{"8":0.00285,"3.2":0,"4.0-4.1":0,"4.2-4.3":0,"5.0-5.1":0.00571,"6.0-6.1":0.07278,"7.0-7.1":0.00143,"8.1-8.4":0,"9.0-9.2":0.00285,"9.3":0.25831,"10.0-10.2":0.00143,"10.3":0.3154,"11.0-11.2":0.147,"11.3-11.4":0.06565,"12.0-12.1":0.32111,"12.2-12.4":0.30541,"13.0-13.1":0.05994,"13.2":0.01142,"13.3":0.46667,"13.4-13.7":0.45668,"14.0-14.4":9.22217,"14.5-14.6":1.22591},E:{"4":0,"10":0.00504,"11":0.00504,"12":0.0706,"13":0.23702,"14":5.57756,_:"0 5 6 7 8 9 3.1 3.2 5.1 6.1 7.1","9.1":0.02017,"10.1":0.04539,"11.1":0.28745,"12.1":0.48917,"13.1":1.11955,"14.1":1.23049},B:{"13":0.00504,"16":0.00504,"17":0.01009,"18":0.09582,"84":0.04539,"85":0.01513,"86":0.01513,"87":0.00504,"88":0.01009,"89":0.11599,"90":4.94718,"91":0.24206,_:"12 14 15 79 80 81 83"},P:{"4":0.09536,"5.0-5.4":0.06167,"6.2-6.4":0.0106,"7.2-7.4":0.13774,"8.2":0.0105,"9.2":0.11655,"10.1":0.02119,"11.1-11.2":0.4768,"12.0":0.07417,"13.0":1.27146,"14.0":3.42234},I:{"0":0,"3":0,"4":0,"2.1":0,"2.2":0,"2.3":0,"4.1":0,"4.2-4.3":0.00097,"4.4":0,"4.4.3-4.4.4":0.02877},K:{_:"0 10 11 12 11.1 11.5 12.1"},A:{"11":0.46396,_:"6 7 8 9 10 5.5"},J:{"7":0,"10":0},N:{"10":0.02735,"11":0.02361},S:{"2.5":0},R:{_:"0"},M:{"0":0.95174},Q:{"10.4":0.02479},O:{"0":0.61963},H:{"0":0.07039},L:{"0":31.75327}}; diff --git a/tools/node_modules/@babel/core/node_modules/caniuse-lite/data/regions/PG.js b/tools/node_modules/@babel/core/node_modules/caniuse-lite/data/regions/PG.js new file mode 100644 index 00000000000000..f4e8d9956be443 --- /dev/null +++ b/tools/node_modules/@babel/core/node_modules/caniuse-lite/data/regions/PG.js @@ -0,0 +1 @@ +module.exports={C:{"30":0.00736,"33":0.00736,"35":0.01104,"43":0.01104,"44":0.04049,"45":0.00736,"47":0.01472,"49":0.00736,"51":0.00368,"52":0.01104,"54":0.00368,"56":0.01472,"57":0.01472,"59":0.01472,"61":0.01104,"62":0.00368,"63":0.00368,"64":0.00736,"69":0.00736,"70":0.00736,"72":0.01472,"73":0.00368,"75":0.00736,"77":0.01841,"78":0.02945,"79":0.00368,"80":0.00736,"81":0.00368,"82":0.03313,"83":0.01104,"84":0.01841,"85":0.09203,"86":0.04049,"87":0.08834,"88":1.41719,"89":0.02945,_:"2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 31 32 34 36 37 38 39 40 41 42 46 48 50 53 55 58 60 65 66 67 68 71 74 76 90 91 3.5 3.6"},D:{"11":0.00736,"29":0.00368,"37":0.00736,"38":0.00368,"40":0.01472,"44":0.00368,"46":0.00368,"48":0.00736,"49":0.01104,"53":0.01104,"55":0.0589,"57":0.00736,"58":0.00368,"59":0.01472,"60":0.00368,"61":0.00368,"63":0.01104,"65":0.00736,"66":0.01104,"67":0.03681,"68":0.01841,"69":0.11779,"70":0.20246,"71":0.00736,"72":0.00736,"74":0.04049,"75":0.00736,"76":0.01472,"77":0.00736,"78":0.01104,"79":0.03313,"80":0.05153,"81":0.06994,"83":0.03313,"84":0.02945,"85":0.05153,"86":0.09939,"87":0.26135,"88":0.11411,"89":0.61841,"90":15.56695,"91":1.30307,_:"4 5 6 7 8 9 10 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 30 31 32 33 34 35 36 39 41 42 43 45 47 50 51 52 54 56 62 64 73 92 93 94"},F:{"62":0.00736,"70":0.00736,"73":0.00368,"75":0.61841,"76":1.88099,_:"9 11 12 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 60 63 64 65 66 67 68 69 71 72 74 9.5-9.6 10.5 10.6 11.1 11.5 11.6 12.1","10.0-10.1":0},G:{"8":0,"3.2":0,"4.0-4.1":0,"4.2-4.3":0,"5.0-5.1":0.00039,"6.0-6.1":0.00058,"7.0-7.1":0.00369,"8.1-8.4":0.00525,"9.0-9.2":0,"9.3":0.0871,"10.0-10.2":0.01555,"10.3":0.01828,"11.0-11.2":0.0103,"11.3-11.4":0.0175,"12.0-12.1":0.02664,"12.2-12.4":0.20414,"13.0-13.1":0.02197,"13.2":0.01089,"13.3":0.0803,"13.4-13.7":0.21406,"14.0-14.4":0.85603,"14.5-14.6":0.23486},E:{"4":0,"11":0.00736,"12":0.00736,"13":0.04417,"14":0.17669,_:"0 5 6 7 8 9 10 3.1 3.2 6.1 7.1 9.1","5.1":0.01472,"10.1":0.00368,"11.1":0.02577,"12.1":0.01104,"13.1":0.09203,"14.1":0.0589},B:{"12":0.06994,"13":0.0589,"14":0.02209,"15":0.06626,"16":0.16196,"17":0.41963,"18":0.58528,"80":0.02945,"83":0.00736,"84":0.0773,"85":0.07362,"86":0.02209,"87":0.01472,"88":0.02577,"89":0.21718,"90":2.93744,"91":0.10675,_:"79 81"},P:{"4":0.47999,"5.0-5.4":0.01021,"6.2-6.4":0.04085,"7.2-7.4":1.00083,"8.2":0.01021,"9.2":0.22468,"10.1":0.09191,"11.1-11.2":0.58212,"12.0":0.18383,"13.0":0.52084,"14.0":1.34806},I:{"0":0,"3":0,"4":0.01222,"2.1":0,"2.2":0,"2.3":0,"4.1":0.0336,"4.2-4.3":0.12218,"4.4":0,"4.4.3-4.4.4":1.02017},K:{_:"0 10 11 12 11.1 11.5 12.1"},A:{"8":0.01366,"9":0.03642,"10":0.01366,"11":0.53259,_:"6 7 5.5"},J:{"7":0,"10":0},N:{_:"10 11"},S:{"2.5":0.25912},R:{_:"0"},M:{"0":0.0948},Q:{"10.4":0.39184},O:{"0":2.00976},H:{"0":1.72919},L:{"0":57.98005}}; diff --git a/tools/node_modules/@babel/core/node_modules/caniuse-lite/data/regions/PH.js b/tools/node_modules/@babel/core/node_modules/caniuse-lite/data/regions/PH.js new file mode 100644 index 00000000000000..62d1d0adc3e57d --- /dev/null +++ b/tools/node_modules/@babel/core/node_modules/caniuse-lite/data/regions/PH.js @@ -0,0 +1 @@ +module.exports={C:{"36":0.00505,"52":0.01011,"56":0.05559,"60":0.00505,"68":0.00505,"72":0.00505,"78":0.02527,"84":0.01011,"85":0.00505,"86":0.01011,"87":0.01516,"88":0.89961,"89":0.02022,_:"2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 53 54 55 57 58 59 61 62 63 64 65 66 67 69 70 71 73 74 75 76 77 79 80 81 82 83 90 91 3.5 3.6"},D:{"34":0.01011,"38":0.04043,"39":0.00505,"47":0.02527,"49":0.05559,"53":0.04043,"55":0.01516,"58":0.01011,"63":0.01516,"64":0.00505,"65":0.01516,"66":0.01516,"67":0.02022,"68":0.01516,"69":0.02022,"70":0.01516,"71":0.02022,"72":0.02022,"73":0.02527,"74":0.04549,"75":0.04549,"76":0.08086,"77":0.04549,"78":0.06065,"79":0.08592,"80":0.08086,"81":0.07076,"83":0.16173,"84":0.07581,"85":0.09097,"86":0.32346,"87":0.60648,"88":0.47002,"89":1.33931,"90":35.89856,"91":1.20791,"92":0.03032,_:"4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 35 36 37 40 41 42 43 44 45 46 48 50 51 52 54 56 57 59 60 61 62 93 94"},F:{"29":0.00505,"36":0.01011,"46":0.00505,"73":0.1314,"75":0.44981,"76":0.26281,_:"9 11 12 15 16 17 18 19 20 21 22 23 24 25 26 27 28 30 31 32 33 34 35 37 38 39 40 41 42 43 44 45 47 48 49 50 51 52 53 54 55 56 57 58 60 62 63 64 65 66 67 68 69 70 71 72 74 9.5-9.6 10.5 10.6 11.1 11.5 11.6 12.1","10.0-10.1":0},G:{"8":0.00266,"3.2":0.00053,"4.0-4.1":0,"4.2-4.3":0.00106,"5.0-5.1":0.03513,"6.0-6.1":0.00586,"7.0-7.1":0.07771,"8.1-8.4":0.00905,"9.0-9.2":0.0165,"9.3":0.26082,"10.0-10.2":0.0165,"10.3":0.08623,"11.0-11.2":0.03779,"11.3-11.4":0.03726,"12.0-12.1":0.03886,"12.2-12.4":0.19907,"13.0-13.1":0.03194,"13.2":0.01757,"13.3":0.07984,"13.4-13.7":0.24166,"14.0-14.4":2.93449,"14.5-14.6":0.69676},E:{"4":0,"13":0.04043,"14":0.81875,_:"0 5 6 7 8 9 10 11 12 3.1 3.2 5.1 6.1 7.1 9.1","10.1":0.01011,"11.1":0.01516,"12.1":0.02527,"13.1":0.14657,"14.1":0.26786},B:{"16":0.00505,"17":0.00505,"18":0.03538,"84":0.01011,"85":0.01011,"88":0.01011,"89":0.04043,"90":2.41076,"91":0.08086,_:"12 13 14 15 79 80 81 83 86 87"},P:{"4":0.26359,"5.0-5.4":0.06023,"6.2-6.4":0.05019,"7.2-7.4":0.06504,"8.2":0.04015,"9.2":0.02197,"10.1":0.07027,"11.1-11.2":0.07688,"12.0":0.05492,"13.0":0.18671,"14.0":0.88963},I:{"0":0,"3":0,"4":0.00061,"2.1":0,"2.2":0,"2.3":0,"4.1":0.00082,"4.2-4.3":0.00205,"4.4":0,"4.4.3-4.4.4":0.05587},K:{_:"0 10 11 12 11.1 11.5 12.1"},A:{"11":0.11624,_:"6 7 8 9 10 5.5"},J:{"7":0,"10":0},N:{_:"10 11"},S:{"2.5":0},R:{_:"0"},M:{"0":0.08903},Q:{"10.4":0.00989},O:{"0":1.37993},H:{"0":0.84754},L:{"0":43.5366}}; diff --git a/tools/node_modules/@babel/core/node_modules/caniuse-lite/data/regions/PK.js b/tools/node_modules/@babel/core/node_modules/caniuse-lite/data/regions/PK.js new file mode 100644 index 00000000000000..a17dafdba92b1f --- /dev/null +++ b/tools/node_modules/@babel/core/node_modules/caniuse-lite/data/regions/PK.js @@ -0,0 +1 @@ +module.exports={C:{"4":0.0046,"43":0.0046,"47":0.0092,"50":0.0046,"51":0.0023,"52":0.03219,"56":0.0023,"68":0.0023,"72":0.0046,"78":0.01379,"79":0.0023,"80":0.0046,"81":0.0023,"82":0.0023,"83":0.0046,"84":0.02759,"85":0.0069,"86":0.0092,"87":0.01609,"88":0.97478,"89":0.04828,_:"2 3 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 44 45 46 48 49 53 54 55 57 58 59 60 61 62 63 64 65 66 67 69 70 71 73 74 75 76 77 90 91 3.5 3.6"},D:{"25":0.0023,"36":0.0046,"38":0.0046,"40":0.0069,"42":0.0046,"43":0.02989,"47":0.0023,"49":0.04828,"50":0.0023,"55":0.0023,"56":0.0115,"57":0.0023,"58":0.0046,"60":0.0023,"61":0.04138,"62":0.0046,"63":0.01609,"64":0.0092,"65":0.0069,"67":0.0069,"68":0.0069,"69":0.0092,"70":0.0069,"71":0.0069,"72":0.0069,"73":0.0069,"74":0.01609,"75":0.0115,"76":0.0115,"77":0.01379,"78":0.0115,"79":0.03219,"80":0.03219,"81":0.02989,"83":0.03908,"84":0.09656,"85":0.04368,"86":0.08047,"87":0.18852,"88":0.11725,"89":0.39543,"90":13.15488,"91":0.43221,"92":0.03449,_:"4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 26 27 28 29 30 31 32 33 34 35 37 39 41 44 45 46 48 51 52 53 54 59 66 93 94"},F:{"73":0.02299,"74":0.0023,"75":0.24369,"76":0.39313,_:"9 11 12 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 60 62 63 64 65 66 67 68 69 70 71 72 9.5-9.6 10.5 10.6 11.1 11.5 11.6 12.1","10.0-10.1":0},G:{"8":0,"3.2":0.00035,"4.0-4.1":0,"4.2-4.3":0.0007,"5.0-5.1":0.01514,"6.0-6.1":0.00387,"7.0-7.1":0.03591,"8.1-8.4":0.00246,"9.0-9.2":0.00282,"9.3":0.07428,"10.0-10.2":0.00915,"10.3":0.07146,"11.0-11.2":0.03168,"11.3-11.4":0.02992,"12.0-12.1":0.02182,"12.2-12.4":0.11018,"13.0-13.1":0.01866,"13.2":0.00845,"13.3":0.04787,"13.4-13.7":0.15489,"14.0-14.4":2.05225,"14.5-14.6":0.48824},E:{"4":0,"13":0.0092,"14":0.16783,_:"0 5 6 7 8 9 10 11 12 3.1 3.2 6.1 7.1 9.1 10.1","5.1":0.10116,"11.1":0.0046,"12.1":0.0092,"13.1":0.03908,"14.1":0.05288},B:{"12":0.0069,"13":0.0046,"14":0.0023,"15":0.0046,"16":0.0069,"17":0.0046,"18":0.02299,"84":0.0069,"85":0.0023,"88":0.0069,"89":0.01379,"90":0.65522,"91":0.0092,_:"79 80 81 83 86 87"},P:{"4":0.31732,"5.0-5.4":0.01058,"6.2-6.4":0.01058,"7.2-7.4":0.04231,"8.2":0.06183,"9.2":0.03173,"10.1":0.02115,"11.1-11.2":0.10577,"12.0":0.07404,"13.0":0.34905,"14.0":1.04716},I:{"0":0,"3":0,"4":0,"2.1":0,"2.2":0,"2.3":0,"4.1":0.00595,"4.2-4.3":0.01444,"4.4":0,"4.4.3-4.4.4":0.22601},K:{_:"0 10 11 12 11.1 11.5 12.1"},A:{"8":0.01035,"9":0.00776,"10":0.00259,"11":0.10346,_:"6 7 5.5"},J:{"7":0,"10":0},N:{_:"10 11"},S:{"2.5":0.1463},R:{_:"0"},M:{"0":0.0539},Q:{"10.4":0.0077},O:{"0":4.6354},H:{"0":1.79331},L:{"0":69.12123}}; diff --git a/tools/node_modules/@babel/core/node_modules/caniuse-lite/data/regions/PL.js b/tools/node_modules/@babel/core/node_modules/caniuse-lite/data/regions/PL.js new file mode 100644 index 00000000000000..e07d5fc155f523 --- /dev/null +++ b/tools/node_modules/@babel/core/node_modules/caniuse-lite/data/regions/PL.js @@ -0,0 +1 @@ +module.exports={C:{"45":0.0046,"48":0.023,"51":0.0046,"52":0.29434,"56":0.0092,"57":0.0046,"60":0.023,"66":0.0092,"68":0.02759,"69":0.0046,"70":0.0092,"71":0.0046,"72":0.02759,"74":0.0046,"75":0.0046,"76":0.0046,"77":0.0092,"78":0.19316,"79":0.0046,"80":0.0138,"81":0.0184,"82":0.04139,"83":0.02759,"84":0.05059,"85":0.05519,"86":0.06899,"87":0.17016,"88":7.8321,"89":0.023,_:"2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 46 47 49 50 53 54 55 58 59 61 62 63 64 65 67 73 90 91 3.5 3.6"},D:{"34":0.0092,"38":0.0046,"49":0.29894,"50":0.0092,"53":0.0092,"58":0.0138,"59":0.0046,"61":0.04139,"63":0.02759,"65":0.0092,"66":0.0092,"67":0.0092,"68":0.0046,"69":0.0092,"70":0.0092,"71":0.0138,"72":0.0092,"73":0.0092,"74":0.0092,"75":0.0184,"76":0.03219,"77":0.0092,"78":0.0138,"79":0.22995,"80":0.03219,"81":0.06899,"83":0.08738,"84":0.05979,"85":0.023,"86":0.04599,"87":0.11957,"88":0.15637,"89":0.68525,"90":21.06802,"91":0.51049,"92":0.0138,_:"4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 35 36 37 39 40 41 42 43 44 45 46 47 48 51 52 54 55 56 57 60 62 64 93 94"},F:{"36":0.03679,"52":0.0092,"72":0.0046,"73":0.66226,"74":0.02759,"75":2.60303,"76":1.8442,_:"9 11 12 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 53 54 55 56 57 58 60 62 63 64 65 66 67 68 69 70 71 9.5-9.6 10.5 10.6 11.1 11.5 12.1","10.0-10.1":0,"11.6":0.0046},G:{"8":0,"3.2":0.00033,"4.0-4.1":0,"4.2-4.3":0,"5.0-5.1":0.00098,"6.0-6.1":0.0013,"7.0-7.1":0.00163,"8.1-8.4":0,"9.0-9.2":0.00195,"9.3":0.04298,"10.0-10.2":0.00391,"10.3":0.03842,"11.0-11.2":0.01661,"11.3-11.4":0.01954,"12.0-12.1":0.01758,"12.2-12.4":0.0661,"13.0-13.1":0.01303,"13.2":0.00684,"13.3":0.04591,"13.4-13.7":0.11332,"14.0-14.4":2.27097,"14.5-14.6":0.44417},E:{"4":0,"13":0.023,"14":0.61167,_:"0 5 6 7 8 9 10 11 12 3.1 3.2 5.1 6.1 7.1 9.1 10.1","11.1":0.02759,"12.1":0.03219,"13.1":0.13337,"14.1":0.28054},B:{"14":0.0046,"15":0.0046,"16":0.0092,"17":0.023,"18":0.05059,"83":0.0046,"84":0.0046,"85":0.0092,"86":0.023,"87":0.0138,"88":0.0184,"89":0.09198,"90":3.75738,"91":0.06899,_:"12 13 79 80 81"},P:{"4":0.21489,"5.0-5.4":0.01023,"6.2-6.4":0.05019,"7.2-7.4":0.0307,"8.2":0.04015,"9.2":0.10233,"10.1":0.05116,"11.1-11.2":0.30698,"12.0":0.14326,"13.0":0.5014,"14.0":2.61958},I:{"0":0,"3":0,"4":0.00271,"2.1":0,"2.2":0,"2.3":0,"4.1":0.01864,"4.2-4.3":0.01593,"4.4":0,"4.4.3-4.4.4":0.04914},K:{_:"0 10 11 12 11.1 11.5 12.1"},A:{"11":0.21615,_:"6 7 8 9 10 5.5"},J:{"7":0,"10":0.0054},N:{_:"10 11"},S:{"2.5":0},R:{_:"0"},M:{"0":0.26465},Q:{"10.4":0},O:{"0":0.02701},H:{"0":1.29367},L:{"0":47.25143}}; diff --git a/tools/node_modules/@babel/core/node_modules/caniuse-lite/data/regions/PM.js b/tools/node_modules/@babel/core/node_modules/caniuse-lite/data/regions/PM.js new file mode 100644 index 00000000000000..821fc77c423465 --- /dev/null +++ b/tools/node_modules/@babel/core/node_modules/caniuse-lite/data/regions/PM.js @@ -0,0 +1 @@ +module.exports={C:{"29":0.02307,"31":0.20188,"40":0.03461,"52":0.05768,"56":0.17881,"64":0.01154,"75":0.03461,"78":0.05768,"84":0.02307,"86":0.15574,"87":0.15574,"88":4.85666,"89":0.01154,_:"2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 30 32 33 34 35 36 37 38 39 41 42 43 44 45 46 47 48 49 50 51 53 54 55 57 58 59 60 61 62 63 65 66 67 68 69 70 71 72 73 74 76 77 79 80 81 82 83 85 90 91 3.5 3.6"},D:{"49":0.36915,"55":0.02307,"65":0.08075,"67":0.38069,"75":0.01154,"76":0.17881,"78":0.01154,"79":0.02307,"81":0.29994,"85":0.34608,"87":0.01154,"88":0.19034,"89":0.99786,"90":20.98975,"91":0.21342,_:"4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 50 51 52 53 54 56 57 58 59 60 61 62 63 64 66 68 69 70 71 72 73 74 77 80 83 84 86 92 93 94"},F:{"73":0.90558,"75":0.74984,"76":0.2884,_:"9 11 12 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 60 62 63 64 65 66 67 68 69 70 71 72 74 9.5-9.6 10.5 10.6 11.1 11.5 11.6 12.1","10.0-10.1":0},G:{"8":0,"3.2":0,"4.0-4.1":0,"4.2-4.3":0,"5.0-5.1":0,"6.0-6.1":0,"7.0-7.1":0,"8.1-8.4":0,"9.0-9.2":0.01134,"9.3":0.04538,"10.0-10.2":0.15315,"10.3":0.19853,"11.0-11.2":0,"11.3-11.4":0,"12.0-12.1":0.03403,"12.2-12.4":1.45777,"13.0-13.1":0.05672,"13.2":0.02269,"13.3":0.23256,"13.4-13.7":0.15031,"14.0-14.4":20.42007,"14.5-14.6":4.54347},E:{"4":0,"12":0.02307,"13":0.32301,"14":6.39094,_:"0 5 6 7 8 9 10 11 3.1 3.2 5.1 6.1 7.1 9.1","10.1":0.01154,"11.1":0.47874,"12.1":0.09806,"13.1":0.66909,"14.1":2.95322},B:{"17":0.02307,"18":0.02307,"86":0.49028,"88":0.01154,"89":0.12113,"90":10.89575,"91":0.71523,_:"12 13 14 15 16 79 80 81 83 84 85 87"},P:{"4":0.05222,"5.0-5.4":0.02077,"6.2-6.4":0.05019,"7.2-7.4":0.69977,"8.2":0.03133,"9.2":0.0111,"10.1":0.03133,"11.1-11.2":0.50133,"12.0":0.19844,"13.0":0.0111,"14.0":0.97656},I:{"0":0,"3":0,"4":0,"2.1":0,"2.2":0,"2.3":0,"4.1":0,"4.2-4.3":0,"4.4":0,"4.4.3-4.4.4":0},K:{_:"0 10 11 12 11.1 11.5 12.1"},A:{"11":0.39222,_:"6 7 8 9 10 5.5"},J:{"7":0,"10":0},N:{_:"10 11"},S:{"2.5":0},R:{_:"0"},M:{"0":0.36818},Q:{"10.4":0},O:{"0":0},H:{"0":0},L:{"0":14.28459}}; diff --git a/tools/node_modules/@babel/core/node_modules/caniuse-lite/data/regions/PN.js b/tools/node_modules/@babel/core/node_modules/caniuse-lite/data/regions/PN.js new file mode 100644 index 00000000000000..653ef49f8a7513 --- /dev/null +++ b/tools/node_modules/@babel/core/node_modules/caniuse-lite/data/regions/PN.js @@ -0,0 +1 @@ +module.exports={C:{"85":2.17238,"87":2.17238,"88":1.08619,_:"2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 86 89 90 91 3.5 3.6"},D:{"81":17.39143,"89":4.34889,"90":3.25857,_:"4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 83 84 85 86 87 88 91 92 93 94"},F:{"75":2.17238,_:"9 11 12 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 60 62 63 64 65 66 67 68 69 70 71 72 73 74 76 9.5-9.6 10.5 10.6 11.1 11.5 11.6 12.1","10.0-10.1":0},G:{"8":0,"3.2":0,"4.0-4.1":0,"4.2-4.3":0,"5.0-5.1":0,"6.0-6.1":0,"7.0-7.1":0,"8.1-8.4":0,"9.0-9.2":0,"9.3":0,"10.0-10.2":0,"10.3":0,"11.0-11.2":0,"11.3-11.4":0,"12.0-12.1":0,"12.2-12.4":0,"13.0-13.1":0,"13.2":0,"13.3":0,"13.4-13.7":0,"14.0-14.4":0,"14.5-14.6":0},E:{"4":0,_:"0 5 6 7 8 9 10 11 12 13 14 3.1 3.2 5.1 6.1 7.1 9.1 10.1 11.1 12.1 13.1 14.1"},B:{"90":6.52127,_:"12 13 14 15 16 17 18 79 80 81 83 84 85 86 87 88 89 91"},P:{"4":0.26359,"5.0-5.4":0.06023,"6.2-6.4":0.05019,"7.2-7.4":0.06504,"8.2":0.04015,"9.2":0.02197,"10.1":0.07027,"11.1-11.2":0.07688,"12.0":0.05492,"13.0":0.18671,"14.0":0.88963},I:{"0":0,"3":0,"4":0,"2.1":0,"2.2":0,"2.3":0,"4.1":0,"4.2-4.3":0,"4.4":0,"4.4.3-4.4.4":0},K:{_:"0 10 11 12 11.1 11.5 12.1"},A:{_:"6 7 8 9 10 11 5.5"},J:{"7":0,"10":0},N:{_:"10 11"},S:{"2.5":0},R:{_:"0"},M:{"0":22.26112},Q:{"10.4":0},O:{"0":0},H:{"0":7.66226},L:{"0":20.38389}}; diff --git a/tools/node_modules/@babel/core/node_modules/caniuse-lite/data/regions/PR.js b/tools/node_modules/@babel/core/node_modules/caniuse-lite/data/regions/PR.js new file mode 100644 index 00000000000000..cf8b4f0d054cb0 --- /dev/null +++ b/tools/node_modules/@babel/core/node_modules/caniuse-lite/data/regions/PR.js @@ -0,0 +1 @@ +module.exports={C:{"4":0.00453,"17":0.00906,"45":0.00906,"46":0.00453,"47":0.00906,"48":0.00906,"49":0.01359,"50":0.00906,"51":0.00453,"52":0.06343,"53":0.00453,"54":0.00453,"55":0.00906,"56":0.00906,"66":0.08156,"73":0.04984,"77":0.00906,"78":0.06797,"81":0.00906,"82":0.00453,"84":0.00906,"85":0.01359,"86":0.01359,"87":0.03172,"88":1.63116,"89":0.01812,_:"2 3 5 6 7 8 9 10 11 12 13 14 15 16 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 57 58 59 60 61 62 63 64 65 67 68 69 70 71 72 74 75 76 79 80 83 90 91 3.5 3.6"},D:{"24":0.00453,"25":0.00906,"46":0.00906,"49":0.08609,"53":0.01812,"58":0.03625,"59":0.00906,"63":0.00453,"65":0.01812,"67":0.00453,"68":0.01359,"70":0.00453,"72":0.02266,"74":0.0589,"75":0.02266,"76":0.02266,"77":0.00906,"78":0.00453,"79":0.04078,"80":0.01812,"81":0.02719,"83":0.88355,"84":0.04531,"85":0.02266,"86":0.04078,"87":0.66606,"88":0.15859,"89":0.80652,"90":21.83942,"91":0.62528,"92":0.00453,_:"4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 47 48 50 51 52 54 55 56 57 60 61 62 64 66 69 71 73 93 94"},F:{"73":0.09515,"74":0.00453,"75":0.3806,"76":0.24014,_:"9 11 12 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 60 62 63 64 65 66 67 68 69 70 71 72 9.5-9.6 10.5 10.6 11.1 11.5 11.6 12.1","10.0-10.1":0},G:{"8":0,"3.2":0,"4.0-4.1":0,"4.2-4.3":0,"5.0-5.1":0,"6.0-6.1":0.00724,"7.0-7.1":0.00724,"8.1-8.4":0.00482,"9.0-9.2":0,"9.3":0.10372,"10.0-10.2":0.00965,"10.3":0.0989,"11.0-11.2":0.12061,"11.3-11.4":0.07236,"12.0-12.1":0.03859,"12.2-12.4":0.17367,"13.0-13.1":0.08201,"13.2":0.05548,"13.3":0.26292,"13.4-13.7":0.70676,"14.0-14.4":18.16099,"14.5-14.6":3.74846},E:{"4":0,"11":0.00906,"12":0.00906,"13":0.14952,"14":4.03712,_:"0 5 6 7 8 9 10 3.1 3.2 6.1 7.1","5.1":0.02719,"9.1":0.00906,"10.1":0.03625,"11.1":0.09062,"12.1":0.11781,"13.1":0.68871,"14.1":1.72178},B:{"14":0.00453,"15":0.00453,"16":0.00453,"17":0.02719,"18":0.14952,"80":0.00453,"84":0.00906,"85":0.02266,"86":0.00906,"87":0.01812,"88":0.02266,"89":0.14499,"90":6.25278,"91":0.37154,_:"12 13 79 81 83"},P:{"4":0.14491,"5.0-5.4":0.01023,"6.2-6.4":0.05019,"7.2-7.4":0.0414,"8.2":0.04015,"9.2":0.12421,"10.1":0.05116,"11.1-11.2":0.17597,"12.0":0.09316,"13.0":0.51755,"14.0":2.85688},I:{"0":0,"3":0,"4":0.00075,"2.1":0,"2.2":0,"2.3":0,"4.1":0,"4.2-4.3":0.00075,"4.4":0,"4.4.3-4.4.4":0.02037},K:{_:"0 10 11 12 11.1 11.5 12.1"},A:{"11":0.36701,_:"6 7 8 9 10 5.5"},J:{"7":0,"10":0},N:{_:"10 11"},S:{"2.5":0},R:{_:"0"},M:{"0":0.33908},Q:{"10.4":0},O:{"0":0.03828},H:{"0":0.18122},L:{"0":28.32079}}; diff --git a/tools/node_modules/@babel/core/node_modules/caniuse-lite/data/regions/PS.js b/tools/node_modules/@babel/core/node_modules/caniuse-lite/data/regions/PS.js new file mode 100644 index 00000000000000..1b1c8616b194a3 --- /dev/null +++ b/tools/node_modules/@babel/core/node_modules/caniuse-lite/data/regions/PS.js @@ -0,0 +1 @@ +module.exports={C:{"17":0.01138,"52":0.02655,"58":0.00379,"78":0.01897,"79":0.00379,"80":0.00379,"81":0.00759,"82":0.00379,"84":0.00759,"85":0.01138,"86":0.01138,"87":0.01897,"88":1.36169,"89":0.01897,_:"2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 53 54 55 56 57 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 83 90 91 3.5 3.6"},D:{"23":0.00759,"24":0.00759,"25":0.00379,"38":0.03034,"43":0.00759,"49":0.03034,"51":0.00379,"53":0.04552,"58":0.00379,"63":0.01517,"65":0.01897,"68":0.00759,"69":0.03414,"70":0.00379,"71":0.01897,"72":0.01138,"74":0.00759,"75":0.01138,"76":0.00379,"77":0.20103,"78":0.01897,"79":0.21999,"80":0.03793,"81":0.03414,"83":0.03414,"84":0.06448,"85":0.06069,"86":0.06448,"87":0.20482,"88":0.14793,"89":1.191,"90":25.31828,"91":1.25548,"92":0.03414,_:"4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 26 27 28 29 30 31 32 33 34 35 36 37 39 40 41 42 44 45 46 47 48 50 52 54 55 56 57 59 60 61 62 64 66 67 73 93 94"},F:{"73":0.0531,"75":0.40964,"76":0.60688,_:"9 11 12 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 60 62 63 64 65 66 67 68 69 70 71 72 74 9.5-9.6 10.5 10.6 11.1 11.5 11.6 12.1","10.0-10.1":0},G:{"8":0,"3.2":0,"4.0-4.1":0,"4.2-4.3":0,"5.0-5.1":0.34093,"6.0-6.1":0.0044,"7.0-7.1":0.05726,"8.1-8.4":0.00352,"9.0-9.2":0.00176,"9.3":0.05814,"10.0-10.2":0.02819,"10.3":0.03612,"11.0-11.2":0.02467,"11.3-11.4":0.04229,"12.0-12.1":0.02907,"12.2-12.4":0.14183,"13.0-13.1":0.02467,"13.2":0.00705,"13.3":0.10924,"13.4-13.7":0.30833,"14.0-14.4":5.62043,"14.5-14.6":1.48703},E:{"4":0,"13":0.03793,"14":0.63722,_:"0 5 6 7 8 9 10 11 12 3.1 3.2 6.1 7.1 9.1","5.1":0.08345,"10.1":0.00379,"11.1":0.02276,"12.1":0.01138,"13.1":0.09103,"14.1":0.2162},B:{"13":0.00759,"15":0.00759,"16":0.01138,"17":0.01517,"18":0.0531,"84":0.01138,"85":0.01517,"86":0.00759,"87":0.00759,"88":0.00379,"89":0.04552,"90":1.84719,"91":0.16689,_:"12 14 79 80 81 83"},P:{"4":0.08235,"5.0-5.4":0.01029,"6.2-6.4":0.03088,"7.2-7.4":0.06176,"8.2":0.06183,"9.2":0.06176,"10.1":0.03088,"11.1-11.2":0.25733,"12.0":0.21616,"13.0":0.42202,"14.0":2.01748},I:{"0":0,"3":0,"4":0,"2.1":0,"2.2":0,"2.3":0,"4.1":0.00134,"4.2-4.3":0.00468,"4.4":0,"4.4.3-4.4.4":0.10572},K:{_:"0 10 11 12 11.1 11.5 12.1"},A:{"6":0.01138,"8":0.00759,"11":0.17069,_:"7 9 10 5.5"},J:{"7":0,"10":0},N:{_:"10 11"},S:{"2.5":0},R:{_:"0"},M:{"0":0.13658},Q:{"10.4":0},O:{"0":0.09933},H:{"0":0.41141},L:{"0":52.15843}}; diff --git a/tools/node_modules/@babel/core/node_modules/caniuse-lite/data/regions/PT.js b/tools/node_modules/@babel/core/node_modules/caniuse-lite/data/regions/PT.js new file mode 100644 index 00000000000000..e2279cc94c0ddd --- /dev/null +++ b/tools/node_modules/@babel/core/node_modules/caniuse-lite/data/regions/PT.js @@ -0,0 +1 @@ +module.exports={C:{"40":0.0065,"52":0.05199,"56":0.026,"60":0.0065,"68":0.0065,"72":0.013,"78":0.11698,"80":0.0065,"82":0.0065,"83":0.0195,"84":0.0195,"85":0.026,"86":0.0195,"87":0.05849,"88":3.45747,"89":0.026,_:"2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 41 42 43 44 45 46 47 48 49 50 51 53 54 55 57 58 59 61 62 63 64 65 66 67 69 70 71 73 74 75 76 77 79 81 90 91 3.5 3.6"},D:{"23":0.03899,"38":0.013,"43":0.69539,"49":0.26646,"53":0.026,"61":0.06499,"62":0.013,"63":0.0195,"65":0.0195,"67":0.013,"68":0.013,"69":0.013,"70":0.0065,"71":0.0195,"72":0.0065,"73":0.013,"74":0.013,"75":0.0195,"76":0.026,"77":0.013,"78":0.013,"79":0.05849,"80":0.03899,"81":0.0325,"83":0.05199,"84":0.05199,"85":0.08449,"86":0.09099,"87":0.26646,"88":0.22747,"89":0.87737,"90":40.07933,"91":1.47527,"92":0.013,_:"4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 24 25 26 27 28 29 30 31 32 33 34 35 36 37 39 40 41 42 44 45 46 47 48 50 51 52 54 55 56 57 58 59 60 64 66 93 94"},F:{"36":0.0065,"73":0.40294,"75":1.38429,"76":0.74089,_:"9 11 12 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 60 62 63 64 65 66 67 68 69 70 71 72 74 9.5-9.6 10.5 10.6 11.1 11.5 11.6 12.1","10.0-10.1":0},G:{"8":0.00085,"3.2":0,"4.0-4.1":0,"4.2-4.3":0,"5.0-5.1":0.0051,"6.0-6.1":0.00085,"7.0-7.1":0.00425,"8.1-8.4":0.0051,"9.0-9.2":0.00255,"9.3":0.09772,"10.0-10.2":0.00255,"10.3":0.10027,"11.0-11.2":0.03739,"11.3-11.4":0.02634,"12.0-12.1":0.01954,"12.2-12.4":0.10197,"13.0-13.1":0.02889,"13.2":0.0119,"13.3":0.07138,"13.4-13.7":0.28211,"14.0-14.4":5.96944,"14.5-14.6":1.3086},E:{"4":0,"12":0.026,"13":0.07149,"14":2.00819,_:"0 5 6 7 8 9 10 11 3.1 3.2 6.1 7.1 9.1","5.1":0.0195,"10.1":0.05849,"11.1":0.07799,"12.1":0.07799,"13.1":0.40944,"14.1":0.91636},B:{"14":0.0065,"15":0.0065,"16":0.0065,"17":0.013,"18":0.04549,"84":0.013,"85":0.0065,"86":0.013,"87":0.03899,"88":0.0065,"89":0.08449,"90":5.38117,"91":0.53292,_:"12 13 79 80 81 83"},P:{"4":0.05353,"5.0-5.4":0.01023,"6.2-6.4":0.05019,"7.2-7.4":0.0307,"8.2":0.04015,"9.2":0.01071,"10.1":0.05116,"11.1-11.2":0.04283,"12.0":0.03212,"13.0":0.1606,"14.0":1.54174},I:{"0":0,"3":0,"4":0,"2.1":0,"2.2":0,"2.3":0,"4.1":0.00194,"4.2-4.3":0.00679,"4.4":0,"4.4.3-4.4.4":0.05429},K:{_:"0 10 11 12 11.1 11.5 12.1"},A:{"9":0.00688,"11":0.81199,_:"6 7 8 10 5.5"},J:{"7":0,"10":0},N:{_:"10 11"},S:{"2.5":0},R:{_:"0"},M:{"0":0.21006},Q:{"10.4":0},O:{"0":0.22406},H:{"0":0.19224},L:{"0":25.87219}}; diff --git a/tools/node_modules/@babel/core/node_modules/caniuse-lite/data/regions/PW.js b/tools/node_modules/@babel/core/node_modules/caniuse-lite/data/regions/PW.js new file mode 100644 index 00000000000000..dd41a03ec3ac3d --- /dev/null +++ b/tools/node_modules/@babel/core/node_modules/caniuse-lite/data/regions/PW.js @@ -0,0 +1 @@ +module.exports={C:{"72":0.0729,"79":0.09862,"87":0.06432,"88":1.5737,"89":0.03859,_:"2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 73 74 75 76 77 78 80 81 82 83 84 85 86 90 91 3.5 3.6"},D:{"48":0.22298,"53":0.05574,"65":0.1415,"67":0.06432,"68":0.01715,"70":0.20154,"75":0.01286,"76":0.26157,"78":0.06432,"79":0.06003,"81":0.03002,"83":0.04717,"84":0.02144,"86":0.01715,"87":0.52742,"88":0.35162,"89":0.75898,"90":26.9072,"91":0.48026,_:"4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 49 50 51 52 54 55 56 57 58 59 60 61 62 63 64 66 69 71 72 73 74 77 80 85 92 93 94"},F:{"76":0.29158,_:"9 11 12 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 60 62 63 64 65 66 67 68 69 70 71 72 73 74 75 9.5-9.6 10.5 10.6 11.1 11.5 11.6 12.1","10.0-10.1":0},G:{"8":0,"3.2":0,"4.0-4.1":0,"4.2-4.3":0,"5.0-5.1":0,"6.0-6.1":0,"7.0-7.1":0.06526,"8.1-8.4":0,"9.0-9.2":0,"9.3":0.00332,"10.0-10.2":0,"10.3":0,"11.0-11.2":0.1648,"11.3-11.4":0.43688,"12.0-12.1":0.00995,"12.2-12.4":0.06083,"13.0-13.1":0.00995,"13.2":0.00664,"13.3":0.00332,"13.4-13.7":0.31632,"14.0-14.4":8.28634,"14.5-14.6":1.33497},E:{"4":0,"12":0.09005,"13":0.0729,"14":1.94246,_:"0 5 6 7 8 9 10 11 3.1 3.2 5.1 6.1 7.1 9.1 10.1","11.1":0.02573,"12.1":0.24013,"13.1":0.11578,"14.1":0.3216},B:{"17":0.00858,"18":0.04717,"80":0.01715,"88":0.00858,"89":0.07718,"90":2.55136,"91":0.1072,_:"12 13 14 15 16 79 81 83 84 85 86 87"},P:{"4":0.31732,"5.0-5.4":0.01058,"6.2-6.4":0.05078,"7.2-7.4":0.3656,"8.2":0.06183,"9.2":0.07109,"10.1":0.02115,"11.1-11.2":0.15233,"12.0":0.44684,"13.0":0.62964,"14.0":6.7432},I:{"0":0,"3":0,"4":0,"2.1":0,"2.2":0,"2.3":0,"4.1":0,"4.2-4.3":0,"4.4":0,"4.4.3-4.4.4":0.00571},K:{_:"0 10 11 12 11.1 11.5 12.1"},A:{"11":0.38592,_:"6 7 8 9 10 5.5"},J:{"7":0,"10":0},N:{_:"10 11"},S:{"2.5":0},R:{_:"0"},M:{"0":0.05141},Q:{"10.4":2.46758},O:{"0":0.94819},H:{"0":0.11356},L:{"0":38.59851}}; diff --git a/tools/node_modules/@babel/core/node_modules/caniuse-lite/data/regions/PY.js b/tools/node_modules/@babel/core/node_modules/caniuse-lite/data/regions/PY.js new file mode 100644 index 00000000000000..ed978bfc51dd29 --- /dev/null +++ b/tools/node_modules/@babel/core/node_modules/caniuse-lite/data/regions/PY.js @@ -0,0 +1 @@ +module.exports={C:{"17":0.00551,"38":0.00551,"52":0.03028,"60":0.00275,"65":0.00551,"68":0.00826,"73":0.05781,"77":0.00275,"78":0.02478,"80":0.01101,"81":0.00275,"82":0.02202,"84":0.01101,"85":0.01377,"86":0.00551,"87":0.02478,"88":1.34897,"89":0.01101,_:"2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 39 40 41 42 43 44 45 46 47 48 49 50 51 53 54 55 56 57 58 59 61 62 63 64 66 67 69 70 71 72 74 75 76 79 83 90 91 3.5 3.6"},D:{"38":0.00275,"39":0.00275,"41":0.00275,"44":0.00275,"47":0.01652,"49":0.17344,"53":0.01652,"54":0.00551,"58":0.00551,"63":0.00275,"64":0.00275,"65":0.01927,"66":0.00551,"67":0.00551,"68":0.00551,"69":0.01927,"70":0.00551,"71":0.00551,"72":0.00551,"73":0.00551,"74":0.01101,"75":0.01652,"76":0.00826,"77":0.00826,"78":0.01927,"79":0.05781,"80":0.01652,"81":0.03854,"83":0.0413,"84":0.02753,"85":0.01927,"86":0.03579,"87":0.12389,"88":0.40744,"89":0.44599,"90":18.08446,"91":0.78461,"92":0.00551,_:"4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 40 42 43 45 46 48 50 51 52 55 56 57 59 60 61 62 93 94"},F:{"73":0.19271,"75":0.53133,"76":0.26704,_:"9 11 12 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 60 62 63 64 65 66 67 68 69 70 71 72 74 9.5-9.6 10.5 10.6 11.1 11.5 11.6 12.1","10.0-10.1":0},G:{"8":0,"3.2":0.00272,"4.0-4.1":0,"4.2-4.3":0,"5.0-5.1":0.00453,"6.0-6.1":0.00317,"7.0-7.1":0.01677,"8.1-8.4":0,"9.0-9.2":0.00181,"9.3":0.0272,"10.0-10.2":0.00227,"10.3":0.02267,"11.0-11.2":0.01541,"11.3-11.4":0.02312,"12.0-12.1":0.01133,"12.2-12.4":0.06574,"13.0-13.1":0.00997,"13.2":0.00544,"13.3":0.03038,"13.4-13.7":0.13828,"14.0-14.4":3.04432,"14.5-14.6":0.79202},E:{"4":0,"13":0.01101,"14":0.33311,_:"0 5 6 7 8 9 10 11 12 3.1 3.2 6.1 7.1 9.1 10.1","5.1":0.60841,"11.1":0.00551,"12.1":0.00826,"13.1":0.0468,"14.1":0.17069},B:{"14":0.00551,"15":0.00275,"17":0.00826,"18":0.03579,"80":0.00275,"84":0.00551,"85":0.00551,"88":0.00551,"89":0.03028,"90":1.35998,"91":0.11287,_:"12 13 16 79 81 83 86 87"},P:{"4":0.58222,"5.0-5.4":0.06023,"6.2-6.4":0.05019,"7.2-7.4":0.53203,"8.2":0.04015,"9.2":0.16061,"10.1":0.07027,"11.1-11.2":0.51195,"12.0":0.26099,"13.0":1.11425,"14.0":2.92113},I:{"0":0,"3":0,"4":0,"2.1":0,"2.2":0,"2.3":0,"4.1":0.00852,"4.2-4.3":0.01193,"4.4":0,"4.4.3-4.4.4":0.12446},K:{_:"0 10 11 12 11.1 11.5 12.1"},A:{"8":0.00282,"9":0.01129,"11":0.32451,_:"6 7 10 5.5"},J:{"7":0,"10":0},N:{_:"10 11"},S:{"2.5":0},R:{_:"0"},M:{"0":0.07246},Q:{"10.4":0},O:{"0":0.0942},H:{"0":0.2744},L:{"0":62.34439}}; diff --git a/tools/node_modules/@babel/core/node_modules/caniuse-lite/data/regions/QA.js b/tools/node_modules/@babel/core/node_modules/caniuse-lite/data/regions/QA.js new file mode 100644 index 00000000000000..fdda995c09004e --- /dev/null +++ b/tools/node_modules/@babel/core/node_modules/caniuse-lite/data/regions/QA.js @@ -0,0 +1 @@ +module.exports={C:{"38":0.08372,"52":0.00966,"56":0.00322,"60":0.00644,"74":0.00322,"78":0.04508,"82":0.00644,"84":0.01288,"85":0.00322,"86":0.00644,"87":0.02254,"88":0.77602,"89":0.01932,_:"2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 39 40 41 42 43 44 45 46 47 48 49 50 51 53 54 55 57 58 59 61 62 63 64 65 66 67 68 69 70 71 72 73 75 76 77 79 80 81 83 90 91 3.5 3.6"},D:{"34":0.00644,"38":0.02898,"41":0.00644,"49":0.06118,"53":0.02898,"56":0.00966,"58":0.00322,"60":0.00322,"63":0.00322,"65":0.01288,"66":0.00322,"67":0.00966,"68":0.01288,"69":0.00966,"70":0.00644,"71":0.00322,"73":0.00966,"74":0.01932,"75":0.01932,"76":0.00966,"77":0.00644,"78":0.00644,"79":0.0322,"80":0.0161,"81":0.02254,"83":0.04186,"84":0.0644,"85":0.0322,"86":0.10304,"87":0.14168,"88":0.11914,"89":0.62468,"90":19.63234,"91":0.80178,"92":0.02254,_:"4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 35 36 37 39 40 42 43 44 45 46 47 48 50 51 52 54 55 57 59 61 62 64 72 93 94"},F:{"46":0.00966,"73":0.07406,"75":0.29302,"76":0.24794,_:"9 11 12 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 47 48 49 50 51 52 53 54 55 56 57 58 60 62 63 64 65 66 67 68 69 70 71 72 74 9.5-9.6 10.5 10.6 11.1 11.5 11.6 12.1","10.0-10.1":0},G:{"8":0.00136,"3.2":0,"4.0-4.1":0,"4.2-4.3":0,"5.0-5.1":0.01092,"6.0-6.1":0,"7.0-7.1":0.0191,"8.1-8.4":0,"9.0-9.2":0,"9.3":0.06687,"10.0-10.2":0.00273,"10.3":0.03685,"11.0-11.2":0.03821,"11.3-11.4":0.02729,"12.0-12.1":0.02047,"12.2-12.4":0.06823,"13.0-13.1":0.03002,"13.2":0.01228,"13.3":0.14329,"13.4-13.7":0.4244,"14.0-14.4":8.84284,"14.5-14.6":3.44707},E:{"4":0,"10":0.00322,"11":0.00322,"12":0.00644,"13":0.05796,"14":1.7388,_:"0 5 6 7 8 9 3.1 3.2 6.1 7.1 9.1","5.1":0.00966,"10.1":0.0161,"11.1":0.02898,"12.1":0.06118,"13.1":0.21896,"14.1":0.57316},B:{"14":0.00644,"15":0.00322,"16":0.00966,"17":0.0161,"18":0.05152,"80":0.00322,"84":0.01288,"85":0.01288,"86":0.00322,"87":0.01288,"88":0.00644,"89":0.07084,"90":2.23468,"91":0.19642,_:"12 13 79 81 83"},P:{"4":0.09251,"5.0-5.4":0.01023,"6.2-6.4":0.05019,"7.2-7.4":0.05139,"8.2":0.04015,"9.2":0.03084,"10.1":0.01028,"11.1-11.2":0.19529,"12.0":0.09251,"13.0":0.30836,"14.0":2.38462},I:{"0":0,"3":0,"4":0,"2.1":0,"2.2":0,"2.3":0,"4.1":0.00542,"4.2-4.3":0,"4.4":0,"4.4.3-4.4.4":0.02169},K:{_:"0 10 11 12 11.1 11.5 12.1"},A:{"11":0.39606,_:"6 7 8 9 10 5.5"},J:{"7":0,"10":0},N:{_:"10 11"},S:{"2.5":0},R:{_:"0"},M:{"0":0.11524},Q:{"10.4":0},O:{"0":6.28413},H:{"0":1.05896},L:{"0":46.40478}}; diff --git a/tools/node_modules/@babel/core/node_modules/caniuse-lite/data/regions/RE.js b/tools/node_modules/@babel/core/node_modules/caniuse-lite/data/regions/RE.js new file mode 100644 index 00000000000000..d82827c57ea873 --- /dev/null +++ b/tools/node_modules/@babel/core/node_modules/caniuse-lite/data/regions/RE.js @@ -0,0 +1 @@ +module.exports={C:{"47":0.0051,"48":0.0153,"49":0.08158,"52":0.07139,"54":0.0153,"55":0.0153,"56":0.0153,"57":0.0051,"59":0.0204,"60":0.03569,"61":0.03059,"66":0.0051,"67":0.04079,"68":0.03569,"72":0.03059,"77":0.03059,"78":0.68837,"80":0.0051,"82":0.0102,"84":0.03569,"85":0.0255,"86":0.03569,"87":0.13257,"88":5.67519,"89":0.0102,_:"2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 50 51 53 58 62 63 64 65 69 70 71 73 74 75 76 79 81 83 90 91 3.5 3.6"},D:{"48":0.0153,"49":0.21926,"50":0.0255,"53":0.0153,"54":0.0255,"56":0.07649,"60":0.0153,"61":0.0153,"62":0.0102,"63":0.0153,"65":0.08158,"67":0.0102,"68":0.05099,"69":0.0051,"70":0.0255,"71":0.0051,"75":0.0204,"76":0.0051,"77":0.0051,"78":0.0102,"79":0.03569,"80":0.0204,"81":0.0255,"83":0.0255,"84":0.03569,"85":0.03059,"86":0.03569,"87":0.40282,"88":0.11218,"89":0.64757,"90":24.71485,"91":0.92802,_:"4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 51 52 55 57 58 59 64 66 72 73 74 92 93 94"},F:{"73":0.19376,"75":0.60678,"76":0.54559,_:"9 11 12 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 60 62 63 64 65 66 67 68 69 70 71 72 74 9.5-9.6 10.5 10.6 11.1 11.5 11.6 12.1","10.0-10.1":0},G:{"8":0,"3.2":0,"4.0-4.1":0,"4.2-4.3":0,"5.0-5.1":0,"6.0-6.1":0,"7.0-7.1":0.00617,"8.1-8.4":0,"9.0-9.2":0.00988,"9.3":0.22963,"10.0-10.2":0.01481,"10.3":0.16543,"11.0-11.2":0.04321,"11.3-11.4":0.02963,"12.0-12.1":0.05679,"12.2-12.4":0.14568,"13.0-13.1":0.02716,"13.2":0.01111,"13.3":0.11111,"13.4-13.7":0.40618,"14.0-14.4":8.62727,"14.5-14.6":1.78521},E:{"4":0,"10":0.0153,"11":0.0102,"12":0.0153,"13":0.13767,"14":2.87584,_:"0 5 6 7 8 9 3.1 3.2 5.1 6.1 7.1 9.1","10.1":0.04079,"11.1":0.19376,"12.1":0.22946,"13.1":0.80564,"14.1":1.05039},B:{"14":0.03569,"15":0.0204,"16":0.0255,"17":0.10708,"18":0.11218,"84":0.0051,"85":0.0153,"86":0.0102,"87":0.0102,"88":0.0153,"89":0.13257,"90":4.87464,"91":0.35693,_:"12 13 79 80 81 83"},P:{"4":0.17825,"5.0-5.4":0.01023,"6.2-6.4":0.05019,"7.2-7.4":0.06291,"8.2":0.04015,"9.2":0.0734,"10.1":0.01049,"11.1-11.2":0.4928,"12.0":0.08388,"13.0":0.39843,"14.0":2.98823},I:{"0":0,"3":0,"4":0,"2.1":0,"2.2":0,"2.3":0,"4.1":0.00326,"4.2-4.3":0.00109,"4.4":0,"4.4.3-4.4.4":0.04957},K:{_:"0 10 11 12 11.1 11.5 12.1"},A:{"9":0.0102,"11":0.23455,_:"6 7 8 10 5.5"},J:{"7":0,"10":0},N:{_:"10 11"},S:{"2.5":0},R:{_:"0"},M:{"0":0.35287},Q:{"10.4":0},O:{"0":0.45579},H:{"0":0.22272},L:{"0":34.65546}}; diff --git a/tools/node_modules/@babel/core/node_modules/caniuse-lite/data/regions/RO.js b/tools/node_modules/@babel/core/node_modules/caniuse-lite/data/regions/RO.js new file mode 100644 index 00000000000000..30dcff2d17af6c --- /dev/null +++ b/tools/node_modules/@babel/core/node_modules/caniuse-lite/data/regions/RO.js @@ -0,0 +1 @@ +module.exports={C:{"29":0.0045,"38":0.009,"43":0.009,"44":0.03598,"45":0.009,"48":0.0045,"52":0.12594,"56":0.0045,"59":0.0045,"60":0.009,"61":0.009,"62":0.0045,"65":0.01349,"66":0.0045,"68":0.009,"70":0.01349,"72":0.009,"77":0.0045,"78":0.11695,"80":0.0045,"81":0.009,"82":0.009,"83":0.009,"84":0.02249,"85":0.01799,"86":0.02699,"87":0.06747,"88":3.29254,"89":0.02699,_:"2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 30 31 32 33 34 35 36 37 39 40 41 42 46 47 49 50 51 53 54 55 57 58 63 64 67 69 71 73 74 75 76 79 90 91 3.5 3.6"},D:{"38":0.009,"47":0.009,"48":0.06747,"49":0.35534,"51":0.0045,"53":0.02699,"60":0.34185,"61":0.16643,"63":0.0045,"65":0.009,"66":0.0045,"67":0.06747,"68":0.01349,"69":0.12145,"70":0.01799,"71":0.03149,"72":0.009,"73":0.009,"74":0.01349,"75":0.01799,"76":0.02699,"77":0.01799,"78":0.01799,"79":0.04948,"80":0.03598,"81":0.06297,"83":0.05398,"84":0.04048,"85":0.04048,"86":0.06297,"87":0.2249,"88":0.15743,"89":0.6837,"90":28.90865,"91":0.93109,"92":0.01349,_:"4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 39 40 41 42 43 44 45 46 50 52 54 55 56 57 58 59 62 64 93 94"},F:{"36":0.009,"68":0.0045,"73":0.2339,"74":0.009,"75":1.05253,"76":1.20097,_:"9 11 12 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 60 62 63 64 65 66 67 69 70 71 72 9.5-9.6 10.5 10.6 11.1 11.5 11.6 12.1","10.0-10.1":0},G:{"8":0,"3.2":0.0191,"4.0-4.1":0,"4.2-4.3":0,"5.0-5.1":0.07539,"6.0-6.1":0,"7.0-7.1":0.00503,"8.1-8.4":0.00704,"9.0-9.2":0.00302,"9.3":0.04423,"10.0-10.2":0.00603,"10.3":0.04925,"11.0-11.2":0.03217,"11.3-11.4":0.03418,"12.0-12.1":0.03317,"12.2-12.4":0.13067,"13.0-13.1":0.04423,"13.2":0.0201,"13.3":0.11057,"13.4-13.7":0.35483,"14.0-14.4":7.04431,"14.5-14.6":1.74902},E:{"4":0,"9":0.009,"13":0.03598,"14":0.59823,_:"0 5 6 7 8 10 11 12 3.1 3.2 5.1 6.1 7.1 9.1 10.1","11.1":0.02249,"12.1":0.04048,"13.1":0.11695,"14.1":0.28337},B:{"15":0.0045,"16":0.0045,"17":0.009,"18":0.04048,"84":0.02699,"85":0.009,"86":0.0045,"87":0.0045,"88":0.009,"89":0.04948,"90":2.20402,"91":0.08996,_:"12 13 14 79 80 81 83"},P:{"4":0.15347,"5.0-5.4":0.01023,"6.2-6.4":0.05019,"7.2-7.4":0.02046,"8.2":0.04015,"9.2":0.07162,"10.1":0.04093,"11.1-11.2":0.27624,"12.0":0.17393,"13.0":0.56272,"14.0":3.63209},I:{"0":0,"3":0,"4":0,"2.1":0,"2.2":0,"2.3":0,"4.1":0.00299,"4.2-4.3":0.01944,"4.4":0,"4.4.3-4.4.4":0.11514},K:{_:"0 10 11 12 11.1 11.5 12.1"},A:{"8":0.00934,"9":0.00934,"11":0.47611,_:"6 7 10 5.5"},J:{"7":0,"10":0},N:{_:"10 11"},S:{"2.5":0},R:{_:"0"},M:{"0":0.23663},Q:{"10.4":0},O:{"0":0.25314},H:{"0":0.45326},L:{"0":40.58818}}; diff --git a/tools/node_modules/@babel/core/node_modules/caniuse-lite/data/regions/RS.js b/tools/node_modules/@babel/core/node_modules/caniuse-lite/data/regions/RS.js new file mode 100644 index 00000000000000..120698964db49b --- /dev/null +++ b/tools/node_modules/@babel/core/node_modules/caniuse-lite/data/regions/RS.js @@ -0,0 +1 @@ +module.exports={C:{"48":0.01619,"49":0.00809,"50":0.10522,"51":0.00405,"52":0.23877,"54":0.00405,"56":0.01214,"57":0.00405,"58":0.01214,"59":0.00405,"60":0.02024,"61":0.00809,"65":0.00809,"66":0.01214,"67":0.00809,"68":0.02428,"69":0.00809,"70":0.01214,"71":0.00405,"72":0.02024,"73":0.02024,"74":0.00405,"75":0.00405,"76":0.00809,"78":0.08499,"79":0.00809,"80":0.01214,"81":0.01619,"82":0.02024,"83":0.02024,"84":0.04047,"85":0.02024,"86":0.05666,"87":0.07285,"88":5.14778,"89":0.07689,_:"2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 53 55 62 63 64 77 90 91 3.5 3.6"},D:{"22":0.00809,"26":0.00405,"34":0.01214,"38":0.03238,"47":0.00809,"48":0.00405,"49":0.4735,"52":0.00405,"53":0.05666,"55":0.00405,"56":0.00809,"57":0.01214,"58":0.00809,"59":0.00405,"61":0.10927,"62":0.00405,"63":0.01214,"64":0.00405,"65":0.00809,"66":0.00405,"67":0.02024,"68":0.02428,"69":0.01214,"70":0.02428,"71":0.01214,"72":0.00809,"73":0.02024,"74":0.02833,"75":0.02428,"76":0.01214,"77":0.02833,"78":0.02428,"79":0.0688,"80":0.04452,"81":0.03642,"83":0.05261,"84":0.05261,"85":0.05666,"86":0.10118,"87":0.16593,"88":0.18212,"89":0.73251,"90":23.65472,"91":0.73251,"92":0.01214,_:"4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 23 24 25 27 28 29 30 31 32 33 35 36 37 39 40 41 42 43 44 45 46 50 51 54 60 93 94"},F:{"36":0.03642,"73":0.09308,"74":0.00809,"75":0.84582,"76":1.4205,_:"9 11 12 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 60 62 63 64 65 66 67 68 69 70 71 72 9.5-9.6 10.5 10.6 11.1 11.5 12.1","10.0-10.1":0,"11.6":0.00405},G:{"8":0,"3.2":0,"4.0-4.1":0,"4.2-4.3":0,"5.0-5.1":0.01187,"6.0-6.1":0.00519,"7.0-7.1":0.02449,"8.1-8.4":0.01929,"9.0-9.2":0.00816,"9.3":0.08014,"10.0-10.2":0.01187,"10.3":0.08682,"11.0-11.2":0.03265,"11.3-11.4":0.07272,"12.0-12.1":0.03265,"12.2-12.4":0.1729,"13.0-13.1":0.02746,"13.2":0.01113,"13.3":0.09647,"13.4-13.7":0.33244,"14.0-14.4":5.07046,"14.5-14.6":0.83852},E:{"4":0,"11":0.00405,"13":0.02024,"14":0.36018,_:"0 5 6 7 8 9 10 12 3.1 3.2 5.1 6.1 7.1 9.1","10.1":0.00809,"11.1":0.01214,"12.1":0.02428,"13.1":0.10522,"14.1":0.19021},B:{"14":0.01214,"15":0.00405,"17":0.01214,"18":0.04452,"84":0.00809,"85":0.00405,"86":0.00809,"88":0.00405,"89":0.02833,"90":1.28695,"91":0.06071,_:"12 13 16 79 80 81 83 87"},P:{"4":0.09265,"5.0-5.4":0.02072,"6.2-6.4":0.0305,"7.2-7.4":0.01029,"8.2":0.01036,"9.2":0.05147,"10.1":0.04118,"11.1-11.2":0.21618,"12.0":0.11324,"13.0":0.43236,"14.0":3.2633},I:{"0":0,"3":0,"4":0,"2.1":0,"2.2":0,"2.3":0,"4.1":0.00265,"4.2-4.3":0.01194,"4.4":0,"4.4.3-4.4.4":0.0628},K:{_:"0 10 11 12 11.1 11.5 12.1"},A:{"8":0.02186,"9":0.00437,"10":0.00875,"11":0.34544,_:"6 7 5.5"},J:{"7":0,"10":0},N:{_:"10 11"},S:{"2.5":0},R:{_:"0"},M:{"0":0.24407},Q:{"10.4":0},O:{"0":0.05953},H:{"0":0.52414},L:{"0":49.03533}}; diff --git a/tools/node_modules/@babel/core/node_modules/caniuse-lite/data/regions/RU.js b/tools/node_modules/@babel/core/node_modules/caniuse-lite/data/regions/RU.js new file mode 100644 index 00000000000000..1459d02f037d68 --- /dev/null +++ b/tools/node_modules/@babel/core/node_modules/caniuse-lite/data/regions/RU.js @@ -0,0 +1 @@ +module.exports={C:{"9":0.00733,"45":0.044,"48":0.01467,"50":0.01467,"51":0.01467,"52":0.28603,"53":0.00733,"54":0.022,"56":0.08067,"60":0.022,"61":0.01467,"65":0.01467,"66":0.03667,"67":0.022,"68":0.044,"69":0.03667,"70":0.044,"71":0.044,"72":0.07334,"73":0.02934,"74":0.02934,"75":0.022,"76":0.01467,"77":0.00733,"78":0.11001,"79":0.022,"80":0.02934,"81":0.02934,"82":0.03667,"83":0.044,"84":0.08801,"85":0.02934,"86":0.02934,"87":0.06601,"88":2.23687,"89":0.022,_:"2 3 4 5 6 7 8 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 46 47 49 55 57 58 59 62 63 64 90 91 3.5 3.6"},D:{"38":0.01467,"47":0.01467,"48":0.01467,"49":0.35937,"51":0.08801,"53":0.01467,"55":0.00733,"56":0.044,"57":0.01467,"58":0.00733,"59":0.03667,"60":0.00733,"61":0.24936,"62":0.01467,"63":0.00733,"64":0.022,"65":0.00733,"66":0.01467,"67":0.01467,"68":0.01467,"69":0.66739,"70":0.05134,"71":0.06601,"72":0.02934,"73":0.03667,"74":1.74549,"75":0.05134,"76":0.05867,"77":0.05134,"78":1.22478,"79":2.50823,"80":1.08543,"81":1.4888,"83":1.43013,"84":1.69415,"85":8.94015,"86":0.46938,"87":0.89475,"88":2.39088,"89":0.92408,"90":21.42995,"91":0.60139,"92":0.03667,_:"4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 39 40 41 42 43 44 45 46 50 52 54 93 94"},F:{"36":0.044,"47":0.00733,"66":0.01467,"67":0.01467,"68":0.01467,"69":0.00733,"70":0.01467,"71":0.01467,"72":0.01467,"73":0.35937,"74":0.05867,"75":1.87017,"76":2.13419,_:"9 11 12 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 37 38 39 40 41 42 43 44 45 46 48 49 50 51 52 53 54 55 56 57 58 60 62 63 64 65 9.5-9.6 10.5 10.6 11.1 11.5 11.6","10.0-10.1":0,"12.1":0.01467},G:{"8":0.0011,"3.2":0,"4.0-4.1":0,"4.2-4.3":0.0011,"5.0-5.1":0.0044,"6.0-6.1":0.00769,"7.0-7.1":0.00659,"8.1-8.4":0.00989,"9.0-9.2":0.00824,"9.3":0.06648,"10.0-10.2":0.01703,"10.3":0.08241,"11.0-11.2":0.03132,"11.3-11.4":0.03516,"12.0-12.1":0.03956,"12.2-12.4":0.13076,"13.0-13.1":0.03406,"13.2":0.01648,"13.3":0.08516,"13.4-13.7":0.29612,"14.0-14.4":3.55841,"14.5-14.6":0.81475},E:{"4":0,"10":0.00733,"12":0.00733,"13":0.11001,"14":0.97542,_:"0 5 6 7 8 9 11 3.1 3.2 6.1 7.1 9.1","5.1":0.27136,"10.1":0.00733,"11.1":0.022,"12.1":0.05134,"13.1":0.23469,"14.1":0.39604},B:{"12":0.01467,"13":0.00733,"14":0.02934,"15":0.01467,"16":0.03667,"17":0.08067,"18":0.40337,"80":0.00733,"81":0.00733,"83":0.00733,"84":0.02934,"85":0.01467,"86":0.022,"87":0.022,"88":0.00733,"89":0.044,"90":1.34946,"91":0.06601,_:"79"},P:{"4":0.03498,"5.0-5.4":0.01166,"6.2-6.4":0.05019,"7.2-7.4":0.04664,"8.2":0.01166,"9.2":0.07162,"10.1":0.04093,"11.1-11.2":0.08162,"12.0":0.04664,"13.0":0.19823,"14.0":0.81624},I:{"0":0,"3":0,"4":0.00048,"2.1":0,"2.2":0,"2.3":0,"4.1":0.0024,"4.2-4.3":0.01247,"4.4":0,"4.4.3-4.4.4":0.05131},K:{_:"0 10 11 12 11.1 11.5 12.1"},A:{"8":0.04125,"9":0.02475,"10":0.0165,"11":0.44554,_:"6 7 5.5"},J:{"7":0,"10":0},N:{_:"10 11"},S:{"2.5":0},R:{_:"0"},M:{"0":0.12264},Q:{"10.4":0.01066},O:{"0":0.29859},H:{"0":0.54266},L:{"0":17.69741}}; diff --git a/tools/node_modules/@babel/core/node_modules/caniuse-lite/data/regions/RW.js b/tools/node_modules/@babel/core/node_modules/caniuse-lite/data/regions/RW.js new file mode 100644 index 00000000000000..f601b3c68d56f1 --- /dev/null +++ b/tools/node_modules/@babel/core/node_modules/caniuse-lite/data/regions/RW.js @@ -0,0 +1 @@ +module.exports={C:{"20":0.00429,"21":0.00858,"31":0.01716,"34":0.00858,"37":0.00858,"40":0.01287,"43":0.00858,"44":0.03002,"47":0.01287,"48":0.00429,"49":0.00429,"50":0.01287,"52":0.03002,"56":0.00429,"60":0.00429,"68":0.00429,"72":0.01716,"77":0.00858,"78":0.06005,"79":0.01287,"81":0.00858,"82":0.00429,"83":0.00858,"84":0.01716,"85":0.02145,"86":0.02145,"87":0.04718,"88":2.96799,"89":0.25305,_:"2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 22 23 24 25 26 27 28 29 30 32 33 35 36 38 39 41 42 45 46 51 53 54 55 57 58 59 61 62 63 64 65 66 67 69 70 71 73 74 75 76 80 90 91 3.5 3.6"},D:{"25":0.00429,"38":0.00858,"41":0.01287,"43":0.00429,"46":0.00429,"49":0.03002,"58":0.00429,"60":0.00858,"61":0.00858,"63":0.03002,"65":0.00858,"66":0.01716,"67":0.00429,"68":0.02145,"69":0.05576,"70":0.02573,"71":0.03431,"73":0.01287,"74":0.02573,"75":0.00858,"76":0.00858,"77":0.03002,"78":0.03002,"79":0.05576,"80":0.12009,"81":0.05576,"83":0.02573,"84":0.04289,"85":0.05147,"86":0.1158,"87":0.20587,"88":0.25734,"89":0.66051,"90":23.91975,"91":1.0937,"92":0.08149,_:"4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 26 27 28 29 30 31 32 33 34 35 36 37 39 40 42 44 45 47 48 50 51 52 53 54 55 56 57 59 62 64 72 93 94"},F:{"73":0.01716,"74":0.01287,"75":0.45463,"76":0.92642,_:"9 11 12 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 60 62 63 64 65 66 67 68 69 70 71 72 9.5-9.6 10.5 10.6 11.1 11.5 11.6 12.1","10.0-10.1":0},G:{"8":0,"3.2":0,"4.0-4.1":0,"4.2-4.3":0,"5.0-5.1":0,"6.0-6.1":0.00252,"7.0-7.1":0.01261,"8.1-8.4":0.00168,"9.0-9.2":0.0042,"9.3":0.05715,"10.0-10.2":0.01345,"10.3":0.05715,"11.0-11.2":0.03866,"11.3-11.4":0.07648,"12.0-12.1":0.03782,"12.2-12.4":0.33113,"13.0-13.1":0.05379,"13.2":0.0311,"13.3":0.2286,"13.4-13.7":0.68411,"14.0-14.4":4.58789,"14.5-14.6":1.2161},E:{"4":0,"11":0.00858,"12":0.00429,"13":0.01716,"14":0.43319,_:"0 5 6 7 8 9 10 3.1 3.2 6.1 7.1 9.1","5.1":0.07291,"10.1":0.00858,"11.1":0.04289,"12.1":0.06005,"13.1":0.12438,"14.1":0.17156},B:{"12":0.08578,"13":0.3131,"14":0.08578,"15":0.02573,"16":0.05576,"17":0.04718,"18":0.14154,"80":0.03002,"84":0.01287,"85":0.01716,"86":0.00858,"87":0.02573,"88":0.01716,"89":0.08149,"90":2.91223,"91":0.12438,_:"79 81 83"},P:{"4":0.24927,"5.0-5.4":0.02077,"6.2-6.4":0.05019,"7.2-7.4":0.10386,"8.2":0.01166,"9.2":0.09347,"10.1":0.18695,"11.1-11.2":0.16618,"12.0":0.14541,"13.0":0.40506,"14.0":1.15286},I:{"0":0,"3":0,"4":0.00085,"2.1":0,"2.2":0,"2.3":0,"4.1":0.00106,"4.2-4.3":0.00405,"4.4":0,"4.4.3-4.4.4":0.05685},K:{_:"0 10 11 12 11.1 11.5 12.1"},A:{"8":0.03511,"9":0.01003,"10":0.01003,"11":0.53671,_:"6 7 5.5"},J:{"7":0,"10":0.01142},N:{_:"10 11"},S:{"2.5":0.13133},R:{_:"0"},M:{"0":0.18272},Q:{"10.4":0.06852},O:{"0":0.46251},H:{"0":9.92516},L:{"0":40.5126}}; diff --git a/tools/node_modules/@babel/core/node_modules/caniuse-lite/data/regions/SA.js b/tools/node_modules/@babel/core/node_modules/caniuse-lite/data/regions/SA.js new file mode 100644 index 00000000000000..69dd5436bcb583 --- /dev/null +++ b/tools/node_modules/@babel/core/node_modules/caniuse-lite/data/regions/SA.js @@ -0,0 +1 @@ +module.exports={C:{"52":0.00543,"65":0.00272,"72":0.00272,"78":0.02445,"81":0.00543,"84":0.01359,"85":0.00815,"86":0.0163,"87":0.02717,"88":0.91563,"89":0.02989,_:"2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 53 54 55 56 57 58 59 60 61 62 63 64 66 67 68 69 70 71 73 74 75 76 77 79 80 82 83 90 91 3.5 3.6"},D:{"34":0.01902,"38":0.00543,"43":0.00543,"49":0.10325,"50":0.00543,"53":0.01902,"56":0.00815,"60":0.00543,"61":0.00272,"63":0.00815,"64":0.00272,"65":0.00543,"66":0.00272,"67":0.01087,"68":0.01087,"69":0.01902,"70":0.00543,"71":0.0163,"72":0.00543,"73":0.00543,"74":0.01359,"75":0.0163,"76":0.01087,"77":0.01087,"78":0.00543,"79":0.02989,"80":0.02445,"81":0.01902,"83":0.11683,"84":0.04076,"85":0.04619,"86":0.06249,"87":0.47548,"88":0.144,"89":0.53525,"90":15.87271,"91":0.71185,"92":0.01359,_:"4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 35 36 37 39 40 41 42 44 45 46 47 48 51 52 54 55 57 58 59 62 93 94"},F:{"71":0.01902,"72":0.0163,"73":0.05977,"74":0.01359,"75":0.07608,"76":0.03532,_:"9 11 12 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 60 62 63 64 65 66 67 68 69 70 9.5-9.6 10.5 10.6 11.1 11.5 11.6 12.1","10.0-10.1":0},G:{"8":0,"3.2":0,"4.0-4.1":0,"4.2-4.3":0,"5.0-5.1":0.00307,"6.0-6.1":0.00614,"7.0-7.1":0.02455,"8.1-8.4":0.01228,"9.0-9.2":0,"9.3":0.11356,"10.0-10.2":0.01535,"10.3":0.06752,"11.0-11.2":0.05218,"11.3-11.4":0.08287,"12.0-12.1":0.14425,"12.2-12.4":0.42354,"13.0-13.1":0.20563,"13.2":0.13811,"13.3":0.59848,"13.4-13.7":1.69724,"14.0-14.4":20.89472,"14.5-14.6":5.34031},E:{"4":0,"7":0.00815,"12":0.00543,"13":0.05977,"14":1.7905,_:"0 5 6 8 9 10 11 3.1 3.2 6.1 7.1 9.1","5.1":0.05434,"10.1":0.00815,"11.1":0.0163,"12.1":0.03532,"13.1":0.24181,"14.1":0.47819},B:{"12":0.00815,"13":0.00272,"14":0.00815,"15":0.01087,"16":0.00543,"17":0.01087,"18":0.07064,"84":0.00815,"85":0.00815,"86":0.00543,"87":0.00543,"88":0.00815,"89":0.07336,"90":1.75247,"91":0.15487,_:"79 80 81 83"},P:{"4":0.08287,"5.0-5.4":0.02072,"6.2-6.4":0.03149,"7.2-7.4":0.08287,"8.2":0.01036,"9.2":0.0518,"10.1":0.02072,"11.1-11.2":0.26934,"12.0":0.09323,"13.0":0.41437,"14.0":2.16508},I:{"0":0,"3":0,"4":0,"2.1":0,"2.2":0,"2.3":0,"4.1":0.00194,"4.2-4.3":0.00323,"4.4":0,"4.4.3-4.4.4":0.04581},K:{_:"0 10 11 12 11.1 11.5 12.1"},A:{"8":0.0058,"11":0.72507,_:"6 7 9 10 5.5"},J:{"7":0,"10":0},N:{_:"10 11"},S:{"2.5":0},R:{_:"0"},M:{"0":0.10923},Q:{"10.4":0},O:{"0":2.11178},H:{"0":0.13099},L:{"0":38.70646}}; diff --git a/tools/node_modules/@babel/core/node_modules/caniuse-lite/data/regions/SB.js b/tools/node_modules/@babel/core/node_modules/caniuse-lite/data/regions/SB.js new file mode 100644 index 00000000000000..16739e088bf8a6 --- /dev/null +++ b/tools/node_modules/@babel/core/node_modules/caniuse-lite/data/regions/SB.js @@ -0,0 +1 @@ +module.exports={C:{"29":0.01958,"33":0.03916,"38":0.00783,"45":0.01958,"47":0.00783,"49":0.00392,"57":0.00392,"67":0.01175,"74":0.01566,"76":0.01175,"80":0.00783,"81":0.00783,"82":0.00783,"85":0.01175,"86":0.00783,"87":0.3916,"88":1.72304,"89":0.15664,_:"2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 30 31 32 34 35 36 37 39 40 41 42 43 44 46 48 50 51 52 53 54 55 56 58 59 60 61 62 63 64 65 66 68 69 70 71 72 73 75 77 78 79 83 84 90 91 3.5 3.6"},D:{"11":0.01566,"30":0.01175,"49":0.00783,"53":0.63831,"63":0.02741,"65":0.01958,"69":0.0744,"73":0.01958,"74":0.01175,"75":0.20755,"76":0.01175,"77":0.0235,"78":0.02741,"79":0.03133,"80":0.02741,"81":0.0235,"83":0.03524,"84":0.01566,"85":0.01175,"86":0.00783,"87":0.05482,"88":0.0744,"89":0.30153,"90":12.42547,"91":0.52866,"92":0.01958,_:"4 5 6 7 8 9 10 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 50 51 52 54 55 56 57 58 59 60 61 62 64 66 67 68 70 71 72 93 94"},F:{"19":0.00392,"38":0.01175,"53":0.00392,"57":0.01175,"75":0.10965,"76":0.38377,_:"9 11 12 15 16 17 18 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 39 40 41 42 43 44 45 46 47 48 49 50 51 52 54 55 56 58 60 62 63 64 65 66 67 68 69 70 71 72 73 74 9.5-9.6 10.5 10.6 11.1 11.5 11.6 12.1","10.0-10.1":0},G:{"8":0,"3.2":0,"4.0-4.1":0,"4.2-4.3":0,"5.0-5.1":0,"6.0-6.1":0,"7.0-7.1":0.01139,"8.1-8.4":0.00804,"9.0-9.2":0.33759,"9.3":0.01407,"10.0-10.2":0.00335,"10.3":0.01407,"11.0-11.2":0.02612,"11.3-11.4":0.01239,"12.0-12.1":0.03785,"12.2-12.4":0.06899,"13.0-13.1":0.19659,"13.2":0.03349,"13.3":0.07134,"13.4-13.7":1.31051,"14.0-14.4":0.63968,"14.5-14.6":0.18353},E:{"4":0,"10":0.02741,"12":0.00783,"13":0.00783,"14":0.14489,_:"0 5 6 7 8 9 11 3.1 3.2 5.1 6.1 7.1 9.1","10.1":0.10965,"11.1":0.00392,"12.1":0.03133,"13.1":0.03133,"14.1":0.05091},B:{"12":0.14489,"13":0.05482,"14":0.13314,"15":0.26237,"16":0.28195,"17":0.14489,"18":0.68922,"80":0.01958,"83":0.0235,"84":0.01958,"85":0.02741,"86":0.03916,"87":0.03524,"88":0.07832,"89":0.34461,"90":5.36884,"91":0.22713,_:"79 81"},P:{"4":1.01816,"5.0-5.4":0.04073,"6.2-6.4":0.04073,"7.2-7.4":0.28509,"8.2":0.0406,"9.2":0.26472,"10.1":0.02036,"11.1-11.2":0.6109,"12.0":0.09163,"13.0":0.51926,"14.0":2.06687},I:{"0":0,"3":0,"4":0.00059,"2.1":0,"2.2":0,"2.3":0,"4.1":0.00088,"4.2-4.3":0.00936,"4.4":0,"4.4.3-4.4.4":0.10477},K:{_:"0 10 11 12 11.1 11.5 12.1"},A:{"9":0.03133,"11":1.18655,_:"6 7 8 10 5.5"},J:{"7":0,"10":0},N:{"10":0.01297,"11":0.01825},S:{"2.5":0},R:{_:"0"},M:{"0":0.0365},Q:{"10.4":0.00608},O:{"0":3.64432},H:{"0":1.95262},L:{"0":57.69314}}; diff --git a/tools/node_modules/@babel/core/node_modules/caniuse-lite/data/regions/SC.js b/tools/node_modules/@babel/core/node_modules/caniuse-lite/data/regions/SC.js new file mode 100644 index 00000000000000..d10a09c6a3a211 --- /dev/null +++ b/tools/node_modules/@babel/core/node_modules/caniuse-lite/data/regions/SC.js @@ -0,0 +1 @@ +module.exports={C:{"4":0.00703,"36":0.00703,"39":0.01054,"40":0.00703,"45":0.01406,"49":0.01757,"50":0.00351,"52":0.01757,"56":0.01054,"57":0.00351,"59":0.10191,"60":0.08434,"61":0.0492,"62":0.08434,"63":0.03163,"68":0.01757,"69":0.00703,"72":0.00703,"76":0.08434,"77":0.00703,"78":1.01906,"79":0.01054,"80":0.00703,"81":0.00703,"82":0.08082,"83":0.03163,"84":0.05622,"85":0.05974,"86":0.11245,"87":0.11948,"88":2.54765,"89":0.13353,"90":0.02811,_:"2 3 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 37 38 41 42 43 44 46 47 48 51 53 54 55 58 64 65 66 67 70 71 73 74 75 91 3.5 3.6"},D:{"35":0.01406,"43":0.03514,"46":0.00703,"49":0.43574,"51":0.01406,"56":0.01406,"59":0.00351,"60":0.00703,"62":0.00703,"63":0.03163,"64":0.00703,"65":0.04568,"66":0.03163,"67":0.10191,"68":0.07731,"69":0.05974,"70":0.07379,"71":0.10893,"72":4.67713,"73":0.00351,"74":0.03514,"75":0.03865,"76":0.05271,"77":0.02108,"78":0.01406,"79":0.05622,"80":0.04568,"81":0.08785,"83":0.03865,"84":0.06325,"85":0.09488,"86":0.41114,"87":0.43574,"88":0.29869,"89":1.12097,"90":12.42199,"91":0.60792,"92":0.00703,_:"4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 36 37 38 39 40 41 42 44 45 47 48 50 52 53 54 55 57 58 61 93 94"},F:{"43":0.00351,"52":0.01406,"53":0.05622,"68":0.00351,"71":0.01054,"72":0.0492,"73":0.07028,"74":0.03514,"75":0.23544,"76":0.19678,_:"9 11 12 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 44 45 46 47 48 49 50 51 54 55 56 57 58 60 62 63 64 65 66 67 69 70 9.5-9.6 10.5 10.6 11.1 11.5 11.6 12.1","10.0-10.1":0},G:{"8":0.01656,"3.2":0,"4.0-4.1":0,"4.2-4.3":0.00114,"5.0-5.1":0.00286,"6.0-6.1":0.00628,"7.0-7.1":0.00343,"8.1-8.4":0.00571,"9.0-9.2":0.00457,"9.3":0.02284,"10.0-10.2":0.00628,"10.3":0.04797,"11.0-11.2":0.03541,"11.3-11.4":0.02513,"12.0-12.1":0.01142,"12.2-12.4":0.09537,"13.0-13.1":0.0257,"13.2":0.11079,"13.3":0.08452,"13.4-13.7":0.20445,"14.0-14.4":3.90851,"14.5-14.6":0.97199},E:{"4":0,"8":0.0246,"11":0.00351,"12":0.01054,"13":0.0492,"14":1.17368,_:"0 5 6 7 9 10 3.1 3.2 6.1 7.1 9.1 10.1","5.1":0.01054,"11.1":0.02811,"12.1":0.14407,"13.1":0.17219,"14.1":0.69929},B:{"12":0.03163,"13":0.03163,"14":0.02811,"15":0.01406,"16":0.03163,"17":0.02811,"18":0.11596,"80":0.00703,"84":0.03865,"85":0.03163,"86":0.01054,"87":0.02108,"88":0.0246,"89":0.09488,"90":2.18219,"91":0.10542,_:"79 81 83"},P:{"4":0.29432,"5.0-5.4":0.01015,"6.2-6.4":0.0305,"7.2-7.4":0.65968,"8.2":0.0406,"9.2":0.16238,"10.1":0.16238,"11.1-11.2":0.38566,"12.0":1.20772,"13.0":1.05549,"14.0":2.52708},I:{"0":0,"3":0,"4":0,"2.1":0,"2.2":0,"2.3":0,"4.1":0.00185,"4.2-4.3":0.00834,"4.4":0,"4.4.3-4.4.4":0.05467},K:{_:"0 10 11 12 11.1 11.5 12.1"},A:{"8":0.01496,"11":0.33292,_:"6 7 9 10 5.5"},J:{"7":0,"10":0.01946},N:{"10":0.01297,_:"11"},S:{"2.5":0},R:{_:"0"},M:{"0":0.59023},Q:{"10.4":0},O:{"0":5.35744},H:{"0":2.12462},L:{"0":46.09827}}; diff --git a/tools/node_modules/@babel/core/node_modules/caniuse-lite/data/regions/SD.js b/tools/node_modules/@babel/core/node_modules/caniuse-lite/data/regions/SD.js new file mode 100644 index 00000000000000..cb5018a63f04e9 --- /dev/null +++ b/tools/node_modules/@babel/core/node_modules/caniuse-lite/data/regions/SD.js @@ -0,0 +1 @@ +module.exports={C:{"19":0.00154,"29":0.00154,"30":0.00463,"33":0.00463,"34":0.01544,"35":0.00309,"37":0.00309,"38":0.01081,"40":0.00154,"41":0.00309,"42":0.00154,"43":0.00463,"44":0.00309,"45":0.00309,"46":0.00154,"47":0.01235,"48":0.00618,"49":0.00463,"50":0.00309,"52":0.0386,"56":0.01235,"60":0.00463,"61":0.00309,"62":0.00154,"64":0.01081,"66":0.00309,"67":0.00154,"68":0.00463,"69":0.00154,"71":0.00309,"72":0.0386,"73":0.00463,"74":0.00154,"75":0.00309,"76":0.00618,"77":0.00309,"78":0.03551,"79":0.0247,"80":0.00463,"81":0.00463,"82":0.00618,"83":0.00772,"84":0.01698,"85":0.01853,"86":0.01698,"87":0.06485,"88":1.64127,"89":0.0525,_:"2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 20 21 22 23 24 25 26 27 28 31 32 36 39 51 53 54 55 57 58 59 63 65 70 90 91 3.5 3.6"},D:{"11":0.00154,"22":0.00309,"26":0.00309,"28":0.00309,"29":0.00309,"32":0.01081,"33":0.02162,"37":0.00926,"40":0.00618,"43":0.03706,"44":0.00154,"45":0.00618,"47":0.00309,"48":0.07102,"50":0.00463,"52":0.00309,"53":0.00463,"55":0.00618,"56":0.00309,"57":0.00463,"58":0.00309,"61":0.38754,"63":0.01544,"64":0.00309,"65":0.01235,"67":0.00309,"68":0.0139,"69":0.0386,"70":0.01698,"71":0.00463,"72":0.00309,"73":0.01235,"74":0.0139,"75":0.00772,"76":0.00926,"77":0.00309,"78":0.00772,"79":0.03242,"80":0.01853,"81":0.06794,"83":0.03397,"84":0.00463,"85":0.04014,"86":0.0525,"87":0.16366,"88":0.1297,"89":0.30726,"90":5.14306,"91":0.21616,"93":0.00309,_:"4 5 6 7 8 9 10 12 13 14 15 16 17 18 19 20 21 23 24 25 27 30 31 34 35 36 38 39 41 42 46 49 51 54 59 60 62 66 92 94"},F:{"18":0.00772,"53":0.00154,"58":0.00309,"60":0.00154,"64":0.00154,"70":0.00309,"71":0.00309,"73":0.00772,"74":0.00926,"75":0.25939,"76":0.4107,_:"9 11 12 15 16 17 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 54 55 56 57 62 63 65 66 67 68 69 72 9.5-9.6 10.5 10.6 11.1 11.6 12.1","10.0-10.1":0,"11.5":0.00309},G:{"8":0,"3.2":0,"4.0-4.1":0,"4.2-4.3":0.00467,"5.0-5.1":0,"6.0-6.1":0.00187,"7.0-7.1":0.00982,"8.1-8.4":0,"9.0-9.2":0.00234,"9.3":0.05048,"10.0-10.2":0.00701,"10.3":0.05048,"11.0-11.2":0.1005,"11.3-11.4":0.06965,"12.0-12.1":0.15004,"12.2-12.4":0.33841,"13.0-13.1":0.09115,"13.2":0.01916,"13.3":0.14443,"13.4-13.7":0.31457,"14.0-14.4":2.52361,"14.5-14.6":0.40899},E:{"4":0,"10":0.00309,"11":0.00463,"12":0.00154,"13":0.03088,"14":0.17138,_:"0 5 6 7 8 9 3.1 3.2 6.1 7.1 10.1","5.1":1.5826,"9.1":0.04632,"11.1":0.00154,"12.1":0.01235,"13.1":0.06176,"14.1":0.04169},B:{"12":0.01235,"13":0.00772,"14":0.01235,"15":0.00926,"16":0.01853,"17":0.03242,"18":0.05713,"80":0.00309,"83":0.00154,"84":0.01544,"85":0.00772,"86":0.00309,"87":0.01544,"88":0.00926,"89":0.04323,"90":0.74266,"91":0.05867,_:"79 81"},P:{"4":1.51727,"5.0-5.4":0.08039,"6.2-6.4":0.12058,"7.2-7.4":0.45217,"8.2":0.0201,"9.2":0.19091,"10.1":0.08039,"11.1-11.2":0.51245,"12.0":0.2713,"13.0":0.73351,"14.0":0.82395},I:{"0":0,"3":0,"4":0.00082,"2.1":0,"2.2":0,"2.3":0,"4.1":0.00367,"4.2-4.3":0.02367,"4.4":0,"4.4.3-4.4.4":0.18324},K:{_:"0 10 11 12 11.1 11.5 12.1"},A:{"8":0.00321,"9":0.00643,"11":0.45973,_:"6 7 10 5.5"},J:{"7":0,"10":0},N:{"10":0.01297,"11":0.01825},S:{"2.5":0.02537},R:{_:"0"},M:{"0":0.18603},Q:{"10.4":0.03382},O:{"0":2.08863},H:{"0":7.5813},L:{"0":66.53834}}; diff --git a/tools/node_modules/@babel/core/node_modules/caniuse-lite/data/regions/SE.js b/tools/node_modules/@babel/core/node_modules/caniuse-lite/data/regions/SE.js new file mode 100644 index 00000000000000..c10e8285de5ec5 --- /dev/null +++ b/tools/node_modules/@babel/core/node_modules/caniuse-lite/data/regions/SE.js @@ -0,0 +1 @@ +module.exports={C:{"48":0.00523,"52":0.03658,"59":0.01045,"68":0.01045,"78":0.13063,"84":0.1254,"85":0.01568,"86":0.03658,"87":0.0627,"88":2.30423,"89":0.03135,_:"2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 49 50 51 53 54 55 56 57 58 60 61 62 63 64 65 66 67 69 70 71 72 73 74 75 76 77 79 80 81 82 83 90 91 3.5 3.6"},D:{"38":0.01568,"49":0.07315,"53":0.0209,"61":0.01045,"63":0.00523,"65":0.0209,"66":0.04703,"67":0.0418,"68":0.01568,"69":0.24558,"70":0.00523,"71":0.01045,"72":0.01045,"73":0.01568,"74":0.01045,"75":0.04703,"76":0.06793,"77":0.02613,"78":0.01568,"79":0.0418,"80":0.03135,"81":0.03135,"83":0.03658,"84":0.0418,"85":0.05225,"86":0.1045,"87":0.26125,"88":0.8987,"89":2.55503,"90":27.81268,"91":0.64268,"92":0.00523,_:"4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 39 40 41 42 43 44 45 46 47 48 50 51 52 54 55 56 57 58 59 60 62 64 93 94"},F:{"36":0.00523,"64":0.01045,"73":0.09405,"75":0.33963,"76":0.28215,_:"9 11 12 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 60 62 63 65 66 67 68 69 70 71 72 74 9.5-9.6 10.5 10.6 11.1 11.5 11.6 12.1","10.0-10.1":0},G:{"8":0,"3.2":0,"4.0-4.1":0,"4.2-4.3":0,"5.0-5.1":0,"6.0-6.1":0.00257,"7.0-7.1":0.018,"8.1-8.4":0.02057,"9.0-9.2":0.01028,"9.3":0.13882,"10.0-10.2":0.02314,"10.3":0.23137,"11.0-11.2":0.05399,"11.3-11.4":0.12082,"12.0-12.1":0.09769,"12.2-12.4":0.35733,"13.0-13.1":0.06427,"13.2":0.03342,"13.3":0.24165,"13.4-13.7":0.70695,"14.0-14.4":19.92573,"14.5-14.6":2.56816},E:{"4":0,"11":0.00523,"12":0.01568,"13":0.19855,"14":5.08393,_:"0 5 6 7 8 9 10 3.1 3.2 5.1 6.1 7.1 9.1","10.1":0.03658,"11.1":0.10973,"12.1":0.17243,"13.1":0.82555,"14.1":1.37418},B:{"14":0.00523,"15":0.00523,"16":0.01045,"17":0.0209,"18":0.09405,"84":0.01045,"85":0.0209,"86":0.0209,"87":0.01568,"88":0.0627,"89":0.3135,"90":5.0787,"91":0.1881,_:"12 13 79 80 81 83"},P:{"4":0.03199,"5.0-5.4":0.01012,"6.2-6.4":0.01012,"7.2-7.4":0.51623,"8.2":0.02024,"9.2":0.01066,"10.1":0.02133,"11.1-11.2":0.06398,"12.0":0.07465,"13.0":0.33058,"14.0":3.89231},I:{"0":0,"3":0,"4":0,"2.1":0,"2.2":0,"2.3":0,"4.1":0.00344,"4.2-4.3":0.00689,"4.4":0,"4.4.3-4.4.4":0.04218},K:{_:"0 10 11 12 11.1 11.5 12.1"},A:{"9":0.01077,"11":0.51173,_:"6 7 8 10 5.5"},J:{"7":0,"10":0},N:{"10":0.01297,"11":0.01825},S:{"2.5":0},R:{_:"0"},M:{"0":0.36282},Q:{"10.4":0},O:{"0":0.03342},H:{"0":0.14011},L:{"0":18.84669}}; diff --git a/tools/node_modules/@babel/core/node_modules/caniuse-lite/data/regions/SG.js b/tools/node_modules/@babel/core/node_modules/caniuse-lite/data/regions/SG.js new file mode 100644 index 00000000000000..3d017af1099ebe --- /dev/null +++ b/tools/node_modules/@babel/core/node_modules/caniuse-lite/data/regions/SG.js @@ -0,0 +1 @@ +module.exports={C:{"34":0.00312,"48":0.00312,"52":0.00935,"56":0.00312,"63":0.00623,"67":0.00623,"72":0.00312,"78":0.04987,"79":0.00312,"80":0.00623,"82":0.00623,"83":0.00623,"84":0.00935,"85":0.00623,"86":0.01559,"87":0.03429,"88":1.29356,"89":0.00623,_:"2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 35 36 37 38 39 40 41 42 43 44 45 46 47 49 50 51 53 54 55 57 58 59 60 61 62 64 65 66 68 69 70 71 73 74 75 76 77 81 90 91 3.5 3.6"},D:{"22":0.00935,"24":0.00312,"26":0.00623,"27":0.00935,"28":0.00312,"29":0.00312,"32":0.00312,"34":0.06857,"35":0.00312,"36":0.00623,"37":0.00312,"38":0.14962,"41":0.01247,"47":0.02805,"49":0.13715,"53":0.18702,"55":0.01247,"56":0.00935,"57":0.00312,"58":0.02182,"60":0.01247,"61":0.04364,"62":0.01247,"63":0.00312,"64":0.03429,"65":0.03429,"66":0.01247,"67":0.02182,"68":0.0374,"69":0.01559,"70":0.04364,"71":0.00935,"72":0.04676,"73":0.01559,"74":0.01559,"75":0.01559,"76":0.01559,"77":0.01559,"78":0.02182,"79":0.13091,"80":0.06546,"81":0.08104,"83":0.10286,"84":0.07793,"85":0.06234,"86":0.12156,"87":0.27741,"88":0.35222,"89":0.73561,"90":16.70089,"91":0.66704,"92":0.01247,_:"4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 23 25 30 31 33 39 40 42 43 44 45 46 48 50 51 52 54 59 93 94"},F:{"28":0.00623,"36":0.0187,"40":0.00935,"46":0.02805,"71":0.00623,"72":0.00623,"73":0.02494,"74":0.00623,"75":0.27118,"76":0.46132,_:"9 11 12 15 16 17 18 19 20 21 22 23 24 25 26 27 29 30 31 32 33 34 35 37 38 39 41 42 43 44 45 47 48 49 50 51 52 53 54 55 56 57 58 60 62 63 64 65 66 67 68 69 70 9.5-9.6 10.5 10.6 11.1 11.5 11.6 12.1","10.0-10.1":0},G:{"8":0,"3.2":0,"4.0-4.1":0,"4.2-4.3":0,"5.0-5.1":0.00614,"6.0-6.1":0.01534,"7.0-7.1":0.02455,"8.1-8.4":0.02762,"9.0-9.2":0.01381,"9.3":0.18105,"10.0-10.2":0.03069,"10.3":0.12121,"11.0-11.2":0.0583,"11.3-11.4":0.07058,"12.0-12.1":0.07672,"12.2-12.4":0.24396,"13.0-13.1":0.05524,"13.2":0.02608,"13.3":0.15497,"13.4-13.7":0.5232,"14.0-14.4":10.46248,"14.5-14.6":2.75256},E:{"4":0,"8":0.00623,"11":0.01559,"12":0.01247,"13":0.09351,"14":2.57776,_:"0 5 6 7 9 10 3.1 3.2 5.1 6.1 7.1","9.1":0.00312,"10.1":0.0187,"11.1":0.0374,"12.1":0.05611,"13.1":0.39898,"14.1":0.80107},B:{"17":0.00935,"18":0.03117,"84":0.00623,"85":0.00312,"86":0.01247,"87":0.00312,"88":0.00623,"89":0.04676,"90":1.78292,"91":0.13715,_:"12 13 14 15 16 79 80 81 83"},P:{"4":0.49783,"5.0-5.4":0.04154,"6.2-6.4":0.02077,"7.2-7.4":0.10384,"8.2":0.0406,"9.2":0.02074,"10.1":0.01037,"11.1-11.2":0.04149,"12.0":0.05186,"13.0":0.23854,"14.0":2.82104},I:{"0":0,"3":0,"4":0,"2.1":0,"2.2":0,"2.3":0,"4.1":0,"4.2-4.3":3.64185,"4.4":0,"4.4.3-4.4.4":20.94065},K:{_:"0 10 11 12 11.1 11.5 12.1"},A:{"8":0.01045,"9":0.01045,"11":0.48093,_:"6 7 10 5.5"},J:{"7":0,"10":0},N:{"10":0.01297,_:"11"},S:{"2.5":0},R:{_:"0"},M:{"0":0.39227},Q:{"10.4":0.04817},O:{"0":0.66067},H:{"0":0.68412},L:{"0":21.33629}}; diff --git a/tools/node_modules/@babel/core/node_modules/caniuse-lite/data/regions/SH.js b/tools/node_modules/@babel/core/node_modules/caniuse-lite/data/regions/SH.js new file mode 100644 index 00000000000000..39fc2e8ab53f00 --- /dev/null +++ b/tools/node_modules/@babel/core/node_modules/caniuse-lite/data/regions/SH.js @@ -0,0 +1 @@ +module.exports={C:{"88":1.89544,_:"2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 89 90 91 3.5 3.6"},D:{"78":1.89544,"81":3.08269,"88":3.79088,"89":3.79088,"90":50.71167,"91":1.42332,_:"4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 79 80 83 84 85 86 87 92 93 94"},F:{_:"9 11 12 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 60 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 9.5-9.6 10.5 10.6 11.1 11.5 11.6 12.1","10.0-10.1":0},G:{"8":0,"3.2":0,"4.0-4.1":0,"4.2-4.3":0,"5.0-5.1":0,"6.0-6.1":0,"7.0-7.1":0,"8.1-8.4":0,"9.0-9.2":0,"9.3":0.59,"10.0-10.2":0,"10.3":0.39333,"11.0-11.2":0,"11.3-11.4":0,"12.0-12.1":0,"12.2-12.4":0,"13.0-13.1":0,"13.2":0,"13.3":0,"13.4-13.7":0.78667,"14.0-14.4":0,"14.5-14.6":0},E:{"4":0,_:"0 5 6 7 8 9 10 11 12 13 14 3.1 3.2 5.1 6.1 7.1 9.1 10.1 11.1 12.1 13.1 14.1"},B:{"14":0.47212,"18":0.95119,"90":0.70819,_:"12 13 15 16 17 79 80 81 83 84 85 86 87 88 89 91"},P:{"4":0.24927,"5.0-5.4":0.02077,"6.2-6.4":0.05019,"7.2-7.4":0.10386,"8.2":0.01166,"9.2":0.09347,"10.1":0.18695,"11.1-11.2":0.16618,"12.0":0.50255,"13.0":1.01557,"14.0":0.50255},I:{"0":0,"3":0,"4":0,"2.1":0,"2.2":0,"2.3":0,"4.1":0,"4.2-4.3":0,"4.4":0,"4.4.3-4.4.4":0},K:{_:"0 10 11 12 11.1 11.5 12.1"},A:{_:"6 7 8 9 10 11 5.5"},J:{"7":0,"10":0},N:{_:"10 11"},S:{"2.5":0},R:{_:"0"},M:{"0":0},Q:{"10.4":0},O:{"0":0},H:{"0":0},L:{"0":27.01538}}; diff --git a/tools/node_modules/@babel/core/node_modules/caniuse-lite/data/regions/SI.js b/tools/node_modules/@babel/core/node_modules/caniuse-lite/data/regions/SI.js new file mode 100644 index 00000000000000..25e6a9113fb6d2 --- /dev/null +++ b/tools/node_modules/@babel/core/node_modules/caniuse-lite/data/regions/SI.js @@ -0,0 +1 @@ +module.exports={C:{"50":0.00599,"52":0.38961,"53":0.00599,"56":0.01199,"57":0.01199,"59":0.00599,"60":0.02997,"66":0.01199,"67":0.00599,"68":0.02997,"69":0.00599,"72":0.04196,"75":0.01798,"76":0.00599,"77":0.01199,"78":0.25175,"80":0.02398,"81":0.01199,"82":0.01199,"83":0.02398,"84":0.07193,"85":0.08392,"86":0.03596,"87":0.21578,"88":7.96003,"89":0.04196,_:"2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 51 54 55 58 61 62 63 64 65 70 71 73 74 79 90 91 3.5 3.6"},D:{"46":0.12587,"49":0.34765,"53":0.00599,"56":0.00599,"58":0.05395,"61":0.02997,"62":0.02997,"63":0.01798,"65":0.00599,"67":0.01798,"68":0.02398,"69":0.02997,"70":0.01199,"71":0.00599,"74":0.00599,"75":0.01199,"76":0.01199,"77":0.01798,"78":0.02398,"79":0.05395,"80":0.07792,"81":0.02398,"83":0.05395,"84":0.06593,"85":0.04795,"86":0.08392,"87":0.24575,"88":0.17982,"89":0.995,"90":33.42854,"91":1.11488,"92":1.06094,_:"4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 47 48 50 51 52 54 55 57 59 60 64 66 72 73 93 94"},F:{"46":0.01199,"70":0.01199,"73":0.16783,"74":0.00599,"75":0.70729,"76":0.61139,_:"9 11 12 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 47 48 49 50 51 52 53 54 55 56 57 58 60 62 63 64 65 66 67 68 69 71 72 9.5-9.6 10.5 10.6 11.1 11.5 11.6 12.1","10.0-10.1":0},G:{"8":0,"3.2":0,"4.0-4.1":0,"4.2-4.3":0,"5.0-5.1":0.00149,"6.0-6.1":0,"7.0-7.1":0.00224,"8.1-8.4":0.00298,"9.0-9.2":0.00075,"9.3":0.09097,"10.0-10.2":0.00671,"10.3":0.06413,"11.0-11.2":0.02163,"11.3-11.4":0.03206,"12.0-12.1":0.06637,"12.2-12.4":0.06488,"13.0-13.1":0.01566,"13.2":0.00969,"13.3":0.07084,"13.4-13.7":0.3803,"14.0-14.4":5.2661,"14.5-14.6":1.15806},E:{"4":0,"5":0.01199,"12":0.01199,"13":0.06593,"14":1.3966,_:"0 6 7 8 9 10 11 3.1 3.2 5.1 6.1 7.1","9.1":0.01199,"10.1":0.02398,"11.1":0.05994,"12.1":0.05994,"13.1":0.30569,"14.1":0.70729},B:{"15":0.00599,"16":0.01199,"17":0.01199,"18":0.05994,"84":0.01199,"86":0.01199,"87":0.01798,"88":0.01798,"89":0.10789,"90":4.35764,"91":0.29371,_:"12 13 14 79 80 81 83 85"},P:{"4":0.09403,"5.0-5.4":0.01045,"6.2-6.4":0.02077,"7.2-7.4":0.10384,"8.2":0.0406,"9.2":0.07314,"10.1":0.01045,"11.1-11.2":0.08358,"12.0":0.07314,"13.0":0.48061,"14.0":3.04039},I:{"0":0,"3":0,"4":0,"2.1":0,"2.2":0,"2.3":0,"4.1":0.00132,"4.2-4.3":0.00395,"4.4":0,"4.4.3-4.4.4":0.0388},K:{_:"0 10 11 12 11.1 11.5 12.1"},A:{"11":1.60639,_:"6 7 8 9 10 5.5"},J:{"7":0,"10":0},N:{"10":0.01297,_:"11"},S:{"2.5":0},R:{_:"0"},M:{"0":0.4006},Q:{"10.4":0},O:{"0":0.01202},H:{"0":0.19342},L:{"0":29.44682}}; diff --git a/tools/node_modules/@babel/core/node_modules/caniuse-lite/data/regions/SK.js b/tools/node_modules/@babel/core/node_modules/caniuse-lite/data/regions/SK.js new file mode 100644 index 00000000000000..4c8136e66d453f --- /dev/null +++ b/tools/node_modules/@babel/core/node_modules/caniuse-lite/data/regions/SK.js @@ -0,0 +1 @@ +module.exports={C:{"48":0.01068,"52":0.17619,"56":0.01602,"64":0.00534,"65":0.00534,"66":0.01068,"68":0.08542,"69":0.00534,"70":0.00534,"71":0.0267,"72":0.01068,"73":0.00534,"76":0.01068,"77":0.00534,"78":0.18687,"79":0.00534,"80":0.00534,"81":0.0267,"82":0.02136,"83":0.01068,"84":0.04271,"85":0.03737,"86":0.05873,"87":0.11746,"88":6.8179,"89":0.03203,"90":0.00534,_:"2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 49 50 51 53 54 55 57 58 59 60 61 62 63 67 74 75 91 3.5 3.6"},D:{"26":0.00534,"34":0.01068,"38":0.04805,"39":0.00534,"43":0.01068,"45":0.00534,"47":0.01068,"49":0.43246,"53":0.11212,"56":0.00534,"58":0.00534,"59":0.01068,"63":0.07475,"65":0.00534,"67":0.00534,"68":0.02136,"69":0.01068,"70":0.01068,"71":0.01602,"72":0.00534,"73":0.01602,"74":0.00534,"75":0.01602,"76":0.01068,"77":0.01068,"78":0.0267,"79":0.06407,"80":0.0267,"81":0.06407,"83":0.03203,"84":0.03203,"85":0.03203,"86":0.08009,"87":0.17619,"88":0.41644,"89":0.85424,"90":29.51933,"91":1.08916,"92":0.00534,_:"4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 27 28 29 30 31 32 33 35 36 37 40 41 42 44 46 48 50 51 52 54 55 57 60 61 62 64 66 93 94"},F:{"36":0.01068,"40":0.00534,"46":0.01068,"64":0.01068,"73":0.18153,"74":0.01068,"75":1.22263,"76":1.68179,_:"9 11 12 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 37 38 39 41 42 43 44 45 47 48 49 50 51 52 53 54 55 56 57 58 60 62 63 65 66 67 68 69 70 71 72 9.5-9.6 10.5 10.6 11.1 11.5 11.6","10.0-10.1":0,"12.1":0.01602},G:{"8":0,"3.2":0,"4.0-4.1":0,"4.2-4.3":0,"5.0-5.1":0.00857,"6.0-6.1":0,"7.0-7.1":0.00381,"8.1-8.4":0,"9.0-9.2":0.00095,"9.3":0.09518,"10.0-10.2":0.01047,"10.3":0.10565,"11.0-11.2":0.01237,"11.3-11.4":0.04378,"12.0-12.1":0.02284,"12.2-12.4":0.07614,"13.0-13.1":0.03807,"13.2":0.02284,"13.3":0.1066,"13.4-13.7":0.27982,"14.0-14.4":6.60342,"14.5-14.6":1.7703},E:{"4":0,"12":0.01602,"13":0.04805,"14":1.43085,_:"0 5 6 7 8 9 10 11 3.1 3.2 5.1 6.1 7.1 9.1","10.1":0.01602,"11.1":0.0267,"12.1":0.06407,"13.1":0.26161,"14.1":0.73144},B:{"14":0.01068,"15":0.02136,"16":0.00534,"17":0.01602,"18":0.08009,"84":0.01068,"85":0.00534,"86":0.00534,"87":0.00534,"88":0.01068,"89":0.08542,"90":3.67323,"91":0.26695,_:"12 13 79 80 81 83"},P:{"4":0.32687,"5.0-5.4":0.04154,"6.2-6.4":0.02077,"7.2-7.4":0.10384,"8.2":0.0406,"9.2":0.02074,"10.1":0.01037,"11.1-11.2":0.0949,"12.0":0.05272,"13.0":0.25306,"14.0":2.28811},I:{"0":0,"3":0,"4":0,"2.1":0,"2.2":0,"2.3":0,"4.1":0.00347,"4.2-4.3":0.01389,"4.4":0,"4.4.3-4.4.4":0.10849},K:{_:"0 10 11 12 11.1 11.5 12.1"},A:{"10":0.00534,"11":0.52856,_:"6 7 8 9 5.5"},J:{"7":0,"10":0},N:{"10":0.01297,_:"11"},S:{"2.5":0},R:{_:"0"},M:{"0":0.26102},Q:{"10.4":0},O:{"0":0.04661},H:{"0":0.46775},L:{"0":34.75751}}; diff --git a/tools/node_modules/@babel/core/node_modules/caniuse-lite/data/regions/SL.js b/tools/node_modules/@babel/core/node_modules/caniuse-lite/data/regions/SL.js new file mode 100644 index 00000000000000..d529d81b19c5a8 --- /dev/null +++ b/tools/node_modules/@babel/core/node_modules/caniuse-lite/data/regions/SL.js @@ -0,0 +1 @@ +module.exports={C:{"17":0.00954,"23":0.00477,"30":0.00954,"35":0.00716,"41":0.00716,"43":0.02862,"44":0.02385,"45":0.00239,"47":0.00954,"48":0.00477,"56":0.00477,"62":0.00477,"70":0.00477,"72":0.01193,"76":0.00716,"78":0.01908,"81":0.00239,"82":0.01431,"84":0.00477,"85":0.00477,"86":0.02624,"87":0.03101,"88":0.9707,"89":0.14072,_:"2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 18 19 20 21 22 24 25 26 27 28 29 31 32 33 34 36 37 38 39 40 42 46 49 50 51 52 53 54 55 57 58 59 60 61 63 64 65 66 67 68 69 71 73 74 75 77 79 80 83 90 91 3.5 3.6"},D:{"23":0.00477,"24":0.00477,"30":0.00477,"33":0.09779,"39":0.00239,"42":0.00477,"43":0.00477,"46":0.00477,"48":0.0167,"49":0.00239,"50":0.00954,"55":0.00477,"56":0.00477,"57":0.00716,"60":0.02624,"61":0.00239,"62":0.00716,"63":0.01431,"64":0.00716,"65":0.01193,"67":0.00716,"69":0.00477,"70":0.00716,"71":0.00239,"72":0.01193,"74":0.01908,"75":0.0167,"76":0.02862,"77":0.00477,"78":0.01193,"79":0.04293,"80":0.02385,"81":0.01908,"83":0.06917,"84":0.00954,"85":0.0167,"86":0.03339,"87":0.10017,"88":0.06201,"89":0.30051,"90":7.7274,"91":0.20511,"92":0.00477,_:"4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 25 26 27 28 29 31 32 34 35 36 37 38 40 41 44 45 47 51 52 53 54 58 59 66 68 73 93 94"},F:{"16":0.00239,"18":0.00239,"36":0.00477,"37":0.01431,"42":0.00954,"43":0.00477,"45":0.00477,"51":0.00477,"62":0.00716,"63":0.00239,"68":0.00477,"73":0.02385,"74":0.03578,"75":0.41261,"76":0.80852,_:"9 11 12 15 17 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 38 39 40 41 44 46 47 48 49 50 52 53 54 55 56 57 58 60 64 65 66 67 69 70 71 72 9.5-9.6 10.5 10.6 11.1 11.5 12.1","10.0-10.1":0,"11.6":0.00239},G:{"8":0,"3.2":0,"4.0-4.1":0,"4.2-4.3":0.02229,"5.0-5.1":0.00057,"6.0-6.1":0,"7.0-7.1":0.10287,"8.1-8.4":0.00114,"9.0-9.2":0.00171,"9.3":0.10687,"10.0-10.2":0.00572,"10.3":0.06287,"11.0-11.2":0.05201,"11.3-11.4":0.04858,"12.0-12.1":0.05315,"12.2-12.4":0.1886,"13.0-13.1":0.0703,"13.2":0.04058,"13.3":0.15088,"13.4-13.7":0.4132,"14.0-14.4":3.50909,"14.5-14.6":0.50007},E:{"4":0,"8":0.00239,"11":0.00239,"13":0.00954,"14":0.35537,_:"0 5 6 7 9 10 12 3.1 3.2 6.1 9.1","5.1":0.30528,"7.1":0.00239,"10.1":0.01431,"11.1":0.01431,"12.1":0.31959,"13.1":0.04532,"14.1":0.15503},B:{"12":0.06917,"13":0.05486,"14":0.02385,"15":0.02385,"16":0.03339,"17":0.01908,"18":0.1431,"80":0.00716,"84":0.01431,"85":0.02385,"86":0.00239,"87":0.00954,"88":0.02147,"89":0.19796,"90":1.97717,"91":0.12879,_:"79 81 83"},P:{"4":0.15576,"5.0-5.4":0.04154,"6.2-6.4":0.02077,"7.2-7.4":0.10384,"8.2":0.0406,"9.2":0.18691,"10.1":0.16238,"11.1-11.2":0.14538,"12.0":0.07269,"13.0":0.2596,"14.0":0.72689},I:{"0":0,"3":0,"4":0,"2.1":0,"2.2":0,"2.3":0,"4.1":0.00082,"4.2-4.3":0.00245,"4.4":0,"4.4.3-4.4.4":0.08811},K:{_:"0 10 11 12 11.1 11.5 12.1"},A:{"8":0.07623,"10":0.01525,"11":0.76235,_:"6 7 9 5.5"},J:{"7":0,"10":0.03808},N:{"10":0.01297,_:"11"},S:{"2.5":0.03808},R:{_:"0"},M:{"0":0.22084},Q:{"10.4":0.01523},O:{"0":1.88091},H:{"0":20.28001},L:{"0":51.95679}}; diff --git a/tools/node_modules/@babel/core/node_modules/caniuse-lite/data/regions/SM.js b/tools/node_modules/@babel/core/node_modules/caniuse-lite/data/regions/SM.js new file mode 100644 index 00000000000000..4c177be902cb5d --- /dev/null +++ b/tools/node_modules/@babel/core/node_modules/caniuse-lite/data/regions/SM.js @@ -0,0 +1 @@ +module.exports={C:{"47":0.00678,"48":0.02034,"52":0.09493,"56":0.04069,"60":0.15596,"78":0.1424,"83":0.08815,"84":0.05425,"85":0.01356,"86":0.23734,"87":0.05425,"88":6.48264,_:"2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 49 50 51 53 54 55 57 58 59 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 79 80 81 82 89 90 91 3.5 3.6"},D:{"49":0.19665,"53":0.02034,"62":0.01356,"63":0.08815,"65":0.00678,"66":0.01356,"68":0.03391,"71":0.01356,"73":0.02712,"76":0.08137,"77":0.08815,"79":0.04747,"81":0.03391,"83":0.00678,"86":0.08137,"87":0.1085,"88":0.26446,"89":0.65098,"90":38.23806,"91":1.47148,_:"4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 50 51 52 54 55 56 57 58 59 60 61 64 67 69 70 72 74 75 78 80 84 85 92 93 94"},F:{"73":0.02034,"75":0.1424,"76":0.18987,_:"9 11 12 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 60 62 63 64 65 66 67 68 69 70 71 72 74 9.5-9.6 10.5 10.6 11.1 11.5 11.6 12.1","10.0-10.1":0},G:{"8":0,"3.2":0,"4.0-4.1":0,"4.2-4.3":0,"5.0-5.1":0,"6.0-6.1":0,"7.0-7.1":0.10233,"8.1-8.4":0,"9.0-9.2":0,"9.3":0.1891,"10.0-10.2":0.01064,"10.3":0.13507,"11.0-11.2":0.00655,"11.3-11.4":0.01555,"12.0-12.1":0.00655,"12.2-12.4":0.06958,"13.0-13.1":0.06713,"13.2":0,"13.3":0.06058,"13.4-13.7":0.18582,"14.0-14.4":5.41588,"14.5-14.6":0.86854},E:{"4":0,"10":0.03391,"12":0.02034,"13":0.1085,"14":2.16314,_:"0 5 6 7 8 9 11 3.1 3.2 5.1 6.1 7.1 9.1","10.1":0.04747,"11.1":0.43398,"12.1":0.16274,"13.1":0.71201,"14.1":1.24092},B:{"18":0.08815,"85":0.01356,"89":0.03391,"90":11.55482,"91":0.56282,_:"12 13 14 15 16 17 79 80 81 83 84 86 87 88"},P:{"4":0.16089,"5.0-5.4":0.02077,"6.2-6.4":0.04055,"7.2-7.4":0.76023,"8.2":0.10461,"9.2":0.16218,"10.1":0.59805,"11.1-11.2":0.06435,"12.0":0.13177,"13.0":0.07508,"14.0":5.1591},I:{"0":0,"3":0,"4":0,"2.1":0,"2.2":0,"2.3":0,"4.1":0,"4.2-4.3":0,"4.4":0,"4.4.3-4.4.4":0.05794},K:{_:"0 10 11 12 11.1 11.5 12.1"},A:{"11":0.50179,_:"6 7 8 9 10 5.5"},J:{"7":0,"10":0},N:{_:"10 11"},S:{"2.5":0},R:{_:"0"},M:{"0":0.10623},Q:{"10.4":0},O:{"0":0},H:{"0":0.08838},L:{"0":19.95073}}; diff --git a/tools/node_modules/@babel/core/node_modules/caniuse-lite/data/regions/SN.js b/tools/node_modules/@babel/core/node_modules/caniuse-lite/data/regions/SN.js new file mode 100644 index 00000000000000..354593eda4b0f1 --- /dev/null +++ b/tools/node_modules/@babel/core/node_modules/caniuse-lite/data/regions/SN.js @@ -0,0 +1 @@ +module.exports={C:{"15":0.0051,"34":0.0051,"35":0.01275,"41":0.0051,"42":0.0153,"43":0.00765,"45":0.00765,"47":0.0051,"48":0.0051,"51":0.00765,"52":0.01785,"53":0.0051,"56":0.00255,"64":0.00765,"66":0.00765,"67":0.0051,"68":0.0102,"70":0.0153,"72":0.0153,"75":0.0561,"77":0.0051,"78":0.11475,"80":0.0306,"81":0.01275,"82":0.0102,"83":0.00765,"84":0.03315,"85":0.0408,"86":0.02295,"87":0.0306,"88":2.1165,"89":0.01785,_:"2 3 4 5 6 7 8 9 10 11 12 13 14 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 36 37 38 39 40 44 46 49 50 54 55 57 58 59 60 61 62 63 65 69 71 73 74 76 79 90 91 3.5 3.6"},D:{"11":0.00255,"38":0.00765,"43":0.00765,"49":0.102,"53":0.0051,"55":0.00765,"56":0.00765,"58":0.00255,"59":0.0051,"60":0.00765,"62":0.00255,"63":0.0153,"64":0.0153,"65":0.0306,"67":0.07905,"68":0.0102,"69":0.0459,"70":0.03315,"71":0.00765,"72":0.0102,"73":0.0153,"74":0.0255,"75":0.0153,"76":0.0204,"77":0.00765,"78":0.0051,"79":0.0408,"80":0.03315,"81":0.0408,"83":0.02295,"84":0.0255,"85":0.07395,"86":0.03825,"87":0.14025,"88":0.32895,"89":0.2856,"90":11.4291,"91":0.47685,"92":0.0051,_:"4 5 6 7 8 9 10 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 39 40 41 42 44 45 46 47 48 50 51 52 54 57 61 66 93 94"},F:{"36":0.00255,"70":0.0102,"72":0.00765,"73":0.0051,"74":0.02295,"75":0.2091,"76":0.4641,_:"9 11 12 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 60 62 63 64 65 66 67 68 69 71 9.5-9.6 10.5 10.6 11.1 11.5 11.6 12.1","10.0-10.1":0},G:{"8":0.00389,"3.2":0,"4.0-4.1":0,"4.2-4.3":0,"5.0-5.1":0,"6.0-6.1":0.00259,"7.0-7.1":0.01943,"8.1-8.4":0.01036,"9.0-9.2":0.0013,"9.3":0.12692,"10.0-10.2":0.01684,"10.3":0.33026,"11.0-11.2":0.1321,"11.3-11.4":0.13081,"12.0-12.1":0.12304,"12.2-12.4":0.40667,"13.0-13.1":0.05699,"13.2":0.03367,"13.3":0.27457,"13.4-13.7":0.75636,"14.0-14.4":8.29663,"14.5-14.6":1.44925},E:{"4":0,"10":0.0051,"11":0.00255,"12":0.00765,"13":0.02295,"14":0.34935,_:"0 5 6 7 8 9 3.1 3.2 6.1 7.1","5.1":0.0204,"9.1":0.00765,"10.1":0.0153,"11.1":0.03315,"12.1":0.0306,"13.1":0.09435,"14.1":0.1275},B:{"12":0.02295,"13":0.00765,"14":0.0051,"15":0.0153,"16":0.0153,"17":0.02295,"18":0.0816,"84":0.00765,"85":0.0102,"86":0.0153,"87":0.00765,"88":0.0102,"89":0.0561,"90":1.51725,"91":0.0867,_:"79 80 81 83"},P:{"4":0.47785,"5.0-5.4":0.02072,"6.2-6.4":0.0305,"7.2-7.4":0.47785,"8.2":0.01036,"9.2":0.16267,"10.1":0.05084,"11.1-11.2":0.51852,"12.0":0.21351,"13.0":0.70153,"14.0":1.76908},I:{"0":0,"3":0,"4":0,"2.1":0,"2.2":0,"2.3":0,"4.1":0.00454,"4.2-4.3":0.00738,"4.4":0,"4.4.3-4.4.4":0.08491},K:{_:"0 10 11 12 11.1 11.5 12.1"},A:{"11":0.34935,_:"6 7 8 9 10 5.5"},J:{"7":0,"10":0.0149},N:{_:"10 11"},S:{"2.5":0.02235},R:{_:"0"},M:{"0":0.19367},Q:{"10.4":0},O:{"0":0.10429},H:{"0":0.43724},L:{"0":62.4297}}; diff --git a/tools/node_modules/@babel/core/node_modules/caniuse-lite/data/regions/SO.js b/tools/node_modules/@babel/core/node_modules/caniuse-lite/data/regions/SO.js new file mode 100644 index 00000000000000..08abf470669e70 --- /dev/null +++ b/tools/node_modules/@babel/core/node_modules/caniuse-lite/data/regions/SO.js @@ -0,0 +1 @@ +module.exports={C:{"78":0.00242,"84":0.00726,"87":0.00726,"88":0.61201,"89":0.02177,_:"2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 79 80 81 82 83 85 86 90 91 3.5 3.6"},D:{"11":0.03387,"21":0.00484,"22":0.00726,"33":0.00968,"37":0.00726,"38":0.00484,"43":0.04354,"45":0.00726,"49":0.01451,"53":0.00242,"57":0.00726,"62":0.04596,"63":0.03145,"64":0.00968,"65":0.00484,"67":0.00242,"68":0.01693,"70":0.01451,"71":0.00968,"72":0.00726,"73":0.00242,"75":0.00968,"76":0.00726,"77":0.00242,"78":0.00726,"79":0.04596,"80":0.02177,"81":0.04838,"83":0.00968,"84":0.0121,"85":0.02419,"86":0.05322,"87":0.09434,"88":0.91922,"89":0.39914,"90":14.8575,"91":0.52976,"92":0.01935,_:"4 5 6 7 8 9 10 12 13 14 15 16 17 18 19 20 23 24 25 26 27 28 29 30 31 32 34 35 36 39 40 41 42 44 46 47 48 50 51 52 54 55 56 58 59 60 61 66 69 74 93 94"},F:{"28":0.00726,"62":0.00484,"64":0.00242,"73":0.00484,"74":0.00968,"75":0.23464,"76":0.36527,_:"9 11 12 15 16 17 18 19 20 21 22 23 24 25 26 27 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 60 63 65 66 67 68 69 70 71 72 9.5-9.6 10.5 10.6 11.1 11.5 11.6 12.1","10.0-10.1":0},G:{"8":0,"3.2":0,"4.0-4.1":0,"4.2-4.3":0,"5.0-5.1":0,"6.0-6.1":0,"7.0-7.1":0.01278,"8.1-8.4":0,"9.0-9.2":0,"9.3":0.07031,"10.0-10.2":0.00852,"10.3":0.08576,"11.0-11.2":0.01758,"11.3-11.4":0.01864,"12.0-12.1":0.0229,"12.2-12.4":0.18324,"13.0-13.1":0.0538,"13.2":0.01864,"13.3":0.1353,"13.4-13.7":0.57688,"14.0-14.4":2.96323,"14.5-14.6":0.63813},E:{"4":0,"11":0.00726,"13":0.00726,"14":0.24916,_:"0 5 6 7 8 9 10 12 3.1 3.2 6.1 7.1 9.1","5.1":0.24674,"10.1":0.04112,"11.1":0.00484,"12.1":0.00726,"13.1":0.04838,"14.1":0.04112},B:{"12":0.02661,"13":0.0508,"14":0.00726,"15":0.00726,"16":0.0121,"17":0.0121,"18":0.09918,"80":0.00242,"81":0.00242,"84":0.0121,"85":0.02177,"86":0.00242,"87":0.00484,"88":0.01693,"89":0.04838,"90":1.15628,"91":0.05806,_:"79 83"},P:{"4":0.8402,"5.0-5.4":0.08098,"6.2-6.4":0.20246,"7.2-7.4":0.89081,"8.2":0.0406,"9.2":0.11135,"10.1":0.04049,"11.1-11.2":0.85032,"12.0":0.2227,"13.0":1.20462,"14.0":1.86261},I:{"0":0,"3":0,"4":0,"2.1":0,"2.2":0,"2.3":0,"4.1":0,"4.2-4.3":0.01775,"4.4":0,"4.4.3-4.4.4":0.25513},K:{_:"0 10 11 12 11.1 11.5 12.1"},A:{"11":0.07741,_:"6 7 8 9 10 5.5"},J:{"7":0,"10":0},N:{"10":0.01297,"11":0.01825},S:{"2.5":0.01516},R:{_:"0"},M:{"0":0.06822},Q:{"10.4":0},O:{"0":2.28916},H:{"0":7.57812},L:{"0":56.94884}}; diff --git a/tools/node_modules/@babel/core/node_modules/caniuse-lite/data/regions/SR.js b/tools/node_modules/@babel/core/node_modules/caniuse-lite/data/regions/SR.js new file mode 100644 index 00000000000000..1eeeea66231ed1 --- /dev/null +++ b/tools/node_modules/@babel/core/node_modules/caniuse-lite/data/regions/SR.js @@ -0,0 +1 @@ +module.exports={C:{"52":0.01071,"78":0.01071,"80":0.01428,"86":0.01786,"87":0.025,"88":1.58552,"89":0.01071,_:"2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 79 81 82 83 84 85 90 91 3.5 3.6"},D:{"22":0.00357,"38":0.01786,"39":0.01071,"49":3.44959,"53":0.01428,"55":0.00714,"62":0.00357,"63":0.07499,"65":0.00714,"66":0.00357,"67":0.00714,"68":0.01786,"69":0.00714,"70":0.00357,"71":0.00714,"73":0.00714,"74":0.01428,"75":0.04285,"76":0.06785,"79":0.06071,"80":0.03214,"81":0.04285,"83":0.025,"84":0.00714,"85":0.01786,"86":0.02143,"87":0.56065,"88":0.16784,"89":0.51065,"90":19.95118,"91":0.62493,"92":0.00357,_:"4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 40 41 42 43 44 45 46 47 48 50 51 52 54 56 57 58 59 60 61 64 72 77 78 93 94"},F:{"56":0.00357,"63":0.04285,"68":0.01786,"73":0.02143,"74":0.02143,"75":0.33925,"76":0.39281,_:"9 11 12 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 57 58 60 62 64 65 66 67 69 70 71 72 9.5-9.6 10.5 10.6 11.1 11.5 11.6 12.1","10.0-10.1":0},G:{"8":0,"3.2":0,"4.0-4.1":0,"4.2-4.3":0,"5.0-5.1":0.0677,"6.0-6.1":0,"7.0-7.1":0.07616,"8.1-8.4":0.02962,"9.0-9.2":0.00106,"9.3":0.14492,"10.0-10.2":0.00106,"10.3":0.18618,"11.0-11.2":0.01375,"11.3-11.4":0.02116,"12.0-12.1":0.03068,"12.2-12.4":0.17031,"13.0-13.1":0.08145,"13.2":0.00635,"13.3":0.17031,"13.4-13.7":0.34379,"14.0-14.4":6.31312,"14.5-14.6":1.87659},E:{"4":0,"12":0.00357,"13":0.00714,"14":1.06416,_:"0 5 6 7 8 9 10 11 3.1 3.2 6.1 7.1 9.1","5.1":0.13927,"10.1":0.00357,"11.1":0.06071,"12.1":0.02143,"13.1":0.08928,"14.1":0.25711},B:{"12":0.01071,"13":0.00357,"14":0.01428,"15":0.00357,"16":0.01428,"17":0.01428,"18":0.06071,"84":0.01071,"87":0.01071,"88":0.00714,"89":0.08928,"90":2.99607,"91":0.17855,_:"79 80 81 83 85 86"},P:{"4":1.01626,"5.0-5.4":0.08039,"6.2-6.4":0.12058,"7.2-7.4":0.74937,"8.2":0.04106,"9.2":0.15398,"10.1":0.07186,"11.1-11.2":0.4722,"12.0":0.2669,"13.0":2.17624,"14.0":6.30288},I:{"0":0,"3":0,"4":0,"2.1":0,"2.2":0,"2.3":0,"4.1":0.00333,"4.2-4.3":0.00524,"4.4":0,"4.4.3-4.4.4":0.04286},K:{_:"0 10 11 12 11.1 11.5 12.1"},A:{"11":0.19283,_:"6 7 8 9 10 5.5"},J:{"7":0,"10":0},N:{"10":0.01297,"11":0.01825},S:{"2.5":0},R:{_:"0"},M:{"0":0.12215},Q:{"10.4":0.07715},O:{"0":0.46289},H:{"0":0.48692},L:{"0":44.03187}}; diff --git a/tools/node_modules/@babel/core/node_modules/caniuse-lite/data/regions/ST.js b/tools/node_modules/@babel/core/node_modules/caniuse-lite/data/regions/ST.js new file mode 100644 index 00000000000000..7fa0ca36ae8e8e --- /dev/null +++ b/tools/node_modules/@babel/core/node_modules/caniuse-lite/data/regions/ST.js @@ -0,0 +1 @@ +module.exports={C:{"42":0.04359,"49":0.01453,"68":0.01453,"72":0.00484,"74":0.00484,"77":0.05812,"78":0.00484,"81":0.0339,"87":0.01937,"88":1.12358,_:"2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 43 44 45 46 47 48 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 69 70 71 73 75 76 79 80 82 83 84 85 86 89 90 91 3.5 3.6"},D:{"36":0.07749,"43":0.21794,"49":0.01937,"53":0.07265,"54":0.01937,"55":0.01453,"57":0.00484,"60":0.00484,"62":0.01453,"64":0.08717,"65":0.02422,"66":0.01453,"67":0.01453,"68":0.02422,"69":0.05812,"70":0.05812,"72":0.01937,"75":0.00484,"77":0.0339,"78":0.02422,"79":0.26637,"80":0.00484,"81":0.12592,"83":0.00484,"84":0.05327,"85":0.00484,"86":0.04359,"87":0.43103,"88":0.03874,"89":3.10436,"90":24.21016,"91":0.63928,"92":0.02422,_:"4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 37 38 39 40 41 42 44 45 46 47 48 50 51 52 56 58 59 61 63 71 73 74 76 93 94"},F:{"73":0.01937,"75":1.32214,"76":1.72411,_:"9 11 12 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 60 62 63 64 65 66 67 68 69 70 71 72 74 9.5-9.6 10.5 10.6 11.1 11.5 11.6 12.1","10.0-10.1":0},G:{"8":0,"3.2":0,"4.0-4.1":0,"4.2-4.3":0,"5.0-5.1":0,"6.0-6.1":0,"7.0-7.1":0.07956,"8.1-8.4":0,"9.0-9.2":0,"9.3":1.93799,"10.0-10.2":0,"10.3":0.05344,"11.0-11.2":0.27312,"11.3-11.4":0.02612,"12.0-12.1":0,"12.2-12.4":0,"13.0-13.1":0.00831,"13.2":0,"13.3":0,"13.4-13.7":0.19356,"14.0-14.4":3.73585,"14.5-14.6":0.49281},E:{"4":0,"14":0.31964,_:"0 5 6 7 8 9 10 11 12 13 3.1 3.2 5.1 6.1 7.1 9.1 10.1 11.1 12.1","13.1":0.05327,"14.1":0.57632},B:{"13":0.00484,"14":0.00484,"15":0.01937,"17":0.01453,"18":0.06296,"83":0.00484,"84":0.04359,"87":0.01453,"89":0.08717,"90":3.7049,"91":0.22762,_:"12 16 79 80 81 85 86 88"},P:{"4":0.5353,"5.0-5.4":0.02077,"6.2-6.4":0.03149,"7.2-7.4":0.0105,"8.2":0.10461,"9.2":0.0105,"10.1":0.59805,"11.1-11.2":0.2834,"12.0":0.23092,"13.0":0.18893,"14.0":1.06011},I:{"0":0,"3":0,"4":0.00074,"2.1":0,"2.2":0,"2.3":0,"4.1":0.03116,"4.2-4.3":0.02857,"4.4":0,"4.4.3-4.4.4":0.19217},K:{_:"0 10 11 12 11.1 11.5 12.1"},A:{"11":0.586,_:"6 7 8 9 10 5.5"},J:{"7":0,"10":0},N:{_:"10 11"},S:{"2.5":0},R:{_:"0"},M:{"0":0.05672},Q:{"10.4":0.02062},O:{"0":3.0936},H:{"0":0.47349},L:{"0":44.7367}}; diff --git a/tools/node_modules/@babel/core/node_modules/caniuse-lite/data/regions/SV.js b/tools/node_modules/@babel/core/node_modules/caniuse-lite/data/regions/SV.js new file mode 100644 index 00000000000000..10ba4bd0bd673a --- /dev/null +++ b/tools/node_modules/@babel/core/node_modules/caniuse-lite/data/regions/SV.js @@ -0,0 +1 @@ +module.exports={C:{"52":0.04026,"56":0.01007,"60":0.0151,"62":0.0151,"64":0.01007,"66":0.34224,"67":0.00503,"68":0.01007,"70":0.0453,"72":0.01007,"73":0.08053,"75":0.01007,"78":0.08556,"80":0.01007,"82":0.00503,"84":0.01007,"85":0.02013,"86":0.02013,"87":0.06543,"88":2.58696,"89":0.04026,_:"2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 53 54 55 57 58 59 61 63 65 69 71 74 76 77 79 81 83 90 91 3.5 3.6"},D:{"38":0.01007,"43":0.01007,"49":0.14092,"53":0.0453,"55":0.00503,"63":0.01007,"65":0.01007,"66":0.00503,"67":0.02013,"68":0.01007,"69":0.01007,"70":0.02013,"71":0.0151,"72":0.01007,"73":0.01007,"74":0.02013,"75":0.0302,"76":0.05033,"77":0.02517,"78":0.02013,"79":0.0755,"80":0.04026,"81":0.0604,"83":0.06543,"84":0.05536,"85":0.04026,"86":0.07046,"87":0.31205,"88":0.19125,"89":0.75495,"90":32.26153,"91":1.24818,"92":0.02013,_:"4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 39 40 41 42 44 45 46 47 48 50 51 52 54 56 57 58 59 60 61 62 64 93 94"},F:{"36":0.00503,"73":0.21139,"75":0.86064,"76":0.68952,_:"9 11 12 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 60 62 63 64 65 66 67 68 69 70 71 72 74 9.5-9.6 10.5 10.6 11.1 11.5 11.6 12.1","10.0-10.1":0},G:{"8":0,"3.2":0.00049,"4.0-4.1":0,"4.2-4.3":0,"5.0-5.1":0.00443,"6.0-6.1":0,"7.0-7.1":0.01131,"8.1-8.4":0.00148,"9.0-9.2":0.00344,"9.3":0.07427,"10.0-10.2":0.00344,"10.3":0.03148,"11.0-11.2":0.00935,"11.3-11.4":0.01918,"12.0-12.1":0.0123,"12.2-12.4":0.07378,"13.0-13.1":0.01426,"13.2":0.02017,"13.3":0.04919,"13.4-13.7":0.151,"14.0-14.4":3.1705,"14.5-14.6":0.98322},E:{"4":0,"12":0.01007,"13":0.06543,"14":0.81031,_:"0 5 6 7 8 9 10 11 3.1 3.2 6.1 7.1 9.1 10.1","5.1":0.80025,"11.1":0.02013,"12.1":0.0604,"13.1":0.17616,"14.1":0.38754},B:{"12":0.00503,"13":0.01007,"15":0.01007,"16":0.00503,"17":0.02013,"18":0.05536,"81":0.00503,"84":0.00503,"85":0.01007,"88":0.02517,"89":0.05033,"90":2.35041,"91":0.16609,_:"14 79 80 83 86 87"},P:{"4":0.18679,"5.0-5.4":0.02014,"6.2-6.4":0.02156,"7.2-7.4":0.12452,"8.2":0.02014,"9.2":0.09339,"10.1":0.02075,"11.1-11.2":0.23867,"12.0":0.11415,"13.0":0.42546,"14.0":1.69145},I:{"0":0,"3":0,"4":0,"2.1":0,"2.2":0,"2.3":0,"4.1":0.00288,"4.2-4.3":0.00721,"4.4":0,"4.4.3-4.4.4":0.0793},K:{_:"0 10 11 12 11.1 11.5 12.1"},A:{"11":0.14092,_:"6 7 8 9 10 5.5"},J:{"7":0,"10":0.0149},N:{"10":0.02735,"11":0.35567},S:{"2.5":0},R:{_:"0"},M:{"0":0.92368},Q:{"10.4":0},O:{"0":0.17878},H:{"0":0.22097},L:{"0":44.48776}}; diff --git a/tools/node_modules/@babel/core/node_modules/caniuse-lite/data/regions/SY.js b/tools/node_modules/@babel/core/node_modules/caniuse-lite/data/regions/SY.js new file mode 100644 index 00000000000000..0da6f908a245f6 --- /dev/null +++ b/tools/node_modules/@babel/core/node_modules/caniuse-lite/data/regions/SY.js @@ -0,0 +1 @@ +module.exports={C:{"30":0.0037,"31":0.00185,"33":0.00185,"38":0.00185,"41":0.0037,"43":0.0037,"47":0.0074,"48":0.0037,"50":0.00926,"52":0.07219,"56":0.01851,"58":0.00555,"60":0.00185,"61":0.00185,"62":0.0037,"64":0.00185,"66":0.0037,"67":0.0037,"68":0.00185,"72":0.01481,"74":0.0037,"76":0.0037,"78":0.01666,"79":0.00185,"80":0.00926,"81":0.0074,"82":0.00926,"83":0.00555,"84":0.03332,"85":0.02221,"86":0.03332,"87":0.05553,"88":1.53263,"89":0.02777,_:"2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 32 34 35 36 37 39 40 42 44 45 46 49 51 53 54 55 57 59 63 65 69 70 71 73 75 77 90 91 3.5 3.6"},D:{"11":0.00185,"25":0.00185,"28":0.00185,"32":0.0037,"33":0.00555,"34":0.0037,"36":0.00185,"38":0.01296,"40":0.00555,"42":0.0037,"43":0.01666,"44":0.0074,"47":0.0037,"49":0.02221,"50":0.0037,"52":0.00555,"53":0.02406,"55":0.00555,"56":0.0037,"57":0.0037,"58":0.01481,"59":0.0074,"60":0.00555,"61":0.01851,"62":0.00926,"63":0.03702,"64":0.0037,"65":0.0037,"66":0.00555,"67":0.00555,"68":0.00926,"69":0.01296,"70":0.25359,"71":0.01666,"72":0.01296,"73":0.01296,"74":0.01111,"75":0.01296,"76":0.01111,"77":0.01296,"78":0.02221,"79":0.07959,"80":0.03702,"81":0.14808,"83":0.02591,"84":0.02591,"85":0.04998,"86":0.06479,"87":0.08515,"88":0.15734,"89":0.48681,"90":9.01437,"91":0.30542,"92":0.0074,_:"4 5 6 7 8 9 10 12 13 14 15 16 17 18 19 20 21 22 23 24 26 27 29 30 31 35 37 39 41 45 46 48 51 54 93 94"},F:{"54":0.00185,"66":0.00185,"71":0.01851,"73":0.02036,"74":0.03332,"75":0.29431,"76":0.39056,_:"9 11 12 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 55 56 57 58 60 62 63 64 65 67 68 69 70 72 9.5-9.6 10.5 10.6 11.1 11.5 11.6 12.1","10.0-10.1":0},G:{"8":0,"3.2":0,"4.0-4.1":0,"4.2-4.3":0.00028,"5.0-5.1":0.00987,"6.0-6.1":0.00226,"7.0-7.1":0.03553,"8.1-8.4":0.00451,"9.0-9.2":0.00197,"9.3":0.07756,"10.0-10.2":0.01749,"10.3":0.0612,"11.0-11.2":0.02172,"11.3-11.4":0.05894,"12.0-12.1":0.09138,"12.2-12.4":0.26538,"13.0-13.1":0.03215,"13.2":0.00761,"13.3":0.0612,"13.4-13.7":0.19685,"14.0-14.4":1.36132,"14.5-14.6":0.2431},E:{"4":0,"13":0.01111,"14":0.11661,_:"0 5 6 7 8 9 10 11 12 3.1 3.2 6.1 7.1 9.1 10.1","5.1":2.55808,"11.1":0.0037,"12.1":0.01481,"13.1":0.02962,"14.1":0.01666},B:{"12":0.0037,"15":0.00555,"16":0.00555,"17":0.00926,"18":0.04628,"84":0.00926,"85":0.0037,"87":0.0037,"88":0.0037,"89":0.03332,"90":0.61638,"91":0.03332,_:"13 14 79 80 81 83 86"},P:{"4":2.17519,"5.0-5.4":0.08019,"6.2-6.4":0.18043,"7.2-7.4":0.40096,"8.2":0.05012,"9.2":0.41098,"10.1":0.31074,"11.1-11.2":0.48115,"12.0":0.44105,"13.0":1.53366,"14.0":2.5561},I:{"0":0,"3":0,"4":0.00226,"2.1":0,"2.2":0,"2.3":0,"4.1":0.02873,"4.2-4.3":0.0452,"4.4":0,"4.4.3-4.4.4":0.23343},K:{_:"0 10 11 12 11.1 11.5 12.1"},A:{"8":0.00555,"9":0.00185,"11":0.0833,_:"6 7 10 5.5"},J:{"7":0,"10":0},N:{"10":0.01297,"11":0.01825},S:{"2.5":0},R:{_:"0"},M:{"0":0.14666},Q:{"10.4":0},O:{"0":1.13257},H:{"0":1.47337},L:{"0":67.83065}}; diff --git a/tools/node_modules/@babel/core/node_modules/caniuse-lite/data/regions/SZ.js b/tools/node_modules/@babel/core/node_modules/caniuse-lite/data/regions/SZ.js new file mode 100644 index 00000000000000..c2e7913cc357e9 --- /dev/null +++ b/tools/node_modules/@babel/core/node_modules/caniuse-lite/data/regions/SZ.js @@ -0,0 +1 @@ +module.exports={C:{"10":0.0152,"52":0.01823,"60":0.04255,"67":0.00304,"68":0.0152,"72":0.00608,"77":0.00912,"78":0.03343,"80":0.00912,"83":0.01216,"84":0.01216,"85":0.01823,"86":0.02431,"87":0.06078,"88":1.04542,"89":0.01823,_:"2 3 4 5 6 7 8 9 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 53 54 55 56 57 58 59 61 62 63 64 65 66 69 70 71 73 74 75 76 79 81 82 90 91 3.5 3.6"},D:{"11":0.00608,"25":0.0152,"40":0.0152,"43":0.00912,"47":0.00304,"49":0.01216,"56":0.00608,"57":0.01216,"58":0.00608,"60":0.00304,"63":0.01216,"64":0.00912,"66":0.00912,"69":0.02431,"70":0.08509,"72":0.00608,"73":0.00304,"74":0.00912,"76":0.00608,"78":0.00912,"79":0.01823,"80":0.01216,"81":0.04862,"83":0.02735,"84":0.00608,"85":0.01216,"86":0.22489,"87":0.31302,"88":0.13372,"89":0.50144,"90":12.63616,"91":0.38595,"92":0.00912,_:"4 5 6 7 8 9 10 12 13 14 15 16 17 18 19 20 21 22 23 24 26 27 28 29 30 31 32 33 34 35 36 37 38 39 41 42 44 45 46 48 50 51 52 53 54 55 59 61 62 65 67 68 71 75 77 93 94"},F:{"29":0.00304,"42":0.00608,"63":0.01216,"69":0.00608,"70":0.00608,"72":0.00304,"73":0.02127,"74":0.01823,"75":0.51967,"76":0.90258,_:"9 11 12 15 16 17 18 19 20 21 22 23 24 25 26 27 28 30 31 32 33 34 35 36 37 38 39 40 41 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 60 62 64 65 66 67 68 71 9.5-9.6 10.5 10.6 11.1 11.5 11.6 12.1","10.0-10.1":0},G:{"8":0,"3.2":0.00029,"4.0-4.1":0,"4.2-4.3":0.00972,"5.0-5.1":0.00206,"6.0-6.1":0.00854,"7.0-7.1":0.00559,"8.1-8.4":0.00206,"9.0-9.2":0.00206,"9.3":0.03651,"10.0-10.2":0.00412,"10.3":0.23375,"11.0-11.2":0.01384,"11.3-11.4":0.00942,"12.0-12.1":0.04769,"12.2-12.4":0.10981,"13.0-13.1":0.01972,"13.2":0.00265,"13.3":0.0421,"13.4-13.7":0.17222,"14.0-14.4":1.75226,"14.5-14.6":0.18429},E:{"4":0,"7":0.00304,"13":0.01216,"14":0.19146,_:"0 5 6 8 9 10 11 12 3.1 3.2 6.1 7.1 9.1 11.1","5.1":0.12156,"10.1":0.00304,"12.1":0.01216,"13.1":0.14283,"14.1":0.17018},B:{"12":0.04862,"13":0.0152,"14":0.02127,"15":0.0547,"16":0.03039,"17":0.03343,"18":0.3039,"80":0.01216,"84":0.0152,"85":0.01216,"86":0.00912,"87":0.00608,"88":0.11244,"89":0.09421,"90":1.96623,"91":0.08205,_:"79 81 83"},P:{"4":0.86038,"5.0-5.4":0.01012,"6.2-6.4":0.01012,"7.2-7.4":0.51623,"8.2":0.02024,"9.2":0.04049,"10.1":0.03037,"11.1-11.2":0.23281,"12.0":0.07085,"13.0":0.35427,"14.0":1.95356},I:{"0":0,"3":0,"4":0.00118,"2.1":0,"2.2":0,"2.3":0,"4.1":0.00166,"4.2-4.3":0.00426,"4.4":0,"4.4.3-4.4.4":0.11818},K:{_:"0 10 11 12 11.1 11.5 12.1"},A:{"9":0.01199,"11":0.49552,_:"6 7 8 10 5.5"},J:{"7":0,"10":0.02088},N:{"10":0.01297,"11":0.01825},S:{"2.5":0.2088},R:{_:"0"},M:{"0":0.0348},Q:{"10.4":0},O:{"0":0.68208},H:{"0":19.1155},L:{"0":50.07158}}; diff --git a/tools/node_modules/@babel/core/node_modules/caniuse-lite/data/regions/TC.js b/tools/node_modules/@babel/core/node_modules/caniuse-lite/data/regions/TC.js new file mode 100644 index 00000000000000..8fa09bb43a8d12 --- /dev/null +++ b/tools/node_modules/@babel/core/node_modules/caniuse-lite/data/regions/TC.js @@ -0,0 +1 @@ +module.exports={C:{"52":0.01557,"70":0.01038,"78":0.01038,"87":0.05709,"88":0.9342,_:"2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 71 72 73 74 75 76 77 79 80 81 82 83 84 85 86 89 90 91 3.5 3.6"},D:{"49":0.07266,"52":0.01038,"53":0.25431,"58":0.00519,"67":0.02076,"74":0.29064,"76":0.13494,"77":0.1038,"79":0.08823,"80":0.03633,"81":0.16089,"83":0.02076,"84":0.00519,"85":0.01557,"86":0.00519,"87":0.0519,"88":0.22836,"89":0.80964,"90":24.66288,"91":0.45672,"92":0.26469,_:"4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 50 51 54 55 56 57 59 60 61 62 63 64 65 66 68 69 70 71 72 73 75 78 93 94"},F:{"73":0.03114,"75":0.08304,"76":0.20241,_:"9 11 12 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 60 62 63 64 65 66 67 68 69 70 71 72 74 9.5-9.6 10.5 10.6 11.1 11.5 11.6 12.1","10.0-10.1":0},G:{"8":0,"3.2":0,"4.0-4.1":0,"4.2-4.3":0,"5.0-5.1":0.01576,"6.0-6.1":0,"7.0-7.1":0,"8.1-8.4":0.04729,"9.0-9.2":0,"9.3":0.11259,"10.0-10.2":0,"10.3":0.02027,"11.0-11.2":0,"11.3-11.4":0.02927,"12.0-12.1":0.01576,"12.2-12.4":0.96155,"13.0-13.1":0.02252,"13.2":0.02252,"13.3":0.04954,"13.4-13.7":0.40083,"14.0-14.4":17.09619,"14.5-14.6":3.23593},E:{"4":0,"13":0.15051,"14":6.0723,_:"0 5 6 7 8 9 10 11 12 3.1 3.2 5.1 6.1 7.1 11.1","9.1":0.00519,"10.1":0.06747,"12.1":0.10899,"13.1":0.9342,"14.1":0.9342},B:{"15":0.01038,"17":0.01557,"18":0.21279,"80":0.01038,"84":0.01038,"86":0.38406,"88":0.01038,"89":0.20241,"90":9.43542,"91":0.21279,_:"12 13 14 16 79 81 83 85 87"},P:{"4":0.08563,"5.0-5.4":0.19323,"6.2-6.4":0.09153,"7.2-7.4":0.05352,"8.2":0.02034,"9.2":0.05352,"10.1":0.06423,"11.1-11.2":0.51381,"12.0":0.2034,"13.0":0.62085,"14.0":2.82593},I:{"0":0,"3":0,"4":0,"2.1":0,"2.2":0,"2.3":0,"4.1":0,"4.2-4.3":0.00506,"4.4":0,"4.4.3-4.4.4":0.09112},K:{_:"0 10 11 12 11.1 11.5 12.1"},A:{"10":0.02076,"11":0.34773,_:"6 7 8 9 5.5"},J:{"7":0,"10":0},N:{"10":0.01297,"11":0.01825},S:{"2.5":0},R:{_:"0"},M:{"0":0.07214},Q:{"10.4":0},O:{"0":0.01924},H:{"0":0.26862},L:{"0":24.57724}}; diff --git a/tools/node_modules/@babel/core/node_modules/caniuse-lite/data/regions/TD.js b/tools/node_modules/@babel/core/node_modules/caniuse-lite/data/regions/TD.js new file mode 100644 index 00000000000000..57c0309fd9423d --- /dev/null +++ b/tools/node_modules/@babel/core/node_modules/caniuse-lite/data/regions/TD.js @@ -0,0 +1 @@ +module.exports={C:{"17":0.0068,"19":0.00906,"25":0.00453,"26":0.00227,"30":0.00227,"35":0.00453,"44":0.00227,"47":0.0068,"48":0.00453,"49":0.00227,"55":0.00453,"57":0.00453,"60":0.02039,"66":0.00453,"68":0.00227,"72":0.00453,"76":0.00227,"78":0.01813,"82":0.00453,"83":0.00227,"84":0.00227,"86":0.01813,"87":0.03399,"88":1.03103,"89":0.0068,_:"2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 18 20 21 22 23 24 27 28 29 31 32 33 34 36 37 38 39 40 41 42 43 45 46 50 51 52 53 54 56 58 59 61 62 63 64 65 67 69 70 71 73 74 75 77 79 80 81 85 90 91 3.5 3.6"},D:{"23":0.02266,"24":0.02039,"32":0.01133,"33":0.00227,"37":0.01133,"40":0.00453,"50":0.01586,"55":0.04305,"57":0.00227,"58":0.0068,"59":0.00453,"60":0.00227,"63":0.00227,"68":0.14276,"70":0.00453,"71":0.00453,"72":0.00227,"74":0.01133,"75":0.00453,"76":0.0068,"77":0.01813,"79":0.0068,"80":0.02493,"81":0.03172,"83":0.09064,"84":0.04532,"85":0.0068,"86":0.61862,"87":0.00453,"88":0.15409,"89":1.21004,"90":6.02983,"91":0.11103,"92":0.0068,_:"4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 25 26 27 28 29 30 31 34 35 36 38 39 41 42 43 44 45 46 47 48 49 51 52 53 54 56 61 62 64 65 66 67 69 73 78 93 94"},F:{"30":0.00227,"37":0.00453,"39":0.00227,"42":0.0136,"43":0.00227,"45":0.04532,"51":0.02493,"53":0.00453,"58":0.00227,"63":0.04305,"67":0.01813,"68":0.00227,"70":0.00906,"72":0.00227,"73":0.01813,"74":0.02039,"75":0.16315,"76":0.10424,_:"9 11 12 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 31 32 33 34 35 36 38 40 41 44 46 47 48 49 50 52 54 55 56 57 60 62 64 65 66 69 71 9.5-9.6 10.5 10.6 11.1 11.5 11.6 12.1","10.0-10.1":0},G:{"8":0.00043,"3.2":0,"4.0-4.1":0,"4.2-4.3":0,"5.0-5.1":0,"6.0-6.1":0,"7.0-7.1":0.01751,"8.1-8.4":0,"9.0-9.2":0,"9.3":0.00726,"10.0-10.2":0,"10.3":0.12345,"11.0-11.2":0.10978,"11.3-11.4":0.07646,"12.0-12.1":0.0991,"12.2-12.4":0.32636,"13.0-13.1":0.02136,"13.2":0.0581,"13.3":0.07903,"13.4-13.7":0.2405,"14.0-14.4":2.41055,"14.5-14.6":0.27339},E:{"4":0,"10":0.01133,"13":0.0068,"14":0.06798,_:"0 5 6 7 8 9 11 12 3.1 3.2 6.1 9.1 10.1 11.1","5.1":0.36709,"7.1":0.00453,"12.1":0.0136,"13.1":0.02946,"14.1":0.0136},B:{"12":0.02493,"13":0.0136,"14":0.04079,"15":0.0068,"16":0.14729,"17":0.0136,"18":0.04985,"85":0.01586,"87":0.00453,"89":0.04079,"90":1.28256,"91":0.08158,_:"79 80 81 83 84 86 88"},P:{"4":0.50748,"5.0-5.4":0.0406,"6.2-6.4":0.11165,"7.2-7.4":0.50748,"8.2":0.02053,"9.2":0.28419,"10.1":0.0406,"11.1-11.2":1.2078,"12.0":0.0812,"13.0":0.53793,"14.0":0.74092},I:{"0":0,"3":0,"4":0,"2.1":0,"2.2":0,"2.3":0,"4.1":0.00133,"4.2-4.3":0.00928,"4.4":0,"4.4.3-4.4.4":0.19819},K:{_:"0 10 11 12 11.1 11.5 12.1"},A:{"11":5.23446,_:"6 7 8 9 10 5.5"},J:{"7":0,"10":0},N:{"10":0.02735,"11":0.35567},S:{"2.5":0.08506},R:{_:"0"},M:{"0":0.03093},Q:{"10.4":0.7733},O:{"0":1.09809},H:{"0":2.64292},L:{"0":68.96962}}; diff --git a/tools/node_modules/@babel/core/node_modules/caniuse-lite/data/regions/TG.js b/tools/node_modules/@babel/core/node_modules/caniuse-lite/data/regions/TG.js new file mode 100644 index 00000000000000..6b83a80716dfb6 --- /dev/null +++ b/tools/node_modules/@babel/core/node_modules/caniuse-lite/data/regions/TG.js @@ -0,0 +1 @@ +module.exports={C:{"21":0.00905,"30":0.00453,"32":0.00453,"39":0.00453,"40":0.00453,"41":0.00453,"43":0.02715,"45":0.00905,"47":0.0181,"48":0.00453,"50":0.00905,"51":0.0181,"52":0.04978,"56":0.02263,"60":0.04525,"62":0.00453,"65":0.00905,"68":0.01358,"69":0.00905,"71":0.02715,"72":0.07693,"73":0.02263,"74":0.00905,"75":0.00905,"76":0.00453,"77":0.02263,"78":0.1267,"79":0.01358,"80":0.01358,"81":0.26245,"82":0.06335,"83":0.02263,"84":0.0362,"85":0.0362,"86":0.08145,"87":0.11765,"88":8.06808,"89":0.11313,_:"2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 22 23 24 25 26 27 28 29 31 33 34 35 36 37 38 42 44 46 49 53 54 55 57 58 59 61 63 64 66 67 70 90 91 3.5 3.6"},D:{"29":0.01358,"33":0.01358,"38":0.07693,"42":0.00453,"43":0.04525,"44":0.00453,"47":0.00905,"49":0.05883,"50":0.00905,"53":0.00453,"55":0.01358,"58":0.00453,"62":0.05883,"63":0.00453,"65":0.0181,"67":0.00453,"68":0.00905,"70":0.00905,"72":0.10408,"73":0.04525,"74":0.0362,"75":0.02715,"76":0.02715,"77":0.0362,"78":0.03168,"79":0.1629,"80":0.04978,"81":0.0543,"83":0.0362,"84":0.1448,"85":0.08598,"86":0.24435,"87":0.91405,"88":0.31675,"89":0.44345,"90":17.51628,"91":0.7421,"92":0.0181,_:"4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 30 31 32 34 35 36 37 39 40 41 45 46 48 51 52 54 56 57 59 60 61 64 66 69 71 93 94"},F:{"12":0.00453,"64":0.00453,"65":0.00453,"71":0.01358,"72":0.00453,"73":0.04978,"74":0.00905,"75":0.6335,"76":1.54755,_:"9 11 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 60 62 63 66 67 68 69 70 9.5-9.6 10.5 10.6 11.1 11.5 11.6 12.1","10.0-10.1":0},G:{"8":0.00265,"3.2":0,"4.0-4.1":0.00106,"4.2-4.3":0,"5.0-5.1":0.00265,"6.0-6.1":0.07792,"7.0-7.1":0.12722,"8.1-8.4":0,"9.0-9.2":0,"9.3":0.27087,"10.0-10.2":0.05354,"10.3":0.60747,"11.0-11.2":0.10177,"11.3-11.4":0.01484,"12.0-12.1":0.01007,"12.2-12.4":0.16167,"13.0-13.1":0.01378,"13.2":0.14365,"13.3":0.01961,"13.4-13.7":0.14789,"14.0-14.4":2.15053,"14.5-14.6":0.79035},E:{"4":0,"10":0.00905,"13":0.00453,"14":0.14028,_:"0 5 6 7 8 9 11 12 3.1 3.2 9.1 10.1 11.1","5.1":0.27603,"6.1":0.00453,"7.1":0.00905,"12.1":0.00905,"13.1":0.05883,"14.1":0.13123},B:{"12":0.02715,"15":0.02715,"17":0.01358,"18":0.1629,"84":0.0181,"85":0.02263,"87":0.00905,"88":0.02263,"89":0.0543,"90":2.58378,"91":0.12218,_:"13 14 16 79 80 81 83 86"},P:{"4":0.08407,"5.0-5.4":0.02039,"6.2-6.4":0.06118,"7.2-7.4":0.01051,"8.2":0.02039,"9.2":0.01051,"10.1":0.10197,"11.1-11.2":0.01051,"12.0":0.01051,"13.0":0.09458,"14.0":1.08237},I:{"0":0,"3":0,"4":0.00201,"2.1":0,"2.2":0,"2.3":0,"4.1":0.00717,"4.2-4.3":0.01636,"4.4":0,"4.4.3-4.4.4":0.11134},K:{_:"0 10 11 12 11.1 11.5 12.1"},A:{"6":0.01625,"9":0.04875,"11":0.29248,_:"7 8 10 5.5"},J:{"7":0,"10":0.1095},N:{"10":0.01297,"11":0.01825},S:{"2.5":0.01095},R:{_:"0"},M:{"0":0.38873},Q:{"10.4":0.03285},O:{"0":0.79388},H:{"0":2.84567},L:{"0":51.78335}}; diff --git a/tools/node_modules/@babel/core/node_modules/caniuse-lite/data/regions/TH.js b/tools/node_modules/@babel/core/node_modules/caniuse-lite/data/regions/TH.js new file mode 100644 index 00000000000000..6751eda8e8b259 --- /dev/null +++ b/tools/node_modules/@babel/core/node_modules/caniuse-lite/data/regions/TH.js @@ -0,0 +1 @@ +module.exports={C:{"4":0.00366,"15":0.06588,"17":0.00732,"48":0.00366,"51":0.00366,"52":0.02928,"53":0.00732,"54":0.00732,"55":0.04026,"56":0.1464,"58":0.00732,"72":0.00366,"78":0.02196,"82":0.00366,"84":0.00732,"85":0.00366,"86":0.00732,"87":0.0183,"88":1.098,"89":0.01464,_:"2 3 5 6 7 8 9 10 11 12 13 14 16 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 49 50 57 59 60 61 62 63 64 65 66 67 68 69 70 71 73 74 75 76 77 79 80 81 83 90 91 3.5 3.6"},D:{"24":0.00732,"38":0.01098,"43":0.0183,"46":0.00366,"47":0.00732,"48":0.00366,"49":0.15372,"51":0.00366,"53":0.02928,"54":0.00366,"55":0.00732,"56":0.01098,"57":0.00732,"58":0.01464,"59":0.00366,"60":0.00366,"61":0.02196,"62":0.00366,"63":0.01098,"64":0.00366,"65":0.00732,"66":0.01098,"67":0.00732,"68":0.01098,"69":0.01098,"70":0.01098,"71":0.01098,"72":0.00732,"73":0.01098,"74":0.0183,"75":0.02928,"76":0.0183,"77":0.01098,"78":0.0183,"79":0.03294,"80":0.02928,"81":0.02196,"83":0.06588,"84":0.0366,"85":0.03294,"86":0.08784,"87":0.19398,"88":0.0915,"89":0.37698,"90":23.03238,"91":0.66246,"92":0.02562,_:"4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 25 26 27 28 29 30 31 32 33 34 35 36 37 39 40 41 42 44 45 50 52 93 94"},F:{"46":0.00366,"73":0.0183,"75":0.1098,"76":0.15738,_:"9 11 12 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 47 48 49 50 51 52 53 54 55 56 57 58 60 62 63 64 65 66 67 68 69 70 71 72 74 9.5-9.6 10.5 10.6 11.1 11.5 11.6 12.1","10.0-10.1":0},G:{"8":0,"3.2":0,"4.0-4.1":0,"4.2-4.3":0,"5.0-5.1":0.00496,"6.0-6.1":0.00662,"7.0-7.1":0.00992,"8.1-8.4":0.00496,"9.0-9.2":0.00496,"9.3":0.08435,"10.0-10.2":0.01819,"10.3":0.09923,"11.0-11.2":0.03473,"11.3-11.4":0.06119,"12.0-12.1":0.06119,"12.2-12.4":0.26296,"13.0-13.1":0.0645,"13.2":0.02646,"13.3":0.15877,"13.4-13.7":0.51599,"14.0-14.4":11.26256,"14.5-14.6":2.98846},E:{"4":0,"12":0.00732,"13":0.05856,"14":2.25822,_:"0 5 6 7 8 9 10 11 3.1 3.2 5.1 6.1 7.1 9.1","10.1":0.00732,"11.1":0.0183,"12.1":0.0366,"13.1":0.20496,"14.1":0.61854},B:{"14":0.00366,"15":0.00732,"16":0.00366,"17":0.01098,"18":0.0366,"84":0.00732,"85":0.00732,"86":0.00732,"87":0.00732,"88":0.00732,"89":0.03294,"90":1.86294,"91":0.06954,_:"12 13 79 80 81 83"},P:{"4":0.14458,"5.0-5.4":0.04174,"6.2-6.4":0.01043,"7.2-7.4":0.10327,"8.2":0.01033,"9.2":0.08262,"10.1":0.04131,"11.1-11.2":0.24786,"12.0":0.10327,"13.0":0.43375,"14.0":2.23071},I:{"0":0,"3":0,"4":0,"2.1":0,"2.2":0,"2.3":0,"4.1":0.00086,"4.2-4.3":0.00301,"4.4":0,"4.4.3-4.4.4":0.02149},K:{_:"0 10 11 12 11.1 11.5 12.1"},A:{"8":0.01173,"9":0.00782,"10":0.00782,"11":0.37156,_:"6 7 5.5"},J:{"7":0,"10":0},N:{"10":0.01297,"11":0.01825},S:{"2.5":0},R:{_:"0"},M:{"0":0.09509},Q:{"10.4":0},O:{"0":0.30427},H:{"0":0.23405},L:{"0":47.19403}}; diff --git a/tools/node_modules/@babel/core/node_modules/caniuse-lite/data/regions/TJ.js b/tools/node_modules/@babel/core/node_modules/caniuse-lite/data/regions/TJ.js new file mode 100644 index 00000000000000..78728ac768d459 --- /dev/null +++ b/tools/node_modules/@babel/core/node_modules/caniuse-lite/data/regions/TJ.js @@ -0,0 +1 @@ +module.exports={C:{"30":0.00764,"35":0.00764,"36":0.00764,"40":0.00764,"52":0.05348,"68":0.02674,"69":0.00764,"70":0.00764,"77":0.00764,"78":0.03438,"79":0.00382,"80":0.00382,"81":0.00764,"85":0.00764,"87":0.01146,"88":0.90152,_:"2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 31 32 33 34 37 38 39 41 42 43 44 45 46 47 48 49 50 51 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 71 72 73 74 75 76 82 83 84 86 89 90 91 3.5 3.6"},D:{"28":0.00764,"31":0.00382,"35":0.00764,"44":0.07258,"47":0.00764,"48":0.22156,"49":0.30942,"53":0.00382,"54":0.00382,"63":0.01146,"64":0.03056,"68":0.01528,"69":0.0382,"70":0.02674,"71":0.01146,"72":0.00764,"73":0.01146,"74":0.0191,"75":0.00382,"76":0.00764,"78":0.03438,"79":0.13752,"80":0.04202,"81":0.02292,"83":0.58828,"84":0.16426,"85":0.13752,"86":0.3438,"87":2.57468,"88":0.21392,"89":1.2033,"90":17.381,"91":0.69524,"92":0.01146,_:"4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 29 30 32 33 34 36 37 38 39 40 41 42 43 45 46 50 51 52 55 56 57 58 59 60 61 62 65 66 67 77 93 94"},F:{"32":0.00382,"36":0.0382,"60":0.00382,"63":0.01146,"66":0.01146,"68":0.06494,"72":0.0955,"73":0.07258,"74":0.01528,"75":0.96264,"76":1.24914,_:"9 11 12 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 33 34 35 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 62 64 65 67 69 70 71 9.5-9.6 10.5 10.6 11.1 11.5 11.6","10.0-10.1":0,"12.1":0.01528},G:{"8":0,"3.2":0,"4.0-4.1":0,"4.2-4.3":0,"5.0-5.1":0.00229,"6.0-6.1":0.00974,"7.0-7.1":0.04528,"8.1-8.4":0.01204,"9.0-9.2":0.0063,"9.3":0.08998,"10.0-10.2":0.01719,"10.3":0.10717,"11.0-11.2":0.0384,"11.3-11.4":0.05903,"12.0-12.1":0.18627,"12.2-12.4":0.42526,"13.0-13.1":0.10259,"13.2":0.04872,"13.3":0.17308,"13.4-13.7":0.2837,"14.0-14.4":2.73611,"14.5-14.6":1.05111},E:{"4":0,"13":0.01528,"14":0.33234,_:"0 5 6 7 8 9 10 11 12 3.1 3.2 6.1 7.1 9.1 10.1","5.1":2.74276,"11.1":0.02292,"12.1":0.01146,"13.1":0.1146,"14.1":0.29032},B:{"12":0.00764,"14":0.00764,"15":0.00764,"17":0.01146,"18":0.09168,"84":0.00764,"89":0.05348,"90":0.53098,"91":0.03438,_:"13 16 79 80 81 83 85 86 87 88"},P:{"4":1.27938,"5.0-5.4":0.13096,"6.2-6.4":0.13096,"7.2-7.4":0.47347,"8.2":0.0403,"9.2":0.20148,"10.1":0.09066,"11.1-11.2":0.38281,"12.0":0.17125,"13.0":0.63465,"14.0":0.71524},I:{"0":0,"3":0,"4":0.00041,"2.1":0,"2.2":0,"2.3":0,"4.1":0.00411,"4.2-4.3":0.00596,"4.4":0,"4.4.3-4.4.4":0.06985},K:{_:"0 10 11 12 11.1 11.5 12.1"},A:{"8":0.01175,"9":0.01762,"11":0.3641,_:"6 7 10 5.5"},J:{"7":0,"10":0},N:{"10":0.01297,"11":0.01825},S:{"2.5":0},R:{_:"0"},M:{"0":0.0309},Q:{"10.4":0.21009},O:{"0":4.72076},H:{"0":2.299},L:{"0":45.89854}}; diff --git a/tools/node_modules/@babel/core/node_modules/caniuse-lite/data/regions/TK.js b/tools/node_modules/@babel/core/node_modules/caniuse-lite/data/regions/TK.js new file mode 100644 index 00000000000000..f65d04ff08674e --- /dev/null +++ b/tools/node_modules/@babel/core/node_modules/caniuse-lite/data/regions/TK.js @@ -0,0 +1 @@ +module.exports={C:{"88":5.68008,_:"2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 89 90 91 3.5 3.6"},D:{"81":4.54503,"89":1.13505,"90":9.09006,_:"4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 83 84 85 86 87 88 91 92 93 94"},F:{_:"9 11 12 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 60 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 9.5-9.6 10.5 10.6 11.1 11.5 11.6 12.1","10.0-10.1":0},G:{"8":0,"3.2":0,"4.0-4.1":0,"4.2-4.3":0,"5.0-5.1":0,"6.0-6.1":0,"7.0-7.1":0,"8.1-8.4":0,"9.0-9.2":0,"9.3":0,"10.0-10.2":0,"10.3":0,"11.0-11.2":0,"11.3-11.4":0,"12.0-12.1":0,"12.2-12.4":0,"13.0-13.1":0,"13.2":0,"13.3":0,"13.4-13.7":1.21622,"14.0-14.4":1.82433,"14.5-14.6":0},E:{"4":0,"10":1.13505,_:"0 5 6 7 8 9 11 12 13 14 3.1 3.2 5.1 6.1 7.1 9.1 10.1 11.1 13.1 14.1","12.1":1.70499},B:{"17":3.40998,"85":0.56994,"90":11.93493,"91":1.70499,_:"12 13 14 15 16 18 79 80 81 83 84 86 87 88 89"},P:{"4":0.08407,"5.0-5.4":0.02039,"6.2-6.4":0.06118,"7.2-7.4":0.01051,"8.2":0.02039,"9.2":0.01051,"10.1":0.10197,"11.1-11.2":0.60759,"12.0":0.01051,"13.0":0.60759,"14.0":1.08237},I:{"0":0,"3":0,"4":0,"2.1":0,"2.2":0,"2.3":0,"4.1":0,"4.2-4.3":0,"4.4":0,"4.4.3-4.4.4":0},K:{_:"0 10 11 12 11.1 11.5 12.1"},A:{_:"6 7 8 9 10 11 5.5"},J:{"7":0,"10":0},N:{"10":0.01297,"11":0.01825},S:{"2.5":0},R:{_:"0"},M:{"0":0},Q:{"10.4":0},O:{"0":0},H:{"0":0},L:{"0":49.72403}}; diff --git a/tools/node_modules/@babel/core/node_modules/caniuse-lite/data/regions/TL.js b/tools/node_modules/@babel/core/node_modules/caniuse-lite/data/regions/TL.js new file mode 100644 index 00000000000000..2e7ef857ebb078 --- /dev/null +++ b/tools/node_modules/@babel/core/node_modules/caniuse-lite/data/regions/TL.js @@ -0,0 +1 @@ +module.exports={C:{"5":0.01833,"7":0.00524,"8":0.00524,"12":0.00524,"15":0.00786,"16":0.01571,"17":0.03667,"18":0.00262,"19":0.01048,"20":0.00524,"21":0.01048,"27":0.00262,"29":0.01571,"30":0.00524,"31":0.01571,"35":0.01048,"36":0.00524,"37":0.00786,"40":0.02357,"41":0.03143,"43":0.01833,"44":0.00262,"45":0.00786,"46":0.00786,"47":0.05238,"48":0.01571,"49":0.01571,"52":0.00786,"56":0.01048,"57":0.00524,"58":0.00262,"67":0.00524,"68":0.00524,"69":0.00786,"72":0.0131,"74":0.0131,"75":0.00524,"76":0.00262,"77":0.00786,"78":0.06809,"79":0.24881,"80":0.00524,"81":0.01048,"83":0.00786,"84":0.03143,"85":0.055,"86":0.07333,"87":0.12571,"88":3.69279,"89":0.48975,_:"2 3 4 6 9 10 11 13 14 22 23 24 25 26 28 32 33 34 38 39 42 50 51 53 54 55 59 60 61 62 63 64 65 66 70 71 73 82 90 91 3.5 3.6"},D:{"24":0.01048,"25":0.02357,"31":0.02095,"32":0.00524,"38":0.00524,"40":0.02619,"43":0.04714,"49":0.05762,"53":0.00786,"58":0.0131,"59":0.00262,"62":0.00524,"63":0.02881,"64":0.01571,"65":0.05238,"66":0.00524,"67":0.00524,"68":0.00786,"69":0.00524,"70":0.00786,"71":0.0131,"74":0.01048,"75":0.00262,"76":0.00786,"79":0.02619,"80":0.03667,"81":0.02619,"83":0.01048,"84":0.36142,"85":0.10738,"86":0.04452,"87":0.44261,"88":0.11262,"89":0.42952,"90":11.97669,"91":0.51856,"92":0.00524,_:"4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 26 27 28 29 30 33 34 35 36 37 39 41 42 44 45 46 47 48 50 51 52 54 55 56 57 60 61 72 73 77 78 93 94"},F:{"37":0.00262,"56":0.01833,"73":0.01048,"74":0.01571,"75":0.17547,"76":0.25928,_:"9 11 12 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 57 58 60 62 63 64 65 66 67 68 69 70 71 72 9.5-9.6 10.5 10.6 11.1 11.5 11.6 12.1","10.0-10.1":0},G:{"8":0,"3.2":0,"4.0-4.1":0,"4.2-4.3":0.00108,"5.0-5.1":0,"6.0-6.1":0.00359,"7.0-7.1":0.01757,"8.1-8.4":0.00287,"9.0-9.2":0.01399,"9.3":0.0789,"10.0-10.2":0.03156,"10.3":0.08643,"11.0-11.2":0.06456,"11.3-11.4":0.09648,"12.0-12.1":0.11764,"12.2-12.4":0.31023,"13.0-13.1":0.14274,"13.2":0.02331,"13.3":0.24639,"13.4-13.7":0.31274,"14.0-14.4":1.50953,"14.5-14.6":0.15852},E:{"4":0,"8":0.00786,"11":0.00524,"12":0.03667,"13":0.02619,"14":0.12047,_:"0 5 6 7 9 10 3.1 3.2 7.1","5.1":0.01571,"6.1":0.03667,"9.1":0.00786,"10.1":0.01571,"11.1":0.00786,"12.1":0.03405,"13.1":0.23571,"14.1":0.03143},B:{"12":0.01571,"13":0.00786,"14":0.00262,"15":0.01048,"16":0.0131,"17":0.01833,"18":0.13619,"80":0.01048,"81":0.00262,"84":0.0131,"85":0.00524,"86":0.07333,"87":0.00524,"88":0.00786,"89":0.0969,"90":1.3514,"91":0.05762,_:"79 83"},P:{"4":1.59075,"5.0-5.4":0.02039,"6.2-6.4":0.06118,"7.2-7.4":0.3569,"8.2":0.02039,"9.2":0.26513,"10.1":0.10197,"11.1-11.2":0.28552,"12.0":0.06118,"13.0":0.27532,"14.0":0.27532},I:{"0":0,"3":0,"4":0.00147,"2.1":0,"2.2":0,"2.3":0,"4.1":0.00294,"4.2-4.3":0.00245,"4.4":0,"4.4.3-4.4.4":0.03744},K:{_:"0 10 11 12 11.1 11.5 12.1"},A:{"10":0.01006,"11":0.94587,_:"6 7 8 9 5.5"},J:{"7":0,"10":0},N:{"10":0.01297,"11":0.01825},S:{"2.5":0},R:{_:"0"},M:{"0":0.05167},Q:{"10.4":0.01476},O:{"0":0.5831},H:{"0":3.26333},L:{"0":65.39918}}; diff --git a/tools/node_modules/@babel/core/node_modules/caniuse-lite/data/regions/TM.js b/tools/node_modules/@babel/core/node_modules/caniuse-lite/data/regions/TM.js new file mode 100644 index 00000000000000..1a655b0fc3bcc7 --- /dev/null +++ b/tools/node_modules/@babel/core/node_modules/caniuse-lite/data/regions/TM.js @@ -0,0 +1 @@ +module.exports={C:{"15":0.01474,"43":0.01474,"45":0.00737,"48":0.00737,"51":0.00368,"52":0.01842,"59":0.04421,"63":0.01842,"64":0.01842,"65":0.06263,"68":0.0921,"69":0.00368,"70":0.01105,"72":0.07368,"73":0.00368,"75":0.07,"76":0.00737,"77":0.01842,"78":0.01105,"81":0.01474,"84":0.02579,"86":0.02947,"87":0.02579,"88":0.31314,_:"2 3 4 5 6 7 8 9 10 11 12 13 14 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 44 46 47 49 50 53 54 55 56 57 58 60 61 62 66 67 71 74 79 80 82 83 85 89 90 91 3.5 3.6"},D:{"11":0.05158,"18":0.01105,"23":0.00368,"29":0.00737,"31":0.0221,"35":0.01105,"39":0.00737,"47":0.00368,"48":0.01105,"49":0.0921,"50":0.01105,"52":0.07,"54":0.01105,"55":0.09578,"56":0.02947,"57":0.01105,"59":0.00368,"62":0.04789,"63":0.00737,"64":0.00737,"67":0.00368,"68":0.00737,"69":0.01105,"70":0.01842,"71":0.29104,"73":0.01842,"74":0.03684,"75":0.00737,"76":0.01842,"78":0.03316,"79":0.10315,"80":0.10684,"81":0.05158,"83":0.0921,"84":0.02579,"85":0.04421,"86":0.48997,"87":0.30946,"88":0.53786,"89":0.55628,"90":20.27674,"91":1.16046,"92":0.06263,_:"4 5 6 7 8 9 10 12 13 14 15 16 17 19 20 21 22 24 25 26 27 28 30 32 33 34 36 37 38 40 41 42 43 44 45 46 51 53 58 60 61 65 66 72 77 93 94"},F:{"18":0.01474,"34":0.00368,"36":0.04421,"37":0.03316,"44":0.01842,"45":0.00737,"47":0.00368,"49":0.00737,"50":0.00368,"51":0.00368,"53":0.01474,"54":0.00368,"58":0.00737,"64":0.01105,"69":0.01842,"72":0.00737,"73":0.07368,"74":0.10684,"75":0.22841,"76":0.22104,_:"9 11 12 15 16 17 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 35 38 39 40 41 42 43 46 48 52 55 56 57 60 62 63 65 66 67 68 70 71 9.5-9.6 10.5 10.6 11.1 11.5","10.0-10.1":0,"11.6":0.01105,"12.1":0.00737},G:{"8":0.00094,"3.2":0,"4.0-4.1":0,"4.2-4.3":0,"5.0-5.1":0.25537,"6.0-6.1":0.03795,"7.0-7.1":0.24319,"8.1-8.4":0.10543,"9.0-9.2":0.07966,"9.3":0.2446,"10.0-10.2":0.04826,"10.3":0.2221,"11.0-11.2":0.11714,"11.3-11.4":0.27505,"12.0-12.1":0.08481,"12.2-12.4":0.28349,"13.0-13.1":0.06794,"13.2":0.0239,"13.3":0.04967,"13.4-13.7":0.27458,"14.0-14.4":1.07023,"14.5-14.6":0.45686},E:{"4":0,"13":0.02947,"14":0.1621,_:"0 5 6 7 8 9 10 11 12 3.1 3.2 6.1 7.1 9.1","5.1":0.00368,"10.1":0.01105,"11.1":0.01105,"12.1":0.01842,"13.1":0.01105,"14.1":0.03316},B:{"13":0.01842,"15":0.0221,"16":0.00737,"18":0.03316,"88":0.00368,"89":0.03316,"90":0.32051,"91":0.01842,_:"12 14 17 79 80 81 83 84 85 86 87"},P:{"4":2.89843,"5.0-5.4":0.19323,"6.2-6.4":0.09153,"7.2-7.4":0.85428,"8.2":0.02034,"9.2":0.35595,"10.1":0.09153,"11.1-11.2":0.32544,"12.0":0.2034,"13.0":1.58651,"14.0":3.16285},I:{"0":0,"3":0,"4":0.00264,"2.1":0,"2.2":0,"2.3":0,"4.1":0.02769,"4.2-4.3":0.14414,"4.4":0,"4.4.3-4.4.4":0.6403},K:{_:"0 10 11 12 11.1 11.5 12.1"},A:{"9":0.02437,"10":0.00406,"11":2.07514,_:"6 7 8 5.5"},J:{"7":0,"10":0},N:{"10":0.01297,"11":0.01825},S:{"2.5":0},R:{_:"0"},M:{"0":0.05053},Q:{"10.4":0},O:{"0":1.47794},H:{"0":0.31692},L:{"0":49.67711}}; diff --git a/tools/node_modules/@babel/core/node_modules/caniuse-lite/data/regions/TN.js b/tools/node_modules/@babel/core/node_modules/caniuse-lite/data/regions/TN.js new file mode 100644 index 00000000000000..fedfafed3fb0ec --- /dev/null +++ b/tools/node_modules/@babel/core/node_modules/caniuse-lite/data/regions/TN.js @@ -0,0 +1 @@ +module.exports={C:{"52":0.05226,"55":0.00436,"64":0.01307,"68":0.00871,"72":0.00436,"78":0.06097,"80":0.00436,"81":0.00871,"83":0.00436,"84":0.20469,"85":0.00436,"86":0.05662,"87":0.05226,"88":1.49812,"89":0.03049,_:"2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 53 54 56 57 58 59 60 61 62 63 65 66 67 69 70 71 73 74 75 76 77 79 82 90 91 3.5 3.6"},D:{"39":0.00436,"43":0.00871,"49":0.20469,"50":0.00871,"54":0.00436,"56":0.01307,"58":0.01307,"60":0.00871,"62":0.00871,"63":0.02178,"65":0.02613,"66":0.00436,"67":0.00871,"68":0.01307,"69":0.01307,"70":0.02178,"71":0.01307,"72":0.01307,"73":0.01307,"74":0.01307,"75":0.01307,"76":0.02178,"77":0.02178,"78":0.05226,"79":0.05662,"80":0.06097,"81":0.05226,"83":0.07839,"84":0.09581,"85":0.11759,"86":0.17856,"87":0.89713,"88":0.2134,"89":0.78826,"90":28.01136,"91":1.07133,"92":0.02613,_:"4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 40 41 42 44 45 46 47 48 51 52 53 55 57 59 61 64 93 94"},F:{"36":0.00871,"71":0.00436,"73":0.44421,"74":0.00871,"75":1.45022,"76":1.07133,_:"9 11 12 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 60 62 63 64 65 66 67 68 69 70 72 9.5-9.6 10.5 10.6 11.1 11.5 11.6 12.1","10.0-10.1":0},G:{"8":0,"3.2":0,"4.0-4.1":0,"4.2-4.3":0,"5.0-5.1":0.00829,"6.0-6.1":0.00223,"7.0-7.1":0.02232,"8.1-8.4":0.00446,"9.0-9.2":0.00351,"9.3":0.10937,"10.0-10.2":0.01148,"10.3":0.07365,"11.0-11.2":0.0153,"11.3-11.4":0.022,"12.0-12.1":0.02902,"12.2-12.4":0.08992,"13.0-13.1":0.01244,"13.2":0.00988,"13.3":0.04974,"13.4-13.7":0.30801,"14.0-14.4":1.7065,"14.5-14.6":0.3839},E:{"4":0,"13":0.15678,"14":0.23082,_:"0 5 6 7 8 9 10 11 12 3.1 3.2 5.1 6.1 7.1 9.1 10.1","11.1":0.00871,"12.1":0.01742,"13.1":0.05226,"14.1":0.06097},B:{"17":0.00871,"18":0.03049,"83":0.01307,"84":0.03049,"85":0.00436,"86":0.00871,"87":0.01742,"88":0.01307,"89":0.04791,"90":1.79862,"91":0.12194,_:"12 13 14 15 16 79 80 81"},P:{"4":0.23758,"5.0-5.4":0.04104,"6.2-6.4":0.01033,"7.2-7.4":0.13428,"8.2":0.02052,"9.2":0.06198,"10.1":0.03099,"11.1-11.2":0.1756,"12.0":0.11363,"13.0":0.67142,"14.0":1.53911},I:{"0":0,"3":0,"4":0.00238,"2.1":0,"2.2":0,"2.3":0,"4.1":0.00953,"4.2-4.3":0.01548,"4.4":0,"4.4.3-4.4.4":0.10244},K:{_:"0 10 11 12 11.1 11.5 12.1"},A:{"8":0.00607,"11":0.16378,_:"6 7 9 10 5.5"},J:{"7":0,"10":0},N:{"10":0.01297,"11":0.01825},S:{"2.5":0},R:{_:"0"},M:{"0":0.10161},Q:{"10.4":0},O:{"0":0.20322},H:{"0":0.32066},L:{"0":52.92241}}; diff --git a/tools/node_modules/@babel/core/node_modules/caniuse-lite/data/regions/TO.js b/tools/node_modules/@babel/core/node_modules/caniuse-lite/data/regions/TO.js new file mode 100644 index 00000000000000..947f1f8a17267d --- /dev/null +++ b/tools/node_modules/@babel/core/node_modules/caniuse-lite/data/regions/TO.js @@ -0,0 +1 @@ +module.exports={C:{"46":0.00586,"47":0.01172,"52":0.47458,"58":0.00586,"61":0.02344,"78":0.03515,"84":0.04101,"87":0.0293,"88":2.37875,"89":0.02344,_:"2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 48 49 50 51 53 54 55 56 57 59 60 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 79 80 81 82 83 85 86 90 91 3.5 3.6"},D:{"49":0.05273,"56":0.18749,"58":0.01758,"63":0.01172,"65":0.00586,"67":0.01758,"72":0.01758,"74":0.00586,"75":0.00586,"76":0.02344,"78":0.03515,"79":0.02344,"81":0.11132,"83":0.0293,"84":0.01172,"85":0.00586,"86":0.01172,"87":0.0996,"88":0.14062,"89":0.97259,"90":23.82269,"91":0.5859,_:"4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 50 51 52 53 54 55 57 59 60 61 62 64 66 68 69 70 71 73 77 80 92 93 94"},F:{"74":0.03515,"75":0.38669,"76":0.23436,_:"9 11 12 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 60 62 63 64 65 66 67 68 69 70 71 72 73 9.5-9.6 10.5 10.6 11.1 11.5 11.6 12.1","10.0-10.1":0},G:{"8":0,"3.2":0,"4.0-4.1":0,"4.2-4.3":0,"5.0-5.1":0,"6.0-6.1":0,"7.0-7.1":0,"8.1-8.4":0,"9.0-9.2":0.0111,"9.3":0.023,"10.0-10.2":0.00555,"10.3":0.04283,"11.0-11.2":0.05631,"11.3-11.4":0.08724,"12.0-12.1":0.14434,"12.2-12.4":0.39972,"13.0-13.1":0.07931,"13.2":0.16734,"13.3":0.67492,"13.4-13.7":0.53613,"14.0-14.4":3.03357,"14.5-14.6":2.07472},E:{"4":0,"8":0.01758,"10":0.00586,"13":0.09374,"14":1.58193,_:"0 5 6 7 9 11 12 3.1 3.2 5.1 6.1 7.1 9.1","10.1":0.01172,"11.1":0.01758,"12.1":0.11132,"13.1":0.18163,"14.1":0.09374},B:{"12":0.05273,"13":0.16405,"14":0.03515,"15":0.03515,"16":0.0293,"17":0.07617,"18":0.52731,"80":0.02344,"84":0.01758,"85":0.19335,"86":0.03515,"88":0.03515,"89":0.18163,"90":3.99584,"91":0.21678,_:"79 81 83 87"},P:{"4":0.04104,"5.0-5.4":0.04104,"6.2-6.4":0.03078,"7.2-7.4":0.53352,"8.2":0.02052,"9.2":0.11286,"10.1":0.03078,"11.1-11.2":0.69768,"12.0":0.38988,"13.0":0.33858,"14.0":1.30302},I:{"0":0,"3":0,"4":0,"2.1":0,"2.2":0,"2.3":0,"4.1":0,"4.2-4.3":0.00828,"4.4":0,"4.4.3-4.4.4":0.01656},K:{_:"0 10 11 12 11.1 11.5 12.1"},A:{"11":4.69306,_:"6 7 8 9 10 5.5"},J:{"7":0,"10":0},N:{"10":0.01297,"11":0.01825},S:{"2.5":0},R:{_:"0"},M:{"0":0.0414},Q:{"10.4":0.01656},O:{"0":0.25668},H:{"0":0.21165},L:{"0":45.64877}}; diff --git a/tools/node_modules/@babel/core/node_modules/caniuse-lite/data/regions/TR.js b/tools/node_modules/@babel/core/node_modules/caniuse-lite/data/regions/TR.js new file mode 100644 index 00000000000000..dcfe7ba4d66090 --- /dev/null +++ b/tools/node_modules/@babel/core/node_modules/caniuse-lite/data/regions/TR.js @@ -0,0 +1 @@ +module.exports={C:{"52":0.01188,"57":0.00594,"78":0.01486,"79":0.00594,"80":0.00594,"81":0.00594,"82":0.01188,"83":0.00297,"84":0.00594,"85":0.00297,"86":0.0208,"87":0.0208,"88":0.65065,"89":0.00297,_:"2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 53 54 55 56 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 90 91 3.5 3.6"},D:{"22":0.11884,"26":0.04159,"34":0.06536,"38":0.10696,"39":0.00594,"42":0.00891,"43":0.00891,"47":0.06536,"48":0.00297,"49":0.20797,"50":0.00297,"51":0.3179,"53":0.08319,"56":0.00891,"58":0.00891,"59":0.00891,"60":0.00297,"61":0.02377,"62":0.00594,"63":0.01783,"64":0.00297,"65":0.00594,"66":0.00297,"67":0.00594,"68":0.02971,"69":0.00891,"70":0.00891,"71":0.03268,"72":0.00891,"73":0.00891,"74":0.00891,"75":0.01486,"76":0.01188,"77":0.01486,"78":0.01783,"79":0.08022,"80":0.04754,"81":0.07725,"83":0.0713,"84":0.06239,"85":0.06833,"86":0.09507,"87":0.14558,"88":0.12181,"89":0.49913,"90":19.05302,"91":0.66848,"92":0.00594,_:"4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 23 24 25 27 28 29 30 31 32 33 35 36 37 40 41 44 45 46 52 54 55 57 93 94"},F:{"31":0.01783,"32":0.01486,"36":0.01486,"40":0.05051,"46":0.02377,"70":0.00297,"73":0.15746,"74":0.00594,"75":0.59717,"76":0.56152,_:"9 11 12 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 33 34 35 37 38 39 41 42 43 44 45 47 48 49 50 51 52 53 54 55 56 57 58 60 62 63 64 65 66 67 68 69 71 72 9.5-9.6 10.5 10.6 11.1 11.5 12.1","10.0-10.1":0,"11.6":0.00297},G:{"8":0,"3.2":0,"4.0-4.1":0,"4.2-4.3":0,"5.0-5.1":0.00528,"6.0-6.1":0.00528,"7.0-7.1":0.0971,"8.1-8.4":0.019,"9.0-9.2":0.0095,"9.3":0.21425,"10.0-10.2":0.03061,"10.3":0.17942,"11.0-11.2":0.07071,"11.3-11.4":0.09393,"12.0-12.1":0.06016,"12.2-12.4":0.34407,"13.0-13.1":0.03377,"13.2":0.01372,"13.3":0.12349,"13.4-13.7":0.42429,"14.0-14.4":5.81441,"14.5-14.6":1.32457},E:{"4":0,"13":0.01783,"14":0.35949,_:"0 5 6 7 8 9 10 11 12 3.1 3.2 6.1 7.1 9.1","5.1":0.31493,"10.1":0.00594,"11.1":0.00594,"12.1":0.01486,"13.1":0.06536,"14.1":0.15449},B:{"12":0.00594,"13":0.00594,"14":0.00891,"15":0.00594,"16":0.00594,"17":0.00891,"18":0.03268,"84":0.00594,"85":0.00594,"86":0.00594,"87":0.00297,"88":0.00594,"89":0.02377,"90":1.28347,"91":0.06833,_:"79 80 81 83"},P:{"4":0.8625,"5.0-5.4":0.06088,"6.2-6.4":0.02029,"7.2-7.4":0.23338,"8.2":0.02029,"9.2":0.14206,"10.1":0.07103,"11.1-11.2":0.32471,"12.0":0.23338,"13.0":1.06544,"14.0":3.6225},I:{"0":0,"3":0,"4":0.00061,"2.1":0,"2.2":0,"2.3":0,"4.1":0.00488,"4.2-4.3":0.01997,"4.4":0,"4.4.3-4.4.4":0.04483},K:{_:"0 10 11 12 11.1 11.5 12.1"},A:{"8":0.003,"9":0.009,"11":0.63271,_:"6 7 10 5.5"},J:{"7":0,"10":0},N:{"10":0.01297,"11":0.01825},S:{"2.5":0},R:{_:"0"},M:{"0":0.22493},Q:{"10.4":0},O:{"0":0.12652},H:{"0":0.61888},L:{"0":53.97242}}; diff --git a/tools/node_modules/@babel/core/node_modules/caniuse-lite/data/regions/TT.js b/tools/node_modules/@babel/core/node_modules/caniuse-lite/data/regions/TT.js new file mode 100644 index 00000000000000..4aa4d055a52940 --- /dev/null +++ b/tools/node_modules/@babel/core/node_modules/caniuse-lite/data/regions/TT.js @@ -0,0 +1 @@ +module.exports={C:{"48":0.0046,"52":0.03219,"68":0.0092,"78":0.03219,"84":0.0092,"85":0.0092,"86":0.0092,"87":0.10116,"88":1.42538,"89":0.0092,_:"2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 49 50 51 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 69 70 71 72 73 74 75 76 77 79 80 81 82 83 90 91 3.5 3.6"},D:{"38":0.01839,"41":0.0092,"42":0.0092,"47":0.0092,"48":0.0046,"49":0.19312,"53":0.02299,"56":0.0092,"58":0.0092,"59":0.0046,"63":0.01379,"65":0.01379,"67":0.0092,"68":0.0092,"69":0.05058,"70":0.0046,"74":0.18852,"75":0.02759,"76":0.05977,"77":0.0092,"78":0.02299,"79":0.05058,"80":0.01839,"81":0.05518,"83":0.01379,"84":0.05058,"85":0.05058,"86":0.05977,"87":0.28508,"88":0.19771,"89":0.78166,"90":27.53742,"91":1.04834,"92":0.01839,_:"4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 39 40 43 44 45 46 50 51 52 54 55 57 60 61 62 64 66 71 72 73 93 94"},F:{"28":0.0092,"73":0.06897,"74":0.0046,"75":0.50578,"76":0.51038,_:"9 11 12 15 16 17 18 19 20 21 22 23 24 25 26 27 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 60 62 63 64 65 66 67 68 69 70 71 72 9.5-9.6 10.5 10.6 11.1 11.5 11.6 12.1","10.0-10.1":0},G:{"8":0,"3.2":0.0019,"4.0-4.1":0,"4.2-4.3":0,"5.0-5.1":0.02277,"6.0-6.1":0.0019,"7.0-7.1":0.07021,"8.1-8.4":0.00569,"9.0-9.2":0,"9.3":0.19262,"10.0-10.2":0.00474,"10.3":0.1262,"11.0-11.2":0.01803,"11.3-11.4":0.01898,"12.0-12.1":0.03036,"12.2-12.4":0.10722,"13.0-13.1":0.05598,"13.2":0.0038,"13.3":0.15656,"13.4-13.7":0.34538,"14.0-14.4":6.23581,"14.5-14.6":1.54757},E:{"4":0,"13":0.05058,"14":1.69666,_:"0 5 6 7 8 9 10 11 12 3.1 3.2 6.1 7.1 9.1","5.1":0.17472,"10.1":0.01379,"11.1":0.12874,"12.1":0.04138,"13.1":0.31266,"14.1":0.66671},B:{"13":0.01379,"14":0.0046,"15":0.0092,"16":0.01839,"17":0.01379,"18":0.08736,"80":0.0046,"84":0.0092,"85":0.02299,"87":0.02759,"88":0.01379,"89":0.11495,"90":5.43943,"91":0.27128,_:"12 79 81 83 86"},P:{"4":0.23955,"5.0-5.4":0.04104,"6.2-6.4":0.03078,"7.2-7.4":0.19599,"8.2":0.02052,"9.2":0.07622,"10.1":0.01089,"11.1-11.2":0.39199,"12.0":0.18511,"13.0":0.58798,"14.0":4.57319},I:{"0":0,"3":0,"4":0.00129,"2.1":0,"2.2":0,"2.3":0,"4.1":0.00065,"4.2-4.3":0.00421,"4.4":0,"4.4.3-4.4.4":0.04787},K:{_:"0 10 11 12 11.1 11.5 12.1"},A:{"10":0.0092,"11":0.21151,_:"6 7 8 9 5.5"},J:{"7":0,"10":0.0054},N:{"10":0.01297,"11":0.01825},S:{"2.5":0},R:{_:"0"},M:{"0":0.17827},Q:{"10.4":0.0108},O:{"0":0.10264},H:{"0":0.34266},L:{"0":40.43001}}; diff --git a/tools/node_modules/@babel/core/node_modules/caniuse-lite/data/regions/TV.js b/tools/node_modules/@babel/core/node_modules/caniuse-lite/data/regions/TV.js new file mode 100644 index 00000000000000..7c7fdac17998f1 --- /dev/null +++ b/tools/node_modules/@babel/core/node_modules/caniuse-lite/data/regions/TV.js @@ -0,0 +1 @@ +module.exports={C:{"85":0.0479,"88":0.48585,_:"2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 86 87 89 90 91 3.5 3.6"},D:{"70":0.23951,"71":0.0958,"77":0.0479,"81":0.58166,"83":0.0958,"84":8.79326,"87":0.1437,"88":0.39005,"89":1.89551,"90":28.36424,"91":1.01961,_:"4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 72 73 74 75 76 78 79 80 85 86 92 93 94"},F:{"76":0.58166,_:"9 11 12 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 60 62 63 64 65 66 67 68 69 70 71 72 73 74 75 9.5-9.6 10.5 10.6 11.1 11.5 11.6 12.1","10.0-10.1":0},G:{"8":0,"3.2":0,"4.0-4.1":0,"4.2-4.3":0,"5.0-5.1":0,"6.0-6.1":0,"7.0-7.1":0,"8.1-8.4":0,"9.0-9.2":0,"9.3":0,"10.0-10.2":0,"10.3":0,"11.0-11.2":0,"11.3-11.4":0,"12.0-12.1":0,"12.2-12.4":0.07631,"13.0-13.1":0,"13.2":0,"13.3":0.03816,"13.4-13.7":0.11447,"14.0-14.4":0.57295,"14.5-14.6":0},E:{"4":0,_:"0 5 6 7 8 9 10 11 12 13 14 3.1 3.2 5.1 6.1 7.1 9.1 10.1","11.1":0.1437,"12.1":0.23951,"13.1":0.34215,"14.1":0.29425},B:{"17":0.48585,"18":16.85431,"80":0.0479,"85":0.1437,"86":0.0479,"89":0.0479,"90":5.34438,"91":0.39005,_:"12 13 14 15 16 79 81 83 84 87 88"},P:{"4":0.08563,"5.0-5.4":0.19323,"6.2-6.4":0.09153,"7.2-7.4":0.20064,"8.2":0.02034,"9.2":0.05352,"10.1":0.06423,"11.1-11.2":0.51381,"12.0":0.2034,"13.0":0.62085,"14.0":0.25081},I:{"0":0,"3":0,"4":0,"2.1":0,"2.2":0,"2.3":0,"4.1":0,"4.2-4.3":0.05051,"4.4":0,"4.4.3-4.4.4":0},K:{_:"0 10 11 12 11.1 11.5 12.1"},A:{"7":0.23951,_:"6 8 9 10 11 5.5"},J:{"7":0,"10":0},N:{"10":0.01297,"11":0.01825},S:{"2.5":0},R:{_:"0"},M:{"0":0},Q:{"10.4":0},O:{"0":0.29992},H:{"0":0.47523},L:{"0":30.48389}}; diff --git a/tools/node_modules/@babel/core/node_modules/caniuse-lite/data/regions/TW.js b/tools/node_modules/@babel/core/node_modules/caniuse-lite/data/regions/TW.js new file mode 100644 index 00000000000000..f727338a963dd2 --- /dev/null +++ b/tools/node_modules/@babel/core/node_modules/caniuse-lite/data/regions/TW.js @@ -0,0 +1 @@ +module.exports={C:{"34":0.02254,"48":0.00451,"49":0.00451,"51":0.00451,"52":0.02704,"72":0.00901,"78":0.01803,"83":0.00451,"84":0.00901,"85":0.00901,"86":0.01352,"87":0.02704,"88":1.23492,"89":0.00901,_:"2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 35 36 37 38 39 40 41 42 43 44 45 46 47 50 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 73 74 75 76 77 79 80 81 82 90 91 3.5 3.6"},D:{"11":0.01803,"22":0.00901,"26":0.00901,"30":0.00901,"34":0.02704,"35":0.00901,"38":0.1262,"45":0.00451,"47":0.00451,"49":0.3876,"50":0.00451,"51":0.00451,"52":0.00451,"53":0.34253,"55":0.01803,"56":0.01803,"58":0.00901,"59":0.00451,"60":0.00451,"61":0.09465,"62":0.00901,"63":0.01352,"64":0.00901,"65":0.01352,"66":0.01352,"67":0.03155,"68":0.07662,"69":0.02254,"70":0.01803,"71":0.02704,"72":0.01803,"73":0.02254,"74":0.02254,"75":0.02254,"76":0.02254,"77":0.01803,"78":0.01803,"79":0.11718,"80":0.04056,"81":0.08563,"83":0.04056,"84":0.03155,"85":0.03606,"86":0.12169,"87":0.1938,"88":0.20732,"89":0.82027,"90":29.18733,"91":1.30703,"92":0.01803,_:"4 5 6 7 8 9 10 12 13 14 15 16 17 18 19 20 21 23 24 25 27 28 29 31 32 33 36 37 39 40 41 42 43 44 46 48 54 57 93 94"},F:{"28":0.00451,"36":0.01352,"40":0.00451,"46":0.04507,"75":0.04958,"76":0.09915,_:"9 11 12 15 16 17 18 19 20 21 22 23 24 25 26 27 29 30 31 32 33 34 35 37 38 39 41 42 43 44 45 47 48 49 50 51 52 53 54 55 56 57 58 60 62 63 64 65 66 67 68 69 70 71 72 73 74 9.5-9.6 10.5 10.6 11.1 11.5 11.6 12.1","10.0-10.1":0},G:{"8":0.00247,"3.2":0.00247,"4.0-4.1":0,"4.2-4.3":0,"5.0-5.1":0.0296,"6.0-6.1":0.0148,"7.0-7.1":0.1554,"8.1-8.4":0.0592,"9.0-9.2":0.02713,"9.3":0.29353,"10.0-10.2":0.04933,"10.3":0.32066,"11.0-11.2":0.13073,"11.3-11.4":0.148,"12.0-12.1":0.29846,"12.2-12.4":0.64133,"13.0-13.1":0.2738,"13.2":0.11593,"13.3":0.52786,"13.4-13.7":1.32459,"14.0-14.4":17.06428,"14.5-14.6":2.48638},E:{"4":0,"8":0.00451,"11":0.00451,"12":0.01803,"13":0.22535,"14":3.25405,_:"0 5 6 7 9 10 3.1 3.2 5.1 6.1 7.1","9.1":0.01352,"10.1":0.02704,"11.1":0.05408,"12.1":0.10366,"13.1":0.52281,"14.1":0.5138},B:{"14":0.00451,"16":0.00901,"17":0.01803,"18":0.04958,"84":0.00451,"85":0.00451,"86":0.00451,"87":0.00451,"88":0.00901,"89":0.03606,"90":2.23097,"91":0.21634,_:"12 13 15 79 80 81 83"},P:{"4":0.55103,"5.0-5.4":0.08019,"6.2-6.4":0.18043,"7.2-7.4":0.02161,"8.2":0.02161,"9.2":0.14046,"10.1":0.06483,"11.1-11.2":0.22689,"12.0":0.19448,"13.0":0.59424,"14.0":2.10686},I:{"0":0,"3":0,"4":0.00043,"2.1":0,"2.2":0,"2.3":0,"4.1":0.00128,"4.2-4.3":0.00555,"4.4":0,"4.4.3-4.4.4":0.03119},K:{_:"0 10 11 12 11.1 11.5 12.1"},A:{"11":0.37859,_:"6 7 8 9 10 5.5"},J:{"7":0,"10":0},N:{"10":0.01297,"11":0.01825},S:{"2.5":0},R:{_:"0"},M:{"0":0.10437},Q:{"10.4":0.01099},O:{"0":0.10437},H:{"0":0.42123},L:{"0":27.97117}}; diff --git a/tools/node_modules/@babel/core/node_modules/caniuse-lite/data/regions/TZ.js b/tools/node_modules/@babel/core/node_modules/caniuse-lite/data/regions/TZ.js new file mode 100644 index 00000000000000..42a1b54935f11d --- /dev/null +++ b/tools/node_modules/@babel/core/node_modules/caniuse-lite/data/regions/TZ.js @@ -0,0 +1 @@ +module.exports={C:{"17":0.00455,"23":0.00455,"24":0.00228,"27":0.00228,"30":0.00911,"32":0.00228,"34":0.00455,"36":0.00683,"37":0.00455,"38":0.00228,"40":0.00455,"41":0.00455,"43":0.01366,"44":0.00683,"45":0.00455,"46":0.00228,"47":0.01594,"48":0.00683,"49":0.00683,"52":0.01594,"56":0.00683,"57":0.00683,"58":0.00228,"60":0.00228,"66":0.01139,"67":0.00683,"68":0.00911,"72":0.01822,"77":0.01139,"78":0.05693,"80":0.00455,"81":0.00455,"82":0.00455,"83":0.00683,"84":0.01139,"85":0.01594,"86":0.05009,"87":0.05693,"88":2.01287,"89":0.12751,_:"2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 18 19 20 21 22 25 26 28 29 31 33 35 39 42 50 51 53 54 55 59 61 62 63 64 65 69 70 71 73 74 75 76 79 90 91 3.5 3.6"},D:{"21":0.00228,"24":0.00455,"32":0.00228,"33":0.00455,"37":0.00228,"39":0.00455,"40":0.00455,"43":0.00455,"49":0.03188,"50":0.00683,"55":0.00683,"56":0.00228,"57":0.01366,"58":0.00455,"60":0.01366,"61":0.00455,"62":0.00228,"63":0.01594,"64":0.00455,"65":0.00683,"66":0.00228,"67":0.00911,"68":0.00455,"69":0.00683,"70":0.01366,"71":0.01139,"72":0.02732,"73":0.01594,"74":0.02049,"75":0.00683,"76":0.00683,"77":0.01139,"78":0.01139,"79":0.03871,"80":0.02505,"81":0.01594,"83":0.04326,"84":0.04099,"85":0.01822,"86":0.04099,"87":0.11613,"88":0.18216,"89":0.3165,"90":8.12661,"91":0.36432,"92":0.02049,_:"4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 22 23 25 26 27 28 29 30 31 34 35 36 38 41 42 44 45 46 47 48 51 52 53 54 59 93 94"},F:{"36":0.00455,"42":0.00455,"63":0.00911,"64":0.01822,"72":0.00228,"73":0.02049,"74":0.01139,"75":0.40075,"76":0.66261,_:"9 11 12 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 37 38 39 40 41 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 60 62 65 66 67 68 69 70 71 9.5-9.6 10.5 10.6 11.1 11.5 11.6 12.1","10.0-10.1":0},G:{"8":0.00183,"3.2":0,"4.0-4.1":0,"4.2-4.3":0.00092,"5.0-5.1":0.00183,"6.0-6.1":0.00137,"7.0-7.1":0.03753,"8.1-8.4":0,"9.0-9.2":0.00549,"9.3":0.08375,"10.0-10.2":0.03707,"10.3":0.06453,"11.0-11.2":0.05766,"11.3-11.4":0.05217,"12.0-12.1":0.08283,"12.2-12.4":0.37023,"13.0-13.1":0.04759,"13.2":0.02151,"13.3":0.15056,"13.4-13.7":0.34826,"14.0-14.4":2.14267,"14.5-14.6":0.39952},E:{"4":0,"10":0.00228,"11":0.00228,"12":0.00455,"13":0.01366,"14":0.20038,_:"0 5 6 7 8 9 3.1 3.2 5.1 7.1","6.1":0.00228,"9.1":0.00455,"10.1":0.00683,"11.1":0.02505,"12.1":0.02505,"13.1":0.07514,"14.1":0.06148},B:{"12":0.04782,"13":0.02732,"14":0.00683,"15":0.01822,"16":0.02049,"17":0.01822,"18":0.13662,"80":0.00455,"84":0.01822,"85":0.02505,"86":0.01366,"87":0.00911,"88":0.01366,"89":0.06376,"90":0.96089,"91":0.03871,_:"79 81 83"},P:{"4":0.35476,"5.0-5.4":0.04174,"6.2-6.4":0.01043,"7.2-7.4":0.11478,"8.2":0.0403,"9.2":0.16695,"10.1":0.01043,"11.1-11.2":0.25042,"12.0":0.08347,"13.0":0.36519,"14.0":0.74082},I:{"0":0,"3":0,"4":0,"2.1":0,"2.2":0,"2.3":0,"4.1":0.00395,"4.2-4.3":0.00988,"4.4":0,"4.4.3-4.4.4":0.10971},K:{_:"0 10 11 12 11.1 11.5 12.1"},A:{"8":0.00983,"9":0.00492,"11":0.20157,_:"6 7 10 5.5"},J:{"7":0,"10":0.00772},N:{"10":0.01297,"11":0.01825},S:{"2.5":0.39382},R:{_:"0"},M:{"0":0.12355},Q:{"10.4":0.01544},O:{"0":1.49035},H:{"0":25.8506},L:{"0":48.35051}}; diff --git a/tools/node_modules/@babel/core/node_modules/caniuse-lite/data/regions/UA.js b/tools/node_modules/@babel/core/node_modules/caniuse-lite/data/regions/UA.js new file mode 100644 index 00000000000000..c39ef17966d4fc --- /dev/null +++ b/tools/node_modules/@babel/core/node_modules/caniuse-lite/data/regions/UA.js @@ -0,0 +1 @@ +module.exports={C:{"4":0.00657,"5":0.00657,"15":0.00657,"17":0.01313,"20":0.09194,"45":0.02627,"52":0.26925,"56":0.03284,"57":0.02627,"58":0.01313,"60":0.13791,"61":0.00657,"62":0.00657,"66":0.01313,"68":0.26268,"70":0.00657,"72":0.01313,"74":0.00657,"75":0.01313,"77":0.0197,"78":0.22985,"79":0.0197,"80":0.0197,"81":0.02627,"82":0.0394,"83":0.03284,"84":0.15761,"85":0.03284,"86":0.03284,"87":0.07224,"88":2.56113,"89":0.03284,_:"2 3 6 7 8 9 10 11 12 13 14 16 18 19 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 46 47 48 49 50 51 53 54 55 59 63 64 65 67 69 71 73 76 90 91 3.5 3.6"},D:{"23":0.00657,"24":0.0197,"25":0.01313,"41":0.00657,"42":0.00657,"49":0.90625,"51":0.01313,"53":0.01313,"56":0.00657,"57":0.01313,"58":0.01313,"59":0.0197,"60":0.01313,"61":0.31522,"63":0.02627,"64":0.00657,"65":0.00657,"66":0.00657,"67":0.0197,"68":0.02627,"69":0.03284,"70":0.02627,"71":0.02627,"72":0.06567,"73":0.04597,"74":0.97848,"75":0.02627,"76":0.0197,"77":0.03284,"78":0.49909,"79":0.58446,"80":0.57133,"81":0.5582,"83":0.61073,"84":0.637,"85":0.17074,"86":0.40059,"87":0.80117,"88":0.51879,"89":1.22803,"90":31.85652,"91":0.95878,"92":0.03284,_:"4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 43 44 45 46 47 48 50 52 54 55 62 93 94"},F:{"36":0.07224,"47":0.00657,"58":0.02627,"63":0.00657,"66":0.02627,"67":0.00657,"68":0.01313,"69":0.01313,"70":0.0197,"71":0.0197,"72":0.0197,"73":0.48596,"74":0.06567,"75":4.03214,"76":6.44223,_:"9 11 12 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 37 38 39 40 41 42 43 44 45 46 48 49 50 51 52 53 54 55 56 57 60 62 64 65 9.5-9.6 10.5 10.6 11.1 11.5 11.6","10.0-10.1":0,"12.1":0.03284},G:{"8":0,"3.2":0,"4.0-4.1":0,"4.2-4.3":0,"5.0-5.1":0.00164,"6.0-6.1":0.01093,"7.0-7.1":0.01749,"8.1-8.4":0.00601,"9.0-9.2":0.00547,"9.3":0.05357,"10.0-10.2":0.00929,"10.3":0.06231,"11.0-11.2":0.02788,"11.3-11.4":0.02952,"12.0-12.1":0.03443,"12.2-12.4":0.1197,"13.0-13.1":0.02514,"13.2":0.01858,"13.3":0.08089,"13.4-13.7":0.26509,"14.0-14.4":3.64463,"14.5-14.6":0.82808},E:{"4":0,"12":0.01313,"13":0.06567,"14":1.08356,_:"0 5 6 7 8 9 10 11 3.1 3.2 6.1 7.1 9.1 10.1","5.1":0.30865,"11.1":0.0197,"12.1":0.0591,"13.1":0.24955,"14.1":0.44656},B:{"17":0.00657,"18":0.0394,"84":0.0197,"86":0.00657,"87":0.03284,"88":0.04597,"89":0.0197,"90":1.02445,"91":0.0394,_:"12 13 14 15 16 79 80 81 83 85"},P:{"4":0.04365,"5.0-5.4":0.01052,"6.2-6.4":0.09153,"7.2-7.4":0.03274,"8.2":0.02034,"9.2":0.02183,"10.1":0.03274,"11.1-11.2":0.09821,"12.0":0.06548,"13.0":0.1746,"14.0":0.92758},I:{"0":0,"3":0,"4":0.00025,"2.1":0,"2.2":0,"2.3":0,"4.1":0.00175,"4.2-4.3":0.00525,"4.4":0,"4.4.3-4.4.4":0.0305},K:{_:"0 10 11 12 11.1 11.5 12.1"},A:{"8":0.02818,"9":0.01409,"10":0.00704,"11":0.33814,_:"6 7 5.5"},J:{"7":0,"10":0},N:{"10":0.01297,"11":0.01825},S:{"2.5":0},R:{_:"0"},M:{"0":0.16474},Q:{"10.4":0.01373},O:{"0":0.55942},H:{"0":3.52863},L:{"0":23.90923}}; diff --git a/tools/node_modules/@babel/core/node_modules/caniuse-lite/data/regions/UG.js b/tools/node_modules/@babel/core/node_modules/caniuse-lite/data/regions/UG.js new file mode 100644 index 00000000000000..47386d502b54fb --- /dev/null +++ b/tools/node_modules/@babel/core/node_modules/caniuse-lite/data/regions/UG.js @@ -0,0 +1 @@ +module.exports={C:{"17":0.01107,"21":0.00369,"24":0.00369,"32":0.00369,"34":0.00369,"35":0.00738,"36":0.00738,"37":0.00369,"38":0.00369,"39":0.00738,"40":0.00738,"41":0.00369,"42":0.02213,"43":0.02582,"44":0.01107,"45":0.00738,"46":0.00738,"47":0.01845,"48":0.01845,"49":0.00738,"50":0.01107,"52":0.05165,"55":0.00369,"56":0.0332,"57":0.00738,"58":0.01107,"59":0.00369,"60":0.02582,"61":0.00369,"62":0.00369,"64":0.00738,"66":0.00738,"67":0.00738,"68":0.01107,"69":0.00369,"71":0.01476,"72":0.02951,"76":0.04058,"77":0.00738,"78":0.08854,"79":0.00369,"80":0.01107,"81":0.00738,"82":0.01476,"83":0.01107,"84":0.01476,"85":0.03689,"86":0.05165,"87":0.09591,"88":3.689,"89":0.60869,_:"2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 18 19 20 22 23 25 26 27 28 29 30 31 33 51 53 54 63 65 70 73 74 75 90 91 3.5 3.6"},D:{"19":0.01845,"24":0.00738,"38":0.01476,"39":0.00738,"43":0.00738,"47":0.00369,"49":0.02582,"50":0.00369,"51":0.00369,"53":0.00369,"55":0.00369,"56":0.00738,"57":0.01845,"58":0.00738,"59":0.00369,"62":0.00738,"63":0.02582,"64":0.05165,"65":0.01107,"67":0.00369,"68":0.01107,"69":0.00738,"70":0.01107,"71":0.00738,"72":0.02951,"73":0.00738,"74":0.02213,"75":0.01107,"76":0.04427,"77":0.00738,"78":0.05165,"79":0.16601,"80":0.1328,"81":0.02213,"83":0.05165,"84":0.02582,"85":0.0332,"86":0.08485,"87":0.21396,"88":0.16969,"89":0.7378,"90":16.50828,"91":0.81896,"92":0.0332,_:"4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 20 21 22 23 25 26 27 28 29 30 31 32 33 34 35 36 37 40 41 42 44 45 46 48 52 54 60 61 66 93 94"},F:{"28":0.00738,"34":0.00738,"63":0.02213,"72":0.00369,"73":0.01476,"74":0.01107,"75":0.45006,"76":0.83003,_:"9 11 12 15 16 17 18 19 20 21 22 23 24 25 26 27 29 30 31 32 33 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 60 62 64 65 66 67 68 69 70 71 9.5-9.6 10.5 10.6 11.1 11.5 11.6 12.1","10.0-10.1":0},G:{"8":0,"3.2":0,"4.0-4.1":0,"4.2-4.3":0,"5.0-5.1":0.00364,"6.0-6.1":0.0085,"7.0-7.1":0.02104,"8.1-8.4":0.00364,"9.0-9.2":0.00526,"9.3":0.05827,"10.0-10.2":0.00647,"10.3":0.08295,"11.0-11.2":0.09994,"11.3-11.4":0.05746,"12.0-12.1":0.03358,"12.2-12.4":0.17723,"13.0-13.1":0.07324,"13.2":0.01942,"13.3":0.08861,"13.4-13.7":0.46331,"14.0-14.4":1.98716,"14.5-14.6":0.4018},E:{"4":0,"12":0.01476,"13":0.01476,"14":0.32094,_:"0 5 6 7 8 9 10 11 3.1 3.2 6.1 7.1 9.1","5.1":0.05534,"10.1":0.00738,"11.1":0.01107,"12.1":0.01476,"13.1":0.07378,"14.1":0.09223},B:{"12":0.04796,"13":0.01845,"14":0.01476,"15":0.0332,"16":0.0332,"17":0.02213,"18":0.21027,"84":0.01845,"85":0.02951,"86":0.00369,"87":0.00738,"88":0.01107,"89":0.10329,"90":3.0508,"91":0.09223,_:"79 80 81 83"},P:{"4":0.19988,"5.0-5.4":0.01052,"6.2-6.4":0.09153,"7.2-7.4":0.07364,"8.2":0.02034,"9.2":0.08416,"10.1":0.06423,"11.1-11.2":0.1578,"12.0":0.07364,"13.0":0.3682,"14.0":0.61016},I:{"0":0,"3":0,"4":0.00063,"2.1":0,"2.2":0,"2.3":0,"4.1":0.0019,"4.2-4.3":0.00696,"4.4":0,"4.4.3-4.4.4":0.12306},K:{_:"0 10 11 12 11.1 11.5 12.1"},A:{"8":0.02085,"10":0.00521,"11":0.21372,_:"6 7 9 5.5"},J:{"7":0,"10":0.04418},N:{"10":0.01297,"11":0.01825},S:{"2.5":0.22723},R:{_:"0"},M:{"0":0.16411},Q:{"10.4":0},O:{"0":0.9468},H:{"0":18.14849},L:{"0":43.17181}}; diff --git a/tools/node_modules/@babel/core/node_modules/caniuse-lite/data/regions/US.js b/tools/node_modules/@babel/core/node_modules/caniuse-lite/data/regions/US.js new file mode 100644 index 00000000000000..315214e5bb3865 --- /dev/null +++ b/tools/node_modules/@babel/core/node_modules/caniuse-lite/data/regions/US.js @@ -0,0 +1 @@ +module.exports={C:{"2":0.00983,"3":0.00983,"4":0.04913,"11":0.01474,"17":0.00491,"38":0.00491,"44":0.01474,"45":0.00491,"48":0.01474,"52":0.0393,"54":0.01965,"55":0.00491,"56":0.02948,"58":0.01965,"59":0.00491,"60":0.00491,"63":0.00983,"66":0.00491,"68":0.00983,"72":0.00983,"76":0.00491,"77":0.00491,"78":0.14739,"79":0.00983,"80":0.00983,"81":0.00983,"82":0.02457,"83":0.00983,"84":0.01965,"85":0.02457,"86":0.03439,"87":0.08352,"88":2.1175,"89":0.00983,_:"5 6 7 8 9 10 12 13 14 15 16 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 39 40 41 42 43 46 47 49 50 51 53 57 61 62 64 65 67 69 70 71 73 74 75 90 91 3.5","3.6":0.00491},D:{"33":0.00983,"35":0.02457,"38":0.00491,"40":0.02457,"43":0.00983,"47":0.00491,"48":0.04913,"49":0.26039,"51":0.00983,"52":0.00491,"53":0.02948,"56":0.10809,"58":0.00491,"59":0.00983,"60":0.03439,"61":0.31443,"62":0.00491,"63":0.01474,"64":0.06387,"65":0.01965,"66":0.04913,"67":0.03439,"68":0.01474,"69":0.01965,"70":0.07861,"71":0.00983,"72":0.08843,"73":0.01965,"74":0.07861,"75":0.14739,"76":0.18669,"77":0.0737,"78":0.14248,"79":0.22109,"80":0.18178,"81":0.10809,"83":0.09826,"84":0.16704,"85":0.20143,"86":0.28495,"87":0.52078,"88":0.79591,"89":2.20594,"90":21.39612,"91":0.40287,"92":0.05404,"93":0.01965,_:"4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 34 36 37 39 41 42 44 45 46 50 54 55 57 94"},F:{"73":0.04422,"74":0.00491,"75":0.21126,"76":0.21617,_:"9 11 12 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 60 62 63 64 65 66 67 68 69 70 71 72 9.5-9.6 10.5 10.6 11.1 11.5 11.6 12.1","10.0-10.1":0},G:{"8":0,"3.2":0,"4.0-4.1":0,"4.2-4.3":0,"5.0-5.1":0.00282,"6.0-6.1":0.01129,"7.0-7.1":0.02259,"8.1-8.4":0.02259,"9.0-9.2":0.01977,"9.3":0.14965,"10.0-10.2":0.03106,"10.3":0.17507,"11.0-11.2":0.07906,"11.3-11.4":0.10165,"12.0-12.1":0.10447,"12.2-12.4":0.31907,"13.0-13.1":0.09883,"13.2":0.048,"13.3":0.26542,"13.4-13.7":0.91768,"14.0-14.4":21.26768,"14.5-14.6":3.8938},E:{"4":0,"8":1.1349,"9":0.00983,"11":0.01474,"12":0.02457,"13":0.14248,"14":4.36766,_:"0 5 6 7 10 3.1 3.2 6.1 7.1","5.1":0.00491,"9.1":0.09826,"10.1":0.0393,"11.1":0.12283,"12.1":0.18669,"13.1":0.76643,"14.1":1.50829},B:{"12":0.01474,"14":0.00491,"15":0.00983,"16":0.00983,"17":0.01965,"18":0.17196,"80":0.00491,"84":0.00983,"85":0.00983,"86":0.01474,"87":0.01965,"88":0.02457,"89":0.14248,"90":5.04074,"91":0.09335,_:"13 79 81 83"},P:{"4":0.06474,_:"5.0-5.4 6.2-6.4 7.2-7.4 8.2 10.1","9.2":0.03237,"11.1-11.2":0.07553,"12.0":0.04316,"13.0":0.24817,"14.0":1.84508},I:{"0":0,"3":0,"4":0.05839,"2.1":0,"2.2":0,"2.3":0,"4.1":0.01168,"4.2-4.3":0.11677,"4.4":0,"4.4.3-4.4.4":0.19462},K:{_:"0 10 11 12 11.1 11.5 12.1"},A:{"7":0.00545,"8":0.01634,"9":0.27772,"11":0.80593,_:"6 10 5.5"},J:{"7":0,"10":0},N:{_:"10 11"},S:{"2.5":0},R:{_:"0"},M:{"0":0.42214},Q:{"10.4":0.02034},O:{"0":0.22887},H:{"0":0.24075},L:{"0":20.79745}}; diff --git a/tools/node_modules/@babel/core/node_modules/caniuse-lite/data/regions/UY.js b/tools/node_modules/@babel/core/node_modules/caniuse-lite/data/regions/UY.js new file mode 100644 index 00000000000000..f520e7f4429fb0 --- /dev/null +++ b/tools/node_modules/@babel/core/node_modules/caniuse-lite/data/regions/UY.js @@ -0,0 +1 @@ +module.exports={C:{"43":0.00519,"45":0.00519,"47":0.01038,"51":0.00519,"52":0.08823,"53":0.00519,"55":0.01038,"57":0.02595,"59":0.00519,"61":0.01557,"63":0.00519,"66":0.03633,"68":0.03114,"71":0.00519,"73":0.04671,"78":0.08823,"79":0.01038,"80":0.00519,"81":0.00519,"82":0.00519,"83":0.01557,"84":0.03114,"85":0.01038,"86":0.02595,"87":0.04671,"88":2.65209,"89":0.01557,_:"2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 44 46 48 49 50 54 56 58 60 62 64 65 67 69 70 72 74 75 76 77 90 91 3.5 3.6"},D:{"36":0.06228,"38":0.02076,"43":0.01557,"46":0.00519,"47":0.02076,"48":0.01557,"49":0.24912,"52":0.00519,"53":0.01038,"54":0.00519,"55":0.01038,"57":0.00519,"58":0.00519,"60":0.01038,"62":0.02595,"63":0.01557,"65":0.02595,"66":0.01038,"67":0.01038,"68":0.00519,"69":0.01557,"70":0.01557,"71":0.04152,"72":0.02076,"73":0.01557,"74":0.03114,"75":0.01557,"76":0.03114,"77":0.03114,"78":0.01557,"79":0.06228,"80":0.3114,"81":0.08823,"83":0.07266,"84":0.04152,"85":0.07266,"86":1.83207,"87":0.22317,"88":0.40482,"89":0.91863,"90":34.28514,"91":1.20408,"92":0.01038,_:"4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 37 39 40 41 42 44 45 50 51 56 59 61 64 93 94"},F:{"73":0.35292,"74":0.00519,"75":1.27674,"76":0.55533,_:"9 11 12 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 60 62 63 64 65 66 67 68 69 70 71 72 9.5-9.6 10.5 10.6 11.1 11.5 11.6 12.1","10.0-10.1":0},G:{"8":0,"3.2":0.00268,"4.0-4.1":0,"4.2-4.3":0,"5.0-5.1":0.02347,"6.0-6.1":0.00201,"7.0-7.1":0.01341,"8.1-8.4":0.00067,"9.0-9.2":0.00134,"9.3":0.03889,"10.0-10.2":0.00469,"10.3":0.03956,"11.0-11.2":0.01274,"11.3-11.4":0.02146,"12.0-12.1":0.02079,"12.2-12.4":0.10796,"13.0-13.1":0.00805,"13.2":0.00402,"13.3":0.08181,"13.4-13.7":0.29908,"14.0-14.4":4.58943,"14.5-14.6":0.8751},E:{"4":0,"12":0.00519,"13":0.04152,"14":0.56571,_:"0 5 6 7 8 9 10 11 3.1 3.2 6.1 7.1 9.1","5.1":0.20241,"10.1":0.00519,"11.1":0.02595,"12.1":0.13494,"13.1":0.21279,"14.1":0.33216},B:{"12":0.01557,"13":0.01038,"15":0.01038,"17":0.00519,"18":0.04152,"80":0.01038,"84":0.01038,"89":0.04152,"90":2.22132,"91":0.16608,_:"14 16 79 81 83 85 86 87 88"},P:{"4":0.08232,"5.0-5.4":0.01052,"6.2-6.4":0.09153,"7.2-7.4":0.14406,"8.2":0.02034,"9.2":0.12348,"10.1":0.02058,"11.1-11.2":0.2058,"12.0":0.19551,"13.0":0.27784,"14.0":1.46121},I:{"0":0,"3":0,"4":0.00976,"2.1":0,"2.2":0,"2.3":0,"4.1":0.00781,"4.2-4.3":0.01757,"4.4":0,"4.4.3-4.4.4":0.16206},K:{_:"0 10 11 12 11.1 11.5 12.1"},A:{"11":0.22317,_:"6 7 8 9 10 5.5"},J:{"7":0,"10":0},N:{"10":0.01297,"11":0.01825},S:{"2.5":0},R:{_:"0"},M:{"0":0.21164},Q:{"10.4":0},O:{"0":0.00962},H:{"0":0.15938},L:{"0":40.27003}}; diff --git a/tools/node_modules/@babel/core/node_modules/caniuse-lite/data/regions/UZ.js b/tools/node_modules/@babel/core/node_modules/caniuse-lite/data/regions/UZ.js new file mode 100644 index 00000000000000..b09469c693e7c1 --- /dev/null +++ b/tools/node_modules/@babel/core/node_modules/caniuse-lite/data/regions/UZ.js @@ -0,0 +1 @@ +module.exports={C:{"52":0.04095,"57":0.01638,"68":0.01229,"72":0.20475,"77":0.00819,"78":0.04095,"79":0.33579,"80":0.01638,"81":0.00819,"83":0.00819,"84":0.02048,"85":0.00819,"86":0.00819,"87":0.02048,"88":1.1507,"89":0.03276,_:"2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 53 54 55 56 58 59 60 61 62 63 64 65 66 67 69 70 71 73 74 75 76 82 90 91 3.5 3.6"},D:{"34":0.01229,"49":0.30303,"53":0.0041,"55":0.0041,"56":0.03276,"59":0.0041,"63":0.00819,"66":0.05733,"67":0.01638,"68":0.00819,"70":0.01229,"71":0.05324,"72":0.02867,"73":0.01229,"74":0.01229,"75":0.0041,"76":0.01638,"77":0.00819,"78":0.0041,"79":0.09419,"80":0.03276,"81":0.02048,"83":0.06143,"84":0.06552,"85":0.06143,"86":0.19656,"87":0.29075,"88":0.34398,"89":0.47502,"90":24.04584,"91":1.10156,"92":0.02867,_:"4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 35 36 37 38 39 40 41 42 43 44 45 46 47 48 50 51 52 54 57 58 60 61 62 64 65 69 93 94"},F:{"36":0.00819,"40":0.01229,"42":0.00819,"45":0.03276,"46":0.00819,"48":0.00819,"49":0.00819,"50":0.01638,"51":0.01229,"53":0.07371,"54":0.01638,"55":0.01229,"56":0.01229,"57":0.10647,"58":0.02457,"60":0.04095,"62":0.04095,"63":0.02457,"64":0.05733,"65":0.01638,"66":0.02048,"67":0.05324,"68":0.02048,"69":0.01229,"70":0.24161,"71":0.02867,"72":0.06552,"73":0.14742,"74":0.03276,"75":0.05733,"76":0.04505,_:"9 11 12 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 37 38 39 41 43 44 47 52 9.5-9.6 10.5 10.6 11.1 11.5 11.6 12.1","10.0-10.1":0},G:{"8":0.00237,"3.2":0,"4.0-4.1":0,"4.2-4.3":0.00047,"5.0-5.1":0.00379,"6.0-6.1":0.00189,"7.0-7.1":0.04449,"8.1-8.4":0.00331,"9.0-9.2":0.00899,"9.3":0.06437,"10.0-10.2":0.00757,"10.3":0.08851,"11.0-11.2":0.03503,"11.3-11.4":0.08425,"12.0-12.1":0.02698,"12.2-12.4":0.1633,"13.0-13.1":0.03219,"13.2":0.01041,"13.3":0.0497,"13.4-13.7":0.23856,"14.0-14.4":2.72497,"14.5-14.6":0.7313},E:{"4":0,"11":0.00819,"13":0.00819,"14":0.36446,_:"0 5 6 7 8 9 10 12 3.1 3.2 6.1 7.1 9.1 10.1","5.1":1.77314,"11.1":0.0041,"12.1":0.00819,"13.1":0.11057,"14.1":0.18428},B:{"12":0.0041,"14":0.0041,"15":0.00819,"16":0.00819,"17":0.02867,"18":0.07371,"83":0.0041,"84":0.02457,"85":0.0041,"88":0.00819,"89":0.02867,"90":0.77396,"91":0.06143,_:"13 79 80 81 86 87"},P:{"4":1.25801,"5.0-5.4":0.16232,"6.2-6.4":0.24349,"7.2-7.4":0.47683,"8.2":0.02029,"9.2":0.24349,"10.1":0.12174,"11.1-11.2":0.55799,"12.0":0.29421,"13.0":1.06525,"14.0":1.67396},I:{"0":0,"3":0,"4":0.00193,"2.1":0,"2.2":0,"2.3":0,"4.1":0.00358,"4.2-4.3":0.01266,"4.4":0,"4.4.3-4.4.4":0.05861},K:{_:"0 10 11 12 11.1 11.5 12.1"},A:{"9":0.01588,"11":0.50033,_:"6 7 8 10 5.5"},J:{"7":0,"10":0},N:{"10":0.01297,"11":0.01825},S:{"2.5":0},R:{_:"0"},M:{"0":0.06496},Q:{"10.4":0.01772},O:{"0":4.724},H:{"0":0.50314},L:{"0":44.47511}}; diff --git a/tools/node_modules/@babel/core/node_modules/caniuse-lite/data/regions/VA.js b/tools/node_modules/@babel/core/node_modules/caniuse-lite/data/regions/VA.js new file mode 100644 index 00000000000000..a291e9e9d81fca --- /dev/null +++ b/tools/node_modules/@babel/core/node_modules/caniuse-lite/data/regions/VA.js @@ -0,0 +1 @@ +module.exports={C:{"63":0.02639,"70":0.0088,"86":0.01759,"87":0.14075,"88":11.93753,_:"2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 64 65 66 67 68 69 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 89 90 91 3.5 3.6"},D:{"67":0.54541,"74":0.02639,"77":0.23752,"81":0.02639,"84":0.46624,"88":0.03519,"89":1.03805,"90":52.34215,"91":1.90895,_:"4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 68 69 70 71 72 73 75 76 78 79 80 83 85 86 87 92 93 94"},F:{"75":0.04399,"76":0.31669,_:"9 11 12 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 60 62 63 64 65 66 67 68 69 70 71 72 73 74 9.5-9.6 10.5 10.6 11.1 11.5 11.6 12.1","10.0-10.1":0},G:{"8":0,"3.2":0,"4.0-4.1":0,"4.2-4.3":0,"5.0-5.1":0,"6.0-6.1":0,"7.0-7.1":0.07222,"8.1-8.4":0.02167,"9.0-9.2":0,"9.3":0,"10.0-10.2":0.06087,"10.3":0,"11.0-11.2":0,"11.3-11.4":0,"12.0-12.1":0,"12.2-12.4":0,"13.0-13.1":0,"13.2":0,"13.3":0,"13.4-13.7":0.00516,"14.0-14.4":0.73459,"14.5-14.6":8.227},E:{"4":0,"13":0.01759,"14":1.21399,_:"0 5 6 7 8 9 10 11 12 3.1 3.2 5.1 6.1 7.1 9.1","10.1":0.40466,"11.1":0.25511,"12.1":0.08797,"13.1":0.15835,"14.1":1.30196},B:{"17":0.0088,"18":0.36947,"89":0.0088,"90":12.20144,"91":0.78293,_:"12 13 14 15 16 79 80 81 83 84 85 86 87 88"},P:{"4":0.49551,"5.0-5.4":0.15169,"6.2-6.4":0.05056,"7.2-7.4":0.30337,"8.2":0.01011,"9.2":0.17191,"10.1":0.03034,"11.1-11.2":0.4045,"12.0":0.13146,"13.0":0.01135,"14.0":1.62248},I:{"0":0,"3":0,"4":0,"2.1":0,"2.2":0,"2.3":0,"4.1":0,"4.2-4.3":0,"4.4":0,"4.4.3-4.4.4":0},K:{_:"0 10 11 12 11.1 11.5 12.1"},A:{"11":1.71542,_:"6 7 8 9 10 5.5"},J:{"7":0,"10":0},N:{"10":0.02735,"11":0.02361},S:{"2.5":0},R:{_:"0"},M:{"0":0.00602},Q:{"10.4":0},O:{"0":0.00602},H:{"0":0},L:{"0":1.43097}}; diff --git a/tools/node_modules/@babel/core/node_modules/caniuse-lite/data/regions/VC.js b/tools/node_modules/@babel/core/node_modules/caniuse-lite/data/regions/VC.js new file mode 100644 index 00000000000000..e3b699df30269b --- /dev/null +++ b/tools/node_modules/@babel/core/node_modules/caniuse-lite/data/regions/VC.js @@ -0,0 +1 @@ +module.exports={C:{"34":0.0085,"52":0.00425,"56":0.0085,"60":0.00425,"63":0.01275,"73":0.00425,"78":0.00425,"87":0.04676,"88":1.37307,"89":0.01275,_:"2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 53 54 55 57 58 59 61 62 64 65 66 67 68 69 70 71 72 74 75 76 77 79 80 81 82 83 84 85 86 90 91 3.5 3.6"},D:{"35":0.00425,"49":0.06802,"53":0.15729,"56":0.00425,"57":0.00425,"58":0.01275,"63":0.03826,"65":0.01275,"68":0.01275,"69":0.02551,"72":0.01275,"74":0.21255,"75":0.17854,"76":0.05101,"77":0.05526,"78":0.01275,"79":0.03826,"80":0.0085,"81":0.10202,"83":0.00425,"85":0.01275,"86":0.01275,"87":0.02976,"88":0.14879,"89":1.92145,"90":17.82019,"91":0.83745,"92":0.01275,_:"4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 36 37 38 39 40 41 42 43 44 45 46 47 48 50 51 52 54 55 59 60 61 62 64 66 67 70 71 73 84 93 94"},F:{"55":0.00425,"73":0.4081,"75":0.39959,"76":0.48461,_:"9 11 12 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 56 57 58 60 62 63 64 65 66 67 68 69 70 71 72 74 9.5-9.6 10.5 10.6 11.1 11.5 11.6 12.1","10.0-10.1":0},G:{"8":0.00075,"3.2":0,"4.0-4.1":0,"4.2-4.3":0,"5.0-5.1":0.046,"6.0-6.1":0.00377,"7.0-7.1":0.07465,"8.1-8.4":0.00603,"9.0-9.2":0.00226,"9.3":0.09426,"10.0-10.2":0.00302,"10.3":0.14403,"11.0-11.2":0.01659,"11.3-11.4":0.02866,"12.0-12.1":0.00528,"12.2-12.4":0.04525,"13.0-13.1":0.03092,"13.2":0.00075,"13.3":0.02036,"13.4-13.7":0.18701,"14.0-14.4":5.581,"14.5-14.6":0.81517},E:{"4":0,"12":0.01275,"13":0.03826,"14":2.9757,_:"0 5 6 7 8 9 10 11 3.1 3.2 6.1 7.1 9.1 10.1","5.1":0.02126,"11.1":0.02551,"12.1":0.04676,"13.1":0.14879,"14.1":1.15202},B:{"15":0.03401,"16":0.00425,"17":0.03826,"18":0.16154,"80":0.00425,"81":0.0085,"83":0.00425,"84":0.00425,"85":0.00425,"86":0.01275,"88":0.00425,"89":0.12753,"90":6.74634,"91":0.2253,_:"12 13 14 79 87"},P:{"4":0.20923,"5.0-5.4":0.02077,"6.2-6.4":0.05019,"7.2-7.4":0.20923,"8.2":0.10461,"9.2":0.49982,"10.1":0.02325,"11.1-11.2":0.20923,"12.0":0.09299,"13.0":0.45333,"14.0":5.10286},I:{"0":0,"3":0,"4":0.00131,"2.1":0,"2.2":0,"2.3":0,"4.1":0.00263,"4.2-4.3":0.00329,"4.4":0,"4.4.3-4.4.4":0.06176},K:{_:"0 10 11 12 11.1 11.5 12.1"},A:{"11":0.50162,_:"6 7 8 9 10 5.5"},J:{"7":0,"10":0.01725},N:{_:"10 11"},S:{"2.5":0},R:{_:"0"},M:{"0":0.08049},Q:{"10.4":0},O:{"0":0.03449},H:{"0":0.02177},L:{"0":48.34769}}; diff --git a/tools/node_modules/@babel/core/node_modules/caniuse-lite/data/regions/VE.js b/tools/node_modules/@babel/core/node_modules/caniuse-lite/data/regions/VE.js new file mode 100644 index 00000000000000..c17f4a46e5689b --- /dev/null +++ b/tools/node_modules/@babel/core/node_modules/caniuse-lite/data/regions/VE.js @@ -0,0 +1 @@ +module.exports={C:{"8":0.0179,"27":0.07757,"29":0.00597,"43":0.01193,"45":0.01193,"47":0.01193,"48":0.02387,"51":0.01193,"52":0.41172,"54":0.01193,"56":0.00597,"57":0.00597,"58":0.00597,"60":0.0179,"61":0.00597,"62":0.0179,"64":0.00597,"65":0.0179,"66":0.01193,"68":0.02984,"69":0.00597,"70":0.01193,"71":0.0179,"72":0.04774,"75":0.00597,"77":0.01193,"78":0.13724,"79":0.00597,"80":0.0179,"81":0.0179,"82":0.01193,"83":0.01193,"84":0.02984,"85":0.04774,"86":0.04177,"87":0.06564,"88":3.18041,"89":0.02387,_:"2 3 4 5 6 7 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 28 30 31 32 33 34 35 36 37 38 39 40 41 42 44 46 49 50 53 55 59 63 67 73 74 76 90 91 3.5 3.6"},D:{"22":0.00597,"25":0.00597,"37":0.00597,"42":0.01193,"43":0.00597,"45":0.00597,"47":0.01193,"48":0.00597,"49":0.76378,"50":0.00597,"51":0.01193,"52":0.00597,"53":0.0179,"55":0.01193,"56":0.01193,"57":0.00597,"58":0.0179,"60":0.00597,"61":0.02984,"62":0.01193,"63":0.04774,"64":0.0179,"65":0.02984,"66":0.0179,"67":0.0537,"68":0.02387,"69":0.0537,"70":0.0358,"71":0.0716,"72":0.02387,"73":0.0358,"74":0.02984,"75":0.05967,"76":0.0716,"77":0.02984,"78":0.0537,"79":0.13127,"80":0.08354,"81":0.08951,"83":0.10144,"84":0.08951,"85":0.10741,"86":0.26255,"87":0.89505,"88":0.543,"89":1.42015,"90":35.22917,"91":1.48578,"92":0.0179,_:"4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 23 24 26 27 28 29 30 31 32 33 34 35 36 38 39 40 41 44 46 54 59 93 94"},F:{"36":0.00597,"68":0.0179,"72":0.00597,"73":0.26255,"74":0.0179,"75":1.1576,"76":1.1218,_:"9 11 12 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 60 62 63 64 65 66 67 69 70 71 9.5-9.6 10.5 10.6 11.1 11.5 11.6 12.1","10.0-10.1":0},G:{"8":0.00026,"3.2":0.00053,"4.0-4.1":0,"4.2-4.3":0,"5.0-5.1":0.00715,"6.0-6.1":0.00556,"7.0-7.1":0.02544,"8.1-8.4":0.00159,"9.0-9.2":0.00079,"9.3":0.14707,"10.0-10.2":0.00291,"10.3":0.08453,"11.0-11.2":0.01113,"11.3-11.4":0.02544,"12.0-12.1":0.01961,"12.2-12.4":0.08427,"13.0-13.1":0.01086,"13.2":0.00583,"13.3":0.03895,"13.4-13.7":0.13091,"14.0-14.4":1.39096,"14.5-14.6":0.36145},E:{"4":0,"13":0.01193,"14":0.22078,_:"0 5 6 7 8 9 10 11 12 3.1 3.2 6.1 7.1 9.1 10.1","5.1":0.33415,"11.1":0.0179,"12.1":0.01193,"13.1":0.05967,"14.1":0.0716},B:{"12":0.00597,"17":0.01193,"18":0.0179,"84":0.01193,"85":0.01193,"87":0.01193,"88":0.00597,"89":0.0358,"90":1.59319,"91":0.13127,_:"13 14 15 16 79 80 81 83 86"},P:{"4":0.12841,"5.0-5.4":0.16232,"6.2-6.4":0.07173,"7.2-7.4":0.18191,"8.2":0.02029,"9.2":0.0749,"10.1":0.0535,"11.1-11.2":0.17121,"12.0":0.0963,"13.0":0.40662,"14.0":1.54087},I:{"0":0,"3":0,"4":0.00064,"2.1":0,"2.2":0,"2.3":0,"4.1":0.00577,"4.2-4.3":0.00816,"4.4":0,"4.4.3-4.4.4":0.04996},K:{_:"0 10 11 12 11.1 11.5 12.1"},A:{"9":0.01899,"11":0.18986,_:"6 7 8 10 5.5"},J:{"7":0,"10":0.04033},N:{"10":0.01297,"11":0.01825},S:{"2.5":0.00403},R:{_:"0"},M:{"0":0.18955},Q:{"10.4":0},O:{"0":0.05243},H:{"0":0.46582},L:{"0":41.60913}}; diff --git a/tools/node_modules/@babel/core/node_modules/caniuse-lite/data/regions/VG.js b/tools/node_modules/@babel/core/node_modules/caniuse-lite/data/regions/VG.js new file mode 100644 index 00000000000000..da23a178383f58 --- /dev/null +++ b/tools/node_modules/@babel/core/node_modules/caniuse-lite/data/regions/VG.js @@ -0,0 +1 @@ +module.exports={C:{"78":0.01934,"86":0.01451,"87":0.01451,"88":1.09294,"89":0.00484,_:"2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 79 80 81 82 83 84 85 90 91 3.5 3.6"},D:{"49":0.57548,"50":0.02418,"53":0.00484,"65":0.00484,"73":0.01934,"74":0.44975,"77":0.24664,"80":0.00484,"81":0.03385,"83":0.04352,"85":0.01451,"86":0.04352,"87":0.05803,"88":0.18377,"89":0.87532,"90":22.69051,"91":0.73024,"92":0.00967,_:"4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 51 52 54 55 56 57 58 59 60 61 62 63 64 66 67 68 69 70 71 72 75 76 78 79 84 93 94"},F:{"73":0.10156,"75":0.38688,"76":0.16442,_:"9 11 12 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 60 62 63 64 65 66 67 68 69 70 71 72 74 9.5-9.6 10.5 10.6 11.1 11.5 11.6 12.1","10.0-10.1":0},G:{"8":0,"3.2":0,"4.0-4.1":0,"4.2-4.3":0,"5.0-5.1":0,"6.0-6.1":0,"7.0-7.1":0,"8.1-8.4":0.00481,"9.0-9.2":0.0016,"9.3":0.14439,"10.0-10.2":0.0016,"10.3":0.13155,"11.0-11.2":0.01444,"11.3-11.4":0.11872,"12.0-12.1":0.01283,"12.2-12.4":0.06257,"13.0-13.1":0.00642,"13.2":0.01765,"13.3":0.11711,"13.4-13.7":0.29198,"14.0-14.4":12.38029,"14.5-14.6":2.45456},E:{"4":0,"8":0.00484,"12":0.13057,"13":0.12574,"14":7.70375,_:"0 5 6 7 9 10 11 3.1 3.2 6.1 7.1 9.1 10.1","5.1":0.44491,"11.1":0.01451,"12.1":0.04836,"13.1":0.8463,"14.1":0.81245},B:{"12":0.01451,"13":0.00967,"15":0.14508,"16":0.01451,"17":0.03385,"18":0.51262,"89":0.07738,"90":6.90097,"91":0.35786,_:"14 79 80 81 83 84 85 86 87 88"},P:{"4":0.13592,"5.0-5.4":0.01021,"6.2-6.4":0.02044,"7.2-7.4":0.01046,"8.2":0.04115,"9.2":0.03137,"10.1":0.05144,"11.1-11.2":0.37641,"12.0":0.10456,"13.0":0.41823,"14.0":4.841},I:{"0":0,"3":0,"4":0.04678,"2.1":0,"2.2":0,"2.3":0,"4.1":0,"4.2-4.3":0,"4.4":0,"4.4.3-4.4.4":0.01002},K:{_:"0 10 11 12 11.1 11.5 12.1"},A:{"11":0.73507,_:"6 7 8 9 10 5.5"},J:{"7":0,"10":0},N:{_:"10 11"},S:{"2.5":0},R:{_:"0"},M:{"0":0.13943},Q:{"10.4":0},O:{"0":0.0568},H:{"0":0.59156},L:{"0":29.89183}}; diff --git a/tools/node_modules/@babel/core/node_modules/caniuse-lite/data/regions/VI.js b/tools/node_modules/@babel/core/node_modules/caniuse-lite/data/regions/VI.js new file mode 100644 index 00000000000000..76541f34445d5f --- /dev/null +++ b/tools/node_modules/@babel/core/node_modules/caniuse-lite/data/regions/VI.js @@ -0,0 +1 @@ +module.exports={C:{"17":0.0102,"67":0.0102,"78":0.09176,"85":0.0102,"86":0.01529,"87":0.02549,"88":0.98901,_:"2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 68 69 70 71 72 73 74 75 76 77 79 80 81 82 83 84 89 90 91 3.5 3.6"},D:{"37":0.06118,"38":0.0051,"47":0.03569,"49":0.01529,"50":0.02549,"53":0.03059,"58":0.01529,"63":0.0051,"65":0.0102,"68":0.03569,"72":0.02039,"74":0.28549,"75":0.0102,"76":0.01529,"77":0.10196,"78":0.0102,"79":0.02549,"80":0.04588,"81":0.01529,"83":0.09176,"84":0.01529,"85":0.03059,"86":0.0102,"87":0.09176,"88":0.35686,"89":1.94744,"90":20.88141,"91":0.44353,"92":0.01529,_:"4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 39 40 41 42 43 44 45 46 48 51 52 54 55 56 57 59 60 61 62 64 66 67 69 70 71 73 93 94"},F:{"44":0.0102,"68":0.0051,"73":0.05098,"75":0.14274,"76":0.04588,_:"9 11 12 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 45 46 47 48 49 50 51 52 53 54 55 56 57 58 60 62 63 64 65 66 67 69 70 71 72 74 9.5-9.6 10.5 10.6 11.1 11.5 11.6 12.1","10.0-10.1":0},G:{"8":0,"3.2":0,"4.0-4.1":0,"4.2-4.3":0,"5.0-5.1":0,"6.0-6.1":0,"7.0-7.1":0.00266,"8.1-8.4":0,"9.0-9.2":0,"9.3":0.05857,"10.0-10.2":0.00266,"10.3":0.13844,"11.0-11.2":0.00532,"11.3-11.4":0.10383,"12.0-12.1":0.01331,"12.2-12.4":0.42066,"13.0-13.1":0.1278,"13.2":0.03994,"13.3":0.08786,"13.4-13.7":0.61501,"14.0-14.4":20.68682,"14.5-14.6":3.87379},E:{"4":0,"12":0.03059,"13":0.08157,"14":7.01485,_:"0 5 6 7 8 9 10 11 3.1 3.2 5.1 6.1 7.1 9.1","10.1":0.01529,"11.1":0.07647,"12.1":0.12235,"13.1":1.18274,"14.1":1.71803},B:{"13":0.0051,"15":0.0102,"16":0.0102,"17":0.02549,"18":0.16314,"83":0.0051,"84":0.0051,"85":0.02549,"86":0.04078,"87":0.02039,"89":0.15294,"90":10.01757,"91":0.63725,_:"12 14 79 80 81 88"},P:{"4":0.08554,"5.0-5.4":0.02091,"6.2-6.4":0.07173,"7.2-7.4":0.06273,"8.2":0.02029,"9.2":0.04277,"10.1":0.03136,"11.1-11.2":0.33147,"12.0":0.10454,"13.0":0.34216,"14.0":4.33046},I:{"0":0,"3":0,"4":0.00294,"2.1":0,"2.2":0,"2.3":0,"4.1":0,"4.2-4.3":0.00221,"4.4":0,"4.4.3-4.4.4":0.00956},K:{_:"0 10 11 12 11.1 11.5 12.1"},A:{"9":0.0102,"10":0.02549,"11":1.23881,_:"6 7 8 5.5"},J:{"7":0,"10":0},N:{"10":0.01297,"11":0.01825},S:{"2.5":0},R:{_:"0"},M:{"0":0.25},Q:{"10.4":0},O:{"0":0.0098},H:{"0":0.1253},L:{"0":18.73032}}; diff --git a/tools/node_modules/@babel/core/node_modules/caniuse-lite/data/regions/VN.js b/tools/node_modules/@babel/core/node_modules/caniuse-lite/data/regions/VN.js new file mode 100644 index 00000000000000..8c52452d05977d --- /dev/null +++ b/tools/node_modules/@babel/core/node_modules/caniuse-lite/data/regions/VN.js @@ -0,0 +1 @@ +module.exports={C:{"43":0.00505,"51":0.00505,"52":0.06058,"55":0.02019,"56":0.01514,"60":0.01514,"65":0.00505,"66":0.00505,"67":0.00505,"68":0.00505,"72":0.0101,"76":0.0101,"78":0.05553,"79":0.02524,"80":0.04038,"81":0.03534,"82":0.02019,"83":0.01514,"84":0.02524,"85":0.0101,"86":0.01514,"87":0.02019,"88":1.05503,"89":0.02524,_:"2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 44 45 46 47 48 49 50 53 54 57 58 59 61 62 63 64 69 70 71 73 74 75 77 90 91 3.5 3.6"},D:{"22":0.0101,"34":0.01514,"38":0.03029,"41":0.0101,"48":0.0101,"49":0.67643,"53":0.03534,"54":0.01514,"55":0.01514,"56":0.01514,"57":0.06562,"58":0.0101,"61":0.95912,"62":0.0101,"63":0.02019,"64":0.00505,"65":0.0101,"66":0.0101,"67":0.01514,"68":0.0101,"69":0.0101,"70":0.01514,"71":0.02524,"72":0.02019,"73":0.01514,"74":0.02524,"75":0.02524,"76":0.01514,"77":0.03029,"78":0.03534,"79":0.04543,"80":0.09086,"81":0.04038,"83":0.16154,"84":0.26754,"85":0.26754,"86":0.33317,"87":0.63605,"88":0.17668,"89":0.68148,"90":27.45607,"91":0.84806,"92":0.01514,_:"4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 23 24 25 26 27 28 29 30 31 32 33 35 36 37 39 40 42 43 44 45 46 47 50 51 52 59 60 93 94"},F:{"36":0.01514,"43":0.02524,"44":0.00505,"45":0.00505,"46":0.01514,"52":0.00505,"57":0.0101,"68":0.0101,"70":0.0101,"71":0.01514,"72":0.0101,"73":0.05048,"74":0.0101,"75":0.23726,"76":0.2524,_:"9 11 12 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 37 38 39 40 41 42 47 48 49 50 51 53 54 55 56 58 60 62 63 64 65 66 67 69 9.5-9.6 10.5 10.6 11.1 11.5 11.6 12.1","10.0-10.1":0},G:{"8":0,"3.2":0,"4.0-4.1":0,"4.2-4.3":0,"5.0-5.1":0.01307,"6.0-6.1":0.01307,"7.0-7.1":0.04901,"8.1-8.4":0.03594,"9.0-9.2":0.05391,"9.3":0.18786,"10.0-10.2":0.06861,"10.3":0.27444,"11.0-11.2":0.16172,"11.3-11.4":0.2385,"12.0-12.1":0.20093,"12.2-12.4":0.79719,"13.0-13.1":0.14212,"13.2":0.07351,"13.3":0.39696,"13.4-13.7":1.3281,"14.0-14.4":9.46495,"14.5-14.6":1.48982},E:{"4":0,"11":0.0101,"12":0.01514,"13":0.07572,"14":0.90864,_:"0 5 6 7 8 9 10 3.1 3.2 5.1 6.1 7.1 9.1","10.1":0.0101,"11.1":0.02524,"12.1":0.05048,"13.1":0.20697,"14.1":0.30288},B:{"14":0.0101,"16":0.0101,"17":0.01514,"18":0.08077,"83":0.00505,"84":0.02019,"85":0.02019,"86":0.02019,"87":0.01514,"88":0.0101,"89":0.04543,"90":1.95358,"91":0.09086,_:"12 13 15 79 80 81"},P:{"4":0.32408,"5.0-5.4":0.02091,"6.2-6.4":0.07173,"7.2-7.4":0.06273,"8.2":0.02029,"9.2":0.06273,"10.1":0.03136,"11.1-11.2":0.20908,"12.0":0.10454,"13.0":0.28226,"14.0":1.63086},I:{"0":0,"3":0,"4":0.00074,"2.1":0,"2.2":0,"2.3":0,"4.1":0.00149,"4.2-4.3":0.00633,"4.4":0,"4.4.3-4.4.4":0.04096},K:{_:"0 10 11 12 11.1 11.5 12.1"},A:{"8":0.018,"9":0.018,"10":0.006,"11":0.37194,_:"6 7 5.5"},J:{"7":0,"10":0.01486},N:{"10":0.01297,"11":0.01825},S:{"2.5":0},R:{_:"0"},M:{"0":0.07923},Q:{"10.4":0.01486},O:{"0":1.19838},H:{"0":0.28598},L:{"0":32.29846}}; diff --git a/tools/node_modules/@babel/core/node_modules/caniuse-lite/data/regions/VU.js b/tools/node_modules/@babel/core/node_modules/caniuse-lite/data/regions/VU.js new file mode 100644 index 00000000000000..c600af6a35be5e --- /dev/null +++ b/tools/node_modules/@babel/core/node_modules/caniuse-lite/data/regions/VU.js @@ -0,0 +1 @@ +module.exports={C:{"34":0.02201,"38":0.02934,"72":0.00734,"78":0.011,"79":0.03301,"84":0.00367,"86":0.011,"87":0.07336,"88":1.67994,"89":0.06969,_:"2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 35 36 37 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 73 74 75 76 77 80 81 82 83 85 90 91 3.5 3.6"},D:{"55":0.02201,"56":0.03301,"59":0.00734,"63":0.00734,"66":0.00734,"69":0.09904,"70":0.00734,"72":0.011,"73":0.01467,"74":0.02201,"76":0.01467,"79":0.06602,"80":0.03668,"81":0.05135,"83":0.011,"84":0.08436,"85":0.03668,"86":0.04035,"87":0.01834,"88":0.07703,"89":1.33882,"90":16.78844,"91":0.45483,"92":0.011,_:"4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 57 58 60 61 62 64 65 67 68 71 75 77 78 93 94"},F:{"75":0.13938,"76":0.11738,_:"9 11 12 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 60 62 63 64 65 66 67 68 69 70 71 72 73 74 9.5-9.6 10.5 10.6 11.1 11.5 11.6 12.1","10.0-10.1":0},G:{"8":0.00792,"3.2":0.00183,"4.0-4.1":0,"4.2-4.3":0,"5.0-5.1":0,"6.0-6.1":0.02316,"7.0-7.1":0,"8.1-8.4":0,"9.0-9.2":0,"9.3":0.1231,"10.0-10.2":0.00305,"10.3":0.00792,"11.0-11.2":0.01341,"11.3-11.4":0.0067,"12.0-12.1":0.02925,"12.2-12.4":0.09811,"13.0-13.1":0.01645,"13.2":0.00183,"13.3":0.30348,"13.4-13.7":0.16088,"14.0-14.4":4.41868,"14.5-14.6":0.66667},E:{"4":0,"10":0.00734,"13":0.02568,"14":0.8363,_:"0 5 6 7 8 9 11 12 3.1 3.2 5.1 6.1 7.1 10.1","9.1":0.00367,"11.1":0.01467,"12.1":0.01467,"13.1":0.7226,"14.1":0.91333},B:{"12":0.04035,"13":0.03668,"14":0.00734,"16":0.02568,"17":0.05135,"18":0.20908,"85":0.02201,"87":0.02934,"89":0.22008,"90":6.73445,"91":0.23108,_:"15 79 80 81 83 84 86 88"},P:{"4":0.28694,"5.0-5.4":0.16232,"6.2-6.4":0.07173,"7.2-7.4":1.07602,"8.2":0.02029,"9.2":0.11273,"10.1":0.05124,"11.1-11.2":0.16397,"12.0":0.10248,"13.0":0.48165,"14.0":1.54742},I:{"0":0,"3":0,"4":0,"2.1":0,"2.2":0,"2.3":0,"4.1":0,"4.2-4.3":0.00106,"4.4":0,"4.4.3-4.4.4":0.0496},K:{_:"0 10 11 12 11.1 11.5 12.1"},A:{"11":0.33012,_:"6 7 8 9 10 5.5"},J:{"7":0,"10":0},N:{"10":0.01297,"11":0.01825},S:{"2.5":0},R:{_:"0"},M:{"0":0.06332},Q:{"10.4":0.03166},O:{"0":1.51335},H:{"0":0.16785},L:{"0":56.27578}}; diff --git a/tools/node_modules/@babel/core/node_modules/caniuse-lite/data/regions/WF.js b/tools/node_modules/@babel/core/node_modules/caniuse-lite/data/regions/WF.js new file mode 100644 index 00000000000000..bdbc2b279bb4dd --- /dev/null +++ b/tools/node_modules/@babel/core/node_modules/caniuse-lite/data/regions/WF.js @@ -0,0 +1 @@ +module.exports={C:{"70":0.44378,"77":0.11194,"78":1.55922,"88":17.70714,_:"2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 71 72 73 74 75 76 79 80 81 82 83 84 85 86 87 89 90 91 3.5 3.6"},D:{"67":0.11194,"85":0.22389,"88":1.44728,"90":8.7996,"91":0.11194,_:"4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 68 69 70 71 72 73 74 75 76 77 78 79 80 81 83 84 86 87 89 92 93 94"},F:{"75":0.11194,"76":0.33583,_:"9 11 12 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 60 62 63 64 65 66 67 68 69 70 71 72 73 74 9.5-9.6 10.5 10.6 11.1 11.5 11.6 12.1","10.0-10.1":0},G:{"8":0,"3.2":0,"4.0-4.1":0,"4.2-4.3":0,"5.0-5.1":0,"6.0-6.1":0,"7.0-7.1":0,"8.1-8.4":0,"9.0-9.2":0,"9.3":0,"10.0-10.2":0,"10.3":0,"11.0-11.2":0.11785,"11.3-11.4":0,"12.0-12.1":0,"12.2-12.4":0.47141,"13.0-13.1":0,"13.2":0,"13.3":0.2357,"13.4-13.7":0.2357,"14.0-14.4":21.33117,"14.5-14.6":0.2357},E:{"4":0,"14":2.003,_:"0 5 6 7 8 9 10 11 12 13 3.1 3.2 5.1 6.1 7.1 9.1 10.1 11.1 12.1","13.1":0.11194,"14.1":0.33583},B:{"13":0.11194,"18":0.55572,"89":0.33583,"90":1.67116,"91":0.33583,_:"12 14 15 16 17 79 80 81 83 84 85 86 87 88"},P:{"4":0.08554,"5.0-5.4":0.02091,"6.2-6.4":0.07173,"7.2-7.4":0.06273,"8.2":0.02029,"9.2":0.04277,"10.1":0.03136,"11.1-11.2":0.33147,"12.0":0.10454,"13.0":0.12385,"14.0":2.415},I:{"0":0,"3":0,"4":0,"2.1":0,"2.2":0,"2.3":0,"4.1":0,"4.2-4.3":0,"4.4":0,"4.4.3-4.4.4":0},K:{_:"0 10 11 12 11.1 11.5 12.1"},A:{"11":0.22389,_:"6 7 8 9 10 5.5"},J:{"7":0,"10":0},N:{"10":0.01297,"11":0.01825},S:{"2.5":0},R:{_:"0"},M:{"0":0.72624},Q:{"10.4":0},O:{"0":0},H:{"0":0.46027},L:{"0":36.87159}}; diff --git a/tools/node_modules/@babel/core/node_modules/caniuse-lite/data/regions/WS.js b/tools/node_modules/@babel/core/node_modules/caniuse-lite/data/regions/WS.js new file mode 100644 index 00000000000000..54e2d0dfe4a697 --- /dev/null +++ b/tools/node_modules/@babel/core/node_modules/caniuse-lite/data/regions/WS.js @@ -0,0 +1 @@ +module.exports={C:{"29":0.00692,"30":0.00346,"37":0.01037,"43":0.01383,"47":0.01037,"58":0.00692,"67":0.00692,"70":0.00692,"71":0.00346,"78":0.00692,"81":0.01383,"84":0.01037,"87":0.01383,"88":1.76358,"89":0.04495,_:"2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 31 32 33 34 35 36 38 39 40 41 42 44 45 46 48 49 50 51 52 53 54 55 56 57 59 60 61 62 63 64 65 66 68 69 72 73 74 75 76 77 79 80 82 83 85 86 90 91 3.5 3.6"},D:{"29":0.03112,"46":0.00346,"49":0.05187,"56":0.00692,"58":0.02421,"59":0.00692,"63":0.01729,"64":1.4904,"65":0.02421,"66":0.00692,"68":0.00346,"69":0.01037,"70":0.01383,"73":0.00346,"74":0.03458,"75":0.00692,"78":0.02766,"79":0.07608,"80":0.02421,"81":0.04841,"83":0.00346,"84":0.00692,"85":0.49795,"86":0.01383,"87":0.02766,"88":0.0657,"89":0.31814,"90":14.76566,"91":0.63281,"92":0.02421,_:"4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 47 48 50 51 52 53 54 55 57 60 61 62 67 71 72 76 77 93 94"},F:{"75":0.06224,"76":0.12103,_:"9 11 12 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 60 62 63 64 65 66 67 68 69 70 71 72 73 74 9.5-9.6 10.5 10.6 11.1 11.5 11.6 12.1","10.0-10.1":0},G:{"8":0,"3.2":0,"4.0-4.1":0,"4.2-4.3":0,"5.0-5.1":0,"6.0-6.1":0,"7.0-7.1":0,"8.1-8.4":0,"9.0-9.2":0.00356,"9.3":0.03428,"10.0-10.2":0.02537,"10.3":0.01558,"11.0-11.2":0.04585,"11.3-11.4":0.03071,"12.0-12.1":0.04629,"12.2-12.4":0.27509,"13.0-13.1":0.06855,"13.2":0.12464,"13.3":0.11796,"13.4-13.7":1.0158,"14.0-14.4":1.80324,"14.5-14.6":0.31827},E:{"4":0,"11":0.00692,"12":0.00692,"13":0.02421,"14":0.2144,_:"0 5 6 7 8 9 10 3.1 3.2 5.1 6.1 7.1 9.1","10.1":0.00692,"11.1":0.00692,"12.1":0.01037,"13.1":0.0415,"14.1":0.06916},B:{"12":0.04495,"13":0.04841,"14":0.01383,"15":0.06224,"16":0.0415,"17":0.04841,"18":0.29739,"84":0.01037,"85":0.03112,"86":0.02421,"87":0.01037,"88":0.01037,"89":0.16944,"90":2.41023,"91":0.11066,_:"79 80 81 83"},P:{"4":0.24327,"5.0-5.4":0.02077,"6.2-6.4":0.04055,"7.2-7.4":0.76023,"8.2":0.10461,"9.2":0.16218,"10.1":0.59805,"11.1-11.2":0.41559,"12.0":0.13177,"13.0":0.63859,"14.0":2.3415},I:{"0":0,"3":0,"4":0,"2.1":0,"2.2":0,"2.3":0,"4.1":0.00178,"4.2-4.3":0.01606,"4.4":0,"4.4.3-4.4.4":0.02795},K:{_:"0 10 11 12 11.1 11.5 12.1"},A:{"11":0.22131,_:"6 7 8 9 10 5.5"},J:{"7":0,"10":0},N:{_:"10 11"},S:{"2.5":0.15701},R:{_:"0"},M:{"0":0.02617},Q:{"10.4":0.01308},O:{"0":2.99624},H:{"0":1.06529},L:{"0":61.81617}}; diff --git a/tools/node_modules/@babel/core/node_modules/caniuse-lite/data/regions/YE.js b/tools/node_modules/@babel/core/node_modules/caniuse-lite/data/regions/YE.js new file mode 100644 index 00000000000000..c0cb4795c1a97b --- /dev/null +++ b/tools/node_modules/@babel/core/node_modules/caniuse-lite/data/regions/YE.js @@ -0,0 +1 @@ +module.exports={C:{"3":0.0718,"30":0.00463,"38":0.00463,"42":0.00463,"43":0.044,"44":0.00695,"45":0.00463,"47":0.0139,"48":0.02779,"49":0.02084,"50":0.00463,"52":0.03937,"56":0.01621,"57":0.00463,"59":0.01158,"60":0.00695,"61":0.00232,"62":0.00463,"64":0.00232,"66":0.00463,"67":0.0139,"68":0.00695,"70":0.01621,"71":0.00463,"72":0.02779,"73":0.00232,"76":0.00463,"77":0.01158,"78":0.12275,"79":0.00695,"80":0.00926,"81":0.0139,"82":0.00926,"83":0.00926,"84":0.01158,"85":0.03011,"86":0.06716,"87":0.15749,"88":1.5054,"89":0.01621,_:"2 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 31 32 33 34 35 36 37 39 40 41 46 51 53 54 55 58 63 65 69 74 75 90 91 3.5 3.6"},D:{"11":0.00695,"40":0.00463,"43":0.00695,"44":0.00232,"46":0.00463,"47":0.00463,"48":0.00463,"49":0.04169,"50":0.00463,"53":0.00926,"54":0.00232,"55":0.01158,"56":0.00695,"57":0.01621,"58":0.00695,"59":0.00463,"60":0.0139,"61":0.00926,"62":0.00463,"63":0.03242,"64":0.00695,"65":0.00926,"66":0.01158,"67":0.00926,"68":0.0139,"69":0.01158,"70":0.00926,"71":0.04632,"72":0.01621,"73":0.0139,"74":0.02548,"75":0.01853,"76":0.0139,"77":0.02316,"78":0.02779,"79":0.10885,"80":0.03937,"81":0.03242,"83":0.05558,"84":0.03706,"85":0.05095,"86":0.1158,"87":0.2177,"88":0.28024,"89":0.61606,"90":8.19401,"91":0.40762,"92":0.00695,_:"4 5 6 7 8 9 10 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 41 42 45 51 52 93 94"},F:{"50":0.00232,"65":0.00463,"67":0.00232,"73":0.00463,"75":0.07874,"76":0.10422,_:"9 11 12 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 51 52 53 54 55 56 57 58 60 62 63 64 66 68 69 70 71 72 74 9.5-9.6 10.5 10.6 11.1 11.5 11.6 12.1","10.0-10.1":0},G:{"8":0.00087,"3.2":0,"4.0-4.1":0,"4.2-4.3":0.10413,"5.0-5.1":0.00157,"6.0-6.1":0.05521,"7.0-7.1":0.01345,"8.1-8.4":0.0014,"9.0-9.2":0.00227,"9.3":0.01957,"10.0-10.2":0.00402,"10.3":0.01677,"11.0-11.2":0.02062,"11.3-11.4":0.0124,"12.0-12.1":0.08875,"12.2-12.4":0.14151,"13.0-13.1":0.01555,"13.2":0.01118,"13.3":0.09015,"13.4-13.7":0.14448,"14.0-14.4":0.74269,"14.5-14.6":0.11146},E:{"4":0,"14":0.03011,_:"0 5 6 7 8 9 10 11 12 13 3.1 3.2 6.1 7.1 9.1 10.1 11.1 12.1","5.1":0.535,"13.1":0.01621,"14.1":0.00695},B:{"12":0.00232,"18":0.00926,"84":0.01621,"85":0.01621,"86":0.00232,"87":0.00695,"88":0.00463,"89":0.03937,"90":0.65543,"91":0.05558,_:"13 14 15 16 17 79 80 81 83"},P:{"4":0.34451,"5.0-5.4":0.10133,"6.2-6.4":0.0304,"7.2-7.4":0.19252,"8.2":0.02027,"9.2":0.33438,"10.1":0.10133,"11.1-11.2":0.27358,"12.0":0.38504,"13.0":1.04366,"14.0":2.06706},I:{"0":0,"3":0,"4":0.00131,"2.1":0,"2.2":0,"2.3":0.00131,"4.1":0.01309,"4.2-4.3":0.01637,"4.4":0,"4.4.3-4.4.4":0.40586},K:{_:"0 10 11 12 11.1 11.5 12.1"},A:{"8":0.03433,"11":0.11158,_:"6 7 9 10 5.5"},J:{"7":0,"10":0},N:{"10":0.01297,"11":0.01825},S:{"2.5":0},R:{_:"0"},M:{"0":0.4072},Q:{"10.4":0.03842},O:{"0":3.4343},H:{"0":5.96449},L:{"0":67.62631}}; diff --git a/tools/node_modules/@babel/core/node_modules/caniuse-lite/data/regions/YT.js b/tools/node_modules/@babel/core/node_modules/caniuse-lite/data/regions/YT.js new file mode 100644 index 00000000000000..f4cb1efc251a2e --- /dev/null +++ b/tools/node_modules/@babel/core/node_modules/caniuse-lite/data/regions/YT.js @@ -0,0 +1 @@ +module.exports={C:{"41":0.01556,"60":0.22818,"68":0.08298,"70":0.01037,"78":0.76234,"81":0.09335,"83":0.01556,"84":0.06223,"85":0.10372,"86":0.08298,"87":0.10372,"88":7.7064,"89":0.01556,_:"2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 61 62 63 64 65 66 67 69 71 72 73 74 75 76 77 79 80 82 90 91 3.5 3.6"},D:{"43":0.04149,"49":0.12446,"50":0.00519,"56":0.01556,"63":0.02074,"65":0.01037,"70":0.02074,"73":0.02074,"74":0.01037,"77":0.01037,"81":0.03112,"83":0.01037,"85":0.01556,"86":0.01556,"87":0.03112,"88":0.12446,"89":0.92311,"90":26.27746,"91":1.01646,_:"4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 44 45 46 47 48 51 52 53 54 55 57 58 59 60 61 62 64 66 67 68 69 71 72 75 76 78 79 80 84 92 93 94"},F:{"72":0.08298,"73":0.02074,"75":0.1867,"76":0.24893,_:"9 11 12 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 60 62 63 64 65 66 67 68 69 70 71 74 9.5-9.6 10.5 10.6 11.1 11.5 11.6 12.1","10.0-10.1":0},G:{"8":0.02997,"3.2":0,"4.0-4.1":0,"4.2-4.3":0,"5.0-5.1":0,"6.0-6.1":0,"7.0-7.1":0.09846,"8.1-8.4":0,"9.0-9.2":0,"9.3":0.05244,"10.0-10.2":0.06529,"10.3":0.17766,"11.0-11.2":0.17445,"11.3-11.4":0.01926,"12.0-12.1":0.01284,"12.2-12.4":0.21726,"13.0-13.1":0.01284,"13.2":0.00963,"13.3":0.16803,"13.4-13.7":0.43667,"14.0-14.4":6.29419,"14.5-14.6":1.76272},E:{"4":0,"10":0.03112,"12":0.06742,"13":0.1867,"14":1.70619,_:"0 5 6 7 8 9 11 3.1 3.2 5.1 6.1 7.1 9.1","10.1":0.05186,"11.1":0.05186,"12.1":0.23856,"13.1":0.27486,"14.1":1.1098},B:{"15":0.04149,"17":0.07779,"18":0.04149,"84":0.0363,"85":0.01556,"86":0.12965,"87":0.01037,"88":0.02593,"89":0.18151,"90":4.60517,"91":0.4823,_:"12 13 14 16 79 80 81 83"},P:{"4":0.02065,"5.0-5.4":0.04006,"6.2-6.4":0.08011,"7.2-7.4":0.55753,"8.2":0.02003,"9.2":0.0413,"10.1":0.02065,"11.1-11.2":0.0826,"12.0":0.06195,"13.0":0.29941,"14.0":2.91154},I:{"0":0,"3":0,"4":0,"2.1":0,"2.2":0,"2.3":0,"4.1":0,"4.2-4.3":0.00294,"4.4":0,"4.4.3-4.4.4":0.0452},K:{_:"0 10 11 12 11.1 11.5 12.1"},A:{"11":0.14521,_:"6 7 8 9 10 5.5"},J:{"7":0,"10":0},N:{"10":0.02735,"11":0.01885},S:{"2.5":0},R:{_:"0"},M:{"0":0.22626},Q:{"10.4":0},O:{"0":0.02407},H:{"0":2.68897},L:{"0":34.51851}}; diff --git a/tools/node_modules/@babel/core/node_modules/caniuse-lite/data/regions/ZA.js b/tools/node_modules/@babel/core/node_modules/caniuse-lite/data/regions/ZA.js new file mode 100644 index 00000000000000..ff92b7d04da4c8 --- /dev/null +++ b/tools/node_modules/@babel/core/node_modules/caniuse-lite/data/regions/ZA.js @@ -0,0 +1 @@ +module.exports={C:{"34":0.00477,"41":0.00238,"52":0.02621,"60":0.00953,"65":0.00477,"72":0.00238,"78":0.02145,"80":0.01192,"81":0.00238,"82":0.01668,"84":0.10724,"85":0.00477,"86":0.00953,"87":0.02145,"88":0.90792,"89":0.01668,_:"2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 35 36 37 38 39 40 42 43 44 45 46 47 48 49 50 51 53 54 55 56 57 58 59 61 62 63 64 66 67 68 69 70 71 73 74 75 76 77 79 83 90 91 3.5 3.6"},D:{"22":0.00477,"26":0.00238,"28":0.00953,"34":0.00477,"38":0.00477,"41":0.00238,"49":0.08102,"50":0.00477,"53":0.00477,"55":0.00238,"56":0.00477,"58":0.01192,"61":0.01668,"63":0.00715,"64":0.00953,"65":0.00715,"66":0.00238,"67":0.01192,"68":0.00477,"69":0.00715,"70":0.02621,"71":0.00715,"72":0.01192,"73":0.00477,"74":0.01192,"75":0.00715,"76":0.01192,"77":0.00715,"78":0.01906,"79":0.03336,"80":0.03336,"81":0.0286,"83":0.04766,"84":0.01906,"85":0.01906,"86":0.06434,"87":0.15251,"88":0.06911,"89":0.36222,"90":11.09763,"91":0.29788,"92":0.00953,_:"4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 23 24 25 27 29 30 31 32 33 35 36 37 39 40 42 43 44 45 46 47 48 51 52 54 57 59 60 62 93 94"},F:{"36":0.00238,"63":0.00477,"73":0.0286,"74":0.00477,"75":0.15013,"76":0.23592,_:"9 11 12 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 60 62 64 65 66 67 68 69 70 71 72 9.5-9.6 10.5 10.6 11.1 11.5 11.6","10.0-10.1":0,"12.1":0.00238},G:{"8":0,"3.2":0,"4.0-4.1":0,"4.2-4.3":0,"5.0-5.1":0.00215,"6.0-6.1":0.00323,"7.0-7.1":0.01399,"8.1-8.4":0.00968,"9.0-9.2":0.00861,"9.3":0.13341,"10.0-10.2":0.01399,"10.3":0.11835,"11.0-11.2":0.03551,"11.3-11.4":0.0624,"12.0-12.1":0.04089,"12.2-12.4":0.23886,"13.0-13.1":0.06348,"13.2":0.02582,"13.3":0.13772,"13.4-13.7":0.40455,"14.0-14.4":7.31415,"14.5-14.6":1.4568},E:{"4":0,"11":0.00477,"12":0.00715,"13":0.13107,"14":0.83882,_:"0 5 6 7 8 9 10 3.1 3.2 6.1 9.1","5.1":0.01906,"7.1":0.00238,"10.1":0.00715,"11.1":0.02383,"12.1":0.03098,"13.1":0.16681,"14.1":0.28596},B:{"12":0.0143,"13":0.00953,"14":0.00953,"15":0.0143,"16":0.02145,"17":0.03575,"18":0.10247,"80":0.00477,"84":0.00715,"85":0.00715,"86":0.02145,"87":0.00953,"88":0.01906,"89":0.06196,"90":1.8087,"91":0.05481,_:"79 81 83"},P:{"4":0.46481,"5.0-5.4":0.0101,"6.2-6.4":0.03031,"7.2-7.4":0.57596,"8.2":0.02021,"9.2":0.15157,"10.1":0.09094,"11.1-11.2":0.4446,"12.0":0.39408,"13.0":1.27317,"14.0":5.7596},I:{"0":0,"3":0,"4":0.00063,"2.1":0,"2.2":0,"2.3":0,"4.1":0.0019,"4.2-4.3":0.00413,"4.4":0,"4.4.3-4.4.4":0.03903},K:{_:"0 10 11 12 11.1 11.5 12.1"},A:{"8":0.00247,"9":0.01727,"11":0.61415,_:"6 7 10 5.5"},J:{"7":0,"10":0.01523},N:{"10":0.01297,"11":0.01825},S:{"2.5":0},R:{_:"0"},M:{"0":0.41888},Q:{"10.4":0.00762},O:{"0":0.62451},H:{"0":4.00174},L:{"0":56.44945}}; diff --git a/tools/node_modules/@babel/core/node_modules/caniuse-lite/data/regions/ZM.js b/tools/node_modules/@babel/core/node_modules/caniuse-lite/data/regions/ZM.js new file mode 100644 index 00000000000000..d229364296ccfd --- /dev/null +++ b/tools/node_modules/@babel/core/node_modules/caniuse-lite/data/regions/ZM.js @@ -0,0 +1 @@ +module.exports={C:{"4":0.00599,"5":0.003,"15":0.00899,"30":0.003,"34":0.00599,"35":0.003,"37":0.01198,"41":0.003,"43":0.003,"47":0.01498,"48":0.003,"52":0.01498,"60":0.003,"72":0.00599,"76":0.003,"78":0.02696,"79":0.00599,"81":0.003,"83":0.00599,"84":0.00899,"85":0.00599,"86":0.00899,"87":0.03594,"88":1.53045,"89":0.0629,_:"2 3 6 7 8 9 10 11 12 13 14 16 17 18 19 20 21 22 23 24 25 26 27 28 29 31 32 33 36 38 39 40 42 44 45 46 49 50 51 53 54 55 56 57 58 59 61 62 63 64 65 66 67 68 69 70 71 73 74 75 77 80 82 90 91 3.5 3.6"},D:{"11":0.01797,"21":0.003,"24":0.003,"39":0.00599,"42":0.00599,"43":0.01198,"49":0.01198,"50":0.00899,"51":0.00899,"53":0.00899,"55":0.01797,"56":0.003,"57":0.02097,"58":0.00899,"60":0.00599,"63":0.02097,"64":0.00899,"65":0.00599,"66":0.003,"67":0.00599,"68":0.01198,"69":0.00599,"70":0.00899,"71":0.04193,"72":0.003,"73":0.00899,"74":0.01198,"75":0.0599,"76":0.01498,"77":0.02097,"78":0.01198,"79":0.03594,"80":0.0599,"81":0.03594,"83":0.14676,"84":0.02696,"85":0.02097,"86":0.07488,"87":0.24859,"88":0.20366,"89":0.54809,"90":10.33874,"91":0.42529,"92":0.01198,_:"4 5 6 7 8 9 10 12 13 14 15 16 17 18 19 20 22 23 25 26 27 28 29 30 31 32 33 34 35 36 37 38 40 41 44 45 46 47 48 52 54 59 61 62 93 94"},F:{"35":0.003,"36":0.003,"42":0.01797,"62":0.00599,"63":0.01198,"64":0.01198,"68":0.00599,"70":0.003,"72":0.003,"73":0.02696,"74":0.02696,"75":0.73378,"76":1.34775,_:"9 11 12 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 37 38 39 40 41 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 60 65 66 67 69 71 9.5-9.6 10.5 10.6 11.1 11.5 11.6 12.1","10.0-10.1":0},G:{"8":0,"3.2":0,"4.0-4.1":0,"4.2-4.3":0.00103,"5.0-5.1":0.00206,"6.0-6.1":0.01337,"7.0-7.1":0.05398,"8.1-8.4":0.00206,"9.0-9.2":0.00103,"9.3":0.1599,"10.0-10.2":0.00463,"10.3":0.20771,"11.0-11.2":0.09512,"11.3-11.4":0.109,"12.0-12.1":0.0653,"12.2-12.4":0.29512,"13.0-13.1":0.01748,"13.2":0.00823,"13.3":0.10231,"13.4-13.7":0.2725,"14.0-14.4":2.56763,"14.5-14.6":0.44936},E:{"4":0,"12":0.00599,"13":0.00899,"14":0.20666,_:"0 5 6 7 8 9 10 11 3.1 3.2 6.1 7.1 9.1","5.1":0.13777,"10.1":0.003,"11.1":0.01198,"12.1":0.02097,"13.1":0.12879,"14.1":0.10483},B:{"12":0.09584,"13":0.03894,"14":0.01797,"15":0.05391,"16":0.04493,"17":0.09884,"18":0.19468,"80":0.003,"81":0.003,"84":0.04193,"85":0.03894,"86":0.00899,"87":0.01498,"88":0.02097,"89":0.11381,"90":2.15041,"91":0.11381,_:"79 83"},P:{"4":0.26768,"5.0-5.4":0.0103,"6.2-6.4":0.0304,"7.2-7.4":0.12354,"8.2":0.02027,"9.2":0.05148,"10.1":0.02059,"11.1-11.2":0.15443,"12.0":0.10295,"13.0":0.51476,"14.0":0.94716},I:{"0":0,"3":0,"4":0.00347,"2.1":0,"2.2":0,"2.3":0,"4.1":0.00631,"4.2-4.3":0.00946,"4.4":0,"4.4.3-4.4.4":0.1489},K:{_:"0 10 11 12 11.1 11.5 12.1"},A:{"8":0.01522,"10":0.0203,"11":0.32987,_:"6 7 9 5.5"},J:{"7":0,"10":0.04204},N:{"10":0.01297,"11":0.01825},S:{"2.5":0.04204},R:{_:"0"},M:{"0":0.09108},Q:{"10.4":0.09808},O:{"0":2.90749},H:{"0":18.97652},L:{"0":47.4984}}; diff --git a/tools/node_modules/@babel/core/node_modules/caniuse-lite/data/regions/ZW.js b/tools/node_modules/@babel/core/node_modules/caniuse-lite/data/regions/ZW.js new file mode 100644 index 00000000000000..dbf4db5897c234 --- /dev/null +++ b/tools/node_modules/@babel/core/node_modules/caniuse-lite/data/regions/ZW.js @@ -0,0 +1 @@ +module.exports={C:{"34":0.00407,"41":0.00407,"45":0.00407,"47":0.00813,"48":0.0122,"52":0.02033,"56":0.00813,"57":0.00407,"60":0.00813,"64":0.00407,"65":0.00407,"66":0.00407,"68":0.00813,"69":0.00407,"70":0.00407,"71":0.00407,"72":0.0244,"73":0.0122,"76":0.00813,"77":0.00407,"78":0.05286,"81":0.00407,"82":0.0122,"83":0.00813,"84":0.01626,"85":0.0244,"86":0.02846,"87":0.07725,"88":2.50466,"89":0.18704,_:"2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 35 36 37 38 39 40 42 43 44 46 49 50 51 53 54 55 58 59 61 62 63 67 74 75 79 80 90 91 3.5 3.6"},D:{"34":0.00407,"40":0.00813,"42":0.00407,"46":0.00407,"48":0.00813,"49":0.02033,"51":0.00407,"53":0.00813,"55":0.00407,"56":0.00407,"57":0.00813,"58":0.02033,"60":0.00813,"61":0.00813,"62":0.00407,"63":0.03659,"64":0.00407,"65":0.01626,"67":0.00407,"68":0.00813,"69":0.04879,"70":0.02033,"71":0.0122,"72":0.0122,"73":0.0122,"74":0.0244,"75":0.02846,"76":0.0244,"77":0.01626,"78":0.02033,"79":0.10165,"80":0.08132,"81":0.03253,"83":0.04066,"84":0.03253,"85":0.04473,"86":0.10572,"87":0.1911,"88":0.13011,"89":0.66682,"90":18.07744,"91":0.66682,"92":0.00813,_:"4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 35 36 37 38 39 41 43 44 45 47 50 52 54 59 66 93 94"},F:{"36":0.0122,"37":0.00813,"42":0.0122,"58":0.00407,"60":0.00407,"62":0.0122,"64":0.00813,"66":0.00813,"67":0.00407,"68":0.00813,"72":0.02846,"73":0.04473,"74":0.04473,"75":0.87012,"76":1.67519,_:"9 11 12 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 38 39 40 41 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 63 65 69 70 71 9.5-9.6 10.5 10.6 11.1 11.5 11.6 12.1","10.0-10.1":0},G:{"8":0.00061,"3.2":0,"4.0-4.1":0,"4.2-4.3":0.00061,"5.0-5.1":0.00427,"6.0-6.1":0.00183,"7.0-7.1":0.00915,"8.1-8.4":0.00671,"9.0-9.2":0.00244,"9.3":0.34037,"10.0-10.2":0.00305,"10.3":0.25558,"11.0-11.2":0.15737,"11.3-11.4":0.03599,"12.0-12.1":0.0366,"12.2-12.4":0.24033,"13.0-13.1":0.02684,"13.2":0.01769,"13.3":0.13114,"13.4-13.7":0.23972,"14.0-14.4":3.36402,"14.5-14.6":0.65023},E:{"4":0,"7":0.00407,"11":0.00813,"12":0.00813,"13":0.04473,"14":0.59364,_:"0 5 6 8 9 10 3.1 3.2 7.1 9.1","5.1":0.49605,"6.1":0.00407,"10.1":0.00813,"11.1":0.0244,"12.1":0.03253,"13.1":0.13824,"14.1":0.24803},B:{"12":0.10572,"13":0.04066,"14":0.03659,"15":0.06912,"16":0.04473,"17":0.05286,"18":0.29275,"80":0.0122,"84":0.03253,"85":0.09352,"86":0.00813,"87":0.0122,"88":0.03253,"89":0.16264,"90":3.40731,"91":0.18704,_:"79 81 83"},P:{"4":0.42622,"5.0-5.4":0.0103,"6.2-6.4":0.0104,"7.2-7.4":0.20791,"8.2":0.02027,"9.2":0.04158,"10.1":0.05198,"11.1-11.2":0.18712,"12.0":0.10395,"13.0":0.49898,"14.0":1.27865},I:{"0":0,"3":0,"4":0.00102,"2.1":0,"2.2":0,"2.3":0,"4.1":0.0041,"4.2-4.3":0.014,"4.4":0,"4.4.3-4.4.4":0.18264},K:{_:"0 10 11 12 11.1 11.5 12.1"},A:{"6":0.21433,"8":0.02624,"9":0.00437,"10":0.01312,"11":0.3193,_:"7 5.5"},J:{"7":0,"10":0.01187},N:{"10":0.01297,"11":0.01825},S:{"2.5":0.0178},R:{_:"0"},M:{"0":0.16615},Q:{"10.4":0.05934},O:{"0":1.93448},H:{"0":10.4662},L:{"0":44.17552}}; diff --git a/tools/node_modules/@babel/core/node_modules/caniuse-lite/data/regions/alt-af.js b/tools/node_modules/@babel/core/node_modules/caniuse-lite/data/regions/alt-af.js new file mode 100644 index 00000000000000..6a4dc17c97114a --- /dev/null +++ b/tools/node_modules/@babel/core/node_modules/caniuse-lite/data/regions/alt-af.js @@ -0,0 +1 @@ +module.exports={C:{"2":0.04633,"15":0.04633,"18":0.04118,"21":0.04376,"23":0.04376,"25":0.08494,"30":0.04118,"34":0.00257,"43":0.00772,"47":0.00772,"48":0.00515,"51":0.04376,"52":0.06178,"55":0.00257,"56":0.00515,"60":0.00515,"65":0.00515,"66":0.00257,"67":0.0103,"68":0.00515,"72":0.0103,"75":0.00257,"76":0.00257,"77":0.00515,"78":0.04891,"79":0.00515,"80":0.00772,"81":0.00515,"82":0.00772,"83":0.00515,"84":0.04633,"85":0.01544,"86":0.01802,"87":0.03861,"88":1.46718,"89":0.05405,_:"3 4 5 6 7 8 9 10 11 12 13 14 16 17 19 20 22 24 26 27 28 29 31 32 33 35 36 37 38 39 40 41 42 44 45 46 49 50 53 54 57 58 59 61 62 63 64 69 70 71 73 74 90 91 3.5 3.6"},D:{"11":0.00257,"19":0.04633,"24":0.12355,"26":0.00515,"28":0.00257,"30":0.04633,"33":0.05148,"34":0.00257,"35":0.08752,"38":0.00515,"39":0.00257,"40":0.0103,"43":0.06435,"47":0.00515,"48":0.00257,"49":0.09524,"50":0.00515,"53":0.01287,"54":0.04118,"55":0.05148,"56":0.22136,"57":0.00515,"58":0.0103,"60":0.00515,"61":0.02831,"62":0.00515,"63":0.01544,"64":0.00772,"65":0.0103,"66":0.00515,"67":0.01287,"68":0.0103,"69":0.01544,"70":0.01544,"71":0.01287,"72":0.01544,"73":0.00772,"74":0.01544,"75":0.01287,"76":0.01544,"77":0.01544,"78":0.01544,"79":0.05148,"80":0.03861,"81":0.03604,"83":0.04891,"84":0.03346,"85":0.03604,"86":0.08494,"87":0.23166,"88":0.13385,"89":0.44788,"90":12.02058,"91":0.5045,"92":0.01287,_:"4 5 6 7 8 9 10 12 13 14 15 16 17 18 20 21 22 23 25 27 29 31 32 36 37 41 42 44 45 46 51 52 59 93 94"},F:{"36":0.00515,"43":0.04118,"63":0.00515,"64":0.00772,"68":0.00257,"69":0.00257,"70":0.00515,"71":0.00772,"72":0.01802,"73":0.05148,"74":0.01287,"75":0.27542,"76":0.41956,_:"9 11 12 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 37 38 39 40 41 42 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 60 62 65 66 67 9.5-9.6 10.5 10.6 11.1 11.5 11.6 12.1","10.0-10.1":0.04118},G:{"8":0,"3.2":0,"4.0-4.1":0,"4.2-4.3":0,"5.0-5.1":0.00352,"6.0-6.1":0.8853,"7.0-7.1":0.02697,"8.1-8.4":0.00586,"9.0-9.2":0.00821,"9.3":0.1067,"10.0-10.2":0.1325,"10.3":0.13836,"11.0-11.2":0.07505,"11.3-11.4":0.06801,"12.0-12.1":0.0598,"12.2-12.4":0.29197,"13.0-13.1":0.05511,"13.2":0.0258,"13.3":0.15595,"13.4-13.7":0.4362,"14.0-14.4":7.56431,"14.5-14.6":0.84543},E:{"4":0,"5":0.03861,"11":0.00257,"12":0.00515,"13":0.05405,"14":0.38867,_:"0 6 7 8 9 10 3.1 3.2 6.1 7.1 9.1","5.1":0.15444,"10.1":0.00515,"11.1":0.01544,"12.1":0.02059,"13.1":0.09781,"14.1":0.13385},B:{"12":0.01544,"13":0.00772,"14":0.00772,"15":0.0103,"16":0.01287,"17":0.01802,"18":0.07207,"80":0.00257,"84":0.0103,"85":0.0103,"86":0.00772,"87":0.00772,"88":0.01287,"89":0.04891,"90":1.28957,"91":0.08752,_:"79 81 83"},P:{"4":0.32814,"5.0-5.4":0.0103,"6.2-6.4":0.02051,"7.2-7.4":0.25636,"8.2":0.01025,"9.2":0.09229,"10.1":0.05127,"11.1-11.2":0.27687,"12.0":0.18458,"13.0":0.63577,"14.0":2.36877},I:{"0":0,"3":0,"4":0.00085,"2.1":0,"2.2":0,"2.3":0,"4.1":0.00678,"4.2-4.3":0.04834,"4.4":0,"4.4.3-4.4.4":0.27815},K:{_:"0 10 11 12 11.1 11.5 12.1"},A:{"8":0.05434,"9":0.10582,"10":0.09724,"11":0.28314,_:"6 7 5.5"},J:{"7":0,"10":0.01485},N:{"10":0.01297,"11":0.01825},S:{"2.5":0.02228},R:{_:"0"},M:{"0":0.23018},Q:{"10.4":0.01485},O:{"0":0.72765},H:{"0":8.70956},L:{"0":52.62078}}; diff --git a/tools/node_modules/@babel/core/node_modules/caniuse-lite/data/regions/alt-an.js b/tools/node_modules/@babel/core/node_modules/caniuse-lite/data/regions/alt-an.js new file mode 100644 index 00000000000000..97fb763c317929 --- /dev/null +++ b/tools/node_modules/@babel/core/node_modules/caniuse-lite/data/regions/alt-an.js @@ -0,0 +1 @@ +module.exports={C:{"54":0.14335,"88":0.99354,_:"2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 89 90 91 3.5 3.6"},D:{"68":0.14335,"72":0.14335,"88":0.4251,"89":0.56845,"90":23.8648,"91":0.56845,_:"4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 69 70 71 73 74 75 76 77 78 79 80 81 83 84 85 86 87 92 93 94"},F:{_:"9 11 12 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 60 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 9.5-9.6 10.5 10.6 11.1 11.5 11.6 12.1","10.0-10.1":0},G:{"8":0,"3.2":0,"4.0-4.1":0,"4.2-4.3":0,"5.0-5.1":0.14149,"6.0-6.1":0,"7.0-7.1":0,"8.1-8.4":0,"9.0-9.2":0,"9.3":0,"10.0-10.2":0,"10.3":0,"11.0-11.2":0,"11.3-11.4":0,"12.0-12.1":0.14149,"12.2-12.4":0,"13.0-13.1":0,"13.2":0,"13.3":0.14149,"13.4-13.7":0.14149,"14.0-14.4":17.66959,"14.5-14.6":0},E:{"4":0,"14":7.38484,_:"0 5 6 7 8 9 10 11 12 13 3.1 3.2 5.1 6.1 7.1 9.1 10.1 11.1","12.1":0.14335,"13.1":0.8502,"14.1":3.69242},B:{"14":0.14335,_:"12 13 15 16 17 18 79 80 81 83 84 85 86 87 88 89 90 91"},P:{"4":0.32814,"5.0-5.4":0.0103,"6.2-6.4":0.02051,"7.2-7.4":0.25636,"8.2":0.01025,"9.2":0.09229,"10.1":0.05127,"11.1-11.2":0.27687,"12.0":0.18458,"13.0":0.63577,"14.0":2.36877},I:{"0":0,"3":0,"4":0,"2.1":0,"2.2":0,"2.3":0,"4.1":0,"4.2-4.3":0,"4.4":0,"4.4.3-4.4.4":0},K:{_:"0 10 11 12 11.1 11.5 12.1"},A:{"11":8.66508,_:"6 7 8 9 10 5.5"},J:{"7":0,"10":0},N:{"10":0.01297,"11":0.1416},S:{"2.5":0},R:{_:"0"},M:{"0":0.42985},Q:{"10.4":0},O:{"0":7.40851},H:{"0":0},L:{"0":25.77821}}; diff --git a/tools/node_modules/@babel/core/node_modules/caniuse-lite/data/regions/alt-as.js b/tools/node_modules/@babel/core/node_modules/caniuse-lite/data/regions/alt-as.js new file mode 100644 index 00000000000000..d42b26b884ff27 --- /dev/null +++ b/tools/node_modules/@babel/core/node_modules/caniuse-lite/data/regions/alt-as.js @@ -0,0 +1 @@ +module.exports={C:{"15":0.00331,"34":0.00661,"36":0.00661,"43":0.12559,"47":0.00331,"48":0.00331,"52":0.05288,"56":0.01322,"60":0.00331,"66":0.00331,"68":0.00331,"72":0.00661,"78":0.03305,"79":0.00661,"80":0.00992,"81":0.00661,"82":0.00661,"83":0.00661,"84":0.00992,"85":0.00992,"86":0.01322,"87":0.02975,"88":1.20302,"89":0.04297,_:"2 3 4 5 6 7 8 9 10 11 12 13 14 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 35 37 38 39 40 41 42 44 45 46 49 50 51 53 54 55 57 58 59 61 62 63 64 65 67 69 70 71 73 74 75 76 77 90 91 3.5 3.6"},D:{"11":0.00331,"22":0.01653,"26":0.00661,"34":0.01653,"35":0.00661,"38":0.04297,"42":0.00661,"43":0.00331,"45":0.00331,"47":0.01322,"48":0.00992,"49":0.1322,"51":0.03636,"53":0.07932,"54":0.00331,"55":0.01983,"56":0.00992,"57":0.01322,"58":0.00661,"59":0.00661,"60":0.00331,"61":0.04627,"62":0.01653,"63":0.02644,"64":0.00661,"65":0.01322,"66":0.00661,"67":0.04627,"68":0.02644,"69":0.07932,"70":0.05949,"71":0.02975,"72":0.05949,"73":0.01983,"74":0.16195,"75":0.03305,"76":0.01983,"77":0.01983,"78":0.04297,"79":0.07602,"80":0.05288,"81":0.05288,"83":0.07932,"84":0.05619,"85":0.05288,"86":0.11568,"87":0.20161,"88":0.17186,"89":0.63456,"90":18.77571,"91":0.62465,"92":0.01983,_:"4 5 6 7 8 9 10 12 13 14 15 16 17 18 19 20 21 23 24 25 27 28 29 30 31 32 33 36 37 39 40 41 44 46 50 52 93 94"},F:{"36":0.00992,"40":0.00661,"46":0.01322,"73":0.03305,"74":0.00331,"75":0.19169,"76":0.24127,_:"9 11 12 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 37 38 39 41 42 43 44 45 47 48 49 50 51 52 53 54 55 56 57 58 60 62 63 64 65 66 67 68 69 70 71 72 9.5-9.6 10.5 10.6 11.1 11.5 11.6 12.1","10.0-10.1":0},G:{"8":0.00098,"3.2":0,"4.0-4.1":0,"4.2-4.3":0.00684,"5.0-5.1":0.00977,"6.0-6.1":0.00879,"7.0-7.1":0.04102,"8.1-8.4":0.02051,"9.0-9.2":0.03028,"9.3":0.1172,"10.0-10.2":0.03614,"10.3":0.1133,"11.0-11.2":0.11134,"11.3-11.4":0.06642,"12.0-12.1":0.08595,"12.2-12.4":0.24418,"13.0-13.1":0.07032,"13.2":0.03711,"13.3":0.16213,"13.4-13.7":0.52352,"14.0-14.4":6.26069,"14.5-14.6":1.31269},E:{"4":0,"8":0.00331,"11":0.00331,"12":0.00661,"13":0.05619,"14":1.09726,_:"0 5 6 7 9 10 3.1 3.2 6.1 7.1 9.1","5.1":0.195,"10.1":0.00992,"11.1":0.01983,"12.1":0.03636,"13.1":0.18178,"14.1":0.28423},B:{"12":0.00331,"14":0.00331,"15":0.00331,"16":0.00661,"17":0.00992,"18":0.04297,"84":0.00661,"85":0.00661,"86":0.00661,"87":0.00661,"88":0.00992,"89":0.03966,"90":1.76487,"91":0.08263,_:"13 79 80 81 83"},P:{"4":0.48141,"5.0-5.4":0.01024,"6.2-6.4":0.01024,"7.2-7.4":0.11267,"8.2":0.01024,"9.2":0.09219,"10.1":0.05121,"11.1-11.2":0.2151,"12.0":0.1434,"13.0":0.52238,"14.0":1.94613},I:{"0":0,"3":0,"4":0,"2.1":0,"2.2":0,"2.3":0,"4.1":0.05451,"4.2-4.3":0.19468,"4.4":0,"4.4.3-4.4.4":0.84879},K:{_:"0 10 11 12 11.1 11.5 12.1"},A:{"8":0.02245,"9":0.01496,"11":1.18214,_:"6 7 10 5.5"},J:{"7":0,"10":0},N:{"10":0.01297,"11":0.1416},S:{"2.5":0.22094},R:{_:"0"},M:{"0":0.17407},Q:{"10.4":0.4084},O:{"0":2.77843},H:{"0":1.43248},L:{"0":50.23909}}; diff --git a/tools/node_modules/@babel/core/node_modules/caniuse-lite/data/regions/alt-eu.js b/tools/node_modules/@babel/core/node_modules/caniuse-lite/data/regions/alt-eu.js new file mode 100644 index 00000000000000..7a6919bfa83142 --- /dev/null +++ b/tools/node_modules/@babel/core/node_modules/caniuse-lite/data/regions/alt-eu.js @@ -0,0 +1 @@ +module.exports={C:{"45":0.01038,"48":0.01557,"50":0.00519,"52":0.13491,"56":0.02595,"59":0.01038,"60":0.01557,"66":0.01038,"68":0.03113,"69":0.00519,"70":0.00519,"72":0.01557,"75":0.00519,"76":0.00519,"77":0.01557,"78":0.23869,"79":0.02595,"80":0.01557,"81":0.02076,"82":0.0467,"83":0.02595,"84":0.05708,"85":0.07784,"86":0.15567,"87":3.51295,"88":1.45292,"89":0.00519,_:"2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 46 47 49 51 53 54 55 57 58 61 62 63 64 65 67 71 73 74 90 3.5 3.6"},D:{"22":0.01038,"38":0.01557,"40":0.03632,"43":0.01038,"47":0.00519,"48":0.00519,"49":0.31134,"50":0.01557,"51":0.01038,"52":0.01038,"53":0.05708,"54":0.02076,"56":0.01038,"57":0.00519,"58":0.01038,"59":0.01038,"60":0.03113,"61":0.08302,"63":0.01557,"64":0.01557,"65":0.04151,"66":0.03632,"67":0.02076,"68":0.02595,"69":0.08821,"70":0.02595,"71":0.02595,"72":0.02595,"73":0.02076,"74":0.11416,"75":0.19718,"76":0.04151,"77":0.02595,"78":0.11416,"79":0.22832,"80":0.15567,"81":0.12973,"83":0.17124,"84":0.20756,"85":0.47739,"86":0.23869,"87":0.46701,"88":0.80948,"89":19.16817,"90":7.38395,"91":0.01557,"92":0.00519,_:"4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 39 41 42 44 45 46 55 62 93"},F:{"31":0.00519,"36":0.01557,"40":0.01038,"68":0.00519,"71":0.01038,"72":0.00519,"73":0.7057,"74":0.31134,"75":1.05337,_:"9 11 12 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 32 33 34 35 37 38 39 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 60 62 63 64 65 66 67 69 70 9.5-9.6 10.5 10.6 11.1 11.5 11.6","10.0-10.1":0,"12.1":0.00519},G:{"8":0.00287,"3.2":0,"4.0-4.1":0,"4.2-4.3":0,"5.0-5.1":0.0086,"6.0-6.1":0.00717,"7.0-7.1":0.01863,"8.1-8.4":0.0172,"9.0-9.2":0.02867,"9.3":0.19923,"10.0-10.2":0.0215,"10.3":0.1892,"11.0-11.2":0.04873,"11.3-11.4":0.07023,"12.0-12.1":0.05447,"12.2-12.4":0.2236,"13.0-13.1":0.04873,"13.2":0.02293,"13.3":0.14907,"13.4-13.7":0.53177,"14.0-14.4":11.83933,"14.5":0.14763},E:{"4":0,"11":0.01038,"12":0.01557,"13":0.11935,"14":3.90213,_:"0 5 6 7 8 9 10 3.1 3.2 6.1 7.1","5.1":0.02595,"9.1":0.00519,"10.1":0.02595,"11.1":0.08821,"12.1":0.12454,"13.1":0.5656,"14.1":0.07784},B:{"12":0.00519,"14":0.00519,"15":0.00519,"16":0.01038,"17":0.02076,"18":0.15048,"83":0.00519,"84":0.01038,"85":0.02076,"86":0.02076,"87":0.02076,"88":0.04151,"89":3.13416,"90":1.39065,_:"13 79 80 81"},P:{"4":0.17967,"5.0-5.4":0.01057,"6.2-6.4":0.01024,"7.2-7.4":0.11267,"8.2":0.01024,"9.2":0.03171,"10.1":0.03171,"11.1-11.2":0.14797,"12.0":0.11626,"13.0":2.40974,"14.0":1.09918},I:{"0":0,"3":0,"4":0.00508,"2.1":0,"2.2":0,"2.3":0,"4.1":0.0062,"4.2-4.3":0.00959,"4.4":0,"4.4.3-4.4.4":0.06092},K:{_:"0 10 11 12 11.1 11.5 12.1"},A:{"6":0.03533,"8":0.01178,"9":0.01178,"10":0.00589,"11":0.67725,_:"7 5.5"},J:{"7":0,"10":0},N:{"10":0,"11":0},L:{"0":30.19889},S:{"2.5":0},R:{_:"0"},M:{"0":0.37045},Q:{"10.4":0.00962},O:{"0":0.17801},H:{"0":0.41448}}; diff --git a/tools/node_modules/@babel/core/node_modules/caniuse-lite/data/regions/alt-na.js b/tools/node_modules/@babel/core/node_modules/caniuse-lite/data/regions/alt-na.js new file mode 100644 index 00000000000000..9812c4f1bee9fc --- /dev/null +++ b/tools/node_modules/@babel/core/node_modules/caniuse-lite/data/regions/alt-na.js @@ -0,0 +1 @@ +module.exports={C:{"2":0.00996,"3":0.00498,"4":0.0946,"11":0.01494,"38":0.00498,"43":0.00498,"44":0.01992,"45":0.00498,"48":0.00996,"52":0.04481,"54":0.01494,"55":0.00996,"56":0.0249,"58":0.01494,"59":0.00498,"60":0.00498,"63":0.07966,"66":0.00996,"68":0.00996,"70":0.00996,"72":0.00996,"76":0.00498,"77":0.00498,"78":0.14439,"79":0.00996,"80":0.00996,"81":0.00996,"82":0.0249,"83":0.00996,"84":0.01992,"85":0.01992,"86":0.03485,"87":0.09958,"88":2.2057,"89":0.01494,_:"5 6 7 8 9 10 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 39 40 41 42 46 47 49 50 51 53 57 61 62 64 65 67 69 71 73 74 75 90 91 3.5 3.6"},D:{"33":0.00498,"35":0.01992,"38":0.00498,"40":0.01992,"43":0.00498,"47":0.00498,"48":0.05477,"49":0.26389,"51":0.00498,"53":0.0249,"56":0.08962,"58":0.00498,"59":0.00996,"60":0.02987,"61":0.29376,"62":0.00498,"63":0.01494,"64":0.05477,"65":0.0249,"66":0.03983,"67":0.03485,"68":0.02987,"69":0.0249,"70":0.13941,"71":0.00996,"72":0.07469,"73":0.0249,"74":0.06971,"75":0.12448,"76":0.19418,"77":0.06473,"78":0.1195,"79":0.38338,"80":0.16431,"81":0.0946,"83":0.22903,"84":0.14937,"85":0.17924,"86":0.25393,"87":0.48296,"88":0.69208,"89":2.01152,"90":22.48019,"91":0.54271,"92":0.04481,"93":0.01494,_:"4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 34 36 37 39 41 42 44 45 46 50 52 54 55 57 94"},F:{"73":0.04979,"74":0.00498,"75":0.24895,"76":0.24895,_:"9 11 12 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 60 62 63 64 65 66 67 68 69 70 71 72 9.5-9.6 10.5 10.6 11.1 11.5 11.6 12.1","10.0-10.1":0},G:{"8":0,"3.2":0,"4.0-4.1":0,"4.2-4.3":0,"5.0-5.1":0.00518,"6.0-6.1":0.01294,"7.0-7.1":0.02589,"8.1-8.4":0.0233,"9.0-9.2":0.01812,"9.3":0.17084,"10.0-10.2":0.03106,"10.3":0.18637,"11.0-11.2":0.08024,"11.3-11.4":0.09578,"12.0-12.1":0.09578,"12.2-12.4":0.30544,"13.0-13.1":0.08801,"13.2":0.044,"13.3":0.24332,"13.4-13.7":0.84644,"14.0-14.4":19.28444,"14.5-14.6":3.59804},E:{"4":0,"8":0.92112,"9":0.00996,"11":0.01494,"12":0.01992,"13":0.13443,"14":4.16244,_:"0 5 6 7 10 3.1 3.2 6.1 7.1","5.1":0.03485,"9.1":0.07966,"10.1":0.03983,"11.1":0.1195,"12.1":0.17924,"13.1":0.74187,"14.1":1.45387},B:{"12":0.01494,"14":0.00498,"15":0.00996,"16":0.00996,"17":0.08962,"18":0.15933,"80":0.00498,"84":0.00996,"85":0.00996,"86":0.01494,"87":0.01992,"88":0.0249,"89":0.13443,"90":4.81469,"91":0.19418,_:"13 79 81 83"},P:{"4":0.08599,"5.0-5.4":0.01024,"6.2-6.4":0.01024,"7.2-7.4":0.11267,"8.2":0.01024,"9.2":0.03225,"10.1":0.05121,"11.1-11.2":0.08599,"12.0":0.043,"13.0":0.24722,"14.0":1.95629},I:{"0":0,"3":0,"4":0.03616,"2.1":0,"2.2":0,"2.3":0,"4.1":0.01205,"4.2-4.3":0.07834,"4.4":0,"4.4.3-4.4.4":0.18983},K:{_:"0 10 11 12 11.1 11.5 12.1"},A:{"7":0.00559,"8":0.01118,"9":0.22909,"11":0.75991,_:"6 10 5.5"},J:{"7":0,"10":0},N:{"10":0.01297,"11":0.1416},S:{"2.5":0},R:{_:"0"},M:{"0":0.40176},Q:{"10.4":0.01507},O:{"0":0.21595},H:{"0":0.23297},L:{"0":22.58233}}; diff --git a/tools/node_modules/@babel/core/node_modules/caniuse-lite/data/regions/alt-oc.js b/tools/node_modules/@babel/core/node_modules/caniuse-lite/data/regions/alt-oc.js new file mode 100644 index 00000000000000..179fcd7c29a6ad --- /dev/null +++ b/tools/node_modules/@babel/core/node_modules/caniuse-lite/data/regions/alt-oc.js @@ -0,0 +1 @@ +module.exports={C:{"34":0.00531,"48":0.01063,"52":0.0425,"56":0.01063,"60":0.00531,"68":0.01063,"72":0.00531,"75":0.00531,"77":0.00531,"78":0.11689,"81":0.00531,"82":0.0425,"83":0.00531,"84":0.02125,"85":0.02125,"86":0.03719,"87":0.08501,"88":2.4121,"89":0.02125,_:"2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 35 36 37 38 39 40 41 42 43 44 45 46 47 49 50 51 53 54 55 57 58 59 61 62 63 64 65 66 67 69 70 71 73 74 76 79 80 90 91 3.5 3.6"},D:{"26":0.01063,"34":0.01594,"38":0.08501,"48":0.00531,"49":0.34003,"53":0.10095,"55":0.01063,"56":0.01063,"57":0.00531,"58":0.00531,"59":0.01594,"60":0.01594,"61":0.0797,"63":0.01594,"64":0.03188,"65":0.05844,"66":0.01594,"67":0.0425,"68":0.0425,"69":0.04782,"70":0.04782,"71":0.02657,"72":0.04782,"73":0.0425,"74":0.0425,"75":0.0425,"76":0.04782,"77":0.02657,"78":0.04782,"79":0.15939,"80":0.15408,"81":0.0797,"83":0.08501,"84":0.07438,"85":0.0797,"86":0.23909,"87":0.52067,"88":0.62693,"89":2.003,"90":26.05495,"91":0.92978,"92":0.02125,_:"4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 27 28 29 30 31 32 33 35 36 37 39 40 41 42 43 44 45 46 47 50 51 52 54 62 93 94"},F:{"46":0.02125,"73":0.03719,"75":0.17533,"76":0.19658,_:"9 11 12 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 47 48 49 50 51 52 53 54 55 56 57 58 60 62 63 64 65 66 67 68 69 70 71 72 74 9.5-9.6 10.5 10.6 11.1 11.5 11.6 12.1","10.0-10.1":0},G:{"8":0.00475,"3.2":0,"4.0-4.1":0,"4.2-4.3":0,"5.0-5.1":0.01663,"6.0-6.1":0.03563,"7.0-7.1":0.04751,"8.1-8.4":0.08076,"9.0-9.2":0.03563,"9.3":0.43705,"10.0-10.2":0.04751,"10.3":0.45606,"11.0-11.2":0.15677,"11.3-11.4":0.15677,"12.0-12.1":0.15202,"12.2-12.4":0.53682,"13.0-13.1":0.07838,"13.2":0.04038,"13.3":0.27316,"13.4-13.7":0.8361,"14.0-14.4":16.70308,"14.5-14.6":2.31354},E:{"4":0,"8":0.01594,"10":0.00531,"11":0.02657,"12":0.03719,"13":0.23377,"14":5.99306,_:"0 5 6 7 9 3.1 3.2 5.1 6.1 7.1","9.1":0.01594,"10.1":0.06376,"11.1":0.13814,"12.1":0.24971,"13.1":1.0201,"14.1":1.46108},B:{"14":0.00531,"15":0.00531,"16":0.01594,"17":0.02125,"18":0.14345,"80":0.00531,"84":0.01594,"85":0.01594,"86":0.02125,"87":0.01594,"88":0.02657,"89":0.13283,"90":4.45229,"91":0.32941,_:"12 13 79 81 83"},P:{"4":0.25324,"5.0-5.4":0.01024,"6.2-6.4":0.01024,"7.2-7.4":0.01101,"8.2":0.01024,"9.2":0.03303,"10.1":0.03303,"11.1-11.2":0.1101,"12.0":0.07707,"13.0":0.35233,"14.0":2.85167},I:{"0":0,"3":0,"4":0.00137,"2.1":0,"2.2":0,"2.3":0,"4.1":0.00275,"4.2-4.3":0.0055,"4.4":0,"4.4.3-4.4.4":0.04193},K:{_:"0 10 11 12 11.1 11.5 12.1"},A:{"6":0.01063,"11":1.13698,_:"7 8 9 10 5.5"},J:{"7":0,"10":0},N:{"10":0.01297,"11":0.1416},S:{"2.5":0},R:{_:"0"},M:{"0":0.40777},Q:{"10.4":0.04218},O:{"0":0.21092},H:{"0":0.23962},L:{"0":20.80302}}; diff --git a/tools/node_modules/@babel/core/node_modules/caniuse-lite/data/regions/alt-sa.js b/tools/node_modules/@babel/core/node_modules/caniuse-lite/data/regions/alt-sa.js new file mode 100644 index 00000000000000..a16a6769b65a3c --- /dev/null +++ b/tools/node_modules/@babel/core/node_modules/caniuse-lite/data/regions/alt-sa.js @@ -0,0 +1 @@ +module.exports={C:{"17":0.00498,"52":0.05474,"60":0.00498,"66":0.00995,"68":0.00995,"72":0.00995,"73":0.00498,"77":0.00498,"78":0.06469,"79":0.00498,"80":0.00498,"81":0.00995,"82":0.00995,"83":0.00498,"84":0.0199,"85":0.01493,"86":0.01493,"87":0.03981,"88":1.83614,"89":0.01493,_:"2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 53 54 55 56 57 58 59 61 62 63 64 65 67 69 70 71 74 75 76 90 91 3.5 3.6"},D:{"22":0.00498,"24":0.00498,"34":0.00498,"38":0.02488,"47":0.00995,"49":0.2289,"53":0.03483,"55":0.00995,"58":0.00995,"61":0.16918,"62":0.00498,"63":0.02488,"65":0.01493,"66":0.01493,"67":0.00995,"68":0.01493,"69":0.00995,"70":0.01493,"71":0.01493,"72":0.01493,"73":0.05474,"74":0.0199,"75":0.02986,"76":0.02488,"77":0.0199,"78":0.02986,"79":0.07464,"80":0.05474,"81":0.06469,"83":0.06966,"84":0.06966,"85":0.06966,"86":0.13933,"87":0.31349,"88":0.19904,"89":0.78621,"90":35.0808,"91":1.48782,"92":0.0199,_:"4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 23 25 26 27 28 29 30 31 32 33 35 36 37 39 40 41 42 43 44 45 46 48 50 51 52 54 56 57 59 60 64 93 94"},F:{"36":0.00498,"73":0.36822,"75":1.32859,"76":0.65186,_:"9 11 12 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 60 62 63 64 65 66 67 68 69 70 71 72 74 9.5-9.6 10.5 10.6 11.1 11.5 11.6 12.1","10.0-10.1":0},G:{"8":0,"3.2":0.00098,"4.0-4.1":0,"4.2-4.3":0,"5.0-5.1":0.0128,"6.0-6.1":0.00443,"7.0-7.1":0.0064,"8.1-8.4":0.00246,"9.0-9.2":0.00148,"9.3":0.05267,"10.0-10.2":0.00345,"10.3":0.04233,"11.0-11.2":0.00985,"11.3-11.4":0.03987,"12.0-12.1":0.01428,"12.2-12.4":0.06399,"13.0-13.1":0.01428,"13.2":0.00541,"13.3":0.04923,"13.4-13.7":0.18805,"14.0-14.4":3.43947,"14.5-14.6":0.68573},E:{"4":0,"13":0.02488,"14":0.51253,_:"0 5 6 7 8 9 10 11 12 3.1 3.2 6.1 7.1 9.1 10.1","5.1":0.12938,"11.1":0.0199,"12.1":0.02986,"13.1":0.14928,"14.1":0.27368},B:{"15":0.00498,"16":0.00498,"17":0.00995,"18":0.05474,"84":0.00995,"85":0.00498,"86":0.00498,"87":0.00498,"88":0.00498,"89":0.04478,"90":2.28896,"91":0.17416,_:"12 13 14 79 80 81 83"},P:{"4":0.16473,"5.0-5.4":0.01024,"6.2-6.4":0.01024,"7.2-7.4":0.14414,"8.2":0.01024,"9.2":0.04118,"10.1":0.02059,"11.1-11.2":0.20591,"12.0":0.07207,"13.0":0.32945,"14.0":1.73992},I:{"0":0,"3":0,"4":0.0009,"2.1":0,"2.2":0,"2.3":0,"4.1":0.00493,"4.2-4.3":0.00762,"4.4":0,"4.4.3-4.4.4":0.0569},K:{_:"0 10 11 12 11.1 11.5 12.1"},A:{"8":0.01063,"9":0.00532,"11":0.21793,_:"6 7 10 5.5"},J:{"7":0,"10":0},N:{"10":0.01297,"11":0.1416},S:{"2.5":0},R:{_:"0"},M:{"0":0.13565},Q:{"10.4":0},O:{"0":0.08541},H:{"0":0.19501},L:{"0":43.89923}}; diff --git a/tools/node_modules/@babel/core/node_modules/caniuse-lite/data/regions/alt-ww.js b/tools/node_modules/@babel/core/node_modules/caniuse-lite/data/regions/alt-ww.js new file mode 100644 index 00000000000000..4f710b2c4ee025 --- /dev/null +++ b/tools/node_modules/@babel/core/node_modules/caniuse-lite/data/regions/alt-ww.js @@ -0,0 +1 @@ +module.exports={C:{"4":0.02102,"11":0.00841,"43":0.05886,"44":0.0042,"45":0.0042,"48":0.00841,"51":0.0042,"52":0.07147,"54":0.0042,"55":0.0042,"56":0.01261,"58":0.0042,"59":0.0042,"60":0.00841,"63":0.02102,"66":0.00841,"68":0.01261,"70":0.0042,"72":0.00841,"77":0.0042,"78":0.14714,"79":0.00841,"80":0.00841,"81":0.01261,"82":0.01682,"83":0.01261,"84":0.02522,"85":0.02102,"86":0.03363,"87":0.07147,"88":2.3122,"89":0.02943,_:"2 3 5 6 7 8 9 10 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 46 47 49 50 53 57 61 62 64 65 67 69 71 73 74 75 76 90 91 3.5 3.6"},D:{"22":0.01261,"24":0.00841,"33":0.0042,"34":0.00841,"35":0.01261,"38":0.02522,"40":0.01261,"43":0.00841,"47":0.00841,"48":0.02102,"49":0.2144,"50":0.0042,"51":0.01682,"52":0.0042,"53":0.05886,"54":0.00841,"55":0.01261,"56":0.04204,"57":0.00841,"58":0.00841,"59":0.00841,"60":0.01682,"61":0.12192,"62":0.00841,"63":0.02102,"64":0.02522,"65":0.02102,"66":0.02102,"67":0.03363,"68":0.02943,"69":0.06726,"70":0.07147,"71":0.02522,"72":0.05886,"73":0.02102,"74":0.11351,"75":0.09249,"76":0.06726,"77":0.02943,"78":0.07567,"79":0.18918,"80":0.1051,"81":0.07988,"83":0.13032,"84":0.1009,"85":0.24383,"86":0.16816,"87":0.3111,"88":0.34473,"89":1.0468,"90":21.48664,"91":0.79035,"92":0.02522,"93":0.0042,_:"4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 23 25 26 27 28 29 30 31 32 36 37 39 41 42 44 45 46 94"},F:{"36":0.00841,"40":0.00841,"46":0.00841,"73":0.09669,"74":0.00841,"75":0.43301,"76":0.43722,_:"9 11 12 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 37 38 39 41 42 43 44 45 47 48 49 50 51 52 53 54 55 56 57 58 60 62 63 64 65 66 67 68 69 70 71 72 9.5-9.6 10.5 10.6 11.1 11.5 11.6 12.1","10.0-10.1":0},G:{"8":0.00145,"3.2":0,"4.0-4.1":0,"4.2-4.3":0.0029,"5.0-5.1":0.0087,"6.0-6.1":0.04494,"7.0-7.1":0.03044,"8.1-8.4":0.02029,"9.0-9.2":0.02174,"9.3":0.14785,"10.0-10.2":0.03479,"10.3":0.1493,"11.0-11.2":0.08552,"11.3-11.4":0.07393,"12.0-12.1":0.07683,"12.2-12.4":0.24642,"13.0-13.1":0.06668,"13.2":0.03334,"13.3":0.1725,"13.4-13.7":0.57257,"14.0-14.4":10.14977,"14.5-14.6":1.93225},E:{"4":0,"8":0.21861,"11":0.00841,"12":0.01261,"13":0.08828,"14":2.26175,_:"0 5 6 7 9 10 3.1 3.2 6.1 7.1","5.1":0.1093,"9.1":0.02102,"10.1":0.02102,"11.1":0.05886,"12.1":0.08828,"13.1":0.39518,"14.1":0.74831},B:{"12":0.00841,"14":0.0042,"15":0.0042,"16":0.00841,"17":0.03363,"18":0.09249,"84":0.00841,"85":0.00841,"86":0.01261,"87":0.01261,"88":0.01682,"89":0.07988,"90":3.01006,"91":0.2102,_:"13 79 80 81 83"},P:{"4":0.30923,"5.0-5.4":0.0103,"6.2-6.4":0.0104,"7.2-7.4":0.08246,"8.2":0.02027,"9.2":0.07215,"10.1":0.04123,"11.1-11.2":0.16492,"12.0":0.11339,"13.0":0.41231,"14.0":2.19555},I:{"0":0,"3":0,"4":0.02636,"2.1":0,"2.2":0,"2.3":0,"4.1":0.03013,"4.2-4.3":0.09792,"4.4":0,"4.4.3-4.4.4":0.43688},K:{_:"0 10 11 12 11.1 11.5 12.1"},A:{"8":0.0199,"9":0.09289,"10":0.01327,"11":0.84927,_:"6 7 5.5"},J:{"7":0,"10":0},N:{"10":0.01297,"11":0.01825},S:{"2.5":0.09855},R:{_:"0"},M:{"0":0.27826},Q:{"10.4":0.1855},O:{"0":1.36809},H:{"0":1.18546},L:{"0":38.71674}}; diff --git a/tools/node_modules/@babel/core/node_modules/caniuse-lite/dist/lib/statuses.js b/tools/node_modules/@babel/core/node_modules/caniuse-lite/dist/lib/statuses.js new file mode 100644 index 00000000000000..4d73ab303a1f97 --- /dev/null +++ b/tools/node_modules/@babel/core/node_modules/caniuse-lite/dist/lib/statuses.js @@ -0,0 +1,9 @@ +module.exports = { + 1: 'ls', // WHATWG Living Standard + 2: 'rec', // W3C Recommendation + 3: 'pr', // W3C Proposed Recommendation + 4: 'cr', // W3C Candidate Recommendation + 5: 'wd', // W3C Working Draft + 6: 'other', // Non-W3C, but reputable + 7: 'unoff' // Unofficial, Editor's Draft or W3C "Note" +} diff --git a/tools/node_modules/@babel/core/node_modules/caniuse-lite/dist/lib/supported.js b/tools/node_modules/@babel/core/node_modules/caniuse-lite/dist/lib/supported.js new file mode 100644 index 00000000000000..3f81e4ee63f5f9 --- /dev/null +++ b/tools/node_modules/@babel/core/node_modules/caniuse-lite/dist/lib/supported.js @@ -0,0 +1,9 @@ +module.exports = { + y: 1 << 0, + n: 1 << 1, + a: 1 << 2, + p: 1 << 3, + u: 1 << 4, + x: 1 << 5, + d: 1 << 6 +} diff --git a/tools/node_modules/@babel/core/node_modules/caniuse-lite/dist/unpacker/agents.js b/tools/node_modules/@babel/core/node_modules/caniuse-lite/dist/unpacker/agents.js new file mode 100644 index 00000000000000..f0040030ed29a7 --- /dev/null +++ b/tools/node_modules/@babel/core/node_modules/caniuse-lite/dist/unpacker/agents.js @@ -0,0 +1,45 @@ +const { browsers } = require('./browsers') +const versions = require('./browserVersions').browserVersions +const agentsData = require('../../data/agents') + +function unpackBrowserVersions(versionsData) { + return Object.keys(versionsData).reduce((usage, version) => { + usage[versions[version]] = versionsData[version] + return usage + }, {}) +} + +module.exports.agents = Object.keys(agentsData).reduce((map, key) => { + let versionsData = agentsData[key] + map[browsers[key]] = Object.keys(versionsData).reduce((data, entry) => { + if (entry === 'A') { + data.usage_global = unpackBrowserVersions(versionsData[entry]) + } else if (entry === 'C') { + data.versions = versionsData[entry].reduce((list, version) => { + if (version === '') { + list.push(null) + } else { + list.push(versions[version]) + } + return list + }, []) + } else if (entry === 'D') { + data.prefix_exceptions = unpackBrowserVersions(versionsData[entry]) + } else if (entry === 'E') { + data.browser = versionsData[entry] + } else if (entry === 'F') { + data.release_date = Object.keys(versionsData[entry]).reduce( + (map2, key2) => { + map2[versions[key2]] = versionsData[entry][key2] + return map2 + }, + {} + ) + } else { + // entry is B + data.prefix = versionsData[entry] + } + return data + }, {}) + return map +}, {}) diff --git a/tools/node_modules/@babel/core/node_modules/caniuse-lite/dist/unpacker/browserVersions.js b/tools/node_modules/@babel/core/node_modules/caniuse-lite/dist/unpacker/browserVersions.js new file mode 100644 index 00000000000000..553526e2827754 --- /dev/null +++ b/tools/node_modules/@babel/core/node_modules/caniuse-lite/dist/unpacker/browserVersions.js @@ -0,0 +1 @@ +module.exports.browserVersions = require('../../data/browserVersions') diff --git a/tools/node_modules/@babel/core/node_modules/caniuse-lite/dist/unpacker/browsers.js b/tools/node_modules/@babel/core/node_modules/caniuse-lite/dist/unpacker/browsers.js new file mode 100644 index 00000000000000..85e68b4f768be9 --- /dev/null +++ b/tools/node_modules/@babel/core/node_modules/caniuse-lite/dist/unpacker/browsers.js @@ -0,0 +1 @@ +module.exports.browsers = require('../../data/browsers') diff --git a/tools/node_modules/@babel/core/node_modules/caniuse-lite/dist/unpacker/feature.js b/tools/node_modules/@babel/core/node_modules/caniuse-lite/dist/unpacker/feature.js new file mode 100644 index 00000000000000..c6999293741a2c --- /dev/null +++ b/tools/node_modules/@babel/core/node_modules/caniuse-lite/dist/unpacker/feature.js @@ -0,0 +1,46 @@ +const statuses = require('../lib/statuses') +const supported = require('../lib/supported') +const { browsers } = require('./browsers') +const versions = require('./browserVersions').browserVersions + +const MATH2LOG = Math.log(2) + +function unpackSupport(cipher) { + // bit flags + let stats = Object.keys(supported).reduce((list, support) => { + if (cipher & supported[support]) list.push(support) + return list + }, []) + + // notes + let notes = cipher >> 7 + let notesArray = [] + while (notes) { + let note = Math.floor(Math.log(notes) / MATH2LOG) + 1 + notesArray.unshift(`#${note}`) + notes -= Math.pow(2, note - 1) + } + + return stats.concat(notesArray).join(' ') +} + +function unpackFeature(packed) { + let unpacked = { status: statuses[packed.B], title: packed.C } + unpacked.stats = Object.keys(packed.A).reduce((browserStats, key) => { + let browser = packed.A[key] + browserStats[browsers[key]] = Object.keys(browser).reduce( + (stats, support) => { + let packedVersions = browser[support].split(' ') + let unpacked2 = unpackSupport(support) + packedVersions.forEach(v => (stats[versions[v]] = unpacked2)) + return stats + }, + {} + ) + return browserStats + }, {}) + return unpacked +} + +module.exports = unpackFeature +module.exports.default = unpackFeature diff --git a/tools/node_modules/@babel/core/node_modules/caniuse-lite/dist/unpacker/features.js b/tools/node_modules/@babel/core/node_modules/caniuse-lite/dist/unpacker/features.js new file mode 100644 index 00000000000000..8362aec8d4ca3e --- /dev/null +++ b/tools/node_modules/@babel/core/node_modules/caniuse-lite/dist/unpacker/features.js @@ -0,0 +1,6 @@ +/* + * Load this dynamically so that it + * doesn't appear in the rollup bundle. + */ + +module.exports.features = require('../../data/features') diff --git a/tools/node_modules/@babel/core/node_modules/caniuse-lite/dist/unpacker/index.js b/tools/node_modules/@babel/core/node_modules/caniuse-lite/dist/unpacker/index.js new file mode 100644 index 00000000000000..12017e8030acac --- /dev/null +++ b/tools/node_modules/@babel/core/node_modules/caniuse-lite/dist/unpacker/index.js @@ -0,0 +1,4 @@ +module.exports.agents = require('./agents').agents +module.exports.feature = require('./feature') +module.exports.features = require('./features').features +module.exports.region = require('./region') diff --git a/tools/node_modules/@babel/core/node_modules/caniuse-lite/dist/unpacker/region.js b/tools/node_modules/@babel/core/node_modules/caniuse-lite/dist/unpacker/region.js new file mode 100644 index 00000000000000..a3948833abfce3 --- /dev/null +++ b/tools/node_modules/@babel/core/node_modules/caniuse-lite/dist/unpacker/region.js @@ -0,0 +1,20 @@ +const { browsers } = require('./browsers') + +function unpackRegion(packed) { + return Object.keys(packed).reduce((list, browser) => { + let data = packed[browser] + list[browsers[browser]] = Object.keys(data).reduce((memo, key) => { + let stats = data[key] + if (key === '_') { + stats.split(' ').forEach(version => (memo[version] = null)) + } else { + memo[key] = stats + } + return memo + }, {}) + return list + }, {}) +} + +module.exports = unpackRegion +module.exports.default = unpackRegion diff --git a/tools/node_modules/@babel/core/node_modules/caniuse-lite/package.json b/tools/node_modules/@babel/core/node_modules/caniuse-lite/package.json new file mode 100644 index 00000000000000..f7a920c729c3e5 --- /dev/null +++ b/tools/node_modules/@babel/core/node_modules/caniuse-lite/package.json @@ -0,0 +1,28 @@ +{ + "name": "caniuse-lite", + "version": "1.0.30001238", + "description": "A smaller version of caniuse-db, with only the essentials!", + "main": "dist/unpacker/index.js", + "files": [ + "data", + "dist" + ], + "keywords": [ + "support", + "css", + "js", + "html5", + "svg" + ], + "author": { + "name": "Ben Briggs", + "email": "beneb.info@gmail.com", + "url": "http://beneb.info" + }, + "repository": "browserslist/caniuse-lite", + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/browserslist" + }, + "license": "CC-BY-4.0" +} diff --git a/tools/node_modules/@babel/core/node_modules/colorette/LICENSE.md b/tools/node_modules/@babel/core/node_modules/colorette/LICENSE.md new file mode 100644 index 00000000000000..6ba7a0fbbf96af --- /dev/null +++ b/tools/node_modules/@babel/core/node_modules/colorette/LICENSE.md @@ -0,0 +1,7 @@ +Copyright © Jorge Bucaran <> + +Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the 'Software'), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED 'AS IS', WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. diff --git a/tools/node_modules/@babel/core/node_modules/colorette/README.md b/tools/node_modules/@babel/core/node_modules/colorette/README.md new file mode 100644 index 00000000000000..9b5b00f98414f1 --- /dev/null +++ b/tools/node_modules/@babel/core/node_modules/colorette/README.md @@ -0,0 +1,102 @@ +# Colorette + +> Easily set the color and style of text in the terminal. + +- No wonky prototype method-chain API. +- Automatic color support detection. +- Up to [2x faster](#benchmarks) than alternatives. +- [`NO_COLOR`](https://no-color.org) friendly. 👌 + +Here's the first example to get you started. + +```js +import { blue, bold, underline } from "colorette" + +console.log( + blue("I'm blue"), + bold(blue("da ba dee")), + underline(bold(blue("da ba daa"))) +) +``` + +Here's an example using [template literals](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Template_literals). + +```js +console.log(` + There's a ${underline(blue("house"))}, + With a ${bold(blue("window"))}, + And a ${blue("corvette")} + And everything is blue +`) +``` + +Of course, you can nest styles without breaking existing color sequences. + +```js +console.log(bold(`I'm ${blue(`da ba ${underline("dee")} da ba`)} daa`)) +``` + +Feeling adventurous? Try the [pipeline operator](https://github.com/tc39/proposal-pipeline-operator). + +```js +console.log("Da ba dee da ba daa" |> blue |> bold) +``` + +## Installation + +```console +npm install colorette +``` + +## API + +### `